1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2025-01-17 06:52:27 +01:00

members tour

This commit is contained in:
Sylvain 2020-02-19 14:30:56 +01:00
parent 906decb620
commit bc63465a84
4 changed files with 107 additions and 18 deletions

View File

@ -335,17 +335,73 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
placement: 'bottom'
});
uitour.createStep({
selector: '.members-management .show-more',
stepId: 'more',
selector: '.members-management .edit-member',
stepId: 'edit',
order: 4,
title: _t('app.admin.tour.members.more.title'),
content: _t('app.admin.tour.members.more.content', { MAX: USERS_PER_PAGE }),
placement: 'top'
title: _t('app.admin.tour.members.edit.title'),
content: _t('app.admin.tour.members.edit.content'),
placement: 'left'
});
uitour.createStep({
selector: '.members-management .delete-member',
stepId: 'delete',
order: 5,
title: _t('app.admin.tour.members.delete.title'),
content: _t('app.admin.tour.members.delete.content'),
placement: 'left'
});
uitour.createStep({
selector: '.members-management .exports-buttons',
stepId: 'exports',
order: 6,
title: _t('app.admin.tour.members.exports.title'),
content: _t('app.admin.tour.members.exports.content'),
placement: 'bottom'
});
uitour.createStep({
selector: '.heading .import-members',
stepId: 'import',
order: 7,
title: _t('app.admin.tour.members.import.title'),
content: _t('app.admin.tour.members.import.content'),
placement: 'left'
});
uitour.createStep({
selector: '.members-management .admins-tab',
stepId: 'admins',
order: 8,
title: _t('app.admin.tour.members.admins.title'),
content: _t('app.admin.tour.members.admins.content'),
placement: 'bottom'
});
uitour.createStep({
selector: '.members-management .groups-tab',
stepId: 'groups',
order: 9,
title: _t('app.admin.tour.members.groups.title'),
content: _t('app.admin.tour.members.groups.content'),
placement: 'bottom'
});
uitour.createStep({
selector: '.members-management .labels-tab',
stepId: 'labels',
order: 10,
title: _t('app.admin.tour.members.labels.title'),
content: _t('app.admin.tour.members.labels.content'),
placement: 'bottom'
});
uitour.createStep({
selector: '.members-management .sso-tab',
stepId: 'sso',
order: 11,
title: _t('app.admin.tour.members.sso.title'),
content: _t('app.admin.tour.members.sso.content'),
placement: 'bottom'
});
uitour.createStep({
selector: 'body',
stepId: 'conclusion',
order: 4,
order: 12,
title: _t('app.admin.tour.conclusion.title'),
content: _t('app.admin.tour.conclusion.content'),
placement: 'bottom',
@ -353,9 +409,21 @@ Application.Controllers.controller('AdminMembersController', ['$scope', '$sce',
});
// on step change, change the active tab if needed
uitour.on('stepChanged', function (nextStep) {
if (nextStep.stepId === 'list') {
if (nextStep.stepId === 'list' || nextStep.stepId === 'import') {
$scope.tabs.active = 0;
}
if (nextStep.stepId === 'admins') {
$scope.tabs.active = 1;
}
if (nextStep.stepId === 'groups') {
$scope.tabs.active = 2;
}
if (nextStep.stepId === 'labels') {
$scope.tabs.active = 3;
}
if (nextStep.stepId === 'sso') {
$scope.tabs.active = 4;
}
});
// on tour end, save the status in database
uitour.on('ended', function () {

View File

@ -12,7 +12,7 @@
</div>
<div class="col-xs-1 col-xs-offset-1 col-md-offset-2 b-l">
<section class="heading-actions wrapper">
<a role="button" class="btn btn-default b-2x rounded m-t-sm" ui-sref="app.admin.members_import">
<a role="button" class="btn btn-default b-2x rounded m-t-sm import-members" ui-sref="app.admin.members_import">
<i class="fa fa-cloud-upload"></i>
</a>
</section>
@ -35,19 +35,19 @@
<ng-include src="'<%= asset_path "admin/members/members.html" %>'"></ng-include>
</uib-tab>
<uib-tab heading="{{ 'app.admin.members.administrators' | translate }}" index="1">
<uib-tab heading="{{ 'app.admin.members.administrators' | translate }}" class="admins-tab" index="1">
<ng-include src="'<%= asset_path "admin/members/administrators.html" %>'"></ng-include>
</uib-tab>
<uib-tab heading="{{ 'app.admin.members.groups' | translate }}" index="2">
<uib-tab heading="{{ 'app.admin.members.groups' | translate }}" class="groups-tab" index="2">
<div ui-view="groups"></div>
</uib-tab>
<uib-tab heading="{{ 'app.admin.members.tags' | translate }}" index="3">
<uib-tab heading="{{ 'app.admin.members.tags' | translate }}" class="labels-tab" index="3">
<div ui-view="tags"></div>
</uib-tab>
<uib-tab heading="{{ 'app.admin.members.authentication' | translate }}" index="4">
<uib-tab heading="{{ 'app.admin.members.authentication' | translate }}" class="sso-tab" index="4">
<div ui-view="authentification"></div>
</uib-tab>
</uib-tabset>

View File

@ -19,7 +19,7 @@
</div>
<div class="col-md-12">
<button type="button" class="btn btn-warning m-t m-b" ui-sref="app.admin.members_new" translate>{{ 'app.admin.members.add_a_new_member' }}</button>
<div class="pull-right">
<div class="pull-right exports-buttons">
<a class="btn btn-default" ng-href="api/members/export_members.xlsx" target="export-frame" ng-click="alertExport('members')">
<i class="fa fa-file-excel-o"></i> {{ 'app.admin.members.members' | translate }}
</a>
@ -54,10 +54,10 @@
<td class="hidden-xs hidden-sm hidden-md">{{ m.subscribed_plan | humanReadablePlanName }}</td>
<td>
<div class="buttons">
<button class="btn btn-default" ui-sref="app.admin.members_edit({id: m.id})">
<button class="btn btn-default edit-member" ui-sref="app.admin.members_edit({id: m.id})">
<i class="fa fa-edit"></i>
</button>
<button class="btn btn-danger" ng-click="deleteMember(m.id)">
<button class="btn btn-danger delete-member" ng-click="deleteMember(m.id)">
<i class="fa fa-trash"></i>
</button>
<span class="label label-danger text-white" ng-show="m.need_completion" translate>{{ 'app.admin.members.incomplete_profile' }}</span>

View File

@ -1089,6 +1089,27 @@ fr:
filter:
title: "Filtrer la liste"
content: "Filtrez la liste ci-dessous pour afficher uniquement les utilisateurs n'ayant pas confirmé leur adresse mail ou les comptes inactifs depuis plus de 3 ans.<br>Pour information, la RGPD impose de supprimer les comptes inactifs depuis plus de 3 ans."
more:
title: "Afficher plus d'utilisateurs"
content: "Par défaut, seuls les {MAX} premiers membres correspondant à la recherche courante sont affichés. Cliquez ici pour afficher les résultats suivants."
edit:
title: "Modifier le membre"
content: "Un clic ici vous permettra d'afficher et de modifier l'ensemble des paramètres du membre, tel que les détails du profil, l'abonnement, les formations, le porte-monnaie, les factures, etc."
delete:
title: "Supprimer le membre"
content: "Supprime le membre de manière irréversible. Les informations liées aux facturations seront néanmoins conservées de manière indépendante pendant 10 ans. Les informations à visée statistique seront également conservées de manière anonyme."
exports:
title: "Exporter"
content: "Chacun de ces boutons lance la génération d'un fichier Excel listant l'ensemble des membres, abonnements ou réservations, actuelles et passées."
import:
title: "Importer des membres"
content: "Permet d'importer une liste de membres à créer dans Fab-Manager, à partir d'un fichier CSV."
admins:
title: "Gérer les administrateurs"
content: "De la même manière que les membres, gérez ici les administrateurs de votre Fab-Manager.<br>Les administrateurs peuvent prendre des réservations pour n'importe quel membre ainsi que modifier l'ensemble des paramètres du logiciel."
groups:
title: "Gérer les groupes"
content: "Les groupes vous permettent de segmenter finement votre offre tarifaire."
labels:
title: "Gérer les étiquettes"
content: "Les étiquettes vous permettent de réserver certains créneaux, aux utilisateurs associés à ces mêmes étiquettes."
sso:
title: "Authentification unique"
content: "Ici vous pourrez mettre en place et gérer un système d'authentification unique (ou Single Sign-On - SSO)."