diff --git a/modules/installed/lib/user_store.py b/modules/installed/lib/user_store.py index 8a98f7a13..52863498a 100644 --- a/modules/installed/lib/user_store.py +++ b/modules/installed/lib/user_store.py @@ -19,7 +19,21 @@ class UserStore(UserStoreModule, sqlite_db): def close(self): self.__exit__(None,None,None) + def current(self, name=False): + """Return current user, if there is one, else None. + If name = True, return the username instead of the user.""" + try: + username = cherrypy.session.get(cfg.session_key) + if name: + return username + else: + return self.get(username) + except AttributeError: + return None + def expert(self, username=None): + if not username: + username = self.current(name=True) groups = self.attr(username,"groups") if not groups: return False