authorization checks for task orders
This commit is contained in:
@@ -33,3 +33,24 @@ class Authorization(object):
|
||||
@classmethod
|
||||
def is_ccpo(cls, user):
|
||||
return user.atat_role.name == "ccpo"
|
||||
|
||||
@classmethod
|
||||
def check_task_order_permission(cls, user, task_order, permission, message):
|
||||
if Authorization._check_is_task_order_officer(task_order, user):
|
||||
return True
|
||||
|
||||
Authorization.check_workspace_permission(
|
||||
user, task_order.workspace, permission, message
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def _check_is_task_order_officer(cls, task_order, user):
|
||||
for officer in [
|
||||
"contracting_officer",
|
||||
"contracting_officer_representative",
|
||||
"security_officer",
|
||||
]:
|
||||
if getattr(task_order, officer, None) == user:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user