]> _ Git - ccgm.git/commitdiff
(no commit message)
authorvincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 22 Nov 2013 09:27:58 +0000 (09:27 +0000)
committervincent@cubedesigners.com <vincent@cubedesigners.com@f5622870-0f3c-0410-866d-9cb505b7a8ef>
Fri, 22 Nov 2013 09:27:58 +0000 (09:27 +0000)
framework/application/configs/application.ini
framework/application/controllers/AjaxController.php
framework/application/forms/CMS/Rendezvous.php [new file with mode: 0644]
framework/application/forms/Rendezvous.php [new file with mode: 0644]
framework/application/views/scripts/templates/rendezvous.phtml
framework/application/views/scripts/templates/text.phtml
images/radio.png [new file with mode: 0644]
less/common.less
less/constants.less [new file with mode: 0644]
less/rendezvous.less [new file with mode: 0644]

index 3a92dd09243865584fe54a3f771538a0469b925f..c67c3e09611c1fb3718182857c7a4ab9cd6cb4a5 100644 (file)
@@ -1,5 +1,5 @@
 [production]
-dev = false
+dev = true
 
 minify.js = true
 minify.css = true
@@ -17,7 +17,7 @@ appnamespace = "CCGM"
 timezone = 'Europe/Paris'
 
 session.lifetime = 31536000 ;1 year
-session.adapter = mysql
+session.adapter = cache
 
 webhost = www.ccgm.fr
 
index 7cef6709cf7a4393e0c9df20f2e5c8acc1f46b8c..981ceb1d7507b0c712535da89f46a97919e07254 100644 (file)
@@ -2,7 +2,16 @@
 
 class AjaxController extends CubeIT_Controller_AjaxController {
 
-
+       public function rdv() {
+               $data = $this->getCMSDatasOfPage($_POST['page']);
+               $form = new CCGM_Form_Rendezvous();
+               $form->setMedecins($data['medecins']);
+               if (!$form->isValid($_POST)) {
+                       $this->_datas->refreshForm($form);
+               } else {
+                       $this->_datas->addAlert('ok!');
+               }
+       }
 
 }
 
diff --git a/framework/application/forms/CMS/Rendezvous.php b/framework/application/forms/CMS/Rendezvous.php
new file mode 100644 (file)
index 0000000..af3bf0b
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+
+class CCGM_Form_CMS_Rendezvous extends CCGM_Form_CMS_Text {
+
+       public function init() {
+               parent::init();
+
+               $this->getElement('text')->setAttrib('rows', 4);
+
+               $medecins = new Zend_Form_Element_Textarea('medecins');
+               $medecins->setLabel('Liste des médecins proposés pour la prise de rendez-vous');
+               $medecins->setAttrib('rows', 10);
+               $this->addElement($medecins);
+
+               $dest = new CubeIT_Form_Element_Email('destinataire');
+               $dest->setLabel('E-mail destinataire de la demande');
+               $this->addElement($dest);
+       }
+
+}
diff --git a/framework/application/forms/Rendezvous.php b/framework/application/forms/Rendezvous.php
new file mode 100644 (file)
index 0000000..5a30f12
--- /dev/null
@@ -0,0 +1,115 @@
+<?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);
+       }
+
+}
+
+?>
index b3d9bbc7f3711e882119cd6b3af051245d859d04..83f2173da2669ce99f5b9a54e547e79ef01b5379 100644 (file)
@@ -1 +1,18 @@
 <?php
+$this->headScript()
+               ->addPolyfill('placeholder')
+               ->addScriptAndStyle('rendezvous')
+               ->addCheckbox();
+?>
+<section id="content">
+       <div id="c">
+               <?php
+               echo $this->markupDotclear($this->text);
+               $form = new CCGM_Form_Rendezvous();
+               $form->getElement('page')->setValue($this->currentPage->getId());
+               $form->setMedecins($this->medecins);
+               echo $form;
+               ?>
+       </div>
+       <?php echo $this->rightbar() ?>
+</section>
\ No newline at end of file
index ac63c8a6f55ea45dbb10df5eda5acb3aa36e4e77..33716e78f04a8feb7081f789277b89cad29ea8d6 100644 (file)
@@ -1,6 +1,8 @@
 <section id="content">\r
        <div id="c">\r
