smarty->assign(array( 'module_config_url' => $this->module_config_url, )); return $this->sibling->display($this->sibling->module_file, 'views/templates/admin/config/blockeddates.tpl'); } /** * render list of blocked dates * @return mixed */ public function renderList() { $id_carrier = (int)Tools::getValue('id_carrier'); $id_shop = Context::getContext()->shop->id; $ddw_blockeddate = new DDWBlockedDate(); $ddw_blockeddate_collection = $ddw_blockeddate->getCollection($id_carrier, $id_shop); Context::getContext()->smarty->assign(array( 'blockeddates' => $ddw_blockeddate_collection )); return $this->sibling->display($this->sibling->module_file, 'views/templates/admin/config/blockeddates_list.tpl'); } public function renderForm() { $id_blockeddate = (int)Tools::getValue('id_blockeddate'); $id_carrier = (int)Tools::getValue('id_carrier'); $id_shop = (int)Tools::getValue('id_shop'); $cutofftime = ''; if ($id_blockeddate > 0) { $blockeddate_model = new DDWBlockedDate($id_blockeddate); } else { $blockeddate_model = new DDWBlockedDate(); } if ($blockeddate_model->start_date == '0000-00-00') { $blockeddate_model->start_date = ''; } if ($blockeddate_model->end_date == '0000-00-00') { $blockeddate_model->end_date = ''; } $fields_form = array(); $fields_form[0]['form'] = array( 'input' => array( array( 'type' => 'hidden', 'name' => 'id_ddw' ), array( 'type' => 'hidden', 'name' => 'id_carrier' ), array( 'type' => 'hidden', 'name' => 'id_shop' ), array( 'type' => 'hidden', 'name' => 'id' ), array( 'type' => 'html', 'label' => $this->sibling->l('Start Date', $this->route), 'name' => 'start_date', 'desc' => $this->sibling->l('Choose the date the holiday starts on', $this->route), 'html_content' => $this->renderDateField('start_date', $blockeddate_model->start_date) ), array( 'type' => 'html', 'label' => $this->sibling->l('End Date', $this->route), 'name' => 'end_date', 'desc' => $this->sibling->l('Choose the date the holidays ends on', $this->route), 'html_content' => $this->renderDateField('end_date', $blockeddate_model->end_date) ), array( 'type' => 'switch', 'label' => $this->sibling->l('Recurring?', $this->route), 'name' => 'recurring', 'desc' => $this->sibling->l('Select if this holiday recurs every year', $this->route), 'values' => array( array( 'id' => 'recurring_on', 'value' => 1, 'label' => $this->trans('Yes', array(), 'Admin.Global'), ), array( 'id' => 'recurring_off', 'value' => 0, 'label' => $this->trans('No', array(), 'Admin.Global'), ), ), ) ), 'submit' => array( 'title' => $this->sibling->l('Save', $this->route), 'class' => 'btn btn-ddw-date-save pull-right' ) ); $helper = new HelperForm(); $this->setupHelperConfigForm($helper, $this->route, 'process'); $helper->fields_value['id'] = $id_blockeddate; $helper->fields_value['id_carrier'] = $id_carrier; $helper->fields_value['id_shop'] = $id_shop; if ((int)$blockeddate_model->id > 0) { $helper->fields_value['recurring'] = $blockeddate_model->recurring; } Context::getContext()->smarty->assign(array( 'form' => $helper->generateForm($fields_form) )); return $this->sibling->display($this->sibling->module_file, 'views/templates/admin/config/blockeddates_add.tpl'); } /** * process the form * @return string */ public function processForm() { $id_blockeddate = (int)Tools::getValue('id'); if ($id_blockeddate == 0) { $ddw_blockeddate = new DDWBlockedDate(); } else { $ddw_blockeddate = new DDWBlockedDate($id_blockeddate); } $ddw_blockeddate->id_carrier = (int)Tools::getValue('id_carrier'); $ddw_blockeddate->id_shop = (int)Context::getContext()->shop->id; $ddw_blockeddate->recurring = (int)Tools::getValue('recurring'); $ddw_blockeddate->start_date = pSQL(Tools::getValue('start_date')); $ddw_blockeddate->end_date = pSQL(Tools::getValue('end_date')); $ddw_blockeddate->save(); $return = array( 'id' => (int)$ddw_blockeddate->id ); return json_encode($return); } /** * delete a blocked date * @return string */ public function processDelete() { $ddw_blockeddate = new DDWBlockedDate((int)Tools::getValue('id')); $ddw_blockeddate->delete(); return Tools::jsonEncode(array()); } public function route() { switch (Tools::getValue('action')) { case 'render': die($this->render()); break; case 'renderlist': die($this->renderList()); break; case 'renderform': die($this->renderform()); break; case 'processform': die($this->processForm()); break; case 'processdelete': die($this->processDelete()); break; } } }