class AjaxController extends CubeIT_Controller_AjaxController {
- public function requestQuote() {
+ public function requestQuote($formID = null) {
$form = new Fluidbook_Form_RequestQuote();
+ // Take form ID from URL so we can differentiate between the popup and the embedded versions of the form
+ if ($formID) {
+ $form->setId($formID);
+ $form->setAction($form->getAction() .'/'. $formID);
+ } else {
+ $formID = $form->getId();
+ }
+
if ($form->isValid($_POST)) {
$url = 'https://workshop.fluidbook.com/ajax/demandeDevis?devis_form=' . base64_encode(serialize($_POST));
$xml = simplexml_load_file($url);
$okmessage=(string)$okmessage->content;
}
- $this->_datas->addReplace('#requestQuote', '<div id="confirmationQuote">' . $okmessage . '</div>');
+ $this->_datas->addReplace('#'. $formID, '<div id="confirmationQuote">' . $okmessage . '</div>');
} else {
$this->_datas->refreshForm($form); // Respond with validation errors
$this->_datas->addAction('eval', 'displayErrors()');
class AjaxpopupController extends CubeIT_Controller_AjaxpopupController {
+ public function quoteForm() {
+ $this->setPopupMaxWidth('1440');
+ $this->setPopupPadding('20');
+ return $this->view->quoteForm('requestQuotePopup'); // Different ID for popup form so it doesn't conflict with contact page form
+ }
}
*/\r
public function headerContactNav() {\r
\r
+ $this->headScript()->addScriptAndStyle('315-quote'); // Needed for styling and handling the AJAX quote form\r
+\r
$res = array();\r
\r
$res[] = $this->linkInternal(null, 'internal:agences',array('class'=>'agencies'));\r
* @return string\r
*/\r
public function linkQuote($label) {\r
- return $this->linkInternal($label, 'internal:contact', array('class' => 'quoteLink'));\r
+ return $this->linkPopup($label, '/ajaxpopup/quoteForm', array('class' => 'quoteLink'));\r
}\r
}
\ No newline at end of file
class Fluidbook_View_Helper_QuoteForm extends CubeIT_View_Helper_Abstract {
- public function quoteForm() {
+ public function quoteForm($formID = null) {
$this->headScript()->addScriptAndStyle('315-quote');
+ $form = new Fluidbook_Form_RequestQuote();
+
+ if ($formID) {
+ $form->setId($formID);
+ $form->setAction($form->getAction() .'/'. $formID);
+ }
+
$res = '<div class="request-quote content-wrapper grid">';
$res .= '<div class="text col-2">';
$res .= '<h1 class="title">'. nl2br($this->option('quote_heading')) .'</h1>';
$res .= $this->markupDotclear($this->option('quote_description'));
$res .= '</div>'; // .text
$res .= '<div class="form col-4">';
- $form = new Fluidbook_Form_RequestQuote();
$res .= $form;
$res .= '<div class="validation-messages"></div>';
$res .= '</div>'; // .form