diff --git a/docker-compose/requirements/djangoserver/file/server/server/settings.py b/docker-compose/requirements/djangoserver/file/server/server/settings.py
index 9550615..8ea928d 100644
--- a/docker-compose/requirements/djangoserver/file/server/server/settings.py
+++ b/docker-compose/requirements/djangoserver/file/server/server/settings.py
@@ -44,7 +44,6 @@ MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
- 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
diff --git a/docker-compose/requirements/djangoserver/file/server/server/templates/err404.html b/docker-compose/requirements/djangoserver/file/server/server/templates/err404.html
new file mode 100644
index 0000000..9a36947
--- /dev/null
+++ b/docker-compose/requirements/djangoserver/file/server/server/templates/err404.html
@@ -0,0 +1,7 @@
+
+
PTME
+
+
\ No newline at end of file
diff --git a/docker-compose/requirements/djangoserver/file/server/server/views.py b/docker-compose/requirements/djangoserver/file/server/server/views.py
index 62e1ae7..f8f3788 100644
--- a/docker-compose/requirements/djangoserver/file/server/server/views.py
+++ b/docker-compose/requirements/djangoserver/file/server/server/views.py
@@ -18,13 +18,15 @@ def index(request):
def homePage(request):
request.session.save()
if(request.method != "POST"):
- return(HttpResponse("wrong method",status=403))
+ return index(request)
link42 = f"https://api.intra.42.fr/oauth/authorize?client_id={UID42}&redirect_uri={SERVER_URL}/login42&response_type=code&scope=public"
return render(request, "homePage.html", {"link42" : link42})
def lobbyPage(request):
request.session.save()
- if(not request.session.get("logged_in", False) or request.method != "POST"):
+ if(request.method != "POST"):
+ return index(request)
+ if(not request.session.get("logged_in", False)):
return(HttpResponse("you are not logged in",status=403))
return render(request, "lobbyPage.html", {})
diff --git a/docker-compose/requirements/nginx/static/javascript/Page.js b/docker-compose/requirements/nginx/static/javascript/Page.js
index e951314..26913e7 100644
--- a/docker-compose/requirements/nginx/static/javascript/Page.js
+++ b/docker-compose/requirements/nginx/static/javascript/Page.js
@@ -6,7 +6,7 @@
/* By: edbernar {
if (response.status != 200)
throw Error("Page '" + name + "' can't be loaded")
@@ -71,6 +72,7 @@ class Page
})
})
.catch(error => {
+ window.location.href = '/';
throw Error(error);
});
@@ -82,7 +84,27 @@ class Page
#showUnknownPage()
{
- document.body.innerHTML = "404 - Page not found";
+ if (this.actualPage != null)
+ this.actualPage.dispose();
+ fetch('/404')
+ .then(response => {
+ if (response.status != 200)
+ throw Error("Page '" + name + "' can't be loaded")
+ return (response);
+ })
+ .then(data => {
+ data.text().then(text => {
+ document.body.innerHTML = text;
+ this.actualPage = null;
+ document.title = 'PTME - Page not found';
+ history.pushState({}, this.availablePages[i].title, this.availablePages[i].url);
+ })
+ })
+ .catch(error => {
+ window.location.href = '/';
+ throw Error(error);
+ });
+
}
};