Tant mieux
Sinon, parfois il est plus simple de faire :
$this->widgetSchema['contributor_id']->setOption('is_hidden', true);
Directement : on garde ainsi le paramétrage initial du champ en ne changeant
que les options souhaitées.
-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de manuel brossard
Envoyé : vendredi 26 novembre 2010 18:35
À : [email protected]
Objet : Re: [symfony-fr] comment rendre persistent la modification d' un
module admin (backend)
Eureka...
il fallait juste surcharger les widgets et les validateurs pour que le tout
soit lié et enregistré.
$this->widgetSchema['contributor_id'] = new
sfWidgetFormInputHidden(array('is_hidden' => 'true'));
this->widgetSchema['invitation_id'] = new sfWidgetFormInputHidden
this->(array('is_hidden' => 'true'));
.......
'contributor_id' => new sfValidatorInteger(array('required' => true)),
'invitation_id' => new sfValidatorInteger(array('required' => true)),
Merci Lelio pour la piste des accesseurs... ça va me permettre d' en abusé
maintenant..
Le 25 novembre 2010 17:33, manuel brossard <[email protected]> a écrit :
J' ai modifié mes champs dans mon schéma j' ai à présent à 0 quand
j' enregistre au lieu de null...
Le 24 novembre 2010 23:15, manuel brossard <[email protected]> a
écrit :
J' ai modifié le passage de l' objet dans le form , ça ne
change rien ,et mon test sur le save est positif.
Tous mes champs sont bien enregistrés sauf les 3 ids.... qui
sont a NULL.
Au prochain rebuild j' ajouterai les notes null...
effectivement..
Le 24 novembre 2010 22:55, Lélio ML <[email protected]>
a écrit :
Essaie peut-être avec ça : en supprimant l'objet
passé dans le form de
l'action create. Mais ça ne devrait rien changé...
public function executeCreate(sfWebRequest $request)
{
$this->form = new EvaluationForm();
$this->processForm($request, $this->form);
$this->setTemplate('new');
}
Et sinon, essaie aussi de mettre dans un else du if
portant sur le
$form->isValid() avec un
$this->getUser()->setFlash('error', '...');
Histoire de voir si le formulaire est ok ou non.
Sinon, tu peux aussi vérifier quelles sont les
données POST passée
réellement par la requête HTTP.
De même, d'un point de vue intégrité des données,
as-tu placé des notnull:
true dans tes champs de lien s'ils sont obligatoires
? Ça évitera des
enregistrements partiels ou faux...
-----Message d'origine-----
De : [email protected]
[mailto:[email protected]] De la
part de manuel brossard
Envoyé : mercredi 24 novembre 2010 18:17
À : [email protected]
Objet : Re: [symfony-fr] comment rendre persistent
la modification d' un
module admin (backend)
Le 24 novembre 2010 18:10, Lélio ML
<[email protected]> a écrit :
Ça c'est dans l'action initiale mais pas
celle qui enregistre ton
formulaire. N'est-ce pas ?
Dans l'action executeCreate(), tu fais
comment ? Un bind() puis un
validate() et enfin un save() ?
En fait au début j' avais oublié de passer dans l'
action créate mais même
en ajoutant cela ne change rien.. .
Voici le code :
public function executeCreate(sfWebRequest $request)
{
$this->form = new
EvaluationForm($this->evaluation);
$this->processForm($request, $this->form);
$this->setTemplate('new');
}
protected function processForm(sfWebRequest
$request, sfForm $form)
{
$form->bind(
$request->getParameter($form->getName())
);
if ($form->isValid())
{
$evaluation = $form->save();
$this->getUser()->setFlash('notice',
'Commentaire enregistr !');
$this->redirect('evaluation_show', $form);
}
}
}
-----Message d'origine-----
De : [email protected]
[mailto:[email protected]] De la
part de manuel brossard
Envoyé : mercredi 24 novembre 2010 18:03
À : [email protected]
Objet : Re: [symfony-fr] comment rendre
persistent la modification
d' un
module admin (backend)
Yes voici la séquence complète :
$this->evaluation = new Evaluation();
$this->evaluation->setCustomerId(2);
$this->evaluation->setContributorId(1);
$this->evaluation->setInvitationId(3);
$this->form = new
EvaluationForm($this->evaluation);
--
Vous recevez ce message, car vous êtes abonné
au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez
un e-mail à
[email protected].
Pour vous désabonner de ce groupe, envoyez un
e-mail à l'adresse
[email protected]
<mailto:symfony-fr%[email protected]>
<mailto:symfony-fr%[email protected]
<mailto:symfony-fr%[email protected]> > .
Pour plus d'options, consultez la page de ce
groupe :
http://groups.google.com/group/symfony-fr?hl=fr
--
Cordialement,
Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039
Tel: + 33 9 72 17 00 41
--
Vous recevez ce message, car vous êtes abonné au
groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un
e-mail à
[email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
[email protected]
<mailto:symfony-fr%[email protected]> .
Pour plus d'options, consultez la page de ce groupe
:
http://groups.google.com/group/symfony-fr?hl=fr
--
Vous recevez ce message, car vous êtes abonné au
groupe Google Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un
e-mail à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse [email protected]
<mailto:symfony-fr%[email protected]> .
Pour plus d'options, consultez la page de ce groupe
: http://groups.google.com/group/symfony-fr?hl=fr
--
Cordialement,
Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039
Tel: + 33 9 72 17 00 41
--
Cordialement,
Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039
Tel: + 33 9 72 17 00 41
--
Cordialement,
Manuel Brossard
Twitter: twitter.com/infonel
Skype : mantex2039
Tel: + 33 9 72 17 00 41
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
--
Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr