Pour cette partie, je voulais un fonctionnement similaire à celui que j’avais par le passé mais encore plus abouti, après pas mal de travail et de mise au point, l’interface est enfin terminée et ressemble à ça :

L’exemple est celui du compte admin standard, l’interface se découpe en 3 parties pour le moment (la partie blocs n’est pas affichées puisque je n’ai aucun bloc installé).

Partie contrôleurs

Cette partie va permettre de définir les droits concernant ces derniers pour le profil en cours, elle est divisée en 2 sous parties en fonction du contexte (back ou front).

Le plus de cette version si je désactive créer pour le contrôleur Console par exemple, voici ce qu j’obtiens :

Les options supérieures sont désactivées par défaut, il est peut probable qu’une personne puisse mettre à jour ou supprimer un élément de ce contrôleur, elles restent cependant actives si besoin.

Ce fonctionnement est le même si on active l’option effacer, pour le contrôleur Accueil par exemple :

Les options inférieures sont activées par défaut mais peuvent être désactivées si besoin.

Partie paramètres

Les paramètres peuvent dépendre directement des contrôleurs, mais aussi des onglets si un contrôleur comporte différents champs d’action dans sa configuration.

Cette partie est découpée en différentes sous parties, la principale qui est le contrôleur, ensuite si un onglet parent existe, une nouvelle sous partie est affichée.

Cette partie ainsi que celle des onglets ont une particularité supplémentaire, l’activation ainsi que la désactivation des options dépend du parent, par exemple ici, nous avons le contrôleur Configuration qui est parent de l’onglet Paramètres, lui même parent du paramètre Répertoire administration.

En partant de l’écran suivant :

Le contrôleur Configuration étant activé, les options de l’onglet paramètres sont modifiables, mais comme ce dernier n’a aucune option active, celles du paramètre Répertoire administration ne le sont pas.

Si nous cochons l’activation de l’option effacer de l’onglet paramètres, celles du paramètre Répertoire administration deviennent actives, on peut donc cocher l’activation de l’option effacer de ce dernier afin d’arriver à l’affichage suivant :

Maintenant nous allons désactiver l’option créer du contrôleur Configuration, ce qui va donner l’écran suivant :

En effet, le contrôleur Configuration ne pouvant accepter ces options, elles sont désactivées pour l’ensemble de ces descendants. Si nous désactivons l’option lire de l’onglet Paramètres :

L’option lire du paramètres enfant est désactivée et n’est plus modifiable.

Partie onglets

Cette partie est optionnelle et n’est affichée que pour le contrôleurs utilisant des onglets si leur administration regroupe plusieurs champs d’actions par exemple.

Rien de spécial dans cette partie, ils dépendent d’un contrôleur et sont parents d’un ou plusieurs paramètre(s), les activations / désactivations d’options sont donc faites en fonction de la hiérarchie.

En conclusion, ce système est vraiment abouti, exactement comme je le voulais, l’ensemble des chaines affichées est traduit par le système mis en place en fonction des données de la base et des différents fichiers, je vous invite à relire cet article pour cette partie en particulier.

Le switch utilisé est un petit composant donc les sources se trouvent dans cet article.

Je ne mets pas ici le code qui est à la fois complexe et dans différents fichiers du projet, mais je peux si besoin, donner des éléments sur demande bien entendu.

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

+ dix-huit = 27