aboutsummaryrefslogtreecommitdiff
path: root/server/szurubooru/func/users.py
diff options
context:
space:
mode:
Diffstat (limited to 'server/szurubooru/func/users.py')
-rw-r--r--server/szurubooru/func/users.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/server/szurubooru/func/users.py b/server/szurubooru/func/users.py
index d0c5a49..0c9ffb1 100644
--- a/server/szurubooru/func/users.py
+++ b/server/szurubooru/func/users.py
@@ -13,7 +13,7 @@ class InvalidPasswordError(errors.ValidationError): pass
class InvalidRankError(errors.ValidationError): pass
class InvalidAvatarError(errors.ValidationError): pass
-def serialize_user(user, authenticated_user):
+def serialize_user(user, authenticated_user, force_show_email=False):
if not user:
return {}
@@ -23,7 +23,8 @@ def serialize_user(user, authenticated_user):
'rankName': config.config['rank_names'].get(user.rank, 'Unknown'),
'creationTime': user.creation_time,
'lastLoginTime': user.last_login_time,
- 'avatarStyle': user.avatar_style
+ 'avatarStyle': user.avatar_style,
+ 'email': user.email,
}
if user.avatar_style == user.AVATAR_GRAVATAR:
@@ -36,13 +37,15 @@ def serialize_user(user, authenticated_user):
ret['avatarUrl'] = '%s/avatars/%s.jpg' % (
config.config['data_url'].rstrip('/'), user.name.lower())
- if authenticated_user.user_id == user.user_id:
- ret['email'] = user.email
+ if authenticated_user.user_id != user.user_id \
+ and not force_show_email \
+ and not auth.has_privilege(authenticated_user, 'users:edit:any:email'):
+ del ret['email']
return ret
-def serialize_user_with_details(user, authenticated_user):
- return {'user': serialize_user(user, authenticated_user)}
+def serialize_user_with_details(user, authenticated_user, **kwargs):
+ return {'user': serialize_user(user, authenticated_user, **kwargs)}
def get_user_count():
return db.session.query(db.User).count()

© 2015 - 2026 Jakob L. Kreuze