La Ferme du web - Les forums

Venez baraguiner avec la communauté !

Vous n'êtes pas identifié.

#1 10/05/2012 18:03:18

mapro
Membre
Date d'inscription: 29/09/2011
Messages: 2

sfWidgetFormDoctrineChoice - Valeur par défaut

Bonjour à tous,

J'ai un souci de valeur par défaut sur un select généré par un widget.

Voici mon code (lib/form/doctrine/):


class ProjectFilterForm extends BaseProjectForm
{
   
  public function configure()
  {
  }
 
  public function setup()
  {
      $culture = sfContext::getInstance()->getUser()->getCulture();
   
      $this->widgetSchema['publish_at']= new sfWidgetFormJQueryDate();
      $allRapporteurs = __('Any office');    
      $allActions = __('All Actions');        
      $anyTypes   = __('Any Type');
    $culture = sfContext::getInstance()->getUser()->getCulture();
   
    $this->setWidgets(array(
      'filterrapporteurid' => new sfWidgetFormDoctrineChoice(array(
          'model' => $this->getRelatedModelName('Office_2'),
        'add_empty' => $allRapporteurs
          )),
      'deadline'     => new sfWidgetFormDoctrineChoice(array(
          'model' => 'Actionfilterdeadline',
        'query'     => Doctrine::getTable('Actionfilterdeadline')
                                      ->createQuery('p')
                                      ->select('p.*, t.name as name')
                                      ->where('t.culture = ?', $culture)
                                      ->leftJoin('p.ActionfilterdeadlineI18n t'),
        'default' => 4
        )),       
      'filteraction'     => new sfWidgetFormDoctrineChoice(array(
          'model' => 'Prjaction',
        'add_empty' => $allActions,
        'query'     => Doctrine::getTable('Prjaction')
                                    ->createQuery('p')
                                    ->select('p.*, t.name as name')
                                      ->where('t.culture = ?', $culture)
                                    ->leftJoin('p.PrjactionI18n t')
        )),          
      'filtertypeid'       => new sfWidgetFormDoctrineChoice(array(
          'model' => $this->getRelatedModelName('Prjtype'),
        'add_empty' => $anyTypes,
        )),   
    ));
    $this->setValidators(array(
      'rapporteurid' => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Office_2'), 'required' => false)),
      'deadline'       => new sfValidatorDoctrineChoice(array('model' => 'Actionfilterdeadline')),        
      'filteraction'       => new sfValidatorDoctrineChoice(array('model' => 'Prjaction')),            
      'filtertypeid'       => new sfValidatorDoctrineChoice(array('model' => $this->getRelatedModelName('Prjtype'))),        
    ));

   
    $this->widgetSchema->setNameFormat('project[%s]');
    $this->widgetSchema['filterrapporteurid']->addOption('order_by',array('name','asc'));
    $this->widgetSchema['filteraction']->addOption('order_by',array('name','asc'));       
    $this->widgetSchema['filtertypeid']->addOption('order_by',array('code','asc'));
   
    $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);

    $this->setupInheritance();

  }
}


==> ci-dessus la valeur par défaut (id=4 dans le select) n'est pas prise en compte. Cette valeur est d'ailleurs bien visible avec firebug

Voici le code html généré:

<select id="selectFilter" onchange="$('#frmProjectFilter').submit();" name="project[deadline]">
<option value="0">2 prochaines semaines</option>
<option value="1">Derniers 6 mois</option>
<option value="2">Derniers 3 mois</option>
<option value="3">Derniers mois</option>
<option value="4">2 dernières semaines</option>
<option value="5">Prochain mois</option>
<option value="6">Prochains 3 mois</option>
<option value="7">Prochains 6 mois</option>
<option value="8">Prochains 12 mois</option>
<option value="9">Toutes les tâches</option>
</select>


Mais c'est toujours la première valeur qui est affichée

Quelqu'un a-t'il une idée de ce que cela pourrait etre?

Merci d'avance.

Hors ligne

 

10/05/2012 18:03:18

Botte De Foin Publicitaire


Pied de page des forums

Powered by FluxBB
© Copyright 2008-2009 - LaFermeduWeb.net