manager: allow reusing meeting type slug after deletion (#44512)
This commit is contained in:
parent
7e07387301
commit
f1d67da603
|
@ -18,6 +18,7 @@ import datetime
|
|||
import itertools
|
||||
import json
|
||||
import math
|
||||
import uuid
|
||||
|
||||
from django.contrib import messages
|
||||
from django.core.exceptions import PermissionDenied
|
||||
|
@ -1371,6 +1372,7 @@ class MeetingTypeDeleteView(ManagedAgendaSubobjectMixin, DeleteView):
|
|||
# to mark for deletion instead of actually delete
|
||||
success_url = self.get_success_url()
|
||||
self.object.deleted = True
|
||||
self.object.slug += '__deleted__' + str(uuid.uuid4())
|
||||
self.object.save()
|
||||
return HttpResponseRedirect(success_url)
|
||||
|
||||
|
|
|
@ -1439,6 +1439,7 @@ def test_meetings_agenda_delete_meeting_type(app, admin_user):
|
|||
assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.id)
|
||||
meeting_type.refresh_from_db()
|
||||
assert meeting_type.deleted is True
|
||||
assert '__deleted__' in meeting_type.slug
|
||||
|
||||
# meeting type not showing up anymore
|
||||
resp = app.get('/manage/', status=200)
|
||||
|
@ -1446,6 +1447,10 @@ def test_meetings_agenda_delete_meeting_type(app, admin_user):
|
|||
resp = resp.click('Settings')
|
||||
assert 'Meeting Type Foo' not in resp.text
|
||||
|
||||
# it is possible to add a new meeting type with the same slug
|
||||
new_meeting_type = MeetingType.objects.create(agenda=agenda, label='Blah')
|
||||
assert new_meeting_type.slug == 'blah'
|
||||
|
||||
|
||||
def test_meetings_agenda_add_time_period(app, admin_user):
|
||||
agenda = Agenda.objects.create(label=u'Foo bar', kind='meetings')
|
||||
|
|
Loading…
Reference in New Issue