--- /dev/null
+<?php
+
+class CCGM_Form_Rendezvous extends CubeIT_Form {
+
+ public function init() {
+ parent::init();
+
+ $this->setId('formRDV')
+ ->setAjax()
+ ->setAction('/ajax/rdv');
+
+ $page = new Zend_Form_Element_Hidden('page');
+ $this->addElement($page);
+
+ $notempty = new Zend_Validate_NotEmpty();
+ $notempty->setMessage('Ce champ ne peut être vide');
+
+ $datevalidator = new Zend_Validate_Regex('|\d{2}\/\d{2}\/\d{4}|');
+ $datevalidator->setMessage('Format de date invalide');
+
+ $nom = new Zend_Form_Element_Text('nom');
+ $nom->setLabel('Nom de naissance');
+ $nom->setAttrib('placeholder', 'Nom de naissance *');
+ $nom->setRequired();
+ $nom->addValidator($notempty);
+ $this->addElement($nom);
+
+ $nom_usage = new Zend_Form_Element_Text('nom_usage');
+ $nom_usage->setLabel("Nom d'épouse (si applicable)");
+ $nom_usage->setAttrib('placeholder', "Nom d'épouse (si applicable)");
+ $this->addElement($nom_usage);
+
+ $prenom = new Zend_Form_Element_Text('prenom');
+ $prenom->setAttrib('placeholder', 'Prénom *');
+ $prenom->setLabel('Prénom');
+ $prenom->setRequired();
+ $prenom->addValidator($notempty);
+ $this->addElement($prenom);
+
+ $naissance = new Zend_Form_Element_Text('naissance');
+ $naissance->setAttrib('placeholder', 'Date de naissance (JJ/MM/AAAA) *');
+ $naissance->setLabel('Date de naissance');
+ $naissance->addValidator($notempty);
+ $naissance->addValidator($datevalidator);
+ $naissance->setRequired();
+ $this->addElement($naissance);
+
+ $telephone = new CubeIT_Form_Element_Phone('telephone');
+ $telephone->setAttrib('placeholder', 'Votre téléphone *');
+ $telephone->setLabel('Votre téléphone');
+ $telephone->addValidator($notempty);
+
+ $telephone->setRequired();
+ $this->addElement($telephone);
+
+ $email = new CubeIT_Form_Element_Email('email');
+ $email->setAttrib('placeholder', 'Votre email');
+ $email->setLabel('Votre email');
+ $this->addElement($email);
+
+ $this->addDisplayGroup(array('nom', 'nom_usage', 'prenom', 'naissance', 'telephone', 'email'), 'perso');
+ $group = $this->getDisplayGroup('perso');
+ $group->setLegend('Vos coordonnées');
+
+ $type = new Zend_Form_Element_Radio('type');
+ $type->setMultiOptions(array('premier' => 'Premier rendez-vous', 'suivi' => 'Consultation de suivi'));
+ $type->setValue('premier');
+ $this->addElement($type);
+
+ $medecin = new Zend_Form_Element_Select('medecin');
+ $this->addElement($medecin);
+
+ $motif = new Zend_Form_Element_Text('motif');
+ $motif->setAttrib('placeholder', 'Motif');
+ $this->addElement($motif);
+
+ $this->addDisplayGroup(array('type', 'medecin', 'motif'), 'rdv');
+ $group = $this->getDisplayGroup('rdv');
+ $group->setLegend('Rendez-vous');
+
+ $date = new Zend_Form_Element_Text('date');
+ $date->setAttrib('placeholder', 'Merci de noter plusieurs créneaux possibles');
+ $date->addValidator($datevalidator);
+ $this->addElement($date);
+
+ $info = new CubeIT_Form_Element_Html('info');
+ $info->setLabel('<p><em>Les champs marqués * sont obligatoires.</em></p><p>Le secrétariat prendra contact avec vous pour vous communiquer dans les plus brefs délais la date et l’horaire de votre prochain rendez-vous.</p>');
+ $this->addElement($info);
+
+ $this->addDisplayGroup(array('date', 'info'), 'creneau');
+ $group = $this->getDisplayGroup('creneau');
+ $group->setLegend('Date et plage horaire');
+
+ $submit = new Zend_Form_Element_Submit('submit');
+ $submit->setLabel('Envoyer');
+ $this->addElement($submit);
+ }
+
+ public function setMedecins($list) {
+ $e = explode("\n", $list);
+ $options = array('' => 'Médecin *');
+ foreach ($e as $m) {
+ $m = trim($m);
+ if ($m == '') {
+ continue;
+ }
+ $options[$m] = $m;
+ }
+
+ $this->getElement('medecin')->setMultiOptions($options);
+ }
+
+}
+
+?>