IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Afichage formulaire dans twig avec gestion de droit is_granted [2.x]


Sujet :

Symfony PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Afichage formulaire dans twig avec gestion de droit is_granted
    bonjour tout le monde,
    j'ai un problème de gestion de formulaire avec gestion de droit is_granted.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    {% extends 'base.html.twig' %}
     
    {% block body %}
        <h1>{{ "titre.edit"|trans }}</h1>
        {{ form_start(edit_form) }}
        {{ form_errors(edit_form) }}
        {% if is_granted("ROLE_SUPER_ADMIN") %}
            {{ form_row(edit_form.roles) }}
        {% endif %}
        {% if is_granted("ROLE_ADMIN") %}
            {{ form_row(edit_form.locked) }}
        {% endif %}
        {{ form_row(edit_form.username) }}
        {{ form_row(edit_form.firstName) }}
        {{ form_row(edit_form.lastName) }}
        {{ form_row(edit_form.birthdate) }}
        {{ form_row(edit_form.image) }}
     
     
     
        <input type="submit" value="{{ "form.modify"|trans }}" />
        {{ form_end(edit_form) }}
        <ul>
        <li>
            <a href="{{ path('user_index') }}">Back to the list</a>
        </li>
        {% if is_granted("ROLE_SUPER_ADMIN") %}
            <li>
                {{ form_start(delete_form) }}
                <input type="submit" value="Delete">
                {{ form_end(delete_form) }}
            </li>
            </ul>
        {% endif %}
    {% endblock %}
    tout ce qui se trouve dans les is_granted ne sont font plus parti du formulaire mais s'affiche quand même sur la page.
    auriez vous la solution pour ne plus afficher les champs lorsqu'on n'a pas les droits?
    Merci bien

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    Bonjour,
    première proposition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ form_end(edit_form, {'render_rest': false}) }}
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {{ form_end(edit_form) }}
    deuxième proposition que j'adore (JQuery ):
    on ajout id="ROLE_ADMIN" , id="ROLE_SUPER_ADMIN" .... sur les éléments DOM à cacher-afficher
    ensuite on mets le code javascript $().hide() ... dans la condition is_granted ..

  3. #3
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    pour bien faire les choses c'est en amont qu'il faut agir
    c'est donc à la création du formulaire qu'il faut ajouter ou pas les champs :

    avec quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if($this->authorization->isGranted('ROLE_ADMIN'))
    {
       $builder->add('bar');
    }

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    avec {{ form_end(edit_form, {'render_rest': false}) }}

    ça cache bien mes champs que je ne veux pas mais je me retrouve avec une erreur CSRF.

  5. #5
    Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2016
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par dukoid Voir le message
    pour bien faire les choses c'est en amont qu'il faut agir
    c'est donc à la création du formulaire qu'il faut ajouter ou pas les champs :

    avec quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if($this->authorization->isGranted('ROLE_ADMIN'))
    {
       $builder->add('bar');
    }
    Merci bien, c'est une excellente manière qui me plait bien :-)
    et qui répond à mon besoin !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/01/2012, 17h59
  2. [2.x] parcourir les éléments d'un formulaire dans twig
    Par Sergei75 dans le forum Symfony
    Réponses: 10
    Dernier message: 28/10/2011, 19h47
  3. script ksh création de repertoire avec gestion de droits
    Par simodsio dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 11/12/2008, 16h40
  4. [Forum] Recherche forum avec gestion de droits d'accès
    Par rohel92 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/08/2007, 12h45
  5. Réponses: 7
    Dernier message: 26/01/2006, 12h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo