@stssocialst-stp/fe-payroll 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +13 -0
- package/README.md +31 -0
- package/dist/index.es.js +6066 -0
- package/dist/index.es.js.map +1 -0
- package/dist/index.js +6101 -0
- package/dist/index.js.map +1 -0
- package/package.json +55 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/constants.js","../src/utils/action-type.js","../src/reducer.js","../src/utils/advanced-filters-utils.js","../src/actions.js","../src/utils/string-utils.js","../src/pages/payment-point/PaymentPointHeadPanel.js","../src/pages/payment-point/PaymentPointPage.js","../src/components/payment-point/PaymentPointFilter.js","../src/components/payment-point/PaymentPointSearcher.js","../src/pages/payment-point/PaymentPointsPage.js","../src/components/payroll/AdvancedFiltersRowValue.js","../src/components/payroll/AdvancedFiltersDialog.js","../src/components/payroll/PayrollStatusPicker.js","../src/pickers/PaymentMethodPicker.js","../src/components/payroll/PayrollHeadPanel.js","../src/components/payroll/dialogs/PayrollPaymentDataUploadDialog.js","../src/utils/export.js","../src/components/payroll/PayrollTab.js","../src/pages/payroll/PayrollPage.js","../src/components/payroll/PayrollFilter.js","../src/components/payroll/PayrollSearcher.js","../src/pages/payroll/PayrollsPage.js","../src/components/payroll/BenefitConsumptionFilterModal.js","../src/components/payroll/dialogs/ErrorSummaryModal.js","../src/components/payroll/dialogs/AdditionalFieldsDialog.js","../src/components/PayrollBenefitPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcherModal.js","../src/components/payroll/dialogs/PaymentApproveForPaymentSummary.js","../src/components/payroll/PayrollPaymentFilesSearcher.js","../src/components/payroll/dialogs/PayrollReconciliationFilesDialog.js","../src/components/payroll/PayrollSearcherApproved.js","../src/pages/payroll/ApprovedPayrollsPage.js","../src/components/payroll/dialogs/PaymentReconciliationSummaryDialog.js","../src/components/payroll/PayrollSearcherReconciled.js","../src/pages/payroll/ReconciledPayrollsPage.js","../src/components/payment-point/PaymentPointPicker.js","../src/pickers/BenefitConsumptionStatusPicker.js","../src/components/payroll/BenefitConsumptionPayrollFilter.js","../src/components/payroll/BenefitConsumptionPayrollSearcher.js","../src/components/tasks/PayrollTasks.js","../src/components/tasks/PayrollReconciliationTasks.js","../src/components/payroll/BenefitConsumptionFilter.js","../src/components/PayrollPrintTemplate.js","../src/components/payroll/BenefitConsumptionSearcher.js","../src/components/payroll/BenefitConsumptionTabPanel.js","../src/components/tasks/PayrollRejectedTasks.js","../src/components/payroll/PayrollTaskTabPanel.js","../src/components/tasks/PayrollDeleteTasks.js","../src/components/payroll/PayrollPaymentFilesTab.js","../src/components/payroll/dialogs/PayrollPendingPayrollSummary.js","../src/components/payroll/PayrollSearcherPending.js","../src/pages/payroll/PendingPayrollsPage.js","../src/index.js"],"sourcesContent":["// TODO: Change to proper rights after BE implementation\nexport const RIGHT_PAYROLL_SEARCH = 202001;\nexport const RIGHT_PAYROLL_CREATE = 202002;\nexport const RIGHT_PAYROLL_DELETE = 202004;\n\nexport const PAYROLL_PAYMENT_POINT_ROUTE = 'payroll.route.paymentPoint';\nexport const PAYROLL_PAYROLL_ROUTE = 'payroll.route.payroll';\nexport const RIGHT_PAYMENT_POINT_SEARCH = 201001;\nexport const RIGHT_PAYMENT_POINT_CREATE = 201002;\nexport const RIGHT_PAYMENT_POINT_UPDATE = 201003;\nexport const RIGHT_PAYMENT_POINT_DELETE = 201004;\n\nexport const DEFAULT_DEBOUNCE_TIME = 500;\nexport const DEFAULT_PAGE_SIZE = 10;\nexport const CONTAINS_LOOKUP = 'Icontains';\nexport const ROWS_PER_PAGE_OPTIONS = [10, 20, 50, 100];\nexport const EMPTY_STRING = '';\n\nexport const MAX_LENGTH = {\n NAME: 50,\n};\n\nexport const MODULE_NAME = 'payroll';\n\nexport const BENEFIT_CONSUMPTION_LIST_TAB_VALUE = 'benefitConsumptionsTab';\nexport const PAYROLL_TASK_TAB_VALUE = 'payrollTaskTab';\nexport const PAYROLL_PAYMENT_FILES_TAB_VALUE = 'payrollPaymentFilesTab';\nexport const PAYROLL_TABS_LABEL_CONTRIBUTION_KEY = 'payroll.TabPanel.label';\nexport const PAYROLL_TABS_PANEL_CONTRIBUTION_KEY = 'payroll.TabPanel.panel';\n\nexport const RIGHT_BILL_SEARCH = 156101;\nexport const RIGHT_BILL_CREATE = 156102;\nexport const RIGHT_BILL_UPDATE = 156103;\nexport const RIGHT_BILL_DELETE = 156104;\n\nexport const INVOICE_BILL_ROUTE = 'bill.route.bill';\nexport const GET_SUBJECT_AND_THIRDPARTY_TYPE_PICKER_REF = 'bill.util.getSubjectAndThirdpartyTypePicker';\nexport const ENUM_PREFIX_LENGTH = 2;\n\nexport const STATUS = {\n DRAFT: '0',\n VALIDATED: '1',\n PAYED: '2',\n CANCELLED: '3',\n DELETED: '4',\n SUSPENDED: '5',\n};\n\nexport const CLEARED_STATE_FILTER = {\n field: '', filter: '', type: '', value: '',\n};\nexport const BENEFIT_PLAN = 'BenefitPlan';\nexport const INTEGER = 'integer';\nexport const STRING = 'string';\nexport const BOOLEAN = 'boolean';\nexport const DATE = 'date';\nexport const BOOL_OPTIONS = [\n { value: 'True', label: 'True' },\n { value: 'False', label: 'False' },\n];\n\nexport const PAYROLL_STATUS = {\n PENDING_APPROVAL: 'PENDING_APPROVAL',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n RECONCILIATED: 'RECONCILIATED',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_STATUS_LIST = [\n PAYROLL_STATUS.PENDING_APPROVAL,\n PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n PAYROLL_STATUS.REJECTED,\n PAYROLL_STATUS.RECONCILIATED,\n PAYROLL_STATUS.RECONCILED,\n];\n\nexport const BENEFIT_CONSUMPTION_STATUS = {\n ACCEPTED: 'ACCEPTED',\n CREATED: 'CREATED',\n APPROVE_FOR_PAYMENT: 'APPROVE_FOR_PAYMENT',\n REJECTED: 'REJECTED',\n DUPLICATE: 'DUPLICATE',\n RECONCILED: 'RECONCILED',\n};\n\nexport const PAYROLL_PAYMENT_FILE_STATUS = {\n TRIGGERED: 'TRIGGERED',\n IN_PROGRESS: 'IN_PROGRESS',\n SUCCESS: 'SUCCESS',\n PARTIAL_SUCCESS: 'PARTIAL_SUCCESS',\n WAITING_FOR_VERIFICATION: 'WAITING_FOR_VERIFICATION',\n FAIL: 'FAIL',\n};\n\nexport const BENEFIT_CONSUMPTION_STATUS_LIST = [\n BENEFIT_CONSUMPTION_STATUS.ACCEPTED, BENEFIT_CONSUMPTION_STATUS.CREATED,\n BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT, BENEFIT_CONSUMPTION_STATUS.REJECTED,\n BENEFIT_CONSUMPTION_STATUS.DUPLICATE, BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n];\n\nexport const PAYROLL_PAYMENT_FILE_STATUS_LIST = [\n PAYROLL_PAYMENT_FILE_STATUS.TRIGGERED, PAYROLL_PAYMENT_FILE_STATUS.IN_PROGRESS, PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.WAITING_FOR_VERIFICATION, PAYROLL_PAYMENT_FILE_STATUS.FAIL,\n];\n\nexport const BENEFIT_PLAN_CONTENT_TYPE_ID = 175;\n\nexport const PAYROLL_FROM_FAILED_INVOICES_URL_PARAM = 'createPayrollFromFailedInvoices=true';\n","export const REQUEST = (actionTypeName) => `${actionTypeName}_REQ`;\nexport const SUCCESS = (actionTypeName) => `${actionTypeName}_RESP`;\nexport const ERROR = (actionTypeName) => `${actionTypeName}_ERR`;\nexport const CLEAR = (actionTypeName) => `${actionTypeName}_CLEAR`;\nexport const VALID = (actionTypeName) => `${actionTypeName}_VALID`;\n","/* eslint-disable default-param-last */\n\nimport {\n dispatchMutationErr,\n dispatchMutationReq,\n dispatchMutationResp,\n formatGraphQLError,\n formatServerError,\n pageInfo,\n parseData,\n decodeId,\n} from '@openimis/fe-core';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\n\nexport const ACTION_TYPE = {\n MUTATION: 'PAYROLL_MUTATION',\n CREATE_PAYMENT_POINT: 'PAYROLL_MUTATION_CREATE_PAYMENT_POINT',\n DELETE_PAYMENT_POINT: 'PAYROLL_MUTATION_DELETE_PAYMENT_POINT',\n UPDATE_PAYMENT_POINT: 'PAYROLL_MUTATION_UPDATE_PAYMENT_POINT',\n SEARCH_PAYMENT_POINTS: 'PAYROLL_PAYMENT_POINTS',\n CREATE_PAYROLL: 'PAYROLL_MUTATION_CREATE_PAYROLL',\n DELETE_PAYROLL: 'PAYROLL_MUTATION_DELETE_PAYROLL',\n SEARCH_PAYROLLS: 'PAYROLL_PAYROLLS',\n GET_PAYMENT_POINT: 'PAYROLL_PAYMENT_POINT',\n GET_PAYROLL: 'PAYROLL_GET_PAYROLL',\n GET_BENEFIT_CONSUMPTION: 'PAYROLL_BENEFIT_CONSUMPTION',\n GET_PAYROLL_BENEFIT_CONSUMPTION: 'PAYROLL_PAYROLL_BENEFIT_CONSUMPTION',\n GET_BENEFIT_ATTACHMENT: 'PAYROLL_BENEFIT_ATTACHMENT',\n GET_PAYMENT_METHODS: 'PAYROLL_PAYMENT_METHODS',\n CLOSE_PAYROLL: 'PAYROLL_MUTATION_CLOSE_PAYROLL',\n REJECT_PAYROLL: 'PAYROLL_MUTATION_REJECT_PAYROLL',\n MAKE_PAYMENT_PAYROLL: 'PAYROLL_MUTATION_MAKE_PAYMENT_PAYROLL',\n GET_PAYROLL_PAYMENT_FILES: 'GET_PAYROLL_PAYMENT_FILES',\n BENEFITS_SUMMARY: 'PAYROLL_BENEFITS_SUMMARY',\n DELETE_BENEFIT_CONSUMPTION: 'BENEFIT_CONSUMPTION_MUTATION_DELETE_BENEFIT_CONSUMPTION',\n};\n\nexport const MUTATION_SERVICE = {\n PAYMENT_POINT: {\n CREATE: 'createPaymentPoint',\n DELETE: 'deletePaymentPoint',\n UPDATE: 'updatePaymentPoint',\n },\n PAYROLL: {\n CREATE: 'createPayroll',\n DELETE: 'deletePayroll',\n CLOSE: 'closePayroll',\n REJECT: 'rejectPayroll',\n MAKE_PAYMENT: 'makePaymentForPayroll',\n },\n BENEFIT_CONSUMPTION: {\n DELETE: 'deleteBenefitConsumption',\n },\n};\n\nconst STORE_STATE = {\n submittingMutation: false,\n mutation: {},\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: false,\n errorPaymentPoints: null,\n paymentPoints: [],\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n\n fetchingPayrolls: false,\n fetchedPayrolls: false,\n errorPayrolls: null,\n payrolls: [],\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n\n fetchingPayroll: false,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n\n fetchingBenefitConsumptions: true,\n benefitConsumption: [],\n benefitConsumptionTotalCount: 0,\n fetchedBenefitConsumption: false,\n errorBenefitConsumption: null,\n benefitConsumptionsPageInfo: {},\n\n fetchingBenefitAttachments: false,\n benefitAttachments: [],\n benefitAttachmentsTotalCount: 0,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n\n fetchingPaymentMethods: true,\n paymentMethods: [],\n fetchedPaymentMethods: false,\n errorPaymentMethods: null,\n\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n\n fetchingPayrollBenefitConsumptions: true,\n payrollBenefitConsumption: [],\n payrollBenefitConsumptionTotalCount: 0,\n fetchedPayrollBenefitConsumption: false,\n errorPayrollBenefitConsumption: null,\n payrollBenefitConsumptionsPageInfo: {},\n\n benefitsSummary: [],\n benefitsSummaryError: null,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n};\n\nfunction reducer(\n state = STORE_STATE,\n action,\n) {\n switch (action.type) {\n case REQUEST(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: true,\n fetchedPaymentPoints: false,\n paymentPoints: [],\n errorPaymentPoints: null,\n paymentPointsPageInfo: {},\n paymentPointsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n paymentPoints: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n })),\n fetchingPaymentPoints: false,\n fetchedPaymentPoints: true,\n errorPaymentPoints: formatGraphQLError(action.payload),\n paymentPointsPageInfo: pageInfo(action.payload.data.paymentPoint),\n paymentPointsTotalCount: action.payload.data.paymentPoint?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYMENT_POINTS):\n return {\n ...state,\n fetchingPaymentPoints: false,\n errorPaymentPoints: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: true,\n fetchedPayrolls: false,\n payrolls: [],\n errorPayrolls: null,\n payrollsPageInfo: {},\n payrollsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n payrolls: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n })),\n fetchingPayrolls: false,\n fetchedPayrolls: true,\n errorPayrolls: formatGraphQLError(action.payload),\n payrollsPageInfo: pageInfo(action.payload.data.payroll),\n payrollsTotalCount: action.payload.data.payroll?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.SEARCH_PAYROLLS):\n return {\n ...state,\n fetchingPayrolls: false,\n errorPayrolls: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: true,\n fetchedPaymentPoint: false,\n paymentPoint: [],\n errorPaymentPoint: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: true,\n paymentPoint: parseData(action.payload.data.paymentPoint)?.map((paymentPoint) => ({\n ...paymentPoint,\n id: decodeId(paymentPoint.id),\n }))?.[0],\n errorPaymentPoint: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n errorPaymentPoint: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYMENT_POINT):\n return {\n ...state,\n fetchingPaymentPoint: false,\n fetchedPaymentPoint: false,\n paymentPoint: {},\n errorPaymentPoint: null,\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: {},\n errorPayroll: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n fetchedPayroll: true,\n payroll: parseData(action.payload.data.payroll)?.map((payroll) => ({\n ...payroll,\n id: decodeId(payroll.id),\n dateValidTo: payroll?.dateValidTo ? payroll?.dateValidTo.split('T')[0] : null,\n dateValidFrom: payroll?.dateValidFrom ? payroll?.dateValidFrom.split('T')[0] : null,\n }))?.[0],\n errorPayroll: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: false,\n errorPayroll: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL):\n return {\n ...state,\n fetchingPayroll: true,\n fetchedPayroll: false,\n payroll: null,\n errorPayroll: null,\n payrollBills: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: true,\n fetchedBenefitConsumptions: false,\n benefitConsumptions: [],\n errorBenefitConsumptions: null,\n benefitConsumptionsPageInfo: {},\n benefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: true,\n benefitConsumptions: parseData(action.payload.data.benefitConsumptionByPayroll)?.map((benefitConsumption) => ({\n ...benefitConsumption,\n id: decodeId(benefitConsumption.id),\n })),\n benefitConsumptionsPageInfo: pageInfo(action.payload.data.benefitConsumptionByPayroll),\n benefitConsumptionsTotalCount: action.payload.data.benefitConsumptionByPayroll?.totalCount ?? 0,\n errorBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n errorPayroll: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingBenefitConsumptions: false,\n fetchedBenefitConsumptions: false,\n errorBenefitConsumptions: null,\n benefitConsumptions: [],\n };\n case REQUEST(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: true,\n fetchedBenefitAttachments: false,\n benefitAttachments: [],\n errorBenefitAttachments: null,\n benefitAttachmentsPageInfo: {},\n benefitAttachmentsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: true,\n benefitAttachments: parseData(action.payload.data.benefitAttachmentByPayroll)?.map((benefitAttachment) => ({\n ...benefitAttachment,\n })),\n benefitAttachmentsPageInfo: pageInfo(action.payload.data.benefitAttachmentByPayroll),\n benefitAttachmentsTotalCount: action.payload.data.benefitAttachmentByPayroll?.totalCount ?? 0,\n errorBenefitAttachments: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n errorBenefitAttachments: formatServerError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_BENEFIT_ATTACHMENT):\n return {\n ...state,\n fetchingBenefitAttachments: false,\n fetchedBenefitAttachments: false,\n errorBenefitAttachments: null,\n benefitAttachments: [],\n };\n\n case REQUEST(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: true,\n fetchedPaymentMethods: false,\n paymentMethods: [],\n errorPaymentMethods: null,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n fetchedPaymentMethods: true,\n paymentMethods: action.payload.data.paymentMethods ? action.payload.data.paymentMethods.paymentMethods : [],\n errorPaymentMethods: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYMENT_METHODS):\n return {\n ...state,\n fetchingPaymentMethods: false,\n errorPaymentMethods: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: true,\n fetchedPayrollBenefitConsumptions: false,\n payrollBenefitConsumptions: [],\n errorPayrollBenefitConsumptions: null,\n payrollBenefitConsumptionsPageInfo: {},\n payrollBenefitConsumptionsTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n fetchedPayrollBenefitConsumptions: true,\n // eslint-disable-next-line max-len\n payrollBenefitConsumptions: parseData(action.payload.data.payrollBenefitConsumption)?.map((payrollBenefitConsumption) => ({\n ...payrollBenefitConsumption,\n id: decodeId(payrollBenefitConsumption.id),\n })),\n payrollBenefitConsumptionsPageInfo: pageInfo(action.payload.data.payrollBenefitConsumption),\n payrollBenefitConsumptionsTotalCount: action.payload.data.payrollBenefitConsumption?.totalCount ?? 0,\n errorPayrollBenefitConsumptions: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION):\n return {\n ...state,\n fetchingPayrollBenefitConsumptions: false,\n errorPayrollBenefitConsumptions: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: true,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case SUCCESS(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: true,\n errorPayrollFiles: formatGraphQLError(action.payload),\n payrollFiles: parseData(action.payload.data.csvReconciliationUpload)?.map((file) => ({\n ...file,\n })),\n payrollFilesPageInfo: pageInfo(action.payload.data.csvReconciliationUpload),\n payrollFilesTotalCount: action.payload.data.csvReconciliationUpload?.totalCount ?? 0,\n };\n case ERROR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n errorPayrollFiles: formatGraphQLError(action.payload),\n };\n case CLEAR(ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES):\n return {\n ...state,\n fetchingPayrollFiles: false,\n fetchedPayrollFiles: false,\n errorPayrollFiles: null,\n payrollFiles: [],\n payrollFilesPageInfo: {},\n payrollFilesTotalCount: 0,\n };\n case REQUEST(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: true,\n fetchedBenefitsSummary: false,\n benefitsSummary: {},\n benefitsSummaryError: null,\n };\n case SUCCESS(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n fetchedBenefitsSummary: true,\n benefitsSummary: action.payload.data.benefitsSummary,\n benefitsSummaryError: formatGraphQLError(action.payload),\n };\n case ERROR(ACTION_TYPE.BENEFITS_SUMMARY):\n return {\n ...state,\n fetchingBenefitsSummary: false,\n benefitsSummaryError: formatServerError(action.payload),\n };\n case REQUEST(ACTION_TYPE.MUTATION):\n return dispatchMutationReq(state, action);\n case ERROR(ACTION_TYPE.MUTATION):\n return dispatchMutationErr(state, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.DELETE, action);\n case SUCCESS(ACTION_TYPE.UPDATE_PAYMENT_POINT):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYMENT_POINT.UPDATE, action);\n case SUCCESS(ACTION_TYPE.CREATE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.CREATE, action);\n case SUCCESS(ACTION_TYPE.DELETE_PAYROLL):\n return dispatchMutationResp(state, MUTATION_SERVICE.PAYROLL.DELETE, action);\n case SUCCESS(ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION):\n return dispatchMutationResp(state, MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE, action);\n default:\n return state;\n }\n}\n\nexport default reducer;\n","// eslint-disable-next-line import/prefer-default-export\nexport function isBase64Encoded(str) {\n // Base64 encoded strings can only contain characters from [A-Za-z0-9+/=]\n const base64RegExp = /^[A-Za-z0-9+/=]+$/;\n return base64RegExp.test(str);\n}\n","/* eslint-disable max-len */\nimport {\n decodeId,\n formatGQLString,\n formatMutation,\n formatPageQueryWithCount,\n formatQuery,\n graphql,\n} from '@openimis/fe-core';\n\nimport { ACTION_TYPE, MUTATION_SERVICE } from './reducer';\nimport {\n CLEAR, ERROR, REQUEST, SUCCESS,\n} from './utils/action-type';\nimport { isBase64Encoded } from './utils/advanced-filters-utils';\nimport { PAYROLL_STATUS } from './constants';\n\nexport const PAYMENT_POINT_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'isDeleted',\n `location ${modulesManager.getProjection('location.Location.FlatProjection')}`,\n `ppm ${modulesManager.getProjection('admin.UserPicker.projection')}`,\n];\n\nconst BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n 'isDeleted',\n 'jsonExt',\n 'dateCreated',\n 'dateUpdated',\n 'dateValidFrom',\n 'dateValidTo',\n 'id',\n 'code',\n 'individual {firstName, lastName}',\n 'benefitAttachment {bill {id, code, terms, datePayed}}',\n 'receipt',\n 'photo',\n 'amount',\n 'type',\n 'status',\n 'dateDue',\n];\n\nconst PAYROLL_BENEFIT_CONSUMPTION_PROJECTION = () => [\n 'id',\n // eslint-disable-next-line max-len\n 'benefit{id,isDeleted,jsonExt,dateCreated,dateUpdated,dateValidFrom,dateValidTo,id,code,individual {firstName, lastName},benefitAttachment {bill {id, code, terms, datePayed}},receipt,photo,amount,type,status,dateDue}',\n 'payroll {id, name, status, paymentCycle {code, startDate, endDate}, paymentMethod, benefitPlanNameCode}',\n];\n\nconst BENEFIT_CONSUMPTION_SUMMARY_PROJECTION = () => [\n 'totalAmountReceived', 'totalAmountDue',\n];\n\nconst BENEFIT_ATTACHMENT_PROJECTION = () => [\n 'benefit{id, status, code, dateDue, receipt, individual {firstName, lastName}, jsonExt, type, status, amount, receipt}',\n 'bill{id, code, terms, amountTotal, datePayed}',\n];\n\nconst PAYROLL_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlan }',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n // eslint-disable-next-line max-len\n 'benefitConsumption{id, status, code, dateDue, receipt, individual {firstName, lastName}, benefitAttachment{bill{id, code, terms, amountTotal}}}',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n];\n\nconst PAYROLL_SEARCHER_PROJECTION = (modulesManager) => [\n 'id',\n 'name',\n 'paymentMethod',\n 'paymentPlan { code, id, name, benefitPlan }',\n `paymentPoint { ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')} }`,\n 'paymentCycle { code, startDate, endDate }',\n 'jsonExt',\n 'status',\n 'dateValidFrom',\n 'dateValidTo',\n 'isDeleted',\n];\n\nconst CSV_RECONCILIATION_PROJECTION = () => [\n 'fileName',\n 'status',\n 'error',\n 'jsonExt',\n];\n\nconst PAYMENT_METHOD_PROJECTION = () => [\n 'paymentMethods {name}',\n];\n\nconst formatPaymentPointGQL = (paymentPoint) => `\n ${paymentPoint?.id ? `id: \"${paymentPoint.id}\"` : ''}\n ${paymentPoint?.name ? `name: \"${formatGQLString(paymentPoint.name)}\"` : ''}\n ${paymentPoint?.location ? `locationId: ${decodeId(paymentPoint.location.id)}` : ''}\n ${paymentPoint?.ppm ? `ppmId: \"${decodeId(paymentPoint.ppm.id)}\"` : ''}\n `;\n\nconst formatPayrollGQL = (payroll) => `\n ${payroll?.id ? `id: \"${payroll.id}\"` : ''}\n ${payroll?.name ? `name: \"${formatGQLString(payroll.name)}\"` : ''}\n ${payroll?.paymentPoint ? `paymentPointId: \"${decodeId(payroll.paymentPoint.id)}\"` : ''}\n ${payroll?.paymentPlan ? `paymentPlanId: \"${decodeId(payroll.paymentPlan.id)}\"` : ''}\n ${payroll?.paymentCycle ? `paymentCycleId: \"${decodeId(payroll.paymentCycle.id)}\"` : ''}\n ${payroll?.paymentMethod ? `paymentMethod: \"${payroll.paymentMethod}\"` : ''}\n ${`status: ${PAYROLL_STATUS.PENDING_APPROVAL}`}\n ${\n payroll?.jsonExt\n ? `jsonExt: ${JSON.stringify(payroll.jsonExt)}`\n : ''\n}\n ${\n payroll?.dateValidFrom\n ? `dateValidFrom: \"${payroll.dateValidFrom}\"`\n : ''\n}\n ${\n payroll?.dateValidTo\n ? `dateValidTo: \"${payroll.dateValidTo}\"`\n : ''\n}\n ${\n payroll?.fromFailedInvoicesPayrollId\n ? `fromFailedInvoicesPayrollId: \"${payroll.fromFailedInvoicesPayrollId}\"`\n : ''\n}\n `;\n\nconst PERFORM_MUTATION = (mutationType, mutationInput, ACTION, clientMutationLabel) => {\n const mutation = formatMutation(mutationType, mutationInput, clientMutationLabel);\n const requestedDateTime = new Date();\n return graphql(\n mutation.payload,\n [REQUEST(ACTION_TYPE.MUTATION), SUCCESS(ACTION), ERROR(ACTION_TYPE.MUTATION)],\n {\n actionType: ACTION,\n clientMutationId: mutation.clientMutationId,\n clientMutationLabel,\n requestedDateTime,\n },\n );\n};\n\nexport function fetchPaymentPoints(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYMENT_POINTS);\n}\n\nexport function fetchPaymentPoint(modulesManager, params) {\n const payload = formatPageQueryWithCount('paymentPoint', params, PAYMENT_POINT_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_POINT);\n}\n\nexport function fetchPayrollPaymentFiles(modulesManager, params) {\n const payload = formatPageQueryWithCount('csvReconciliationUpload', params, CSV_RECONCILIATION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_PAYMENT_FILES);\n}\n\nexport const clearPaymentPoint = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYMENT_POINT),\n });\n};\n\nexport function deletePaymentPoint(paymentPoint, clientMutationLabel) {\n const paymentPointUuids = `ids: [\"${paymentPoint?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.DELETE,\n paymentPointUuids,\n ACTION_TYPE.DELETE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function createPaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.CREATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.CREATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function updatePaymentPoint(paymentPoint, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYMENT_POINT.UPDATE,\n formatPaymentPointGQL(paymentPoint),\n ACTION_TYPE.UPDATE_PAYMENT_POINT,\n clientMutationLabel,\n );\n}\n\nexport function fetchPayrolls(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_SEARCHER_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.SEARCH_PAYROLLS);\n}\n\nexport function fetchPayroll(modulesManager, params) {\n const payload = formatPageQueryWithCount('payroll', params, PAYROLL_PROJECTION(modulesManager));\n return graphql(payload, ACTION_TYPE.GET_PAYROLL);\n}\n\nexport function deletePayrolls(payroll, clientMutationLabel) {\n const uuid = isBase64Encoded(payroll.id) ? decodeId(payroll?.id) : payroll?.id;\n const payrollUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.DELETE,\n payrollUuids,\n ACTION_TYPE.DELETE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function deleteBenefitConsumption(benefit, clientMutationLabel) {\n const uuid = isBase64Encoded(benefit.id) ? decodeId(benefit?.id) : benefit?.id;\n const benefitUuids = `ids: [\"${uuid}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.BENEFIT_CONSUMPTION.DELETE,\n benefitUuids,\n ACTION_TYPE.DELETE_BENEFIT_CONSUMPTION,\n clientMutationLabel,\n );\n}\n\nexport function createPayroll(payroll, clientMutationLabel) {\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CREATE,\n formatPayrollGQL(payroll),\n ACTION_TYPE.CREATE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function fetchBenefitConsumptions(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitConsumptionByPayroll', params, BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitAttachments(modulesManager, params) {\n const payload = formatPageQueryWithCount('benefitAttachmentByPayroll', params, BENEFIT_ATTACHMENT_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_BENEFIT_ATTACHMENT);\n}\n\nexport function fetchPayrollBenefitConsumptions(modulesManager, params) {\n // eslint-disable-next-line max-len\n const payload = formatPageQueryWithCount('payrollBenefitConsumption', params, PAYROLL_BENEFIT_CONSUMPTION_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYROLL_BENEFIT_CONSUMPTION);\n}\n\nexport function fetchBenefitsSummary(params) {\n const payload = formatQuery(\n 'benefitsSummary',\n params,\n BENEFIT_CONSUMPTION_SUMMARY_PROJECTION(),\n );\n return graphql(payload, ACTION_TYPE.BENEFITS_SUMMARY);\n}\n\nexport const clearPayrollBills = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_BENEFIT_CONSUMPTION),\n });\n};\n\nexport const clearPayroll = () => (dispatch) => {\n dispatch({\n type: CLEAR(ACTION_TYPE.GET_PAYROLL),\n });\n};\n\nexport function fetchPaymentMethods(params) {\n const payload = formatQuery('paymentMethods', params, PAYMENT_METHOD_PROJECTION());\n return graphql(payload, ACTION_TYPE.GET_PAYMENT_METHODS);\n}\n\nexport function closePayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.CLOSE,\n payrollUuids,\n ACTION_TYPE.CLOSE_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function rejectPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.REJECT,\n payrollUuids,\n ACTION_TYPE.REJECT_PAYROLL,\n clientMutationLabel,\n );\n}\n\nexport function makePaymentForPayroll(payroll, clientMutationLabel) {\n const payrollUuids = `ids: [\"${payroll?.id}\"]`;\n return PERFORM_MUTATION(\n MUTATION_SERVICE.PAYROLL.MAKE_PAYMENT,\n payrollUuids,\n ACTION_TYPE.MAKE_PAYMENT_PAYROLL,\n clientMutationLabel,\n );\n}\n","export const pageTitle = (item) => ({\n name: item?.name,\n});\n\nexport const mutationLabel = (item) => ({\n id: item?.id,\n});\n","import React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\n\nimport {\n TextInput,\n FormPanel,\n withModulesManager,\n PublishedComponent,\n} from '@openimis/fe-core';\nimport { MAX_LENGTH } from '../../constants';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PaymentPointHeadPanel extends FormPanel {\n render() {\n const { edited, classes, readOnly } = this.props;\n const paymentPoint = { ...edited };\n return (\n <Grid container className={classes.item}>\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocation\"\n withNull\n required\n readOnly={readOnly}\n filterLabels={false}\n value={paymentPoint?.location}\n onChange={(locations) => this.updateAttribute('location', locations)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n required\n withPlaceholder\n withLabel\n readOnly={readOnly}\n value={paymentPoint?.ppm}\n onChange={(ppm) => this.updateAttribute('ppm', ppm)}\n />\n </Grid>\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"paymentPoint.name\"\n required\n readOnly={readOnly}\n inputProps={{ maxLength: MAX_LENGTH.NAME }}\n value={paymentPoint?.name}\n onChange={(name) => this.updateAttribute('name', name)}\n />\n </Grid>\n </Grid>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PaymentPointHeadPanel))));\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport {\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n fetchPaymentPoint,\n updatePaymentPoint,\n} from '../../actions';\nimport {\n MODULE_NAME,\n RIGHT_PAYMENT_POINT_UPDATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointHeadPanel from './PaymentPointHeadPanel';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n lockedPage: theme.page.locked,\n}));\n\nfunction PaymentPointPage({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n paymentPointUuid,\n fetchPaymentPoint,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n paymentPoint,\n coreConfirm,\n clearConfirm,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPaymentPoint, setEditedPaymentPoint] = useState({});\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n const pageLocked = editedPaymentPoint?.isDeleted;\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (paymentPointUuid) {\n fetchPaymentPoint(modulesManager, [`id: \"${paymentPointUuid}\"`]);\n }\n }, [paymentPointUuid]);\n\n useEffect(() => {\n if (confirmed) confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYMENT_POINT) {\n back();\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => setEditedPaymentPoint(paymentPoint), [paymentPoint]);\n\n useEffect(() => () => clearPaymentPoint(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPaymentPoint?.name\n && editedPaymentPoint?.location\n && editedPaymentPoint?.ppm\n && !editedPaymentPoint?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty();\n\n const handleSave = () => {\n if (paymentPoint?.id) {\n updatePaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.updateLabel', mutationLabel(paymentPoint)),\n );\n } else {\n createPaymentPoint(\n editedPaymentPoint,\n formatMessageWithValues('paymentPoint.mutation.createLabel', mutationLabel(paymentPoint)),\n );\n }\n back();\n };\n\n const deletePaymentPointCallback = () => deletePaymentPoint(\n paymentPoint,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPoint)),\n );\n\n const openDeletePaymentPointConfirmDialog = () => {\n setConfirmedAction(() => deletePaymentPointCallback);\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPoint)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n const actions = [\n !!paymentPointUuid && !pageLocked && {\n doIt: openDeletePaymentPointConfirmDialog,\n icon: <DeleteIcon />,\n tooltip: formatMessage('tooltip.delete'),\n },\n ];\n\n return (\n rights.includes(RIGHT_PAYMENT_POINT_UPDATE) && (\n <div className={pageLocked ? classes.lockedPage : null}>\n <div className={classes.page}>\n <Form\n module=\"payroll\"\n title={formatMessageWithValues('PaymentPointPage.title', pageTitle(paymentPoint))}\n titleParams={pageTitle(paymentPoint)}\n openDirty\n edited={editedPaymentPoint}\n onEditedChanged={setEditedPaymentPoint}\n back={back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PaymentPointHeadPanel}\n readOnly={pageLocked}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n saveTooltip={formatMessage('tooltip.save')}\n />\n </div>\n\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n clearPaymentPoint,\n createPaymentPoint,\n deletePaymentPoint,\n updatePaymentPoint,\n fetchPaymentPoint,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n paymentPointUuid: props.match.params.payment_point_uuid,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n paymentPoint: state.payroll.paymentPoint,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@openimis/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PaymentPointFilter({\n filters, onChangeFilters,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <ControlledField\n module=\"payroll\"\n id=\"PaymentPointFilter.location\"\n field={(\n <Grid xs={12}>\n <PublishedComponent\n pubRef=\"location.DetailedLocationFilter\"\n withNull\n filters={filters}\n onChangeFilters={onChangeFilters}\n anchor=\"parentLocation\"\n />\n </Grid>\n )}\n />\n <ControlledField\n module=\"payroll\"\n id=\"admin.PaymentPointManagerPicker\"\n field={(\n <Grid className={classes.item} xs={3}>\n <PublishedComponent\n pubRef=\"admin.PaymentPointManagerPicker\"\n value={filterValue('ppm_Id')}\n withPlaceholder\n withLabel\n onChange={(ppm) => onChangeFilters([\n {\n id: 'ppm_Id',\n value: ppm,\n filter: `ppm_Id: \"${ppm?.id && decodeId(ppm?.id)}\"`,\n },\n ])}\n />\n </Grid>\n )}\n />\n <Grid xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('paymentPoint.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"paymentPointFilter.isDeleted\"\n field={(\n <Grid xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PaymentPointFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect, useSelector } from 'react-redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport { deletePaymentPoint, fetchPaymentPoints } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYMENT_POINT_ROUTE, RIGHT_PAYMENT_POINT_SEARCH, ROWS_PER_PAGE_OPTIONS,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PaymentPointFilter from './PaymentPointFilter';\n\nfunction PaymentPointSearcher({\n fetchPaymentPoints,\n fetchingPaymentPoints,\n fetchedPaymentPoints,\n errorPaymentPoints,\n deletePaymentPoint,\n paymentPoints,\n coreConfirm,\n clearConfirm,\n pageInfo,\n totalCount,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [paymentPointToDelete, setPaymentPointToDelete] = useState(null);\n const [deletedPaymentPointUuids, setDeletedPaymentPointUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePaymentPointConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('paymentPoint.delete.confirm.title', pageTitle(paymentPointToDelete)),\n formatMessage('paymentPoint.delete.confirm.message'),\n );\n };\n\n useEffect(() => paymentPointToDelete && openDeletePaymentPointConfirmDialog(), [paymentPointToDelete]);\n\n useEffect(() => {\n if (paymentPointToDelete && confirmed) {\n deletePaymentPoint(\n paymentPointToDelete,\n formatMessageWithValues('paymentPoint.mutation.deleteLabel', mutationLabel(paymentPointToDelete)),\n );\n setDeletedPaymentPointUuids([...deletedPaymentPointUuids, paymentPointToDelete.id]);\n }\n if (paymentPointToDelete && confirmed !== null) {\n setPaymentPointToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'paymentPoint.name',\n 'paymentPoint.ppm',\n 'paymentPoint.location',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['ppm', true],\n ['location', true],\n ];\n\n const fetch = (params) => fetchPaymentPoints(modulesManager, params);\n\n const rowIdentifier = (paymentPoint) => paymentPoint.id;\n\n const openPaymentPoint = (paymentPoint) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}/${paymentPoint?.id}`,\n );\n\n const onDelete = (paymentPoint) => setPaymentPointToDelete(paymentPoint);\n\n const itemFormatters = () => [\n (paymentPoint) => paymentPoint.name,\n ({ ppm }) => `${ppm?.username} ${ppm?.iUser?.lastName} ${ppm?.iUser?.otherNames}`,\n ({ location }) => `${location?.code} ${location?.name}`,\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPaymentPoint(paymentPoint)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (paymentPoint) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(paymentPoint)}\n disabled={deletedPaymentPointUuids.includes(paymentPoint.id)}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (paymentPoint) => openPaymentPoint(paymentPoint);\n\n const paymentPointFilter = ({ filters, onChangeFilters }) => (\n <PaymentPointFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const isRowDisabled = (_, paymentPoint) => deletedPaymentPointUuids.includes(paymentPoint.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={paymentPointFilter}\n fetch={fetch}\n items={paymentPoints}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPaymentPoints}\n fetchingItems={fetchingPaymentPoints}\n errorItems={errorPaymentPoints}\n tableTitle={formatMessageWithValues('PaymentPointSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPaymentPoints: state.payroll.fetchingPaymentPoints,\n fetchedPaymentPoints: state.payroll.fetchedPaymentPoints,\n errorPaymentPoints: state.payroll.errorPaymentPoints,\n paymentPoints: state.payroll.paymentPoints,\n pageInfo: state.payroll.paymentPointsPageInfo,\n totalCount: state.payroll.paymentPointsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentPoints,\n deletePaymentPoint,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPointSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@openimis/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYMENT_POINT_ROUTE,\n RIGHT_PAYMENT_POINT_CREATE,\n RIGHT_PAYMENT_POINT_SEARCH,\n} from '../../constants';\nimport PaymentPointSearcher from '../../components/payment-point/PaymentPointSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PaymentPointsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYMENT_POINT_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYMENT_POINT_SEARCH)\n && <PaymentPointSearcher />}\n {rights.includes(RIGHT_PAYMENT_POINT_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('tooltip.createButton'),\n )}\n </div>\n );\n}\n\nexport default PaymentPointsPage;\n","/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport {\n PublishedComponent,\n TextInput,\n NumberInput,\n SelectInput,\n CustomFilterTypeStatusPicker,\n CustomFilterFieldStatusPicker,\n} from '@openimis/fe-core';\nimport { Grid } from '@material-ui/core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport {\n BOOLEAN,\n INTEGER,\n STRING,\n CLEARED_STATE_FILTER,\n DATE,\n BOOL_OPTIONS,\n} from '../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersRowValue({\n classes,\n customFilters,\n currentFilter,\n setCurrentFilter,\n index,\n filters,\n setFilters,\n readOnly,\n}) {\n const onAttributeChange = (attribute) => (value) => {\n let updatedFilter = { ...currentFilter };\n\n if (attribute === 'field') {\n updatedFilter = {\n ...{ filter: '', value: '', type: value.type },\n };\n }\n\n const attributeValue = attribute === 'field' ? value.field : value;\n updatedFilter = {\n ...updatedFilter,\n [attribute]: attributeValue,\n ...(attribute === 'filter' && { value: '' }),\n };\n\n setCurrentFilter(updatedFilter);\n\n setFilters((prevFilters) => {\n const updatedRows = [...prevFilters];\n updatedRows[index] = { ...updatedFilter };\n return updatedRows;\n });\n };\n\n const removeFilter = () => {\n const newArray = [...filters];\n newArray.splice(index, 1);\n setFilters(newArray.length === 0 ? [CLEARED_STATE_FILTER] : newArray);\n };\n\n const renderInputBasedOnType = (type) => {\n const commonProps = {\n module: 'payroll',\n label: 'payroll.advancedFilters.value',\n value: currentFilter.value,\n onChange: onAttributeChange('value'),\n };\n\n switch (type) {\n case BOOLEAN:\n return (\n <SelectInput\n options={BOOL_OPTIONS}\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case INTEGER:\n return (\n <NumberInput\n min={0}\n displayZero\n readOnly={readOnly}\n {...commonProps}\n />\n );\n case STRING:\n default:\n if (currentFilter.field.toLowerCase().includes(DATE)) {\n return (\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n return (\n <TextInput\n readOnly={readOnly}\n {...commonProps}\n />\n );\n }\n };\n\n return (\n <Grid\n container\n direction=\"row\"\n className={classes.item}\n style={{ backgroundColor: '#DFEDEF' }}\n >\n {filters.length > 0 && !readOnly ? (\n <div style={{\n backgroundColor: '#DFEDEF', width: '10px', height: '25px', marginTop: '25px',\n }}\n >\n <span\n style={{\n transform: 'translate(-50%, -50%)',\n fontSize: '16px',\n color: '#006273',\n }}\n onClick={removeFilter}\n >\n ✖\n </span>\n </div>\n ) : (<></>)}\n <Grid item xs={3} className={classes.item}>\n <CustomFilterFieldStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.field\"\n value={{ field: currentFilter.field, type: currentFilter.type }}\n onChange={onAttributeChange('field')}\n customFilters={customFilters}\n readOnly={readOnly}\n />\n </Grid>\n {currentFilter.field !== '' ? (\n <Grid item xs={3} className={classes.item}>\n <CustomFilterTypeStatusPicker\n module=\"payroll\"\n label=\"payroll.advancedFilters.filter\"\n value={currentFilter.filter}\n onChange={onAttributeChange('filter')}\n customFilters={customFilters}\n customFilterField={currentFilter.field}\n readOnly={readOnly}\n />\n </Grid>\n ) : (<></>) }\n {currentFilter.field !== '' && currentFilter.filter !== '' ? (\n <Grid item xs={3} className={classes.item}>\n {renderInputBasedOnType(currentFilter.type)}\n </Grid>\n ) : (<></>) }\n </Grid>\n );\n}\n\nexport default injectIntl(withTheme(withStyles(styles)(connect(null, null)(AdvancedFiltersRowValue))));\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react/jsx-no-useless-fragment */\n/* eslint-disable no-prototype-builtins */\nimport React, { useEffect, useState } from 'react';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport {\n decodeId,\n formatMessage,\n fetchCustomFilter,\n} from '@openimis/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport AddCircle from '@material-ui/icons/Add';\nimport _ from 'lodash';\nimport AdvancedFiltersRowValue from './AdvancedFiltersRowValue';\nimport { BENEFIT_PLAN, CLEARED_STATE_FILTER } from '../../constants';\nimport { isBase64Encoded } from '../../utils/advanced-filters-utils';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdvancedFiltersDialog({\n intl,\n classes,\n object,\n objectToSave,\n fetchCustomFilter,\n customFilters,\n moduleName,\n objectType,\n setAppliedCustomFilters,\n // eslint-disable-next-line no-unused-vars\n appliedFiltersRowStructure,\n setAppliedFiltersRowStructure,\n updateAttributes,\n getDefaultAppliedCustomFilters,\n readOnly,\n additionalParams,\n confirmed,\n edited,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n // eslint-disable-next-line no-unused-vars\n const [currentFilter, setCurrentFilter] = useState({\n field: '', filter: '', type: '', value: '', amount: '',\n });\n const [filters, setFilters] = useState(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n\n useEffect(() => {\n setFilters(getDefaultAppliedCustomFilters(objectToSave.jsonExt));\n }, [objectToSave.jsonExt]);\n\n useEffect(() => {\n }, [edited]);\n\n const createParams = (moduleName, objectTypeName, uuidOfObject = null, additionalParams = null) => {\n const params = [\n `moduleName: \"${moduleName}\"`,\n `objectTypeName: \"${objectTypeName}\"`,\n ];\n if (uuidOfObject) {\n params.push(`uuidOfObject: \"${uuidOfObject}\"`);\n }\n if (additionalParams) {\n params.push(`additionalParams: ${JSON.stringify(JSON.stringify(additionalParams))}`);\n }\n return params;\n };\n\n const fetchFilters = (params) => fetchCustomFilter(params);\n\n const handleClose = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n };\n\n const handleRemoveFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setAppliedFiltersRowStructure([CLEARED_STATE_FILTER]);\n setFilters([]);\n };\n\n const handleAddFilter = () => {\n setCurrentFilter(CLEARED_STATE_FILTER);\n setFilters([...filters, CLEARED_STATE_FILTER]);\n };\n\n function updateJsonExt(inputJsonExt, outputFilters) {\n const existingData = JSON.parse(inputJsonExt || '{}');\n if (!existingData.hasOwnProperty('advanced_criteria')) {\n existingData.advanced_criteria = [];\n }\n const filterData = JSON.parse(outputFilters);\n existingData.advanced_criteria = filterData;\n const updatedJsonExt = JSON.stringify(existingData);\n return updatedJsonExt;\n }\n\n const saveCriteria = () => {\n setAppliedFiltersRowStructure(filters);\n const outputFilters = JSON.stringify(\n filters.map(({\n filter, value, field, type,\n }) => ({\n custom_filter_condition: `${field}__${filter}__${type}=${value}`,\n })),\n );\n const jsonExt = updateJsonExt(objectToSave.jsonExt, outputFilters);\n updateAttributes(jsonExt);\n setAppliedCustomFilters(outputFilters);\n handleClose();\n };\n\n useEffect(() => {\n if (object && _.isEmpty(object) === false) {\n let paramsToFetchFilters = [];\n if (objectType === BENEFIT_PLAN) {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n isBase64Encoded(object.id) ? decodeId(object.id) : object.id,\n additionalParams,\n );\n } else {\n paramsToFetchFilters = createParams(\n moduleName,\n objectType,\n additionalParams,\n );\n }\n fetchFilters(paramsToFetchFilters);\n }\n }, [object]);\n return (\n <>\n {filters.map((filter, index) => (\n <AdvancedFiltersRowValue\n customFilters={customFilters}\n currentFilter={filter}\n setCurrentFilter={setCurrentFilter}\n index={index}\n filters={filters}\n setFilters={setFilters}\n readOnly={readOnly || confirmed}\n />\n ))}\n { !readOnly && !confirmed ? (\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <AddCircle\n style={{\n border: 'thin solid',\n borderRadius: '40px',\n width: '16px',\n height: '16px',\n }}\n onClick={handleAddFilter}\n disabled={readOnly || confirmed}\n />\n <Button\n onClick={handleAddFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n marginBottom: '6px',\n fontSize: '0.8rem',\n }}\n disabled={readOnly || confirmed}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.addFilters')}\n </Button>\n </div>\n ) : (<></>) }\n <div>\n { !readOnly && !confirmed ? (\n <>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleRemoveFilter}\n variant=\"outlined\"\n style={{\n border: '0px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.clearAllFilters')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={saveCriteria}\n variant=\"contained\"\n color=\"primary\"\n autoFocus\n disabled={!object || confirmed || readOnly}\n >\n {formatMessage(intl, 'payroll', 'payroll.advancedFilters.button.filter')}\n </Button>\n </div>\n </>\n ) : <></> }\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state, props) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingCustomFilters: state.core.fetchingCustomFilters,\n errorCustomFilters: state.core.errorCustomFilters,\n fetchedCustomFilters: state.core.fetchedCustomFilters,\n customFilters: state.core.customFilters,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchCustomFilter,\n}, dispatch);\n\nexport default injectIntl(\n withTheme(withStyles(styles)(connect(mapStateToProps, mapDispatchToProps)(AdvancedFiltersDialog))),\n);\n","import React from 'react';\nimport { ConstantBasedPicker } from '@openimis/fe-core';\n\nimport { PAYROLL_STATUS_LIST } from '../../constants';\n\nfunction PayrollStatusPicker({\n required,\n withNull,\n readOnly,\n onChange,\n value,\n nullLabel,\n withLabel,\n}) {\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.payroll.payrollStatusPicker\"\n constants={PAYROLL_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default PayrollStatusPicker;\n","import React, { useEffect } from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { SelectInput } from '@openimis/fe-core';\nimport { fetchPaymentMethods } from '../actions';\n\nfunction PaymentMethodPicker({\n value,\n label,\n onChange,\n readOnly = false,\n withNull = false,\n nullLabel = null,\n withLabel = true,\n required = false,\n paymentMethods,\n fetchPaymentMethods,\n}) {\n const fetch = () => {\n fetchPaymentMethods({});\n };\n\n useEffect(() => {\n fetch();\n }, []);\n\n const options = Array.isArray(paymentMethods) && paymentMethods !== undefined ? [\n ...paymentMethods.map((paymentMethod) => ({\n value: paymentMethod.name,\n label: paymentMethod.name,\n })),\n ] : [];\n\n if (withNull) {\n options.unshift({\n value: null,\n label: nullLabel || '',\n });\n }\n\n return (\n <SelectInput\n module=\"payroll\"\n label={withLabel && label}\n options={options}\n value={value}\n onChange={onChange}\n readOnly={readOnly}\n required={required}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n fetchingPaymentMethods: state.payroll.fetchingPaymentMethods,\n errorPaymentMethods: state.payroll.errorPaymentMethods,\n fetchedPaymentMethods: state.payroll.fetchedPaymentMethods,\n paymentMethods: state.payroll.paymentMethods,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPaymentMethods,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentMethodPicker);\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\n\nimport { Grid, Divider, Typography } from '@material-ui/core';\nimport { withStyles, withTheme } from '@material-ui/core/styles';\n\nimport {\n formatMessage,\n FormPanel,\n PublishedComponent,\n TextInput,\n withModulesManager,\n FormattedMessage,\n} from '@openimis/fe-core';\nimport AdvancedFiltersDialog from './AdvancedFiltersDialog';\nimport { CLEARED_STATE_FILTER } from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: '100%',\n },\n});\n\nclass PayrollHeadPanel extends FormPanel {\n constructor(props) {\n super(props);\n this.state = {\n appliedCustomFilters: [CLEARED_STATE_FILTER],\n appliedFiltersRowStructure: [CLEARED_STATE_FILTER],\n };\n }\n\n componentDidMount() {\n this.setStateFromProps(this.props);\n }\n\n setStateFromProps = (props) => {\n const { jsonExt } = props?.edited ?? {};\n if (jsonExt) {\n const filters = this.getDefaultAppliedCustomFilters(jsonExt);\n this.setState({ appliedCustomFilters: filters, appliedFiltersRowStructure: filters });\n }\n };\n\n updateJsonExt = (value) => {\n this.updateAttributes({\n jsonExt: value,\n });\n };\n\n // eslint-disable-next-line class-methods-use-this\n getDefaultAppliedCustomFilters = (jsonExt) => {\n try {\n const jsonData = JSON.parse(jsonExt);\n const advancedCriteria = jsonData.advanced_criteria || [];\n const transformedCriteria = advancedCriteria.map(({ custom_filter_condition }) => {\n const [field, filter, typeValue] = custom_filter_condition.split('__');\n const [type, value] = typeValue.split('=');\n return {\n custom_filter_condition,\n field,\n filter,\n type,\n value,\n };\n });\n return transformedCriteria;\n } catch (error) {\n return [];\n }\n };\n\n setAppliedCustomFilters = (appliedCustomFilters) => {\n this.setState({ appliedCustomFilters });\n };\n\n setAppliedFiltersRowStructure = (appliedFiltersRowStructure) => {\n this.setState({ appliedFiltersRowStructure });\n };\n\n render() {\n const {\n edited, classes, intl, readOnly, isPayrollFromFailedInvoices, benefitPlanId,\n } = this.props;\n const payroll = { ...edited };\n const { appliedCustomFilters, appliedFiltersRowStructure } = this.state;\n return (\n <>\n <Grid container className={classes.item}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage(intl, 'payroll', 'paymentPoint.name')}\n value={payroll?.name}\n required\n onChange={(name) => this.updateAttribute('name', name)}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n required\n filterLabels={false}\n onChange={(paymentPlan) => this.updateAttribute('paymentPlan', paymentPlan)}\n value={payroll?.paymentPlan}\n readOnly={readOnly}\n benefitPlanId={benefitPlanId}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n required\n withPlaceholder\n filterLabels={false}\n onChange={(paymentCycle) => this.updateAttribute('paymentCycle', paymentCycle)}\n value={payroll?.paymentCycle}\n readOnly={isPayrollFromFailedInvoices ? !isPayrollFromFailedInvoices : readOnly}\n />\n </Grid>\n {readOnly && !isPayrollFromFailedInvoices && (\n <Grid item xs={3} className={classes.item}>\n <PayrollStatusPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.status && payroll.status}\n />\n </Grid>\n )}\n <Grid item xs={3} className={classes.item}>\n <PaymentMethodPicker\n required\n withNull={false}\n readOnly={readOnly}\n value={!!payroll?.paymentMethod && payroll.paymentMethod}\n onChange={(paymentMethod) => this.updateAttribute('paymentMethod', paymentMethod)}\n label={formatMessage(intl, 'payroll', 'paymentMethod')}\n />\n </Grid>\n </Grid>\n <Divider />\n {!isPayrollFromFailedInvoices\n && (\n <>\n <>\n <Typography>\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria\" />\n </div>\n </Typography>\n {!readOnly && (\n <div className={classes.item}>\n <FormattedMessage module=\"contributionPlan\" id=\"paymentPlan.advancedCriteria.tip\" />\n </div>\n )}\n <Divider />\n <Grid container className={classes.item}>\n\n <AdvancedFiltersDialog\n object={payroll?.paymentPlan?.benefitPlan\n ? JSON.parse(JSON.parse(payroll.paymentPlan.benefitPlan))\n : null}\n objectToSave={payroll}\n moduleName=\"social_protection\"\n objectType=\"BenefitPlan\"\n setAppliedCustomFilters={this.setAppliedCustomFilters}\n appliedCustomFilters={appliedCustomFilters}\n appliedFiltersRowStructure={appliedFiltersRowStructure}\n setAppliedFiltersRowStructure={this.setAppliedFiltersRowStructure}\n updateAttributes={this.updateJsonExt}\n getDefaultAppliedCustomFilters={() => this.getDefaultAppliedCustomFilters(payroll.jsonExt)}\n readOnly={readOnly}\n edited={this.props.edited}\n />\n\n </Grid>\n </>\n <Divider />\n </>\n )}\n </>\n );\n }\n}\n\nexport default withModulesManager(injectIntl(withTheme(withStyles(styles)(PayrollHeadPanel))));\n","import React, { useState } from 'react';\nimport { Input, Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n apiHeaders,\n baseApiUrl,\n formatMessage,\n} from '@openimis/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction PayrollPaymentDataUploadDialog({\n intl,\n classes,\n payrollUuid,\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const [forms, setForms] = useState({});\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setForms({});\n setIsOpen(false);\n };\n\n const handleFieldChange = (formName, fieldName, value) => {\n setForms({\n ...forms,\n [formName]: {\n ...(forms[formName] ?? {}),\n [fieldName]: value,\n },\n });\n };\n\n const onSubmit = async (values) => {\n const fileFormat = values.file.type;\n const formData = new FormData();\n\n formData.append('file', values.file);\n\n let urlImport;\n if (fileFormat.includes('/csv')) {\n urlImport = `${baseApiUrl}/payroll/csv_reconciliation/?payroll_id=${payrollUuid}`;\n }\n\n try {\n const response = await fetch(urlImport, {\n headers: apiHeaders,\n body: formData,\n method: 'POST',\n credentials: 'same-origin',\n });\n\n await response.json();\n\n if (response.status >= 400) {\n handleClose();\n return;\n }\n handleClose();\n } catch (error) {\n handleClose();\n }\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 600,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid item>\n <Grid container spacing={4} direction=\"column\">\n <Grid item>\n <Input\n onChange={(event) => handleFieldChange('paymentData', 'file', event.target.files[0])}\n required\n id=\"import-button\"\n inputProps={{\n accept: '.csv, application/csv, text/csv',\n }}\n type=\"file\"\n />\n </Grid>\n </Grid>\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n Cancel\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => onSubmit(forms.paymentData)}\n disabled={!(forms.paymentData?.file && payrollUuid)}\n >\n {formatMessage(intl, 'payroll', 'payroll.paymentData.upload.label')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentDataUploadDialog),\n ),\n ),\n);\n","import { baseApiUrl } from '@openimis/fe-core';\n\nexport default function downloadPayroll(payrollId, payrollFileName, blank = true) {\n const url = new URL(\n `${window.location.origin}${baseApiUrl}/payroll/csv_reconciliation/`,\n );\n url.searchParams.append('payroll_id', payrollId);\n url.searchParams.append('blank', blank);\n url.searchParams.append('payroll_file_name', payrollFileName);\n\n fetch(url)\n .then((response) => response.blob())\n .then((blob) => {\n const link = document.createElement('a');\n link.href = URL.createObjectURL(blob);\n link.download = blank ? `reconciliation_${payrollFileName}.csv` : payrollFileName;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n })\n .catch((error) => {\n // eslint-disable-next-line no-console\n console.error('Export failed, reason: ', error);\n });\n}\n","/* eslint-disable max-len */\nimport React, { useState } from 'react';\nimport { Paper, Grid } from '@material-ui/core';\nimport {\n Contributions,\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport { makeStyles } from '@material-ui/styles';\nimport Button from '@material-ui/core/Button';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n PAYROLL_TABS_LABEL_CONTRIBUTION_KEY,\n PAYROLL_TABS_PANEL_CONTRIBUTION_KEY,\n PAYROLL_STATUS,\n MODULE_NAME,\n} from '../../constants';\nimport PayrollPaymentDataUploadDialog from './dialogs/PayrollPaymentDataUploadDialog';\nimport downloadPayroll from '../../utils/export';\n\nconst useStyles = makeStyles((theme) => ({\n paper: theme.paper.paper,\n tableTitle: theme.table.title,\n tabs: {\n display: 'flex',\n alignItems: 'center',\n },\n selectedTab: {\n borderBottom: '4px solid white',\n },\n unselectedTab: {\n borderBottom: '4px solid transparent',\n },\n button: {\n marginLeft: 'auto',\n padding: theme.spacing(1),\n fontSize: '0.875rem',\n textTransform: 'none',\n },\n}));\n\nfunction PayrollTab({\n rights, setConfirmedAction, payrollUuid, isInTask, payroll, isPayrollFromFailedInvoices,\n}) {\n const classes = useStyles();\n\n const [activeTab, setActiveTab] = useState(BENEFIT_CONSUMPTION_LIST_TAB_VALUE);\n\n const isSelected = (tab) => tab === activeTab;\n\n const tabStyle = (tab) => (isSelected(tab) ? classes.selectedTab : classes.unselectedTab);\n\n const handleChange = (_, tab) => setActiveTab(tab);\n\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <Paper className={classes.paper}>\n <Grid container className={`${classes.tableTitle} ${classes.tabs}`}>\n <div style={{ width: '100%' }}>\n <div style={{ float: 'left' }}>\n <Contributions\n contributionKey={PAYROLL_TABS_LABEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n onChange={handleChange}\n isSelected={isSelected}\n tabStyle={tabStyle}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }}>\n {payrollUuid && !isPayrollFromFailedInvoices && (\n <Button\n onClick={() => downloadPayrollData(payrollUuid, payroll.name)}\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n textTransform: 'uppercase',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n )}\n {payrollUuid && payroll?.status === PAYROLL_STATUS.APPROVE_FOR_PAYMENT && payroll.paymentMethod === 'StrategyOfflinePayment'\n && (\n <PayrollPaymentDataUploadDialog\n payrollUuid={payrollUuid}\n />\n )}\n </div>\n </div>\n </Grid>\n <Contributions\n contributionKey={PAYROLL_TABS_PANEL_CONTRIBUTION_KEY}\n rights={rights}\n value={activeTab}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n isInTask={isInTask}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n </Paper>\n );\n}\n\nexport default PayrollTab;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Form,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport {\n fetchPayroll,\n clearPayroll,\n createPayroll,\n} from '../../actions';\nimport {\n MODULE_NAME, PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n RIGHT_PAYROLL_CREATE,\n} from '../../constants';\nimport { ACTION_TYPE } from '../../reducer';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport PayrollHeadPanel from '../../components/payroll/PayrollHeadPanel';\nimport PayrollTab from '../../components/payroll/PayrollTab';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n}));\n\nfunction PayrollPage({\n statePayrollUuid,\n taskPayrollUuid,\n rights,\n confirmed,\n submittingMutation,\n mutation,\n payroll,\n fetchPayroll,\n createPayroll,\n clearPayroll,\n clearConfirm,\n createPayrollFromFailedInvoices,\n journalize,\n benefitPlanId,\n}) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const [editedPayroll, setEditedPayroll] = useState({});\n const [payrollUuid, setPayrollUuid] = useState(null);\n const [isInTask, setIsInTask] = useState(false);\n const [readOnly, setReadOnly] = useState(false);\n const [isPayrollFromFailedInvoices, setIsPayrollFromFailedInvoices] = useState(false);\n const [confirmedAction, setConfirmedAction] = useState(() => null);\n const prevSubmittingMutationRef = useRef();\n\n const back = () => history.goBack();\n\n useEffect(() => {\n if (createPayrollFromFailedInvoices === PAYROLL_FROM_FAILED_INVOICES_URL_PARAM) {\n setIsPayrollFromFailedInvoices(true);\n }\n }, [createPayrollFromFailedInvoices, payrollUuid]);\n\n useEffect(() => {\n setPayrollUuid(statePayrollUuid ?? taskPayrollUuid);\n setIsInTask(!!taskPayrollUuid);\n }, [taskPayrollUuid, statePayrollUuid]);\n\n useEffect(() => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n }, [payrollUuid]);\n\n useEffect(() => {\n if (confirmed && typeof confirmed === 'function') confirmedAction();\n return () => confirmed && clearConfirm(null);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n if (mutation?.actionType === ACTION_TYPE.DELETE_PAYROLL) {\n back();\n }\n if (mutation?.clientMutationId && (!payrollUuid || isPayrollFromFailedInvoices)) {\n fetchPayroll(modulesManager, [`clientMutationId: \"${mutation.clientMutationId}\"`]);\n setIsPayrollFromFailedInvoices(false);\n }\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n useEffect(() => {\n if (payroll) {\n setReadOnly(payroll?.id);\n if (isPayrollFromFailedInvoices) {\n setEditedPayroll({\n ...payroll, id: null, name: null, paymentCycle: null, status: null, fromFailedInvoicesPayrollId: payroll?.id,\n });\n } else {\n setEditedPayroll(payroll);\n }\n if (!payrollUuid && payroll?.id && !isPayrollFromFailedInvoices) {\n const payrollRouteRef = modulesManager.getRef('payroll.route.payroll');\n history.replace(`/${payrollRouteRef}/${payroll.id}`);\n }\n }\n }, [payroll]);\n\n useEffect(() => () => clearPayroll(), []);\n\n const mandatoryFieldsEmpty = () => {\n if (\n editedPayroll?.name\n && editedPayroll?.paymentPlan\n && editedPayroll?.paymentCycle\n && editedPayroll?.paymentMethod\n && !editedPayroll?.isDeleted) return false;\n return true;\n };\n\n const canSave = () => !mandatoryFieldsEmpty() && (!readOnly || isPayrollFromFailedInvoices);\n\n const handleSave = () => {\n createPayroll(\n editedPayroll,\n formatMessageWithValues('payroll.mutation.create', mutationLabel(payroll)),\n );\n if (benefitPlanId) {\n back();\n }\n };\n\n const actions = [];\n\n return (\n rights.includes(RIGHT_PAYROLL_CREATE) && (\n <div className={classes.page}>\n <Form\n key={payrollUuid}\n module=\"payroll\"\n title={formatMessageWithValues('payrollPage.title', pageTitle(payroll))}\n titleParams={pageTitle(payroll)}\n openDirty={isPayrollFromFailedInvoices ? true : !payrollUuid}\n benefitPlan={editedPayroll}\n edited={editedPayroll}\n onEditedChanged={setEditedPayroll}\n back={!isInTask && back}\n mandatoryFieldsEmpty={mandatoryFieldsEmpty}\n canSave={canSave}\n save={handleSave}\n HeadPanel={PayrollHeadPanel}\n Panels={[PayrollTab]}\n rights={rights}\n actions={actions}\n setConfirmedAction={setConfirmedAction}\n payrollUuid={payrollUuid}\n saveTooltip={formatMessage('tooltip.save')}\n isInTask={!!taskPayrollUuid}\n payroll={payroll}\n readOnly={readOnly}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n benefitPlanId={benefitPlanId}\n />\n </div>\n )\n );\n}\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n createPayroll,\n clearPayroll,\n coreConfirm,\n clearConfirm,\n journalize,\n}, dispatch);\n\nconst mapStateToProps = (state, props) => ({\n statePayrollUuid: props?.match?.params?.payroll_uuid === 'null' ? null : props?.match?.params.payroll_uuid,\n createPayrollFromFailedInvoices: props?.match?.params?.createPayrollFromFailedInvoices,\n benefitPlanId: props?.match?.params?.benefitPlanId,\n rights: state.core?.user?.i_user?.rights ?? [],\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n payroll: state.payroll.payroll,\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPage);\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { FormControlLabel, Grid, Checkbox } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n TextInput,\n ControlledField,\n useModulesManager,\n useTranslations,\n PublishedComponent,\n decodeId,\n} from '@openimis/fe-core';\nimport {\n CONTAINS_LOOKUP,\n DEFAULT_DEBOUNCE_TIME,\n EMPTY_STRING,\n MODULE_NAME,\n} from '../../constants';\nimport PayrollStatusPicker from './PayrollStatusPicker';\nimport PaymentMethodPicker from '../../pickers/PaymentMethodPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: '0 0 10px 0',\n width: '100%',\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction PayrollFilter({\n filters, onChangeFilters, statusReadOnly = false,\n}) {\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label={formatMessage('payroll.name')}\n value={filterTextFieldValue('name')}\n onChange={onChangeStringFilter('name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"contributionPlan.PaymentPlanPicker\"\n filters={filters}\n value={filterValue('paymentPlan_Id')}\n onChange={(paymentPlan) => onChangeFilters([\n {\n id: 'paymentPlan_Id',\n value: paymentPlan,\n filter: `paymentPlan_Id: \"${paymentPlan?.id && decodeId(paymentPlan.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"paymentCycle.PaymentCyclePicker\"\n withLabel\n withPlaceholder\n filters={filters}\n value={filterValue('paymentCycle_Id')}\n onChange={(paymentCycle) => onChangeFilters([\n {\n id: 'paymentCycle_Id',\n value: paymentCycle,\n filter: `paymentCycle_Id: \"${paymentCycle?.id && decodeId(paymentCycle.id)}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PayrollStatusPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('paymentMethod')}\n value={filterValue('status')}\n readOnly={statusReadOnly}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: value ? `status: ${value}` : EMPTY_STRING,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PaymentMethodPicker\n withNull\n nullLabel={formatMessage('any')}\n label={formatMessage('payroll.paymentMethod')}\n value={filterValue('paymentMethod')}\n onChange={(value) => onChangeFilters([\n {\n id: 'paymentMethod',\n value,\n filter: `paymentMethod: \"${value}\"`,\n },\n ])}\n />\n </Grid>\n <ControlledField\n module=\"payroll\"\n id=\"payrollFilter.showHistory\"\n field={(\n <Grid item xs={12} className={classes.item}>\n <FormControlLabel\n control={(\n <Checkbox\n color=\"primary\"\n checked={filters?.isDeleted?.value}\n onChange={() => onChangeFilters([\n {\n id: 'isDeleted',\n value: !filters?.isDeleted?.value,\n filter: `isDeleted: ${!filters?.isDeleted?.value}`,\n },\n ])}\n />\n )}\n label={formatMessage('tooltip.isDeleted')}\n />\n </Grid>\n )}\n />\n </Grid>\n );\n}\n\nexport default PayrollFilter;\n","import React, { useState, useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport DeleteIcon from '@material-ui/icons/Delete';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\n} from '../../constants';\nimport { mutationLabel, pageTitle } from '../../utils/string-utils';\nimport { fetchPayrolls, deletePayrolls } from '../../actions';\n\nfunction PayrollSearcher({\n deletePayrolls,\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n coreConfirm,\n clearConfirm,\n confirmed,\n submittingMutation,\n mutation,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const [payrollToDelete, setPayrollToDelete] = useState(null);\n const [deletedPayrollUuids, setDeletedPayrollUuids] = useState([]);\n const prevSubmittingMutationRef = useRef();\n\n const openDeletePayrollConfirmDialog = () => {\n coreConfirm(\n formatMessageWithValues('payroll.delete.confirm.title', pageTitle(payrollToDelete)),\n formatMessage('payroll.delete.confirm.message'),\n );\n };\n\n useEffect(() => payrollToDelete && openDeletePayrollConfirmDialog(), [payrollToDelete]);\n\n useEffect(() => {\n if (payrollToDelete && confirmed) {\n deletePayrolls(\n payrollToDelete,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(payrollToDelete)),\n );\n setDeletedPayrollUuids([...deletedPayrollUuids, payrollToDelete.id]);\n }\n if (payrollToDelete && confirmed !== null) {\n setPayrollToDelete(null);\n }\n return () => confirmed && clearConfirm(false);\n }, [confirmed]);\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.benefitPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['benefitPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const onDelete = (payroll) => setPayrollToDelete(payroll);\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => (payroll.benefitPlan\n ? `${payroll.benefitPlan.code} ${payroll.benefitPlan.name}` : ''),\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.viewDetails')}>\n <IconButton\n onClick={() => openPayroll(payroll)}\n >\n <VisibilityIcon />\n </IconButton>\n </Tooltip>\n ),\n (payroll) => (\n <Tooltip title={formatMessage('tooltip.delete')}>\n <IconButton\n onClick={() => onDelete(payroll)}\n disabled={deletedPayrollUuids.includes(payroll.id) || payroll.status !== PAYROLL_STATUS.PENDING_APPROVAL}\n >\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n const isRowDisabled = (_, payroll) => deletedPayrollUuids.includes(payroll.id);\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n rowDisabled={isRowDisabled}\n rowLocked={isRowDisabled}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n deletePayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcher);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { Fab } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\nimport AddIcon from '@material-ui/icons/Add';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n useHistory,\n withTooltip,\n} from '@openimis/fe-core';\nimport {\n MODULE_NAME,\n PAYROLL_PAYROLL_ROUTE,\n RIGHT_PAYROLL_CREATE,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcher from '../../components/payroll/PayrollSearcher';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const history = useHistory();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n const onCreate = () => history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}`,\n );\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcher />}\n {rights.includes(RIGHT_PAYROLL_CREATE)\n && withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={onCreate}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage('createButton.tooltip'),\n )}\n </div>\n );\n}\n\nexport default PayrollsPage;\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@openimis/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilterModal({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('benefit_Individual_FirstName')}\n onChange={onChangeStringFilter('benefit_Individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('benefit_Individual_LastName')}\n onChange={onChangeStringFilter('benefit_Individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('bill_AmountTotal')}\n onChange={onChangeFilter('bill_AmountTotal')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.paymentDate')}\n value={filterValue('bill_DatePayed_Gte')}\n onChange={(v) => onChangeFilters([\n {\n id: 'bill_DatePayed_Gte',\n value: v,\n filter: `bill_DatePayed_Gte: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilterModal;\n","import React from 'react';\nimport {\n Modal, Backdrop, Fade, Box, Typography, Button,\n} from '@material-ui/core';\nimport { useTranslations, useModulesManager } from '@openimis/fe-core';\n\nfunction ErrorSummaryModal({ open, onClose, benefitAttachment }) {\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const jsonExt = benefitAttachment?.benefit?.jsonExt ? JSON.parse(benefitAttachment.benefit.jsonExt) : {};\n const outputGateway = `${jsonExt?.output_gateway}`;\n\n return (\n <Modal\n open={open}\n onClose={onClose}\n closeAfterTransition\n BackdropComponent={Backdrop}\n BackdropProps={{\n timeout: 500,\n }}\n >\n <Fade in={open}>\n <Box\n p={4}\n style={{\n backgroundColor: 'white', margin: 'auto', maxWidth: 400, outline: 'none',\n }}\n >\n <Typography variant=\"h6\">{formatMessage('payroll.errorSummary.title')}</Typography>\n {/* Conditional rendering based on output_gateway */}\n {outputGateway === null || outputGateway === 'undefined' ? (\n <Typography>\n {formatMessage('payroll.errorSummary.outputGateway.noInfo')}\n </Typography>\n ) : (\n <Typography>\n {outputGateway}\n </Typography>\n )}\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Button onClick={onClose} variant=\"contained\" color=\"primary\">\n {formatMessage('payroll.errorSummary.close')}\n </Button>\n </Box>\n </Box>\n </Fade>\n </Modal>\n );\n}\n\nexport default ErrorSummaryModal;\n","import React, { useState } from 'react';\nimport { Grid } from '@material-ui/core';\nimport { injectIntl } from 'react-intl';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n formatMessage,\n renderInputComponent,\n createFieldsBasedOnJSON,\n} from '@openimis/fe-core';\nimport { withTheme, withStyles } from '@material-ui/core/styles';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME } from '../../../constants';\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n});\n\nfunction AdditionalFieldsDialog({\n intl,\n classes,\n jsonExt,\n buttonLabel,\n title,\n}) {\n // eslint-disable-next-line no-param-reassign\n if (!jsonExt) jsonExt = '{}';\n const [isOpen, setIsOpen] = useState(false);\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n const jsonExtFields = createFieldsBasedOnJSON(JSON.stringify(JSON.parse(jsonExt).extra_info));\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"outlined\"\n color=\"#DFEDEF\"\n className={classes.button}\n style={{\n border: '0px',\n marginTop: '6px',\n }}\n >\n {formatMessage(intl, 'payroll', buttonLabel)}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1200,\n maxWidth: 1200,\n maxHeight: 900,\n },\n }}\n >\n <form noValidate>\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessage(intl, 'payroll', title)}\n </DialogTitle>\n <DialogContent>\n <div\n style={{ backgroundColor: '#DFEDEF', paddingLeft: '10px', paddingBottom: '10px' }}\n >\n <Grid container className={classes.item}>\n {jsonExtFields?.map((jsonExtField) => (\n <Grid item xs={6} className={classes.item}>\n {renderInputComponent(MODULE_NAME, jsonExtField)}\n </Grid>\n ))}\n </Grid>\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage(intl, 'payroll', 'payroll.additonalFields.close')}\n </Button>\n </div>\n <div style={{ float: 'right', paddingRight: '16px' }} />\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n}, dispatch);\n\nexport default injectIntl(\n withTheme(\n withStyles(styles)(\n connect(mapStateToProps, mapDispatchToProps)(AdditionalFieldsDialog),\n ),\n ),\n);\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@openimis/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollBenefitPrintTemplate = forwardRef(({ benefitAttachments }, ref) => {\n if (!benefitAttachments) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitAttachments.map((benefitAttachment, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitAttachment.benefit.code} - ${benefitAttachment.benefit.individual.firstName}, ${benefitAttachment.benefit.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.payedOnTime')}</div>\n <div className={classes.detailValue}>{benefitAttachment.benefit.payedOnTime ? 'Yes' : 'No'}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollBenefitPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-param-reassign */\nimport React, { useState, useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport Typography from '@material-ui/core/Typography';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@openimis/fe-core';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitAttachments, deleteBenefitConsumption } from '../../actions';\nimport {\n DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\n} from '../../constants';\nimport BenefitConsumptionFilterModal from './BenefitConsumptionFilterModal';\nimport ErrorSummaryModal from './dialogs/ErrorSummaryModal';\nimport { mutationLabel } from '../../utils/string-utils';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollBenefitPrintTemplate from '../PayrollBenefitPrintTemplate';\n\nfunction BenefitConsumptionSearcherModal({\n fetchBenefitAttachments,\n fetchingBenefitAttachments,\n fetchedBenefitAttachments,\n errorBenefitAttachments,\n benefitAttachments,\n benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount,\n payrollUuid,\n reconciledMode,\n payrollDetail,\n deleteBenefitConsumption,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [selectedBenefitAttachment, setSelectedBenefitAttachment] = useState(null);\n const [openConfirmDialog, setOpenConfirmDialog] = useState(false);\n const [benefitToDelete, setBenefitToDelete] = useState(null);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => {\n fetchBenefitAttachments(modulesManager, params);\n };\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter: `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (reconciledMode && payrollDetail.paymentMethod !== 'StrategyOnlinePayment') {\n filters.benefit_Status = {\n value: 'RECONCILED',\n filter: `benefit_Status: ${PAYROLL_STATUS.RECONCILED}`,\n };\n }\n return filters;\n };\n\n const defaultFiltersArray = () => {\n const filters = [\n 'isDeleted: false',\n `first: ${DEFAULT_PAGE_SIZE}`,\n `payrollUuid: \"${payrollUuid}\"`,\n ];\n if (reconciledMode && payrollDetail.paymentMethod !== 'StrategyOnlinePayment') {\n filters.push(`benefit_Status: ${PAYROLL_STATUS.RECONCILED}`);\n }\n return filters;\n };\n\n const headers = () => [\n 'benefitConsumption.photo',\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.amount',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n 'benefitConsumption.status',\n '',\n '',\n ];\n\n const confirmDeleteBenefitConsumption = (benefit) => {\n setBenefitToDelete(benefit);\n setOpenConfirmDialog(true);\n };\n\n const handleDeleteBenefitConsumption = () => {\n deleteBenefitConsumption(\n benefitToDelete.benefit,\n formatMessageWithValues('payroll.mutation.deleteLabel', mutationLabel(benefitToDelete.benefit.code)),\n );\n setOpenConfirmDialog(false);\n setBenefitToDelete(null);\n const filters = defaultFiltersArray();\n fetchBenefitAttachments(modulesManager, filters); // Refresh the searcher after deletion\n };\n\n const checkBenefitDueDate = (benefitAttachment) => {\n if (!benefitAttachment.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitAttachment.benefit && benefitAttachment.benefit.dateDue >= benefitAttachment.bill.datePayed\n ) ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (benefitAttachment) => (\n benefitAttachment.benefit.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.firstName,\n (benefitAttachment) => benefitAttachment?.benefit?.individual?.lastName,\n (benefitAttachment) => benefitAttachment?.bill?.amountTotal,\n (benefitAttachment) => benefitAttachment?.benefit?.receipt,\n (benefitAttachment) => benefitAttachment?.benefit?.dateDue,\n (benefitAttachment) => checkBenefitDueDate(benefitAttachment),\n (benefitAttachment) => (\n !benefitAttachment.benefit.receipt\n ? ''\n : benefitAttachment?.bill?.datePayed\n ),\n (benefitAttachment) => benefitAttachment?.benefit?.status,\n (benefitAttachment) => (\n <AdditionalFieldsDialog\n jsonExt={benefitAttachment?.benefit?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n ),\n (benefitAttachment) => (\n <Button\n onClick={() => {}}\n variant=\"contained\"\n color=\"primary\"\n disabled={!!benefitAttachment.benefit.receipt}\n >\n {formatMessage('payroll.summary.confirm')}\n </Button>\n ),\n (benefitAttachment) => (\n payrollDetail.paymentMethod === 'StrategyOnlinePayment' && payrollDetail.status === PAYROLL_STATUS.RECONCILED\n && benefitAttachment.benefit.status !== 'RECONCILED' && (\n <Button\n onClick={() => setSelectedBenefitAttachment(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_error')}\n </Button>\n )\n ),\n (benefitAttachment) => (\n payrollDetail.status === PAYROLL_STATUS.PENDING_APPROVAL\n && benefitAttachment.benefit.status !== 'PENDING_DELETION' && (\n <Button\n onClick={() => confirmDeleteBenefitConsumption(benefitAttachment)}\n variant=\"contained\"\n style={{ backgroundColor: '#b80000', color: 'white' }}\n >\n {formatMessage('payroll.summary.benefit_delete')}\n </Button>\n )\n ),\n ];\n\n const rowIdentifier = (benefitAttachment) => benefitAttachment.id;\n\n const sorts = () => [\n ['benefit_photo', false],\n ['benefit_individual_FirstName', true],\n ['benefit_individual_LastName', true],\n ['bill_amountTotal', true],\n ['benefit_receipt', true],\n ['benefit_dateDue', true],\n ];\n\n const benefitConsumptionFilterModal = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilterModal filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionFilterModal}\n fetch={fetch}\n items={benefitAttachments}\n itemsPageInfo={benefitAttachmentsPageInfo}\n fetchingItems={fetchingBenefitAttachments}\n fetchedItems={fetchedBenefitAttachments}\n errorItems={errorBenefitAttachments}\n tableTitle={formatMessageWithValues('benefitAttachment.searcherResultsTitle', { benefitAttachmentsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n {selectedBenefitAttachment && (\n <ErrorSummaryModal\n open={!!selectedBenefitAttachment}\n onClose={() => setSelectedBenefitAttachment(null)}\n benefitAttachment={selectedBenefitAttachment}\n />\n )}\n <Dialog\n open={openConfirmDialog}\n onClose={() => setOpenConfirmDialog(false)}\n >\n <DialogTitle>{formatMessage('benefitConsumption.delete.confirm.title')}</DialogTitle>\n <DialogContent>\n <DialogContentText>\n {formatMessage('benefitConsumption.delete.confirm.message')}\n </DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={() => setOpenConfirmDialog(false)} color=\"primary\">\n {formatMessage('benefitConsumption.cancel')}\n </Button>\n <Button onClick={handleDeleteBenefitConsumption} color=\"primary\" autoFocus>\n {formatMessage('benefitConsumption.confirm')}\n </Button>\n </DialogActions>\n </Dialog>\n <div style={{ display: 'none' }}>\n <PayrollBenefitPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitAttachments={benefitAttachments}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitAttachments: state.payroll.fetchingBenefitAttachments,\n fetchedBenefitAttachments: state.payroll.fetchedBenefitAttachments,\n errorBenefitAttachments: state.payroll.errorBenefitAttachments,\n benefitAttachments: state.payroll.benefitAttachments,\n benefitAttachmentsPageInfo: state.payroll.benefitAttachmentsPageInfo,\n benefitAttachmentsTotalCount: state.payroll.benefitAttachmentsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitAttachments, deleteBenefitConsumption },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcherModal);\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS } from '../../../constants';\nimport {\n closePayroll, fetchPayroll, makePaymentForPayroll, rejectPayroll,\n} from '../../../actions';\nimport { mutationLabel } from '../../../utils/string-utils';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\n\nfunction PaymentApproveForPaymentDialog({\n classes,\n payroll,\n closePayroll,\n rejectPayroll,\n payrollDetail,\n fetchPayroll,\n makePaymentForPayroll,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [approvedBeneficiaries, setApprovedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption.length;\n const selected = payroll.benefitConsumption.filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n const approved = payroll.benefitConsumption.filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n setApprovedBeneficiaries(approved);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll && payroll.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const closePayrollCallback = () => {\n handleClose();\n closePayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const rejectPayrollCallback = () => {\n handleClose();\n rejectPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const makePaymentForPayrollCallback = () => {\n handleClose();\n makePaymentForPayroll(\n payrollDetail,\n formatMessageWithValues('payroll.mutation.closeLabel', mutationLabel(payrollDetail)),\n );\n };\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '75%',\n maxWidth: '75%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => closePayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n disabled={\n payrollDetail.paymentMethod === 'StrategyOnlinePayment'\n ? approvedBeneficiaries === 0\n : selectedBeneficiaries === 0\n }\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.approveAndClose')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n <Button\n onClick={() => rejectPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.reject')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n {payrollDetail.paymentMethod === 'StrategyOnlinePayment' && (\n <Button\n onClick={() => makePaymentForPayrollCallback(payrollDetail)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n }}\n >\n {formatMessage('payroll.summary.makePayment')}\n </Button>\n )}\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n closePayroll,\n rejectPayroll,\n fetchPayroll,\n makePaymentForPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentApproveForPaymentDialog);\n","import React from 'react';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport { IconButton, Tooltip } from '@material-ui/core';\nimport DownloadIcon from '@material-ui/icons/CloudDownload';\n\nimport {\n Searcher,\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME,\n ROWS_PER_PAGE_OPTIONS, PAYROLL_PAYMENT_FILE_STATUS,\n} from '../../constants';\nimport { fetchPayrollPaymentFiles } from '../../actions';\nimport downloadPayroll from '../../utils/export';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\n\nfunction PayrollPaymentFilesSearcher({\n fetchingPayrollFiles,\n fetchedPayrollFiles,\n errorPayrollFiles,\n files,\n pageInfo,\n totalCount,\n fetchPayrollPaymentFiles,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n const headers = () => [\n 'payrollPaymentFile.fileName',\n 'payrollPaymentFile.status',\n 'payrollPaymentFile.error',\n 'payrollPaymentFile.download',\n '',\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n };\n if (payrollUuid) {\n filters.payrollId = {\n value: payrollUuid,\n filter: `payroll_Id: \"${payrollUuid}\"`,\n };\n }\n return filters;\n };\n\n const download = (payrollId, fileName) => {\n downloadPayroll(payrollId, fileName, false);\n };\n\n const fetchFiles = (params) => fetchPayrollPaymentFiles(modulesManager, params);\n\n const rowIdentifier = (file) => file.fileName;\n\n const itemFormatters = () => [\n (file) => file.fileName,\n (file) => file.status,\n (file) => file.error,\n (file) => (\n <Tooltip title={formatMessage('tooltip.download')}>\n <IconButton\n onClick={() => download(payrollUuid, file.fileName)}\n disabled={![PAYROLL_PAYMENT_FILE_STATUS.SUCCESS,\n PAYROLL_PAYMENT_FILE_STATUS.PARTIAL_SUCCESS].includes(file.status)}\n >\n <DownloadIcon />\n </IconButton>\n </Tooltip>\n ),\n (file) => (\n <AdditionalFieldsDialog\n jsonExt={file?.jsonExt}\n buttonLabel=\"payroll.summaryUpload\"\n title=\"payroll.summaryUpload\"\n />\n ),\n ];\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={null}\n fetch={fetchFiles}\n items={files}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrollFiles}\n fetchingItems={fetchingPayrollFiles}\n errorItems={errorPayrollFiles}\n tableTitle={formatMessageWithValues('payrollPaymentFilesSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n );\n}\nconst mapStateToProps = (state) => ({\n fetchingPayrollFiles: state.payroll.fetchingPayrollFiles,\n fetchedPayrollFiles: state.payroll.fetchedPayrollFiles,\n errorPayrollFiles: state.payroll.errorPayrollFiles,\n files: state.payroll.payrollFiles,\n pageInfo: state.payroll.payrollFilesPageInfo,\n totalCount: state.payroll.payrollFilesTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrollPaymentFiles,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollPaymentFilesSearcher);\n","import React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport {\n useTranslations,\n useModulesManager,\n} from '@openimis/fe-core';\nimport PayrollPaymentFilesSearcher from '../PayrollPaymentFilesSearcher';\nimport { MODULE_NAME } from '../../../constants';\n\nfunction PayrollReconciliationFilesDialog({\n payroll, classes,\n}) {\n const modulesManager = useModulesManager();\n const rights = useSelector((state) => state.core?.user?.i_user?.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationFiles')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n width: 1000,\n maxWidth: 1000,\n },\n }}\n >\n <form noValidate>\n <DialogContent>\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payroll?.id}\n rights={rights}\n showFilters={false}\n />\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n }}\n >\n <div style={{ maxWidth: '1000px' }}>\n <div style={{ float: 'right' }}>\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </form>\n </Dialog>\n </>\n );\n}\n\nexport default PayrollReconciliationFilesDialog;\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentApproveForPaymentSummary from './dialogs/PaymentApproveForPaymentSummary';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherApproved({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.APPROVE_FOR_PAYMENT,\n filter: `status: ${PAYROLL_STATUS.APPROVE_FOR_PAYMENT}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => (payroll.benefitPlan\n ? `${payroll.benefitPlan.code} ${payroll.benefitPlan.name}` : ''),\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentApproveForPaymentSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherApproved);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherApproved from '../../components/payroll/PayrollSearcherApproved';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ApprovedPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherApproved classes={classes} />}\n </div>\n );\n}\n\nexport default ApprovedPayrollsPage;\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n useHistory,\n} from '@openimis/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport {\n MODULE_NAME,\n BENEFIT_CONSUMPTION_STATUS,\n PAYROLL_PAYROLL_ROUTE,\n PAYROLL_FROM_FAILED_INVOICES_URL_PARAM,\n} from '../../../constants';\nimport downloadPayroll from '../../../utils/export';\n\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport { fetchPayroll } from '../../../actions';\n\nfunction PaymentReconcilationSummarytDialog({\n classes,\n payroll,\n payrollDetail,\n fetchPayroll,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleCreatePaymentForFailedInvoice = () => {\n history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payrollDetail?.id}/${PAYROLL_FROM_FAILED_INVOICES_URL_PARAM}`,\n );\n };\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption.length;\n const selected = payroll.benefitConsumption.filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll && payroll.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} reconciledMode />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={handleCreatePaymentForFailedInvoice}\n variant=\"contained\"\n color=\"primary\"\n disabled={totalBeneficiaries === selectedBeneficiaries}\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.createPaymentForFailedInvoice')}\n </Button>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentReconcilationSummarytDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PaymentReconciliationSummaryDialog from './dialogs/PaymentReconciliationSummaryDialog';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\n\nfunction PayrollSearcherReconciled({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.RECONCILED,\n filter: `status: ${PAYROLL_STATUS.RECONCILED}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => (payroll.benefitPlan\n ? `${payroll.benefitPlan.code} ${payroll.benefitPlan.name}` : ''),\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PaymentReconciliationSummaryDialog\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherReconciled);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherReconciled from '../../components/payroll/PayrollSearcherReconciled';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction ReconciledPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherReconciled classes={classes} />}\n </div>\n );\n}\n\nexport default ReconciledPayrollsPage;\n","/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useState } from 'react';\n\nimport { TextField } from '@material-ui/core';\n\nimport {\n useGraphqlQuery, useTranslations, Autocomplete, useModulesManager,\n} from '@openimis/fe-core';\nimport { PAYMENT_POINT_PROJECTION } from '../../actions';\n\nfunction PaymentPointPicker({\n readOnly,\n value,\n onChange,\n required,\n withLabel,\n withPlaceholder,\n filterOptions,\n filterSelectedOptions,\n}) {\n const [searchString, setSearchString] = useState();\n const { formatMessage } = useTranslations('payroll');\n\n const modulesManager = useModulesManager();\n\n const formatSuggestion = (paymentPoint) => [paymentPoint?.name].filter(Boolean).join(' ');\n\n const { isLoading, data, error } = useGraphqlQuery(\n `\n query paymentPoint {\n paymentPoint {\n edges {\n node {\n ${PAYMENT_POINT_PROJECTION(modulesManager).join(' ')}\n }\n }\n }\n }\n `,\n {},\n );\n\n const paymentPoints = data?.paymentPoint?.edges.map((edge) => edge.node) ?? [];\n\n return (\n <Autocomplete\n withLabel={withLabel}\n withPlaceholder={withPlaceholder}\n readOnly={readOnly}\n value={value}\n placeholder={formatMessage('paymentPointPicker.placeholder')}\n label={formatMessage('paymentPointPicker.label')}\n isLoading={isLoading}\n options={paymentPoints}\n error={error}\n getOptionLabel={(option) => formatSuggestion(option)}\n onChange={(user) => onChange(user)}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={() => setSearchString(searchString)}\n renderInput={(inputProps) => (\n <TextField\n {...inputProps}\n variant=\"standard\"\n required={required}\n label={withLabel && formatMessage('paymentPointPicker.label')}\n placeholder={withPlaceholder && formatMessage('paymentPointPicker.placeholder')}\n />\n )}\n />\n );\n}\n\nexport default PaymentPointPicker;\n","import React from 'react';\nimport { ConstantBasedPicker } from '@openimis/fe-core';\n\nimport { BENEFIT_CONSUMPTION_STATUS_LIST } from '../constants';\n\nfunction BenefitConsumptionStatusPicker(props) {\n const {\n required, withNull, readOnly, onChange, value, nullLabel, withLabel,\n } = props;\n return (\n <ConstantBasedPicker\n module=\"payroll\"\n label=\"payroll.benefitConsumptionStatusPicker\"\n constants={BENEFIT_CONSUMPTION_STATUS_LIST}\n required={required}\n withNull={withNull}\n readOnly={readOnly}\n onChange={onChange}\n value={value}\n nullLabel={nullLabel}\n withLabel={withLabel}\n />\n );\n}\n\nexport default BenefitConsumptionStatusPicker;\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@openimis/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionPayrollFilter({ filters, onChangeFilters, benefitPlan }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.name\"\n value={filterTextFieldValue('payroll_Name')}\n onChange={onChangeStringFilter('payroll_Name', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.payroll.benefitPlan\"\n value={filterTextFieldValue('benefitPlanName')}\n onChange={onChangeStringFilter('benefitPlanName')}\n readOnly={benefitPlan !== null && benefitPlan !== undefined}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.startDate')}\n value={filterValue('payroll_PaymentCycle_StartDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_StartDate',\n value: v,\n filter: `payroll_PaymentCycle_StartDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.payroll.endDate')}\n value={filterValue('payroll_PaymentCycle_EndDate')}\n onChange={(v) => onChangeFilters([\n {\n id: 'payroll_PaymentCycle_EndDate',\n value: v,\n filter: `payroll_PaymentCycle_EndDate: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('benefit_Status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'benefit_Status',\n value,\n filter: `benefit_Status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('benefit_Code')}\n onChange={onChangeStringFilter('benefit_Code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('benefit_Receipt')}\n onChange={onChangeStringFilter('benefit_Receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('benefit_DateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'benefit_DateDue',\n value: v,\n filter: `benefit_DateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('benefit_Amount')}\n onChange={onChangeStringFilter('benefit_Amount')}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('benefit_Type')}\n onChange={onChangeStringFilter('benefit_Type', CONTAINS_LOOKUP)}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionPayrollFilter;\n","/* eslint-disable no-param-reassign */\nimport React, { useEffect, useState } from 'react';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@openimis/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { fetchPayrollBenefitConsumptions, fetchBenefitsSummary } from '../../actions';\nimport { DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS } from '../../constants';\nimport BenefitConsumptionPayrollFilter from './BenefitConsumptionPayrollFilter';\n\nfunction BenefitConsumptionPayrollSearcher({\n fetchPayrollBenefitConsumptions,\n fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount,\n fetchBenefitsSummary,\n fetchedBenefitsSummary,\n benefitsSummary,\n individualUuid,\n benefitPlan,\n groupBeneficiaries,\n paymentCycleUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessage, formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const [totalNumberOfBenefits, setTotalNumberOfBenefits] = useState(0);\n\n const fetch = (params) => fetchPayrollBenefitConsumptions(modulesManager, params);\n\n const headers = () => [\n 'benefitConsumption.payroll.name',\n 'benefitConsumption.payroll.benefitPlan',\n 'benefitConsumption.payroll.startDate',\n 'benefitConsumption.payroll.endDate',\n 'benefitConsumption.status',\n 'benefitConsumption.code',\n 'benefitConsumption.receipt',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n ];\n\n const checkBenefitDueDate = (payrollBenefitConsumption) => {\n if (!payrollBenefitConsumption.benefit.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n payrollBenefitConsumption.benefit\n && payrollBenefitConsumption.benefit.dateDue\n >= payrollBenefitConsumption.benefit.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.name,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.benefitPlanNameCode,\n // eslint-disable-next-line max-len\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.startDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.payroll?.paymentCycle?.endDate,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.status,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.code,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.receipt,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.dateDue,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.amount,\n (payrollBenefitConsumption) => payrollBenefitConsumption?.benefit?.type,\n (payrollBenefitConsumption) => checkBenefitDueDate(payrollBenefitConsumption),\n (payrollBenefitConsumption) => (\n !payrollBenefitConsumption.benefit.receipt\n ? ''\n : payrollBenefitConsumption?.benefit?.benefitAttachment[0]?.bill?.datePayed\n ),\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['payroll_Name', true],\n ['payroll_benefitPlanName', false],\n ['payroll_PaymentCycle_StartDate', true],\n ['payroll_PaymentCycle_EndDate', true],\n ['benefit_Status', true],\n ['benefit_Code', true],\n ['benefit_Receipt', true],\n ['benefit_DateDue', true],\n ['benefit_Amount', true],\n ['benefit_Type', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n };\n if (groupBeneficiaries !== null && groupBeneficiaries !== undefined) {\n filters.benefit_Individual_Id = {\n value: groupBeneficiaries?.group?.head?.uuid,\n filter: `benefit_Individual_Id: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n };\n } else if (individualUuid !== null && individualUuid !== undefined) {\n filters.benefit_Individual_Id = {\n value: individualUuid,\n filter: `benefit_Individual_Id: \"${individualUuid}\"`,\n };\n }\n if (benefitPlan?.id) {\n filters.benefitPlanUuid = {\n value: benefitPlan.id,\n filter: `benefitPlanUuid: \"${benefitPlan.id}\"`,\n };\n }\n if (paymentCycleUuid) {\n filters.paymentCycleUuid = {\n value: paymentCycleUuid,\n filter: `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n };\n }\n return filters;\n };\n\n useEffect(() => {\n const params = [];\n if (individualUuid) {\n params.push(\n `individualId: \"${individualUuid}\"`,\n );\n }\n if (groupBeneficiaries) {\n params.push(\n `individualId: \"${groupBeneficiaries?.group?.head?.uuid}\"`,\n );\n }\n if (benefitPlan?.id) {\n params.push(\n `benefitPlanUuid: \"${benefitPlan.id}\"`,\n );\n }\n if (paymentCycleUuid) {\n params.push(\n `paymentCycleUuid: \"${paymentCycleUuid}\"`,\n );\n }\n fetchBenefitsSummary(params);\n }, []);\n\n useEffect(() => {\n if (payrollBenefitConsumptionsTotalCount > totalNumberOfBenefits) {\n setTotalNumberOfBenefits(payrollBenefitConsumptionsTotalCount);\n }\n }, [payrollBenefitConsumptionsTotalCount]);\n\n const benefitConsumptionPayrollFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionPayrollFilter\n filters={filters}\n onChangeFilters={onChangeFilters}\n benefitPlan={benefitPlan}\n />\n );\n\n return (\n <div>\n {fetchedBenefitsSummary && (\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalNumberOfBenefits')}\n </Typography>\n <Typography variant=\"body1\">\n {totalNumberOfBenefits}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountDue')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountDue ?? 0}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountReceived')}\n </Typography>\n <Typography variant=\"body1\">\n {benefitsSummary?.totalAmountReceived ?? 0}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n )}\n <Searcher\n module=\"payroll\"\n FilterPane={benefitConsumptionPayrollFilter}\n fetch={fetch}\n items={payrollBenefitConsumptions}\n itemsPageInfo={payrollBenefitConsumptionsPageInfo}\n fetchingItems={fetchingPayrollBenefitConsumptions}\n fetchedItems={fetchedPayrollBenefitConsumptions}\n errorItems={errorPayrollBenefitConsumptions}\n tableTitle={\n // eslint-disable-next-line max-len\n formatMessageWithValues('payrollBenefitConsumption.searcherResultsTitle', { payrollBenefitConsumptionsTotalCount })\n }\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n </div>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrollBenefitConsumptions: state.payroll.fetchingPayrollBenefitConsumptions,\n fetchedPayrollBenefitConsumptions: state.payroll.fetchedPayrollBenefitConsumptions,\n errorPayrollBenefitConsumptions: state.payroll.errorPayrollBenefitConsumptions,\n payrollBenefitConsumptions: state.payroll.payrollBenefitConsumptions,\n payrollBenefitConsumptionsPageInfo: state.payroll.payrollBenefitConsumptionsPageInfo,\n payrollBenefitConsumptionsTotalCount: state.payroll.payrollBenefitConsumptionsTotalCount,\n fetchingBenefitsSummary: state.payroll.fetchingBenefitsSummary,\n errorBenefitsSummary: state.payroll.errorBenefitsSummary,\n fetchedBenefitsSummary: state.payroll.fetchedBenefitsSummary,\n benefitsSummary: state.payroll.benefitsSummary,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchPayrollBenefitConsumptions, fetchBenefitsSummary },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionPayrollSearcher);\n","import React from 'react';\nimport PayrollPage from '../../pages/payroll/PayrollPage';\nimport { EMPTY_STRING } from '../../constants';\n\nconst PayrollTaskTableHeaders = () => [\n EMPTY_STRING,\n];\n\nconst PayrollTaskItemFormatters = () => [\n (payroll) => <PayrollPage taskPayrollUuid={payroll?.id} />,\n];\n\nexport { PayrollTaskTableHeaders, PayrollTaskItemFormatters };\n","const PayrollReconciliationTaskTableHeaders = () => [\n];\n\nconst PayrollReconciliationTaskItemFormatters = () => [\n];\n\nexport { PayrollReconciliationTaskTableHeaders, PayrollReconciliationTaskItemFormatters };\n","import React from 'react';\nimport _debounce from 'lodash/debounce';\n\nimport { Grid } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n PublishedComponent,\n useModulesManager,\n useTranslations,\n TextInput,\n NumberInput,\n} from '@openimis/fe-core';\nimport { CONTAINS_LOOKUP, DEFAULT_DEBOUNCE_TIME, EMPTY_STRING } from '../../constants';\nimport BenefitConsumptionStatusPicker from '../../pickers/BenefitConsumptionStatusPicker';\n\nconst useStyles = makeStyles((theme) => ({\n form: {\n padding: 0,\n },\n item: {\n padding: theme.spacing(1),\n },\n}));\n\nfunction BenefitConsumptionFilter({ filters, onChangeFilters }) {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const { formatMessage } = useTranslations('payroll', modulesManager);\n\n const debouncedOnChangeFilters = _debounce(onChangeFilters, DEFAULT_DEBOUNCE_TIME);\n\n const filterTextFieldValue = (filterName) => filters?.[filterName]?.value ?? EMPTY_STRING;\n\n const filterValue = (filterName) => filters?.[filterName]?.value ?? null;\n\n const onChangeFilter = (filterName) => (value) => {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value: value || null,\n filter: `${filterName}: ${value}`,\n },\n ]);\n };\n\n const onChangeStringFilter = (filterName, lookup = null) => (value) => {\n if (lookup) {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}_${lookup}: \"${value}\"`,\n },\n ]);\n } else {\n debouncedOnChangeFilters([\n {\n id: filterName,\n value,\n filter: `${filterName}: \"${value}\"`,\n },\n ]);\n }\n };\n\n return (\n <Grid container className={classes.form}>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.firstName\"\n value={filterTextFieldValue('individual_FirstName')}\n onChange={onChangeStringFilter('individual_FirstName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.individual.lastName\"\n value={filterTextFieldValue('individual_LastName')}\n onChange={onChangeStringFilter('individual_LastName', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.photo\"\n value={filterTextFieldValue('photo')}\n onChange={onChangeStringFilter('photo', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.code\"\n value={filterTextFieldValue('code')}\n onChange={onChangeStringFilter('code', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n module=\"payroll\"\n label={formatMessage('benefitConsumption.dateDue')}\n value={filterValue('dateDue')}\n onChange={(v) => onChangeFilters([\n {\n id: 'dateDue',\n value: v,\n filter: `dateDue: \"${v}\"`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.receipt\"\n value={filterTextFieldValue('receipt')}\n onChange={onChangeStringFilter('receipt', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <TextInput\n module=\"payroll\"\n label=\"benefitConsumption.type\"\n value={filterTextFieldValue('type')}\n onChange={onChangeStringFilter('type', CONTAINS_LOOKUP)}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <BenefitConsumptionStatusPicker\n module=\"payroll\"\n label={formatMessage('benefitConsumptions.status.label')}\n withNull\n nullLabel={formatMessage('tooltip.any')}\n value={filterValue('status')}\n onChange={(value) => onChangeFilters([\n {\n id: 'status',\n value,\n filter: `status: ${value}`,\n },\n ])}\n />\n </Grid>\n <Grid item xs={2} className={classes.item}>\n <NumberInput\n module=\"payroll\"\n label={formatMessage('benefitConsumption.amount')}\n min={0}\n value={filterValue('amount')}\n onChange={onChangeFilter('amount')}\n />\n </Grid>\n </Grid>\n );\n}\n\nexport default BenefitConsumptionFilter;\n","/* eslint-disable max-len */\n/* eslint-disable react/no-array-index-key */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable no-undef */\nimport React, {\n forwardRef,\n} from 'react';\n\nimport { Divider } from '@material-ui/core';\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n useTranslations, useModulesManager,\n} from '@openimis/fe-core';\nimport { MODULE_NAME } from '../constants';\n\nconst useStyles = makeStyles(() => ({\n topHeader: {\n display: 'flex',\n justifyContent: 'start',\n alignItems: 'center',\n width: '100%',\n\n '& img': {\n minWidth: '250px',\n maxWidth: '300px',\n width: 'auto',\n height: 'auto',\n },\n },\n printContainer: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '20px',\n fontWeight: '500',\n },\n date: {\n fontSize: '16px',\n },\n detailsContainer: {\n display: 'flex',\n flexDirection: 'column',\n padding: '12px',\n width: '100%',\n },\n detailRow: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '4px',\n },\n detailName: {\n fontWeight: '600',\n fontSize: '16px',\n textTransform: 'uppercase',\n },\n detailValue: {\n fontWeight: '500',\n backgroundColor: '#f5f5f5',\n padding: '6px',\n borderRadius: '8px',\n fontSize: '15px',\n },\n containerPadding: {\n padding: '32px',\n },\n dividerMargin: {\n margin: '12px 0',\n },\n sectionTitle: {\n fontWeight: '700',\n fontSize: '18px',\n textTransform: 'uppercase',\n marginBottom: '12px',\n },\n}));\n\nconst PayrollPrintTemplate = forwardRef(({ benefitConsumptions }, ref) => {\n if (!benefitConsumptions) return null;\n const classes = useStyles();\n const modulesManager = useModulesManager();\n const { formatMessage } = useTranslations(modulesManager, MODULE_NAME);\n\n return (\n <div ref={ref} className={classes.printContainer}>\n {benefitConsumptions.map((benefitConsumption, index) => (\n <div key={index} className={classes.detailsContainer}>\n <div className={classes.sectionTitle}>\n {`Payment: ${benefitConsumption.code} - ${benefitConsumption.individual.firstName}, ${benefitConsumption.individual.lastName}`}\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.firstName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.firstName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.individual.lastName')}</div>\n <div className={classes.detailValue}>{benefitConsumption.individual.lastName}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.code')}</div>\n <div className={classes.detailValue}>{benefitConsumption.code}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.dateDue')}</div>\n <div className={classes.detailValue}>{benefitConsumption.dateDue}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.receipt')}</div>\n <div className={classes.detailValue}>{benefitConsumption.receipt}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.amount')}</div>\n <div className={classes.detailValue}>{benefitConsumption.amount}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.type')}</div>\n <div className={classes.detailValue}>{benefitConsumption.type}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.status')}</div>\n <div className={classes.detailValue}>{benefitConsumption.status}</div>\n </div>\n <div className={classes.detailRow}>\n <div className={classes.detailName}>{formatMessage('payroll.benefitConsumption.paymentDate')}</div>\n <div className={classes.detailValue}>\n {!benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed}\n </div>\n </div>\n <Divider className={classes.dividerMargin} />\n </div>\n ))}\n </div>\n );\n});\n\nexport default PayrollPrintTemplate;\n","/* eslint-disable max-len */\n/* eslint-disable no-return-assign */\n/* eslint-disable no-param-reassign */\nimport React, { useRef } from 'react';\nimport { useReactToPrint } from 'react-to-print';\nimport PrintIcon from '@material-ui/icons/Print';\nimport { bindActionCreators } from 'redux';\nimport { connect } from 'react-redux';\nimport {\n Typography, Button,\n} from '@material-ui/core';\n\nimport {\n Searcher, useModulesManager, useTranslations,\n} from '@openimis/fe-core';\nimport PhotoCameraOutlinedIcon from '@material-ui/icons/PhotoCameraOutlined';\nimport { fetchBenefitConsumptions } from '../../actions';\nimport { BENEFIT_CONSUMPTION_STATUS, DEFAULT_PAGE_SIZE, ROWS_PER_PAGE_OPTIONS } from '../../constants';\nimport BenefitConsumptionFilter from './BenefitConsumptionFilter';\nimport AdditionalFieldsDialog from './dialogs/AdditionalFieldsDialog';\nimport PayrollPrintTemplate from '../PayrollPrintTemplate';\n\nfunction BenefitConsumptionSearcher({\n fetchBenefitConsumptions,\n fetchingBenefitConsumptions,\n fetchedBenefitConsumptions,\n errorBenefitConsumptions,\n benefitConsumptions,\n benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount,\n isPayrollFromFailedInvoices,\n payrollUuid,\n}) {\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations('payroll', modulesManager);\n const payrollPrintTemplateRef = useRef(null);\n\n const handlePrint = useReactToPrint({\n documentTitle: `${payrollUuid}`,\n });\n\n const fetch = (params) => fetchBenefitConsumptions(modulesManager, params);\n\n const headers = () => [\n 'benefitConsumption.individual.firstName',\n 'benefitConsumption.individual.lastName',\n 'benefitConsumption.photo',\n 'benefitConsumption.code',\n 'benefitConsumption.dateDue',\n 'benefitConsumption.receipt',\n 'benefitConsumption.amount',\n 'benefitConsumption.type',\n 'benefitConsumption.status',\n 'benefitConsumption.payedOnTime',\n 'benefitConsumption.paymentDate',\n '',\n ];\n\n const checkBenefitDueDate = (benefitConsumption) => {\n if (!benefitConsumption.receipt) {\n return ''; // return empty string if datePayed is null\n }\n\n return (\n benefitConsumption\n && benefitConsumption.dateDue\n >= benefitConsumption.benefitAttachment[0].bill.datePayed)\n ? 'True' : 'False';\n };\n\n const itemFormatters = () => [\n (benefitConsumption) => benefitConsumption?.individual?.firstName,\n (benefitConsumption) => benefitConsumption?.individual?.lastName,\n (benefitConsumption) => (\n benefitConsumption.receipt ? (\n <PhotoCameraOutlinedIcon style={{ fontSize: 150 }} />\n ) : null\n ),\n (benefitConsumption) => benefitConsumption?.code,\n (benefitConsumption) => benefitConsumption?.dateDue,\n (benefitConsumption) => benefitConsumption?.receipt,\n (benefitConsumption) => benefitConsumption?.amount,\n (benefitConsumption) => benefitConsumption?.type,\n (benefitConsumption) => (isPayrollFromFailedInvoices\n ? BENEFIT_CONSUMPTION_STATUS.APPROVE_FOR_PAYMENT : benefitConsumption?.status),\n (benefitConsumption) => checkBenefitDueDate(benefitConsumption),\n (benefitConsumption) => (\n !benefitConsumption.receipt\n ? ''\n : benefitConsumption?.benefitAttachment[0]?.bill?.datePayed\n ),\n (benefitConsumption) => (\n <AdditionalFieldsDialog\n jsonExt={benefitConsumption?.jsonExt}\n buttonLabel=\"payroll.additonalFields.showAdditionalFields\"\n title=\"payroll.additonalFields.label\"\n />\n ),\n ];\n\n const rowIdentifier = (benefitConsumption) => benefitConsumption.id;\n\n const sorts = () => [\n ['individual_FirstName', true],\n ['individual_LastName', true],\n ['photo', true],\n ['code', true],\n ['dateDue', true],\n ['receipt', true],\n ['amount', true],\n ['type', true],\n ['status', true],\n ];\n\n const defaultFilters = () => {\n const filters = {\n isDeleted: {\n value: false,\n filter:\n 'isDeleted: false',\n },\n payrollUuid: {\n value: payrollUuid,\n filter:\n `payrollUuid: \"${payrollUuid}\"`,\n },\n };\n if (isPayrollFromFailedInvoices) {\n filters.status = {\n value: true,\n filter:\n `filterOnlyUnpaid: ${true}`,\n };\n }\n return filters;\n };\n\n const benefitConsumptionFilter = ({ filters, onChangeFilters }) => (\n <BenefitConsumptionFilter filters={filters} onChangeFilters={onChangeFilters} />\n );\n\n return (\n <>\n <div>\n <Button\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n startIcon={<PrintIcon />}\n onClick={(e) => {\n e.preventDefault();\n handlePrint(null, () => payrollPrintTemplateRef.current);\n }}\n >\n <Typography variant=\"subtitle1\">Print</Typography>\n </Button>\n </div>\n <div>\n <Searcher\n module=\"payroll\"\n FilterPane={!isPayrollFromFailedInvoices && benefitConsumptionFilter}\n fetch={fetch}\n items={benefitConsumptions}\n itemsPageInfo={benefitConsumptionsPageInfo}\n fetchingItems={fetchingBenefitConsumptions}\n fetchedItems={fetchedBenefitConsumptions}\n errorItems={errorBenefitConsumptions}\n tableTitle={formatMessageWithValues('benefitConsumption.searcherResultsTitle', { benefitConsumptionsTotalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n defaultFilters={defaultFilters()}\n />\n <div style={{ display: 'none' }}>\n <PayrollPrintTemplate\n ref={payrollPrintTemplateRef}\n benefitConsumptions={benefitConsumptions}\n />\n </div>\n </div>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingBenefitConsumptions: state.payroll.fetchingBenefitConsumptions,\n fetchedBenefitConsumptions: state.payroll.fetchedBenefitConsumptions,\n errorBenefitConsumptions: state.payroll.errorBenefitConsumptions,\n benefitConsumptions: state.payroll.benefitConsumptions,\n benefitConsumptionsPageInfo: state.payroll.benefitConsumptionsPageInfo,\n benefitConsumptionsTotalCount: state.payroll.benefitConsumptionsTotalCount,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators(\n { fetchBenefitConsumptions },\n dispatch,\n);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(BenefitConsumptionSearcher);\n","import React from 'react';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@openimis/fe-core';\nimport {\n BENEFIT_CONSUMPTION_LIST_TAB_VALUE,\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport BenefitConsumptionSearcher from './BenefitConsumptionSearcher';\n\nfunction BenefitConsumptionsTabLabel({\n onChange, tabStyle, isSelected, modulesManager,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n selected={isSelected(BENEFIT_CONSUMPTION_LIST_TAB_VALUE)}\n value={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n label={formatMessage('PayrollBenefitConsumptionTab.label')}\n />\n );\n}\n\nfunction BenefitConsumptionsTabPanel({\n value, rights, payrollUuid, isPayrollFromFailedInvoices,\n}) {\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={BENEFIT_CONSUMPTION_LIST_TAB_VALUE}\n value={value}\n >\n {\n rights.includes(RIGHT_PAYROLL_SEARCH) && payrollUuid && (\n <BenefitConsumptionSearcher\n rights={rights}\n payrollUuid={payrollUuid}\n isPayrollFromFailedInvoices={isPayrollFromFailedInvoices}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { BenefitConsumptionsTabLabel, BenefitConsumptionsTabPanel };\n","const PayrollRejectedTaskTableHeaders = () => [\n];\n\nconst PayrollRejectedTaskItemFormatters = () => [\n];\n\nexport { PayrollRejectedTaskTableHeaders, PayrollRejectedTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@openimis/fe-core';\nimport {\n MODULE_NAME, PAYROLL_TASK_TAB_VALUE,\n} from '../../constants';\n\nfunction PayrollTaskTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_TASK_TAB_VALUE)}\n selected={isSelected(PAYROLL_TASK_TAB_VALUE)}\n value={PAYROLL_TASK_TAB_VALUE}\n label={formatMessage('PayrollTaskTab.label')}\n />\n );\n}\n\nfunction PayrollTaskTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_TASK_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PublishedComponent\n pubRef=\"tasksManagement.taskSearcher\"\n module=\"payroll\"\n entityId={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollTaskTabLabel, PayrollTaskTabPanel };\n","const PayrollDeleteTaskTableHeaders = () => [\n];\n\nconst PayrollDeleteTaskItemFormatters = () => [\n];\n\nexport { PayrollDeleteTaskTableHeaders, PayrollDeleteTaskItemFormatters };\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Tab } from '@material-ui/core';\nimport { PublishedComponent, useTranslations } from '@openimis/fe-core';\nimport {\n MODULE_NAME, PAYROLL_PAYMENT_FILES_TAB_VALUE,\n} from '../../constants';\nimport PayrollPaymentFilesSearcher from './PayrollPaymentFilesSearcher';\n\nfunction PayrollPaymentFilesTabLabel({\n onChange, tabStyle, isSelected, modulesManager, payrollUuid, isInTask, isPayrollFromFailedInvoices,\n}) {\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n if (!payrollUuid || isInTask || isPayrollFromFailedInvoices) {\n return null;\n }\n return (\n <Tab\n onChange={onChange}\n className={tabStyle(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n selected={isSelected(PAYROLL_PAYMENT_FILES_TAB_VALUE)}\n value={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n label={formatMessage('PayrollPaymentFilesTab.label')}\n />\n );\n}\n\nfunction PayrollPaymentFilesTabPanel({ value, payrollUuid, isInTask }) {\n const rights = useSelector((store) => store?.core?.user?.i_user?.rights ?? []);\n if (isInTask) return null;\n\n return (\n <PublishedComponent\n pubRef=\"policyHolder.TabPanel\"\n module=\"payroll\"\n index={PAYROLL_PAYMENT_FILES_TAB_VALUE}\n value={value}\n >\n {\n payrollUuid && (\n <PayrollPaymentFilesSearcher\n module=\"payroll\"\n payrollUuid={payrollUuid}\n rights={rights}\n showFilters={false}\n />\n )\n }\n </PublishedComponent>\n );\n}\n\nexport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel };\n","/* eslint-disable max-len */\nimport React, { useEffect, useState } from 'react';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport {\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n Paper,\n Grid,\n} from '@material-ui/core';\nimport Typography from '@material-ui/core/Typography';\nimport { connect } from 'react-redux';\nimport { bindActionCreators } from 'redux';\nimport { MODULE_NAME, BENEFIT_CONSUMPTION_STATUS } from '../../../constants';\nimport BenefitConsumptionSearcherModal from '../BenefitConsumptionSearcherModal';\nimport downloadPayroll from '../../../utils/export';\nimport { fetchPayroll } from '../../../actions';\n\nfunction PaymentPendingPayrollPaymentDialog({\n classes,\n payroll,\n fetchPayroll,\n payrollDetail,\n}) {\n const modulesManager = useModulesManager();\n const [payrollUuid] = useState(payrollDetail?.id ?? null);\n const [isOpen, setIsOpen] = useState(false);\n const [totalBeneficiaries, setTotalBeneficiaries] = useState(0);\n const [selectedBeneficiaries, setSelectedBeneficiaries] = useState(0);\n const [totalBillAmount, setTotalBillAmount] = useState(0);\n const [totalReconciledBillAmount, setTotalReconciledBillAmount] = useState(0);\n\n const handleOpen = () => {\n if (payrollUuid) {\n fetchPayroll(modulesManager, [`id: \"${payrollUuid}\"`]);\n }\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const { formatMessage, formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n\n useEffect(() => {\n if (isOpen && Object.keys(payroll).length > 0) {\n // Calculate total benefits and reconciled benefits\n const total = payroll.benefitConsumption.length;\n const selected = payroll.benefitConsumption.filter(\n (benefit) => benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED,\n ).length;\n\n setTotalBeneficiaries(total);\n setSelectedBeneficiaries(selected);\n\n let totalAmount = 0;\n let reconciledAmount = 0;\n if (payroll && payroll.benefitConsumption) {\n payroll.benefitConsumption.forEach((benefit) => {\n if (benefit.benefitAttachment && benefit.benefitAttachment.length > 0) {\n benefit.benefitAttachment.forEach((attachment) => {\n if (attachment.bill && attachment.bill.amountTotal) {\n totalAmount += parseFloat(attachment.bill.amountTotal);\n if (benefit.status === BENEFIT_CONSUMPTION_STATUS.RECONCILED) {\n reconciledAmount += parseFloat(attachment.bill.amountTotal);\n }\n }\n });\n }\n });\n }\n setTotalBillAmount(totalAmount);\n setTotalReconciledBillAmount(reconciledAmount);\n }\n }, [isOpen, payroll]);\n\n const downloadPayrollData = (payrollUuid, payrollName) => {\n downloadPayroll(payrollUuid, payrollName);\n };\n\n return (\n <>\n <Button\n onClick={handleOpen}\n variant=\"contained\"\n color=\"primary\"\n className={classes.button}\n >\n {formatMessage('payroll.viewReconciliationSummary')}\n </Button>\n <Dialog\n open={isOpen}\n onClose={handleClose}\n PaperProps={{\n style: {\n position: 'absolute',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%,-50%)',\n width: '90%',\n maxWidth: '90%',\n },\n }}\n >\n <DialogTitle\n style={{\n marginTop: '10px',\n }}\n >\n {formatMessageWithValues('payroll.reconciliationSummary', { payrollName: payrollDetail.name })}\n </DialogTitle>\n <DialogContent>\n <Grid container spacing={2}>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.selectedBeneficiaries')}\n </Typography>\n <Typography variant=\"body1\">\n {formatMessageWithValues('payroll.summary.beneficiariesCount', { selectedBeneficiaries, totalBeneficiaries })}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.totalAmountForInvoice')}\n </Typography>\n <Typography variant=\"body1\">\n {totalBillAmount}\n </Typography>\n </Paper>\n </Grid>\n <Grid item xs={4}>\n <Paper elevation={3} style={{ padding: '20px' }}>\n <Typography variant=\"h6\" gutterBottom>\n {formatMessage('payroll.summary.deliveredReconciliation')}\n </Typography>\n <Typography variant=\"body1\">\n {totalReconciledBillAmount}\n </Typography>\n </Paper>\n </Grid>\n </Grid>\n <div\n style={{ backgroundColor: '#DFEDEF' }}\n >\n <BenefitConsumptionSearcherModal payrollUuid={payrollDetail.id} payrollDetail={payrollDetail} />\n </div>\n </DialogContent>\n <DialogActions\n style={{\n display: 'inline',\n paddingLeft: '10px',\n marginTop: '25px',\n marginBottom: '15px',\n width: '100%',\n }}\n >\n <div style={{ maxWidth: '3000px' }}>\n <div style={{ float: 'left' }}>\n <Button\n onClick={() => downloadPayrollData(payrollDetail.id, payrollDetail.name)}\n variant=\"contained\"\n color=\"primary\"\n style={{\n margin: '0 16px',\n marginBottom: '15px',\n }}\n >\n {formatMessage('payroll.summary.download')}\n </Button>\n </div>\n <div style={{\n float: 'right',\n paddingRight: '16px',\n }}\n >\n <Button\n onClick={handleClose}\n variant=\"outlined\"\n autoFocus\n style={{ margin: '0 16px' }}\n >\n {formatMessage('payroll.summary.close')}\n </Button>\n </div>\n </div>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n\nconst mapStateToProps = (state) => ({\n rights: !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n confirmed: state.core.confirmed,\n payroll: state.payroll.payroll,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayroll,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentPendingPayrollPaymentDialog);\n","import React, { useRef, useEffect } from 'react';\nimport { connect, useSelector } from 'react-redux';\nimport { bindActionCreators } from 'redux';\n\nimport {\n Searcher,\n useHistory,\n useModulesManager,\n useTranslations,\n coreConfirm,\n clearConfirm,\n journalize,\n} from '@openimis/fe-core';\nimport PayrollFilter from './PayrollFilter';\nimport {\n DEFAULT_PAGE_SIZE, MODULE_NAME, PAYROLL_PAYROLL_ROUTE, RIGHT_PAYROLL_SEARCH, ROWS_PER_PAGE_OPTIONS, PAYROLL_STATUS,\n} from '../../constants';\nimport { fetchPayrolls } from '../../actions';\nimport PayrollReconciliationFilesDialog from './dialogs/PayrollReconciliationFilesDialog';\nimport PayrollPendingPayrollSummary from './dialogs/PayrollPendingPayrollSummary';\n\nfunction PayrollSearcherPending({\n fetchingPayrolls,\n fetchedPayrolls,\n errorPayrolls,\n payrolls,\n pageInfo,\n totalCount,\n fetchPayrolls,\n submittingMutation,\n mutation,\n classes,\n}) {\n const history = useHistory();\n const modulesManager = useModulesManager();\n const { formatMessageWithValues } = useTranslations(MODULE_NAME, modulesManager);\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n\n const prevSubmittingMutationRef = useRef();\n\n useEffect(() => {\n if (prevSubmittingMutationRef.current && !submittingMutation) {\n journalize(mutation);\n }\n }, [submittingMutation]);\n\n useEffect(() => {\n prevSubmittingMutationRef.current = submittingMutation;\n });\n\n const headers = () => [\n 'payroll.name',\n 'payroll.paymentPlan',\n 'payroll.paymentPoint',\n 'payroll.status',\n 'payroll.paymentMethod',\n 'emptyLabel',\n ];\n\n const sorts = () => [\n ['name', true],\n ['paymentPlan', true],\n ['paymentPoint', true],\n ['status', true],\n ['paymentMethod', true],\n ];\n\n const defaultFilters = () => ({\n isDeleted: {\n value: false,\n filter: 'isDeleted: false',\n },\n status: {\n value: PAYROLL_STATUS.PENDING_APPROVAL,\n filter: `status: ${PAYROLL_STATUS.PENDING_APPROVAL}`,\n },\n });\n\n const fetch = (params) => fetchPayrolls(modulesManager, params);\n\n const rowIdentifier = (payroll) => payroll.id;\n\n const openPayroll = (payroll) => rights.includes(RIGHT_PAYROLL_SEARCH) && history.push(\n `/${modulesManager.getRef(PAYROLL_PAYROLL_ROUTE)}/${payroll?.id}`,\n );\n\n const itemFormatters = () => [\n (payroll) => payroll.name,\n (payroll) => (payroll.benefitPlan\n ? `${payroll.benefitPlan.code} ${payroll.benefitPlan.name}` : ''),\n (payroll) => (payroll.paymentPoint\n ? `${payroll.paymentPoint.name}` : ''),\n (payroll) => (payroll.status\n ? `${payroll.status}` : ''),\n (payroll) => (payroll.paymentMethod\n ? `${payroll.paymentMethod}` : ''),\n (payroll) => (\n <PayrollReconciliationFilesDialog\n classes={classes}\n payroll={payroll}\n />\n ),\n (payroll) => (\n <PayrollPendingPayrollSummary\n classes={classes}\n payrollDetail={payroll}\n />\n ),\n ];\n\n const onDoubleClick = (payroll) => openPayroll(payroll);\n\n const payrollFilter = ({ filters, onChangeFilters }) => (\n <PayrollFilter filters={filters} onChangeFilters={onChangeFilters} statusReadOnly />\n );\n\n return (\n <Searcher\n module=\"payroll\"\n FilterPane={payrollFilter}\n fetch={fetch}\n items={payrolls}\n itemsPageInfo={pageInfo}\n fetchedItems={fetchedPayrolls}\n fetchingItems={fetchingPayrolls}\n errorItems={errorPayrolls}\n tableTitle={formatMessageWithValues('payrollSearcher.results', { totalCount })}\n headers={headers}\n itemFormatters={itemFormatters}\n sorts={sorts}\n rowsPerPageOptions={ROWS_PER_PAGE_OPTIONS}\n defaultPageSize={DEFAULT_PAGE_SIZE}\n rowIdentifier={rowIdentifier}\n onDoubleClick={onDoubleClick}\n defaultFilters={defaultFilters()}\n />\n );\n}\n\nconst mapStateToProps = (state) => ({\n fetchingPayrolls: state.payroll.fetchingPayrolls,\n fetchedPayrolls: state.payroll.fetchedPayrolls,\n errorPayrolls: state.payroll.errorPayrolls,\n payrolls: state.payroll.payrolls,\n pageInfo: state.payroll.payrollsPageInfo,\n totalCount: state.payroll.payrollsTotalCount,\n confirmed: state.core.confirmed,\n submittingMutation: state.payroll.submittingMutation,\n mutation: state.payroll.mutation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({\n fetchPayrolls,\n journalize,\n clearConfirm,\n coreConfirm,\n}, dispatch);\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PayrollSearcherPending);\n","import React from 'react';\nimport { useSelector } from 'react-redux';\n\nimport { makeStyles } from '@material-ui/styles';\n\nimport {\n Helmet,\n useModulesManager,\n useTranslations,\n} from '@openimis/fe-core';\nimport {\n MODULE_NAME,\n RIGHT_PAYROLL_SEARCH,\n} from '../../constants';\nimport PayrollSearcherPending from '../../components/payroll/PayrollSearcherPending';\n\nconst useStyles = makeStyles((theme) => ({\n page: theme.page,\n fab: theme.fab,\n}));\n\nfunction PendingPayrollsPage() {\n const modulesManager = useModulesManager();\n const classes = useStyles();\n const rights = useSelector((store) => store.core.user.i_user.rights ?? []);\n const { formatMessage } = useTranslations(MODULE_NAME, modulesManager);\n\n return (\n <div className={classes.page}>\n <Helmet title={formatMessage('paymentPoint.page.title')} />\n {rights.includes(RIGHT_PAYROLL_SEARCH)\n && <PayrollSearcherPending classes={classes} />}\n </div>\n );\n}\n\nexport default PendingPayrollsPage;\n","/* eslint-disable import/prefer-default-export */\n/* eslint-disable camelcase */\n\nimport React from 'react';\n\nimport { PinDrop } from '@material-ui/icons';\nimport MonetizationOnIcon from '@material-ui/icons/MonetizationOn';\n\nimport { FormattedMessage } from '@openimis/fe-core';\nimport { RIGHT_PAYMENT_POINT_SEARCH, RIGHT_PAYROLL_CREATE, RIGHT_PAYROLL_SEARCH } from './constants';\nimport reducer from './reducer';\nimport messages_en from './translations/en.json';\nimport PaymentPointPage from './pages/payment-point/PaymentPointPage';\nimport PaymentPointsPage from './pages/payment-point/PaymentPointsPage';\nimport PayrollPage from './pages/payroll/PayrollPage';\nimport PayrollsPage from './pages/payroll/PayrollsPage';\nimport ApprovedPayrollsPage from './pages/payroll/ApprovedPayrollsPage';\nimport ReconciledPayrollsPage from './pages/payroll/ReconciledPayrollsPage';\nimport PaymentPointPicker from './components/payment-point/PaymentPointPicker';\nimport BenefitConsumptionPayrollSearcher from './components/payroll/BenefitConsumptionPayrollSearcher';\nimport {\n PayrollTaskItemFormatters,\n PayrollTaskTableHeaders,\n} from './components/tasks/PayrollTasks';\nimport {\n PayrollReconciliationTaskItemFormatters,\n PayrollReconciliationTaskTableHeaders,\n} from './components/tasks/PayrollReconciliationTasks';\nimport {\n BenefitConsumptionsTabLabel,\n BenefitConsumptionsTabPanel,\n} from './components/payroll/BenefitConsumptionTabPanel';\nimport {\n PayrollRejectedTaskItemFormatters,\n PayrollRejectedTaskTableHeaders,\n} from './components/tasks/PayrollRejectedTasks';\nimport {\n PayrollTaskTabLabel,\n PayrollTaskTabPanel,\n} from './components/payroll/PayrollTaskTabPanel';\nimport { PayrollDeleteTaskItemFormatters, PayrollDeleteTaskTableHeaders } from './components/tasks/PayrollDeleteTasks';\nimport { PayrollPaymentFilesTabLabel, PayrollPaymentFilesTabPanel } from './components/payroll/PayrollPaymentFilesTab';\nimport PendingPayrollsPage from './pages/payroll/PendingPayrollsPage';\n\nconst ROUTE_PAYMENT_POINTS = 'paymentPoints';\nconst ROUTE_PAYMENT_POINT = 'paymentPoints/paymentPoint';\nconst ROUTE_PAYROLLS = 'payrolls';\nconst ROUTE_PAYROLLS_APPROVED = 'payrollsApproved';\nconst ROUTE_PAYROLLS_PENDING = 'payrollsPending';\nconst ROUTE_PAYROLLS_RECONCILED = 'payrollsReconciled';\nconst ROUTE_PAYROLL = 'payrolls/payroll';\n\nconst DEFAULT_CONFIG = {\n translations: [{ key: 'en', messages: messages_en }],\n reducers: [{ key: 'payroll', reducer }],\n refs: [\n { key: 'payroll.route.paymentPoints', ref: ROUTE_PAYMENT_POINTS },\n { key: 'payroll.route.paymentPoint', ref: ROUTE_PAYMENT_POINT },\n { key: 'payroll.route.payrolls', ref: ROUTE_PAYROLLS },\n { key: 'payroll.route.payrollsApproved', ref: ROUTE_PAYROLLS_APPROVED },\n { key: 'payroll.route.payrollsPending', ref: ROUTE_PAYROLLS_PENDING },\n { key: 'payroll.route.payrollsReconciled', ref: ROUTE_PAYROLLS_RECONCILED },\n { key: 'payroll.route.payroll', ref: ROUTE_PAYROLL },\n { key: 'payroll.PaymentPointPicker', ref: PaymentPointPicker },\n { key: 'payroll.PaymentPointPicker.projection', ref: ['id', 'name', 'location'] },\n { key: 'payroll.benefitConsumptionPayrollSearcher', ref: BenefitConsumptionPayrollSearcher },\n { key: 'payroll.payrollCreateRight', ref: RIGHT_PAYROLL_CREATE },\n ],\n 'core.Router': [\n { path: ROUTE_PAYMENT_POINTS, component: PaymentPointsPage },\n { path: `${ROUTE_PAYMENT_POINT}/:payment_point_uuid?`, component: PaymentPointPage },\n { path: ROUTE_PAYROLLS, component: PayrollsPage },\n { path: ROUTE_PAYROLLS_APPROVED, component: ApprovedPayrollsPage },\n { path: ROUTE_PAYROLLS_PENDING, component: PendingPayrollsPage },\n { path: ROUTE_PAYROLLS_RECONCILED, component: ReconciledPayrollsPage },\n {\n path: `${ROUTE_PAYROLL}/:payroll_uuid?/:createPayrollFromFailedInvoices?/:benefitPlanId?`,\n component: PayrollPage,\n },\n ],\n 'invoice.MainMenu': [\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.paymentPoint.route\" />,\n icon: <PinDrop />,\n route: `/${ROUTE_PAYMENT_POINTS}`,\n filter: (rights) => rights.includes(RIGHT_PAYMENT_POINT_SEARCH),\n id: 'legalAndFinance.paymentPoint',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.payroll.route\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrolls',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsPending\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_PENDING}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsPending',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsApproved\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_APPROVED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsApproved',\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.route.payrollsReconciled\" />,\n icon: <MonetizationOnIcon />,\n route: `/${ROUTE_PAYROLLS_RECONCILED}`,\n filter: (rights) => rights.includes(RIGHT_PAYROLL_SEARCH),\n id: 'legalAndFinance.payrollsReconciled',\n },\n ],\n 'payroll.TabPanel.label': [BenefitConsumptionsTabLabel, PayrollTaskTabLabel, PayrollPaymentFilesTabLabel],\n 'payroll.TabPanel.panel': [BenefitConsumptionsTabPanel, PayrollTaskTabPanel, PayrollPaymentFilesTabPanel],\n 'tasksManagement.tasks': [{\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.update.title\" />,\n tableHeaders: PayrollTaskTableHeaders,\n itemFormatters: PayrollTaskItemFormatters,\n taskSource: ['payroll'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.reconciliation.title\" />,\n tableHeaders: PayrollReconciliationTaskTableHeaders,\n itemFormatters: PayrollReconciliationTaskItemFormatters,\n taskSource: ['payroll_reconciliation'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.rejected.title\" />,\n tableHeaders: PayrollRejectedTaskTableHeaders,\n itemFormatters: PayrollRejectedTaskItemFormatters,\n taskSource: ['payroll_reject'],\n },\n {\n text: <FormattedMessage module=\"payroll\" id=\"payroll.tasks.delete.title\" />,\n tableHeaders: PayrollDeleteTaskTableHeaders,\n itemFormatters: PayrollDeleteTaskItemFormatters,\n taskSource: ['payroll_delete'],\n }],\n};\n\nexport const PayrollModule = (cfg) => ({ ...DEFAULT_CONFIG, ...cfg });\n"],"names":["RIGHT_PAYROLL_SEARCH","RIGHT_PAYROLL_CREATE","PAYROLL_PAYMENT_POINT_ROUTE","PAYROLL_PAYROLL_ROUTE","RIGHT_PAYMENT_POINT_SEARCH","RIGHT_PAYMENT_POINT_CREATE","RIGHT_PAYMENT_POINT_UPDATE","DEFAULT_DEBOUNCE_TIME","DEFAULT_PAGE_SIZE","CONTAINS_LOOKUP","ROWS_PER_PAGE_OPTIONS","EMPTY_STRING","MAX_LENGTH","NAME","MODULE_NAME","BENEFIT_CONSUMPTION_LIST_TAB_VALUE","PAYROLL_TASK_TAB_VALUE","PAYROLL_PAYMENT_FILES_TAB_VALUE","PAYROLL_TABS_LABEL_CONTRIBUTION_KEY","PAYROLL_TABS_PANEL_CONTRIBUTION_KEY","CLEARED_STATE_FILTER","field","filter","type","value","BENEFIT_PLAN","INTEGER","STRING","BOOLEAN","DATE","BOOL_OPTIONS","label","PAYROLL_STATUS","PENDING_APPROVAL","APPROVE_FOR_PAYMENT","REJECTED","RECONCILIATED","RECONCILED","PAYROLL_STATUS_LIST","BENEFIT_CONSUMPTION_STATUS","ACCEPTED","CREATED","DUPLICATE","PAYROLL_PAYMENT_FILE_STATUS","TRIGGERED","IN_PROGRESS","SUCCESS","PARTIAL_SUCCESS","WAITING_FOR_VERIFICATION","FAIL","BENEFIT_CONSUMPTION_STATUS_LIST","PAYROLL_FROM_FAILED_INVOICES_URL_PARAM","REQUEST","actionTypeName","concat","ERROR","CLEAR","ACTION_TYPE","MUTATION","CREATE_PAYMENT_POINT","DELETE_PAYMENT_POINT","UPDATE_PAYMENT_POINT","SEARCH_PAYMENT_POINTS","CREATE_PAYROLL","DELETE_PAYROLL","SEARCH_PAYROLLS","GET_PAYMENT_POINT","GET_PAYROLL","GET_BENEFIT_CONSUMPTION","GET_PAYROLL_BENEFIT_CONSUMPTION","GET_BENEFIT_ATTACHMENT","GET_PAYMENT_METHODS","CLOSE_PAYROLL","REJECT_PAYROLL","MAKE_PAYMENT_PAYROLL","GET_PAYROLL_PAYMENT_FILES","BENEFITS_SUMMARY","DELETE_BENEFIT_CONSUMPTION","MUTATION_SERVICE","PAYMENT_POINT","CREATE","DELETE","UPDATE","PAYROLL","CLOSE","REJECT","MAKE_PAYMENT","BENEFIT_CONSUMPTION","STORE_STATE","submittingMutation","mutation","fetchingPaymentPoints","fetchedPaymentPoints","errorPaymentPoints","paymentPoints","paymentPointsPageInfo","paymentPointsTotalCount","fetchingPaymentPoint","fetchedPaymentPoint","paymentPoint","errorPaymentPoint","fetchingPayrolls","fetchedPayrolls","errorPayrolls","payrolls","payrollsPageInfo","payrollsTotalCount","fetchingPayroll","fetchedPayroll","payroll","errorPayroll","fetchingBenefitConsumptions","benefitConsumption","benefitConsumptionTotalCount","fetchedBenefitConsumption","errorBenefitConsumption","benefitConsumptionsPageInfo","fetchingBenefitAttachments","benefitAttachments","benefitAttachmentsTotalCount","fetchedBenefitAttachments","errorBenefitAttachments","benefitAttachmentsPageInfo","fetchingPaymentMethods","paymentMethods","fetchedPaymentMethods","errorPaymentMethods","fetchingPayrollFiles","fetchedPayrollFiles","errorPayrollFiles","payrollFiles","payrollFilesPageInfo","payrollFilesTotalCount","fetchingPayrollBenefitConsumptions","payrollBenefitConsumption","payrollBenefitConsumptionTotalCount","fetchedPayrollBenefitConsumption","errorPayrollBenefitConsumption","payrollBenefitConsumptionsPageInfo","benefitsSummary","benefitsSummaryError","fetchingBenefitsSummary","fetchedBenefitsSummary","reducer","_parseData","_action$payload$data$","_action$payload$data$2","_parseData2","_action$payload$data$3","_action$payload$data$4","_parseData3","_parseData4","_parseData5","_action$payload$data$5","_action$payload$data$6","_parseData6","_action$payload$data$7","_action$payload$data$8","_parseData7","_action$payload$data$9","_action$payload$data$0","_parseData8","_action$payload$data$1","_action$payload$data$10","state","arguments","length","undefined","action","_objectSpread","parseData","payload","data","map","id","decodeId","formatGraphQLError","pageInfo","totalCount","formatServerError","dateValidTo","split","dateValidFrom","payrollBills","fetchedBenefitConsumptions","benefitConsumptions","errorBenefitConsumptions","benefitConsumptionsTotalCount","benefitConsumptionByPayroll","benefitAttachmentByPayroll","benefitAttachment","fetchedPayrollBenefitConsumptions","payrollBenefitConsumptions","errorPayrollBenefitConsumptions","payrollBenefitConsumptionsTotalCount","csvReconciliationUpload","file","dispatchMutationReq","dispatchMutationErr","dispatchMutationResp","isBase64Encoded","str","base64RegExp","test","PAYMENT_POINT_PROJECTION","modulesManager","getProjection","BENEFIT_CONSUMPTION_PROJECTION","PAYROLL_BENEFIT_CONSUMPTION_PROJECTION","BENEFIT_CONSUMPTION_SUMMARY_PROJECTION","BENEFIT_ATTACHMENT_PROJECTION","PAYROLL_PROJECTION","join","PAYROLL_SEARCHER_PROJECTION","CSV_RECONCILIATION_PROJECTION","PAYMENT_METHOD_PROJECTION","formatPaymentPointGQL","name","formatGQLString","location","ppm","formatPayrollGQL","paymentPlan","paymentCycle","paymentMethod","jsonExt","JSON","stringify","fromFailedInvoicesPayrollId","PERFORM_MUTATION","mutationType","mutationInput","ACTION","clientMutationLabel","formatMutation","requestedDateTime","Date","graphql","actionType","clientMutationId","fetchPaymentPoints","params","formatPageQueryWithCount","fetchPaymentPoint","fetchPayrollPaymentFiles","clearPaymentPoint","dispatch","deletePaymentPoint","paymentPointUuids","createPaymentPoint","updatePaymentPoint","fetchPayrolls","fetchPayroll","deletePayrolls","uuid","payrollUuids","deleteBenefitConsumption","benefit","benefitUuids","createPayroll","fetchBenefitConsumptions","fetchBenefitAttachments","fetchPayrollBenefitConsumptions","fetchBenefitsSummary","formatQuery","clearPayroll","fetchPaymentMethods","closePayroll","rejectPayroll","makePaymentForPayroll","pageTitle","item","mutationLabel","styles","theme","tableTitle","table","title","paper","fullHeight","height","PaymentPointHeadPanel","_FormPanel","_classCallCheck","_callSuper","_inherits","_createClass","key","render","_this","_this$props","props","edited","classes","readOnly","React","createElement","Grid","container","className","xs","PublishedComponent","pubRef","withNull","required","filterLabels","onChange","locations","updateAttribute","withPlaceholder","withLabel","TextInput","module","inputProps","maxLength","FormPanel","withModulesManager","injectIntl","withTheme","withStyles","useStyles","makeStyles","page","lockedPage","locked","PaymentPointPage","_ref","paymentPointUuid","rights","confirmed","coreConfirm","clearConfirm","useModulesManager","history","useHistory","_useTranslations","useTranslations","formatMessage","formatMessageWithValues","_useState","useState","_useState2","_slicedToArray","editedPaymentPoint","setEditedPaymentPoint","_useState3","_useState4","confirmedAction","setConfirmedAction","prevSubmittingMutationRef","useRef","pageLocked","isDeleted","back","goBack","useEffect","current","journalize","mandatoryFieldsEmpty","canSave","handleSave","deletePaymentPointCallback","openDeletePaymentPointConfirmDialog","actions","doIt","icon","DeleteIcon","tooltip","includes","Form","titleParams","openDirty","onEditedChanged","save","HeadPanel","saveTooltip","mapDispatchToProps","bindActionCreators","mapStateToProps","_state$core$user$i_us","_state$core","match","payment_point_uuid","core","user","i_user","connect","form","padding","width","spacing","PaymentPointFilter","_filters$isDeleted","filters","onChangeFilters","debouncedOnChangeFilters","_debounce","filterValue","filterName","_filters$filterName$v","_filters$filterName","filterTextFieldValue","_filters$filterName$v2","_filters$filterName2","onChangeStringFilter","lookup","ControlledField","anchor","FormControlLabel","control","Checkbox","color","checked","_filters$isDeleted2","_filters$isDeleted3","PaymentPointSearcher","useSelector","store","_store$core$user$i_us","paymentPointToDelete","setPaymentPointToDelete","deletedPaymentPointUuids","setDeletedPaymentPointUuids","_toConsumableArray","headers","sorts","fetch","rowIdentifier","openPaymentPoint","push","getRef","onDelete","itemFormatters","_ref2","_ppm$iUser","_ppm$iUser2","username","iUser","lastName","otherNames","_ref3","code","Tooltip","IconButton","onClick","VisibilityIcon","disabled","onDoubleClick","paymentPointFilter","_ref4","defaultFilters","isRowDisabled","_","Searcher","FilterPane","items","itemsPageInfo","fetchedItems","fetchingItems","errorItems","rowsPerPageOptions","defaultPageSize","rowDisabled","rowLocked","fab","PaymentPointsPage","onCreate","Helmet","withTooltip","Fab","AddIcon","AdvancedFiltersRowValue","customFilters","currentFilter","setCurrentFilter","index","setFilters","onAttributeChange","attribute","updatedFilter","attributeValue","_defineProperty","prevFilters","updatedRows","removeFilter","newArray","splice","renderInputBasedOnType","commonProps","SelectInput","_extends","options","NumberInput","min","displayZero","toLowerCase","direction","style","backgroundColor","marginTop","transform","fontSize","Fragment","CustomFilterFieldStatusPicker","CustomFilterTypeStatusPicker","customFilterField","AdvancedFiltersDialog","intl","object","objectToSave","fetchCustomFilter","moduleName","objectType","setAppliedCustomFilters","appliedFiltersRowStructure","setAppliedFiltersRowStructure","updateAttributes","getDefaultAppliedCustomFilters","additionalParams","isOpen","setIsOpen","amount","_useState5","_useState6","createParams","objectTypeName","uuidOfObject","fetchFilters","handleClose","handleRemoveFilter","handleAddFilter","updateJsonExt","inputJsonExt","outputFilters","existingData","parse","hasOwnProperty","advanced_criteria","filterData","updatedJsonExt","saveCriteria","custom_filter_condition","isEmpty","paramsToFetchFilters","paddingLeft","paddingBottom","AddCircle","border","borderRadius","Button","variant","marginBottom","paddingRight","autoFocus","fetchingCustomFilters","errorCustomFilters","fetchedCustomFilters","PayrollStatusPicker","nullLabel","ConstantBasedPicker","constants","PaymentMethodPicker","_ref$readOnly","_ref$withNull","_ref$nullLabel","_ref$withLabel","_ref$required","Array","isArray","unshift","PayrollHeadPanel","_props$edited","setState","appliedCustomFilters","jsonData","advancedCriteria","transformedCriteria","_custom_filter_condit","_custom_filter_condit2","typeValue","_typeValue$split","_typeValue$split2","error","componentDidMount","setStateFromProps","_this2","_payroll$paymentPlan","isPayrollFromFailedInvoices","benefitPlanId","_this$state","status","Divider","Typography","FormattedMessage","benefitPlan","PayrollPaymentDataUploadDialog","_forms$paymentData","payrollUuid","forms","setForms","handleOpen","handleFieldChange","formName","fieldName","_forms$formName","onSubmit","_asyncToGenerator","_regeneratorRuntime","mark","_callee","values","fileFormat","formData","urlImport","response","wrap","_context","prev","next","FormData","append","baseApiUrl","apiHeaders","body","method","credentials","sent","json","abrupt","_t","stop","_x","apply","button","Dialog","open","onClose","PaperProps","maxWidth","noValidate","DialogTitle","DialogContent","Input","event","target","files","accept","DialogActions","display","margin","paymentData","downloadPayroll","payrollId","payrollFileName","blank","url","URL","window","origin","searchParams","then","blob","link","document","href","createObjectURL","download","appendChild","click","removeChild","console","tabs","alignItems","selectedTab","borderBottom","unselectedTab","marginLeft","textTransform","PayrollTab","isInTask","activeTab","setActiveTab","isSelected","tab","tabStyle","handleChange","downloadPayrollData","payrollName","Paper","Contributions","contributionKey","PayrollPage","statePayrollUuid","taskPayrollUuid","createPayrollFromFailedInvoices","editedPayroll","setEditedPayroll","setPayrollUuid","setIsInTask","_useState7","_useState8","setReadOnly","_useState9","_useState0","setIsPayrollFromFailedInvoices","_useState1","_useState10","payrollRouteRef","replace","Panels","_props$match","_props$match2","_props$match3","_props$match4","payroll_uuid","PayrollFilter","_ref$statusReadOnly","statusReadOnly","PayrollSearcher","payrollToDelete","setPayrollToDelete","deletedPayrollUuids","setDeletedPayrollUuids","openDeletePayrollConfirmDialog","openPayroll","payrollFilter","PayrollsPage","BenefitConsumptionFilterModal","onChangeFilter","v","ErrorSummaryModal","_benefitAttachment$be","outputGateway","output_gateway","Modal","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","Box","p","outline","justifyContent","mt","AdditionalFieldsDialog","buttonLabel","jsonExtFields","createFieldsBasedOnJSON","extra_info","maxHeight","jsonExtField","renderInputComponent","topHeader","minWidth","printContainer","flexDirection","fontWeight","date","detailsContainer","detailRow","detailName","detailValue","containerPadding","dividerMargin","sectionTitle","PayrollBenefitPrintTemplate","forwardRef","ref","_benefitAttachment$bi","individual","firstName","dateDue","receipt","payedOnTime","bill","datePayed","BenefitConsumptionSearcherModal","reconciledMode","payrollDetail","selectedBenefitAttachment","setSelectedBenefitAttachment","openConfirmDialog","setOpenConfirmDialog","benefitToDelete","setBenefitToDelete","payrollPrintTemplateRef","handlePrint","useReactToPrint","documentTitle","benefit_Status","defaultFiltersArray","confirmDeleteBenefitConsumption","handleDeleteBenefitConsumption","checkBenefitDueDate","PhotoCameraOutlinedIcon","_benefitAttachment$be2","amountTotal","_benefitAttachment$be3","_benefitAttachment$be4","_benefitAttachment$bi2","_benefitAttachment$be5","_benefitAttachment$be6","benefitConsumptionFilterModal","size","startIcon","PrintIcon","e","preventDefault","DialogContentText","PaymentApproveForPaymentDialog","_payrollDetail$id","totalBeneficiaries","setTotalBeneficiaries","selectedBeneficiaries","setSelectedBeneficiaries","approvedBeneficiaries","setApprovedBeneficiaries","totalBillAmount","setTotalBillAmount","_useState11","_useState12","totalReconciledBillAmount","setTotalReconciledBillAmount","Object","keys","total","selected","approved","totalAmount","reconciledAmount","forEach","attachment","parseFloat","closePayrollCallback","rejectPayrollCallback","makePaymentForPayrollCallback","position","top","left","elevation","gutterBottom","PayrollPaymentFilesSearcher","fileName","fetchFiles","DownloadIcon","PayrollReconciliationFilesDialog","showFilters","PayrollSearcherApproved","PaymentApproveForPaymentSummary","ApprovedPayrollsPage","PaymentReconcilationSummarytDialog","handleCreatePaymentForFailedInvoice","PayrollSearcherReconciled","PaymentReconciliationSummaryDialog","ReconciledPayrollsPage","PaymentPointPicker","_data$paymentPoint$ed","_data$paymentPoint","filterOptions","filterSelectedOptions","searchString","setSearchString","formatSuggestion","Boolean","_useGraphqlQuery","useGraphqlQuery","isLoading","edges","edge","node","Autocomplete","placeholder","getOptionLabel","option","onInputChange","renderInput","TextField","BenefitConsumptionStatusPicker","BenefitConsumptionPayrollFilter","BenefitConsumptionPayrollSearcher","_benefitsSummary$tota","_benefitsSummary$tota2","individualUuid","groupBeneficiaries","paymentCycleUuid","totalNumberOfBenefits","setTotalNumberOfBenefits","_payrollBenefitConsum","_payrollBenefitConsum2","benefitPlanNameCode","_payrollBenefitConsum3","startDate","_payrollBenefitConsum4","endDate","_payrollBenefitConsum5","_payrollBenefitConsum6","_payrollBenefitConsum7","_payrollBenefitConsum8","_payrollBenefitConsum9","_payrollBenefitConsum0","_payrollBenefitConsum1","_groupBeneficiaries$g","_groupBeneficiaries$g2","benefit_Individual_Id","group","head","benefitPlanUuid","_groupBeneficiaries$g3","benefitConsumptionPayrollFilter","totalAmountDue","totalAmountReceived","errorBenefitsSummary","PayrollTaskTableHeaders","PayrollTaskItemFormatters","PayrollReconciliationTaskTableHeaders","PayrollReconciliationTaskItemFormatters","BenefitConsumptionFilter","PayrollPrintTemplate","_benefitConsumption$b","BenefitConsumptionSearcher","_benefitConsumption$i","_benefitConsumption$i2","benefitConsumptionFilter","BenefitConsumptionsTabLabel","Tab","BenefitConsumptionsTabPanel","PayrollRejectedTaskTableHeaders","PayrollRejectedTaskItemFormatters","PayrollTaskTabLabel","PayrollTaskTabPanel","_store$core","entityId","PayrollDeleteTaskTableHeaders","PayrollDeleteTaskItemFormatters","PayrollPaymentFilesTabLabel","PayrollPaymentFilesTabPanel","PaymentPendingPayrollPaymentDialog","PayrollSearcherPending","PayrollPendingPayrollSummary","PendingPayrollsPage","ROUTE_PAYMENT_POINTS","ROUTE_PAYMENT_POINT","ROUTE_PAYROLLS","ROUTE_PAYROLLS_APPROVED","ROUTE_PAYROLLS_PENDING","ROUTE_PAYROLLS_RECONCILED","ROUTE_PAYROLL","DEFAULT_CONFIG","translations","messages","messages_en","reducers","refs","path","component","text","PinDrop","route","MonetizationOnIcon","tableHeaders","taskSource","PayrollModule","cfg"],"mappings":"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"}
|