public function init() { parent::init(); /** * Arrival date */ $element = new Zend_Form_Element_Select('hm_date_arrival_id'); $element->setLabel('Van')->addMultiOption(null, '...')->setRequired(true); $availableDates = new Model_Hm_AvailableDates($this->getHomeId()); $arrivalDates = $availableDates->getArrivalDates()->execute(); foreach ($arrivalDates as $date) { $element->addMultiOption($date->id, $date->zend_date); } $this->addElement($element); /** * Departure date */ $element = new Zend_Form_Element_Select('hm_date_departure_id'); $element->setLabel('Tot')->addMultiOption(null, '...')->setRegisterInArrayValidator(false)->setRequired(true); $this->addElement($element); /** * Submit */ $element = new Zend_Form_Element_Submit('submit_block'); $element->setLabel('Verwerken')->setAttrib('class', 'submit'); $this->addElement($element); /** * Display groups */ $this->addDisplayGroup(array('hm_date_arrival_id', 'hm_date_departure_id'), 'dates', array('legend' => 'Blokkerings data')); $this->addDisplayGroup(array('submit_block'), 'submit', array('class' => 'submit')); /** * Decorators */ $this->bhvkDecorators(); $this->bhvkDecorateSubmitElement($this->getElement('submit_block')); }
public function init() { parent::init(); /** * * General * */ $element = new Zend_Form_Element_Select('hm_home_id'); $element->setLabel('Vakantiewoning')->setRequired(true)->addMultiOption('', '...'); $homes = Model_Hm_Home::findAllForSelect()->execute(null, Doctrine_Core::HYDRATE_ARRAY); foreach ($homes as $home) { $element->addMultiOption($home['id'], $home['name']); } $this->addElement($element); $element = new Zend_Form_Element_Select('user_id'); $element->setLabel('Gebruiker')->setRequired(true)->addMultiOption('', '...'); $users = Model_User::findAllForAdmin()->execute(null, Doctrine_Core::HYDRATE_ARRAY); foreach ($users as $user) { $element->addMultiOption($user['id'], $user['surname'] . ', ' . $user['initials'] . ' ' . $user['insertion']); } $this->addElement($element); $element = new Zend_Form_Element_Select('hm_date_arrival_id'); $element->setLabel('Aankomst datum')->setRequired(true)->addMultiOption('', '...'); $availabelDates = new Model_Hm_AvailableDates($this->getHomeId()); $arrivalDates = $availabelDates->getArrivalDates()->execute(null, Doctrine_Core::HYDRATE_ARRAY); foreach ($arrivalDates as $date) { $element->addMultiOption($date['id'], $date['zend_date']); } $this->addElement($element); $element = new Zend_Form_Element_Select('hm_date_departure_id'); $element->setLabel('Vertrek datum')->setRequired(true)->setRegisterInArrayValidator(false)->addMultiOption('', '...'); $this->addElement($element); $this->addDisplayGroup(array('hm_home_id', 'user_id', 'hm_date_arrival_id', 'hm_date_departure_id'), 'general', array('legend' => 'Algemeen', 'order' => 1)); /** * * Payments * */ $element = new Zend_Form_Element_Checkbox('payment_first_part'); $element->setLabel('Aanbetaling voldaan')->setDecorators($this->_elementDecorators); $this->addElement($element); $element = new Zend_Form_Element_Text('payment_first_part_at'); $element->setLabel('Aanbetaling op datum')->setAttrib('class', 'datepicker'); $this->addElement($element); $element = new Zend_Form_Element_Checkbox('payment_last_part'); $element->setLabel('Resterend bedrag voldaan'); $this->addElement($element); $element = new Zend_Form_Element_Text('payment_last_part_at'); $element->setLabel('Resterend bedrag op datum')->setAttrib('class', 'datepicker'); $this->addElement($element); $element = new Zend_Form_Element_Checkbox('payment_guarentee'); $element->setLabel('Borg teruggestort'); $this->addElement($element); $element = new Zend_Form_Element_Text('payment_guarentee_at'); $element->setLabel('Borg teruggestort op datum')->setAttrib('class', 'datepicker'); $this->addElement($element); $this->addDisplayGroup(array('payment_first_part', 'payment_first_part_at', 'payment_last_part', 'payment_last_part_at', 'payment_guarentee', 'payment_guarentee_at'), 'payment_first', array('legend' => 'Betalingen', 'order' => 5)); /** * Optional charges */ $optionalCharges = Model_Hm_Charge_Optional_Home::findAllForReservationForm($this->getHomeId())->execute(); if (count($optionalCharges)) { $optionalChargesElements = array(); foreach ($optionalCharges as $charge) { $element = new Zend_Form_Element_Select($charge->id); $element->setLabel($charge->Charge->translationHandler()->display_title . ' (stukprijs: ' . $charge->zend_price . ')')->setDescription($charge->Charge->translationHandler()->description)->addMultiOption('', '...'); for ($i = 1; $i <= 15; $i++) { $element->addMultiOption($i, $i . ' x ' . $charge->zend_price); } $optionalChargesElements[] = $charge->id; $this->addElement($element); } $this->addDisplayGroup($optionalChargesElements, 'optional', array('legend' => 'Optionele kosten', 'class' => 'width100', 'order' => 3)); } /** * * Persons * */ $homeInfo = $this->getHomeInfo()->fetchOne(); $persons = new Reservation_Form_Reservation_Persons(array('amount' => $homeInfo->persons, 'class' => 'persons')); $this->addSubForm($persons, 'Persons', 4); /** * * submit * */ $element = new Zend_Form_Element_Submit('submit_reservation'); $element->setLabel('Verwerken')->setAttrib('class', 'submit'); $this->addElement($element); $this->addDisplayGroup(array('submit_reservation'), 'submit', array('class' => 'submit', 'order' => 6)); /** * * Decorators * */ $this->bhvkDecorators(); $this->bhvkDecorateSubmitElement($this->getElement('submit_reservation')); $el = $this->getElement('payment_first_part'); $el->setDecorators($this->_checkboxDecorator); $el = $this->getElement('payment_last_part'); $el->setDecorators($this->_checkboxDecorator); $el = $this->getElement('payment_guarentee'); $el->setDecorators($this->_checkboxDecorator); }