Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 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'));
     }
 }