From 98cecaebc650584f66d8c28c8424e8481c4814cc Mon Sep 17 00:00:00 2001 From: Kseniya Tomskikh Date: Wed, 2 Aug 2017 15:25:17 +0600 Subject: PDSUI-2181 Created entities for patient history --- .../scala/xyz/driver/pdsuicommon/acl/ACL.scala | 36 +++++++++++++++++----- 1 file changed, 28 insertions(+), 8 deletions(-) (limited to 'src/main/scala/xyz/driver/pdsuicommon/acl') diff --git a/src/main/scala/xyz/driver/pdsuicommon/acl/ACL.scala b/src/main/scala/xyz/driver/pdsuicommon/acl/ACL.scala index 07d5014..f21c165 100644 --- a/src/main/scala/xyz/driver/pdsuicommon/acl/ACL.scala +++ b/src/main/scala/xyz/driver/pdsuicommon/acl/ACL.scala @@ -85,7 +85,11 @@ object ACL extends PhiLogging { extends BaseACL( label = "extracted data", create = Set(DocumentExtractor, RecordAdmin), - read = Set(DocumentExtractor, RecordAdmin, RoutesCurator, TreatmentMatchingAdmin, ResearchOncologist), + read = Set(DocumentExtractor, + RecordAdmin, + RoutesCurator, + TreatmentMatchingAdmin, + ResearchOncologist), update = Set(DocumentExtractor, RecordAdmin), delete = Set(DocumentExtractor, RecordAdmin) ) @@ -151,7 +155,11 @@ object ACL extends PhiLogging { extends BaseACL( label = "criterion", create = Set(CriteriaCurator, TrialAdmin), - read = Set(CriteriaCurator, TrialAdmin, RoutesCurator, TreatmentMatchingAdmin, ResearchOncologist), + read = Set(CriteriaCurator, + TrialAdmin, + RoutesCurator, + TreatmentMatchingAdmin, + ResearchOncologist), update = Set(CriteriaCurator, TrialAdmin), delete = Set(CriteriaCurator, TrialAdmin) ) @@ -187,6 +195,12 @@ object ACL extends PhiLogging { update = TreatmentMatchingRoles ) + object PatientHistory + extends BaseACL( + label = "patient history", + read = Set(TreatmentMatchingAdmin) + ) + object PatientIssue extends BaseACL( label = "patient issue", @@ -238,26 +252,32 @@ object ACL extends PhiLogging { update: AclCheck = Forbid, delete: AclCheck = Forbid) { - def isCreateAllow()(implicit requestContext: AuthenticatedRequestContext): Boolean = { + def isCreateAllow()( + implicit requestContext: AuthenticatedRequestContext): Boolean = { check("create", create)(requestContext.executor.roles) } - def isReadAllow()(implicit requestContext: AuthenticatedRequestContext): Boolean = { + def isReadAllow()( + implicit requestContext: AuthenticatedRequestContext): Boolean = { check("read", read)(requestContext.executor.roles) } - def isUpdateAllow()(implicit requestContext: AuthenticatedRequestContext): Boolean = { + def isUpdateAllow()( + implicit requestContext: AuthenticatedRequestContext): Boolean = { check("update", update)(requestContext.executor.roles) } - def isDeleteAllow()(implicit requestContext: AuthenticatedRequestContext): Boolean = { + def isDeleteAllow()( + implicit requestContext: AuthenticatedRequestContext): Boolean = { check("delete", delete)(requestContext.executor.roles) } - private def check(action: String, isAllowed: AclCheck)(executorRoles: Set[Role]): Boolean = { + private def check(action: String, isAllowed: AclCheck)( + executorRoles: Set[Role]): Boolean = { loggedError( executorRoles.exists(isAllowed), - phi"${Unsafe(executorRoles.mkString(", "))} has no access to ${Unsafe(action)} a ${Unsafe(label)}" + phi"${Unsafe(executorRoles.mkString(", "))} has no access to ${Unsafe( + action)} a ${Unsafe(label)}" ) } } -- cgit v1.2.3