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

Plugins PHP Discussion :

admin Permissions des albums


Sujet :

Plugins PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 75
    Par défaut admin Permissions des albums
    bonjour,

    j'ai un module album qui contient des reportages photos.

    J'ai des permissions et des credentials du plugin sfDoctrineGuardPlugin de type
    album1edit
    album1show

    Je souhaiterais donc dans mon formulaire en Admin du module album afficher la liste des groupes et la liste des utilisateurs pour autoriser la consultation, car actuellement, je liste ceci par le module permission mais ce n'est pas pratique à l'ajout d'un album.

    Il faudrait donc que je fasse la liaison entre le credential ou la permission et l'album, puis faire la liaison entre la permission et les groups/users.

    J'ai donc ajouté dans mon generator.yml la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          form:
            display:
                    "Permissions and groups": [groups_list, users_list]
    J'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Widget "groups_list" does not exist.
    Je sais comment créer ce widget sur l'exemple de sfGuardUserAdminForm.class.php

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    class sfGuardUserAdminForm extends BasesfGuardUserAdminForm
    {
      /**
       * @see sfForm
       */
      public function configure()
      {
    	$utilisateurForm = new UtilisateuradminForm($this->object->utilisateur);
    	$this->embedForm('utilisateur', $utilisateurForm);
     
    	$this->widgetSchema['is_active'] = new sfWidgetFormChoice(array('expanded' => true, 'choices'  => array( 1 => 'Yes', 0 => 'No')));
    	$this->widgetSchema['is_active']->setDefault(1);
     
    	$this->widgetSchema->setLabels(array(
    		'is_active' => 'Active',
    	));
     
    	//Sert pour faire le orderby des permissions
    	$choices = Doctrine::getTable('sfGuardPermission')
    				->createQuery('a')
    				->orderBy('a.name')
    				->execute();
     
    	$result = array();
     
    	foreach($choices as $choice)
    	{
    		$result[$choice->getId()] = $choice;
    	}
     
    	$this->widgetSchema['permissions_list'] = new sfWidgetFormChoice(array('multiple' => true, 'choices' => $result));
    	$this->widgetSchema['permissions_list']->validator = new sfValidatorChoice(array('multiple' => true, 'choices' => array_keys($result), 'required' => false));
     
    	//Sert pour faire le orderby des groupes
    	$choices = Doctrine::getTable('sfGuardGroup')
    				->createQuery('a')
    				->orderBy('a.name')
    				->execute();
     
    	$result = array();
     
    	foreach($choices as $choice)
    	{
    		$result[$choice->getId()] = $choice;
    	}
     
    	$this->widgetSchema['groups_list'] = new sfWidgetFormChoice(array('multiple' => true, 'choices' => $result));
    	$this->widgetSchema['groups_list']->validator = new sfValidatorChoice(array('multiple' => true, 'choices' => array_keys($result), 'required' => false));
      }
    }
    Si quelqu'un peut m'aiguiller sur la réalisation de la liaison entre album et permissions.

    Merci.

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    On a déjà eu un truc qui ressemblait sur des sites de production il me semble.

    L'idée est que le modèle (table) de l'abum soit responsable se la création du tag dans la table des permissions de sfGuard. Attention au changement de nom et à ce que cela entraîne dans les permissions.

    Ainsi quant tu crées un album, lors de la méthode save, la permission correspondante est créée.

    Pour ce qui est de la consultation, il faut utiliser les méthode hasCredential.

    Pour le cas d'un formulaire d'administration auto-généré, tu peux créer dans un module local un contrôleur enfant de celui de l'auto-généré et y implémenter une méthode preExecute qui fera la vérification pour toutes les actions de ce module.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 75
    Par défaut
    En effet, la permission est crée à l'ajout de l'album.
    Côté consultation nous avons en effet mis en place des tests sur les crédentials pour la consultation d'un album.

    La problématique est bien dans le module album auto-généré qui n'a pas de relations évidente avec SfGuardPermission, ni avec les SfGuardUser et SfGuardGroup.

    Je suppose donc que je dois surcharger le module avec un widget adapté.

    Je vais tacher de travailler dessus demain, qu'en seras-t-il de la fonction update de l'album, faut-il prévoir également la sauvegarde de ce contenu ou Symfony à partir de l'affichage de la liste sera-t-il en mesure de s'y retrouver dans la sauvegarde ?

    merci.

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Quant tu génères un module auto-généré, tu as dans ton dossier module une arborescence qui est créé. Et notamment un fichier action.class.php. Il est donc parfaitement possible de lui rajouter une preExecute() ou de modifier une des action de base en n'oubliant pas de faire appel à la fonction parent.

    Je n'ai rien compris à ce qui te tracasse pour les sauvegardes.

Discussions similaires

  1. Permissions des dossiers partagés
    Par Aeronia dans le forum ASP.NET
    Réponses: 3
    Dernier message: 13/02/2009, 20h39
  2. Réponses: 1
    Dernier message: 17/11/2007, 20h55
  3. Permission des articles publiés
    Par rocket_270 dans le forum Droit
    Réponses: 4
    Dernier message: 07/12/2006, 19h56
  4. Gestion des permissions des fichiers sur NTFS
    Par gnu_thomas dans le forum MFC
    Réponses: 3
    Dernier message: 22/01/2004, 08h22

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