agendas: do not export deleted meeting type (#52816)

This commit is contained in:
Valentin Deniaud 2021-04-07 13:51:38 +02:00
parent 394a3101c4
commit ec01193fdd
2 changed files with 14 additions and 1 deletions

View File

@ -335,7 +335,7 @@ class Agenda(models.Model):
self.absence_reasons_group.slug if self.absence_reasons_group else None
)
elif self.kind == 'meetings':
agenda['meetingtypes'] = [x.export_json() for x in self.meetingtype_set.all()]
agenda['meetingtypes'] = [x.export_json() for x in self.meetingtype_set.filter(deleted=False)]
agenda['desks'] = [desk.export_json() for desk in self.desk_set.all()]
agenda['desk_simple_management'] = self.desk_simple_management
elif self.kind == 'virtual':

View File

@ -850,3 +850,16 @@ def test_import_export_desk_simple_management(available_mock):
import_site(payload)
agenda.refresh_from_db()
assert agenda.desk_simple_management == old_value
def test_export_deleted_meetingtype(app):
agenda = Agenda.objects.create(label='Agenda', kind='meetings')
meeting_type = MeetingType.objects.create(agenda=agenda, label='Meeting Type', duration=30)
output = get_output_of_command('export_site')
assert len(json.loads(output)['agendas'][0]['meetingtypes']) == 1
meeting_type.deleted = True
meeting_type.save()
output = get_output_of_command('export_site')
assert len(json.loads(output)['agendas'][0]['meetingtypes']) == 0