From 511d439fb56fbc5529b6e934a75b64deb74bcc2e Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Wed, 8 Dec 2021 18:44:59 +0100 Subject: [PATCH 2/2] agendas: ignore missing category during agenda import (#57424) --- chrono/agendas/models.py | 2 +- tests/test_import_export.py | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chrono/agendas/models.py b/chrono/agendas/models.py index 0a442ec6..fe86785a 100644 --- a/chrono/agendas/models.py +++ b/chrono/agendas/models.py @@ -438,7 +438,7 @@ class Agenda(models.Model): try: data['category'] = Category.objects.get(slug=data['category']) except Category.DoesNotExist: - raise AgendaImportError(_('Missing "%s" category') % data['category']) + del data['category'] if data.get('absence_reasons_group'): try: data['absence_reasons_group'] = AbsenceReasonGroup.objects.get( diff --git a/tests/test_import_export.py b/tests/test_import_export.py index 49660e91..ee2dc15a 100644 --- a/tests/test_import_export.py +++ b/tests/test_import_export.py @@ -386,17 +386,17 @@ def test_import_export_categories(app): data = json.loads(output) del data['categories'] - with pytest.raises(AgendaImportError) as excinfo: - import_site(data, overwrite=True) - assert str(excinfo.value) == 'Missing "foo" category' + import_site(data.copy(), overwrite=True) + agenda = Agenda.objects.get(slug=agenda.slug) + assert agenda.category is None category = Category.objects.create(label='foobar') - with pytest.raises(AgendaImportError) as excinfo: - import_site(data, overwrite=True) - assert str(excinfo.value) == 'Missing "foo" category' + import_site(data.copy(), overwrite=True) + agenda = Agenda.objects.get(slug=agenda.slug) + assert agenda.category is None category = Category.objects.create(label='foo') - import_site(data, overwrite=True) + import_site(data.copy(), overwrite=True) agenda = Agenda.objects.get(slug=agenda.slug) assert agenda.category == category -- 2.30.2