@@ -675,11 +675,10 @@ class UploadContractView(ProjectBySubmissionIdMixin, View):
675675
676676 def dispatch (self , request , * args , ** kwargs ):
677677 self .project = self .get_object ()
678- permission , _ = has_permission (
679- "contract_upload" , request .user , object = self .project
678+ has_permission (
679+ "contract_upload" , request .user , object = self .project , raise_exception = True
680680 )
681- if permission :
682- return super ().dispatch (request , * args , ** kwargs )
681+ return super ().dispatch (request , * args , ** kwargs )
683682
684683 def get (self , * args , ** kwargs ):
685684 form = self .get_form ()
@@ -818,13 +817,19 @@ def post(self, *args, **kwargs):
818817 )
819818
820819
820+ @method_decorator (login_required , name = "dispatch" )
821821class SkipPAFApprovalProcessView (UpdateView ):
822822 model = Project
823823 form_class = SkipPAFApprovalProcessForm
824824
825825 def dispatch (self , request , * args , ** kwargs ):
826826 self .object = get_object_or_404 (Project , id = kwargs .get ("pk" ))
827- # permissions
827+ has_permission (
828+ "skip_pafapproval_process" ,
829+ request .user ,
830+ object = self .object ,
831+ raise_exception = True ,
832+ )
828833 return super ().dispatch (request , * args , ** kwargs )
829834
830835 def form_valid (self , form ):
@@ -884,7 +889,7 @@ def dispatch(self, request, *args, **kwargs):
884889 ).exists ():
885890 raise PermissionDenied
886891 contract = self .project .contracts .order_by ("-created_at" ).first ()
887- permission , _ = has_permission (
892+ has_permission (
888893 "submit_contract_documents" ,
889894 request .user ,
890895 object = self .project ,
@@ -1024,7 +1029,7 @@ class ChangePAFStatusView(View):
10241029
10251030 def dispatch (self , request , * args , ** kwargs ):
10261031 self .object = get_object_or_404 (Project , submission__pk = self .kwargs ["pk" ])
1027- permission , _ = has_permission (
1032+ has_permission (
10281033 "paf_status_update" ,
10291034 self .request .user ,
10301035 object = self .object ,
@@ -1274,7 +1279,7 @@ class ChangeProjectstatusView(View):
12741279
12751280 def dispatch (self , request , * args , ** kwargs ):
12761281 self .project = get_object_or_404 (Project , submission__id = self .kwargs ["pk" ])
1277- permission , _ = has_permission (
1282+ has_permission (
12781283 "project_status_update" , request .user , self .project , raise_exception = True
12791284 )
12801285 return super ().dispatch (request , * args , ** kwargs )
@@ -1339,7 +1344,7 @@ class UpdateAssignApproversView(View):
13391344
13401345 def dispatch (self , request , * args , ** kwargs ):
13411346 self .project = get_object_or_404 (Project , submission__id = self .kwargs ["pk" ])
1342- permission , _ = has_permission (
1347+ has_permission (
13431348 "update_paf_assigned_approvers" ,
13441349 request .user ,
13451350 self .project ,
@@ -1447,7 +1452,7 @@ class UpdatePAFApproversView(View):
14471452
14481453 def dispatch (self , request , * args , ** kwargs ):
14491454 self .project = get_object_or_404 (Project , submission__id = self .kwargs ["pk" ])
1450- permission , _ = has_permission (
1455+ has_permission (
14511456 "paf_approvers_update" ,
14521457 request .user ,
14531458 self .project ,
@@ -1659,7 +1664,7 @@ class AdminProjectDetailView(
16591664
16601665 def dispatch (self , * args , ** kwargs ):
16611666 project = self .get_object ()
1662- permission , _ = has_permission (
1667+ has_permission (
16631668 "project_access" , self .request .user , object = project , raise_exception = True
16641669 )
16651670 return super ().dispatch (* args , ** kwargs )
@@ -1688,7 +1693,7 @@ class ApplicantProjectDetailView(
16881693
16891694 def dispatch (self , request , * args , ** kwargs ):
16901695 project = self .get_object ()
1691- permission , _ = has_permission (
1696+ has_permission (
16921697 "project_access" , request .user , object = project , raise_exception = True
16931698 )
16941699 return super ().dispatch (request , * args , ** kwargs )
@@ -1770,7 +1775,7 @@ class CategoryTemplatePrivateMediaView(ProjectBySubmissionIdMixin, PrivateMediaV
17701775 def dispatch (self , * args , ** kwargs ):
17711776 self .project = self .get_object ()
17721777 self .category_type = kwargs ["type" ]
1773- permission , _ = has_permission (
1778+ has_permission (
17741779 "project_access" ,
17751780 self .request .user ,
17761781 object = self .project ,
@@ -1834,7 +1839,7 @@ class ContractDocumentPrivateMediaView(ProjectBySubmissionIdMixin, PrivateMediaV
18341839 def dispatch (self , * args , ** kwargs ):
18351840 self .project = self .get_object ()
18361841 self .document = ContractPacketFile .objects .get (pk = kwargs ["file_pk" ])
1837- permission , _ = has_permission (
1842+ has_permission (
18381843 "view_contract_documents" ,
18391844 self .request .user ,
18401845 object = self .project ,
@@ -2033,6 +2038,7 @@ def get_supporting_documents(self, project):
20332038 return documents_dict
20342039
20352040
2041+ @method_decorator (staff_or_finance_or_contracting_required , name = "dispatch" )
20362042class ProjectFormsEditView (BaseStreamForm , ProjectBySubmissionIdMixin , UpdateView ):
20372043 model = Project
20382044
@@ -2042,11 +2048,7 @@ def buttons(self):
20422048 def dispatch (self , request , * args , ** kwargs ):
20432049 self .object = self .get_object ()
20442050
2045- permission , msg = has_permission (
2046- "paf_edit" , self .request .user , self .object , raise_exception = True
2047- )
2048- if not permission :
2049- messages .info (self .request , msg )
2051+ has_permission ("paf_edit" , self .request .user , self .object , raise_exception = True )
20502052 return super ().dispatch (request , * args , ** kwargs )
20512053
20522054 def get_context_data (self , ** kwargs ):
0 commit comments