manager: create a new desk only on new meetings agendas (#53444)
This commit is contained in:
parent
9a01619c85
commit
000ea8dc07
|
@ -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
|
||||
|
|
|
@ -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')
|
||||
|
|
Loading…
Reference in New Issue