Moins de droits pour un groupé donné.

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Moins de droits pour un groupé donné.

    Bonjour,
    Joomla! 3.9.22

    J'ai créé un groupe d'auteurs dérivé du groupe "Auteurs" de Joomla.
    J'ai ensuite créé un élément de menus que bien sur seul les auteurs enregistrés peuvent voir.
    Cet élément de menu leur permet de soumettre un nouvel article.

    Jusqu'ici tout vas bien !

    Mais je ne réussi pas à empêcher la possibilité de taguer un article. J'ai déjà réussi à les empêcher de créer un nouveau tag.
    Et je ne réussi pas à les empêcher de modifier les droits d'accès à l'article qu'ils créent

    Screen du formulaire

    Autant que possible j'aimerais éviter d'installer ACL Manager… si possible.

    Si vous avez des idées, même des indices, je suis preneur :-)

    Un grand merci !
    Fichiers joints

  • #2
    Il faudrait voir dans les droits du composant "Tags" (c'est un composant différent de celui des articles) et interdire la création à ce groupe d'utilisateurs.
    Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
    Administrateur certifié Joomla! 3
    https://www.betterweb.fr

    Commentaire


    • #3
      Bonsoir Jfque,

      Merci mais j'ai déjà appliqué ça, ça empêche le groupe de créer un nouveau tag, mais cela ne l'empêche pas d'attribuer un tag déjà existant à un article.

      Et je ne trouve toujours pas de solution à vrai dire.

      Commentaire


      • #4
        Il faut aussi empêcher la modification et la modification du statut.
        Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
        Administrateur certifié Joomla! 3
        https://www.betterweb.fr

        Commentaire


        • #5
          Re-bonjour et encore merci pour vos réponses.

          Voyez, j'en suis là et pourtant il peuvent toujours saisir un tag déjà existant.
          Fichiers joints

          Commentaire


          • #6
            Hello.

            Vous ne cherchez pas au bon endroit, ce n'est pas dans les droits sur les tags en eux même (donc droit de créer ou de modifier un tag dans le composant com_tags) qu'il faudrait chercher, c'est plutôt au niveau de l’intégration des tags dans les articles (donc dans le composant com_content).

            L'idéal serait qu'il y ait donc droit (modifier les tags) dans les paramètres des articles et des catégories d’articles, mais actuellement on est pas aussi "fin".

            J'ai eu un problème similaire pour éviter mes auteurs en front de mettre tout et n'importe quoi "en vedette", je voulais donc supprimer cette option pour certains groupes d'utilisateurs.

            Or après un rapide coup d'oeuil dans le code, rien de tel n'est prévu pas plus pour le champ "en vedette" que pour les tags..

            Si tu veux absolument avoir la possibilité d'interdire la sélection de tag lors de l’édition d'un article, il te faudra donc overrider la vue correspondant pour ne pas afficher le champ en question pour le groupe d'utilisateur en question.
            A noter qu'un "vrai" bidouilleur arriverait quand même à le faire, car il fraudait encore contrôler ce droit en cas de présence de la variable au retour du formulaires dans la variable de type post -tableau jform- -donc si du code aurait été injecté-).

            Il faut donc copier /component/com_content/views/form/view/templ/edit.php dans /templates/ton_template/html/com_content/form/edit.php

            Et en ligne 109 porter la condition sur :
            Code PHP:
            <?php echo $this->form->renderField('tags'); ?>
            En remplacant par exemple par
            Code PHP:
             <?php if(!in_array("33",$this->user->groups)){
            echo 
            $this->form->renderField('tags');
            }
            ?>
            Si ton groupe d'"auteurs dérivés" a comme id 33

            Ceci pour la partie "site".
            Si c'est en admin, il faut faire la manipulation similaire pour pour la vue en admin et le template d'admin bien sûr.

            C'est "moyennement" propre, car le groupe est codé en dur, mais c'est la formule la plus simple et la plus rapide que je vois dans l'imédiat.
            Dernière édition par roland_d_alsace à 16/10/2020, 08h30
            njoseph aime ceci.
            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
            Rejoignez le Joomla Users Groupe Alsace...
            roland_d_alsace va-t-il devenir roland_du_grand_est ?

            Commentaire


            • #7
              Bonjour Roland,
              Ok merci je vais regarder ça !

              Et du coup je vais appliquer la même méthode pour faire "disparaitre" le menu déroulant qui leur permet de modifier le droit d'accès de leur article.

              Merci beaucoup ! ;-)

              Commentaire


              • #8
                Bonjour Roland,

                Le fait que ce soit "en dur" ne me gène pas trop, je l'insère dans un thème enfant.

                Par contre,


                Code:
                Code PHP:
                [COLOR=#000000][COLOR=#0000BB]<?php [/COLOR][COLOR=#007700]if(![/COLOR][COLOR=#0000BB]in_array[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"33"[/COLOR][COLOR=#007700],[/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]user[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]groups[/COLOR][COLOR=#007700])){
                echo [/COLOR][COLOR=#0000BB]$this[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]form[/COLOR][COLOR=#007700]->[/COLOR][COLOR=#0000BB]renderField[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]'tags'[/COLOR][COLOR=#007700]);
                }[/COLOR][COLOR=#0000BB]?>[/COLOR] [/COLOR]
                Si ton groupe d'"auteurs dérivés" a comme id 33


                Est ce qu'il n'y aurait pas une inversion dans ton code ?
                Est ce que cela n'aurait pas tendance à ne faire apparaitre le champs que pour mon groupe id 33 ??

                Merci

                Nicolas

                Commentaire


                • #9
                  Ceci signifie si 33 n'est pas dans le tableau des groupes d'utilisateur de l'utilisateur courant.
                  Il faut juste pas oublier le point d'exclamation avant le in_array.
                  njoseph aime ceci.
                  A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
                  Rejoignez le Joomla Users Groupe Alsace...
                  roland_d_alsace va-t-il devenir roland_du_grand_est ?

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X