From 918a24a2d5c936611a1e8925232d89620e61b047 Mon Sep 17 00:00:00 2001 From: davidc <david-ccc@infotrek.co.uk> Date: Thu, 24 Mar 2022 15:35:51 +0000 Subject: [PATCH] Config option DEFAULT_PAGE_SERVICES to allow 'services' to be the default page --- uffd/__init__.py | 8 +++++++- uffd/default_config.cfg | 4 ++++ uffd/service/templates/service/overview.html | 13 ++++++++++++- uffd/signup/views.py | 4 ++-- uffd/templates/base.html | 11 +++++++++-- uffd/translations/de/LC_MESSAGES/messages.mo | Bin 34988 -> 33273 bytes uffd/translations/de/LC_MESSAGES/messages.po | 2 +- 7 files changed, 35 insertions(+), 7 deletions(-) diff --git a/uffd/__init__.py b/uffd/__init__.py index 8831fbdb..f9a0df33 100644 --- a/uffd/__init__.py +++ b/uffd/__init__.py @@ -68,7 +68,11 @@ def create_app(test_config=None): # pylint: disable=too-many-locals,too-many-sta register_template_helper(app) # Sort the navbar positions by their blueprint names (from the left) - positions = ["selfservice", "service", "rolemod", "invite", "user", "group", "role", "mail"] + if app.config['DEFAULT_PAGE_SERVICES']: + positions = ["service", "selfservice"] + else: + positions = ["selfservice", "service"] + positions += ["rolemod", "invite", "user", "group", "role", "mail"] setup_navbar(app, positions) # We never want to fail here, but at a file access that doesn't work. @@ -100,6 +104,8 @@ def create_app(test_config=None): # pylint: disable=too-many-locals,too-many-sta @app.route("/") def index(): #pylint: disable=unused-variable + if app.config['DEFAULT_PAGE_SERVICES']: + return redirect(url_for('service.overview')) return redirect(url_for('selfservice.index')) @app.route('/lang', methods=['POST']) diff --git a/uffd/default_config.cfg b/uffd/default_config.cfg index 6ce182f9..14e1cdf3 100644 --- a/uffd/default_config.cfg +++ b/uffd/default_config.cfg @@ -51,6 +51,10 @@ SQLALCHEMY_TRACK_MODIFICATIONS=False FOOTER_LINKS=[{"url": "https://example.com", "title": "example"}] +# The default page after login or clicking the top left home button is the self-service +# page. If you would like it to be the services list instead, set this to True. +DEFAULT_PAGE_SERVICES=False + # Service overview page (disabled if empty) SERVICES=[ # # Title is mandatory, all other fields are optional. diff --git a/uffd/service/templates/service/overview.html b/uffd/service/templates/service/overview.html index 5ed19e38..976cad59 100644 --- a/uffd/service/templates/service/overview.html +++ b/uffd/service/templates/service/overview.html @@ -5,7 +5,18 @@ {% set iconstyle = 'style="width: 1.8em;"'|safe %} {% if not request.user %} -<div class="alert alert-warning" role="alert">{{_("Some services may not be publicly listed! Log in to see all services you have access to.")}}</div> +<div class="alert alert-warning" role="alert"> + <div class="row"> + <div class="col-12 col-md-9 col-lg-10 col-xl-10"> + {{ _("Some services may not be publicly listed! Log in to see all services you have access to.") }} + </div> + <div class="col-12 col-md-3 col-lg-2 col-xl-2 text-center text-md-right text-lg-right text-xl-right"> + <a class="btn btn-primary" href="{{ url_for("session.login", ref=request.full_path) }}"> + <i class="fa fa-sign-in-alt" aria-hidden="true"></i> {{ _("Login") }} + </a> + </div> + </div> +</div> {% endif %} {% if banner %} diff --git a/uffd/signup/views.py b/uffd/signup/views.py index 45d38b92..f0d858ec 100644 --- a/uffd/signup/views.py +++ b/uffd/signup/views.py @@ -20,7 +20,7 @@ def signup_enabled(func): @functools.wraps(func) def decorator(*args, **kwargs): if not current_app.config['SELF_SIGNUP']: - flash(_('Singup not enabled')) + flash(_('Signup not enabled')) return redirect(url_for('index')) return func(*args, **kwargs) return decorator @@ -104,4 +104,4 @@ def signup_confirm_submit(signup_id, token): db.session.commit() set_session(user, skip_mfa=True) flash(_('Your account was successfully created')) - return redirect(url_for('selfservice.index')) + return redirect(url_for('index')) diff --git a/uffd/templates/base.html b/uffd/templates/base.html index 2d75ed3b..972e84f7 100644 --- a/uffd/templates/base.html +++ b/uffd/templates/base.html @@ -36,7 +36,7 @@ <nav class="navbar navbar-expand-md navbar-dark bg-dark static-top" > <a class="navbar-brand" href="{{ url_for('index') }}">{{ config['SITE_TITLE'] }}</a> - {% if getnavbar() or request.user or config['LANGUAGES']|length > 1 %} + {% if getnavbar() or request.user or request.endpoint != 'session.login' or config['LANGUAGES']|length > 1 %} <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#baseNavbar" aria-controls="baseNavbar" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> @@ -69,7 +69,7 @@ </ul> {% endif %} - {% if request.user or config['LANGUAGES']|length > 1 %} + {% if request.user or request.endpoint != 'session.login' or config['LANGUAGES']|length > 1 %} <ul class="navbar-nav ml-auto"> {% if config['LANGUAGES']|length > 1 %} <li class="nav-item"> @@ -99,6 +99,13 @@ {{_("Logout")}} </a> </li> + {% elif request.endpoint != 'session.login' %} + <li class="nav-item"> + <a class="nav-link" href="{{ url_for("session.login", ref=request.full_path) }}"> + <span aria-hidden="true" class="fa fa-sign-in-alt"></span> + {{ _("Login") }} + </a> + </li> {% endif %} </ul> {% endif %} diff --git a/uffd/translations/de/LC_MESSAGES/messages.mo b/uffd/translations/de/LC_MESSAGES/messages.mo index 023a8ff198467f132f0bee4dfd9fee746756c628..837caf0baecd3654d28ed65210d9f6a8a1ea2098 100644 GIT binary patch delta 5419 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 delta 7160 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 OljmisZ@!+XBmn?UE-cUh diff --git a/uffd/translations/de/LC_MESSAGES/messages.po b/uffd/translations/de/LC_MESSAGES/messages.po index 947c7072..1433cc6c 100644 --- a/uffd/translations/de/LC_MESSAGES/messages.po +++ b/uffd/translations/de/LC_MESSAGES/messages.po @@ -1420,7 +1420,7 @@ msgid "Forgot Password?" msgstr "Passwort vergessen?" #: uffd/signup/views.py:23 -msgid "Singup not enabled" +msgid "Signup not enabled" msgstr "Account-Registrierung ist deaktiviert" #: uffd/signup/views.py:81 uffd/signup/views.py:89 -- GitLab