diff --git a/website/templates/navbar.html b/website/templates/navbar.html
index fada0f9..7c7c86f 100644
--- a/website/templates/navbar.html
+++ b/website/templates/navbar.html
@@ -28,13 +28,23 @@
{% bootstrap_icon "log-out" %} Déconnecter
{% else %}
-
diff --git a/website/urls.py b/website/urls.py
index 2bcc8d6..124beea 100644
--- a/website/urls.py
+++ b/website/urls.py
@@ -2,14 +2,15 @@ from django.conf.urls import include, url
from django.contrib.auth import views as auth_views
-from .views import Index
+from .views import Index, login_view
from maraudes import urls as maraudes_urls
from suivi import urls as suivi_urls
from sujets import urls as sujets_urls
urlpatterns = [
# Authentification
- url('^$', Index.as_view(), name="index"),
+ url(r'^$', Index.as_view(), name="index"),
+ url(r'^login/$', login_view),
url(r'^logout/$', auth_views.logout, {
'template_name': 'logout.html',
'next_page': 'index',
diff --git a/website/views.py b/website/views.py
index 3809465..7637126 100644
--- a/website/views.py
+++ b/website/views.py
@@ -4,40 +4,32 @@ from django import views
from .mixins import WebsiteTemplateMixin
from django.contrib.auth.views import login
-from django.http import HttpResponseRedirect
+from django.http import HttpResponseRedirect, HttpResponsePermanentRedirect
+
class Index(WebsiteTemplateMixin, views.generic.TemplateView):
template_name = "main.html"
app_menu = None
- login_response = None
class PageInfo:
title = "La maraude ALSA"
header = "La Maraude ALSA"
header_small = "accueil"
- def dispatch(self, request, *args, **kwargs):
- self.user = request.user
- self.login_response = login(request)
- return super().dispatch(request, *args, **kwargs)
-
def _get_user_entry_point(self):
# Should find best entry point according to user Group
return reverse('maraudes:index')
- def post(self, request, *args, **kwargs):
- if hasattr(self.login_response, 'url') and 'next' in self.request.POST:
- return self.login_response
- return self.get(request, *args, **kwargs)
-
def get(self, request, *args, **kwargs):
if request.user.is_authenticated():
return redirect(self._get_user_entry_point())
return super().get(request, *args, **kwargs)
- def get_context_data(self, **kwargs):
- context = super().get_context_data(**kwargs)
- context.update(self.login_response.context_data)
- return context
+def login_view(request):
+ if request.method == 'GET':
+ return HttpResponsePermanentRedirect('/')
+ elif request.method == 'POST':
+ response = login(request)
+ return HttpResponseRedirect('/')