Site/Django :
- Add 404 error - change request method to post for load page
This commit is contained in:
@ -44,7 +44,6 @@ MIDDLEWARE = [
|
|||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
'django.contrib.messages.middleware.MessageMiddleware',
|
'django.contrib.messages.middleware.MessageMiddleware',
|
||||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
<div id="topBar">
|
||||||
|
<h1>PTME</h1>
|
||||||
|
</div>
|
||||||
|
<div style='color: white; position: absolute; left: 50%; top: 50%; text-align: center; transform: translate(-50%, -50%); font-size: 10vh;' id="content">
|
||||||
|
<h1>404</h1>
|
||||||
|
<p>Page not found</p>
|
||||||
|
</div>
|
@ -18,13 +18,15 @@ def index(request):
|
|||||||
def homePage(request):
|
def homePage(request):
|
||||||
request.session.save()
|
request.session.save()
|
||||||
if(request.method != "POST"):
|
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"
|
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})
|
return render(request, "homePage.html", {"link42" : link42})
|
||||||
|
|
||||||
def lobbyPage(request):
|
def lobbyPage(request):
|
||||||
request.session.save()
|
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(HttpResponse("you are not logged in",status=403))
|
||||||
return render(request, "lobbyPage.html", {})
|
return render(request, "lobbyPage.html", {})
|
||||||
|
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
/* By: edbernar <edbernar@student.42angouleme. +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/08/25 00:00:21 by edbernar #+# #+# */
|
/* Created: 2024/08/25 00:00:21 by edbernar #+# #+# */
|
||||||
/* Updated: 2024/09/10 17:33:18 by edbernar ### ########.fr */
|
/* Updated: 2024/09/11 17:26:02 by edbernar ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -25,7 +25,6 @@ class Page
|
|||||||
{
|
{
|
||||||
const thisClass = this;
|
const thisClass = this;
|
||||||
window.onpopstate = function(event) {
|
window.onpopstate = function(event) {
|
||||||
console.log("verif 2")
|
|
||||||
for (let i = 0; i < thisClass.availablePages.length; i++)
|
for (let i = 0; i < thisClass.availablePages.length; i++)
|
||||||
{
|
{
|
||||||
if (window.location.pathname == thisClass.availablePages[i].url)
|
if (window.location.pathname == thisClass.availablePages[i].url)
|
||||||
@ -54,7 +53,9 @@ class Page
|
|||||||
{
|
{
|
||||||
if (name === this.availablePages[i].name)
|
if (name === this.availablePages[i].name)
|
||||||
{
|
{
|
||||||
fetch(this.availablePages[i].servUrl)
|
fetch(this.availablePages[i].servUrl, {
|
||||||
|
method: "POST",
|
||||||
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
if (response.status != 200)
|
if (response.status != 200)
|
||||||
throw Error("Page '" + name + "' can't be loaded")
|
throw Error("Page '" + name + "' can't be loaded")
|
||||||
@ -71,6 +72,7 @@ class Page
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
window.location.href = '/';
|
||||||
throw Error(error);
|
throw Error(error);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -82,7 +84,27 @@ class Page
|
|||||||
|
|
||||||
#showUnknownPage()
|
#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);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user