mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-11-30 11:24:21 +01:00
144 lines
6.0 KiB
HTML
144 lines
6.0 KiB
HTML
<section class="heading b-b">
|
|
<div class="row no-gutter">
|
|
<div class="col-xs-2 col-sm-2 col-md-1">
|
|
<section class="heading-btn">
|
|
<a href="#" ng-click="backPrevLocation($event)"><i class="fas fa-long-arrow-alt-left "></i></a>
|
|
</section>
|
|
</div>
|
|
<div class="col-xs-10 col-sm-10 col-md-8 b-l ">
|
|
<section class="heading-title">
|
|
<h1 translate>{{ 'app.public.plans.subscriptions' }}</h1>
|
|
</section>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<div class="row no-gutter">
|
|
<div class="col-sm-12 col-md-9 b-r">
|
|
|
|
<div class="row m-t m-b padder" ng-repeat="plansGroup in plansClassifiedByGroup | groupFilter:ctrl.member">
|
|
|
|
<div ng-show="plansGroup.actives > 0">
|
|
<div class="col-md-12 text-center">
|
|
<h2 class="text-u-c">{{plansGroup.name}}</h2>
|
|
</div>
|
|
<div class="row row-centered padder">
|
|
<div class="col-xs-12 col-md-12 col-lg-10 col-centered no-gutter">
|
|
|
|
<!-- ng-class directive center the last item if the list length is odd -->
|
|
<div class="pricing-panel col-xs-12 col-md-6 col-lg-6 text-center"
|
|
ng-class="{'col-md-12 col-lg-12 b-r':(plansGroup.plans.filter(filterDisabledPlans).length % 2 == 1 && key == plansGroup.plans.filter(filterDisabledPlans).length-1)}"
|
|
ng-repeat="(key, plan) in plansGroup.plans.filter(filterDisabledPlans) | orderBy: '-ui_weight'">
|
|
|
|
<plan-card plan="plan"
|
|
user-id="ctrl.member.id"
|
|
subscribed-plan-id="ctrl.member.subscribed_plan.id"
|
|
operator="currentUser"
|
|
on-select-plan="selectPlan"
|
|
is-selected="isSelected(plan)">
|
|
</plan-card>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="col-xs-12 col-md-12 col-lg-10 col-centered no-gutter" ng-if="ctrl.member.subscription && isInPast(ctrl.member.subscription.expired_at)">
|
|
<uib-alert type="info">
|
|
{{ 'app.public.plans.your_subscription_expires_on_the_DATE' | translate:{DATE:(ctrl.member.subscription.expired_at | amDateFormat:'L' )} }}
|
|
</uib-alert>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
<div ng-show="plansGroup.actives === 0 && ctrl.member" class="m-lg" translate>
|
|
{{ 'app.public.plans.no_plans' }}
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="col-sm-12 col-md-12 col-lg-3">
|
|
|
|
<div ng-if="isAuthorized(['admin', 'manager'])">
|
|
<select-member subscription="false"></select-member>
|
|
</div>
|
|
|
|
<section class="widget panel b-a m m-t-lg" ng-show="ctrl.member">
|
|
<div class="panel-heading b-b">
|
|
<h3 ng-show="isAuthorized('member')" translate>{{ 'app.public.plans.my_group' }}</h3>
|
|
<h3 ng-show="isAuthorized(['admin', 'manager'])" translate translate-values="{GENDER:getGender(ctrl.member)}">{{ 'app.public.plans.his_group' }}</h3>
|
|
</div>
|
|
<div class="widget-content no-bg auto wrapper">
|
|
<div ng-show="!group.change">
|
|
<div class="well well-warning">
|
|
<strong>{{getUserGroup().name}}</strong>
|
|
</div>
|
|
<button class="btn btn-default btn-no-overflow m-t"
|
|
ng-click="group.change = !group.change"
|
|
ng-show="(!selectedPlan && ctrl.member && !ctrl.member.subscribed_plan && ctrl.member.subscription) || (!paid.plan)"
|
|
translate
|
|
translate-values="{ROLE:ctrl.member.role}">{{ 'app.public.plans.he_wants_to_change_group' }}</button>
|
|
</div>
|
|
<div ng-show="group.change">
|
|
<select class="form-control" ng-options="g.id as g.name for g in groups" ng-model="group.id"></select>
|
|
<button class="btn btn-success m-t"
|
|
ng-click="selectGroup()"
|
|
translate
|
|
translate-values="{ROLE:ctrl.member.role, GENDER:getGender(ctrl.member)}">{{ 'app.public.plans.change_my_group' }}</button>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="widget panel b-a m m-t-lg" ng-if="!selectedPlan && ctrl.member && !ctrl.member.subscribed_plan && ctrl.member.subscription">
|
|
<div class="panel-heading b-b">
|
|
<h3 translate>{{ 'app.public.plans.summary' }}</h3>
|
|
</div>
|
|
|
|
<div class="widget-content no-bg auto wrapper">
|
|
<strong>{{ 'app.public.plans.your_subscription_has_expired_on_the_DATE' | translate:{DATE:(ctrl.member.subscription.expired_at | amDateFormat:'LL')} }}</strong>
|
|
|
|
<div class="well well-warning m-t-sm">
|
|
<i class="font-sbold">{{ctrl.member.subscription.plan | humanReadablePlanName }}</i>
|
|
<div class="font-sbold">{{ 'app.public.plans.subscription_price' | translate }} {{ctrl.member.subscription.plan.amount | currency}}</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<cart events="{}"
|
|
user="ctrl.member"
|
|
plan="selectedPlan"
|
|
plan-selection-time="planSelectionTime"
|
|
settings="settings"
|
|
after-payment="afterPayment"></cart>
|
|
|
|
|
|
<section class="widget panel b-a m m-t-lg" ng-if="paid.plan">
|
|
<div class="panel-heading b-b">
|
|
<h3 translate>{{ 'app.public.plans.summary' }}</h3>
|
|
</div>
|
|
|
|
<div class="widget-content no-bg auto wrapper">
|
|
<span translate>{{ 'app.public.plans.you_ve_just_payed_the_subscription_html' }}</span>
|
|
|
|
<div class="well well-warning m-t-sm">
|
|
<i class="font-sbold">{{ paid.plan | humanReadablePlanName }}</i>
|
|
<div class="font-sbold">{{ 'app.public.plans.subscription_price' | translate }} {{paid.plan.amount | currency}}</div>
|
|
</div>
|
|
|
|
<div class="alert alert-success">{{ 'app.public.plans.thank_you_your_subscription_is_successful' | translate }}<br>
|
|
<a ui-sref="app.logged.dashboard.invoices" translate>{{ 'app.public.plans.your_invoice_will_be_available_soon_from_your_dashboard' }}</a></div>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<uib-alert type="warning m">
|
|
<p class="text-sm">
|
|
<span ng-bind-html="subscriptionExplicationsAlert"></span>
|
|
</p>
|
|
</uib-alert>
|
|
|
|
</div>
|
|
</div>
|