From 5a8aab3920a5fcf630531a342b2986c20d630b88 Mon Sep 17 00:00:00 2001 From: frekk <frekk@ucc.asn.au> Date: Sun, 30 Dec 2018 18:00:52 +0800 Subject: [PATCH] override admin site login view with our custom one (even though it's uglier) --- gms/gms/urls.py | 2 +- gms/memberdb/templates/base.html | 11 +++++++++-- gms/memberdb/templates/login.html | 12 ++++++++---- gms/memberdb/templates/logout.html | 26 ++++++++++++++++++++++++++ gms/memberdb/urls.py | 10 ++++++++-- 5 files changed, 52 insertions(+), 9 deletions(-) create mode 100644 gms/memberdb/templates/logout.html diff --git a/gms/gms/urls.py b/gms/gms/urls.py index e3cb464..1a35ea5 100644 --- a/gms/gms/urls.py +++ b/gms/gms/urls.py @@ -3,6 +3,6 @@ from django.urls import path, include from . import admin urlpatterns = [ - path('admin/', admin.site.urls), path('', include('memberdb.urls')), + path('admin/', admin.site.urls), ] diff --git a/gms/memberdb/templates/base.html b/gms/memberdb/templates/base.html index 0f67b9f..785fe48 100644 --- a/gms/memberdb/templates/base.html +++ b/gms/memberdb/templates/base.html @@ -5,6 +5,7 @@ <title>{% block title %}{% endblock %}</title> <link rel="stylesheet" type="text/css" href="{% static "shared.css" %}"> <link rel="stylesheet" type="text/css" href="{% static "main.css" %}"> +<link rel="shortcut icon" type="image/png" href="{% static 'ucc-logo.png' %}"/> {% block extrahead %}{% endblock %} {% block blockbots %}<meta name="robots" content="NONE,NOARCHIVE">{% endblock %} </head> @@ -26,10 +27,16 @@ {# fancy automatic navbar thing from https://stackoverflow.com/questions/39639264 #} {% with url_name=request.resolver_match.url_name %} - <a class="navtab {% if url_name == 'home' %}active{% endif %}" href="{% url "memberdb:home" %}">Member home</a> + {% if not request.user.is_authenticated %} + <a class="navtab {% if url_name == 'home' %}active{% endif %}" href="{% url "memberdb:home" %}">Login</a> <a class="navtab {% if url_name == 'register' %}active{% endif %}" href="{% url "memberdb:register" %}">Register</a> + {% else %} + <a class="navtab {% if url_name == 'home' %}active{% endif %}" href="{% url "memberdb:home" %}">Member home</a> <a class="navtab {% if url_name == 'renew' %}active{% endif %}" href="{% url "memberdb:renew" %}">Renew membership</a> + {% endif %} + {% if request.user.is_staff %} <a class="navtab" href="{% url "admin:index" %}">Admin site</a> + {% endif %} {% endwith %} </nav> {% endblock %} @@ -38,7 +45,7 @@ <!-- Content --> <div id="content"> - {% block content_title %}{% if title %}<h1>{{ title }}</h1>{% endif %}{% endblock %} + {% block content_title %}{% endblock %} {% block content %} {% endblock %} </div> diff --git a/gms/memberdb/templates/login.html b/gms/memberdb/templates/login.html index d914989..3c2519a 100644 --- a/gms/memberdb/templates/login.html +++ b/gms/memberdb/templates/login.html @@ -29,12 +29,16 @@ {% endfor %} {% endif %} + +<p class="tips"> {% if user.is_authenticated %} -<p class="errornote"> - You are authenticated as {{ user.username }}, but are not authorized to - access this page. Would you like to login to a different account? -</p> + You are already logged in as {{ user.username }}. + Would you like to login to a different account? +{% else %} + <b>Please enter your UCC username and password below.</b> <br><br> + If you do not have a UCC account yet, please apply for a membership by going to the <a href="{% url 'memberdb:register' %}">registration page</a>. {% endif %} +</p> <form action="{% url 'memberdb:login' %}" method="post" id="login-form"> {% csrf_token %} diff --git a/gms/memberdb/templates/logout.html b/gms/memberdb/templates/logout.html new file mode 100644 index 0000000..3bda9fa --- /dev/null +++ b/gms/memberdb/templates/logout.html @@ -0,0 +1,26 @@ +{% extends "base.html" %} +{% load static %} + +{% block title %}UCC Member Logout{% endblock %} + +{% block extrahead %} +{{ block.super }} +<link rel="stylesheet" type="text/css" href="{% static "login.css" %}"> +{{ form.media }} +{% endblock %} + +{% block content_title %}<h1>Logout</h1>{% endblock %} + +{% block content %} + +<div class="form-container"> + +<p> + <b>You are now logged out of MemberDB.</b> +</p> + +<p> + <a href="{% url 'memberdb:login' %}">Click here</a> to log back in again. +</p> + +{% endblock %} \ No newline at end of file diff --git a/gms/memberdb/urls.py b/gms/memberdb/urls.py index 1cb8edf..2b04749 100644 --- a/gms/memberdb/urls.py +++ b/gms/memberdb/urls.py @@ -2,15 +2,21 @@ from django.urls import path from django.contrib.auth import views as auth_views from . import views +from .views import MemberHomeView from .register import RegisterView, RenewView app_name = 'memberdb' urlpatterns = [ - path('', views.index, name='index'), + path('', MemberHomeView.as_view(), name='home'), path('login/', auth_views.LoginView.as_view(template_name='login.html'), name='login'), + path('logout/', auth_views.LogoutView.as_view(template_name='logout.html'), name='logout'), + + # override the admin login/logout views + path('admin/login/', auth_views.LoginView.as_view(template_name='login.html')), + path('admin/logout/', auth_views.LogoutView.as_view(template_name='logout.html')), + path('register/', RegisterView.as_view(), name='register'), path('renew/', RenewView.as_view(), name='renew'), - path('home/', views.index, name='home'), path('active/', views.getactive, name='actives'), #path('<str:username>/', views.info, name='info'), ] \ No newline at end of file -- GitLab