Moved user_to_dict()
function out of pillar.web.jinja module
This commit is contained in:
@@ -163,6 +163,20 @@ class UserClass(flask_login.UserMixin):
|
|||||||
|
|
||||||
return bool(self._has_organizations)
|
return bool(self._has_organizations)
|
||||||
|
|
||||||
|
def frontend_info(self) -> dict:
|
||||||
|
"""Return a dictionary of user info for injecting into the page."""
|
||||||
|
|
||||||
|
return {
|
||||||
|
'user_id': str(self.user_id),
|
||||||
|
'username': self.username,
|
||||||
|
'full_name': self.full_name,
|
||||||
|
'gravatar': self.gravatar,
|
||||||
|
'email': self.email,
|
||||||
|
'capabilities': list(self.capabilities),
|
||||||
|
'badges_html': self.badges_html,
|
||||||
|
'is_authenticated': self.is_authenticated,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class AnonymousUser(flask_login.AnonymousUserMixin, UserClass):
|
class AnonymousUser(flask_login.AnonymousUserMixin, UserClass):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
@@ -1,7 +1,6 @@
|
|||||||
"""Our custom Jinja filters and other template stuff."""
|
"""Our custom Jinja filters and other template stuff."""
|
||||||
|
|
||||||
import functools
|
import functools
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
import typing
|
import typing
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
@@ -212,29 +211,16 @@ def do_yesno(value, arg=None):
|
|||||||
return no
|
return no
|
||||||
|
|
||||||
|
|
||||||
def user_to_dict(user: auth.UserClass) -> dict:
|
def do_json(some_object: typing.Any) -> str:
|
||||||
return dict(
|
|
||||||
user_id=str(user.user_id),
|
|
||||||
username=user.username,
|
|
||||||
full_name=user.full_name,
|
|
||||||
gravatar=user.gravatar,
|
|
||||||
email=user.email,
|
|
||||||
capabilities=list(user.capabilities),
|
|
||||||
badges_html=user.badges_html,
|
|
||||||
is_authenticated=user.is_authenticated
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def do_json(some_object) -> str:
|
|
||||||
import pillar.auth
|
import pillar.auth
|
||||||
|
|
||||||
if isinstance(some_object, LocalProxy):
|
if isinstance(some_object, LocalProxy):
|
||||||
return do_json(some_object._get_current_object())
|
return do_json(some_object._get_current_object())
|
||||||
if isinstance(some_object, pillarsdk.Resource):
|
if isinstance(some_object, pillarsdk.Resource):
|
||||||
some_object = some_object.to_dict()
|
some_object = some_object.to_dict()
|
||||||
if isinstance(some_object, auth.UserClass):
|
if isinstance(some_object, pillar.auth.UserClass):
|
||||||
some_object = user_to_dict(some_object)
|
some_object = some_object.frontend_info()
|
||||||
return json.dumps(some_object)
|
return pillar.api.utils.dumps(some_object)
|
||||||
|
|
||||||
|
|
||||||
def setup_jinja_env(jinja_env, app_config: dict):
|
def setup_jinja_env(jinja_env, app_config: dict):
|
||||||
|
Reference in New Issue
Block a user