/** * CODE: passenger_delete */ public function executeDelete(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator', 'Staff'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } if ($request->isMethod('delete')) { $request->checkCSRFProtection(); $passenger = PassengerPeer::retrieveByPk($request->getParameter('id')); $this->forward404Unless($passenger, sprintf('Object passenger does not exist (%s).', $request->getParameter('id'))); //FK Constraint check if ($passenger->countCampPassengers() > 0 or $passenger->countCompanions() > 0 or $passenger->countMissions() > 0) { $this->getUser()->setFlash('warning', 'Member information is used by other objects.In order to delete, please delete related information before!'); return $this->redirect('passenger/index'); } $passenger->delete(); $this->getUser()->setFlash('success', 'Passenger info has successfully deleted!'); if ($request->getReferer()) { $back = $request->getReferer(); } else { $back = 'passenger/index'; } } $this->redirect($back); }
/** * Save Edit Mission's Need Release or not * CODE: */ public function executeEditNeedMedicalRelease(sfWebRequest $request) { if ($this->getRequest()->getMethod() == sfRequest::POST) { $this->passenger = PassengerPeer::retrieveByPk($this->getRequestParameter('id')); if (isset($this->passenger) && $this->passenger instanceof Passenger) { if (trim($this->getRequestParameter('value'))) { if (strtolower($this->getRequestParameter('value')) == 'yes') { $this->passenger->setNeedMedicalRelease(1); } elseif (strtolower($this->getRequestParameter('value')) == 'no') { $this->passenger->setNeedMedicalRelease(0); $this->passenger->setMedicalReleaseReceived(null); } else { $str = <<<XYZ <script type="text/javascript"> alert('Please type no to set it unactive!'); window.location.reload(); </script> XYZ; return $this->renderText($str); } $this->passenger->save(); $str = <<<XYZ <script type="text/javascript"> window.location.reload(); </script> XYZ; return $this->renderText($str); } } } }