1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-10 21:24:20 +01:00
fab-manager/app/frontend/templates/plans/index.html
Sylvain b0afa02f1d use cart directive on the plan subscription page
+ fix payment schedule compute
+ fix price for monthly-payments plans in plan-card
+ TODO: valid_reservation_modal.html
+ TODO: Stripe processing
2020-11-04 16:22:31 +01:00

143 lines
5.9 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="ctrl.member"
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>