Développer avec RBS Change : Récupérer les administrateurs d'un website

  • 48580.1

    16/12/2011 11:23


    David Guillot
    Rang : Expert
    Bonjour,

    Je ne trouve pas la méthode permettant de récupérer les users/backendusers administrateurs d'un website/website. Je suppose que le framework contient une méthode générique de récupération des users ayant des rôles sur des documents, mais je ne la trouve pas...

    Merci d'avance !
  • 48580.2

    16/12/2011 11:54


    David Guillot
    Rang : Expert
    Alors en fait j'ai trouvé
    f_permission_PermissionService::getInstance()->getACLForNode($this->getContext()->getWebsite()->getId())
    mais ça me renvoie un tableau de generic/userACL, dans lequel le nom du rôle est écrit. Je n'ai pas une folle envie de faire un test sur le nom de rôle website.Admin, que puis-je faire ?
  • 48580.3 en réponse à 48580.1 écrit par David Guillot

    16/12/2011 14:08


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    Bonjour,

    Pour ce genre de choses, ça se passe effectivement dans f_permission_PermissionService. Notamment la méthode getUsersByRoleAndDocumentId.

    Édité par Gaël Port 16/12/2011 14:09

  • 48580.4

    16/12/2011 15:14


    David Guillot
    Rang : Expert
    En effet, cette méthode correspond bien à ce que je cherche. Mais mon cas de conscience reste entier : je n'ai pas envie d'écrire "website.Admin" en dur dans mon code. Comment récupérer ce nom de rôle (parmi les rôles récupérés grâce au roles_WebsiteRoleService, en étant sûr que c'est bien le rôle d'administration) ? Y a-t-il une propriété autre que le nom du rôle (un code numérique ou autre) qui me permette d'identifier cette chaîne de caractères comme le nom du rôle le plus important sur mon site ?

    Merci
  • 48580.5

    16/12/2011 16:06


    Gaël Port
    Titre : Développeur RBS Change
    Rang : Expert
    En fait chaque module définit ses propres rôles dans son fichier config/rights.xml (en général tous ont un rôle Admin mais techniquement ce n'est pas une obligation), donc non il n'y a rien d'autre que ce nom qui permette de l'identifier.

    De plus, la plupart du temps ce qui est intéressant ce n'est pas le rôle mais plutôt les permissions qu'il accorde. Par exemple pour savoir si un utilisateur a le droit de mettre à jour un document ou de le supprimer on teste qu'il a la permission Edit ou Delete mais jamais le fait qu'il ait un rôle donné (la seule exception c'est les workflow où on affecte un rôle à une transition plutôt qu'une permission).

    Après tout dépend de ce que vous voulez faire au final avec ces utilisateurs.
  • 48580.6

    16/12/2011 16:18


    David Guillot
    Rang : Expert
    En fait je souhaite, sur un certain événement, envoyer un e-mail aux administrateurs du site sur lequel a lieu l'événement. Du coup ça m'ennuie un peu mais je vais me baser sur ce nom "Admin"... Merci en tout cas !
 
Merci de prendre connaissance et de respecter les règles des forums.
 
1362 membres
Aucun membre connecté