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 : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de manuel brossard
Envoyé : vendredi 26 novembre 2010 18:35
À : symfony-fr@googlegroups.com
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 <mbross...@infonel.net> 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 <mbross...@infonel.net> 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 <mailing-l...@lelio.fr>
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 : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la
                        part de manuel brossard
                        
                        Envoyé : mercredi 24 novembre 2010 18:17
                        
                        À : symfony-fr@googlegroups.com
                        Objet : Re: [symfony-fr] comment rendre persistent
la modification d' un
                        module admin (backend)
                        
                        
                        
                        Le 24 novembre 2010 18:10, Lélio ML
<mailing-l...@lelio.fr> 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 : symfony-fr@googlegroups.com
                        [mailto:symfony...@googlegroups.com] De la
                               part de manuel brossard
                        
                               Envoyé : mercredi 24 novembre 2010 18:03
                        
                               À : symfony-fr@googlegroups.com
                               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 à
                        symfony...@googlegroups.com.
                        
                               Pour vous désabonner de ce groupe, envoyez un
e-mail à l'adresse
                        symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                        
                        <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> > .
                        

                               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 à
                        symfony...@googlegroups.com.
                        Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                        symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
                        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 à symfony...@googlegroups.com.
                        Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
                        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 à
symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com.
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 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à