Coverage for rfpy/auth/actions.py: 100%
7 statements
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
« prev ^ index » next coverage.py v7.8.0, created at 2025-04-24 10:52 +0000
1from rfpy.auth import perms
3ADMIN_ACTIONS = {
4 perms.MANAGE_ORGANISATION,
5 perms.MANAGE_PRIVATE_ADDRESS_BOOK,
6 perms.MANAGE_ROLES,
7 perms.MANAGE_USERS,
8}
10PROJECT_ACTIONS = {
11 perms.ISSUE_SAVE_AGREED_SCORES,
12 perms.ISSUE_SAVE_SCORES,
13 perms.ISSUE_VIEW_AGREED_SCORES,
14 perms.ISSUE_VIEW_ANSWERS,
15 perms.ISSUE_VIEW_SCORES,
16 perms.ISSUE_CREATE,
17 perms.PROJECT_ACCESS,
18 perms.PROJECT_ADD_NOTE,
19 perms.PROJECT_CLOSE,
20 perms.PROJECT_CREATE,
21 perms.PROJECT_CREATE_ON_BEHALF,
22 perms.PROJECT_DELETE,
23 perms.PROJECT_EDIT,
24 perms.PROJECT_EDIT_COSMETIC,
25 perms.PROJECT_EXPORT_COMPLETE,
26 perms.PROJECT_IMPORT_COMPLETE,
27 perms.PROJECT_MANAGE_ROLES,
28 perms.PROJECT_PUBLISH,
29 perms.PROJECT_REVERT_TO_DRAFT,
30 perms.PROJECT_SAVE_QUESTIONNAIRE,
31 perms.PROJECT_VIEW_QUESTIONNAIRE,
32 perms.PROJECT_VIEW_WEIGHTING,
33}
35PROJECT_STATUS_ACTIONS = {
36 "Draft": {
37 perms.ISSUE_CREATE,
38 perms.PROJECT_ACCESS,
39 perms.PROJECT_ADD_NOTE,
40 perms.PROJECT_CLOSE,
41 perms.PROJECT_DELETE,
42 perms.PROJECT_EDIT,
43 perms.PROJECT_EDIT_COSMETIC,
44 perms.PROJECT_EXPORT_COMPLETE,
45 perms.PROJECT_MANAGE_ROLES,
46 perms.PROJECT_PUBLISH,
47 perms.PROJECT_SAVE_QUESTIONNAIRE,
48 perms.PROJECT_VIEW_QUESTIONNAIRE,
49 perms.PROJECT_VIEW_WEIGHTING,
50 },
51 "Live": {
52 perms.ISSUE_CREATE,
53 perms.ISSUE_SAVE_AGREED_SCORES,
54 perms.ISSUE_SAVE_SCORES,
55 perms.ISSUE_VIEW_AGREED_SCORES,
56 perms.ISSUE_VIEW_ANSWERS,
57 perms.ISSUE_VIEW_SCORES,
58 perms.PROJECT_ACCESS,
59 perms.PROJECT_ADD_NOTE,
60 perms.PROJECT_CLOSE,
61 perms.PROJECT_EDIT_COSMETIC,
62 perms.PROJECT_EDIT,
63 perms.PROJECT_EXPORT_COMPLETE,
64 perms.PROJECT_MANAGE_ROLES,
65 perms.PROJECT_SAVE_QUESTIONNAIRE,
66 perms.PROJECT_VIEW_QUESTIONNAIRE,
67 perms.PROJECT_VIEW_WEIGHTING,
68 },
69 "Closed": {
70 perms.ISSUE_VIEW_AGREED_SCORES,
71 perms.ISSUE_VIEW_ANSWERS,
72 perms.ISSUE_VIEW_SCORES,
73 perms.PROJECT_ACCESS,
74 perms.PROJECT_DELETE,
75 perms.PROJECT_EXPORT_COMPLETE,
76 perms.PROJECT_VIEW_QUESTIONNAIRE,
77 perms.PROJECT_VIEW_WEIGHTING,
78 },
79}
81ISSUE_ACTIONS = {
82 perms.ISSUE_CREATE,
83 perms.ISSUE_DELETE,
84 perms.ISSUE_PUBLISH,
85 perms.ISSUE_RETRACT,
86 perms.ISSUE_SAVE_AGREED_SCORES,
87 perms.ISSUE_SAVE_SCORES,
88 perms.ISSUE_UPDATE,
89 perms.ISSUE_UPDATE_WORKFLOW,
90 perms.ISSUE_VIEW_AGREED_SCORES,
91 perms.ISSUE_VIEW_ANSWERS,
92 perms.ISSUE_VIEW_SCORES,
93 perms.ISSUE_VIEW_WINLOSS,
94}
96ISSUE_STATUS_ACTIONS = {
97 "__new__": {perms.ISSUE_CREATE},
98 "Not Sent": {
99 perms.ISSUE_DELETE,
100 perms.ISSUE_PUBLISH,
101 perms.ISSUE_UPDATE,
102 },
103 "Accepted": {
104 perms.ISSUE_DECLINE,
105 perms.ISSUE_RETRACT,
106 perms.ISSUE_SUBMIT,
107 perms.ISSUE_UPDATE,
108 },
109 "Opportunity": {perms.ISSUE_RETRACT, perms.ISSUE_UPDATE},
110 "Submitted": {
111 perms.ISSUE_SAVE_AGREED_SCORES,
112 perms.ISSUE_SAVE_SCORES,
113 perms.ISSUE_UPDATE,
114 perms.ISSUE_VIEW_AGREED_SCORES,
115 perms.ISSUE_VIEW_ANSWERS,
116 perms.ISSUE_VIEW_SCORES,
117 },
118 "Updateable": {
119 perms.ISSUE_RETRACT,
120 perms.ISSUE_SAVE_AGREED_SCORES,
121 perms.ISSUE_SAVE_SCORES,
122 perms.ISSUE_UPDATE,
123 perms.ISSUE_VIEW_AGREED_SCORES,
124 perms.ISSUE_VIEW_ANSWERS,
125 perms.ISSUE_VIEW_SCORES,
126 },
127 "Declined": {
128 perms.ISSUE_DELETE,
129 },
130 "Retracted": {perms.ISSUE_DELETE},
131}
133QUESTIONNAIRE_ACTIONS = {
134 perms.ISSUE_SAVE_AGREED_SCORES,
135 perms.ISSUE_SAVE_SCORES,
136 perms.ISSUE_VIEW_AGREED_SCORES,
137 perms.ISSUE_VIEW_ANSWERS,
138 perms.ISSUE_VIEW_SCORES,
139 perms.ISSUE_VIEW_AGREED_SCORES,
140 perms.PROJECT_EDIT,
141 perms.PROJECT_EDIT_COSMETIC,
142 perms.PROJECT_EDIT_WEIGHTING,
143 perms.PROJECT_VIEW_QUESTIONNAIRE,
144}