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 @@
+