/** * Inserts or updates away model. * * @param AwayModel $away */ public function save(AwayModel $away) { $fields = array('user_id' => $away->getUserId(), 'reason' => $away->getReason(), 'start' => $away->getStart(), 'end' => $away->getEnd(), 'text' => $away->getText()); if ($away->getId()) { $this->db()->update('away')->values($fields)->where(array('id' => $away->getId()))->execute(); } else { $this->db()->insert('away')->values($fields)->execute(); } }
public function indexAction() { $awayModel = new AwayModel(); $awayMapper = new AwayMapper(); $this->getLayout()->getHmenu()->add($this->getTranslator()->trans('menuAway'), array('action' => 'index')); if ($this->getRequest()->getPost('saveAway')) { $reason = trim($this->getRequest()->getPost('reason')); $start = new \Ilch\Date(trim($this->getRequest()->getPost('start'))); $end = new \Ilch\Date(trim($this->getRequest()->getPost('end'))); $text = trim($this->getRequest()->getPost('text')); if (empty($reason)) { $this->addMessage('missingReason', 'danger'); } elseif (empty($start)) { $this->addMessage('missingStart', 'danger'); } elseif (empty($end)) { $this->addMessage('missingEnd', 'danger'); } elseif (empty($text)) { $this->addMessage('missingText', 'danger'); } else { $awayModel->setUserId($this->getUser()->getId()); $awayModel->setReason($reason); $awayModel->setStart($start); $awayModel->setEnd($end); $awayModel->setText($text); $awayMapper->save($awayModel); $this->addMessage('saveSuccess'); } } $this->getView()->set('aways', $awayMapper->getAway()); }