/** * Saves new or update role. Echoes error/success message */ public function executeSave(sfWebRequest $request) { if (!$this->getUser()->hasCredential(array('Administrator'), false)) { $this->getUser()->setFlash("warning", 'You don\'t have permission to access this url ' . $request->getReferer()); $this->redirect('dashboard/index'); } $id = $request->getParameter('id'); if ($id) { $role = RolePeer::retrieveByPK($id); if (!$role instanceof Role) { return $this->renderText('<span style="color:red;">Role not found or is removed!</span>'); } $form = new RoleForm($role); } else { $form = new RoleForm(); } unset($form['_csrf_token']); $form->bind($request->getPostParameters()); if ($form->isValid()) { $form->save(); return $this->renderText('Role has been successfully saved!'); } else { # FIXME display other field errors echo 'e1'; # has error echo '<span style="color:red;">' . $form['title']->getError()->getMessage() . '</span>'; } return sfView::NONE; }
public function executeCreate(sfWebRequest $request) { $this->forward404Unless($request->isXmlHttpRequest()); $this->forward404Unless($request->isMethod(sfRequest::POST) || $request->isMethod(sfRequest::PUT)); $role = new Role(); $role->decision_id = $request->getParameter('decision_id'); $form = new RoleForm($role); $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $form->save(); // Create log $log = new Log(); $log->injectDataAndPersist($role, $this->getUser()->getGuardUser(), array('action' => 'new')); $matrix = json_decode($request->getParameter('matrix'), true); $role = $this->plannedMeasurementSaveNew($role, $matrix); $role->refresh(true); return $this->renderText(json_encode($role->getRowData())); } else { return $this->renderPartial('form', array('form' => $form, 'type' => 'new')); } }