1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-02-18 12:54:27 +01:00

use PlansList component in embedded form

This commit is contained in:
Sylvain 2021-06-09 16:15:23 +02:00
parent 003dd4ce78
commit 57a370bf56
6 changed files with 29 additions and 61 deletions

View File

@ -99,7 +99,7 @@ const PlansList: React.FC<PlansListProps> = ({ onError, onPlanSelection, onLogin
* Filter the plans to display, depending on the connected/selected user
*/
const filteredPlans = (): PlansTree => {
if (!customer) return plans;
if (_.isEmpty(customer)) return plans;
return new Map([[customer.group_id, plans.get(customer.group_id)]]);
}

View File

@ -452,17 +452,11 @@ Application.Controllers.controller('ReserveMachineController', ['$scope', '$stat
// the application global settings
$scope.settings = settingsPromise;
// list of plans, classified by group
$scope.groups = groupsPromise;
// all plans, used in <cart>
$scope.plans = plansPromise;
$scope.plansClassifiedByGroup = [];
for (let group of Array.from(groupsPromise)) {
const groupObj = { id: group.id, name: group.name, plans: [] };
for (let plan of Array.from(plansPromise)) {
if (plan.group_id === group.id) { groupObj.plans.push(plan); }
}
$scope.plansClassifiedByGroup.push(groupObj);
}
// all groups, used in <cart>
$scope.groups = groupsPromise;
// the user to deal with, ie. the current user for non-admins
$scope.ctrl =

View File

@ -329,17 +329,11 @@ Application.Controllers.controller('ReserveSpaceController', ['$scope', '$stateP
$scope.ctrl =
{ member: {} };
// list of plans, classified by group
$scope.plansClassifiedByGroup = [];
$scope.groups = groupsPromise;
// all plans, used in <cart>
$scope.plans = plansPromise;
for (let group of Array.from(groupsPromise)) {
const groupObj = { id: group.id, name: group.name, plans: [] };
for (let plan of Array.from(plansPromise)) {
if (plan.group_id === group.id) { groupObj.plans.push(plan); }
}
$scope.plansClassifiedByGroup.push(groupObj);
}
// all groups, used in <cart>
$scope.groups = groupsPromise;
// mapping of fullCalendar events.
$scope.events = {

View File

@ -110,17 +110,11 @@ Application.Controllers.controller('ReserveTrainingController', ['$scope', '$sta
$scope.ctrl =
{ member: {} };
// list of plans, classified by group
$scope.groups = groupsPromise;
// all plans, used in <cart>
$scope.plans = plansPromise;
$scope.plansClassifiedByGroup = [];
for (let group of Array.from(groupsPromise)) {
const groupObj = { id: group.id, name: group.name, plans: [] };
for (let plan of Array.from(plansPromise)) {
if (plan.group_id === group.id) { groupObj.plans.push(plan); }
}
$scope.plansClassifiedByGroup.push(groupObj);
}
// all groups, used in <cart>
$scope.groups = groupsPromise;
// mapping of fullCalendar events.
$scope.events = {

View File

@ -1,35 +1,20 @@
<div class="row m-t m-b padder list-of-plans" ng-repeat="plansGroup in plansClassifiedByGroup" ng-if="ctrl.member.group_id == plansGroup.id || !ctrl.member" ng-show="plansAreShown">
<div class="col-md-12 text-center">
<h2 class="text-u-c group-title">{{ plansGroup.name }}</h2>
</div>
<div ng-show="plansAreShown">
<div class="row row-centered padder">
<plans-list customer="ctrl.member"
subscribed-plan-id="ctrl.member.subscribed_plan.id"
on-error="onError"
on-plan-selection="selectPlan"
operator="currentUser">
</plans-list>
<div class="plans-per-group">
<plan-card ng-repeat="(key, plan) in plansGroup.plans.filter(filterDisabledPlans) | orderBy:'-ui_weight'"
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>
<a class="m-t-lg btn btn-small btn-default pull-right" href="#" ng-click="doNotSubscribePlan($event)">{{ 'app.shared.plan_subscribe.do_not_subscribe' | translate }} <i class="fa fa-long-arrow-right"></i></a>
<div class="row row-centered m-t-lg">
<div class="col-xs-12 col-md-12 col-lg-10 col-centered no-gutter">
<uib-alert type="warning m">
<i class="fa fa-lightbulb-o"></i>
<span ng-bind-html="subscriptionExplicationsAlert"></span>
</uib-alert>
</div>
<a class="m-t-lg btn btn-small btn-default pull-right" href="#" ng-click="doNotSubscribePlan($event)">{{ 'app.shared.plan_subscribe.do_not_subscribe' | translate }} <i class="fa fa-long-arrow-right"></i></a>
<div class="row row-centered m-t-lg">
<div class="col-xs-12 col-md-12 col-lg-10 col-centered no-gutter">
<uib-alert type="warning m">
<i class="fa fa-lightbulb-o"></i>
<span ng-bind-html="subscriptionExplicationsAlert"></span>
</uib-alert>
</div>
</div>
</div>
</div>

View File

@ -28,7 +28,8 @@
on-error="onError"
on-plan-selection="selectPlan"
on-login-request="userLogin"
operator="currentUser" />
operator="currentUser" >
</plans-list>
</div>