org.kuali.kfs.fp.document.authorization
Class DisbursementVoucherDocumentAuthorizer

java.lang.Object
  extended by org.kuali.rice.kns.authorization.BusinessObjectAuthorizerBase
      extended by org.kuali.rice.kns.document.authorization.DocumentAuthorizerBase
          extended by org.kuali.rice.kns.document.authorization.TransactionalDocumentAuthorizerBase
              extended by org.kuali.kfs.sys.document.authorization.FinancialSystemTransactionalDocumentAuthorizerBase
                  extended by org.kuali.kfs.sys.document.authorization.AccountingDocumentAuthorizerBase
                      extended by org.kuali.kfs.fp.document.authorization.DisbursementVoucherDocumentAuthorizer
All Implemented Interfaces:
org.kuali.rice.kns.authorization.BusinessObjectAuthorizer, org.kuali.rice.kns.document.authorization.DocumentAuthorizer, org.kuali.rice.kns.document.authorization.TransactionalDocumentAuthorizer

public class DisbursementVoucherDocumentAuthorizer
extends AccountingDocumentAuthorizerBase

Adds extra role qualifiers for funky travel edit mode permission


Field Summary
 
Fields inherited from class org.kuali.kfs.sys.document.authorization.AccountingDocumentAuthorizerBase
LOG
 
Fields inherited from class org.kuali.rice.kns.document.authorization.DocumentAuthorizerBase
EDIT_MODE_DEFAULT_TRUE_VALUE, PRE_ROUTING_ROUTE_NAME, USER_SESSION_METHOD_TO_CALL_COMPLETE_MARKER, USER_SESSION_METHOD_TO_CALL_COMPLETE_OBJECT_KEY, USER_SESSION_METHOD_TO_CALL_OBJECT_KEY
 
Constructor Summary
DisbursementVoucherDocumentAuthorizer()
           
 
Method Summary
protected  void addAccountQualification(List accountingLines, Map<String,String> attributes)
          Goes through the given List of accounting lines and fines one line where the current user is the fiscal officer; it uses that line to put chart of accounts code and account number qualifications into the given Map of attributes for role qualification
protected  void addRoleQualification(org.kuali.rice.kns.bo.BusinessObject businessObject, Map<String,String> attributes)
          Adds chart codes and account numbers for accounting lines if we're at Account level, so that the fiscal officer gets travel edit mode
protected  List getAccountingLines(DisbursementVoucherDocument disbursementVoucherDocument)
          Finds the source accounting lines in the given business object
protected  List<String> getCurrentRouteLevels(org.kuali.rice.kns.workflow.service.KualiWorkflowDocument workflowDocument)
          A helper method for determining the route levels for a given document.
protected  boolean isAtAccountLevel(DisbursementVoucherDocument disbursementVoucherDocument)
          Determines if the document is at the Account route level
 
Methods inherited from class org.kuali.kfs.sys.document.authorization.AccountingDocumentAuthorizerBase
determineLineEditability
 
Methods inherited from class org.kuali.kfs.sys.document.authorization.FinancialSystemTransactionalDocumentAuthorizerBase
canEditBankCode, canErrorCorrect, getDocumentActions
 
Methods inherited from class org.kuali.rice.kns.document.authorization.TransactionalDocumentAuthorizerBase
getEditModes
 
Methods inherited from class org.kuali.rice.kns.document.authorization.DocumentAuthorizerBase
addPermissionDetails, addStandardAttributes, canAddNoteAttachment, canDeleteNoteAttachment, canEditDocumentOverview, canInitiate, canOpen, canReceiveAdHoc, canSendAdHocRequests, canSendAnyTypeAdHocRequests, canTakeRequestedAction, canViewNoteAttachment, getRouteHeaderService, isDocumentInitiator
 
Methods inherited from class org.kuali.rice.kns.authorization.BusinessObjectAuthorizerBase
getCollectionItemPermissionDetails, getCollectionItemRoleQualifications, getDataDictionaryService, getIdentityManagementService, getKualiModuleService, getPermissionDetailValues, getPersonService, getRoleQualification, getRoleQualification, isAuthorized, isAuthorized, isAuthorizedByTemplate, isAuthorizedByTemplate, permissionExistsByTemplate, permissionExistsByTemplate, permissionExistsByTemplate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.kuali.rice.kns.document.authorization.DocumentAuthorizer
canAddNoteAttachment, canDeleteNoteAttachment, canInitiate, canOpen, canReceiveAdHoc, canSendAdHocRequests, canViewNoteAttachment
 
Methods inherited from interface org.kuali.rice.kns.authorization.BusinessObjectAuthorizer
getCollectionItemPermissionDetails, getCollectionItemRoleQualifications, isAuthorized, isAuthorized, isAuthorizedByTemplate, isAuthorizedByTemplate
 

Constructor Detail

DisbursementVoucherDocumentAuthorizer

public DisbursementVoucherDocumentAuthorizer()
Method Detail

addRoleQualification

protected void addRoleQualification(org.kuali.rice.kns.bo.BusinessObject businessObject,
                                    Map<String,String> attributes)
Adds chart codes and account numbers for accounting lines if we're at Account level, so that the fiscal officer gets travel edit mode

Overrides:
addRoleQualification in class AccountingDocumentAuthorizerBase
See Also:
AccountingDocumentAuthorizerBase.addRoleQualification(org.kuali.rice.kns.bo.BusinessObject, java.util.Map)

getAccountingLines

protected List getAccountingLines(DisbursementVoucherDocument disbursementVoucherDocument)
Finds the source accounting lines in the given business object

Parameters:
disbursementVoucherDocument - a document to get accounting lines from
Returns:
a List of accounting lines

addAccountQualification

protected void addAccountQualification(List accountingLines,
                                       Map<String,String> attributes)
Goes through the given List of accounting lines and fines one line where the current user is the fiscal officer; it uses that line to put chart of accounts code and account number qualifications into the given Map of attributes for role qualification

Parameters:
accountingLines - a List of AccountingLines
attributes - a Map of role qualification attributes

getCurrentRouteLevels

protected List<String> getCurrentRouteLevels(org.kuali.rice.kns.workflow.service.KualiWorkflowDocument workflowDocument)
A helper method for determining the route levels for a given document.

Parameters:
workflowDocument -
Returns:
List

isAtAccountLevel

protected boolean isAtAccountLevel(DisbursementVoucherDocument disbursementVoucherDocument)
Determines if the document is at the Account route level

Parameters:
disbursementVoucherDocument - the Disbursement Voucher document to determine the account level of
Returns:
true if the document is at the account level, false otherwise


Copyright © 2005-2012 The Kuali Foundation. All Rights Reserved.