Projet

Général

Profil

0001-manager-allow-reusing-meeting-type-slug-after-deleti.patch

Valentin Deniaud, 02 juillet 2020 17:35

Télécharger (2,04 ko)

Voir les différences:

Subject: [PATCH] manager: allow reusing meeting type slug after deletion
 (#44512)

 chrono/manager/views.py | 2 ++
 tests/test_manager.py   | 5 +++++
 2 files changed, 7 insertions(+)
chrono/manager/views.py
18 18
import itertools
19 19
import json
20 20
import math
21
import uuid
21 22

  
22 23
from django.contrib import messages
23 24
from django.core.exceptions import PermissionDenied
......
1371 1372
        # to mark for deletion instead of actually delete
1372 1373
        success_url = self.get_success_url()
1373 1374
        self.object.deleted = True
1375
        self.object.slug += '__deleted__' + str(uuid.uuid4())
1374 1376
        self.object.save()
1375 1377
        return HttpResponseRedirect(success_url)
1376 1378

  
tests/test_manager.py
1439 1439
    assert resp.location.endswith('/manage/agendas/%s/settings' % agenda.id)
1440 1440
    meeting_type.refresh_from_db()
1441 1441
    assert meeting_type.deleted is True
1442
    assert '__deleted__' in meeting_type.slug
1442 1443

  
1443 1444
    # meeting type not showing up anymore
1444 1445
    resp = app.get('/manage/', status=200)
......
1446 1447
    resp = resp.click('Settings')
1447 1448
    assert 'Meeting Type Foo' not in resp.text
1448 1449

  
1450
    # it is possible to add a new meeting type with the same slug
1451
    new_meeting_type = MeetingType.objects.create(agenda=agenda, label='Blah')
1452
    assert new_meeting_type.slug == 'blah'
1453

  
1449 1454

  
1450 1455
def test_meetings_agenda_add_time_period(app, admin_user):
1451 1456
    agenda = Agenda.objects.create(label=u'Foo bar', kind='meetings')
1452
-