Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
A
AKPlanning
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Felix Blanke
AKPlanning
Commits
4b485e37
Commit
4b485e37
authored
4 years ago
by
Nadja Geisler
Browse files
Options
Downloads
Patches
Plain Diff
fix event-dependent unique constraints in AKModel
parent
8437ee5a
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
AKModel/migrations/0028_unique_constraints.py
+57
-0
57 additions, 0 deletions
AKModel/migrations/0028_unique_constraints.py
AKModel/models.py
+15
-13
15 additions, 13 deletions
AKModel/models.py
AKSubmission/views.py
+13
-8
13 additions, 8 deletions
AKSubmission/views.py
with
85 additions
and
21 deletions
AKModel/migrations/0028_unique_constraints.py
0 → 100644
+
57
−
0
View file @
4b485e37
# Generated by Django 2.2.6 on 2020-05-10 10:48
from
django.db
import
migrations
,
models
class
Migration
(
migrations
.
Migration
):
dependencies
=
[
(
'
AKModel
'
,
'
0027_event_timezone
'
),
]
operations
=
[
migrations
.
AlterField
(
model_name
=
'
akcategory
'
,
name
=
'
name
'
,
field
=
models
.
CharField
(
help_text
=
'
Name of the AK Category
'
,
max_length
=
64
,
verbose_name
=
'
Name
'
),
),
migrations
.
AlterField
(
model_name
=
'
akowner
'
,
name
=
'
slug
'
,
field
=
models
.
SlugField
(
blank
=
True
,
help_text
=
'
Slug for URL generation
'
,
max_length
=
64
,
verbose_name
=
'
Slug
'
),
),
migrations
.
AlterField
(
model_name
=
'
akrequirement
'
,
name
=
'
name
'
,
field
=
models
.
CharField
(
help_text
=
'
Name of the Requirement
'
,
max_length
=
128
,
verbose_name
=
'
Name
'
),
),
migrations
.
AlterField
(
model_name
=
'
aktrack
'
,
name
=
'
name
'
,
field
=
models
.
CharField
(
help_text
=
'
Name of the AK Track
'
,
max_length
=
64
,
verbose_name
=
'
Name
'
),
),
migrations
.
AlterUniqueTogether
(
name
=
'
ak
'
,
unique_together
=
{(
'
event
'
,
'
name
'
),
(
'
event
'
,
'
short_name
'
)},
),
migrations
.
AlterUniqueTogether
(
name
=
'
akcategory
'
,
unique_together
=
{(
'
event
'
,
'
name
'
)},
),
migrations
.
AlterUniqueTogether
(
name
=
'
akowner
'
,
unique_together
=
{(
'
event
'
,
'
name
'
,
'
institution
'
),
(
'
event
'
,
'
slug
'
)},
),
migrations
.
AlterUniqueTogether
(
name
=
'
akrequirement
'
,
unique_together
=
{(
'
event
'
,
'
name
'
)},
),
migrations
.
AlterUniqueTogether
(
name
=
'
aktrack
'
,
unique_together
=
{(
'
event
'
,
'
name
'
)},
),
migrations
.
AlterUniqueTogether
(
name
=
'
room
'
,
unique_together
=
{(
'
event
'
,
'
name
'
,
'
building
'
)},
),
]
This diff is collapsed.
Click to expand it.
AKModel/models.py
+
15
−
13
View file @
4b485e37
...
@@ -50,8 +50,7 @@ class AKOwner(models.Model):
...
@@ -50,8 +50,7 @@ class AKOwner(models.Model):
"""
An AKOwner describes the person organizing/holding an AK.
"""
An AKOwner describes the person organizing/holding an AK.
"""
"""
name
=
models
.
CharField
(
max_length
=
64
,
verbose_name
=
_
(
'
Nickname
'
),
help_text
=
_
(
'
Name to identify an AK owner by
'
))
name
=
models
.
CharField
(
max_length
=
64
,
verbose_name
=
_
(
'
Nickname
'
),
help_text
=
_
(
'
Name to identify an AK owner by
'
))
slug
=
models
.
SlugField
(
max_length
=
64
,
blank
=
True
,
unique
=
True
,
verbose_name
=
_
(
'
Slug
'
),
slug
=
models
.
SlugField
(
max_length
=
64
,
blank
=
True
,
verbose_name
=
_
(
'
Slug
'
),
help_text
=
_
(
'
Slug for URL generation
'
))
help_text
=
_
(
'
Slug for URL generation
'
))
institution
=
models
.
CharField
(
max_length
=
128
,
blank
=
True
,
verbose_name
=
_
(
'
Institution
'
),
help_text
=
_
(
'
Uni etc.
'
))
institution
=
models
.
CharField
(
max_length
=
128
,
blank
=
True
,
verbose_name
=
_
(
'
Institution
'
),
help_text
=
_
(
'
Uni etc.
'
))
link
=
models
.
URLField
(
blank
=
True
,
verbose_name
=
_
(
'
Web Link
'
),
help_text
=
_
(
'
Link to Homepage
'
))
link
=
models
.
URLField
(
blank
=
True
,
verbose_name
=
_
(
'
Web Link
'
),
help_text
=
_
(
'
Link to Homepage
'
))
...
@@ -62,7 +61,7 @@ class AKOwner(models.Model):
...
@@ -62,7 +61,7 @@ class AKOwner(models.Model):
verbose_name
=
_
(
'
AK Owner
'
)
verbose_name
=
_
(
'
AK Owner
'
)
verbose_name_plural
=
_
(
'
AK Owners
'
)
verbose_name_plural
=
_
(
'
AK Owners
'
)
ordering
=
[
'
name
'
]
ordering
=
[
'
name
'
]
unique_together
=
[[
'
name
'
,
'
institution
'
]]
unique_together
=
[[
'
event
'
,
'
name
'
,
'
institution
'
]
,
[
'
event
'
,
'
slug
'
]
]
def
__str__
(
self
):
def
__str__
(
self
):
if
self
.
institution
:
if
self
.
institution
:
...
@@ -73,15 +72,15 @@ class AKOwner(models.Model):
...
@@ -73,15 +72,15 @@ class AKOwner(models.Model):
max_length
=
self
.
_meta
.
get_field
(
'
slug
'
).
max_length
max_length
=
self
.
_meta
.
get_field
(
'
slug
'
).
max_length
slug_candidate
=
slugify
(
self
.
name
)[:
max_length
]
slug_candidate
=
slugify
(
self
.
name
)[:
max_length
]
if
not
AKOwner
.
objects
.
filter
(
slug
=
slug_candidate
).
exists
():
if
not
AKOwner
.
objects
.
filter
(
event
=
self
.
event
,
slug
=
slug_candidate
).
exists
():
self
.
slug
=
slug_candidate
self
.
slug
=
slug_candidate
return
return
slug_candidate
=
slugify
(
slug_candidate
+
'
_
'
+
self
.
institution
)[:
max_length
]
slug_candidate
=
slugify
(
slug_candidate
+
'
_
'
+
self
.
institution
)[:
max_length
]
if
not
AKOwner
.
objects
.
filter
(
slug
=
slug_candidate
).
exists
():
if
not
AKOwner
.
objects
.
filter
(
event
=
self
.
event
,
slug
=
slug_candidate
).
exists
():
self
.
slug
=
slug_candidate
self
.
slug
=
slug_candidate
return
return
for
i
in
itertools
.
count
(
1
):
for
i
in
itertools
.
count
(
1
):
if
not
AKOwner
.
objects
.
filter
(
slug
=
slug_candidate
).
exists
():
if
not
AKOwner
.
objects
.
filter
(
event
=
self
.
event
,
slug
=
slug_candidate
).
exists
():
break
break
digits
=
len
(
str
(
i
))
digits
=
len
(
str
(
i
))
slug_candidate
=
'
{}-{}
'
.
format
(
slug_candidate
[:
-
(
digits
+
1
)],
i
)
slug_candidate
=
'
{}-{}
'
.
format
(
slug_candidate
[:
-
(
digits
+
1
)],
i
)
...
@@ -95,14 +94,14 @@ class AKOwner(models.Model):
...
@@ -95,14 +94,14 @@ class AKOwner(models.Model):
super
().
save
(
*
args
,
**
kwargs
)
super
().
save
(
*
args
,
**
kwargs
)
@staticmethod
@staticmethod
def
get_by_slug
(
slug
):
def
get_by_slug
(
event
,
slug
):
return
AKOwner
.
objects
.
get
(
slug
=
slug
)
return
AKOwner
.
objects
.
get
(
event
=
event
,
slug
=
slug
)
class
AKCategory
(
models
.
Model
):
class
AKCategory
(
models
.
Model
):
"""
An AKCategory describes the characteristics of an AK, e.g. content vs. recreational.
"""
An AKCategory describes the characteristics of an AK, e.g. content vs. recreational.
"""
"""
name
=
models
.
CharField
(
max_length
=
64
,
unique
=
True
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the AK Category
'
))
name
=
models
.
CharField
(
max_length
=
64
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the AK Category
'
))
color
=
models
.
CharField
(
max_length
=
7
,
blank
=
True
,
verbose_name
=
_
(
'
Color
'
),
help_text
=
_
(
'
Color for displaying
'
))
color
=
models
.
CharField
(
max_length
=
7
,
blank
=
True
,
verbose_name
=
_
(
'
Color
'
),
help_text
=
_
(
'
Color for displaying
'
))
description
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
"
Description
"
),
description
=
models
.
TextField
(
blank
=
True
,
verbose_name
=
_
(
"
Description
"
),
help_text
=
_
(
"
Short description of this AK Category
"
))
help_text
=
_
(
"
Short description of this AK Category
"
))
...
@@ -114,6 +113,7 @@ class AKCategory(models.Model):
...
@@ -114,6 +113,7 @@ class AKCategory(models.Model):
verbose_name
=
_
(
'
AK Category
'
)
verbose_name
=
_
(
'
AK Category
'
)
verbose_name_plural
=
_
(
'
AK Categories
'
)
verbose_name_plural
=
_
(
'
AK Categories
'
)
ordering
=
[
'
name
'
]
ordering
=
[
'
name
'
]
unique_together
=
[
'
event
'
,
'
name
'
]
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
name
return
self
.
name
...
@@ -122,7 +122,7 @@ class AKCategory(models.Model):
...
@@ -122,7 +122,7 @@ class AKCategory(models.Model):
class
AKTrack
(
models
.
Model
):
class
AKTrack
(
models
.
Model
):
"""
An AKTrack describes a set of semantically related AKs.
"""
An AKTrack describes a set of semantically related AKs.
"""
"""
name
=
models
.
CharField
(
max_length
=
64
,
unique
=
True
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the AK Track
'
))
name
=
models
.
CharField
(
max_length
=
64
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the AK Track
'
))
color
=
models
.
CharField
(
max_length
=
7
,
blank
=
True
,
verbose_name
=
_
(
'
Color
'
),
help_text
=
_
(
'
Color for displaying
'
))
color
=
models
.
CharField
(
max_length
=
7
,
blank
=
True
,
verbose_name
=
_
(
'
Color
'
),
help_text
=
_
(
'
Color for displaying
'
))
event
=
models
.
ForeignKey
(
to
=
Event
,
on_delete
=
models
.
CASCADE
,
verbose_name
=
_
(
'
Event
'
),
event
=
models
.
ForeignKey
(
to
=
Event
,
on_delete
=
models
.
CASCADE
,
verbose_name
=
_
(
'
Event
'
),
...
@@ -132,6 +132,7 @@ class AKTrack(models.Model):
...
@@ -132,6 +132,7 @@ class AKTrack(models.Model):
verbose_name
=
_
(
'
AK Track
'
)
verbose_name
=
_
(
'
AK Track
'
)
verbose_name_plural
=
_
(
'
AK Tracks
'
)
verbose_name_plural
=
_
(
'
AK Tracks
'
)
ordering
=
[
'
name
'
]
ordering
=
[
'
name
'
]
unique_together
=
[
'
event
'
,
'
name
'
]
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
name
return
self
.
name
...
@@ -154,7 +155,7 @@ class AKTag(models.Model):
...
@@ -154,7 +155,7 @@ class AKTag(models.Model):
class
AKRequirement
(
models
.
Model
):
class
AKRequirement
(
models
.
Model
):
"""
An AKRequirement describes something needed to hold an AK, e.g. infrastructure.
"""
An AKRequirement describes something needed to hold an AK, e.g. infrastructure.
"""
"""
name
=
models
.
CharField
(
max_length
=
128
,
unique
=
True
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the Requirement
'
))
name
=
models
.
CharField
(
max_length
=
128
,
verbose_name
=
_
(
'
Name
'
),
help_text
=
_
(
'
Name of the Requirement
'
))
event
=
models
.
ForeignKey
(
to
=
Event
,
on_delete
=
models
.
CASCADE
,
verbose_name
=
_
(
'
Event
'
),
event
=
models
.
ForeignKey
(
to
=
Event
,
on_delete
=
models
.
CASCADE
,
verbose_name
=
_
(
'
Event
'
),
help_text
=
_
(
'
Associated event
'
))
help_text
=
_
(
'
Associated event
'
))
...
@@ -163,6 +164,7 @@ class AKRequirement(models.Model):
...
@@ -163,6 +164,7 @@ class AKRequirement(models.Model):
verbose_name
=
_
(
'
AK Requirement
'
)
verbose_name
=
_
(
'
AK Requirement
'
)
verbose_name_plural
=
_
(
'
AK Requirements
'
)
verbose_name_plural
=
_
(
'
AK Requirements
'
)
ordering
=
[
'
name
'
]
ordering
=
[
'
name
'
]
unique_together
=
[
'
event
'
,
'
name
'
]
def
__str__
(
self
):
def
__str__
(
self
):
return
self
.
name
return
self
.
name
...
@@ -211,7 +213,7 @@ class AK(models.Model):
...
@@ -211,7 +213,7 @@ class AK(models.Model):
class
Meta
:
class
Meta
:
verbose_name
=
_
(
'
AK
'
)
verbose_name
=
_
(
'
AK
'
)
verbose_name_plural
=
_
(
'
AKs
'
)
verbose_name_plural
=
_
(
'
AKs
'
)
unique_together
=
[
(
'
name
'
,
'
event
'
)
,
(
'
short_name
'
,
'
event
'
)
]
unique_together
=
[
[
'
event
'
,
'
name
'
]
,
[
'
event
'
,
'
short_name
'
]
]
def
__str__
(
self
):
def
__str__
(
self
):
if
self
.
short_name
:
if
self
.
short_name
:
...
@@ -248,7 +250,7 @@ class Room(models.Model):
...
@@ -248,7 +250,7 @@ class Room(models.Model):
verbose_name
=
_
(
'
Room
'
)
verbose_name
=
_
(
'
Room
'
)
verbose_name_plural
=
_
(
'
Rooms
'
)
verbose_name_plural
=
_
(
'
Rooms
'
)
ordering
=
[
'
building
'
,
'
name
'
]
ordering
=
[
'
building
'
,
'
name
'
]
unique_together
=
[
[
'
name
'
,
'
building
'
]
]
unique_together
=
[
'
event
'
,
'
name
'
,
'
building
'
]
@property
@property
def
title
(
self
):
def
title
(
self
):
...
...
This diff is collapsed.
Click to expand it.
AKSubmission/views.py
+
13
−
8
View file @
4b485e37
...
@@ -128,13 +128,13 @@ class AKAndAKWishSubmissionView(EventSlugMixin, CreateView):
...
@@ -128,13 +128,13 @@ class AKAndAKWishSubmissionView(EventSlugMixin, CreateView):
class
AKSubmissionView
(
AKAndAKWishSubmissionView
):
class
AKSubmissionView
(
AKAndAKWishSubmissionView
):
def
get_initial
(
self
):
def
get_initial
(
self
):
initials
=
super
(
AKAndAKWishSubmissionView
,
self
).
get_initial
()
initials
=
super
(
AKAndAKWishSubmissionView
,
self
).
get_initial
()
initials
[
'
owners
'
]
=
[
AKOwner
.
get_by_slug
(
self
.
kwargs
[
'
owner_slug
'
])]
initials
[
'
owners
'
]
=
[
AKOwner
.
get_by_slug
(
self
.
event
,
self
.
kwargs
[
'
owner_slug
'
])]
initials
[
'
event
'
]
=
self
.
event
initials
[
'
event
'
]
=
self
.
event
return
initials
return
initials
def
get_context_data
(
self
,
*
,
object_list
=
None
,
**
kwargs
):
def
get_context_data
(
self
,
*
,
object_list
=
None
,
**
kwargs
):
context
=
super
().
get_context_data
(
object_list
=
object_list
,
**
kwargs
)
context
=
super
().
get_context_data
(
object_list
=
object_list
,
**
kwargs
)
context
[
'
owner
'
]
=
get_object_or_404
(
AKOwner
,
slug
=
self
.
kwargs
[
'
owner_slug
'
])
context
[
'
owner
'
]
=
get_object_or_404
(
AKOwner
,
event
=
self
.
event
,
slug
=
self
.
kwargs
[
'
owner_slug
'
])
return
context
return
context
...
@@ -206,7 +206,7 @@ class AKOwnerSelectDispatchView(EventSlugMixin, View):
...
@@ -206,7 +206,7 @@ class AKOwnerSelectDispatchView(EventSlugMixin, View):
reverse_lazy
(
'
submit:submit_ak
'
,
kwargs
=
{
'
event_slug
'
:
kwargs
[
'
event_slug
'
],
'
owner_slug
'
:
owner
.
slug
}))
reverse_lazy
(
'
submit:submit_ak
'
,
kwargs
=
{
'
event_slug
'
:
kwargs
[
'
event_slug
'
],
'
owner_slug
'
:
owner
.
slug
}))
class
AKOwnerEditView
(
EventSlugMixin
,
UpdateView
):
class
AKOwnerEditView
(
FilterBy
EventSlugMixin
,
UpdateView
):
model
=
AKOwner
model
=
AKOwner
template_name
=
"
AKSubmission/akowner_create_update.html
"
template_name
=
"
AKSubmission/akowner_create_update.html
"
form_class
=
AKOwnerForm
form_class
=
AKOwnerForm
...
@@ -252,7 +252,8 @@ class AKSlotAddView(EventSlugMixin, CreateView):
...
@@ -252,7 +252,8 @@ class AKSlotAddView(EventSlugMixin, CreateView):
def
get_success_url
(
self
):
def
get_success_url
(
self
):
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully added
"
))
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully added
"
))
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
class
AKSlotEditView
(
EventSlugMixin
,
UpdateView
):
class
AKSlotEditView
(
EventSlugMixin
,
UpdateView
):
...
@@ -263,7 +264,8 @@ class AKSlotEditView(EventSlugMixin, UpdateView):
...
@@ -263,7 +264,8 @@ class AKSlotEditView(EventSlugMixin, UpdateView):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
akslot
=
get_object_or_404
(
AKSlot
,
pk
=
kwargs
[
"
pk
"
])
akslot
=
get_object_or_404
(
AKSlot
,
pk
=
kwargs
[
"
pk
"
])
if
akslot
.
start
is
not
None
:
if
akslot
.
start
is
not
None
:
messages
.
add_message
(
self
.
request
,
messages
.
WARNING
,
_
(
"
You cannot edit a slot that has already been scheduled
"
))
messages
.
add_message
(
self
.
request
,
messages
.
WARNING
,
_
(
"
You cannot edit a slot that has already been scheduled
"
))
return
redirect
(
'
submit:ak_detail
'
,
event_slug
=
self
.
kwargs
[
'
event_slug
'
],
pk
=
akslot
.
ak
.
pk
)
return
redirect
(
'
submit:ak_detail
'
,
event_slug
=
self
.
kwargs
[
'
event_slug
'
],
pk
=
akslot
.
ak
.
pk
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
...
@@ -274,7 +276,8 @@ class AKSlotEditView(EventSlugMixin, UpdateView):
...
@@ -274,7 +276,8 @@ class AKSlotEditView(EventSlugMixin, UpdateView):
def
get_success_url
(
self
):
def
get_success_url
(
self
):
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully updated
"
))
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully updated
"
))
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
class
AKSlotDeleteView
(
EventSlugMixin
,
DeleteView
):
class
AKSlotDeleteView
(
EventSlugMixin
,
DeleteView
):
...
@@ -284,7 +287,8 @@ class AKSlotDeleteView(EventSlugMixin, DeleteView):
...
@@ -284,7 +287,8 @@ class AKSlotDeleteView(EventSlugMixin, DeleteView):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
def
get
(
self
,
request
,
*
args
,
**
kwargs
):
akslot
=
get_object_or_404
(
AKSlot
,
pk
=
kwargs
[
"
pk
"
])
akslot
=
get_object_or_404
(
AKSlot
,
pk
=
kwargs
[
"
pk
"
])
if
akslot
.
start
is
not
None
:
if
akslot
.
start
is
not
None
:
messages
.
add_message
(
self
.
request
,
messages
.
WARNING
,
_
(
"
You cannot delete a slot that has already been scheduled
"
))
messages
.
add_message
(
self
.
request
,
messages
.
WARNING
,
_
(
"
You cannot delete a slot that has already been scheduled
"
))
return
redirect
(
'
submit:ak_detail
'
,
event_slug
=
self
.
kwargs
[
'
event_slug
'
],
pk
=
akslot
.
ak
.
pk
)
return
redirect
(
'
submit:ak_detail
'
,
event_slug
=
self
.
kwargs
[
'
event_slug
'
],
pk
=
akslot
.
ak
.
pk
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
return
super
().
get
(
request
,
*
args
,
**
kwargs
)
...
@@ -295,4 +299,5 @@ class AKSlotDeleteView(EventSlugMixin, DeleteView):
...
@@ -295,4 +299,5 @@ class AKSlotDeleteView(EventSlugMixin, DeleteView):
def
get_success_url
(
self
):
def
get_success_url
(
self
):
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully deleted
"
))
messages
.
add_message
(
self
.
request
,
messages
.
SUCCESS
,
_
(
"
AK Slot successfully deleted
"
))
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
return
reverse_lazy
(
'
submit:ak_detail
'
,
kwargs
=
{
'
event_slug
'
:
self
.
kwargs
[
'
event_slug
'
],
'
pk
'
:
self
.
object
.
ak
.
pk
})
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment