diff --git a/restapi/index.php b/restapi/index.php index 51d57a90c..63e938700 100644 --- a/restapi/index.php +++ b/restapi/index.php @@ -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); }