Skip to content
GitLab
Explore
Sign in
castellum
castellum_self_registration
Compare revisions
d82f21fe9016f437828bfc11e3d2d488e39e9e21 to ff21c09ecdaede829d50d11f31890270dc3a383e
Commits on Source (5)
use standard name for DeleteView template
· 29ac6bdd
Bengfort
authored
Sep 28, 2021
29ac6bdd
rename subject-confirmed for subject-confirm
· f8802355
Bengfort
authored
Sep 28, 2021
f8802355
use TemplateResponse instead of redirect on success
· b40134ee
Bengfort
authored
Sep 28, 2021
b40134ee
mv create view to URL root
· 28fa5a0c
Bengfort
authored
Sep 28, 2021
28fa5a0c
Merge branch 'refactor-views' into 'main'
· ff21c09e
Hayat
authored
Sep 29, 2021
Refactor views See merge request
!12
ff21c09e
Hide whitespace changes
Inline
Side-by-side
self_registration/main/templates/main/selfregisteredsubject_delete.html
→
self_registration/main/templates/main/selfregisteredsubject_
confirm_
delete.html
View file @
ff21c09e
File moved
self_registration/main/views.py
View file @
ff21c09e
...
...
@@ -50,11 +50,8 @@ class SelfRegisteredSubjectCreateView(CreateView):
_
(
'
There have been errors while trying to send the confirmation mail.
'
),
)
return
super
().
form_invalid
(
form
,
*
args
)
return
super
().
form_valid
(
form
,
*
args
)
class
SelfRegisteredSubjectCreatedView
(
TemplateView
):
template_name
=
'
main/selfregisteredsubject_created.html
'
form
.
save
()
return
self
.
response_class
(
self
.
request
,
'
main/selfregisteredsubject_created.html
'
)
class
SelfRegisteredSubjectConfirmView
(
TemplateView
):
...
...
@@ -72,19 +69,16 @@ class SelfRegisteredSubjectConfirmView(TemplateView):
class
SelfRegisteredSubjectDeleteView
(
DeleteView
):
model
=
SelfRegisteredSubject
template_name
=
'
main/selfregisteredsubject_delete.html
'
def
get_object
(
self
):
return
get_object_or_404
(
SelfRegisteredSubject
,
verification_token
=
self
.
kwargs
.
get
(
'
token
'
),
confirmed
=
False
)
def
get_success_url
(
self
):
return
reverse
(
'
subject-deleted
'
)
class
SelfRegisteredSubjectDeletedView
(
TemplateView
):
template_name
=
'
main/selfregisteredsubject_deleted.html
'
def
delete
(
self
,
request
,
*
args
,
**
kwargs
):
subject
=
self
.
get_object
()
subject
.
delete
()
return
self
.
response_class
(
request
,
'
main/selfregisteredsubject_deleted.html
'
)
@method_decorator
(
csrf_exempt
,
'
dispatch
'
)
...
...
self_registration/tests.py
View file @
ff21c09e
...
...
@@ -73,7 +73,7 @@ class TestSelfRegistrationDeleteView(TestCase):
)
url
=
'
/delete/{}/
'
.
format
(
subject
.
verification_token
)
response
=
self
.
client
.
post
(
url
)
self
.
assertEqual
(
response
.
status_code
,
302
)
self
.
assertEqual
(
response
.
status_code
,
200
)
self
.
assertFalse
(
SelfRegisteredSubject
.
objects
.
filter
(
pk
=
subject
.
pk
).
exists
())
def
test_deletion_only_works_for_unconfirmed_subjects
(
self
):
...
...
self_registration/urls.py
View file @
ff21c09e
...
...
@@ -21,26 +21,22 @@ from django.urls import path
from
.main.views
import
SelfRegisteredSubjectConfirmView
from
.main.views
import
SelfRegisteredSubjectCreateView
from
.main.views
import
SelfRegisteredSubjectCreatedView
from
.main.views
import
SelfRegisteredSubjectDeleteView
from
.main.views
import
SelfRegisteredSubjectDeletedView
from
.main.views
import
SelfRegistrationApiView
urlpatterns
=
[
path
(
'
admin/
'
,
admin
.
site
.
urls
),
path
(
'
create/
'
,
SelfRegisteredSubjectCreateView
.
as_view
(),
name
=
'
subject-create
'
),
path
(
'
created/
'
,
SelfRegisteredSubjectCreatedView
.
as_view
(),
name
=
'
subject-created
'
),
path
(
''
,
SelfRegisteredSubjectCreateView
.
as_view
(),
name
=
'
subject-create
'
),
path
(
'
confirm/<uuid:token>/
'
,
SelfRegisteredSubjectConfirmView
.
as_view
(),
name
=
'
subject-confirm
ed
'
,
name
=
'
subject-confirm
'
,
),
path
(
'
delete/<uuid:token>/
'
,
SelfRegisteredSubjectDeleteView
.
as_view
(),
name
=
'
subject-delete
'
,
),
path
(
'
deleted/
'
,
SelfRegisteredSubjectDeletedView
.
as_view
(),
name
=
'
subject-deleted
'
),
path
(
'
api/subjects/
'
,
SelfRegistrationApiView
.
as_view
(),
name
=
'
api-subjects
'
),
]
self_registration/utils/mail.py
View file @
ff21c09e
...
...
@@ -26,7 +26,7 @@ def send_confirmation_mail(selfregistered_subject, request):
from_email
=
None
to_email
=
selfregistered_subject
.
email
confirmation_link
=
request
.
build_absolute_uri
(
reverse
(
'
subject-confirm
ed
'
,
args
=
[
selfregistered_subject
.
verification_token
])
reverse
(
'
subject-confirm
'
,
args
=
[
selfregistered_subject
.
verification_token
])
)
delete_link
=
request
.
build_absolute_uri
(
reverse
(
'
subject-delete
'
,
args
=
[
selfregistered_subject
.
verification_token
])
...
...