From dacc69ea5cc3a35faf05a95e8976cd9a1fdec621 Mon Sep 17 00:00:00 2001 From: NavaL Date: Fri, 22 Jan 2016 16:00:17 +0100 Subject: re-introduced logout functionality for multi-user Issue #576 --- service/pixelated/resources/features_resource.py | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'service/pixelated/resources/features_resource.py') diff --git a/service/pixelated/resources/features_resource.py b/service/pixelated/resources/features_resource.py index 958c1414..c8cad2d3 100644 --- a/service/pixelated/resources/features_resource.py +++ b/service/pixelated/resources/features_resource.py @@ -18,21 +18,31 @@ from pixelated.resources import respond_json import os from twisted.web.resource import Resource +from pixelated.resources.logout_resource import LogoutResource + class FeaturesResource(Resource): DISABLED_FEATURES = ['draftReply'] isLeaf = True - def render_GET(self, request): - dispatcher_features = {} - - if os.environ.get('DISPATCHER_LOGOUT_URL'): - dispatcher_features['logout'] = os.environ.get('DISPATCHER_LOGOUT_URL') + def __init__(self, multi_user=False): + Resource.__init__(self) + self._multi_user = multi_user + def render_GET(self, request): + dispatcher_features = self._dispatcher_features() disabled_features = self._disabled_features() return respond_json( {'disabled_features': disabled_features, 'dispatcher_features': dispatcher_features}, request) + def _dispatcher_features(self): + dispatcher_features = {} + if os.environ.get('DISPATCHER_LOGOUT_URL'): + dispatcher_features['logout'] = os.environ.get('DISPATCHER_LOGOUT_URL') + if self._multi_user: + dispatcher_features['logout'] = '/%s' % LogoutResource.BASE_URL + return dispatcher_features + def _disabled_features(self): disabled_features = [default_disabled_feature for default_disabled_feature in self.DISABLED_FEATURES] if os.environ.get('FEEDBACK_URL') is None: -- cgit v1.2.3