public function availabledeparturesadminAction() { // data $id = $this->_getParam('id'); $values = Model_Hm_Date::findAvailableDeparturesForAdmin($id)->execute(null, Doctrine_Core::HYDRATE_ARRAY); // view $this->_helper->layout()->disableLayout(); $this->view->json = Zend_Json::encode($values); }
/** * From a form to db * @param array $formValues * @param int $homeId */ public static function fromForm($formValues, $homeId) { foreach ($formValues as $key => $value) { $zendDate = new Zend_Date($key, 'YYYY_MM_dd'); $date = $zendDate->get('YYYY-MM-dd'); $q = Doctrine_Query::create()->from('Model_Hm_Date d')->where('d.date = ?', $date)->andWhere('d.hm_home_id = ?', $homeId)->fetchOne(); $departure = $value[$key . '_departure']; $arrival = $value[$key . '_arrival']; if ($q) { if (empty($arrival) && empty($departure)) { $q->delete(); } else { $q->departure = $departure; $q->arrival = $arrival; $q->save(); } } else { if (empty($arrival) && empty($departure)) { } else { $q = new Model_Hm_Date(); $q->hm_home_id = $homeId; $q->date = $date; $q->arrival = $arrival; $q->departure = $departure; $q->save(); } } } }