Give error message instead of empty list for no permissions
authorMagnus Hagander <magnus@hagander.net>
Mon, 2 Jun 2025 09:57:20 +0000 (11:57 +0200)
committerMagnus Hagander <magnus@hagander.net>
Mon, 2 Jun 2025 09:57:20 +0000 (11:57 +0200)
pgmailmgr/mailmgr/templates/noadm.html [new file with mode: 0644]
pgmailmgr/mailmgr/views.py

diff --git a/pgmailmgr/mailmgr/templates/noadm.html b/pgmailmgr/mailmgr/templates/noadm.html
new file mode 100644 (file)
index 0000000..9c85ba9
--- /dev/null
@@ -0,0 +1,8 @@
+{%extends "base.html" %}
+
+{%block content%}
+<h1>Permission denied</h1>
+<p>
+  You don't have access to manage any users or forwarders.
+</p>
+{%endblock%}
index 7e1c584b299b0a43e591f66d9ea7ac7b90a36474..41b6df6e0e2e05238dfffcf6ffba118dda076833 100644 (file)
@@ -26,6 +26,10 @@ def adm_home(request):
     users = VirtualUser.objects.extra(where=["EXISTS (SELECT 1 FROM mailmgr_userpermissions p WHERE p.user_id=%s AND p.domain_id = local_domain_id AND local_part ~* ('^'||p.pattern||'$'))" % request.user.id])
     forwards = Forwarder.objects.extra(where=["EXISTS (SELECT 1 FROM mailmgr_userpermissions p WHERE p.user_id=%s AND p.domain_id = local_domain_id AND local_part ~* ('^'||p.pattern||'$'))" % request.user.id])
 
+    if not forwards and not users:
+        return render(request, 'noadm.html', {
+        })
+
     return render(request, 'adm.html', {
         'users': users,
         'forwarders': forwards,