/** * Add or create agency * CODE: agency_create */ public function executeUpdate(sfWebRequest $request) { #security if (!$this->getUser()->hasCredential(array('Administrator', 'Staff', 'Coordinator', 'Volunteer'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } sfContext::getInstance()->getConfiguration()->loadHelpers('Partial'); $this->requesters = null; if ($request->getParameter('id')) { $agency_id = $request->getParameter('id'); $agency = AgencyPeer::retrieveByPK($agency_id); $this->title = 'Edit Agency'; $this->requesters = RequesterPeer::getByAgency($agency_id); slot('nav_menu', array('mission_coord', '')); } else { $agency = new Agency(); $this->title = 'Add Agency'; slot('nav_menu', array('mission_coord', 'add-agency')); } $this->form = new AgencyForm($agency); $this->back = $request->getReferer(); if ($request->isMethod('post')) { $this->referer = $request->getReferer(); $this->processForm($request, $this->form); } else { # Set referer URL $this->referer = $request->getReferer() ? $request->getReferer() : '@agency'; } $this->agency = $agency; }