コード例 #1
0
 /**
  * Edit role.
  *
  * @param int $id Role identity.
  *
  * @return mixed
  *
  * @Route("/roles-edit/{id:[0-9]+}", methods={"GET", "POST"}, name="admin-roles-edit")
  */
 public function rolesEditAction($id)
 {
     $item = Role::findFirst($id);
     if (!$item) {
         return $this->response->redirect(['for' => 'admin-users-roles']);
     }
     $form = new RoleEditForm($item);
     $this->view->form = $form;
     if (!$this->request->isPost() || !$form->isValid()) {
         return;
     }
     $item = $form->getEntity();
     if ($item->is_default) {
         $this->db->update(Role::getTableName(), ['is_default'], [0], "id != {$item->id}");
     }
     $this->flashSession->success('Object saved!');
     return $this->response->redirect(['for' => 'admin-users-roles']);
 }