From c0faac474967eb3cf7e7f0baeb8d7fb9c354de99 Mon Sep 17 00:00:00 2001 From: "vincent@cubedesigners.com" Date: Thu, 30 Jun 2016 16:55:32 +0000 Subject: [PATCH] wip #484 @0.5 --- .../controllers/AjaxController.php | 27 ++-- framework/application/forms/RequestQuote.php | 150 +++++++++--------- less/102-intro.less | 2 + 3 files changed, 94 insertions(+), 85 deletions(-) diff --git a/framework/application/controllers/AjaxController.php b/framework/application/controllers/AjaxController.php index 1015ddb..2551069 100644 --- a/framework/application/controllers/AjaxController.php +++ b/framework/application/controllers/AjaxController.php @@ -2,19 +2,18 @@ class AjaxController extends CubeIT_Controller_AjaxController { - public function requestQuote() { - - $form = new Fluidbook_Form_RequestQuote(); - - if ($form->isValid($_POST)) { - - // ToDo: process form... - - } else { - $this->_datas->refreshForm($form); // Respond with validation errors - $this->_datas->addAction('eval', 'displayErrors()'); - } - - } + public function requestQuote() { + $form = new Fluidbook_Form_RequestQuote(); + + if ($form->isValid($_POST)) { + $url = 'https://workshop.fluidbook.com/ajax/demandeDevis?devis_form=' . base64_encode(serialize($_POST)); + fb($url); + fb(file_get_contents($url)); + } else { + $this->_datas->refreshForm($form); // Respond with validation errors + $this->_datas->addAction('eval', 'displayErrors()'); + } + + } } diff --git a/framework/application/forms/RequestQuote.php b/framework/application/forms/RequestQuote.php index bbbdeba..67a5b37 100644 --- a/framework/application/forms/RequestQuote.php +++ b/framework/application/forms/RequestQuote.php @@ -2,77 +2,85 @@ class Fluidbook_Form_RequestQuote extends CubeIT_Form { - public function init() { - parent::init(); - - $first_name = new Zend_Form_Element_Text('first_name'); - $first_name->setLabel(__('Prénom')); - $this->addElement($first_name); - - $last_name = new Zend_Form_Element_Text('last_name'); - $last_name->setLabel(__('Nom')); - $last_name->setRequired(true); - $last_name->addErrorMessage(__('Votre nom est obligatoire')); - $this->addElement($last_name); - - $company = new Zend_Form_Element_Text('company'); - $company->setLabel(__('Nom de la société')); - $company->setRequired(true); - $company->addErrorMessage(__('Votre nom de la société est obligatoire')); - $this->addElement($company); - - $contact_type = new Zend_Form_Element_Select('contact_type'); - $contact_type->setLabel(__('Vous êtes')); - $contact_type->setMultiOptions(array( - '' => '', - 'agency' => 'Une agence de communication', - 'freelancer' => 'Un créatif freelance', - 'company' => 'Une société', - 'other' => 'Autre', - )); - $contact_type->setAttrib('required', 'required'); // Needed so we can style the first element when nothing selected - $contact_type->setRequired(true); - $contact_type->addErrorMessage(__('Champ obligatoire')); - $this->addElement($contact_type); - - $email = new CubeIT_Form_Element_Email('email'); - $email->setLabel(__('Email professionnel')); - $email->setRequired(true); - $email->addErrorMessage(__('E-mail invalide')); - $this->addElement($email); - - $phone = new Zend_Form_Element_Text('phone'); - $phone->setLabel(__('Téléphone')); - $this->addElement($phone); - - $comments = new Zend_Form_Element_Textarea('comments'); - $comments->setLabel(__('Commentaires sur votre projet')); - $this->addElement($comments); - - $tips = new CubeIT_Form_Element_Html('tips'); - $tips->setContent(''); // Just a placeholder for CMS content - $this->addElement($tips); - - $submit = new Zend_Form_Element_Button('submit'); - $submit->setLabel(__('Envoyer la demande')); - $submit->setAttrib('class', 'submit-button'); - $submit->setAttrib('type', 'submit'); - $this->addElement($submit); - - $this->setId('requestQuote') - ->setAjax() - ->setAction('/ajax/requestQuote'); - - } - - public function render(Zend_View_Interface $view = null) { - - $form = parent::render($view); - - // Inject tips HTML into form via placeholder - $tips = $this->getView()->markupDotclear($this->getView()->option('quote_form_tips'), [], ['class' => 'tips']); - return str_replace('', '
'. $tips .'
', $form); - } + public function init() { + parent::init(); + + $first_name = new Zend_Form_Element_Text('prenom'); + $first_name->setLabel(__('Prénom')); + $this->addElement($first_name); + + $last_name = new Zend_Form_Element_Text('nom'); + $last_name->setLabel(__('Nom')); + $last_name->setRequired(true); + $last_name->addErrorMessage(__('Veuillez indiquer votre nom')); + $this->addElement($last_name); + + $company = new Zend_Form_Element_Text('rs'); + $company->setLabel(__('Nom de la société')); + $company->setRequired(true); + $company->addErrorMessage(__('Veuillez indiquer le nom de votre société')); + $this->addElement($company); + + $contact_type = new Zend_Form_Element_Select('contact_type'); + $contact_type->setLabel(__('Vous êtes')); + $contact_type->setMultiOptions(array( + '' => '', + 'agency' => 'Une agence de communication', + 'freelancer' => 'Un créatif freelance', + 'company' => 'Une société', + 'other' => 'Autre', + )); + $contact_type->setAttrib('required', 'required'); // Needed so we can style the first element when nothing selected + $contact_type->setRequired(true); + $contact_type->addErrorMessage(__('Veuillez indiquer le type de votre société')); + $this->addElement($contact_type); + + $email = new CubeIT_Form_Element_Email('email'); + $email->setLabel(__('Email professionnel')); + $email->setRequired(true); + $email->addErrorMessage(__('Veuillez indiquer une adresse e-mail valide')); + $this->addElement($email); + + $phone = new Zend_Form_Element_Text('telephone'); + $phone->setLabel(__('Téléphone')); + $this->addElement($phone); + + $comments = new Zend_Form_Element_Textarea('detail'); + $comments->setLabel(__('Commentaires sur votre projet')); + $this->addElement($comments); + + $tips = new CubeIT_Form_Element_Html('tips'); + $tips->setContent(''); // Just a placeholder for CMS content + $this->addElement($tips); + + $pays = new Zend_Form_Element_Hidden('pays'); + $pays->setValue(CubeIT_Networking_GeoIP2::lookupCountryCode()); + $this->addElement($pays); + + $locale = new Zend_Form_Element_Hidden('lang'); + $locale->setValue(Bootstrap::getInstance()->getDefaultLocale()); + $this->addElement($locale); + + $submit = new Zend_Form_Element_Button('submit'); + $submit->setLabel(__('Envoyer la demande')); + $submit->setAttrib('class', 'submit-button'); + $submit->setAttrib('type', 'submit'); + $this->addElement($submit); + + $this->setId('requestQuote') + ->setAjax() + ->setAction('/ajax/requestQuote'); + + } + + public function render(Zend_View_Interface $view = null) { + + $form = parent::render($view); + + // Inject tips HTML into form via placeholder + $tips = $this->getView()->markupDotclear($this->getView()->option('quote_form_tips'), [], ['class' => 'tips']); + return str_replace('', '
' . $tips . '
', $form); + } } \ No newline at end of file diff --git a/less/102-intro.less b/less/102-intro.less index d6b31d8..8f430e0 100644 --- a/less/102-intro.less +++ b/less/102-intro.less @@ -1,6 +1,8 @@ @import "000-imports"; .intro { + color: #151e28; + .content-wrapper { background-size: 1680px auto; padding-top: 152px; // Minimum clearance and top for fixed menu -- 2.39.5