agendas: ignore exception source on import if file is missing (#89873)
gitea/chrono/pipeline/head This commit looks good
Details
gitea/chrono/pipeline/head This commit looks good
Details
This commit is contained in:
parent
88d8feacd8
commit
169dc0a69a
|
@ -3992,6 +3992,9 @@ class TimePeriodExceptionSource(WithInspectMixin, models.Model):
|
|||
data['ics_file'] = ContentFile(base64.b64decode(data['ics_file']), name=data['ics_filename'])
|
||||
except base64.binascii.Error:
|
||||
raise AgendaImportError(_('Bad ics file'))
|
||||
elif data.get('ics_filename'):
|
||||
# filename but no file content, skip this source
|
||||
return
|
||||
|
||||
desk = data.pop('desk')
|
||||
settings_slug = data.pop('settings_slug')
|
||||
|
|
|
@ -927,6 +927,12 @@ def test_import_export_time_period_exception_source_ics_file(mocked_get):
|
|||
import_site(payload)
|
||||
assert '%s' % excinfo.value == 'Bad ics file'
|
||||
|
||||
Agenda.objects.all().delete()
|
||||
payload['agendas'][0]['desks'][0]['exception_sources'][0]['ics_file'] = None
|
||||
import_site(payload)
|
||||
assert TimePeriodExceptionSource.objects.count() == 0
|
||||
assert TimePeriodException.objects.count() == 0
|
||||
|
||||
|
||||
@override_settings(
|
||||
EXCEPTIONS_SOURCES={
|
||||
|
|
Loading…
Reference in New Issue