yop les gens.

j'ai petit problème dans ma plantation... (hum... trève de plaisanteries ^^) :
dans mon appli, quand je crée un user (extension de fosUserBundle), je peux pas le logger parce qu'il m'indique automatiquement les champs expiresAt et credentialsExpireAt à la même date que celle de la création... et ca fait ch*** ^^

en gros, j'ai ca comme code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
// formulaire
public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('username')
            ->add('email')
        ;
    }
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
//controller
    public function createAction()
    {
        $entity  = new AwUser();
        $request = $this->getRequest();
        $form    = $this->createForm(new AwUserType(), $entity);
        $form->bindRequest($request);
 
    	  $enabled = $this->container->getParameter('default.awuser.signup.enabled');
     	  $algorithm = $this->container->getParameter('default.awuser.signup.algorithm');
     	  $locked = $this->container->getParameter('default.awuser.signup.locked');
     	  $expired = $this->container->getParameter('default.awuser.signup.expired');
     	  $credentialsExpired = $this->container->getParameter('default.awuser.signup.credentialsExpired');
 
     	  $password = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',6)),0,6);
 
        $entity->setEnabled($enabled);
        $entity->setAlgorithm($algorithm);
        $entity->setLocked($locked);
        $entity->setExpired($expired);
        $entity->setCredentialsExpired($credentialsExpired);
        $entity->setPassword($password);
 
        $entity->setExpiresAt(null);
        $entity->setCredentialsExpireAt(null);
 
        if ($form->isValid()) {
 
            $em = $this->getDoctrine()->getEntityManager();
            $em->persist($entity);
            $em->flush();
 
            return $this->redirect($this->generateUrl('profile_show', array('id' => $entity->getId())));
 
        }
 
        return $this->render('MachinModelBundle:AwUser:new.html.twig', array(
            'entity' => $entity,
            'form'   => $form->createView()
        ));
    }
en notant que j'ai un peu modifié le modele de fos pour qu'il accepte null comme argument à la place d'un datetime (là où la db indique que ca peut etre null)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
# dans config.yml
parameters:
    default.awuser.signup.enabled:            true
    default.awuser.signup.algorithm:          sha512
    default.awuser.signup.locked:             false
    default.awuser.signup.expired:            false
    default.awuser.signup.credentialsExpired: false
et voilà ce qu'il en résulte à la création :
Citation Envoyé par use créé

Username greg
Usernamecanonical greg
Email gaszwarc@gmail.com
Emailcanonical gaszwarc@gmail.com
Enabled 1
Algorithm sha512
Salt 7d1i8zcot68skw444c0ssgco4c88gw8
Password FUAnAv
Createdat 2011-08-04 16:09:13
Updatedat 2011-08-04 16:09:13
Lastlogin 2011-08-04 16:23:27
Locked
Expired
Expiresat 2011-08-04 16:23:27
Confirmationtoken 5laryepljuw4048wk4wc8gkok0skogo8wkow4ocgc088os4osk
Passwordrequestedat 2011-08-04 16:23:27
Roles Array
Credentialsexpired
Credentialsexpireat 2011-08-04 16:23:27
Id 8
=> j'aurais aimé qu'il me dise 0 plutôt que rien pour Locked, Expired et Credentialsexpired et rien plutôt que la date de création pour Expiresat et Credentialsexpireat

si quelqu'un peut m'éclairer, ca m'aiderait vachement.
merci.
gasmichou