diff options
author | Magnus Hagander | 2025-06-02 09:50:28 +0000 |
---|---|---|
committer | Magnus Hagander | 2025-06-02 09:50:28 +0000 |
commit | 78c7fb3c7eddda52c1c30cae6214527b37d69068 (patch) | |
tree | 7cfb1c9846514c35c9d993bcd353e6598da8345d | |
parent | 9fd900f39bcda7b31fdb2152b89dc4a14e52757a (diff) |
Move admin functionality to /adm/
This along with moving django admin to /adm/admin/.
More to come in next commit(s).
-rw-r--r-- | pgmailmgr/mailmgr/templates/adm.html (renamed from pgmailmgr/mailmgr/templates/home.html) | 12 | ||||
-rw-r--r-- | pgmailmgr/mailmgr/templates/base.html | 2 | ||||
-rw-r--r-- | pgmailmgr/mailmgr/views.py | 15 | ||||
-rw-r--r-- | pgmailmgr/urls.py | 9 |
4 files changed, 22 insertions, 16 deletions
diff --git a/pgmailmgr/mailmgr/templates/home.html b/pgmailmgr/mailmgr/templates/adm.html index 27eb32e..558687e 100644 --- a/pgmailmgr/mailmgr/templates/home.html +++ b/pgmailmgr/mailmgr/templates/adm.html @@ -1,7 +1,7 @@ {%extends "base.html" %} {%block headlinks%} -<li class="nav-item p-2"><a href="/#users" title="Users">Users</a></li> -<li class="nav-item p-2"><a href="/#forwarders" title="Forwarders">Forwarders</a></li> +<li class="nav-item p-2"><a href="/https/git.postgresql.org/adm/#users" title="Users">Users</a></li> +<li class="nav-item p-2"><a href="/https/git.postgresql.org/adm/#forwarders" title="Forwarders">Forwarders</a></li> {%endblock%} {%block content%} @@ -19,14 +19,14 @@ <tbody> {%for u in users%} <tr> - <td><a href="/https/git.postgresql.org/user/{{u.pk}}/">{{u.local_part}}</a></td> + <td><a href="/https/git.postgresql.org/adm/user/{{u.pk}}/">{{u.local_part}}</a></td> <td>{{u.local_domain}}</td> <td>{{u.full_name|default:''}}</td> </tr> {%endfor%} </tbody> </table> -<a href="/https/git.postgresql.org/user/add/" class="btn btn-primary">Add new user</a> +<a href="/https/git.postgresql.org/adm/user/add/" class="btn btn-primary">Add new user</a> <a name="forwarders"></a> <h2 class="mt-4">Forwarders</h2> @@ -41,13 +41,13 @@ <tbody> {%for f in forwarders%} <tr> - <td><a href="/https/git.postgresql.org/forwarder/{{f.pk}}/">{{f.local_part}}</a></td> + <td><a href="/https/git.postgresql.org/adm/forwarder/{{f.pk}}/">{{f.local_part}}</a></td> <td>{{f.local_domain}}</td> <td>{{f.remote_name}}</td> </tr> {%endfor%} </tbody> </table> -<a href="/https/git.postgresql.org/forwarder/add/" class="btn btn-primary">Add new forwarder</a> +<a href="/https/git.postgresql.org/adm/forwarder/add/" class="btn btn-primary">Add new forwarder</a> {%endblock%} diff --git a/pgmailmgr/mailmgr/templates/base.html b/pgmailmgr/mailmgr/templates/base.html index 1690833..4434b08 100644 --- a/pgmailmgr/mailmgr/templates/base.html +++ b/pgmailmgr/mailmgr/templates/base.html @@ -52,7 +52,7 @@ body { <div class="col-md-12"> <a href="/https/git.postgresql.org/accounts/logout/" class="btn btn-secondary col-md-1 mr-3">Log out</a> {%if user.is_superuser %} - <a href="/https/git.postgresql.org/admin/" class="btn btn-secondary col-md-1 mr-3">Django Admin</a> + <a href="/https/git.postgresql.org/adm/admin/" class="btn btn-secondary col-md-1 mr-3">Django Admin</a> {%endif%} </div> </div> diff --git a/pgmailmgr/mailmgr/views.py b/pgmailmgr/mailmgr/views.py index 3171339..7e1c584 100644 --- a/pgmailmgr/mailmgr/views.py +++ b/pgmailmgr/mailmgr/views.py @@ -18,10 +18,15 @@ def log(user, what): @login_required def home(request): + return None + + +@login_required +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]) - return render(request, 'home.html', { + return render(request, 'adm.html', { 'users': users, 'forwarders': forwards, }) @@ -52,7 +57,7 @@ def userform(request, userparam): log(request.user, "%s user %s, including changing the password" % (userparam == 'add' and 'Added' or 'Updated', vu)) else: log(request.user, "%s user %s, without changing the password" % (userparam == 'add' and 'Added' or 'Updated', vu)) - return HttpResponseRedirect('/') + return HttpResponseRedirect('/adm/') else: # Generate a new form form = VirtualUserForm(instance=vu, user=request.user) @@ -60,7 +65,7 @@ def userform(request, userparam): return render(request, 'form.html', { 'form': form, 'savebutton': (userparam == 'new') and "New" or "Save", - 'cancelurl': '/', + 'cancelurl': '/adm/', }) @@ -81,7 +86,7 @@ def forwarderform(request, userparam): form.save() log(request.user, "%s forwarding %s -> %s" % (userparam == 'add' and 'Added' or 'Updated', fwd, fwd.remote_name)) messages.add_message(request, messages.INFO, 'Forwarder %s updated' % fwd) - return HttpResponseRedirect('/') + return HttpResponseRedirect('/adm/') else: # Generate a new form form = ForwarderForm(instance=fwd, user=request.user) @@ -89,5 +94,5 @@ def forwarderform(request, userparam): return render(request, 'form.html', { 'form': form, 'savebutton': (userparam == 'new') and "New" or "Save", - 'cancelurl': '/#forwarders', + 'cancelurl': '/adm/#forwarders', }) diff --git a/pgmailmgr/urls.py b/pgmailmgr/urls.py index 6831c65..8876ef2 100644 --- a/pgmailmgr/urls.py +++ b/pgmailmgr/urls.py @@ -8,9 +8,10 @@ from django.contrib import admin admin.autodiscover() urlpatterns = [ - re_path(r'^$', views.home), - re_path(r'^user/(\d+|add)/$', views.userform), - re_path(r'^forwarder/(\d+|add)/$', views.forwarderform), + re_path(r'^/$', views.home), + re_path(r'^adm/$', views.adm_home), + re_path(r'^adm/user/(\d+|add)/$', views.userform), + re_path(r'^adm/forwarder/(\d+|add)/$', views.forwarderform), # Auth re_path('^auth_receive/$', pgmailmgr.auth.auth_receive), @@ -19,5 +20,5 @@ urlpatterns = [ re_path('^accounts/login/$', pgmailmgr.auth.login), # Uncomment the next line to enable the admin: - re_path(r'^admin/', admin.site.urls), + re_path(r'^adm/admin/', admin.site.urls), ] |