001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.module.ar.document.authorization;
017
018 import org.kuali.kfs.sys.document.authorization.FinancialSystemMaintenanceDocumentAuthorizerBase;
019
020 public class CustomerAuthorizer extends FinancialSystemMaintenanceDocumentAuthorizerBase {
021
022 // TODO this is commented out because the old logic doesnt match up the new logic at
023 // https://test.kuali.org/confluence/display/KULAR/Document+Types%2C+Approvals
024
025 // the rules should be: persons belonging to AR Biller or AR Processor roles can
026 // initiate these documents, both Create and Maintain (ie, New and Edit).
027 //
028 // All approvals is done by AR_ROLE_MAINTAINERS (or whatever the KIM group/role equiv of htat is)
029 //
030 // Furthermore, System Super Users should be able to do everything, including BlanketApprove.
031
032 ///**
033 // * @see org.kuali.rice.kns.document.authorization.MaintenanceDocumentAuthorizerBase#getDocumentActionFlags(org.kuali.rice.kns.document.Document, org.kuali.rice.kim.bo.Person)
034 // */
035 //@Override
036 //public FinancialSystemDocumentActionFlags getDocumentActions(Document document) {
037 // FinancialSystemDocumentActionFlags actionFlags = super.getDocumentActionFlags(document);
038 //
039 // MaintenanceDocument maintDocument = (MaintenanceDocument) document;
040 // String maintenanceAction = maintDocument.getNewMaintainableObject().getMaintenanceAction();
041 //
042 // // this is used for batch processing of customer records
043 // if (KFSConstants.SYSTEM_USER.equalsIgnoreCase(user.getPrincipalName())) {
044 // actionFlags.setCanApprove(true);
045 // actionFlags.setCanBlanketApprove(true);
046 // actionFlags.setCanAdHocRoute(true);
047 // actionFlags.setCanRoute(true);
048 // return actionFlags;
049 // }
050 //
051 // // if user is not AR SUPERVISOR he cannot approve the customer creation document
052 // if (KNSConstants.MAINTENANCE_NEW_ACTION.equalsIgnoreCase(maintenanceAction) && !ARUtil.isUserInArSupervisorGroup(user)) {
053 //
054 // actionFlags.setCanApprove(false);
055 // actionFlags.setCanBlanketApprove(false);
056 //
057 // }
058 //
059 // // if ((maintenanceAction.equalsIgnoreCase(KNSConstants.MAINTENANCE_EDIT_ACTION) ||
060 // // maintenanceAction.equalsIgnoreCase(KNSConstants.MAINTENANCE_COPY_ACTION)) && !isUserInArSupervisorGroup(user)) {
061 // //
062 // // actionFlags.setCanRoute(false);
063 // // actionFlags.setCanSave(false);
064 // // actionFlags.setCanCancel(false);
065 // //
066 // // }
067 // return actionFlags;
068 //}
069 }
070