/** * 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']); }