in app/actions/PermissionAction.scala [48:68]
def checkPermission(
email: String,
page: String,
requiredPermission: Permission,
userPermissions: Option[List[UserPermissions.PagePermission]]
): Option[Result] = {
userPermissions match {
case Some(permissions) =>
permissions.find(permission => permission.name == page) match {
case Some(userPermission) =>
userPermission.permission match {
case Permission.Write => None // user has full access
case Permission.Read =>
if (requiredPermission != Permission.Write) None
else Some(logAndForbid(s"Invalid permission for user ${email}, for page $page"))
}
case None => Some(logAndForbid(s"No permission found for user ${email}, for page $page"))
}
case None => Some(logAndForbid(s"No permissions found for user ${email}"))
}
}