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 :
1 2 3
| form:
display:
"Permissions and groups": [groups_list, users_list] |
J'ai l'erreur suivante :
Widget "groups_list" does not exist.
Je sais comment créer ce widget sur l'exemple de sfGuardUserAdminForm.class.php
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.
Partager