public function userAction() { $this->userService->checkRightGate('USER_ADMIN'); $form = $this->getForm('userEditForm', dirname(__FILE__) . '/userAdminForm.xml'); $form->addDataProvider('listRoles', $this->userService->listRoles()); if ($form->isSubmit()) { if ($form->isValid()) { $user = $form->getContainer('user'); $this->userService->saveUserWithRoles($user); $this->forward('user', 'admin', 'list'); return; } } else { $id = $this->getParam('id', 0); if ($id == '') { throw new \org\equinox\exception\ParameterInvalidException("No (id) provided then editing a user !!!"); } $user = $this->userService->getUserWithRoles($id); if ($user == null) { throw new \org\equinox\exception\ParameterInvalidException("No user found for id ({$id})"); } $form->setContainer('user', $user); } $this->storeForm($form); $this->assign('form', $form); }