Bonjour

Le titre est ronchon mais voici le problème.

En gros il s'agit de s'inscrire à un evenement. Dans ce formulaire d'inscription je passe l'utilisateur et l'evenement mais je voudrais que la liste des dates ne contienne que les dates comprise entre la date de debut de l'evenement et la date de fin.

Dans mon action j'ai ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
$eventuser = new EventUser();
 
  	$eventuser->setEventId($request->getParameter('id'));
  	$eventuser->setUserId($this->getUser()->getGuardUser()->getId());
  	$event = EventTable::getinstance()->find($request->getParameter('id'));
 
 
  	$this->event = Doctrine_Core::getTable('Event')->getEvent($request->getParameter('id'));
 
    $this->form = new CustomEventUserForm($eventuser);
la liste des dates provient de l'objet event:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->event->getDatesArray()
j'ai essayé quelques trucs comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$schema = $this->form->getWidgetschema();
    $schema['date'] = new sfwidgetformchoice(array('choices' =>$this->event->getDatesArray() ));
qui me remplit bien les dates mais qui semble faire une erreur dans la fonction create
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$this->processform ($request, $this->form);
Ensuite j'ai essayer ainsi :

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
 
Action:
$eventuser = new EventUser();
 
 
  	$event = EventTable::getinstance()->find($request->getParameter('id'));
 
  	$eventuser->setEvent($event);
  	$eventuser->setUserId($this->getUser()->getGuardUser()->getId());
 
 
 
  	$this->event = Doctrine_Core::getTable('Event')->getEvent($request->getParameter('id'));
 
    $this->form = new CustomEventUserForm($eventuser);
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
class EventUserForm extends BaseEventUserForm
{
  public function configure()
  {
 
 
    $this->setWidgets(array(
      'id'            => new sfWidgetFormInputHidden(),
      'event_id'      => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Event'), 'add_empty' => false)),
      'user_id'       => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('sfGuardUser'), 'add_empty' => true)),
      'reserving_for' => new sfWidgetFormInputText(),
 
      'ispaid'        => new sfWidgetFormInputCheckbox(),
      'isconfirmed'   => new sfWidgetFormInputCheckbox(),
 
    ));
	$event = $this->object->Event;
 
    $schema = $this->getWidgetschema();
    $schema['date'] = new sfwidgetformchoice(array('choices' => $event->getDatesArray() ));
 
 
    $this->setValidators(array(
      'id'            => new sfValidatorChoice(array('choices' => array($this->getObject()->get('id')), 
      	'empty_value' => $this->getObject()->get('id'), 'required' => false)),
      'event_id'      => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Event'))),
      'user_id'       => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('sfGuardUser'), 'required' => false)),
      'reserving_for' => new sfValidatorInteger(array('required' => false)),
      'date'          => new sfValidatorChoice(array('choices' => array($event->getDatesArray()),'required' => false)),
      'ispaid'        => new sfValidatorBoolean(array('required' => false)),
      'isconfirmed'   => new sfValidatorBoolean(array('required' => false)),
 
    ));
 
    $this->widgetSchema->setNameFormat('event_user[%s]');
 
    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
 
    $this->setupInheritance();
  }
}
qui lui ne me remplit rien...

(et vous l'aurez bien compris je suis un peu débutant)
a+