fix setting and retrieving role of user

This commit is contained in:
Uwe Steinmann 2020-03-24 09:30:26 +01:00
parent 36b5fec504
commit 48ee318921

View File

@ -132,7 +132,8 @@ function __getUserData($u) { /* {{{ */
'email'=>$u->getEmail(),
'language' => $u->getLanguage(),
'theme' => $u->getTheme(),
'role' => $u->getRole() == SeedDMS_Core_User::role_admin ? 'admin' : ($u->getRole() == SeedDMS_Core_User::role_guest ? 'guest' : 'user'),
// 'role' => $u->getRole() == SeedDMS_Core_User::role_admin ? 'admin' : ($u->getRole() == SeedDMS_Core_User::role_guest ? 'guest' : 'user'),
'role' => array('id'=>$u->getRole()->getId(), 'name'=>$u->getRole()->getName()),
'hidden'=>$u->isHidden() ? true : false,
'disabled'=>$u->isDisabled() ? true : false,
'isguest' => $u->isGuest() ? true : false,
@ -1459,10 +1460,12 @@ function createUser($request, $response) { /* {{{ */
$language = isset($params['language']) ? $params['language'] : null;;
$theme = isset($params['theme']) ? $params['theme'] : null;
$comment = isset($params['comment']) ? $params['comment'] : null;
$role = isset($params['role']) ? $params['role'] : null;
$roleid = $role == 'admin' ? SeedDMS_Core_User::role_admin : ($role == 'guest' ? SeedDMS_Core_User::role_guest : SeedDMS_Core_User::role_user);
if(isset($params['role']) && $params['role'])
$role = SeedDMS_Core_Role::getInstance($params['role'], $dms, ctype_digit($params['role']) ? '' : 'name');
else
$role = SeedDMS_Core_Role::getInstance('user', $dms, 'name');
$newAccount = $dms->addUser($userName, $password, $fullname, $email, $language, $theme, $comment, $roleid);
$newAccount = $dms->addUser($userName, $password, $fullname, $email, $language, $theme, $comment, $role);
if ($newAccount === false) {
return $response->withJson(array('success'=>false, 'message'=>'Account could not be created, maybe it already exists', 'data'=>''), 500);
}