Comment peux-je donner les droits d'accès aux mes modules personelles.?

Salut les amis,

J’ai crée deux modules suivants :

1) Proposer un lien web. (Permet la saisie et envoie d’un lien web).
2) Valider un lien web. (Permet la validatin d’un lien web).

J’ai deux type d’utilsiateur :

1) Editeur
2) Valideur

Mes «Editeurs» doivent avoir accès à module «Proposer un lien web».

Mon «Valideur» doit avoir accès aux deux modules «Proposer un lien web» et «Valider un lien web».

J’ai copié le code de hook «_perm» depuis Forms API QuickStart Guide.

Le voila :

function valider_weblink_perm(){
return array(‘access valider_weblink’,’create valider_weblink’,’administer valider_weblink’) ;
}

Est-ce qqun sait qu’est-ce que doit modifier pour atteindre mes objectives.

Pour le moment seulement administrateur a droit d’accès aux ces modules.

Je vous remercie à l’avance les amis.

#

Salut,

Ton module propose des permissions via le hook_perm().

Ensuite, c’est à toi d’affecter ces permissions aux rôles appropriés (Editeur, Valideur…) via Administrer > Gestion des utilisateurs > Contrôle d’accès. A ce stade, Drupal sait seulement quel rôle possède quelles permissions.

La dernière étape, c’est de faire en sorte que seuls les utilisateurs possédant une permission donnée puissent accéder à ton module. En général, ça se fait dans le hook_menu(), que tu as dû utiliser pour définir l’URL où ton module est accessible, par exemple :

<?php
function valider_menu($may_cache) {
 
$items = array();
  if (
$may_cache) {
   
$items[] = array(
     
'path' => 'url/du/module/valider',
     
'title' => t('Validate Weblink'),
     
'callback' => 'page_validate_weblink',
     
'access' => user_access('access valider_weblink'), // IMPORTANT
     
'type' => MENU_CALLBACK
   
);
  }
  return
$items;
}
?>

La ligne importante, c’est :

<?php
'access' => user_access('access valider_weblink'),
?>

qui permet de restreindre l’accès à l’URL de ton module aux utilisateurs possédant la permission ‘access valider_weblink’.

Sinon, quelques remarques :

Pourquoi créer des modules pour ça ? Tu aurais pu créer le type de contenu «lien web» avec CCK. Il serait «non publié» par défaut, et seuls les utilisateurs avec la permission appropriée pourrait le passer en «publié» (= le valider).

Enfin, même en ayant besoin de créer ton propre module, tu pourrais t’en sortir avec 1 seul module au lieu de 2 (la création et la validation sont liées, il y a peu de chances que tu les utilises séparément).

Vincent

Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.

#

Merci Vincent,

ça marche.

Merci encore.

#

Merci pour les remarques Vincent.

Vu que je suis un newbie dans le drupal. Je ne savais pas que c’était possible de faire avec CCK, ou que je pouvais fiare un seul module.

Mais c’est sur que si je fait le même projet maintenant je le ferai différemment.

#

C’est clair qu’on s’améliore avec la pratique. Il arrive aussi qu’on découvre après avoir bcp codé qu’il existait un module qui faisait exactement la même chose… ;)

Vincent

Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.

Syndiquer le contenu