Coverage for postrfp/authorisation/actions.py: 100%

7 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2025-10-22 21:34 +0000

1from postrfp.authorisation import perms 

2 

3ADMIN_ACTIONS = { 

4 perms.MANAGE_ORGANISATION, 

5 perms.MANAGE_PRIVATE_ADDRESS_BOOK, 

6 perms.MANAGE_ROLES, 

7 perms.MANAGE_USERS, 

8} 

9 

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_APPROVE, 

20 perms.PROJECT_CLOSE, 

21 perms.PROJECT_CREATE, 

22 perms.PROJECT_CREATE_ON_BEHALF, 

23 perms.PROJECT_DELETE, 

24 perms.PROJECT_EDIT, 

25 perms.PROJECT_EDIT_COSMETIC, 

26 perms.PROJECT_EXPORT_COMPLETE, 

27 perms.PROJECT_IMPORT_COMPLETE, 

28 perms.PROJECT_MANAGE_ROLES, 

29 perms.PROJECT_PUBLISH, 

30 perms.PROJECT_REVERT_TO_DRAFT, 

31 perms.PROJECT_SAVE_QUESTIONNAIRE, 

32 perms.PROJECT_VIEW_QUESTIONNAIRE, 

33 perms.PROJECT_VIEW_WEIGHTING, 

34} 

35 

36# N.B. These are now merely the default permissions for the statuses 

37# of the default project workflow. Custom workflows may have 

38# different statuses with different permissions. 

39PROJECT_STATUS_ACTIONS = { 

40 "Draft": { 

41 perms.ISSUE_CREATE, 

42 perms.PROJECT_ACCESS, 

43 perms.PROJECT_APPROVE, 

44 perms.PROJECT_ADD_NOTE, 

45 perms.PROJECT_CLOSE, 

46 perms.PROJECT_DELETE, 

47 perms.PROJECT_EDIT, 

48 perms.PROJECT_EDIT_COSMETIC, 

49 perms.PROJECT_EXPORT_COMPLETE, 

50 perms.PROJECT_MANAGE_ROLES, 

51 perms.PROJECT_PUBLISH, 

52 perms.PROJECT_SAVE_QUESTIONNAIRE, 

53 perms.PROJECT_VIEW_QUESTIONNAIRE, 

54 perms.PROJECT_VIEW_WEIGHTING, 

55 }, 

56 "Live": { 

57 perms.ISSUE_CREATE, 

58 perms.ISSUE_SAVE_AGREED_SCORES, 

59 perms.ISSUE_SAVE_SCORES, 

60 perms.ISSUE_VIEW_AGREED_SCORES, 

61 perms.ISSUE_VIEW_ANSWERS, 

62 perms.ISSUE_VIEW_SCORES, 

63 perms.PROJECT_ACCESS, 

64 perms.PROJECT_APPROVE, 

65 perms.PROJECT_ADD_NOTE, 

66 perms.PROJECT_CLOSE, 

67 perms.PROJECT_EDIT_COSMETIC, 

68 perms.PROJECT_EDIT, 

69 perms.PROJECT_EXPORT_COMPLETE, 

70 perms.PROJECT_MANAGE_ROLES, 

71 perms.PROJECT_SAVE_QUESTIONNAIRE, 

72 perms.PROJECT_VIEW_QUESTIONNAIRE, 

73 perms.PROJECT_VIEW_WEIGHTING, 

74 }, 

75 "Closed": { 

76 perms.ISSUE_VIEW_AGREED_SCORES, 

77 perms.ISSUE_VIEW_ANSWERS, 

78 perms.ISSUE_VIEW_SCORES, 

79 perms.PROJECT_ACCESS, 

80 perms.PROJECT_DELETE, 

81 perms.PROJECT_EXPORT_COMPLETE, 

82 perms.PROJECT_VIEW_QUESTIONNAIRE, 

83 perms.PROJECT_VIEW_WEIGHTING, 

84 }, 

85} 

86 

87ISSUE_ACTIONS = { 

88 perms.ISSUE_CREATE, 

89 perms.ISSUE_DELETE, 

90 perms.ISSUE_PUBLISH, 

91 perms.ISSUE_RETRACT, 

92 perms.ISSUE_SAVE_AGREED_SCORES, 

93 perms.ISSUE_SAVE_SCORES, 

94 perms.ISSUE_UPDATE, 

95 perms.ISSUE_UPDATE_WORKFLOW, 

96 perms.ISSUE_VIEW_AGREED_SCORES, 

97 perms.ISSUE_VIEW_ANSWERS, 

98 perms.ISSUE_VIEW_SCORES, 

99 perms.ISSUE_VIEW_WINLOSS, 

100} 

101 

102ISSUE_STATUS_ACTIONS = { 

103 "__new__": {perms.ISSUE_CREATE}, 

104 "Not Sent": { 

105 perms.ISSUE_DELETE, 

106 perms.ISSUE_PUBLISH, 

107 perms.ISSUE_UPDATE, 

108 }, 

109 "Accepted": { 

110 perms.ISSUE_DECLINE, 

111 perms.ISSUE_RETRACT, 

112 perms.ISSUE_SUBMIT, 

113 perms.ISSUE_UPDATE, 

114 }, 

115 "Opportunity": {perms.ISSUE_RETRACT, perms.ISSUE_UPDATE}, 

116 "Submitted": { 

117 perms.ISSUE_SAVE_AGREED_SCORES, 

118 perms.ISSUE_SAVE_SCORES, 

119 perms.ISSUE_UPDATE, 

120 perms.ISSUE_VIEW_AGREED_SCORES, 

121 perms.ISSUE_VIEW_ANSWERS, 

122 perms.ISSUE_VIEW_SCORES, 

123 }, 

124 "Updateable": { 

125 perms.ISSUE_RETRACT, 

126 perms.ISSUE_SAVE_AGREED_SCORES, 

127 perms.ISSUE_SAVE_SCORES, 

128 perms.ISSUE_UPDATE, 

129 perms.ISSUE_VIEW_AGREED_SCORES, 

130 perms.ISSUE_VIEW_ANSWERS, 

131 perms.ISSUE_VIEW_SCORES, 

132 }, 

133 "Declined": { 

134 perms.ISSUE_DELETE, 

135 }, 

136 "Retracted": {perms.ISSUE_DELETE}, 

137} 

138 

139QUESTIONNAIRE_ACTIONS = { 

140 perms.ISSUE_SAVE_AGREED_SCORES, 

141 perms.ISSUE_SAVE_SCORES, 

142 perms.ISSUE_VIEW_AGREED_SCORES, 

143 perms.ISSUE_VIEW_ANSWERS, 

144 perms.ISSUE_VIEW_SCORES, 

145 perms.ISSUE_VIEW_AGREED_SCORES, 

146 perms.PROJECT_EDIT, 

147 perms.PROJECT_EDIT_COSMETIC, 

148 perms.PROJECT_EDIT_WEIGHTING, 

149 perms.PROJECT_VIEW_QUESTIONNAIRE, 

150}