Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
AE UTBM
Sith
Commits
ad36c1c6
Commit
ad36c1c6
authored
Aug 07, 2016
by
Skia
🤘
Browse files
Better handle 403 with next argument
parent
a0f7150c
Pipeline
#98
failed with stage
in 2 minutes and 21 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
core/templates/core/403.jinja
View file @
ad36c1c6
{%
extends
"core/
base
.jinja"
%}
{%
extends
"core/
login
.jinja"
%}
{%
block
content
%}
<h3>
{%
trans
%}
403, Forbidden
{%
endtrans
%}
</h3>
{{
super
()
}}
{%
endblock
%}
core/templates/core/login.jinja
View file @
ad36c1c6
{%
extends
"core/base.jinja"
%}
{%
block
title
%}
{%
trans
%}
Login
{%
endtrans
%}
{%
endblock
%}
{%
block
content
%}
{%
if
form.errors
%}
...
...
core/views/__init__.py
View file @
ad36c1c6
...
...
@@ -3,11 +3,13 @@ from django.shortcuts import render
from
django.http
import
HttpResponseForbidden
,
HttpResponseNotFound
from
django.core.exceptions
import
PermissionDenied
,
ObjectDoesNotExist
from
django.views.generic.base
import
View
from
django.contrib.auth.forms
import
AuthenticationForm
from
core.models
import
Group
def
forbidden
(
request
):
return
HttpResponseForbidden
(
render
(
request
,
"core/403.jinja"
))
return
HttpResponseForbidden
(
render
(
request
,
"core/403.jinja"
,
context
=
{
'next'
:
request
.
path
,
'form'
:
AuthenticationForm
()}))
def
not_found
(
request
):
return
HttpResponseNotFound
(
render
(
request
,
"core/404.jinja"
))
...
...
eboutic/views.py
View file @
ad36c1c6
...
...
@@ -35,13 +35,15 @@ class EbouticMain(TemplateView):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
if
not
request
.
user
.
is_authenticated
():
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
)
+
"?next="
+
request
.
path
)
self
.
make_basket
(
request
)
return
super
(
EbouticMain
,
self
).
get
(
request
,
*
args
,
**
kwargs
)
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
if
not
request
.
user
.
is_authenticated
():
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
)
+
"?next="
+
request
.
path
)
self
.
make_basket
(
request
)
if
'add_product'
in
request
.
POST
[
'action'
]:
self
.
add_product
(
request
)
...
...
@@ -77,12 +79,14 @@ class EbouticCommand(TemplateView):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
if
not
request
.
user
.
is_authenticated
():
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
)
+
"?next="
+
request
.
path
)
return
HttpResponseRedirect
(
reverse_lazy
(
'eboutic:main'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
if
not
request
.
user
.
is_authenticated
():
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
return
HttpResponseRedirect
(
reverse_lazy
(
'core:login'
,
args
=
self
.
args
,
kwargs
=
kwargs
)
+
"?next="
+
request
.
path
)
if
'basket_id'
not
in
request
.
session
.
keys
():
return
HttpResponseRedirect
(
reverse_lazy
(
'eboutic:main'
,
args
=
self
.
args
,
kwargs
=
kwargs
))
self
.
basket
=
Basket
.
objects
.
filter
(
id
=
request
.
session
[
'basket_id'
]).
first
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment