source: cpc/trunk/project/lib/form/doctrine/AlerteForm.class.php @ 1432

Last change on this file since 1432 was 1432, checked in by teymour, 11 years ago

Introduction des filters dans l'alerte pour pouvoir faire les liens depuis la recherche

File size: 2.3 KB
Line 
1<?php
2
3/**
4 * Alerte form.
5 *
6 * @package    cpc
7 * @subpackage form
8 * @author     Your name here
9 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
10 */
11class AlerteForm extends BaseAlerteForm
12{
13  public function configure()
14  {
15    unset($this->widgetSchema['confirmed']);
16    unset($this->widgetSchema['next_mail']);
17    unset($this->widgetSchema['last_mail']);
18    unset($this->widgetSchema['verif']);
19    unset($this->widgetSchema['created_at']);
20    unset($this->widgetSchema['updated_at']);
21    unset($this->widgetSchema['titre']);
22    unset($this->widgetSchema['citoyen_id']);
23    unset($this->widgetSchema['no_human_query']);
24
25    unset($this->validatorSchema['confirmed']);
26    unset($this->validatorSchema['next_mail']);
27    unset($this->validatorSchema['last_mail']);
28    unset($this->validatorSchema['verif']);
29    unset($this->validatorSchema['created_at']);
30    unset($this->validatorSchema['updated_at']);
31    unset($this->validatorSchema['titre']);
32    unset($this->validatorSchema['citoyen_id']);
33    unset($this->validatorSchema['no_human_query']);
34
35    $this->widgetSchema['filter'] = new sfWidgetFormInputHidden();
36
37    $this->widgetSchema['period'] = new sfWidgetFormChoice(array('choices' => array('HOUR' => 'Une fois par heure', 'DAY' => 'Une fois par jour', 'WEEK' => 'Une fois par semaine', 'MONTH' => 'Une fois par mois')));
38    $this->setDefault('period', 'WEEK');
39
40    $this->widgetSchema->setLabels(array(
41                                         'email'    => 'Votre email',
42                                         'query'   => 'Mots clés recherchés',
43                                         'period' => 'Période max. de réception',
44                                         )
45                                   );
46
47    $this->validatorSchema['query'] = new sfValidatorString(array('required' => true), array('required' => 'Merci d\'indiquer vos mots clés'));
48    $this->validatorSchema['id'] = new sfValidatorDoctrineChoice(array('model' => 'Alerte', 'column' => 'id', 'required' => false));
49
50    if ($this->getObject()->no_human_query) {
51      $this->widgetSchema['query'] = new sfWidgetFormInputHidden();
52    }
53
54    if ($this->getObject()->citoyen_id) {
55      unset($this->widgetSchema['email']);
56      unset($this->validatorSchema['email']);
57    }else {
58      $this->validatorSchema['email'] = new sfValidatorEmail(array('required' => true), array('required' => 'Email obligatoire'));
59    }
60  }
61}
Note: See TracBrowser for help on using the repository browser.