api: add exception desk on event agenda creation (#61021)

This commit is contained in:
Valentin Deniaud 2022-01-25 12:07:59 +01:00
parent a843e9ae92
commit c29b3fadb4
2 changed files with 8 additions and 0 deletions

View File

@ -756,6 +756,9 @@ class Agendas(APIView):
if not serializer.is_valid():
raise APIErrorBadRequest(N_('invalid payload'), errors=serializer.errors)
agenda = serializer.save()
if agenda.kind == 'events':
desk = Desk.objects.create(agenda=agenda, slug='_exceptions_holder')
desk.import_timeperiod_exceptions_from_settings()
return Response({'err': 0, 'data': [get_agenda_detail(request, agenda)]})

View File

@ -740,6 +740,7 @@ def test_add_agenda(app, user, settings):
assert agenda.edit_role == edit_group
assert agenda.view_role == view_group
assert agenda.category == category_a
assert not Desk.objects.filter(agenda=agenda, slug='_exceptions_holder').exists()
# add an events agenda
params = {
@ -762,6 +763,10 @@ def test_add_agenda(app, user, settings):
assert agenda.view_role == view_group
assert agenda.min_booking_datetime.date() == datetime.date(2021, 7, 12)
assert agenda.category == category_a
assert Desk.objects.filter(agenda=agenda, slug='_exceptions_holder').exists()
resp = app.get('/api/agendas/datetimes/?agendas=%s' % agenda.slug)
assert 'data' in resp.json
def test_api_create_subscription(app, user):