From 6d08cbc3dc8f14b723858ee11602aad73205a74a Mon Sep 17 00:00:00 2001 From: "Karl O. Pinc" Date: Fri, 11 Sep 2020 16:39:06 -0500 Subject: [PATCH] Display title from settings --- src/pgwui_logout/__init__.py | 12 ++++++++++++ src/pgwui_logout/templates/logout.mak | 2 +- src/pgwui_logout/views/logout.py | 7 +++++-- tests/views/test_logout.py | 5 +++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/src/pgwui_logout/__init__.py b/src/pgwui_logout/__init__.py index b97e730..ef06bd3 100644 --- a/src/pgwui_logout/__init__.py +++ b/src/pgwui_logout/__init__.py @@ -24,10 +24,22 @@ PGWUI_COMPONENT = 'pgwui_logout' DEFAULT_LOGOUT_ROUTE = '/logout' +DEFAULT_LOGOUT_MENU_LABEL = 'logout -- Logout from PGWUI programs' + + +def init_menu(config): + '''Add default menu information into settings when they are not present + ''' + settings = config.get_settings() + pgwui = settings.setdefault('pgwui', dict()) + pgwui.setdefault(PGWUI_COMPONENT, dict()) + pgwui[PGWUI_COMPONENT].setdefault( + 'menu_label', DEFAULT_LOGOUT_MENU_LABEL) def includeme(config): '''Pyramid configuration for PGWUI_Logout ''' + init_menu(config) config.add_route(PGWUI_COMPONENT, DEFAULT_LOGOUT_ROUTE) config.scan() diff --git a/src/pgwui_logout/templates/logout.mak b/src/pgwui_logout/templates/logout.mak index 40b8b6e..b4626a1 100644 --- a/src/pgwui_logout/templates/logout.mak +++ b/src/pgwui_logout/templates/logout.mak @@ -30,7 +30,7 @@ <%inherit file="${base_mak}" /> -<%block name="title">logout -- Logout from PGWUI programs +<%block name="title">${pgwui['pgwui_logout']['menu_label']} <%block name="meta_keywords"> diff --git a/src/pgwui_logout/views/logout.py b/src/pgwui_logout/views/logout.py index f732cdd..af8d297 100644 --- a/src/pgwui_logout/views/logout.py +++ b/src/pgwui_logout/views/logout.py @@ -32,10 +32,13 @@ from pyramid.view import view_config from pgwui_common import base_view -@view_config(route_name='logout', +@view_config(route_name='pgwui_logout', renderer='pgwui_logout:templates/logout.mak') @base_view def logout_view(request): '''Clear the session''' + settings = request.registry.settings + response = {'errors': [], + 'pgwui': {'pgwui_logout': settings['pgwui']['pgwui_logout']}} request.session.delete() - return {'errors': []} + return response diff --git a/tests/views/test_logout.py b/tests/views/test_logout.py index c0d5eb5..053a8fc 100644 --- a/tests/views/test_logout.py +++ b/tests/views/test_logout.py @@ -1,4 +1,4 @@ -# Copyright (C) 2018 The Meme Factory, Inc. http://www.meme.com/ +# Copyright (C) 2018, 2020 The Meme Factory, Inc. http://www.karlpinc.com/ # This file is part of PGWUI_Logout. # @@ -17,7 +17,7 @@ # . # -# Karl O. Pinc +# Karl O. Pinc from pyramid.testing import DummyRequest @@ -46,6 +46,7 @@ def test_logout_view(pyramid_config): session = MockSession() request = DummyRequest() request.session = session + request.registry.settings['pgwui'] = {'pgwui_logout': None} includeme(pyramid_config) result = logout.logout_view(request) del result['pgwui'] # Remove variables added by pgwui view decorators -- 2.34.1