From a63426d1ea6b9a45e5d317da3fb23eed09622d64 Mon Sep 17 00:00:00 2001 From: MG Date: Fri, 7 Jun 2019 17:34:13 +0200 Subject: [PATCH] Add toast message on mail send --- src/account_manager/views/user_views.py | 12 +++++++++--- src/static/css/floating_labels.css | 15 +++++++++++++++ src/static/js/main.js | 4 ++++ src/templates/base.jinja2 | 1 + src/templates/macros/utils_macros.jinja2 | 13 +++++++++++++ src/templates/user/realm_user_detail.jinja2 | 2 ++ 6 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/account_manager/views/user_views.py b/src/account_manager/views/user_views.py index 9375d27..85cedb7 100644 --- a/src/account_manager/views/user_views.py +++ b/src/account_manager/views/user_views.py @@ -58,14 +58,19 @@ def realm_user(request, realm_id): @is_realm_admin @protect_cross_realm_user_access def realm_user_detail(request, realm_id, user_dn): + return get_rendered_user_details(request, realm_id, user_dn) + + +def get_rendered_user_details(request, realm_id, user_dn, success_headline=None, success_text=None): realm = Realm.objects.get(id=realm_id) LdapUser.base_dn = realm.ldap_base_dn LdapGroup.base_dn = LdapGroup.ROOT_DN - user = LdapUser.objects.get(dn=user_dn) user_wrapper = LdapUser.get_extended_user(user) groups = LdapGroup.objects.filter(members=user.dn) - return render(request, 'user/realm_user_detail.jinja2', {'user': user_wrapper, 'groups': groups, 'realm': realm}) + return render(request, 'user/realm_user_detail.jinja2', + {'user': user_wrapper, 'groups': groups, 'realm': realm, 'success_headline': success_headline, + 'success_text': success_text}) @login_required @@ -183,7 +188,8 @@ def realm_user_resend_welcome_mail(request, realm_id, user_dn): protocol = 'https' send_welcome_mail(domain=current_site.domain, email=ldap_user.email, protocol=protocol, realm=realm, user=User.objects.get(username=ldap_user.username)) - return redirect('realm-user-detail', realm_id, user_dn) + return get_rendered_user_details(request, realm_id, user_dn, success_headline="Willkommensmail", + success_text="Willkommensmail erfolgreich versendet.") @login_required diff --git a/src/static/css/floating_labels.css b/src/static/css/floating_labels.css index 6b6865a..ef4df47 100644 --- a/src/static/css/floating_labels.css +++ b/src/static/css/floating_labels.css @@ -215,6 +215,21 @@ color: #6c757d; } +/* ------------------------------------------------------------------------------------------------------------------ */ +/* -- Toast -- */ +/* ------------------------------------------------------------------------------------------------------------------ */ +.toast { + position: absolute; + top: 5px; + right: -250px; + width: 250px; + min-height: 50px; + z-index: 1000; + transform: translateX(-280px); + transition: transform 2s; +} + + /* ------------------------------------------------------------------------------------------------------------------ */ /* -- Footer -- */ /* ------------------------------------------------------------------------------------------------------------------ */ diff --git a/src/static/js/main.js b/src/static/js/main.js index 0983d36..515d07f 100644 --- a/src/static/js/main.js +++ b/src/static/js/main.js @@ -3,6 +3,10 @@ const TABLE_CLASS = '.data-table'; const TABLE_CLASS_NO_PAGING = '.data-table-npaging'; $(document).ready(function () { + // Bottstrap Toast + $('.toast').toast('show'); + + //Datatables const data_table = $(TABLE_CLASS).DataTable({ "paging": true, "pageLength": 10, diff --git a/src/templates/base.jinja2 b/src/templates/base.jinja2 index 0d7fe60..05dfd1c 100644 --- a/src/templates/base.jinja2 +++ b/src/templates/base.jinja2 @@ -65,6 +65,7 @@ + diff --git a/src/templates/macros/utils_macros.jinja2 b/src/templates/macros/utils_macros.jinja2 index 305cab1..9b6246d 100644 --- a/src/templates/macros/utils_macros.jinja2 +++ b/src/templates/macros/utils_macros.jinja2 @@ -131,6 +131,19 @@ {% endif %} {% endmacro %} +{% macro get_success_toast(success_head, success_text) -%} + {% if success_text and success_head %} + + {% endif %} +{% endmacro %} + {% macro get_data_table_search_field(input_id="data-table-search-input") -%}
{{ user.user.username }}