Coverage for rfpy/auth/vendor_actions.py: 100%

8 statements  

« prev     ^ index     » next       coverage.py v7.0.1, created at 2022-12-31 16:00 +0000

1from rfpy.auth import perms 

2 

3 

4ADMIN_ACTIONS = { 

5 perms.MANAGE_ORGANISATION, 

6 perms.MANAGE_USERS 

7} 

8 

9ISSUE_ACTIONS = { 

10 perms.ISSUE_ACCEPT, 

11 perms.ISSUE_DECLINE, 

12 perms.ISSUE_SUBMIT, 

13 perms.APPROVE_ANSWERS, 

14 perms.ISSUE_VIEW_WINLOSS, 

15 perms.ISSUE_VIEW_ANSWERS, 

16 perms.ISSUE_UPDATE_WORKFLOW, 

17 perms.ISSUE_SAVE_QUESTION_RESPONSE, 

18 perms.ISSUE_MANAGE_RESPONDENT_ATTACHMENTS 

19} 

20 

21ISSUE_STATUS_ACTIONS = { 

22 

23 'Not Sent': {}, 

24 'Opportunity': { 

25 perms.ISSUE_ACCEPT, 

26 perms.ISSUE_DECLINE, 

27 perms.ISSUE_VIEW_ANSWERS 

28 }, 

29 'Accepted': { 

30 perms.ISSUE_DECLINE, 

31 perms.ISSUE_SUBMIT, 

32 perms.APPROVE_ANSWERS, 

33 perms.ISSUE_VIEW_ANSWERS, 

34 perms.ISSUE_SAVE_QUESTION_RESPONSE, 

35 perms.ISSUE_MANAGE_RESPONDENT_ATTACHMENTS, 

36 perms.ISSUE_UPDATE_WORKFLOW 

37 }, 

38 'Submitted': { 

39 perms.ISSUE_VIEW_ANSWERS, 

40 perms.ISSUE_VIEW_WINLOSS 

41 }, 

42 'Updateable': { 

43 perms.ISSUE_DECLINE, 

44 perms.APPROVE_ANSWERS, 

45 perms.ISSUE_VIEW_ANSWERS, 

46 perms.ISSUE_SAVE_QUESTION_RESPONSE, 

47 perms.ISSUE_VIEW_WINLOSS, 

48 perms.ISSUE_MANAGE_RESPONDENT_ATTACHMENTS, 

49 perms.ISSUE_UPDATE_WORKFLOW 

50 }, 

51 'Declined': { 

52 perms.ISSUE_VIEW_ANSWERS, 

53 }, 

54 'Retracted': {} 

55} 

56 

57ILLEGAL_AFTER_DEADLINE = { 

58 perms.ISSUE_SUBMIT, 

59 perms.ISSUE_SAVE_QUESTION_RESPONSE, 

60 perms.ISSUE_MANAGE_RESPONDENT_ATTACHMENTS, 

61 perms.ISSUE_UPDATE_WORKFLOW, 

62 perms.ANSWER_QUESTIONS_ALLOCATED_TO_ANYONE, 

63 perms.APPROVE_ANSWERS 

64} 

65 

66ANSWERING_ACTIONS = { 

67 perms.ISSUE_SAVE_QUESTION_RESPONSE, 

68 perms.ANSWER_QUESTIONS_ALLOCATED_TO_ANYONE, 

69 perms.APPROVE_ANSWERS 

70} 

71 

72for status_actions in ISSUE_STATUS_ACTIONS.values(): 

73 for action in status_actions: 

74 if action not in ISSUE_ACTIONS: # pragma: no cover 

75 raise Exception(f'Invalid configuration - {action} not in ISSUE_ACTIONS')