Skip to content

Commit ff27f23

Browse files
authored
Merge pull request #8160 from 4teamwork/es/TI-2422-task-permission-revoke
Fix revocation of temporary dossier permissions when a task is cancelled from the "in progress" state.
2 parents 3fd8625 + 5a5b980 commit ff27f23

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

changes/TI-2422.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Ensure that temporary dossier permissions are correctly revoked when a task is cancelled from the "in progress" state. [elioschmutz]

opengever/task/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
FINAL_TRANSITIONS = [
4545
'task-transition-open-cancelled',
46+
'task-transition-in-progress-cancelled',
4647
'task-transition-open-tested-and-closed',
4748
'task-transition-in-progress-tested-and-closed',
4849
'task-transition-resolved-tested-and-closed',

opengever/task/tests/test_localroles.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -771,6 +771,30 @@ def test_cancelling_a_task_revokes_roles(self, browser):
771771
storage = RoleAssignmentManager(self.subtask).storage
772772
self.assertEqual([], storage._storage())
773773

774+
@browsing
775+
def test_cancelling_a_task_in_progress_revokes_roles(self, browser):
776+
self.login(self.dossier_responsible, browser=browser)
777+
self.set_workflow_state('task-state-in-progress', self.subtask)
778+
storage = RoleAssignmentManager(self.subtask).storage
779+
780+
self.assertEqual(
781+
[{'cause': ASSIGNMENT_VIA_TASK,
782+
'roles': ['Editor'],
783+
'reference': Oguid.for_object(self.subtask),
784+
'principal': self.regular_user.id},
785+
{'cause': ASSIGNMENT_VIA_TASK_AGENCY,
786+
'roles': ['Editor'],
787+
'reference': Oguid.for_object(self.subtask),
788+
'principal': 'fa_inbox_users'}],
789+
storage._storage())
790+
791+
# cancel
792+
browser.open(self.subtask, view='tabbedview_view-overview')
793+
browser.click_on('Cancel')
794+
browser.click_on('Save')
795+
796+
self.assertEqual([], storage._storage())
797+
774798
@browsing
775799
def test_cancelling_a_task_does_not_revoke_roles_if_revoke_permission_is_false(self, browser):
776800
self.login(self.dossier_responsible, browser=browser)

0 commit comments

Comments
 (0)