/* * Copyright (c) 2005-2011 Grameen Foundation USA * All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. See the License for the specific language governing * permissions and limitations under the License. * * See also http://www.apache.org/licenses/LICENSE-2.0.html for an * explanation of the license and how it is applied. */ package org.mifos.security.util; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import org.mifos.accounts.util.helpers.AccountStates; import org.mifos.accounts.util.helpers.AccountTypes; import org.mifos.accounts.util.helpers.WaiveEnum; import org.mifos.application.servicefacade.ApplicationContextProvider; import org.mifos.customers.api.CustomerLevel; import org.mifos.customers.group.util.helpers.GroupConstants; import org.mifos.customers.util.helpers.CustomerConstants; import org.mifos.framework.util.helpers.DateUtils; import org.mifos.reports.business.ReportsBO; import org.mifos.reports.persistence.ReportsPersistence; import org.mifos.security.rolesandpermission.persistence.LegacyRolesPermissionsDao; /** * Singleton. */ public class ActivityMapper { private final short SAVING_CANCHANGESTATETO_PARTIALAPPLICATION = 140; private final short SAVING_CANCHANGESTATETO_PENDINGAPPROVAL = 180; private final short SAVING_CANCHANGESTATETO_CANCEL = 181; private final short SAVING_CANCHANGESTATETO_APPROVED = 182; private final short SAVING_CANCHANGESTATETO_INACTIVE = 183; private final short SAVING_CANCHANGESTATETO_INACTIVE_BLACKLISTED = 184; private final short SAVING_BLACKLISTED_FLAG = 6; private final short SAVING_CANSAVEFORLATER = 137; private final short SAVING_CANSUBMITFORAPPROVAL = 185; private final short LOANACC_CANCHANGETO_PARTIALAPPLICATION = 103; private final short LOANACC_CANCHANGETO_PENDINGAPPROVAL = 108; private final short LOANACC_CANCHANGETO_APPROVED = 104; private final short LOANACC_CANCHANGETO_DBTOLOANOFFICER = 106; private final short LOANACC_CANCHANGETO_ACTIVEINGOODSTANDING = 107; private final short LOANACC_CANCHANGETO_OBLIGATIONSMET = 111; private final short LOANACC_CANCHANGETO_WRITTENOFF = 109; private final short LOANACC_CANCHANGETO_RESCHEDULED = 110; private final short LOANACC_CANCHANGETO_BADSTANDING = 112; private final short LOANACC_CANCHANGETO_CANCEL = 105; private final short LOANACC_CANSAVEFORLATER = 101; private final short LOANACC_CANSUBMITFORAPPROVAL = 102; // client state change mappings private final short CLIENT_CANCHANGETO_PARTIALAPPLICATION = 37; private final short CLIENT_CANCHANGETO_APPROVED = 38; private final short CLIENT_CANCHANGETO_CANCELLED = 39; private final short CLIENT_CANCHANGETO_ONHOLD = 40; private final short CLIENT_CANCHANGETO_CLOSED = 41; private final short CLIENT_CANCHANGETO_PENDINGAPPROVAL = 42; private final short CLIENT_BLACKLISTED_FLAG = 3; private final short CLIENT_CLOSED_BLACKLISTED_FLAG = 8; private final short CLIENT_CANCHANGETO_CANCEL_BLACKLISTED = 55; private final short CLIENT_CREATEPARTIAL = 35; private final short CLIENT_CREATEPENDING = 36; // group sate change mappings private final short GROUP_CANCHANGETO_PARTIALAPPLICATION = 59; private final short GROUP_CANCHANGETO_APPROVED = 60; private final short GROUP_CANCHANGETO_CANCELLED = 61; private final short GROUP_CANCHANGETO_ONHOLD = 62; private final short GROUP_CANCHANGETO_CLOSED = 63; private final short GROUP_CANCHANGETO_PENDINGAPPROVAL = 64; private final short GROUP_CANCEL_BLACKLISTED_FLAG = 13; private final short GROUP_CLOSED_BLACKLISTED_FLAG = 18; private final short GROUP_CANCHANGETO_CANCEL_BLACKLISTED = 77; private final short GROUP_CREATEPARTIAL = 57; private final short GROUP_CREATEPENDING = 58; private final short CENTER_CHANGE_STATUS = 81; private static ActivityMapper instance = new ActivityMapper(); private LegacyRolesPermissionsDao legacyRolesPermissionsDao = ApplicationContextProvider.getBean(LegacyRolesPermissionsDao.class); public static ActivityMapper getInstance() { return instance; } private Map<String, Short> activityMap = new HashMap<String, Short>(); private List<ActionSecurity> allSecurity = new ArrayList<ActionSecurity>(); public Short getActivityId(String key) { return activityMap.get(key); } public List<ActionSecurity> getAllSecurity() { return Collections.unmodifiableList(allSecurity); } // for testing public void setLegacyRolesPermissionDao(LegacyRolesPermissionsDao legacyRolesPermissionsDao) { this.legacyRolesPermissionsDao = legacyRolesPermissionsDao; } public void init() { // these lines don't seem to refer to a real action // if so, these methods can be removed safely addApplyChargesMappings2(); addApplyPaymentMappings(); addLoanStatusActionMappings(); addLoanMappings(); addSearchBeforeLoanMappings(); addChecklistMappings(); addFeeMappings(); addSavingProductMappings(); addOfficeMappings(); addCustomerSearchMappings(); // new style security configuration parseActionSecurity(getAdminActionSecurity()); parseActionSecurity(getCustSearchSecurity()); parseActionSecurity(getLoginSecurity()); parseActionSecurity(getCustHistoricalSecurity()); parseActionSecurity(getPersonSecurity()); parseActionSecurity(getCenterCustSecurity()); parseActionSecurity(getClientTransferSecurity()); parseActionSecurity(getGroupTransferSecurity()); parseActionSecurity(getMeetingSecurity()); parseActionSecurity(getLoanPrdSecurity()); parseActionSecurity(getFeeSecurity()); parseActionSecurity(getChkListSecurity()); parseActionSecurity(getEditStatusSecurity()); parseActionSecurity(getCustSecurity()); parseActionSecurity(getCollectionSheetEntrySecurity()); parseActionSecurity(getAccountAppSecurity()); parseActionSecurity(getSavingsSecurity()); parseActionSecurity(getSavingsClosureSecurity()); parseActionSecurity(getSavingsApplyAdjustmentSecurity()); parseActionSecurity(getApplyAdjustmentSecurity()); parseActionSecurity(getCustomerApplyAdjustmentSecurity()); parseActionSecurity(getRepayLoanSecurity()); parseActionSecurity(getCustomerSecurity()); parseActionSecurity(getLoanAccountSecurity()); parseActionSecurity(getGroupAccountApplyPaymentSecurity()); parseActionSecurity(getGroupIndividualLoanAccountSecurity()); parseActionSecurity(getAccountApplyPaymentSecurity()); parseActionSecurity(getLoanDisbursementSecurity()); parseActionSecurity(getSavingsDepositWithdrawalSecurity()); parseActionSecurity(getEditCustomerStatusSecurity()); parseActionSecurity(getApplyChargeSecurity()); parseActionSecurity(getClientCustSecurity()); parseActionSecurity(getAccountStatusSecurity()); parseActionSecurity(getGroupCustSecurity()); parseActionSecurity(getPersonnelSettingsSecurity()); parseActionSecurity(getCustomerAccountSecurity()); parseActionSecurity(getRolesPermissionSecurity()); parseActionSecurity(getPersonnelNoteSecurity()); parseActionSecurity(getCustomerNotesSecurity()); parseActionSecurity(getNotesSecurity()); parseActionSecurity(getMultipleLoanAccountsCreationSecurity()); parseActionSecurity(getReverseLoanDisbursalSecurity()); parseActionSecurity(getMultipleGeneralLedgerActionSecurity()); parseActionSecurity(getsingleGeneralLedgerActionSecurity()); parseActionSecurity(getJournalVoucherActionSecurity()); parseActionSecurity(getOpenBalanceActionSecurity()); parseActionSecurity(getViewGlTransactionsActionSecurity()); parseActionSecurity(getProcessAccountingTransactionsActionSecurity()); parseActionSecurity(getYearEndProcessActionSecurity()); parseActionSecurity(getReportsSecurity()); parseActionSecurity(getReportsDataSourceSecurity()); parseActionSecurity(getReportsParamsSecurity()); parseActionSecurity(getReportsParamsMapSecurity()); parseActionSecurity(getReportsUploadSecurity()); parseActionSecurity(getReportsUserParamsSecurity()); parseActionSecurity(getHolidaySecurity()); parseActionSecurity(getSurveysSecurity()); parseActionSecurity(getQuestionsSecurity()); parseActionSecurity(getAddGroupMembershipSecurity()); parseActionSecurity(getSurveyInstanceSecurity()); parseActionSecurity(getBirtReportsUploadSecurity()); parseActionSecurity(getLookupOptionsSecurity()); parseActionSecurity(getPPISecurity()); parseActionSecurity(getReportsCategorySecurity()); parseActionSecurity(getBirtAdminDocumentUploadSecurity()); parseActionSecurity(getImportTransactionsSecurity()); parseActionSecurity(getFinancialAccountingSecurity()); parseActionSecurity(getAccountGroupIndividualPaymentSecurity()); parseActionSecurity(getMigrateSecurity()); parseActionSecurity(getViewStageTransactionsActionSecurity()); parseActionSecurity(getApproveTransactionsActionSecurity()); parseActionSecurity(getAuditGLAuditActionSecurity()); parseActionSecurity(getInterOfficeTransferSecurity()); parseActionSecurity(getCoaBranchMappingSecurity()); parseActionSecurity(getVoucherBranchMappingSecurity()); parseActionSecurity(getconsolidatedTransactionSecurity()); } private ActionSecurity getMigrateSecurity() { ActionSecurity security = new ActionSecurity("migrateAction"); security.allow("get", SecurityConstants.VIEW); security.allow("migrateSurveys", SecurityConstants.VIEW); security.allow("migrateAdditionalFields", SecurityConstants.VIEW); return security; } private ActionSecurity getImportTransactionsSecurity() { final ActionSecurity security = new ActionSecurity("manageImportAction"); security.allow("load", SecurityConstants.CAN_IMPORT_TRANSACTIONS); security.allow("upload", SecurityConstants.CAN_IMPORT_TRANSACTIONS); security.allow("confirm", SecurityConstants.CAN_IMPORT_TRANSACTIONS); security.allow("downloadLog", SecurityConstants.CAN_IMPORT_TRANSACTIONS); return security; } private ActionSecurity getBirtAdminDocumentUploadSecurity() { ActionSecurity security = new ActionSecurity("birtAdminDocumentUploadAction"); security.allow("getBirtAdminDocumentUploadPage", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("preview", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("loadProductInstance", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("getProductTypes", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("previous", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("upload", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("getViewBirtAdminDocumentPage", SecurityConstants.CAN_VIEW_ADMIN_DOCUMENTS); security.allow("edit", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("editpreview", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("editprevious", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("editThenUpload", SecurityConstants.CAN_UPLOAD_ADMIN_DOCUMENTS); security.allow("downloadAdminDocument", SecurityConstants.DOWNLOAD_REPORT_TEMPLATE); security.allow("getFileNotFoundPage", SecurityConstants.DOWNLOAD_REPORT_TEMPLATE); return security; } private ActionSecurity getReportsCategorySecurity() { ActionSecurity security = new ActionSecurity("reportsCategoryAction"); security.allow("loadDefineNewCategoryPage", SecurityConstants.DEFINE_REPORT_CATEGORY); security.allow("preview", SecurityConstants.DEFINE_REPORT_CATEGORY); security.allow("addNewCategory", SecurityConstants.DEFINE_REPORT_CATEGORY); security.allow("viewReportsCategory", SecurityConstants.VIEW_REPORT_CATEGORY); security.allow("confirmDeleteReportsCategory", SecurityConstants.DELETE_REPORT_CATEGORY); security.allow("edit", SecurityConstants.VIEW_REPORT_CATEGORY); security.allow("editPreview", SecurityConstants.VIEW_REPORT_CATEGORY); security.allow("deleteReportsCategory", SecurityConstants.DELETE_REPORT_CATEGORY); security.allow("editThenSubmit", SecurityConstants.VIEW_REPORT_CATEGORY); return security; } private ActionSecurity getPPISecurity() { ActionSecurity security = new ActionSecurity("ppiAction"); security.allow("configure", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); return security; } private ActionSecurity getLookupOptionsSecurity() { ActionSecurity security = new ActionSecurity("lookupOptionsAction"); security.allow("load", SecurityConstants.CAN_DEFINE_LOOKUP_OPTIONS); security.allow("update", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("addEditLookupOption", SecurityConstants.VIEW); security.allow("addEditLookupOption_cancel", SecurityConstants.VIEW); return security; } private ActionSecurity getBirtReportsUploadSecurity() { ActionSecurity security = new ActionSecurity("birtReportsUploadAction"); security.allow("getBirtReportsUploadPage", SecurityConstants.UPLOAD_REPORT_TEMPLATE); security.allow("preview", SecurityConstants.UPLOAD_REPORT_TEMPLATE); security.allow("previous", SecurityConstants.UPLOAD_REPORT_TEMPLATE); security.allow("upload", SecurityConstants.UPLOAD_REPORT_TEMPLATE); security.allow("getViewReportPage", SecurityConstants.UPLOAD_REPORT_TEMPLATE); security.allow("edit", SecurityConstants.EDIT_REPORT_INFORMATION); security.allow("editpreview", SecurityConstants.EDIT_REPORT_INFORMATION); security.allow("editprevious", SecurityConstants.EDIT_REPORT_INFORMATION); security.allow("editThenUpload", SecurityConstants.EDIT_REPORT_INFORMATION); security.allow("downloadBirtReport", SecurityConstants.DOWNLOAD_REPORT_TEMPLATE); return security; } private ActionSecurity getSurveyInstanceSecurity() { ActionSecurity security = new ActionSecurity("surveyInstanceAction"); security.allow("create_entry", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("choosesurvey", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("edit", SecurityConstants.VIEW); security.allow("delete", SecurityConstants.VIEW); security.allow("clear", SecurityConstants.VIEW); security.allow("back", SecurityConstants.VIEW); return security; } private ActionSecurity getAddGroupMembershipSecurity() { ActionSecurity security = new ActionSecurity("addGroupMembershipAction"); security.allow("loadSearch", SecurityConstants.CAN_ADD_CLIENTS_TO_GROUPS); security.allow("previewParentAddClient", SecurityConstants.CAN_ADD_CLIENTS_TO_GROUPS); security.allow("updateParent", SecurityConstants.CAN_ADD_CLIENTS_TO_GROUPS); return security; } private ActionSecurity getQuestionsSecurity() { ActionSecurity security = new ActionSecurity("questionsAction"); security.allow("viewQuestions", SecurityConstants.VIEW); security.allow("defineQuestions", SecurityConstants.VIEW); security.allow("addChoice", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("deleteChoice", SecurityConstants.VIEW); security.allow("deleteNewQuestion", SecurityConstants.VIEW); security.allow("addQuestion", SecurityConstants.VIEW); security.allow("createQuestions", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("edit_entry", SecurityConstants.VIEW); security.allow("update_entry", SecurityConstants.VIEW); security.allow("preview_entry", SecurityConstants.VIEW); return security; } private ActionSecurity getSurveysSecurity() { ActionSecurity security = new ActionSecurity("surveysAction"); security.allow("mainpage", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("create_entry", SecurityConstants.VIEW); security.allow("add_new_question", SecurityConstants.VIEW); security.allow("delete_new_question", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("edit_entry", SecurityConstants.VIEW); security.allow("preview_update", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("edit", SecurityConstants.VIEW); security.allow("edit_update", SecurityConstants.VIEW); security.allow("printVersion", SecurityConstants.VIEW); security.allow("prePrintVersion", SecurityConstants.VIEW); security.allow("delete_new_question_edit", SecurityConstants.VIEW); security.allow("add_new_question_edit", SecurityConstants.VIEW); return security; } private ActionSecurity getHolidaySecurity() { ActionSecurity security = new ActionSecurity("holidayAction"); security.allow("load", SecurityConstants.CAN_DEFINE_HOLIDAY); security.allow("get", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("getHolidays", SecurityConstants.VIEW); security.allow("addHoliday", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("officeHierarchy", SecurityConstants.VIEW); security.allow("update", SecurityConstants.CAN_DEFINE_HOLIDAY); return security; } private ActionSecurity getReportsUserParamsSecurity() { ReportActionSecurity security = new ReportActionSecurity("reportsUserParamsAction", "loadAddList"); // FIXME: no associated activity exists for this constant security.allow("reportuserparamslist_path", SecurityConstants.ADMINISTER_REPORTPARAMS); for (ReportsBO report : new ReportsPersistence().getAllReports()) { security.allowReport(report.getReportId().intValue(), report.getActivityId()); } // FIXME: no associated activity exists for this constant security.allow("loadAddList", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("processReport", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportsuserprocess_path", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("loadAdminReport", SecurityConstants.CAN_VIEW_ADMIN_DOCUMENTS); return security; } private ActionSecurity getReportsUploadSecurity() { ActionSecurity security = new ActionSecurity("reportsUploadAction"); security.allow("uploadReport", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("administerreports_path", SecurityConstants.ADMINISTER_REPORTPARAMS); return security; } private ActionSecurity getReportsParamsMapSecurity() { ActionSecurity security = new ActionSecurity("reportsParamsMap"); security.allow("loadAddList", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("createParamsMap", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("deleteParamsMap", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparamsmapaddlist_path", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparamsmap_path", SecurityConstants.ADMINISTER_REPORTPARAMS); return security; } private ActionSecurity getReportsParamsSecurity() { ActionSecurity security = new ActionSecurity("reportsParamsAction"); security.allow("load", SecurityConstants.ADMINISTER_REPORTS); security.allow("loadList", SecurityConstants.ADMINISTER_REPORTS); security.allow("createParams", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("deleteParams", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparams_path", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparamsadd_path", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparamslist_path", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("loadView", SecurityConstants.ADMINISTER_REPORTPARAMS); security.allow("reportparamsview_path", SecurityConstants.ADMINISTER_REPORTPARAMS); return security; } private ActionSecurity getReportsDataSourceSecurity() { ActionSecurity security = new ActionSecurity("reportsDataSourceAction"); security.allow("load", SecurityConstants.ADMINISTER_REPORTDS); security.allow("loadList", SecurityConstants.ADMINISTER_REPORTDS); security.allow("createDataSource", SecurityConstants.ADMINISTER_REPORTDS); security.allow("deleteDataSource", SecurityConstants.ADMINISTER_REPORTDS); security.allow("loadView", SecurityConstants.ADMINISTER_REPORTDS); security.allow("reportdatasource_path", SecurityConstants.ADMINISTER_REPORTDS); security.allow("reportdatasourceadd_path", SecurityConstants.ADMINISTER_REPORTDS); security.allow("reportdatasourcelist_path", SecurityConstants.ADMINISTER_REPORTDS); security.allow("reportdatasourceview_path", SecurityConstants.ADMINISTER_REPORTDS); return security; } private ActionSecurity getReportsSecurity() { ActionSecurity security = new ActionSecurity("reportsAction"); security.allow("load", SecurityConstants.VIEW); security.allow("report_designer", SecurityConstants.CLIENTSDETAILVIEW); security.allow("product_history", SecurityConstants.CLIENTSPRODUCTHISTORY); security.allow("branch_performance", SecurityConstants.BRANCHPERFORMANCE); security.allow("area_performance", SecurityConstants.AREAPERFORMANCE); security.allow("collection_sheet", SecurityConstants.COLLECTIONSHEET); security.allow("loan_distribution", SecurityConstants.LOANDISTRIBUTION); security.allow("branch_disbursement", SecurityConstants.BRANCHDISBURSEMENT); security.allow("staffwise_report", SecurityConstants.STAFFWISEREPORT); security.allow("branchwise_report", SecurityConstants.BRANCHWISEREPORT); security.allow("analysis", SecurityConstants.ANALYSIS); security.allow("kendra_meeting", SecurityConstants.KENDRA_MEETING); security.allow("administerreports_path", SecurityConstants.ADMINISTER_REPORTS); security.allow("administerreportslist_path", SecurityConstants.ADMINISTER_REPORTS); return security; } private ActionSecurity getReverseLoanDisbursalSecurity() { ActionSecurity security = new ActionSecurity("reverseloandisbaction"); security.allow("search", SecurityConstants.CAN_REVERSE_LOAN_DISBURSAL); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("validate", SecurityConstants.VIEW); return security; } private ActionSecurity getMultipleGeneralLedgerActionSecurity() { ActionSecurity security = new ActionSecurity("multiplegeneralledgeraction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_MULTIPLE_GLTRANSACTION); security.allow("loadOffices", SecurityConstants.VIEW); security.allow("loadMainAccounts", SecurityConstants.VIEW); security.allow("loadAccountHeads", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.MULTIPLE_GENERAL_LEDGER_SAVE); security.allow("saveStageSubmit", SecurityConstants.VIEW); return security; } private ActionSecurity getsingleGeneralLedgerActionSecurity() { ActionSecurity security = new ActionSecurity("singlegeneralledgeraction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_SINGLE_GLTRANSACTION); security.allow("loadOffices", SecurityConstants.VIEW); security.allow("loadMainAccounts", SecurityConstants.VIEW); security.allow("loadAccountHeads", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.SINGLE_GENERAL_LEDGER_SAVE); security.allow("saveStageSubmit", SecurityConstants.VIEW); return security; } private ActionSecurity getJournalVoucherActionSecurity() { ActionSecurity security = new ActionSecurity("journalvoucheraction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_JVTRANSACTION); security.allow("loadOffices", SecurityConstants.VIEW); security.allow("loadCreditAccount", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.JOURNALVOUCHER_SAVE); security.allow("saveStageSubmit", SecurityConstants.VIEW); return security; } private ActionSecurity getOpenBalanceActionSecurity() { ActionSecurity security = new ActionSecurity("openbalanceaction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_OPENBALANCE); security.allow("loadOffices", SecurityConstants.VIEW); security.allow("loadOpenBalance", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.VIEW); return security; } private ActionSecurity getViewGlTransactionsActionSecurity() { ActionSecurity security = new ActionSecurity("viewgltransactionsaction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_VIEWTRANSACTIONS); security.allow("submit", SecurityConstants.VIEW); return security; } private ActionSecurity getProcessAccountingTransactionsActionSecurity() { ActionSecurity security = new ActionSecurity("processaccountingtransactionsaction"); security.allow("load", SecurityConstants.ACCOUNTING_CREATE_MISPROCESSING); security.allow("process", SecurityConstants.VIEW); security.allow("loadLastUpdatedDate", SecurityConstants.VIEW); return security; } private ActionSecurity getYearEndProcessActionSecurity() { ActionSecurity security = new ActionSecurity("yearEndProcessAction"); security.allow("load", SecurityConstants.VIEW); return security; } private ActionSecurity getViewStageTransactionsActionSecurity() { ActionSecurity security = new ActionSecurity( "viewstagetransactionsaction"); security.allow("load", SecurityConstants.VIEW_STAGE_TRANSACTIONS); security.allow("submit", SecurityConstants.VIEW); security.allow("approve", SecurityConstants.VIEW); security.allow("reject", SecurityConstants.VIEW); security.allow("edit", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("loadOffices", SecurityConstants.VIEW); security.allow("loadMainAccounts", SecurityConstants.VIEW); security.allow("loadAccountHeads", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); return security; } private ActionSecurity getApproveTransactionsActionSecurity() { ActionSecurity security = new ActionSecurity( "approvetransactionsaction"); security.allow("approve", SecurityConstants.APPROVE_TRANSACTIONS); security.allow("submit", SecurityConstants.VIEW); security.allow("reject", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); return security; } private ActionSecurity getAuditGLAuditActionSecurity() { ActionSecurity security = new ActionSecurity( "audittransactionsaction"); security.allow("load", SecurityConstants.AUDIT_TRANSACTIONS); security.allow("pickDate", SecurityConstants.VIEW); security.allow("audit", SecurityConstants.VIEW); security.allow("process", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); return security; } private ActionSecurity getCoaBranchMappingSecurity() { ActionSecurity security = new ActionSecurity("coaBranchMappingAction"); security.allow("load", SecurityConstants.COA_BRANCH_MAPPING); security.allow("findCoaNames", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.VIEW); return security; } private ActionSecurity getVoucherBranchMappingSecurity() { ActionSecurity security = new ActionSecurity("voucherBranchMappingAction"); security.allow("load", SecurityConstants.BRANCH_VOUCHER_ENTRY); security.allow("loadMainAccounts", SecurityConstants.VIEW); security.allow("loadCoaNames", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.VIEW); return security; } private ActionSecurity getconsolidatedTransactionSecurity() { ActionSecurity security = new ActionSecurity("consolidatedTransactionAction"); security.allow("load", SecurityConstants.CONSOLIDATED_TRANSACTION); security.allow("loadConsolidatedTransaction", SecurityConstants.VIEW); security.allow("approve", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("reject", SecurityConstants.VIEW); return security; } private ActionSecurity getInterOfficeTransferSecurity() { ActionSecurity security = new ActionSecurity( "interofficetransferaction"); security.allow("load", SecurityConstants.INTER_OFFICE_TRANSFERS); security.allow("loadFromOffices", SecurityConstants.VIEW); security.allow("loadToOffices", SecurityConstants.VIEW); security.allow("loadCreditAccount", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("saveStageSubmit", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("submit", SecurityConstants.VIEW); return security; } private ActionSecurity getMultipleLoanAccountsCreationSecurity() { ActionSecurity security = new ActionSecurity("multipleloansaction"); security.allow("load", SecurityConstants.CAN_CREATE_MULTIPLE_LOAN_ACCOUNTS); security.allow("getLoanOfficers", SecurityConstants.VIEW); security.allow("getCenters", SecurityConstants.VIEW); security.allow("getPrdOfferings", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); return security; } private ActionSecurity getNotesSecurity() { ActionSecurity security = new ActionSecurity("notesAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); return security; } private ActionSecurity getCustomerNotesSecurity() { ActionSecurity security = new ActionSecurity("customerNotesAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); return security; } private ActionSecurity getPersonnelNoteSecurity() { ActionSecurity security = new ActionSecurity("personnelNoteAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); return security; } private ActionSecurity getRolesPermissionSecurity() { ActionSecurity security = new ActionSecurity("rolesPermission"); security.allow("viewRoles", SecurityConstants.VIEW); security.allow("load", SecurityConstants.ROLES_CREATE_ROLES); security.allow("create", SecurityConstants.ROLES_CREATE_ROLES); security.allow("manage", SecurityConstants.VIEW); security.allow("update", SecurityConstants.ROLES_EDIT_ROLES); security.allow("cancel", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.ROLES_DELETE_ROLES); security.allow("delete", SecurityConstants.ROLES_DELETE_ROLES); return security; } private ActionSecurity getCustomerAccountSecurity() { ActionSecurity security = new ActionSecurity("customerAccountAction"); security.allow("load", SecurityConstants.VIEW); return security; } private ActionSecurity getPersonnelSettingsSecurity() { ActionSecurity security = new ActionSecurity("yourSettings"); security.allow("get", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.PERSONNEL_EDIT_SELF_INFO); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("update", SecurityConstants.PERSONNEL_EDIT_SELF_INFO); security.allow("loadChangePassword", SecurityConstants.PERSONNEL_EDIT_SELF_INFO); return security; } private ActionSecurity getGroupCustSecurity() { ActionSecurity security = new ActionSecurity("groupCustAction"); security.allow("hierarchyCheck", SecurityConstants.VIEW); security.allow("chooseOffice", SecurityConstants.VIEW); security.allow("load", SecurityConstants.VIEW); security.allow("loadMeeting", SecurityConstants.MEETING_CREATE_GROUP_MEETING); security.allow("preview", SecurityConstants.VIEW); security.allow("previewOnly", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("getDetails", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.GROUP_EDIT_GROUP); security.allow("previewManage", SecurityConstants.VIEW); security.allow("previousManage", SecurityConstants.VIEW); security.allow("update", SecurityConstants.GROUP_EDIT_GROUP); security.allow("loadSearch", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getAccountStatusSecurity() { ActionSecurity security = new ActionSecurity("ChangeAccountStatus"); security.allow("load", SecurityConstants.CAN_APPROVE_LOANS_IN_BULK); security.allow("searchResults", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("getLoanOfficers", SecurityConstants.VIEW); return security; } private ActionSecurity getClientCustSecurity() { ActionSecurity security = new ActionSecurity("clientCustAction"); security.allow("load", SecurityConstants.VIEW); security.allow("chooseOffice", SecurityConstants.VIEW); security.allow("next", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previewPersonalInfo", SecurityConstants.VIEW); security.allow("retrievePictureOnPreview", SecurityConstants.VIEW); security.allow("prevPersonalInfo", SecurityConstants.VIEW); security.allow("prevMFIInfo", SecurityConstants.VIEW); security.allow("prevMeeting", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("loadMeeting", SecurityConstants.MEETING_CREATE_CLIENT_MEETING); security.allow("get", SecurityConstants.VIEW); security.allow("editPersonalInfo", SecurityConstants.VIEW); security.allow("editFamilyInfo", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("editAddFamilyRow", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("editDeleteFamilyRow", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("previewEditFamilyInfo", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("previewEditPersonalInfo", SecurityConstants.VIEW); security.allow("prevEditPersonalInfo", SecurityConstants.VIEW); security.allow("updatePersonalInfo", SecurityConstants.VIEW); security.allow("editMfiInfo", SecurityConstants.CIENT_EDIT_MFI_INFORMATION); security.allow("previewEditMfiInfo", SecurityConstants.VIEW); security.allow("prevEditMfiInfo", SecurityConstants.VIEW); security.allow("updateMfiInfo", SecurityConstants.CIENT_EDIT_MFI_INFORMATION); security.allow("retrievePicture", SecurityConstants.VIEW); security.allow("showPicture", SecurityConstants.VIEW); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("familyInfoNext", SecurityConstants.VIEW); security.allow("prevFamilyInfo", SecurityConstants.VIEW); security.allow("prevFamilyInfoNext", SecurityConstants.VIEW); security.allow("addFamilyRow", SecurityConstants.VIEW); security.allow("deleteFamilyRow", SecurityConstants.VIEW); security.allow("updateFamilyInfo", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("editPreviewEditFamilyInfo", SecurityConstants.CLIENT_UPDATE_PERSONNEL_INFO); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); security.allow("addFile", SecurityConstants.VIEW); security.allow("deleteFile", SecurityConstants.VIEW); return security; } private ActionSecurity getApplyChargeSecurity() { ActionSecurity security = new ActionSecurity("applyChargeAction"); security.allow("load", SecurityConstants.VIEW); security.allow("divide", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); return security; } private ActionSecurity getEditCustomerStatusSecurity() { ActionSecurity security = new ActionSecurity("editCustomerStatusAction"); security.allow("loadStatus", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("previewStatus", SecurityConstants.VIEW); security.allow("previousStatus", SecurityConstants.VIEW); security.allow("updateStatus", SecurityConstants.VIEW); security.allow("cancelStatus", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getSavingsDepositWithdrawalSecurity() { ActionSecurity security = new ActionSecurity("savingsDepositWithdrawalAction"); security.allow("load", SecurityConstants.SAVINGS_CAN_MAKE_DEPOSIT_WITHDRAWAL); security.allow("reLoad", SecurityConstants.SAVINGS_CAN_MAKE_DEPOSIT_WITHDRAWAL); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("makePayment", SecurityConstants.VIEW); return security; } private ActionSecurity getLoanDisbursementSecurity() { ActionSecurity security = new ActionSecurity("loanDisbursementAction"); security.allow("load", SecurityConstants.LOAN_CAN_DISBURSE_LOAN); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getAccountApplyPaymentSecurity() { ActionSecurity security = new ActionSecurity("applyPaymentAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("applyPayment", SecurityConstants.VIEW); return security; } private ActionSecurity getLoanAccountSecurity() { ActionSecurity security = new ActionSecurity("loanAccountAction"); security.allow("getAllActivity", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("getLoanRepaymentSchedule", SecurityConstants.VIEW); security.allow("viewStatusHistory", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.LOAN_UPDATE_LOAN); security.allow("managePreview", SecurityConstants.VIEW); security.allow("managePrevious", SecurityConstants.VIEW); security.allow("cancel", SecurityConstants.VIEW); security.allow("update", SecurityConstants.LOAN_UPDATE_LOAN); security.allow("getPrdOfferings", SecurityConstants.VIEW); security.allow("load", SecurityConstants.VIEW); security.allow("schedulePreview", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("waiveChargeDue", SecurityConstants.VIEW); security.allow("forwardWaiveCharge", SecurityConstants.VIEW); security.allow("waiveChargeOverDue", SecurityConstants.VIEW); security.allow("redoLoanBegin", SecurityConstants.CAN_REDO_LOAN_DISPURSAL); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); security.allow("validateInstallments", SecurityConstants.VIEW); security.allow("showPreview", SecurityConstants.VIEW); security.allow("viewOriginalSchedule", SecurityConstants.VIEW); security.allow("viewAndEditAdditionalInformation", SecurityConstants.VIEW); security.allow("getDetails", SecurityConstants.VIEW); security.allow("getGroupLoanAccountDetails", SecurityConstants.VIEW); security.allow("getGroupLoanRepaymentSchedule", SecurityConstants.VIEW); return security; } private ActionSecurity getGroupAccountApplyPaymentSecurity() { ActionSecurity security = new ActionSecurity("applyGroupPaymentAction"); security.allow("load", SecurityConstants.VIEW); security.allow("divide", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("applyPayment", SecurityConstants.VIEW); return security; } private ActionSecurity getGroupIndividualLoanAccountSecurity() { ActionSecurity security = new ActionSecurity("groupIndividualLoanAccountAction"); security.allow("get", SecurityConstants.VIEW); return security; } private ActionSecurity getCustomerSecurity() { ActionSecurity security = new ActionSecurity("customerAction"); security.allow("forwardWaiveChargeDue", SecurityConstants.VIEW); security.allow("forwardWaiveChargeOverDue", SecurityConstants.VIEW); security.allow("waiveChargeDue", SecurityConstants.VIEW); security.allow("waiveChargeOverDue", SecurityConstants.VIEW); security.allow("getAllActivity", SecurityConstants.VIEW); security.allow("getAllClosedAccounts", SecurityConstants.VIEW); return security; } private ActionSecurity getRepayLoanSecurity() { ActionSecurity security = new ActionSecurity("repayLoanAction"); security.allow("loadRepayment", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("loadGroupRepayment", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("preview", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("previous", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("makeRepayment", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("makeGroupRepayment", SecurityConstants.LOAN_CAN_REPAY_LOAN); security.allow("makeGroupMemberRepayment", SecurityConstants.LOAN_CAN_REPAY_LOAN); return security; } private ActionSecurity getCustomerApplyAdjustmentSecurity() { ActionSecurity security = new ActionSecurity("custApplyAdjustment"); security.allow("loadAdjustment", SecurityConstants.VIEW); security.allow("previewAdjustment", SecurityConstants.VIEW); security.allow("applyAdjustment", SecurityConstants.VIEW); security.allow("cancelAdjustment", SecurityConstants.VIEW); return security; } private ActionSecurity getApplyAdjustmentSecurity() { ActionSecurity security = new ActionSecurity("applyAdjustment"); security.allow("loadAdjustment", SecurityConstants.VIEW); security.allow("previewAdjustment", SecurityConstants.VIEW); security.allow("applyAdjustment", SecurityConstants.VIEW); security.allow("cancelAdjustment", SecurityConstants.VIEW); security.allow("loadAdjustmentWhenObligationMet", SecurityConstants.CAN_ADJUST_PAYMENT_WHEN_OBLIGATION_MET); security.allow("listPossibleAdjustments", SecurityConstants.VIEW); security.allow("editAdjustment", SecurityConstants.VIEW); security.allow("divide", SecurityConstants.VIEW); return security; } private ActionSecurity getSavingsApplyAdjustmentSecurity() { ActionSecurity security = new ActionSecurity("savingsApplyAdjustmentAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("adjustLastUserAction", SecurityConstants.VIEW); security.allow("list", SecurityConstants.VIEW); return security; } private ActionSecurity getSavingsClosureSecurity() { ActionSecurity security = new ActionSecurity("savingsClosureAction"); security.allow("load", SecurityConstants.SAVINGS_CLOSE_SAVINGS_ACCOUNT); security.allow("preview", SecurityConstants.SAVINGS_CLOSE_SAVINGS_ACCOUNT); security.allow("previous", SecurityConstants.SAVINGS_CLOSE_SAVINGS_ACCOUNT); security.allow("close", SecurityConstants.SAVINGS_CLOSE_SAVINGS_ACCOUNT); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getSavingsSecurity() { ActionSecurity security = new ActionSecurity("savingsAction"); security.allow("getPrdOfferings", SecurityConstants.VIEW); security.allow("load", SecurityConstants.VIEW); security.allow("reLoad", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("getStatusHistory", SecurityConstants.VIEW); security.allow("edit", SecurityConstants.SAVINGS_UPDATE_SAVINGS); security.allow("editPreview", SecurityConstants.SAVINGS_UPDATE_SAVINGS); security.allow("editPrevious", SecurityConstants.SAVINGS_UPDATE_SAVINGS); security.allow("update", SecurityConstants.SAVINGS_UPDATE_SAVINGS); security.allow("getRecentActivity", SecurityConstants.VIEW); security.allow("getTransactionHistory", SecurityConstants.VIEW); security.allow("getDepositDueDetails", SecurityConstants.VIEW); security.allow("waiveAmountDue", SecurityConstants.SAVINGS_CANWAIVE_DUEAMOUNT); security.allow("waiveAmountOverDue", SecurityConstants.SAVINGS_CANWAIVE_OVERDUEAMOUNT); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getAccountAppSecurity() { ActionSecurity security = new ActionSecurity("accountAppAction"); security.allow("removeFees", SecurityConstants.VIEW); security.allow("getTrxnHistory", SecurityConstants.VIEW); security.allow("removePenalties", SecurityConstants.VIEW); return security; } private ActionSecurity getCollectionSheetEntrySecurity() { ActionSecurity security = new ActionSecurity("collectionsheetaction"); security.allow("load", SecurityConstants.CAN_ENTER_COLLECTION_SHEET_DATA); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("getLastMeetingDateForCustomer", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("loadLoanOfficers", SecurityConstants.VIEW); security.allow("loadCustomerList", SecurityConstants.VIEW); security.allow("validate", SecurityConstants.VIEW); return security; } private ActionSecurity getCustSecurity() { ActionSecurity security = new ActionSecurity("custAction"); security.allow("getClosedAccounts", SecurityConstants.VIEW); security.allow("getBackToDetailsPage", SecurityConstants.VIEW); return security; } private ActionSecurity getEditStatusSecurity() { ActionSecurity security = new ActionSecurity("editStatusAction"); security.allow("load", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getChkListSecurity() { ActionSecurity security = new ActionSecurity("chkListAction"); security.allow("load", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); security.allow("getStates", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); security.allow("create", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); security.allow("cancelCreate", SecurityConstants.VIEW); security.allow("cancelManage", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.CHECKLIST_EDIT_CHECKLIST); security.allow("getEditStates", SecurityConstants.VIEW); security.allow("managePreview", SecurityConstants.VIEW); security.allow("managePrevious", SecurityConstants.VIEW); security.allow("update", SecurityConstants.CHECKLIST_EDIT_CHECKLIST); security.allow("loadAllChecklist", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); return security; } private ActionSecurity getFeeSecurity() { ActionSecurity security = new ActionSecurity("feeaction"); security.allow("search", SecurityConstants.VIEW); security.allow("load", SecurityConstants.FEES_CREATE_FEES); security.allow("preview", SecurityConstants.VIEW); security.allow("editPreview", SecurityConstants.VIEW); security.allow("create", SecurityConstants.FEES_CREATE_FEES); security.allow("get", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.FEES_EDIT_FEES); security.allow("update", SecurityConstants.FEES_EDIT_FEES); security.allow("previous", SecurityConstants.VIEW); security.allow("editPrevious", SecurityConstants.VIEW); security.allow("viewAll", SecurityConstants.VIEW); security.allow("cancelCreate", SecurityConstants.VIEW); security.allow("cancelEdit", SecurityConstants.VIEW); return security; } private ActionSecurity getLoanPrdSecurity() { ActionSecurity security = new ActionSecurity("loanproductaction"); security.allow("load", SecurityConstants.DEFINE_NEW_LOAN_PRODUCT_INSTANCE); security.allow("preview", SecurityConstants.VIEW); security.allow("previous", SecurityConstants.VIEW); security.allow("cancelCreate", SecurityConstants.VIEW); security.allow("validate", SecurityConstants.VIEW); security.allow("create", SecurityConstants.DEFINE_NEW_LOAN_PRODUCT_INSTANCE); security.allow("viewAllLoanProducts", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("editPreview", SecurityConstants.VIEW); security.allow("editPrevious", SecurityConstants.VIEW); security.allow("editCancel", SecurityConstants.VIEW); security.allow("manage", SecurityConstants.EDIT_LOAN_PRODUCT); security.allow("update", SecurityConstants.EDIT_LOAN_PRODUCT); security.allow("update", SecurityConstants.EDIT_LOAN_PRODUCT); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); return security; } private ActionSecurity getMeetingSecurity() { ActionSecurity security = new ActionSecurity("meetingAction"); security.allow("load", SecurityConstants.VIEW); security.allow("create", SecurityConstants.VIEW); security.allow("update", SecurityConstants.VIEW); security.allow("edit", SecurityConstants.VIEW); security.allow("cancelCreate", SecurityConstants.VIEW); security.allow("cancelUpdate", SecurityConstants.VIEW); return security; } private ActionSecurity getGroupTransferSecurity() { ActionSecurity security = new ActionSecurity("groupTransferAction"); security.allow("loadParents", SecurityConstants.GROUP_CHANGE_CENTER_MEMBERSHIP); security.allow("loadBranches", SecurityConstants.GROUP_TRANSFER_THE_GROUP); security.allow("previewBranchTransfer", SecurityConstants.VIEW); security.allow("previewParentTransfer", SecurityConstants.VIEW); security.allow("transferToCenter", SecurityConstants.GROUP_CHANGE_CENTER_MEMBERSHIP); security.allow("transferToBranch", SecurityConstants.GROUP_TRANSFER_THE_GROUP); security.allow("loadGrpMemberShip", SecurityConstants.GROUP_TRANSFER_THE_GROUP); security.allow("removeGroupMemberShip", SecurityConstants.CAN_REMOVE_CLIENTS_FROM_GROUPS); return security; } private ActionSecurity getClientTransferSecurity() { ActionSecurity security = new ActionSecurity("clientTransferAction"); security.allow("loadParents", SecurityConstants.CIENT_CHANGE_GROUP_MEMBERSHIP); security.allow("loadBranches", SecurityConstants.CIENT_TRANSFER_THE_CLIENT); security.allow("previewBranchTransfer", SecurityConstants.VIEW); security.allow("previewParentTransfer", SecurityConstants.VIEW); security.allow("updateParent", SecurityConstants.CIENT_CHANGE_GROUP_MEMBERSHIP); security.allow("transferToBranch", SecurityConstants.CIENT_TRANSFER_THE_CLIENT); return security; } private ActionSecurity getCenterCustSecurity() { ActionSecurity security = new ActionSecurity("centerCustAction"); security.allow("chooseOffice", SecurityConstants.CENTER_CREATE_NEW_CENTER); security.allow("load", SecurityConstants.CENTER_CREATE_NEW_CENTER); security.allow("loadMeeting", SecurityConstants.MEETING_CREATE_CENTER_MEETING); security.allow("previous", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("create", SecurityConstants.CENTER_CREATE_NEW_CENTER); security.allow("manage", SecurityConstants.CENTER_MODIFY_CENTER_INFORMATION_AND_CHANGE_CENTER_STATUS); security.allow("editPrevious", SecurityConstants.VIEW); security.allow("editPreview", SecurityConstants.VIEW); security.allow("update", SecurityConstants.CENTER_MODIFY_CENTER_INFORMATION_AND_CHANGE_CENTER_STATUS); security.allow("get", SecurityConstants.VIEW); security.allow("loadSearch", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("loadTransferSearch", SecurityConstants.VIEW); security.allow("searchTransfer", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getPersonSecurity() { ActionSecurity security = new ActionSecurity("PersonAction"); security.allow("get", SecurityConstants.VIEW); security.allow("loadSearch", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); security.allow("chooseOffice", SecurityConstants.PERSONNEL_CREATE_PERSONNEL); security.allow("load", SecurityConstants.PERSONNEL_CREATE_PERSONNEL); security.allow("manage", SecurityConstants.PERSONNEL_EDIT_SELF_INFO); security.allow("previewManage", SecurityConstants.VIEW); security.allow("previousManage", SecurityConstants.PERSONNEL_EDIT_SELF_INFO); security.allow("update", SecurityConstants.PERSONNEL_EDIT_PERSONNEL); security.allow("/PersonnelAction-prevPersonalInfo", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.PERSONNEL_CREATE_PERSONNEL); security.allow("previous", SecurityConstants.PERSONNEL_CREATE_PERSONNEL); security.allow("create", SecurityConstants.PERSONNEL_CREATE_PERSONNEL); security.allow("loadUnLockUser", SecurityConstants.PERSONNEL_UNLOCK_PERSONNEL); security.allow("unLockUserAccount", SecurityConstants.PERSONNEL_UNLOCK_PERSONNEL); security.allow("loadChangeLog", SecurityConstants.VIEW); security.allow("cancelChangeLog", SecurityConstants.VIEW); security.allow("captureQuestionResponses", SecurityConstants.VIEW); security.allow("editQuestionResponses", SecurityConstants.VIEW); return security; } private ActionSecurity getCustHistoricalSecurity() { ActionSecurity security = new ActionSecurity("custHistoricalDataAction"); security.allow("loadHistoricalData", SecurityConstants.VIEW); security.allow("getHistoricalData", SecurityConstants.VIEW); security.allow("previewHistoricalData", SecurityConstants.VIEW); security.allow("previousHistoricalData", SecurityConstants.VIEW); security.allow("updateHistoricalData", SecurityConstants.VIEW); security.allow("cancelHistoricalData", SecurityConstants.VIEW); return security; } private ActionSecurity getLoginSecurity() { ActionSecurity security = new ActionSecurity("loginAction"); security.allow("login", SecurityConstants.VIEW); security.allow("logout", SecurityConstants.VIEW); security.allow("updatePassword", SecurityConstants.VIEW); return security; } private ActionSecurity getCustSearchSecurity() { ActionSecurity security = new ActionSecurity("custSearchAction"); security.allow("loadSearch", SecurityConstants.VIEW); security.allow("search", SecurityConstants.VIEW); security.allow("load", SecurityConstants.VIEW); security.allow("loadMainSearch", SecurityConstants.VIEW); security.allow("mainSearch", SecurityConstants.VIEW); security.allow("getHomePage", SecurityConstants.VIEW); security.allow("loadAllBranches", SecurityConstants.VIEW); security.allow("get", SecurityConstants.VIEW); security.allow("preview", SecurityConstants.VIEW); security.allow("getOfficeHomePage", SecurityConstants.VIEW); return security; } private ActionSecurity getAdminActionSecurity() { ActionSecurity security = new ActionSecurity("AdminAction"); security.allow("load", SecurityConstants.VIEW); return security; } private ActionSecurity getFinancialAccountingSecurity() { ActionSecurity security = new ActionSecurity("FinancialAccountingAction"); security.allow("load", SecurityConstants.VIEW); return security; } private ActionSecurity getAccountGroupIndividualPaymentSecurity() { ActionSecurity security = new ActionSecurity("applyIndividualPayment"); security.allow("load", SecurityConstants.VIEW); return security; } private void addCustomerSearchMappings() { activityMap.put("/CustomerSearchAction-load", SecurityConstants.VIEW); activityMap.put("/CustomerSearchAction-search", SecurityConstants.SEARCH); activityMap.put("/CustomerSearchAction-preview", SecurityConstants.SEARCH); activityMap.put("/CustomerSearchAction-get", SecurityConstants.SEARCH); activityMap.put("/CustomerSearchAction-getHomePage", SecurityConstants.VIEW); activityMap.put("/CustomerSearchAction-getOfficeHomePage", SecurityConstants.VIEW); activityMap.put("/CustomerSearchAction-loadAllBranches", SecurityConstants.VIEW); } private void addOfficeMappings() { activityMap.put("/OfficeAction-loadall", SecurityConstants.VIEW); activityMap.put("/OfficeAction-load", SecurityConstants.OFFICE_CREATE_OFFICE); activityMap.put("/OfficeAction-loadParent", SecurityConstants.VIEW); activityMap.put("/OfficeAction-preview", SecurityConstants.VIEW); activityMap.put("/OfficeAction-create", SecurityConstants.OFFICE_CREATE_OFFICE); activityMap.put("/OfficeAction-get", SecurityConstants.VIEW); activityMap.put("/OfficeAction-manage", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/OfficeAction-previous", SecurityConstants.VIEW); activityMap.put("/OfficeAction-update", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/OfficeHierarchyAction-cancel", SecurityConstants.VIEW); activityMap.put("/OfficeHierarchyAction-load", SecurityConstants.VIEW); activityMap.put("/OfficeHierarchyAction-update", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/offhierarchyaction-cancel", SecurityConstants.VIEW); activityMap.put("/offhierarchyaction-load", SecurityConstants.VIEW); activityMap.put("/offhierarchyaction-update", SecurityConstants.OFFICE_HIERATCHY_UPDATE); // m2 office action activityMap.put("/offAction-load", SecurityConstants.OFFICE_CREATE_OFFICE); activityMap.put("/offAction-loadParent", SecurityConstants.VIEW); activityMap.put("/offAction-preview", SecurityConstants.VIEW); activityMap.put("/offAction-previous", SecurityConstants.VIEW); activityMap.put("/offAction-create", SecurityConstants.OFFICE_CREATE_OFFICE); activityMap.put("/offAction-get", SecurityConstants.VIEW); activityMap.put("/offAction-edit", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/offAction-editpreview", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/offAction-editprevious", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/offAction-update", SecurityConstants.OFFICE_EDIT_OFFICE); activityMap.put("/offAction-getAllOffices", SecurityConstants.VIEW); activityMap.put("/offAction-updateCache", SecurityConstants.VIEW); activityMap.put("/offAction-captureQuestionResponses", SecurityConstants.VIEW); activityMap.put("/offAction-editQuestionResponses", SecurityConstants.VIEW); } private void addSavingProductMappings() { activityMap.put("/savingsprdaction-search", SecurityConstants.VIEW); activityMap.put("/savingsprdaction-load", SecurityConstants.DEFINE_NEW_SAVING_PRODUCT_INSTANCE); activityMap.put("/savingsprdaction-preview", SecurityConstants.VIEW); activityMap.put("/savingsprdaction-previous", SecurityConstants.VIEW); activityMap.put("/savingsprdaction-create", SecurityConstants.DEFINE_NEW_SAVING_PRODUCT_INSTANCE); activityMap.put("/savingsprdaction-get", SecurityConstants.VIEW); activityMap.put("/savingsprdaction-manage", SecurityConstants.EDIT_SAVING_PRODUCT); activityMap.put("/savingsprdaction-update", SecurityConstants.EDIT_SAVING_PRODUCT); } private void addFeeMappings() { activityMap.put("/feesAction-search", SecurityConstants.VIEW); activityMap.put("/feesAction-load", SecurityConstants.FEES_CREATE_FEES); activityMap.put("/feesAction-preview", SecurityConstants.VIEW); activityMap.put("/feesAction-create", SecurityConstants.FEES_CREATE_FEES); activityMap.put("/feesAction-get", SecurityConstants.VIEW); activityMap.put("/feesAction-manage", SecurityConstants.FEES_EDIT_FEES); activityMap.put("/feesAction-update", SecurityConstants.FEES_EDIT_FEES); activityMap.put("/feesAction-previous", SecurityConstants.VIEW); } private void addChecklistMappings() { activityMap.put("/checkListAction-loadall", SecurityConstants.VIEW); activityMap.put("/checkListAction-load", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); activityMap.put("/checkListAction-create", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); activityMap.put("/checkListAction-preview", SecurityConstants.VIEW); activityMap.put("/checkListAction-previous", SecurityConstants.VIEW); activityMap.put("/checkListAction-previous", SecurityConstants.CHECKLIST_CREATE_CHECKLIST); activityMap.put("/checkListAction-loadParent", SecurityConstants.VIEW); activityMap.put("/checkListAction-get", SecurityConstants.VIEW); activityMap.put("/checkListAction-manage", SecurityConstants.CHECKLIST_EDIT_CHECKLIST); activityMap.put("/checkListAction-update", SecurityConstants.CHECKLIST_EDIT_CHECKLIST); } private void addSearchBeforeLoanMappings() { activityMap.put("/AccountsSearchAction-load", SecurityConstants.VIEW); activityMap.put("/AccountsSearchAction-search", SecurityConstants.VIEW); } private void addLoanMappings() { activityMap.put("/loanAction-getPrdOfferings", SecurityConstants.VIEW); activityMap.put("/loanAction-load", SecurityConstants.VIEW); activityMap.put("/loanAction-next", SecurityConstants.VIEW); activityMap.put("/loanAction-preview", SecurityConstants.VIEW); activityMap.put("/loanAction-previous", SecurityConstants.VIEW); activityMap.put("/loanAction-get", SecurityConstants.VIEW); activityMap.put("/loanAction-manage", SecurityConstants.LOAN_UPDATE_LOAN); activityMap.put("/loanAction-update", SecurityConstants.LOAN_UPDATE_LOAN); activityMap.put("/loanAction-getLoanChangeLog", SecurityConstants.VIEW); activityMap.put("/loanAction-search", SecurityConstants.VIEW); activityMap.put("/loanAction-create", SecurityConstants.VIEW); } private void addLoanStatusActionMappings() { // mapping for account status::TO BE REMOVED activityMap.put("/LoanStatusAction-load", SecurityConstants.VIEW); activityMap.put("/LoanStatusAction-preview", SecurityConstants.VIEW); activityMap.put("/LoanStatusAction-previous", SecurityConstants.VIEW); activityMap.put("/LoanStatusAction-update", SecurityConstants.VIEW); activityMap.put("/LoanStatusAction-search", SecurityConstants.VIEW); activityMap.put("/LoanStatusAction-writeOff", SecurityConstants.VIEW); } private void addApplyPaymentMappings() { activityMap.put("/accountTrxn-load", SecurityConstants.APPLY_PAYMENT_TO_CLIENT_GROUP_CENTERS_LOANS); activityMap.put("/accountTrxn-create", SecurityConstants.APPLY_PAYMENT_TO_CLIENT_GROUP_CENTERS_LOANS); activityMap.put("/accountTrxn-preview", SecurityConstants.VIEW); activityMap.put("/accountTrxn-getInstallmentHistory", SecurityConstants.VIEW); activityMap.put("/loanAccountAction-getInstallmentDetails", SecurityConstants.VIEW); activityMap.put("/accountTrxn-previous", SecurityConstants.VIEW); } private void addApplyChargesMappings2() { activityMap.put("/AccountsApplyChargesAction-load", SecurityConstants.APPLY_CHARGES_TO_CLIENT_GROUP_CENTERS_LOANS); activityMap.put("/AccountsApplyChargesAction-create", SecurityConstants.APPLY_CHARGES_TO_CLIENT_GROUP_CENTERS_LOANS); } public short getActivityIdForNewStateId(short newState, short cancelFlag) { short activityId = -1; switch (newState) { case AccountStates.SAVINGS_ACC_APPROVED: activityId = SAVING_CANCHANGESTATETO_APPROVED; break; case AccountStates.SAVINGS_ACC_CANCEL: switch (cancelFlag) { case SAVING_BLACKLISTED_FLAG: activityId = SAVING_CANCHANGESTATETO_INACTIVE_BLACKLISTED; break; default: activityId = SAVING_CANCHANGESTATETO_CANCEL; break; } break; case AccountStates.SAVINGS_ACC_INACTIVE: activityId = SAVING_CANCHANGESTATETO_INACTIVE; break; case AccountStates.SAVINGS_ACC_PARTIALAPPLICATION: activityId = SAVING_CANCHANGESTATETO_PARTIALAPPLICATION; break; case AccountStates.SAVINGS_ACC_PENDINGAPPROVAL: activityId = SAVING_CANCHANGESTATETO_PENDINGAPPROVAL; break; // loan mappings case AccountStates.LOANACC_ACTIVEINGOODSTANDING: activityId = LOANACC_CANCHANGETO_ACTIVEINGOODSTANDING; break; case AccountStates.LOANACC_APPROVED: activityId = LOANACC_CANCHANGETO_APPROVED; break; case AccountStates.LOANACC_BADSTANDING: activityId = LOANACC_CANCHANGETO_BADSTANDING; break; case AccountStates.LOANACC_CANCEL: activityId = LOANACC_CANCHANGETO_CANCEL; break; case AccountStates.LOANACC_DBTOLOANOFFICER: activityId = LOANACC_CANCHANGETO_DBTOLOANOFFICER; break; case AccountStates.LOANACC_OBLIGATIONSMET: activityId = LOANACC_CANCHANGETO_OBLIGATIONSMET; break; case AccountStates.LOANACC_PARTIALAPPLICATION: activityId = LOANACC_CANCHANGETO_PARTIALAPPLICATION; break; case AccountStates.LOANACC_PENDINGAPPROVAL: activityId = LOANACC_CANCHANGETO_PENDINGAPPROVAL; break; case AccountStates.LOANACC_RESCHEDULED: activityId = LOANACC_CANCHANGETO_RESCHEDULED; break; case AccountStates.LOANACC_WRITTENOFF: activityId = LOANACC_CANCHANGETO_WRITTENOFF; break; default: break; } return activityId; } public short getActivityIdForState(short state) { short activityId = -1; switch (state) { case AccountStates.SAVINGS_ACC_PARTIALAPPLICATION: activityId = SAVING_CANSAVEFORLATER; break; case AccountStates.SAVINGS_ACC_PENDINGAPPROVAL: case AccountStates.SAVINGS_ACC_APPROVED: activityId = SAVING_CANSUBMITFORAPPROVAL; break; case AccountStates.LOANACC_PARTIALAPPLICATION: activityId = LOANACC_CANSAVEFORLATER; break; case AccountStates.LOANACC_PENDINGAPPROVAL: case AccountStates.LOANACC_APPROVED: activityId = LOANACC_CANSUBMITFORAPPROVAL; break; default: break; } return activityId; } public short getActivityIdForNewCustomerStateId(short newState, short cancelFlag) { short activityId = -1; switch (newState) { case CustomerConstants.CLIENT_APPROVED: activityId = CLIENT_CANCHANGETO_APPROVED; break; case CustomerConstants.CLIENT_CANCELLED: switch (cancelFlag) { case CLIENT_BLACKLISTED_FLAG: activityId = CLIENT_CANCHANGETO_CANCEL_BLACKLISTED; break; default: activityId = CLIENT_CANCHANGETO_CANCELLED; break; } break; case CustomerConstants.CLIENT_CLOSED: switch (cancelFlag) { case CLIENT_CLOSED_BLACKLISTED_FLAG: activityId = CLIENT_CANCHANGETO_CANCEL_BLACKLISTED; break; default: activityId = CLIENT_CANCHANGETO_CLOSED; break; } break; case CustomerConstants.CLIENT_ONHOLD: activityId = CLIENT_CANCHANGETO_ONHOLD; break; case CustomerConstants.CLIENT_PARTIAL: activityId = CLIENT_CANCHANGETO_PARTIALAPPLICATION; break; case CustomerConstants.CLIENT_PENDING: activityId = CLIENT_CANCHANGETO_PENDINGAPPROVAL; break; // group mappings case GroupConstants.PARTIAL_APPLICATION: activityId = GROUP_CANCHANGETO_PARTIALAPPLICATION; break; case GroupConstants.CANCELLED: switch (cancelFlag) { case GROUP_CANCEL_BLACKLISTED_FLAG: activityId = GROUP_CANCHANGETO_CANCEL_BLACKLISTED; break; default: activityId = GROUP_CANCHANGETO_CANCELLED; break; } break; case GroupConstants.CLOSED: switch (cancelFlag) { case GROUP_CLOSED_BLACKLISTED_FLAG: activityId = GROUP_CANCHANGETO_CANCEL_BLACKLISTED; break; default: activityId = GROUP_CANCHANGETO_CLOSED; break; } break; case GroupConstants.HOLD: activityId = GROUP_CANCHANGETO_ONHOLD; break; case GroupConstants.PENDING_APPROVAL: activityId = GROUP_CANCHANGETO_PENDINGAPPROVAL; break; case GroupConstants.ACTIVE: activityId = GROUP_CANCHANGETO_APPROVED; break; case CustomerConstants.CENTER_ACTIVE_STATE: activityId = CENTER_CHANGE_STATUS; break; case CustomerConstants.CENTER_INACTIVE_STATE: activityId = CENTER_CHANGE_STATUS; break; default: break; } return activityId; } public short getActivityIdForCustomerState(short state) { short activityId = -1; switch (state) { case CustomerConstants.CLIENT_PARTIAL: activityId = CLIENT_CREATEPARTIAL; break; case CustomerConstants.CLIENT_PENDING: case CustomerConstants.CLIENT_APPROVED: activityId = CLIENT_CREATEPENDING; break; case GroupConstants.PARTIAL_APPLICATION: activityId = GROUP_CREATEPARTIAL; break; case GroupConstants.PENDING_APPROVAL: case GroupConstants.ACTIVE: activityId = GROUP_CREATEPENDING; break; default: break; } return activityId; } public Map<String, Short> getActivityMap() { return activityMap; } public void setActivityMap(Map<String, Short> activityMap) { this.activityMap = activityMap; } public boolean isStateChangePermittedForAccount(short newSate, short stateFlag, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao .isActivityAllowed( userContext, new ActivityContext(getActivityIdForNewStateId(newSate, stateFlag), recordOfficeId, recordLoanOfficerId)); } public boolean isStateChangePermittedForCustomer(short newSate, short stateFlag, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForNewCustomerStateId(newSate, stateFlag), recordOfficeId, recordLoanOfficerId)); } public boolean isSavePermittedForAccount(short newSate, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed(userContext, new ActivityContext(getActivityIdForState(newSate), recordOfficeId, recordLoanOfficerId)); } public boolean isSavePermittedForCustomer(short newSate, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { final short activityId = getActivityIdForCustomerState(newSate); Short officeId = recordOfficeId; if (officeId == null) { officeId = userContext.getBranchId(); } Short loanOfficerId = recordLoanOfficerId; if (loanOfficerId == null) { loanOfficerId = userContext.getId(); } ActivityContext activityContext = new ActivityContext(activityId, officeId, loanOfficerId); return legacyRolesPermissionsDao.isActivityAllowed(userContext, activityContext); } public boolean isAddingNotesPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { short activityId = getActivityIdForAddingNotes(accountTypes, customerLevel); ActivityContext activityContext = new ActivityContext(activityId, recordOfficeId, recordLoanOfficerId); return legacyRolesPermissionsDao.isActivityAllowed(userContext, activityContext); } private short getActivityIdForAddingNotes(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT) || accountTypes.equals(AccountTypes.GROUP_LOAN_ACCOUNT)) { activityId = SecurityConstants.LOAN_CAN_ADD_NOTES_TO_LOAN; } else if (accountTypes.equals(AccountTypes.SAVINGS_ACCOUNT)) { activityId = SecurityConstants.SAVINGS_CAN_ADD_NOTES_TO_SAVINGS; } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_ADD_NOTE_TO_CENTER; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_ADD_NOTE_TO_GROUP; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CLIENT_ADD_NOTE_TO_CLIENT; } } return activityId; } public boolean isAddingNotesPermittedForPersonnel(UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed(userContext, new ActivityContext(SecurityConstants.PERSONNEL_NOTE_CREATE, recordOfficeId, recordLoanOfficerId)); } public boolean isEditingOfficeMembershipForClientPermitted(UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed(userContext, new ActivityContext(SecurityConstants.CIENT_TRANSFER_THE_CLIENT, recordOfficeId, recordLoanOfficerId)); } public boolean isPaymentPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForPayment(accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForApplyCharges(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT) || accountTypes.equals(AccountTypes.GROUP_LOAN_ACCOUNT)) { activityId = SecurityConstants.LOAN_CAN_APPLY_CHARGES; } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_CAN_APPLY_CHARGES; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_CAN_APPLY_CHARGES; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CLIENT_CAN_APPLY_CHARGES; } } return activityId; } public boolean isAdjustmentPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForAdjustment(accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForAdjustment(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT)) { activityId = SecurityConstants.LOAN_MAKE_ADJUSTMENT_ENTRY_TO_ACCOUNT; } else if (accountTypes.equals(AccountTypes.SAVINGS_ACCOUNT)) { activityId = SecurityConstants.SAVINGS_APPLY_ADJUSTMENT; } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_MAKE_ADJUSTMENT_ENTRIES_TO_CENTER_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_MAKE_ADJUSTMENT_ENTRIES_TO_GROUP_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CIENT_MAKE_ADJUSTMENT_ENTRIES_TO_CLIENT_ACCOUNT; } } return activityId; } public boolean isAddingHistoricaldataPermittedForCustomers(CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForAddingHistoricaldata(customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForAddingHistoricaldata(CustomerLevel customerLevel) { short activityId = -1; if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_ADD_EDIT_HISTORICAL_DATA; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CIENT_ADD_EDIT_HISTORICAL_DATA; } return activityId; } public boolean isWaiveDuePermittedForCustomers(WaiveEnum waiveEnum, AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForWaiveDue(waiveEnum, accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForWaiveDue(WaiveEnum waiveEnum, AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT) || accountTypes.equals(AccountTypes.GROUP_LOAN_ACCOUNT)) { if (waiveEnum.equals(WaiveEnum.FEES)) { activityId = SecurityConstants.LOAN_WAIVE_FEE_INSTALLMENT; } else if (waiveEnum.equals(WaiveEnum.PENALTY)) { activityId = SecurityConstants.LOAN_WAIVE_PANELTY; } } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_WAIVE_DUE_AMOUNT; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_WAIVE_DUE_AMOUNT; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CIENT_WAIVE_DUE_AMOUNT; } } return activityId; } public boolean isAccessAllowed(UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isAccessAllowed(userContext, recordOfficeId, recordLoanOfficerId); } public boolean isRemoveFeesPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForRemoveFees(accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } public boolean isViewActiveSessionsPermitted(UserContext userContext, Short officeId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(SecurityConstants.CAN_VIEW_ACTIVE_SESSIONS, officeId)); } private short getActivityIdForRemoveFees(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT)) { activityId = SecurityConstants.LOAN_REMOVE_FEE_TYPE_ATTACHED_TO_ACCOUNT; } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_REMOVE_FEE_TYPE_FROM_CENTER_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_REMOVE_FEE_TYPE_FROM_GROUP_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CIENT_REMOVE_FEE_TYPE_FROM_CLIENT_ACCOUNT; } } return activityId; } public boolean isApplyChargesPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForApplyCharges(accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForPayment(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT) || accountTypes.equals(AccountTypes.GROUP_LOAN_ACCOUNT) ) { activityId = SecurityConstants.LOAN_MAKE_PAYMENT_TO_ACCOUNT; } else if (accountTypes.equals(AccountTypes.CUSTOMER_ACCOUNT)) { if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.CENTER_MAKE_PAYMENTS_TO_CENTER_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.GROUP_MAKE_PAYMENT_TO_GROUP_ACCOUNT; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.CIENT_MAKE_PAYMENT_TO_CLIENT_ACCOUNT; } } return activityId; } public boolean isEditMeetingSchedulePermittedForCustomers(CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForEditMeetingSchedule(customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForEditMeetingSchedule(CustomerLevel customerLevel) { short activityId = -1; if (customerLevel.equals(CustomerLevel.CENTER)) { activityId = SecurityConstants.MEETING_UPDATE_CENTER_MEETING; } else if (customerLevel.equals(CustomerLevel.GROUP)) { activityId = SecurityConstants.MEETING_UPDATE_GROUP_MEETING; } else if (customerLevel.equals(CustomerLevel.CLIENT)) { activityId = SecurityConstants.MEETING_UPDATE_CLIENT_MEETING; } return activityId; } private void parseActionSecurity(ActionSecurity security) { for (String method : security.methods()) { // example fullKey: "/reportsUserParamsAction-loadAdminReport" String fullKey = "/" + security.getActionName() + "-" + method; // value maps to a primary key in the activity table? activityMap.put(fullKey, security.get(method)); } allSecurity.add(security); } public boolean isAdjustmentPermittedForBackDatedPayments(Date lastPaymentDate, UserContext userContext, Short recordOfficeId, Short recordLoanOfficer) { boolean activityAllowed = true; Date today = DateUtils.currentDate(); if(DateUtils.dateFallsBeforeDate(lastPaymentDate, today)){ ActivityContext activityContext = new ActivityContext(SecurityConstants.LOAN_ADJUST_BACK_DATED_TRXNS, recordOfficeId, recordLoanOfficer); activityAllowed = legacyRolesPermissionsDao.isActivityAllowed(userContext, activityContext); } return activityAllowed; } public boolean isModeOfPaymentSecurity(UserContext userContext, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed(userContext, new ActivityContext(SecurityConstants.LOAN_CAN_TRANSFER_FROM_SAVINGS_ACCOUNT, userContext.getBranchId(), recordLoanOfficerId)); } public boolean isEditPhoneNumberPermitted(UserContext useContext, Short officeId){ return legacyRolesPermissionsDao.isActivityAllowed( useContext, new ActivityContext(SecurityConstants.CAN_EDIT_PHONE_NUMBER, officeId)); } public Object isRemovePenaltiesPermittedForAccounts(AccountTypes accountTypes, CustomerLevel customerLevel, UserContext userContext, Short recordOfficeId, Short recordLoanOfficerId) { return legacyRolesPermissionsDao.isActivityAllowed( userContext, new ActivityContext(getActivityIdForRemovePenalties(accountTypes, customerLevel), recordOfficeId, recordLoanOfficerId)); } private short getActivityIdForRemovePenalties(AccountTypes accountTypes, CustomerLevel customerLevel) { short activityId = -1; if (accountTypes.equals(AccountTypes.LOAN_ACCOUNT)) { activityId = SecurityConstants.LOAN_REMOVE_PENALTY_TYPE_ATTACHED_TO_ACCOUNT; } return activityId; } }