Ajouter une autorisation personnalisée à « groupe » module spécifique à la page des autorisations

drupal.stackexchange https://drupal.stackexchange.com/questions/771

  •  16-10-2019
  •  | 
  •  

Question

L'utilisation d'un module personnalisé, comment une permission d'ajouter à un noyau / module de contribution « groupe » sur la page des autorisations sans piratage du noyau / module de contribution?

Exemple:
Ajouter autorisation personnalisée au module de base

Était-ce utile?

La solution

Comme nous l'avons dit, ce ne serait pas une bonne idée d'inscrire une autorisation mis en œuvre par un module ensemble des autorisations mises en œuvre par un autre module; il serait difficile pour les utilisateurs de trouver les permissions mises en œuvre par, par exemple, custom_module.module, quand il est répertorié ensemble ceux mis en œuvre par user.module.

Si vous avez vraiment besoin de changer l'ordre utilisé pour la liste des autorisations (mais, est-il vraiment nécessaire), alors je suggère de modifier la façon dont la liste des autorisations est affichée: au lieu de les énumérer se basant sur le module mise en œuvre , vous pouvez les énumérer basant sur différents critères.
Pour ce faire, vous devez:

Est-il utile de le faire? Il pourrait être, selon votre client.
Considérant que la première version officielle de Drupal 7 a été libéré, et le code de Drupal 7 changerait, il est probablement pas la peine de le faire. Je préférerais essayer de comprendre pourquoi le client veut changer l'ordre des autorisations répertoriées dans la page d'administration, et d'expliquer la raison pour laquelle le changer est une mauvaise idée; si le client insiste sur les besoins de code à mettre en œuvre pour leurs propres fins, alors je lui fais comprendre que le code devrait être réécrite lorsque le site passe à Drupal 7, et il ne vaut pas le temps de dépenser pour un tel changement, quand il est possible d'utiliser en même temps pour mettre en œuvre quelque chose qui est vraiment nécessaire.

Autres conseils

Il n'y a pas hook_perm_alter et ces autorisations sont regroupées par module, donc probablement e moyen serait d'y entrer aurait avec hook_form_alter sur ces formes (il y a est par rôle les formulaires d'autorisation ainsi que le principal, pas sûr qu'ils utilisent le même form_id).

devrait définir encore l'autorisation par l'intermédiaire yourmodule_perm donc tout le monde peut savoir l'autorisation existe.

Personnellement, je déconseilla; laissez votre permission par où il serait donc il n'y a pas de «J'ai installé ce module et ne peut pas trouver la permission! oh, pourquoi l'autorisation en vertu d'un module différent? !! »

Il y a deux façons d'accomplir ce que vous demandez.

Soit par hook_form_alter ou en remplaçant la fonction de thème de la forme:. theme_user_admin_perm

Pour un module contrib standard, ce ne serait pas une bonne idée, car les gens ont tendance à rechercher l'autorisation d'un module en naviguant pour le nom de lui. Si votre module fait quelques modifications à la norme flux d'autorisation de l'utilisateur, il pourrait ne pas être une mauvaise idée de montrer la permission ajoutée ainsi que ceux par défaut du module utilisateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à drupal.stackexchange
scroll top