/** * Add a user with data initialized from an existing author. * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function addUser($args, $request) { // Identify the author Id. $authorId = $request->getUserVar('authorId'); $authorDao = DAORegistry::getDAO('AuthorDAO'); $userDao = DAORegistry::getDAO('UserDAO'); $author = $authorDao->getById($authorId); if ($author !== null && $userDao->userExistsByEmail($author->getEmail())) { // We don't have administrative rights over this user. return new JSONMessage(false, __('grid.user.cannotAdminister')); } else { // Form handling. import('lib.pkp.controllers.grid.settings.user.form.UserDetailsForm'); $userForm = new UserDetailsForm($request, null, $author); $userForm->initData($args, $request); return new JSONMessage(true, $userForm->display($args, $request)); } }
/** * Edit an existing user. * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function editUser($args, $request) { // Identify the user Id. $userId = $request->getUserVar('rowId'); if (!$userId) { $userId = $request->getUserVar('userId'); } $user = $request->getUser(); if ($userId !== null && !Validation::canAdminister($userId, $user->getId())) { // We don't have administrative rights over this user. $json = new JSONMessage(false, __('grid.user.cannotAdminister')); } else { // Form handling. $userForm = new UserDetailsForm($request, $userId); $userForm->initData($args, $request); $json = new JSONMessage(true, $userForm->display($args, $request)); } return $json->getString(); }