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()
<%inherit file="${base_mak}" />
-<%block name="title">logout -- Logout from PGWUI programs</%block>
+<%block name="title">${pgwui['pgwui_logout']['menu_label']}</%block>
<%block name="meta_keywords">
<meta name="keywords" content="gombemi logout" />
</%block>
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
-# 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.
#
# <http://www.gnu.org/licenses/>.
#
-# Karl O. Pinc <kop@meme.com>
+# Karl O. Pinc <kop@karlpinc.com>
from pyramid.testing import DummyRequest
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