public function editAction() { if ($this->isAjax()) { $data = $this->request->getPost(); if (empty($data)) { $this->pageError('param'); } $modelForm = new RoleForm('edit'); if ($result = $modelForm->validate($data)) { if ($modelForm->edit()) { $this->success('操作成功'); } else { $this->error('操作失败'); } } $this->error($result); } $rid = $this->dispatcher->getParams()[0]; if (empty($rid)) { $this->pageError('param'); } $role = Role::findById($rid); $form = new RoleForm('edit', $operator); $this->view->setVars(['page' => ['title' => '编辑角色'], 'formparams' => ['event' => 'edit', 'action' => \Func\url('/role/edit')], 'data' => $role]); $this->view->pick('role/add'); }
/** * 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 indexAction() { $form = new RoleForm(); $form->addAttributesForm($this->view->baseUrl . "/cadastre/role/save", "role_cadastre_form"); $form->createToolbar(true, true, true, false, false, false, false, false, false, false, false, false, true); $form->addElementsRole(); $form->addElementsPCR(); $form->addElementsRestrictionDepartment(); $form->addElementsForm(); $this->view->role = $form; }
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')); } }