-               <?php echo $this->markupDotclear($this->text); ?>\r
+               <?php\r
+               echo $this->markupDotclear($this->text);\r
+               ?>\r
        </div>\r
        <?php echo $this->rightbar() ?>\r
 </section>
\ No newline at end of file
diff --git a/images/radio.png b/images/radio.png
new file mode 100644 (file)
index 0000000..e0e724e
Binary files /dev/null and b/images/radio.png differ
index be7e301602b29b3de44dc6ce672e266ac7df6dab..98d0d98a657f507c0834da23e99a6b5574979a41 100644 (file)
@@ -1,9 +1,11 @@
+@import "constants.less";\r
+\r
 *{ max-height: 1000000px; }\r
 html{background-color:#f1eeee;}\r
 body {\r
        margin:0;\r
        color:#5e5e5e;\r
-       font:300 16px/20px 'Ubuntu', Arial, Helvetica, sans-serif;\r
+       font:300 16px/20px @Ubuntu;\r
        background-color:#fff;\r
        min-width:990px;\r
        -webkit-text-size-adjust: 100%;\r
@@ -416,5 +418,11 @@ q:after{content:"";}
        }\r
 }\r
 \r
+div.radio,\r
+div.checkbox{\r
+       width:20px !important;\r
+       height:20px !important;\r
+}\r
+\r
 \r
 \r
diff --git a/less/constants.less b/less/constants.less
new file mode 100644 (file)
index 0000000..3152c20
--- /dev/null
@@ -0,0 +1 @@
+@Ubuntu: 'Ubuntu', Arial, Helvetica, sans-serif;
\ No newline at end of file
diff --git a/less/rendezvous.less b/less/rendezvous.less
new file mode 100644 (file)
index 0000000..db5a09b
--- /dev/null
@@ -0,0 +1,117 @@
+@import "constants.less";
+
+#formRDV{
+       width:540px;
+       fieldset{
+               dt{
+                       display: none;
+               }
+               .elementwrap{
+                       display:inline-block;
+                       margin:0;
+               }
+               .errormessage{
+                       display: none;
+               }
+
+               border:0px;
+               margin:25px 0 25px 0;
+               legend{
+                       font-size: 16px;
+                       font-weight: 500;
+                       color:#5e5e5e;
+                       margin:0 0 25px;
+               }
+
+               .error{
+                       input,select{
+                               border-color:#C91818;
+                       }
+               }
+
+               input,select{
+
+                       .field;
+               }
+
+               select{
+                       width: 260px;
+               }
+
+               em{
+                       font-size: 13px;
+               }
+
+               &#fieldset-perso{
+
+                       dd{
+                               width:260px;
+                               display:inline-block;
+                               margin-right:15px;
+                               &#nom_usage-element,&#naissance-element,&#email-element{
+                                       margin-right: 0;
+                               }
+                               input{
+                                       height:38px;
+                               }
+                       }
+               }
+
+               #type-element{
+                       margin:0 0 15px 0;
+                       br{
+                               display:none;
+                       }
+                       label{
+                               margin:0 30px 0 0;
+                       }
+               }
+       }
+
+       a.button.submit{
+               background-color:#0ea6db;
+               text-transform: none;
+               padding:15px 25px;
+               border-radius: 5px;
+               font-size: 20px;
+               font-weight: 500;
+               float: none;
+               text-decoration: none;
+       }
+}
+
+.field(){
+       color:#c7c5c5;
+       font-family: @Ubuntu;
+       font-weight: 300;
+       font-size:13px;
+       color:#696969;
+       border:1px solid #c7c5c5;
+       border-radius: 5px;
+       background-color:#f6f4f4;
+       height:38px;
+       padding:10px;
+       margin-bottom: 15px;
+       font-style: italic;
+
+       &::-webkit-input-placeholder {
+               .placeholderstyle;
+       }
+
+       &:-moz-placeholder { /* Firefox 18- */
+               .placeholderstyle;
+       }
+
+       &::-moz-placeholder {  /* Firefox 19+ */
+               .placeholderstyle;
+       }
+
+       &:-ms-input-placeholder {  
+               .placeholderstyle;
+       }
+}
+
+.placeholderstyle(){
+       color:#696969;
+       font-style: italic;
+}
\ No newline at end of file