diff options
| author | ReAnzu | 2018-02-23 22:05:58 -0600 |
|---|---|---|
| committer | rr- | 2018-03-07 21:30:24 +0100 |
| commit | 4b3529272ea238cb35f8f6f12c299e24ce0a88f9 (patch) | |
| tree | 24a6d8aa062211e326f38d60afea1156fe3becc3 /server/szurubooru/api | |
| parent | a1fbeb91a0984f5daf477a8813dc03979d4ae136 (diff) | |
server/users: let administrators add new users
* Added functionality for administrators to directly add users to the
application
* Added permission users:create:any to handle level that users are
allowed to create other users
* Moved old permission users:create to users:create:self
Diffstat (limited to 'server/szurubooru/api')
| -rw-r--r-- | server/szurubooru/api/user_api.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/server/szurubooru/api/user_api.py b/server/szurubooru/api/user_api.py index e456f22..5e14fab 100644 --- a/server/szurubooru/api/user_api.py +++ b/server/szurubooru/api/user_api.py @@ -26,7 +26,11 @@ def get_users( @rest.routes.post('/users/?') def create_user( ctx: rest.Context, _params: Dict[str, str] = {}) -> rest.Response: - auth.verify_privilege(ctx.user, 'users:create') + if ctx.user.user_id is None: + auth.verify_privilege(ctx.user, 'users:create:self') + else: + auth.verify_privilege(ctx.user, 'users:create:any') + name = ctx.get_param_as_string('name') password = ctx.get_param_as_string('password') email = ctx.get_param_as_string('email', default='') @@ -40,6 +44,7 @@ def create_user( ctx.get_file('avatar', default=b'')) ctx.session.add(user) ctx.session.commit() + return _serialize(ctx, user, force_show_email=True) |