diff --git a/src/appier_extras/parts/admin/models/account.py b/src/appier_extras/parts/admin/models/account.py index 98abdb77..f4c64a0a 100644 --- a/src/appier_extras/parts/admin/models/account.py +++ b/src/appier_extras/parts/admin/models/account.py @@ -54,6 +54,15 @@ class Account(base.Base): USER_TYPE : "user" } + PREFIXES = ( + "fb.", + "tw.", + "gg.", + "gh.", + "live.", + "params." + ) + username = appier.field( index = True, default = True @@ -309,7 +318,8 @@ def is_encrypted(cls, password): return password.count(":") > 0 @classmethod - def _unset_session(cls): + def _unset_session(cls, prefixes = None): + prefixes = prefixes or cls.PREFIXES session = appier.get_session() if "username" in session: del session["username"] if "name" in session: del session["name"] @@ -317,13 +327,12 @@ def _unset_session(cls): if "type" in session: del session["type"] if "tokens" in session: del session["tokens"] if "params" in session: del session["params"] - if "fb.access_token" in session: del session["fb.access_token"] - if "tw.oauth_token" in session: del session["tw.oauth_token"] - if "tw.oauth_token_secret" in session: del session["tw.oauth_token_secret"] - if "tw.oauth_temporary" in session: del session["tw.oauth_temporary"] - if "gg.access_token" in session: del session["gg.access_token"] - if "gh.access_token" in session: del session["gh.access_token"] - if "live.access_token" in session: del session["live.access_token"] + for key in appier.legacy.keys(session): + for prefix in prefixes: + removable = key.startswith(prefix) + if removable: break + if not removable: continue + del session[key] def pre_save(self): base.Base.pre_save(self) diff --git a/src/appier_extras/parts/admin/part.py b/src/appier_extras/parts/admin/part.py index 3d3f3529..56e27b7e 100644 --- a/src/appier_extras/parts/admin/part.py +++ b/src/appier_extras/parts/admin/part.py @@ -387,7 +387,7 @@ def show_session(self, sid): return self.template( "session.html.tpl", section = "status", - session = self.request.session_c.get_s(sid) + session_s = self.request.session_c.get_s(sid) ) @appier.ensure(token = "admin") diff --git a/src/appier_extras/parts/admin/templates/fluid/session.html.tpl b/src/appier_extras/parts/admin/templates/fluid/session.html.tpl index daec348f..c6ea905f 100644 --- a/src/appier_extras/parts/admin/templates/fluid/session.html.tpl +++ b/src/appier_extras/parts/admin/templates/fluid/session.html.tpl @@ -1,6 +1,6 @@ {% extends "admin/admin.fluid.html.tpl" %} -{% block title %}{{ session.sid }}{% endblock %} -{% block name %}{{ session.sid }}{% endblock %} +{% block title %}{{ session_s.sid }}{% endblock %} +{% block name %}{{ session_s.sid }}{% endblock %} {% block style %}no-padding{% endblock %} {% block content %} @@ -11,8 +11,8 @@ - {% for key in session.sorted() %} - {% set value = session[key] %} + {% for key in session_s.sorted() %} + {% set value = session_s[key] %}
{{ key }} diff --git a/src/appier_extras/parts/admin/templates/fluid/sessions.html.tpl b/src/appier_extras/parts/admin/templates/fluid/sessions.html.tpl index 38888f09..63e8e204 100644 --- a/src/appier_extras/parts/admin/templates/fluid/sessions.html.tpl +++ b/src/appier_extras/parts/admin/templates/fluid/sessions.html.tpl @@ -18,7 +18,7 @@
- {{ session.sid }} + {{ session.sid }} {{ date_time(session.create, format = "%d %b %Y %H:%M:%S") }}