Interface DocumentTypePermissionService

All Known Implementing Classes:
DocumentTypePermissionServiceAuthorizerImpl, DocumentTypePermissionServiceImpl

public interface DocumentTypePermissionService
Implements permission checks related to Document Type. In general, these permission checks are invoked from the various actions which require authorization.
Author:
Kuali Rice Team (rice.collab@kuali.org)
  • Method Details

    • canReceiveAdHocRequest

      boolean canReceiveAdHocRequest(String principalId, DocumentRouteHeaderValue document, String actionRequestCode)
      Determines if the given principal is authorized to receive ad hoc requests for the given DocumentType and action request type.
    • canGroupReceiveAdHocRequest

      boolean canGroupReceiveAdHocRequest(String groupId, DocumentRouteHeaderValue document, String actionRequestCode)
      Determines if the given group is authorized to receive ad hoc requests of the specified action request code for the given DocumentType and action request type. A group is considered to be authorized to receive an ad hoc request if all of it's members can receive the request.
    • canAdministerRouting

      boolean canAdministerRouting(String principalId, DocumentType documentType)
      Determines if the given principal can administer routing for the given DocumentType. Having this permission gives them "super user" capabilities.
    • canSuperUserApproveSingleActionRequest

      boolean canSuperUserApproveSingleActionRequest(String principalId, DocumentType documentType, List<RouteNodeInstance> routeNodeInstances, String routeStatusCode)
      Determines if the given principal can super user approve a single action request for a given DocumentType, route node, and routeStatusCode
    • canSuperUserApproveDocument

      boolean canSuperUserApproveDocument(String principalId, DocumentType documentType, List<RouteNodeInstance> routeNodeInstances, String routeStatusCode)
      Determines if the given principal can super user approve a document for a given DocumentType, route node, and routeStatusCode
    • canSuperUserDisapproveDocument

      boolean canSuperUserDisapproveDocument(String principalId, DocumentType documentType, List<RouteNodeInstance> routeNodeInstances, String routeStatusCode)
      Determines if the given principal can super user disapprove a document for a given DocumentType, route node, and routeStatusCode
    • canInitiate

      boolean canInitiate(String principalId, DocumentType documentType)
      Determines if the given principal can initiate documents of the given DocumentType.
    • canRoute

      boolean canRoute(String principalId, DocumentRouteHeaderValue documentRouteHeaderValue)
      Determines if the given principal can route documents of the given DocumentRouteHeaderValue. The permission check also considers the document status and initiator of the document.
    • canSave

      boolean canSave(String principalId, DocumentRouteHeaderValue document)
      Determines if the given principal can save documents of the given DocumentType. The permission check also considers the document's current route nodes, document status, and initiator of the document.

      It is intended the only one of the given route nodes will need to satisfy the permission check. For example, if the save permission is defined for node 1 but not for node 2, then a document which is at both node 1 and node 2 should satisfy the permission check.

    • canBlanketApprove

      boolean canBlanketApprove(String principalId, DocumentRouteHeaderValue document)
      Determines if the given principal can blanket approve documents of the given DocumentType. The permission check also considers the document status and the initiator of the document.
    • canCancel

      boolean canCancel(String principalId, DocumentRouteHeaderValue document)
      Determines if the given principal can cancel documents of the given DocumentType. The permission check also considers the document's current route nodes, document status, and initiator of the document.

      It is intended the only one of the given route nodes will need to satisfy the permission check. For example, if the cancel permission is defined for node 1 but not for node 2, then a document which is at both node 1 and node 2 should satisfy the permission check.

    • canAddRouteLogMessage

      boolean canAddRouteLogMessage(String principalId, DocumentRouteHeaderValue documentRouteHeaderValue)
      Determines if the given principal can add route log messages for documents of the given DocumentRouteHeaderValue. The permission check also considers the document status and initiator of the document.
    • canRecall

      boolean canRecall(String principalId, DocumentRouteHeaderValue document)
      Determines if the given principal can recall the specified document given the permission details.
      Since:
      2.1
    • canReturnToPreviousRouteNode

      boolean canReturnToPreviousRouteNode(String principalId, DocumentRouteHeaderValue document)
      Determines if the given principal has the permission to return document to previous route node.