manager: create a new desk only on new meetings agendas (#53444)

This commit is contained in:
Thomas NOËL 2021-04-26 22:15:04 +02:00
parent 9a01619c85
commit 000ea8dc07
2 changed files with 24 additions and 1 deletions

View File

@ -66,8 +66,9 @@ class AgendaAddForm(forms.ModelForm):
fields = ['label', 'kind', 'category', 'edit_role', 'view_role']
def save(self, *args, **kwargs):
create = self.instance.pk is None
super().save()
if self.instance.kind == 'meetings':
if create and self.instance.kind == 'meetings':
default_desk = self.instance.desk_set.create(label=_('Desk 1'))
default_desk.import_timeperiod_exceptions_from_settings(enable=True)
self.instance.desk_simple_management = True

View File

@ -433,6 +433,28 @@ def test_add_agenda_as_manager(app, manager_user):
app.get('/manage/agendas/add/', status=403)
def test_add_agenda_and_set_role(app, admin_user, manager_user):
app = login(app)
resp = app.get('/manage/', status=200)
resp = resp.click('New')
resp.form['label'] = 'Foo bar'
resp.form['kind'] = 'meetings'
resp = resp.form.submit().follow()
agenda = Agenda.objects.get(label='Foo bar')
assert agenda.desk_set.count() == 1
resp = app.get('/manage/agendas/%s/settings' % agenda.id)
resp = resp.click('Configure', href='roles')
role = manager_user.groups.all()[0]
resp.form['edit_role'] = manager_user.groups.all()[0].pk
resp = resp.form.submit().follow()
assert 'Edit Role: Managers' in resp.text
# still only one desk
assert agenda.desk_set.count() == 1
def test_options_agenda(app, admin_user):
agenda_events = Agenda.objects.create(label=u'Foo bar', kind='events')
agenda_meetings = Agenda.objects.create(label=u'Foo bar', kind='meetings')