diff --git a/src/backoffice/views/assemblies.py b/src/backoffice/views/assemblies.py index 04f3360b4156a35c6cbc94a92db2ff7f72f5b46c..d5c894fbc64d1872d30c00d28867687532ad1b68 100644 --- a/src/backoffice/views/assemblies.py +++ b/src/backoffice/views/assemblies.py @@ -260,10 +260,10 @@ class EditAssemblyView(AssemblyMixin, UpdateView): changes[fld] = change # auto-advance assembly/channel states from 'planned' to 'registered' on (first) save - if assembly.state_assembly == Assembly.State.PLANNED and not self.staff_mode: + if assembly.state_assembly == Assembly.State.PLANNED and (assembly.user_can_manage(self.request.user) or not self.staff_mode): assembly.state_assembly = Assembly.State.REGISTERED changes['state_assembly'] = (Assembly.State.PLANNED, Assembly.State.REGISTERED) - if assembly.state_channel == Assembly.State.PLANNED and not self.staff_mode: + if assembly.state_channel == Assembly.State.PLANNED and (assembly.user_can_manage(self.request.user) or not self.staff_mode): assembly.state_channel = Assembly.State.REGISTERED changes['state_channel'] = (Assembly.State.PLANNED, Assembly.State.REGISTERED) @@ -317,7 +317,7 @@ class EditAssemblyView(AssemblyMixin, UpdateView): del changes['parent_id'] # log latest update timestamp - if self.staff_access: + if self.staff_mode and not assembly.user_can_manage(self.request.user): assembly.last_update_staff = timezone.now() changes['last_update_staff'] = str(assembly.last_update_staff) else: