@stssocialst-stp/fe-admin 1.3.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/constants.js","../src/components/AdminMainMenu.js","../src/utils.js","../src/actions.js","../src/components/UserFilter.js","../src/components/UserSearcher.js","../src/pages/UsersPage.js","../src/components/EnrolmentVillagesPicker.js","../src/components/EnrolmentOfficerFormPanel.js","../src/components/ClaimAdministratorFormPanel.js","../src/components/UserMasterPanel.js","../src/components/UserForm.js","../src/pages/UserPage.js","../src/components/pickers/UserPicker.js","../src/components/pickers/EnrolmentOfficerPicker.js","../src/components/pickers/SubstitutionEnrolmentOfficerPicker.js","../src/components/pickers/UserRolesPicker.js","../src/components/pickers/UserTypesPicker.js","../src/components/pickers/PaymentPointManagerPicker.js","../src/reducer.js","../src/index.js"],"sourcesContent":["export const RIGHT_PRODUCTS = 121001;\nexport const RIGHT_HEALTHFACILITIES = 121101;\nexport const RIGHT_PRICELISTMS = 121201;\nexport const RIGHT_PRICELISTMI = 121301;\nexport const RIGHT_MEDICALSERVICES = 121401;\nexport const RIGHT_MEDICALITEMS = 122101;\nexport const RIGHT_ENROLMENTOFFICER = 121501;\nexport const RIGHT_CLAIMADMINISTRATOR = 121601;\nexport const RIGHT_PAYERS = 121801;\nexport const RIGHT_LOCATIONS = 121901;\n\nexport const RIGHT_USERS = 121701;\nexport const RIGHT_USER_SEARCH = 121701;\nexport const RIGHT_USER_ADD = 121702;\nexport const RIGHT_USER_EDIT = 121703;\nexport const RIGHT_USER_DELETE = 121704;\n\nexport const INTERACTIVE_USER_TYPE = \"INTERACTIVE\";\nexport const ENROLMENT_OFFICER_USER_TYPE = \"OFFICER\";\nexport const OFFICER_ROLE_IS_SYSTEM = 1;\nexport const CLAIM_ADMIN_USER_TYPE = \"CLAIM_ADMIN\";\nexport const CLAIM_ADMIN_IS_SYSTEM = 256;\nexport const MODULE_NAME = \"user\";\n\nexport const DEFAULT = {\n RENDER_LAST_NAME_FIRST: true,\n};\n\n// https://html.spec.whatwg.org/multipage/input.html#valid-e-mail-address\nexport const EMAIL_REGEX_PATTERN =\n /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;\n\nexport const USER_TYPES = (rights) => {\n const baseTypes = [INTERACTIVE_USER_TYPE];\n if (rights.includes(RIGHT_ENROLMENTOFFICER)) {\n baseTypes.push(ENROLMENT_OFFICER_USER_TYPE);\n if (rights.includes(RIGHT_CLAIMADMINISTRATOR)) {\n baseTypes.push(CLAIM_ADMIN_USER_TYPE);\n }\n }\n return baseTypes;\n};\n","import React, { Component } from \"react\";\nimport { injectIntl } from \"react-intl\";\nimport { connect } from \"react-redux\";\nimport {\n LocationCity,\n Healing,\n HealingOutlined,\n LocalHospital,\n LocalPharmacy,\n LocalPharmacyOutlined,\n Person,\n People,\n PinDrop,\n Tune,\n} from \"@material-ui/icons\";\nimport { formatMessage, MainMenuContribution, withModulesManager } from \"@openimis/fe-core\";\nimport {\n RIGHT_PRODUCTS,\n RIGHT_HEALTHFACILITIES,\n RIGHT_PRICELISTMS,\n RIGHT_PRICELISTMI,\n RIGHT_MEDICALSERVICES,\n RIGHT_MEDICALITEMS,\n // RIGHT_ENROLMENTOFFICER,\n // RIGHT_CLAIMADMINISTRATOR,\n RIGHT_USERS,\n RIGHT_LOCATIONS,\n} from \"../constants\";\n\nconst ADMIN_MAIN_MENU_CONTRIBUTION_KEY = \"admin.MainMenu\";\nconst ADMIN_VOUCHER_MAIN_MENU_CONTRIBUTION_KEY = \"admin.voucher.MainMenu\";\n\nclass AdminMainMenu extends Component {\n constructor(props) {\n super(props);\n this.isWorker = props.modulesManager.getConf(\"fe-core\", \"isWorker\", false);\n }\n\n render() {\n const { rights } = this.props;\n const entries = [];\n\n if (this.isWorker) {\n if (rights.includes(RIGHT_USERS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.users\"),\n icon: <Person />,\n route: \"/admin/users\",\n id: \"admin.users\",\n });\n }\n\n entries.push(\n ...this.props.modulesManager\n .getContribs(ADMIN_VOUCHER_MAIN_MENU_CONTRIBUTION_KEY)\n .filter((c) => !c.filter || c.filter(rights)),\n );\n\n if (!entries.length) return null;\n\n return (\n <MainMenuContribution\n {...this.props}\n header={formatMessage(this.props.intl, \"admin\", \"mainMenu\")}\n icon={<LocationCity />}\n entries={entries}\n menuId=\"AdminMainMenu\"\n />\n );\n }\n\n if (rights.includes(RIGHT_PRODUCTS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.products\"),\n icon: <Tune />,\n route: \"/admin/products\",\n id: \"admin.products\",\n });\n }\n if (rights.includes(RIGHT_HEALTHFACILITIES)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.healthFacilities\"),\n icon: <LocalHospital />,\n route: \"/location/healthFacilities\",\n withDivider: true,\n id: \"admin.healthFacilities\",\n });\n }\n if (rights.includes(RIGHT_PRICELISTMS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.medicalServicesPrices\"),\n icon: <HealingOutlined />,\n route: \"/medical/pricelists/services\",\n id: \"admin.services\",\n });\n }\n if (rights.includes(RIGHT_PRICELISTMI)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.medicalItemsPrices\"),\n icon: <LocalPharmacyOutlined />,\n route: \"/medical/pricelists/items\",\n id: \"admin.items\",\n withDivider: true,\n });\n }\n if (rights.includes(RIGHT_MEDICALSERVICES)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.medicalServices\"),\n icon: <Healing />,\n route: \"/medical/medicalServices\",\n id: \"admin.medicalServices\",\n });\n }\n if (rights.includes(RIGHT_MEDICALITEMS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.medicalItems\"),\n icon: <LocalPharmacy />,\n route: \"/medical/medicalItems\",\n withDivider: true,\n id: \"admin.medicalItems\",\n });\n }\n if (rights.includes(RIGHT_USERS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.users\"),\n icon: <Person />,\n route: \"/admin/users\",\n id: \"admin.users\",\n });\n }\n if (rights.includes(RIGHT_LOCATIONS)) {\n entries.push({\n text: formatMessage(this.props.intl, \"admin\", \"menu.locations\"),\n icon: <PinDrop />,\n route: \"/location/locations\",\n id: \"admin.locations\",\n });\n }\n\n entries.push(\n ...this.props.modulesManager\n .getContribs(ADMIN_MAIN_MENU_CONTRIBUTION_KEY)\n .filter((c) => !c.filter || c.filter(rights)),\n );\n\n if (!entries.length) return null;\n return (\n <MainMenuContribution\n {...this.props}\n header={formatMessage(this.props.intl, \"admin\", \"mainMenu\")}\n icon={<LocationCity />}\n entries={entries}\n menuId=\"AdminMainMenu\"\n />\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\nexport default withModulesManager(injectIntl(connect(mapStateToProps)(AdminMainMenu)));\n","import { decodeId } from \"@openimis/fe-core\";\nimport { fetchSubstitutionEnrolmentOfficers } from \"./actions\";\nimport {\n CLAIM_ADMIN_USER_TYPE,\n INTERACTIVE_USER_TYPE,\n ENROLMENT_OFFICER_USER_TYPE,\n CLAIM_ADMIN_IS_SYSTEM,\n OFFICER_ROLE_IS_SYSTEM,\n} from \"./constants\";\n\nconst addUserType = (user, userType) => {\n if (!user.userTypes.includes(userType)) {\n user.userTypes = [...user.userTypes, userType];\n }\n};\n\nexport function checkRolesAndGetUserTypes(user) {\n if (!user) return console.warn(\"User not provided in checkRolesAndGetUserTypes function!\");\n\n const tempUser = user;\n const initialUserTypes = [INTERACTIVE_USER_TYPE];\n\n if (!tempUser.roles) {\n tempUser.userTypes = initialUserTypes;\n }\n\n if (tempUser.roles?.some((role) => role.isSystem === CLAIM_ADMIN_IS_SYSTEM)) {\n addUserType(tempUser, CLAIM_ADMIN_USER_TYPE);\n }\n\n if (tempUser.roles?.some((role) => role.isSystem === OFFICER_ROLE_IS_SYSTEM)) {\n addUserType(tempUser, ENROLMENT_OFFICER_USER_TYPE);\n }\n return tempUser.userTypes;\n}\n\nexport const mapQueriesUserToStore = (u) => {\n // TODO: make this more generic\n u.hasLogin = false;\n u.userTypes = checkRolesAndGetUserTypes(u);\n if (u.iUser) {\n u.hasLogin = true;\n u.lastName = u.iUser.lastName;\n u.otherNames = u.iUser.otherNames;\n u.email = u.iUser.email;\n u.phoneNumber = u.iUser.phone;\n u.healthFacility = u.iUser.healthFacility;\n u.language = u.iUser.languageId;\n u.roles = u.iUser.roles;\n u.districts = u.iUser.districts.map((d) => d.location);\n }\n if (u.claimAdmin) {\n u.hasLogin = u.hasLogin || u.claimAdmin.hasLogin;\n u.lastName = u.claimAdmin.lastName;\n u.otherNames = u.claimAdmin.otherNames;\n u.email = u.email ?? u.claimAdmin.emailId;\n u.phoneNumber = u.claimAdmin.phone;\n u.birthDate = u.claimAdmin.dob;\n u.healthFacility = u.claimAdmin.healthFacility;\n }\n if (u.officer) {\n u.hasLogin = u.hasLogin || u.officer.hasLogin;\n u.lastName = u.officer.lastName;\n u.otherNames = u.officer.otherNames;\n u.email = u.email ?? u.officer.email;\n u.phoneNumber = u.officer.phone;\n u.birthDate = u.officer.dob;\n u.address = u.officer.address;\n u.substitutionOfficer = u.officer.substitutionOfficer;\n // substitutionOfficer is user.officer so it cannot be retrieved using the UserPicker\n u.worksTo = u.officer.worksTo;\n u.location = u.officer.location;\n u.officerVillages = u.officer.officerVillages.map((x) => x.location);\n }\n return u;\n};\n\nexport const mapUserValuesToInput = (values) => {\n const input = {\n uuid: values.id ? decodeId(values.id) : null,\n username: values.username,\n userTypes: values.userTypes,\n lastName: values.lastName,\n otherNames: values.otherNames,\n phone: values.phoneNumber,\n email: values.email,\n password: values.password,\n healthFacilityId: values.healthFacility ? decodeId(values.healthFacility.id) : null,\n districts: values.districts.map((d) => decodeId(d.id)),\n locationId: values.location ? decodeId(values.location.id) : null,\n language: values.language,\n roles: values.roles.map((r) => decodeId(r.id)),\n birthDate: values.birthDate,\n address: values.address,\n substitutionOfficerId: values.substitutionOfficer?.id ? decodeId(values.substitutionOfficer.id) : null,\n worksTo: values.worksTo,\n villageIds: values.officerVillages?.map((location) => decodeId(location.id)),\n };\n return input;\n};\n\nexport const toggleUserType = (user, type) => {\n if (!user.userTypes) {\n user.userTypes = [];\n }\n\n if (user.userTypes.includes(type)) {\n user.userTypes = user.userTypes.filter((x) => x !== type);\n } else {\n user.userTypes.push(type);\n }\n\n return user;\n};\n\nexport const toggleUserRoles = (edited, data, isValid, isEnabled, hasRole, onEditedChanged, roleIsSystem) => {\n const roles = edited?.roles ?? [];\n const role = data?.role.edges?.[0].node;\n\n if (isValid && isEnabled && !hasRole) {\n roles.push(role);\n edited.roles = roles;\n onEditedChanged({ ...edited });\n } else if (isValid && !isEnabled) {\n const filteredRoles = roles.filter((tempRole) => tempRole.isSystem !== roleIsSystem);\n edited.roles = filteredRoles;\n onEditedChanged({ ...edited });\n }\n};\n\nexport const toggleSwitchButton = (edited, hasRole, hasUserType, setIsEnabled, onEditedChanged, userType) => {\n if (hasRole) {\n setIsEnabled(() => true);\n onEditedChanged(toggleUserType(edited, userType));\n } else {\n setIsEnabled(() => false);\n if (hasUserType) {\n onEditedChanged(toggleUserType(edited, userType));\n }\n }\n};\n\nexport const fetchSubstitutionEOs = (dispatch, mm, officerUuid, searchString, villages) => {\n dispatch(\n fetchSubstitutionEnrolmentOfficers(mm, {\n officerUuid,\n first: searchString ? undefined : 15,\n villagesUuids: villages?.map((village) => village.uuid),\n str: searchString,\n }),\n );\n};\n","import {\n graphql,\n formatPageQuery,\n formatPageQueryWithCount,\n formatMutation,\n decodeId,\n prepareMutation,\n graphqlWithVariables,\n fetchMutation,\n} from \"@openimis/fe-core\";\nimport { mapUserValuesToInput } from \"./utils\";\n\nconst USER_SUMMARY_PROJECTION = [\n \"id\",\n \"username\",\n \"officer{id,dob,phone,lastName,otherNames,email}\",\n \"iUser{id,phone,lastName,otherNames,email,roles{id,name}}\",\n \"claimAdmin{id,phone,lastName,otherNames,emailId,dob}\",\n \"validityTo\",\n \"clientMutationId\",\n];\nconst DISTRICT_DATA_FETCH_PARAMS = \"id, uuid, code, name, parent { id, uuid, name, code }\";\n\nexport const USER_PICKER_PROJECTION = [\"id\", \"username\", \"iUser{id otherNames lastName}\"];\n\nexport function fetchUsers(mm, filters = [], restrictHealthFacility = true) {\n return (dispatch, getState) => {\n if (restrictHealthFacility) {\n const state = getState();\n const hf = state.loc.userHealthFacilityFullPath;\n if (hf) {\n filters.push(`healthFacilityId: ${decodeId(hf.id)}`);\n }\n }\n\n const payload = formatPageQuery(\"users\", filters, mm.getRef(\"admin.UserPicker.projection\"));\n return dispatch(graphql(payload, \"ADMIN_USERS\", filters));\n };\n}\nexport function fetchUsersSummaries(mm, filters) {\n const payload = formatPageQueryWithCount(\"users\", filters, USER_SUMMARY_PROJECTION);\n return graphql(payload, \"ADMIN_USERS_SUMMARIES\");\n}\n\nexport function fetchEnrolmentOfficers(mm, variables) {\n return graphqlWithVariables(\n `\n query ($searchString: String, $first: Int) {\n enrolmentOfficers(str: $searchString, first: $first) {\n edges {\n node {\n id\n code\n lastName\n otherNames\n\n }\n }\n pageInfo {\n hasNextPage\n }\n }\n }\n `,\n variables,\n \"ADMIN_ENROLMENT_OFFICERS\",\n );\n}\n\nexport function fetchSubstitutionEnrolmentOfficers(mm, variables) {\n return graphqlWithVariables(\n `\n query SubstitutionEnrolmentOfficers ($str: String, $villagesUuids: [String!], $officerUuid: String) {\n substitutionEnrolmentOfficers(str: $str, villagesUuids: $villagesUuids, officerUuid: $officerUuid) {\n edges {\n node {\n id\n uuid\n code\n lastName\n otherNames\n }\n }\n }\n }\n `,\n variables,\n \"ADMIN_SUBSTITUTION_ENROLMENT_OFFICERS\",\n );\n}\n\nexport function createUser(mm, user, clientMutationLabel) {\n const mutation = prepareMutation(\n `\n mutation ($input: CreateUserMutationInput!) {\n createUser(input: $input) {\n clientMutationId\n internalId\n }\n }\n `,\n mapUserValuesToInput(user),\n { clientMutationLabel },\n );\n\n // eslint-disable-next-line no-param-reassign\n user.clientMutationId = mutation.clientMutationId;\n\n return graphqlWithVariables(\n mutation.operation,\n mutation.variables,\n [\"ADMIN_USER_MUTATION_REQ\", \"ADMIN_USER_CREATE_RESP\", \"ADMIN_USER_MUTATION_ERR\"],\n { clientMutationId: mutation.clientMutationId, clientMutationLabel },\n );\n}\n\nexport function updateUser(mm, user, clientMutationLabel) {\n const mutation = prepareMutation(\n `\n mutation ($input: UpdateUserMutationInput!) {\n updateUser(input: $input) {\n clientMutationId\n internalId\n }\n }\n `,\n mapUserValuesToInput(user),\n { clientMutationLabel },\n );\n\n // eslint-disable-next-line no-param-reassign\n user.clientMutationId = mutation.clientMutationId;\n\n return graphqlWithVariables(\n mutation.operation,\n mutation.variables,\n [\"ADMIN_USER_MUTATION_REQ\", \"ADMIN_USER_UPDATE_RESP\", \"ADMIN_USER_MUTATION_ERR\"],\n { clientMutationId: mutation.clientMutationId, clientMutationLabel, userId: user.id },\n );\n}\n\nexport function deleteUser(mm, user, clientMutationLabel) {\n const mutation = formatMutation(\"deleteUser\", `uuids: [\"${decodeId(user.id)}\"]`, clientMutationLabel);\n // eslint-disable-next-line no-param-reassign\n user.clientMutationId = mutation.clientMutationId;\n return (dispatch) => {\n dispatch(\n graphql(mutation.payload, [\"ADMIN_USER_MUTATION_REQ\", \"ADMIN_USER_DELETE_RESP\", \"ADMIN_USER_MUTATION_ERR\"], {\n clientMutationId: mutation.clientMutationId,\n clientMutationLabel,\n userId: user.id,\n }),\n );\n dispatch(fetchMutation(mutation.clientMutationId));\n };\n}\n\nexport function fetchUser(mm, userId, clientMutationId) {\n const filters = [];\n if (userId) {\n filters.push(`id: \"${decodeId(userId)}\"`);\n filters.push(\"showDeleted: true\");\n } else if (clientMutationId) {\n filters.push(`clientMutationId: \"${clientMutationId}\"`);\n }\n return graphql(\n `\n {\n users(${filters.join(\" \")}) {\n pageInfo { hasNextPage, hasPreviousPage, startCursor, endCursor}\n edges {\n node {\n clientMutationId\n id\n username\n validityTo\n officer {\n id\n uuid\n hasLogin\n phone\n dob\n lastName\n otherNames\n address\n substitutionOfficer { id lastName otherNames code }\n worksTo\n officerVillages {\n id\n location {\n id\n name\n code\n uuid\n parent {\n id\n name\n code\n uuid\n }\n }\n }\n location {\n id\n name\n uuid\n code\n parent {\n id\n name\n uuid\n code\n }\n }\n }\n iUser {\n id\n phone\n languageId\n lastName\n otherNames\n roles { id name isSystem}\n healthFacility ${mm.getProjection(\"location.HealthFacilityPicker.projection\")}\n validityFrom\n validityTo\n email\n districts: userdistrictSet { location { id name code uuid parent { id code uuid name }}}\n }\n claimAdmin{\n id\n hasLogin\n emailId\n phone\n dob\n lastName\n otherNames\n healthFacility ${mm.getProjection(\"location.HealthFacilityPicker.projection\")}\n\n }\n }\n }\n }\n }\n `,\n \"ADMIN_USER_OVERVIEW\",\n );\n}\n\nexport function newUser() {\n return (dispatch) => {\n dispatch({ type: \"ADMIN_USER_NEW\" });\n };\n}\n\nexport function fetchUserMutation(mm, clientMutationId) {\n const payload = formatPageQuery(\n \"mutationLogs\",\n [`clientMutationId:\"${clientMutationId}\"`],\n [\"id\", \"status\", \"users{coreUser{id}}\"],\n );\n return graphql(payload, \"ADMIN_USER\");\n}\n\nexport function fetchRegionDistricts(parent) {\n const filters = [`type: \"D\"`];\n if (parent) {\n filters.push(`parent_Uuid: \"${parent.uuid}\"`);\n }\n const payload = formatPageQuery(\"locations\", filters, [\n \"id\",\n \"uuid\",\n \"type\",\n \"code\",\n \"name\",\n \"malePopulation\",\n \"femalePopulation\",\n \"otherPopulation\",\n \"families\",\n \"clientMutationId\",\n ]);\n return graphql(payload, `LOCATION_REGION_DISTRICTS`);\n}\n\nexport function fetchDataFromDistrict(districtUuids) {\n const filters = [];\n if (districtUuids) {\n filters.push(`parent_Uuid_In: [\"${districtUuids.join('\", \"')}\"]`);\n }\n const payload = formatPageQuery(\"locations\", filters, [\n `${DISTRICT_DATA_FETCH_PARAMS}, children { edges {node {${DISTRICT_DATA_FETCH_PARAMS}}}}`,\n ]);\n return graphql(payload, `LOCATION_DISTRICT_DATA`);\n}\n\nexport function fetchObligatoryUserFields() {\n const payload = \"query userObligatoryFields {userObligatoryFields}\";\n return graphql(payload, `OBLIGTORY_USER_FIELDS`);\n}\n\nexport function fetchObligatoryEnrolmentOfficerFields() {\n const payload = \"query userObligatoryFields {eoObligatoryFields}\";\n return graphql(payload, `OBLIGTORY_EO_FIELDS`);\n}\n\nexport function clearRegionDistricts() {\n return (dispatch) => {\n dispatch({ type: `LOCATION_REGION_DISTRICTS_CLEAR` });\n };\n}\nexport function clearDistrictData() {\n return (dispatch) => {\n dispatch({ type: `LOCATION_DISTRICT_DATA_CLEAR` });\n };\n}\n\nexport function usernameValidationCheck(mm, variables) {\n return graphqlWithVariables(\n `\n query ($username: String!) {\n isValid: validateUsername(username: $username)\n }\n `,\n variables,\n `USERNAME_FIELDS_VALIDATION`,\n );\n}\n\nexport function fetchUsernameLength() {\n const payload = \"query {usernameLength}\";\n return graphql(payload, `USERNAME_LENGTH_FIELDS`);\n}\n\nexport function fetchPasswordPolicy() {\n const payload = `query {\n passwordPolicy\n }`;\n return graphql(payload, \"PASSWORD_POLICY_FIELDS\");\n}\n\nexport function usernameValidationClear() {\n return (dispatch) => {\n dispatch({ type: `USERNAME_FIELDS_VALIDATION_CLEAR` });\n };\n}\n\nexport function setUsernameValid() {\n return (dispatch) => {\n dispatch({ type: \"USERNAME_FIELDS_VALIDATION_SET_VALID\" });\n };\n}\n\nexport function clearUser() {\n return (dispatch) => {\n dispatch({ type: \"ADMIN_USER_OVERVIEW_CLEAR\" });\n };\n}\n\nexport function userEmailValidationCheck(mm, variables) {\n return graphqlWithVariables(\n `\n query ($userEmail: String!) {\n isValid: validateUserEmail(userEmail: $userEmail)\n }\n `,\n variables,\n `USER_EMAIL_FIELDS_VALIDATION`,\n );\n}\n\nexport function userEmailValidationClear() {\n return (dispatch) => {\n dispatch({ type: `USER_EMAIL_FIELDS_VALIDATION_CLEAR` });\n };\n}\n\nexport function setUserEmailValid() {\n return (dispatch) => {\n dispatch({ type: \"USER_EMAIL_FIELDS_VALIDATION_SET_VALID\" });\n };\n}\n\nexport function saveEmailFormatValidity(isFormatInvalid) {\n return (dispatch) => {\n dispatch({ type: \"USER_EMAIL_FORMAT_VALIDATION_CHECK\", payload: { data: { isFormatInvalid } } });\n };\n}\n","import React, { Component } from \"react\";\nimport _debounce from \"lodash/debounce\";\nimport { connect } from \"react-redux\";\n\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { injectIntl } from \"react-intl\";\nimport { Grid, Checkbox, FormControlLabel } from \"@material-ui/core\";\n\nimport {\n withModulesManager,\n decodeId,\n PublishedComponent,\n ControlledField,\n TextInput,\n formatMessage,\n} from \"@openimis/fe-core\";\nimport { DEFAULT, RIGHT_HEALTHFACILITIES } from \"../constants\";\n\nconst styles = (theme) => ({\n dialogTitle: theme.dialog.title,\n dialogContent: theme.dialog.content,\n form: {\n padding: \"0 0 10px 0\",\n width: \"100%\",\n },\n item: {\n padding: theme.spacing(1),\n },\n paperDivider: theme.paper.divider,\n});\n\nconst extractLocations = (locations) => {\n const locationsArray = Object.values(locations).map((l) => l.value);\n const region = locationsArray.find((l) => !l.parent);\n const district = region && locationsArray.find((l) => l.parent && l.parent.id === region.id);\n const municipality = district && locationsArray.find((l) => l.parent && l.parent.id === district.id);\n const village = municipality && locationsArray.find((l) => l.parent && l.parent.id === municipality.id);\n\n return { region, district, municipality, village };\n};\n\nconst getParentLocation = (locations) => {\n const extractedLocations = extractLocations(locations);\n const { region, district, municipality, village } = extractedLocations;\n if (!region) {\n return null;\n }\n let newLocation = {\n key: \"regionId\",\n id: decodeId(region.id),\n value: region,\n };\n if (district) {\n newLocation = {\n key: \"districtId\",\n id: decodeId(district.id),\n value: district,\n };\n }\n if (municipality) {\n newLocation = {\n key: \"municipalityId\",\n id: decodeId(municipality.id),\n value: municipality,\n };\n }\n if (village) {\n newLocation = {\n key: \"villageId\",\n id: decodeId(village.id),\n value: village,\n };\n }\n return newLocation;\n};\n\nclass UserFilter extends Component {\n constructor(props) {\n super(props);\n this.renderLastNameFirst = props.modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n }\n\n state = {\n locationFilters: {},\n selectedDistrict: {},\n };\n\n debouncedOnChangeFilter = _debounce(\n this.props.onChangeFilters,\n this.props.modulesManager.getConf(\"fe-admin\", \"debounceTime\", 200),\n );\n\n filterValue = (k) => {\n const { filters } = this.props;\n return !!filters && !!filters[k] ? filters[k].value : null;\n };\n\n filterTextFieldValue = (k) => {\n const { filters } = this.props;\n return !!filters && !!filters[k] ? filters[k].value : \"\";\n };\n\n filterDistrict = (locations) => {\n const extractedLocations = extractLocations(locations);\n const { district } = extractedLocations;\n\n return district;\n };\n\n onChangeCheckbox = (key, value) => {\n const filters = [\n {\n id: key,\n value,\n filter: `${key}: ${value}`,\n },\n ];\n this.props.onChangeFilters(filters);\n };\n\n onChangeUserTypes = (currentUserType) => {\n const { onChangeFilters } = this.props;\n onChangeFilters([\n {\n id: \"userTypes\",\n value: currentUserType,\n filter: currentUserType ? `userTypes: [${currentUserType}]` : [],\n },\n ]);\n };\n\n onChangeUserRoles = (currentUserRoles) => {\n const { onChangeFilters } = this.props;\n this.setState({ currentUserRoles });\n onChangeFilters([\n {\n id: \"roles\",\n value: currentUserRoles,\n filter: currentUserRoles ? `roles: [${currentUserRoles.map((ur) => decodeId(ur.id)).join(\",\")}]` : [],\n },\n ]);\n };\n\n onChangeLocation = (newLocationFilters) => {\n const { onChangeFilters } = this.props;\n const locationFilters = { ...this.state.locationFilters };\n newLocationFilters.forEach((filter) => {\n if (filter.value === null) {\n delete locationFilters[filter.id];\n } else {\n locationFilters[filter.id] = {\n value: filter.value,\n filter: filter.filter,\n };\n }\n });\n const selectedDistrict = this.filterDistrict(locationFilters);\n this.setState({ locationFilters, selectedDistrict });\n const parentLocation = getParentLocation(locationFilters);\n const filters = [\n {\n id: \"parentLocation\",\n filter: parentLocation && `${parentLocation.key}: ${parentLocation.id}`,\n },\n ];\n onChangeFilters(filters);\n };\n\n renderLastNameField = (classes) => (\n <ControlledField\n module=\"admin\"\n id=\"userFilter.LastName\"\n field={\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"user\"\n label=\"admin.user.lastName\"\n name=\"lastName\"\n value={this.filterTextFieldValue(\"lastName\")}\n onChange={(v) =>\n this.debouncedOnChangeFilter([\n {\n id: \"lastName\",\n value: v,\n filter: `lastName: \"${v}\"`,\n },\n ])\n }\n />\n </Grid>\n }\n />\n );\n\n renderGivenNameField = (classes) => (\n <ControlledField\n module=\"admin\"\n id=\"userFilter.OtherNames\"\n field={\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"user\"\n label=\"admin.user.otherNames\"\n name=\"otherNames\"\n value={this.filterTextFieldValue(\"otherNames\")}\n onChange={(v) =>\n this.debouncedOnChangeFilter([\n {\n id: \"otherNames\",\n value: v,\n filter: `otherNames: \"${v}\"`,\n },\n ])\n }\n />\n </Grid>\n }\n />\n );\n\n render() {\n const { classes, filters, onChangeFilters, intl, rights } = this.props;\n const { locationFilters, currentUserType, currentUserRoles, selectedDistrict } = this.state;\n return (\n <section className={classes.form}>\n <Grid container>\n <ControlledField\n module=\"admin\"\n id=\"userFilter.userRoles\"\n field={\n <Grid item xs={3} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.UserRolesPicker\"\n value={this.filterValue(\"roles\")}\n onChange={(v) => this.onChangeUserRoles(v)}\n />\n </Grid>\n }\n />\n <ControlledField\n module=\"admin\"\n id=\"userFilter.username\"\n field={\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"user\"\n label=\"admin.user.username\"\n name=\"username\"\n value={this.filterTextFieldValue(\"username\")}\n onChange={(v) =>\n this.debouncedOnChangeFilter([\n {\n id: \"username\",\n value: v,\n filter: `username_Icontains: \"${v}\"`,\n },\n ])\n }\n />\n </Grid>\n }\n />\n {this.renderLastNameFirst ? (\n <>\n {this.renderLastNameField(classes)}\n {this.renderGivenNameField(classes)}\n </>\n ) : (\n <>\n {this.renderGivenNameField(classes)}\n {this.renderLastNameField(classes)}\n </>\n )}\n <ControlledField\n module=\"admin\"\n id=\"userFilter.Email\"\n field={\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"user\"\n label=\"admin.user.email\"\n name=\"email\"\n value={this.filterTextFieldValue(\"email\")}\n onChange={(v) =>\n this.debouncedOnChangeFilter([\n {\n id: \"email\",\n value: v,\n filter: `email: \"${v}\"`,\n },\n ])\n }\n />\n </Grid>\n }\n />\n <ControlledField\n module=\"admin\"\n id=\"userFilter.Phone\"\n field={\n <Grid item xs={3} className={classes.item}>\n <TextInput\n module=\"user\"\n label=\"admin.user.phone\"\n name=\"phone\"\n value={this.filterTextFieldValue(\"phone\")}\n onChange={(v) =>\n this.debouncedOnChangeFilter([\n {\n id: \"phone\",\n value: v,\n filter: `phone: \"${v}\"`,\n },\n ])\n }\n />\n </Grid>\n }\n />\n <ControlledField\n module=\"admin\"\n id=\"UserFilter.dob\"\n field={\n <Grid item xs={6}>\n <Grid container>\n <Grid item xs={6} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n value={this.filterValue(\"dobFrom\")}\n module=\"user\"\n label=\"admin.user.dobFrom\"\n onChange={(d) =>\n onChangeFilters([\n {\n id: \"dobFrom\",\n value: d,\n filter: `birthDateFrom: \"${d}\"`,\n },\n ])\n }\n />\n </Grid>\n <Grid item xs={6} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n value={this.filterValue(\"dobTo\")}\n module=\"user\"\n label=\"admin.user.dobTo\"\n onChange={(d) =>\n onChangeFilters([\n {\n id: \"dobTo\",\n value: d,\n filter: `birthDateTo: \"${d}\"`,\n },\n ])\n }\n />\n </Grid>\n </Grid>\n </Grid>\n }\n />\n <ControlledField\n module=\"policy\"\n id=\"PolicyFilter.showDeleted\"\n field={\n <Grid item xs={2} className={classes.item}>\n <FormControlLabel\n control={\n <Checkbox\n color=\"primary\"\n checked={!!this.filterValue(\"showDeleted\")}\n onChange={(event) => this.onChangeCheckbox(\"showDeleted\", event.target.checked)}\n />\n }\n label={formatMessage(intl, \"admin\", \"UserFilter.showDeleted\")}\n />\n </Grid>\n }\n />\n </Grid>\n </section>\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n rights: state.core?.user?.i_user?.rights ?? [],\n module: state.core?.savedPagination?.module,\n});\n\nexport default withModulesManager(connect(mapStateToProps)(injectIntl(withTheme(withStyles(styles)(UserFilter)))));\n","import React, { Component } from \"react\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { injectIntl } from \"react-intl\";\n\nimport { IconButton, Tooltip } from \"@material-ui/core\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { Tab as TabIcon, Delete as DeleteIcon } from \"@material-ui/icons\";\n\nimport {\n withModulesManager,\n formatMessageWithValues,\n formatMessage,\n Searcher,\n formatDateFromISO,\n ConfirmDialog,\n decodeId,\n} from \"@openimis/fe-core\";\nimport { fetchUsersSummaries, deleteUser } from \"../actions\";\nimport { DEFAULT, RIGHT_USER_DELETE } from \"../constants\";\nimport UserFilter from \"./UserFilter\";\n\nconst USER_SEARCHER_CONTRIBUTION_KEY = \"user.UserSearcher\";\n\nconst styles = (theme) => ({\n horizontalButtonContainer: theme.buttonContainer.horizontal,\n});\n\nclass UserSearcher extends Component {\n constructor(props) {\n super(props);\n this.renderLastNameFirst = props.modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n }\n\n state = {\n deleteUser: null,\n params: {},\n defaultParams: {},\n };\n\n getHeaders = () => [\n \"admin.user.username\",\n this.renderLastNameFirst ? \"admin.user.lastName\" : \"admin.user.otherNames\",\n !this.renderLastNameFirst ? \"admin.user.lastName\" : \"admin.user.otherNames\",\n \"admin.user.email\",\n \"admin.user.phone\",\n \"admin.user.dob\",\n \"\",\n ];\n\n getSorts = () => [\n [\"username\", true],\n this.renderLastNameFirst ? [\"iUser_LastName\", true] : [\"iUser_OtherNames\", true],\n !this.renderLastNameFirst ? [\"iUser_LastName\", true] : [\"iUser_OtherNames\", true],\n [\"iUser_Email\", true],\n [\"iUser_Phone\", true],\n [\"officer__dob\", false],\n ];\n\n getAligns = () => {\n const aligns = this.getHeaders().map(() => null);\n aligns.splice(-1, 1, \"right\");\n return aligns;\n };\n\n fetch = (params) => {\n this.setState({ params });\n if (this.props.fetchedUserLocation) {\n this.props.fetchUsersSummaries(this.props.modulesManager, params);\n }\n };\n\n setRegionIds = (paramsArray) => {\n const regionIds = this.props.userL0s?.map((region) => decodeId(region.id));\n paramsArray.push(`regionIds: [${regionIds}]`);\n };\n\n componentDidUpdate = (prevState) => {\n if (prevState.userL0s !== this.props.userL0s) {\n if (this.props.userL0s && this.props.fetchedUserLocation) {\n const prms = [...this.state.params];\n this.setRegionIds(prms);\n this.props.fetchUsersSummaries(this.props.modulesManager, prms);\n }\n }\n };\n\n filtersToQueryParams = (state) => {\n const prms = Object.keys(state.filters)\n .filter((contrib) => !!state.filters[contrib].filter)\n .map((contrib) => state.filters[contrib].filter);\n if (!state.beforeCursor && !state.afterCursor) {\n prms.push(`first: ${state.pageSize}`);\n }\n if (state.afterCursor) {\n prms.push(`after: \"${state.afterCursor}\"`);\n prms.push(`first: ${state.pageSize}`);\n }\n if (state.beforeCursor) {\n prms.push(`before: \"${state.beforeCursor}\"`);\n prms.push(`last: ${state.pageSize}`);\n }\n if (state.orderBy) {\n prms.push(`orderBy: [\"${state.orderBy}\"]`);\n }\n if (this.props.fetchedUserLocation) {\n this.setRegionIds(prms);\n }\n return prms;\n };\n\n deleteUser = (isConfirmed) => {\n if (!isConfirmed) {\n this.setState({ deleteUser: null });\n } else {\n const user = this.state.deleteUser;\n this.setState({ deleteUser: null }, async () => {\n await this.props.deleteUser(\n this.props.modulesManager,\n user,\n formatMessage(this.props.intl, \"admin.user\", \"deleteDialog.title\"),\n );\n this.fetch(this.state.params);\n });\n }\n };\n\n getUserItem = (user, item) =>\n (user.iUser && user.iUser[item]) ||\n (user.officer && user.officer[item]) ||\n (user.claimAdmin && user.claimAdmin[item]);\n\n itemFormatters = () => {\n const formatters = [\n (u) => u.username,\n (u) => (this.renderLastNameFirst ? this.getUserItem(u, \"lastName\") : this.getUserItem(u, \"otherNames\")),\n (u) => (!this.renderLastNameFirst ? this.getUserItem(u, \"lastName\") : this.getUserItem(u, \"otherNames\")),\n (u) => this.getUserItem(u, \"email\") || this.getUserItem(u, \"emailId\"),\n (u) => this.getUserItem(u, \"phone\"),\n (u) =>\n (u.claimAdmin || u.officer) &&\n formatDateFromISO(this.props.modulesManager, this.props.intl, this.getUserItem(u, \"dob\")),\n\n (u) => (\n <div className={this.props.classes.horizontalButtonContainer}>\n <Tooltip title={formatMessage(this.props.intl, \"admin.user\", \"openNewTab\")}>\n <IconButton onClick={() => this.props.onDoubleClick(u, true)}>\n <TabIcon />\n </IconButton>\n </Tooltip>\n {this.props.rights.includes(RIGHT_USER_DELETE) && u.validityTo ? null : (\n <Tooltip title={formatMessage(this.props.intl, \"admin.user\", \"deleteUser.tooltip\")}>\n <IconButton onClick={() => this.setState({ deleteUser: u })} disabled={u.validityTo}>\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n )}\n </div>\n ),\n ];\n\n return formatters;\n };\n\n render() {\n const { intl, users, usersPageInfo, fetchingUsers, fetchedUsers, errorUsers, cacheFiltersKey, onDoubleClick } =\n this.props;\n return (\n <>\n {this.state.deleteUser && (\n <ConfirmDialog\n confirm={{\n title: formatMessage(intl, \"admin.user\", \"deleteDialog.title\"),\n message: formatMessage(intl, \"admin.user\", \"deleteDialog.message\"),\n }}\n onConfirm={this.deleteUser}\n />\n )}\n <Searcher\n module=\"user\"\n cacheFiltersKey={cacheFiltersKey}\n FilterPane={UserFilter}\n items={users}\n itemsPageInfo={usersPageInfo}\n fetchingItems={fetchingUsers}\n fetchedItems={fetchedUsers}\n errorItems={errorUsers}\n contributionKey={USER_SEARCHER_CONTRIBUTION_KEY}\n tableTitle={formatMessageWithValues(intl, \"admin.user\", \"userSummaries\", {\n count: usersPageInfo.totalCount?.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, \"$1,\"),\n })}\n fetch={this.fetch}\n rowIdentifier={(r) => r.uuid}\n filtersToQueryParams={this.filtersToQueryParams}\n defaultOrderBy=\"-username\"\n headers={this.getHeaders}\n aligns={this.getAligns}\n itemFormatters={this.itemFormatters}\n sorts={this.getSorts}\n rowDisabled={(_, i) => i.validityTo || i.clientMutationId}\n rowLocked={(_, i) => i.clientMutationId}\n onDoubleClick={onDoubleClick}\n />\n </>\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n rights: state.core?.i_user?.rights ?? [],\n users: state.admin.usersSummaries.items,\n usersPageInfo: state.admin.usersSummaries.pageInfo,\n fetchingUsers: state.admin.usersSummaries.isFetching,\n fetchedUsers: state.admin.usersSummaries.fetched,\n errorUsers: state.admin.usersSummaries.error,\n userL0s: state.loc.userL0s ?? [],\n fetchedUserLocation: state.loc.fetchedUserLocation,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ fetchUsersSummaries, deleteUser }, dispatch);\n\nexport default withModulesManager(\n connect(mapStateToProps, mapDispatchToProps)(injectIntl(withTheme(withStyles(styles)(UserSearcher)))),\n);\n","import React, { Component } from \"react\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { injectIntl } from \"react-intl\";\n\nimport { Fab } from \"@material-ui/core\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\n\nimport {\n historyPush,\n withModulesManager,\n withHistory,\n withTooltip,\n formatMessage,\n clearCurrentPaginationPage,\n} from \"@openimis/fe-core\";\nimport { RIGHT_USER_ADD, MODULE_NAME } from \"../constants\";\nimport UserSearcher from \"../components/UserSearcher\";\n\nconst styles = (theme) => ({\n page: theme.page,\n fab: theme.fab,\n});\n\nclass UsersPage extends Component {\n onDoubleClick = (u, newTab = false) => {\n historyPush(this.props.modulesManager, this.props.history, \"admin.userOverview\", [u.id], newTab);\n };\n\n onAdd = () => {\n historyPush(this.props.modulesManager, this.props.history, \"admin.userNew\");\n };\n\n componentDidMount = () => {\n const { module } = this.props;\n if (module !== MODULE_NAME) this.props.clearCurrentPaginationPage();\n };\n\n render() {\n const { classes, rights, intl } = this.props;\n return (\n <div className={classes.page}>\n <UserSearcher cacheFiltersKey=\"usersPageFiltersCache\" onDoubleClick={this.onDoubleClick} />\n {rights.includes(RIGHT_USER_ADD) &&\n withTooltip(\n <div className={classes.fab}>\n <Fab color=\"primary\" onClick={this.onAdd}>\n <AddIcon />\n </Fab>\n </div>,\n formatMessage(intl, \"admin.user\", \"addNewUser.tooltip\"),\n )}\n </div>\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n rights: state.core?.user?.i_user?.rights ?? [],\n module: state.core?.savedPagination?.module,\n});\n\nconst mapDispatchToProps = (dispatch) => bindActionCreators({ clearCurrentPaginationPage }, dispatch);\n\nexport default injectIntl(\n withModulesManager(\n withHistory(connect(mapStateToProps, mapDispatchToProps)(withTheme(withStyles(styles)(UsersPage)))),\n ),\n);\n","import React, { useEffect, useState } from \"react\";\nimport { withModulesManager, combine, useTranslations, PublishedComponent, ProgressOrError } from \"@openimis/fe-core\";\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport {\n TableContainer,\n TableHead,\n TableBody,\n Table,\n TableCell,\n TableRow,\n TableFooter,\n Paper,\n Button,\n IconButton,\n} from \"@material-ui/core\";\nimport { fetchDataFromDistrict, clearDistrictData } from \"../actions\";\n\nconst styles = (theme) => ({\n footer: {\n marginInline: 16,\n marginBlock: 12,\n },\n headerTitle: theme.table.title,\n actionCell: {\n width: 60,\n },\n header: theme.table.header,\n});\n\nconst groupVillagesByMunicipality = (villages) => {\n const result = [];\n villages?.forEach((village) => {\n if (!result.find((x) => x.parent?.id === village.parent?.id)) {\n result.push({ parent: village.parent, entities: [] });\n }\n\n result.find((x) => x.parent?.id === village.parent?.id).entities.push(village);\n });\n\n result.sort((a, b) => (a.parent ? a.parent?.id > b.parent?.id : -1));\n return result;\n};\n\nconst EnrolmentVillagesPicker = (props) => {\n const { modulesManager, readOnly, villages, onChange, classes, districts, isOfficerPanelEnabled } = props;\n const dispatch = useDispatch();\n const [items, setItems] = useState([]);\n const { formatMessage } = useTranslations(\"admin.EnrolmentZonesPicker\", modulesManager);\n const pickedDistrictsUuids = districts && districts.map((district) => district.uuid);\n const savedEOVillages = useSelector((store) => store.admin.user?.officerVillages);\n const isUserEdited = useSelector((store) => store.admin.user?.id);\n const [wasEmpty, setWasEmpty] = useState(false);\n const { districtMunAndVil, fetchedDistrictMunAndVil, fetchingDistrictMunAndVil, errorDistrictMunAndVil } =\n useSelector((store) => store.admin);\n\n const handleChange = (newItems) => {\n const villageIds = newItems.reduce((acc, item) => (item.entities ? acc.concat(item.entities) : acc), []);\n onChange(villageIds);\n };\n\n const onRemoveRow = (row) => {\n handleChange(items.filter((i) => i.parent?.id !== row.parent?.id));\n };\n\n useEffect(() => {\n setItems(groupVillagesByMunicipality(villages));\n }, [villages]);\n\n const onInsertRow = () => {\n setItems([...items, {}]);\n };\n\n const onSelectParent = (item, parent) => {\n const rowItem = item;\n rowItem.parent = parent;\n setItems([...items]);\n };\n\n const onVillagesChange = (item, entities) => {\n const rowItem = item;\n rowItem.entities = entities;\n handleChange(items);\n };\n\n const createRow = (parent) => {\n const {\n children: { edges },\n } = parent;\n const entities = edges?.map((edge) => edge.node) ?? [];\n const savedEntities = entities.filter((entity) =>\n savedEOVillages?.some((village) => entity.uuid === village?.uuid),\n );\n const createdRow = {};\n\n createdRow.parent = parent;\n\n if (!isUserEdited) {\n createdRow.entities = entities;\n return createdRow;\n }\n\n if (isUserEdited && savedEntities && wasEmpty) {\n createdRow.entities = entities;\n return createdRow;\n }\n\n if (entities.find((entity) => savedEntities.some((savedEntity) => savedEntity.uuid !== entity.uuid))) {\n createdRow.entities = savedEntities;\n } else {\n createdRow.entities = entities;\n }\n return createdRow;\n };\n\n const rescheduleItems = (rows) => {\n setItems([...items, ...rows]);\n handleChange([...items, ...rows]);\n };\n\n const clearItems = () => {\n setItems([]);\n handleChange([]);\n dispatch(clearDistrictData());\n };\n\n const executeNewRows = (newRows, uniqueRows) => {\n if (!items.length) {\n rescheduleItems(newRows);\n } else {\n rescheduleItems(uniqueRows);\n }\n };\n\n const filterParents = (options) => options.filter((p) => !items.some((i) => i.parent?.id === p.id));\n\n const filterVillages = (options) =>\n options.filter((option) => !villages?.some((village) => village?.id === option.id));\n\n useEffect(() => {\n if (districts?.length) {\n dispatch(fetchDataFromDistrict(pickedDistrictsUuids));\n } else setWasEmpty(true);\n\n return clearItems();\n }, [districts]);\n\n useEffect(() => {\n if (fetchedDistrictMunAndVil) {\n const createdRows = districtMunAndVil.map((mun) => createRow(mun));\n const uniqueRows = createdRows.filter((row) => !items.some((i) => i.parent.uuid === row.parent.uuid));\n executeNewRows(createdRows, uniqueRows);\n }\n }, [districtMunAndVil]);\n\n useEffect(() => {\n if (isOfficerPanelEnabled) {\n clearItems();\n }\n }, [isOfficerPanelEnabled]);\n\n return (\n <TableContainer component={Paper}>\n <Table size=\"small\">\n <TableHead className={classes.header}>\n <TableRow className={classes.headerTitle}>\n <TableCell>{formatMessage(\"table.municipality\")}</TableCell>\n <TableCell>{formatMessage(\"table.villages\")}</TableCell>\n <TableCell></TableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n <ProgressOrError progress={fetchingDistrictMunAndVil} error={errorDistrictMunAndVil} />\n {items.map((item) => (\n <TableRow key={item.parent?.id}>\n <TableCell>\n {item.parent ? (\n `${item.parent.code} ${item.parent.name}`\n ) : (\n <PublishedComponent\n pubRef=\"location.LocationPicker\"\n parentLocations={pickedDistrictsUuids}\n onChange={(parent) => onSelectParent(item, parent)}\n required\n filterOptions={filterParents}\n value={item.parent}\n locationLevel={2}\n />\n )}\n </TableCell>\n <TableCell>\n <PublishedComponent\n fullWidth\n pubRef=\"location.LocationPicker\"\n parentLocation={item.parent}\n parentLocations={[item.parent?.uuid]}\n readOnly={readOnly}\n required\n multiple\n value={item.entities}\n onChange={(value) => onVillagesChange(item, value)}\n filterOptions={filterVillages}\n locationLevel={3}\n />\n </TableCell>\n <TableCell className={classes.actionCell}>\n <IconButton disabled={readOnly} onClick={() => onRemoveRow(item)}>\n <DeleteIcon />\n </IconButton>\n </TableCell>\n </TableRow>\n ))}\n </TableBody>\n <TableFooter>\n <Button\n disabled={readOnly}\n variant=\"contained\"\n onClick={onInsertRow}\n startIcon={<AddIcon />}\n className={classes.footer}\n >\n {formatMessage(\"table.newRow\")}\n </Button>\n </TableFooter>\n </Table>\n </TableContainer>\n );\n};\n\nconst enhance = combine(withModulesManager, withTheme, withStyles(styles));\n\nexport default enhance(EnrolmentVillagesPicker);\n","import React, { useState, useEffect } from \"react\";\n\nimport { Grid, Typography, Paper, Switch } from \"@material-ui/core\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\n\nimport {\n useTranslations,\n withModulesManager,\n combine,\n PublishedComponent,\n TextInput,\n useGraphqlQuery,\n} from \"@openimis/fe-core\";\nimport { ENROLMENT_OFFICER_USER_TYPE, OFFICER_ROLE_IS_SYSTEM } from \"../constants\";\nimport { toggleUserRoles, toggleSwitchButton } from \"../utils\";\nimport EnrolmentVillagesPicker from \"./EnrolmentVillagesPicker\";\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n paper: theme.paper.paper,\n title: theme.paper.title,\n});\n\nconst EnrolmentOfficerFormPanel = (props) => {\n const { edited, classes, modulesManager, onEditedChanged, readOnly } = props;\n const { formatMessage } = useTranslations(\"admin.EnrolmentOfficerFormPanel\", modulesManager);\n const [isEnabled, setIsEnabled] = useState(false);\n const hasOfficerUserType = edited.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE);\n const hasOfficerRole = edited.roles\n ? edited.roles.filter((x) => x.isSystem === OFFICER_ROLE_IS_SYSTEM).length !== 0\n : false;\n\n const {\n isLoading,\n data,\n error: graphqlError,\n } = useGraphqlQuery(\n `\n query UserRolesPicker ($system_id: Int) {\n role(systemRoleId: $system_id) {\n edges {\n node {\n id name isSystem\n }\n }\n }\n }\n `,\n { system_id: OFFICER_ROLE_IS_SYSTEM },\n );\n\n const isValid = !isLoading;\n useEffect(() => {\n toggleUserRoles(edited, data, isValid, isEnabled, hasOfficerRole, onEditedChanged, OFFICER_ROLE_IS_SYSTEM);\n }, [isEnabled]);\n\n useEffect(() => {\n toggleSwitchButton(\n edited,\n hasOfficerRole,\n hasOfficerUserType,\n setIsEnabled,\n onEditedChanged,\n ENROLMENT_OFFICER_USER_TYPE,\n );\n }, [hasOfficerRole]);\n\n return (\n <Paper className={classes.paper}>\n <Grid item xs={12} className={classes.title}>\n <Grid container justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"h6\">{formatMessage(\"title\")}</Typography>\n {(edited || !isEnabled) && (\n <Switch\n color=\"secondary\"\n disabled={readOnly}\n checked={isEnabled}\n onChange={() => setIsEnabled(() => !isEnabled)}\n />\n )}\n </Grid>\n </Grid>\n {isEnabled && (\n <Grid item xs={12}>\n <Grid container>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n value={edited?.birthDate}\n module=\"admin\"\n label=\"user.dob\"\n readOnly={readOnly}\n maxDate={new Date()}\n onChange={(birthDate) => onEditedChanged({ ...edited, birthDate })}\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.SubstitutionEnrolmentOfficerPicker\"\n module=\"admin\"\n readOnly={readOnly}\n withLabel\n withPlaceholder\n value={edited.substitutionOfficer}\n villages={edited.officerVillages}\n onChange={(substitutionOfficer) => onEditedChanged({ ...edited, substitutionOfficer })}\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n value={edited?.worksTo ?? \"\"}\n module=\"admin\"\n label=\"user.worksTo\"\n readOnly={readOnly}\n onChange={(worksTo) => onEditedChanged({ ...edited, worksTo })}\n />\n </Grid>\n <Grid item xs={12} className={classes.item}>\n <TextInput\n module=\"admin\"\n label=\"user.address\"\n multiline\n rows={2}\n variant=\"outlined\"\n readOnly={readOnly}\n value={edited?.address ?? \"\"}\n onChange={(address) => onEditedChanged({ ...edited, address })}\n />\n </Grid>\n <Grid item xs={12} className={classes.item}>\n <EnrolmentVillagesPicker\n isOfficerPanelEnabled={isEnabled}\n readOnly={readOnly}\n districts={edited.districts}\n villages={edited.officerVillages}\n onChange={(officerVillages) => onEditedChanged({ ...edited, officerVillages })}\n />\n </Grid>\n </Grid>\n </Grid>\n )}\n </Paper>\n );\n};\n\nconst enhance = combine(withModulesManager, withTheme, withStyles(styles));\n\nexport default enhance(EnrolmentOfficerFormPanel);\n","import React, { useState, useEffect } from \"react\";\nimport { Grid, Typography, Paper, Switch } from \"@material-ui/core\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { useTranslations, withModulesManager, combine, PublishedComponent, useGraphqlQuery } from \"@openimis/fe-core\";\nimport { CLAIM_ADMIN_USER_TYPE, CLAIM_ADMIN_IS_SYSTEM } from \"../constants\";\nimport { toggleUserRoles, toggleSwitchButton } from \"../utils\";\n\nconst styles = (theme) => ({\n item: theme.paper.item,\n paper: theme.paper.paper,\n title: theme.paper.title,\n});\n\nconst ClaimAdministratorFormPanel = (props) => {\n const { edited, classes, modulesManager, onEditedChanged, readOnly } = props;\n const { formatMessage } = useTranslations(\"admin.ClaimAdministratorFormPanel\", modulesManager);\n const hasClaimUserType = edited.userTypes?.includes(CLAIM_ADMIN_USER_TYPE);\n const hasClaimRole = edited.roles\n ? edited.roles.filter((x) => x.isSystem === CLAIM_ADMIN_IS_SYSTEM).length !== 0\n : false;\n const [isEnabled, setIsEnabled] = useState(false);\n const {\n isLoading,\n data,\n error: graphqlError,\n } = useGraphqlQuery(\n `\n query UserRolesPicker ($system_id: Int) {\n role(systemRoleId: $system_id) {\n edges {\n node {\n id name isSystem\n }\n }\n }\n }\n `,\n { system_id: CLAIM_ADMIN_IS_SYSTEM },\n );\n const isValid = !isLoading;\n\n useEffect(() => {\n toggleUserRoles(\n edited, \n data, \n isValid, \n isEnabled, \n hasClaimRole, \n onEditedChanged, \n CLAIM_ADMIN_IS_SYSTEM);\n }, [isEnabled]);\n\n useEffect(() => {\n toggleSwitchButton(\n edited, \n hasClaimRole, \n hasClaimUserType, \n setIsEnabled, \n onEditedChanged, \n CLAIM_ADMIN_USER_TYPE);\n }, [hasClaimRole]);\n\n return (\n <Paper className={classes.paper}>\n <Grid item xs={12} className={classes.title}>\n <Grid container justifyContent=\"space-between\" alignItems=\"center\">\n <Typography variant=\"h6\">{formatMessage(\"title\")}</Typography>\n {(edited || !isEnabled) && (\n <Switch\n color=\"secondary\"\n disabled={readOnly}\n checked={isEnabled}\n onChange={() => setIsEnabled(() => !isEnabled)}\n />\n )}\n </Grid>\n </Grid>\n {isEnabled && (\n <Grid item xs={12}>\n <Grid container>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.DatePicker\"\n value={edited?.birthDate}\n module=\"admin\"\n label=\"user.dob\"\n readOnly={readOnly}\n maxDate={new Date()}\n onChange={(birthDate) => onEditedChanged({ ...edited, birthDate })}\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"location.HealthFacilityPicker\"\n value={edited?.healthFacility}\n district={edited?.districts}\n required\n module=\"admin\"\n readOnly={readOnly}\n onChange={(healthFacility) => onEditedChanged({ ...edited, healthFacility })}\n />\n </Grid>\n </Grid>\n </Grid>\n )}\n </Paper>\n );\n};\n\nconst enhance = combine(withModulesManager, withTheme, withStyles(styles));\n\nexport default enhance(ClaimAdministratorFormPanel);\n","/* eslint-disable no-shadow */\nimport React, { useEffect, useState } from \"react\";\nimport { connect, useDispatch } from \"react-redux\";\n\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { Grid, Divider, Typography, Button, InputAdornment, IconButton, Box } from \"@material-ui/core\";\nimport VisibilityIcon from \"@material-ui/icons/Visibility\";\nimport VisibilityOffIcon from \"@material-ui/icons/VisibilityOff\";\n\nimport {\n withModulesManager,\n useTranslations,\n TextInput,\n PublishedComponent,\n ValidatedTextInput,\n passwordGenerator,\n validatePassword,\n} from \"@openimis/fe-core\";\nimport { CLAIM_ADMIN_USER_TYPE, ENROLMENT_OFFICER_USER_TYPE, EMAIL_REGEX_PATTERN, DEFAULT, RIGHT_HEALTHFACILITIES } from \"../constants\";\nimport {\n usernameValidationCheck,\n usernameValidationClear,\n setUsernameValid,\n userEmailValidationCheck,\n userEmailValidationClear,\n setUserEmailValid,\n saveEmailFormatValidity,\n fetchPasswordPolicy,\n} from \"../actions\";\n\n\nconst styles = (theme) => ({\n tableTitle: theme.table.title,\n item: theme.paper.item,\n fullHeight: {\n height: \"100%\",\n },\n sectionHeader: {\n ...theme.paper.item,\n paddingBottom: 0,\n },\n sectionTitle: theme.typography.title,\n});\n\nconst UserMasterPanel = (props) => {\n const {\n classes,\n edited,\n readOnly,\n onEditedChanged,\n modulesManager,\n obligatoryUserFields,\n obligatoryEOFields,\n isUsernameValid,\n isUsernameValidating,\n usernameValidationError,\n isUserEmailValid,\n isUserEmailValidating,\n isUserEmailFormatInvalid,\n emailValidationError,\n savedUsername,\n savedUserEmail,\n usernameLength,\n passwordPolicy,\n rights,\n } = props;\n const { formatMessage, formatMessageWithValues } = useTranslations(\"admin\", modulesManager);\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch(fetchPasswordPolicy());\n }, [dispatch]);\n\n const renderLastNameFirst = modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n\n const shouldValidateUsername = (inputValue) => {\n const shouldBeValidated = inputValue !== savedUsername;\n return shouldBeValidated;\n };\n\n const shouldValidateEmail = (inputValue) => {\n const shouldBeValidated = inputValue !== savedUserEmail;\n return shouldBeValidated;\n };\n\n const checkEmailFormatValidity = (emailInput) => {\n if (!emailInput) return false;\n\n const isEmailInvalid = !EMAIL_REGEX_PATTERN.test(emailInput);\n\n return isEmailInvalid;\n };\n\n const handleEmailChange = (email) => {\n const isFormatValid = checkEmailFormatValidity(email);\n dispatch(saveEmailFormatValidity(isFormatValid));\n\n onEditedChanged({ ...edited, email });\n };\n\n useEffect(() => {\n handleEmailChange(edited?.email);\n }, []);\n\n const [passwordFeedback, setPasswordFeedback] = useState(\"\");\n const [passwordScore, setPasswordScore] = useState(0);\n const [showPassword, setShowPassword] = useState(false);\n const REQUIRED_SECURITY_LEVEL = 2;\n let IS_PASSWORD_SECURED = passwordScore >= REQUIRED_SECURITY_LEVEL;\n const handleClickShowPassword = () => setShowPassword((show) => !show);\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n const handlePasswordChange = (password) => {\n const { feedback, score } = validatePassword(password, passwordPolicy, formatMessage, formatMessageWithValues);\n setPasswordFeedback(feedback);\n setPasswordScore(score);\n IS_PASSWORD_SECURED = score >= REQUIRED_SECURITY_LEVEL;\n onEditedChanged({ ...edited, password, isPasswordValid: IS_PASSWORD_SECURED });\n };\n\n const generatePassword = () => {\n const passwordGeneratorOptions = modulesManager.getConf(\"fe-admin\", \"passwordGeneratorOptions\", {\n length: 12,\n isNumberRequired: true,\n isLowerCaseRequired: true,\n isUpperCaseRequired: true,\n isSpecialSymbolRequired: true,\n });\n const generatedPassword = passwordGenerator(passwordGeneratorOptions);\n IS_PASSWORD_SECURED = true;\n onEditedChanged({ ...edited, password: generatedPassword, confirmPassword: generatedPassword, isPasswordValid: IS_PASSWORD_SECURED });\n };\n\n const renderLastNameField = (edited, classes, readOnly) => (\n <Grid item xs={4} className={classes.item}>\n <TextInput\n module=\"admin\"\n label=\"user.lastName\"\n required\n readOnly={readOnly}\n value={edited?.lastName ?? \"\"}\n onChange={(lastName) => onEditedChanged({ ...edited, lastName })}\n />\n </Grid>\n );\n\n const renderGivenNameField = (edited, classes, readOnly) => (\n <Grid item xs={4} className={classes.item}>\n <TextInput\n module=\"admin\"\n label=\"user.givenNames\"\n required\n readOnly={readOnly}\n value={edited?.otherNames ?? \"\"}\n onChange={(otherNames) => onEditedChanged({ ...edited, otherNames })}\n />\n </Grid>\n );\n\n return (\n <Grid container direction=\"row\">\n <Grid item xs={4} className={classes.item}>\n <ValidatedTextInput\n itemQueryIdentifier=\"username\"\n shouldValidate={shouldValidateUsername}\n isValid={isUsernameValid}\n isValidating={isUsernameValidating}\n validationError={usernameValidationError}\n action={usernameValidationCheck}\n clearAction={usernameValidationClear}\n setValidAction={setUsernameValid}\n module=\"admin\"\n label=\"user.username\"\n codeTakenLabel=\"user.usernameAlreadyTaken\"\n required={true}\n value={edited?.username ?? \"\"}\n readOnly={readOnly}\n onChange={(username) => onEditedChanged({ ...edited, username })}\n inputProps={{\n \"maxLength\": usernameLength,\n }}\n />\n </Grid>\n {renderLastNameFirst ? (\n <>\n {renderLastNameField(edited, classes, readOnly)}\n {renderGivenNameField(edited, classes, readOnly)}\n </>\n ) : (\n <>\n {renderGivenNameField(edited, classes, readOnly)}\n {renderLastNameField(edited, classes, readOnly)}\n </>\n )}\n {!(\n obligatoryUserFields?.email == \"H\" ||\n (edited.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE) && obligatoryEOFields?.email == \"H\")\n ) && (\n <Grid item xs={4} className={classes.item}>\n <ValidatedTextInput\n itemQueryIdentifier=\"userEmail\"\n shouldValidate={shouldValidateEmail}\n isValid={isUserEmailValid}\n isValidating={isUserEmailValidating}\n validationError={emailValidationError}\n invalidValueFormat={isUserEmailFormatInvalid}\n action={userEmailValidationCheck}\n clearAction={userEmailValidationClear}\n setValidAction={setUserEmailValid}\n readOnly={readOnly}\n module=\"admin\"\n label=\"user.email\"\n type=\"email\"\n codeTakenLabel=\"user.emailAlreadyTaken\"\n required={true}\n value={edited?.email ?? \"\"}\n onChange={(email) => handleEmailChange(email)}\n />\n </Grid>\n )}\n {!(\n obligatoryUserFields?.phone == \"H\" ||\n (edited.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE) && obligatoryEOFields?.phone == \"H\")\n ) && (\n <Grid item xs={4} className={classes.item}>\n <TextInput\n module=\"admin\"\n type=\"phone\"\n label=\"user.phone\"\n required={\n obligatoryUserFields?.phone == \"M\" ||\n (edited.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE) && obligatoryEOFields?.phone == \"M\")\n }\n readOnly={readOnly}\n value={edited?.phoneNumber ?? \"\"}\n onChange={(phoneNumber) => onEditedChanged({ ...edited, phoneNumber })}\n />\n </Grid>\n )}\n {rights.includes(RIGHT_HEALTHFACILITIES) && (<Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"location.HealthFacilityPicker\"\n value={edited?.healthFacility}\n district={edited.districts}\n module=\"admin\"\n readOnly={readOnly}\n required={edited.userTypes.includes(CLAIM_ADMIN_USER_TYPE)}\n onChange={(healthFacility) => onEditedChanged({ ...edited, healthFacility })}\n />\n </Grid>\n )}\n <Grid item xs={6} className={classes.item}>\n <PublishedComponent\n pubRef=\"admin.UserRolesPicker\"\n required\n value={edited?.roles ?? []}\n module=\"admin\"\n readOnly={readOnly}\n onChange={(roles) => onEditedChanged({ ...edited, roles })}\n />\n </Grid>\n\n <Grid item xs={2} className={classes.item}>\n <PublishedComponent\n pubRef=\"location.LocationPicker\"\n locationLevel={0}\n value={edited.region}\n onChange={(region) => onEditedChanged({ ...edited, region })}\n readOnly={readOnly}\n multiple\n withLabel\n label={formatMessage(\"user.regions\")}\n restrictedOptions\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"location.LocationPicker\"\n locationLevel={1}\n value={edited?.districts ?? []}\n onChange={(districts) => onEditedChanged({ ...edited, districts })}\n readOnly={readOnly}\n required\n multiple\n withLabel\n label={formatMessage(\"user.districts\")}\n restrictedOptions\n />\n </Grid>\n\n <Grid item xs={12} className={classes.sectionHeader}>\n <Typography className={classes.sectionTitle}>{formatMessage(\"UserMasterPanel.loginDetailsTitle\")}</Typography>\n <Divider variant=\"fullWidth\" />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <PublishedComponent\n pubRef=\"core.LanguagePicker\"\n module=\"admin\"\n label=\"user.language\"\n readOnly={readOnly}\n required\n withNull={false}\n nullLabel={formatMessage(\"UserMasterPanel.language.null\")}\n value={edited.language ?? \"\"}\n onChange={(language) => onEditedChanged({ ...edited, language })}\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <TextInput\n module=\"admin\"\n type={showPassword ? \"text\" : \"password\"}\n label=\"user.newPassword\"\n readOnly={readOnly}\n value={edited.password}\n onChange={(password) => {\n handlePasswordChange(password);\n }}\n endAdornment={\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n onMouseDown={handleMouseDownPassword}\n edge=\"end\"\n >\n {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}\n </IconButton>\n </InputAdornment>\n }\n />\n <Typography color={IS_PASSWORD_SECURED ? \"primary\" : \"error\"} className={classes.passwordFeedback}>\n {passwordFeedback}\n </Typography>\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <TextInput\n module=\"admin\"\n type={showPassword ? \"text\" : \"password\"}\n label=\"user.confirmNewPassword\"\n required={edited.password}\n readOnly={readOnly}\n value={edited.confirmPassword}\n onChange={(confirmPassword) => onEditedChanged({ ...edited, confirmPassword })}\n error={edited?.password !== edited?.confirmPassword}\n endAdornment={\n <InputAdornment position=\"end\">\n <IconButton\n aria-label=\"toggle password visibility\"\n onClick={handleClickShowPassword}\n onMouseDown={handleMouseDownPassword}\n edge=\"end\"\n >\n {showPassword ? <VisibilityOffIcon /> : <VisibilityIcon />}\n </IconButton>\n </InputAdornment>\n }\n />\n </Grid>\n <Grid item xs={4} className={classes.item}>\n <Button disabled={readOnly} variant=\"contained\" onClick={generatePassword}>\n {formatMessage(\"user.generatePassword\")}\n </Button>\n </Grid>\n </Grid>\n );\n};\n\nconst mapStateToProps = (state) => ({\n rights: state.core?.user?.i_user?.rights ?? [],\n isUsernameValid: state.admin.validationFields?.username?.isValid,\n isUsernameValidating: state.admin.validationFields?.username?.isValidating,\n usernameValidationError: state.admin.validationFields?.username?.validationError,\n savedUsername: state.admin?.user?.username,\n isUserEmailValid: state.admin.validationFields?.userEmail?.isValid,\n isUserEmailValidating: state.admin.validationFields?.userEmail?.isValidating,\n emailValidationError: state.admin.validationFields?.userEmail?.validationError,\n savedUserEmail: state.admin?.user?.email,\n isUserEmailFormatInvalid: state.admin.validationFields?.userEmailFormat?.isInvalid,\n});\n\nexport default withModulesManager(connect(mapStateToProps)(withTheme(withStyles(styles)(UserMasterPanel))));\n","import React, { Component } from \"react\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { injectIntl } from \"react-intl\";\n\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport ReplayIcon from \"@material-ui/icons/Replay\";\n\nimport {\n Helmet,\n formatMessageWithValues,\n withModulesManager,\n withHistory,\n historyPush,\n Form,\n ProgressOrError,\n journalize,\n coreConfirm,\n parseData,\n} from \"@openimis/fe-core\";\nimport {\n CLAIM_ADMIN_USER_TYPE,\n ENROLMENT_OFFICER_USER_TYPE,\n INTERACTIVE_USER_TYPE,\n RIGHT_USERS,\n RIGHT_CLAIMADMINISTRATOR,\n RIGHT_ENROLMENTOFFICER\n} from \"../constants\";\nimport EnrolmentOfficerFormPanel from \"./EnrolmentOfficerFormPanel\";\nimport ClaimAdministratorFormPanel from \"./ClaimAdministratorFormPanel\";\nimport {\n fetchUser,\n createUser,\n clearUser,\n fetchUserMutation,\n fetchRegionDistricts,\n fetchObligatoryUserFields,\n fetchObligatoryEnrolmentOfficerFields,\n fetchUsernameLength,\n fetchPasswordPolicy,\n} from \"../actions\";\nimport UserMasterPanel from \"./UserMasterPanel\";\n\nconst styles = (theme) => ({\n lockedPage: theme.page.locked,\n});\n\nconst USER_OVERVIEW_MUTATIONS_KEY = \"user.UserOverview.mutations\";\n\nconst setupState = (props) => ({\n isLocked: false,\n user: !props?.userId\n ? {\n userTypes: [INTERACTIVE_USER_TYPE],\n }\n : props.user,\n isSaved: false,\n reset: 0,\n});\n\nclass UserForm extends Component {\n constructor(props) {\n super(props);\n this.state = setupState(props);\n }\n\n componentDidMount() {\n if (this.props.userId) {\n this.props.fetchUser(this.props.modulesManager, this.props.userId);\n }\n if (!this.state.obligatory_user_fields) {\n this.props.fetchObligatoryUserFields();\n }\n if (!this.state.obligatory_eo_fields) {\n this.props.fetchObligatoryEnrolmentOfficerFields();\n }\n if (!this.state.usernameLength) {\n this.props.fetchUsernameLength();\n }\n if (!this.state.passwordPolicy) {\n this.props.fetchPasswordPolicy();\n }\n }\n\n componentWillUnmount() {\n this.props.clearUser();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.region_districts !== this.props.region_districts) {\n if (this.props.region_districts) {\n const combined = [\n ...(this.state.user.districts ? this.state.user.districts : []),\n ...this.props.region_districts,\n ];\n\n const noDuplicates = [...new Map(combined.map((x) => [x.uuid, x])).values()];\n\n this.setState((prevState) => ({\n user: {\n ...prevState.user,\n districts: noDuplicates,\n region: [],\n },\n }));\n }\n }\n\n if (!prevProps.fetchedUser && this.props.fetchedUser) {\n this.setState(setupState(this.props));\n } else if (prevProps.userId && !this.props.userId) {\n this.setState(setupState(this.props));\n } else if (prevProps.submittingMutation && !this.props.submittingMutation) {\n this.props.journalize(this.props.mutation);\n this.setState((state, props) => ({\n user: {\n ...state.user,\n clientMutationId: props.mutation.clientMutationId,\n },\n }));\n } else if (prevProps.confirmed !== this.props.confirmed && !!this.props.confirmed && !!this.state.confirmedAction) {\n this.state.confirmedAction();\n }\n }\n\n reload = async () => {\n const { isSaved } = this.state;\n // eslint-disable-next-line no-shadow\n const { modulesManager, history, mutation, fetchUserMutation, userId, fetchUser } = this.props;\n\n if (userId) {\n try {\n await fetchUser(modulesManager, userId);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`[RELOAD_USER]: Fetching user details failed. ${error}`);\n }\n this.setState((state) => ({ ...state, reset: state.reset + 1 }));\n return;\n }\n\n if (isSaved) {\n try {\n const { clientMutationId } = mutation;\n const response = await fetchUserMutation(modulesManager, clientMutationId);\n const createdUserId = parseData(response.payload.data.mutationLogs)[0].users[0].coreUser.id;\n\n await fetchUser(modulesManager, createdUserId);\n historyPush(modulesManager, history, \"admin.userOverview\", [createdUserId]);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(`[RELOAD_USER]: Fetching user details failed. ${error}`);\n }\n this.setState((state) => ({ ...state, reset: state.reset + 1 }));\n return;\n }\n\n this.setState(setupState(this.props));\n };\n\n canSave = () => {\n const { user } = this.state;\n\n if (!user) return false;\n if (\n !(\n user.lastName &&\n user.otherNames &&\n user.username &&\n user.email &&\n this.props.isUserNameValid === true &&\n this.props.isUserEmailValid === true &&\n !this.props.isUserEmailFormatInvalid &&\n user.roles?.length &&\n user.districts?.length > 0 &&\n user.language\n )\n )\n return false;\n\n if (!user.id && !user.password) return false;\n if (user.password && user.password !== user.confirmPassword) return false;\n if (user.password && !user.isPasswordValid) return false;\n\n if (user.userTypes?.includes(CLAIM_ADMIN_USER_TYPE) && !user.healthFacility) return false;\n if (user.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE) && !user.officerVillages) return false;\n if (\n (this.props.obligatory_user_fields?.phone === \"M\" ||\n (user.userTypes?.includes(ENROLMENT_OFFICER_USER_TYPE) && this.props.obligatory_eo_fields?.phone === \"M\")) &&\n !user.phoneNumber\n )\n return false;\n\n return true;\n };\n\n save = (user) => {\n this.setState({ isLocked: !user?.id, isSaved: true }, this.props.save(user));\n };\n\n onEditedChanged = (user) => {\n if (user.region) {\n user.region.forEach((region) => {\n this.props.fetchRegionDistricts(region);\n });\n }\n this.setState({ user });\n };\n\n onActionToConfirm = (title, message, confirmedAction) => {\n this.setState({ confirmedAction }, this.props.coreConfirm(title, message));\n };\n\n render() {\n const {\n modulesManager,\n classes,\n state,\n rights,\n userId,\n fetchingUser,\n errorUser,\n readOnly = false,\n add,\n save,\n back,\n obligatoryUserFields,\n obligatoryEoFields,\n usernameLength,\n passwordPolicy\n } = this.props;\n const { user, isSaved, reset } = this.state;\n\n if (!rights.includes(RIGHT_USERS)) return null;\n\n const isInMutation =\n user?.clientMutationId ||\n modulesManager.getContribs(USER_OVERVIEW_MUTATIONS_KEY).some((mutation) => mutation(state));\n\n const actions = [\n {\n doIt: this.reload,\n icon: <ReplayIcon />,\n onlyIfDirty: !readOnly && !isInMutation && !isSaved,\n },\n ];\n\n return (\n <div className={isInMutation || !!user?.validityTo ? classes.lockedPage : null}>\n <Helmet title={formatMessageWithValues(this.props.intl, \"admin.user\", \"UserOverview.title\", { label: \"\" })} />\n <ProgressOrError progress={fetchingUser} error={errorUser} />\n {(!userId || user?.id === userId) && (\n <Form\n module=\"user\"\n title={userId ? \"admin.user.UserOverview.title\" : \"admin.user.UserOverview.newTitle\"}\n edited_id={userId}\n edited={user}\n reset={reset}\n back={back}\n add={add}\n openDirty={save}\n readOnly={readOnly || isInMutation || user?.validityTo}\n actions={actions}\n HeadPanel={UserMasterPanel}\n Panels={[\n ...(rights.includes(RIGHT_ENROLMENTOFFICER) ? [EnrolmentOfficerFormPanel] : []),\n ...(rights.includes(RIGHT_CLAIMADMINISTRATOR) ? [ClaimAdministratorFormPanel] : [])\n ]}\n user={user}\n onEditedChanged={this.onEditedChanged}\n canSave={!user.validityTo && this.canSave}\n save={save && !user.validityTo ? this.save : null}\n onActionToConfirm={this.onActionToConfirm}\n obligatory_user_fields={obligatoryUserFields}\n obligatory_eo_fields={obligatoryEoFields}\n usernameLength={usernameLength}\n passwordPolicy={passwordPolicy}\n />\n )}\n </div>\n );\n }\n}\n\nconst mapStateToProps = (state) => ({\n rights: state.core?.user?.i_user?.rights ?? [],\n fetchingUser: state.admin.fetchingUser,\n errorUser: state.admin.errorUser,\n fetchedUser: state.admin.fetchedUser,\n submittingMutation: state.admin.submittingMutation,\n mutation: state.admin.mutation,\n user: state.admin.user,\n region_districts: state.admin.reg_dst,\n confirmed: state.core.confirmed,\n obligatoryUserFields: state.admin.obligatory_user_fields,\n obligatoryEoFields: state.admin.obligatory_eo_fields,\n isUserNameValid: state.admin.validationFields?.username?.isValid,\n isUserEmailValid: state.admin.validationFields?.userEmail?.isValid,\n usernameLength: state.admin?.usernameLength,\n passwordPolicy: state.admin?.passwordPolicy,\n isUserEmailFormatInvalid: state.admin.validationFields?.userEmailFormat?.isInvalid,\n});\n\nconst mapDispatchToProps = (dispatch) =>\n bindActionCreators(\n {\n fetchUser,\n createUser,\n clearUser,\n fetchUserMutation,\n fetchRegionDistricts,\n fetchObligatoryUserFields,\n fetchObligatoryEnrolmentOfficerFields,\n fetchUsernameLength,\n fetchPasswordPolicy,\n journalize,\n coreConfirm,\n },\n dispatch,\n );\n\nexport default withHistory(\n withModulesManager(connect(mapStateToProps, mapDispatchToProps)(injectIntl(withTheme(withStyles(styles)(UserForm))))),\n);\n","import React, { useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { withModulesManager, combine, withHistory, historyPush, useTranslations } from \"@openimis/fe-core\";\nimport UserForm from \"../components/UserForm\";\nimport { createUser, updateUser } from \"../actions\";\nimport { RIGHT_USER_ADD, RIGHT_USER_EDIT } from \"../constants\";\n\nconst styles = (theme) => ({\n page: theme.page,\n});\n\nconst UserPage = (props) => {\n const { modulesManager, history, match, classes } = props;\n const rights = useSelector((state) => state.core?.user?.i_user?.rights ?? []);\n const [resetKey, setResetKey] = useState(Date.now());\n const { formatMessageWithValues } = useTranslations(\"admin\", modulesManager);\n const dispatch = useDispatch();\n const add = () => {\n setResetKey(Date.now());\n historyPush(modulesManager, history, \"admin.userNew\");\n };\n\n const save = (user) => {\n if (!user.id) {\n dispatch(createUser(modulesManager, user, formatMessageWithValues(\"user.createUser.mutationLabel\")));\n } else {\n dispatch(updateUser(modulesManager, user, formatMessageWithValues(\"user.updateUser.mutationLabel\")));\n }\n };\n return (\n <div className={classes.page}>\n <UserForm\n key={resetKey}\n readOnly={match.params.user_id ? !rights.includes(RIGHT_USER_EDIT) : !rights.includes(RIGHT_USER_ADD)}\n userId={match.params.user_id}\n back={() => historyPush(modulesManager, history, \"admin.users\")}\n add={rights.includes(RIGHT_USER_ADD) ? add : null}\n save={rights.includes(RIGHT_USER_EDIT) ? save : null}\n />\n </div>\n );\n};\n\nconst enhance = combine(withHistory, withModulesManager, withTheme, withStyles(styles));\n\nexport default enhance(UserPage);\n","import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { withTheme, withStyles } from \"@material-ui/core/styles\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { TextField } from \"@material-ui/core\";\nimport { withModulesManager, useDebounceCb, useTranslations } from \"@openimis/fe-core\";\nimport { fetchUsers } from \"../../actions\";\nimport { DEFAULT } from \"../../constants\";\n\nconst styles = (theme) => ({\n label: {\n color: theme.palette.primary.main,\n },\n});\n\nconst UserPicker = (props) => {\n const {\n onChange,\n modulesManager,\n readOnly = false,\n required = false,\n withLabel = true,\n healthFacility,\n filters = [],\n value,\n label,\n filterOptions,\n filterSelectedOptions,\n placeholder,\n multiple = false,\n } = props;\n const minCharLookup = modulesManager.getConf(\"fe-admin\", \"usersMinCharLookup\", 2);\n const dispatch = useDispatch();\n const [searchString, setSearchString] = useState(null);\n const { formatMessage } = useTranslations(\"admin.UserPicker\", modulesManager);\n const [open, setOpen] = useState(false);\n const users = useSelector((state) => state.admin.users.items);\n const isLoading = useSelector((state) => state.admin.users.isLoading);\n\n const onInputChange = useDebounceCb(setSearchString, modulesManager.getConf(\"fe-admin\", \"debounceTime\", 400));\n // eslint-disable-next-line no-shadow\n const handleChange = (__, value) => {\n onChange(value);\n if (!multiple) setOpen(false);\n };\n\n const formatSuggestion = (p) => {\n const renderLastNameFirst = modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n\n if (!p) return \"?\";\n return [\n p.username,\n renderLastNameFirst ? p.iUser?.lastName : p.iUser?.otherNames,\n !renderLastNameFirst ? p.iUser?.lastName : p.iUser?.otherNames,\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n useEffect(() => {\n if (searchString?.length > minCharLookup) {\n dispatch(\n fetchUsers(\n modulesManager,\n [searchString && `str: \"${searchString}\"`, ...(filters ?? [])].filter(Boolean),\n !healthFacility,\n ),\n );\n }\n }, [searchString]);\n\n useEffect(() => {\n if (open) {\n dispatch(fetchUsers(modulesManager, [`first: 10`, ...(filters ?? [])], !healthFacility));\n }\n }, [open]);\n\n return (\n <Autocomplete\n loadingText={formatMessage(\"loadingText\")}\n openText={formatMessage(\"openText\")}\n closeText={formatMessage(\"closeText\")}\n clearText={formatMessage(\"clearText\")}\n openOnFocus\n multiple={multiple}\n disabled={readOnly}\n options={users}\n loading={isLoading}\n open={open}\n onOpen={() => setOpen(true)}\n onClose={() => setOpen(false)}\n autoComplete\n value={value}\n getOptionLabel={(option) => formatSuggestion(option)}\n getOptionSelected={(option, v) => option.id === v.id}\n onChange={handleChange}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={(__, query) => onInputChange(query)}\n renderInput={(inputProps) => (\n <TextField\n {...inputProps}\n variant=\"standard\"\n required={required}\n label={withLabel && (label || formatMessage(\"label\"))}\n placeholder={placeholder}\n />\n )}\n />\n );\n};\n\nexport default withModulesManager(withTheme(withStyles(styles)(UserPicker)));\n","import React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Autocomplete, withModulesManager } from \"@openimis/fe-core\";\nimport { fetchEnrolmentOfficers } from \"../../actions\";\nimport { DEFAULT } from \"../../constants\";\n\nconst EnrolmentOfficerPicker = (props) => {\n const {\n onChange,\n modulesManager,\n readOnly = false,\n required = false,\n withLabel = true,\n value,\n label,\n filterOptions,\n filterSelectedOptions,\n placeholder,\n multiple = false,\n } = props;\n const dispatch = useDispatch();\n const [searchString, setSearchString] = useState(null);\n\n const isLoading = useSelector((state) => state.admin.enrolmentOfficers.isFetching);\n const options = useSelector((state) => state.admin.enrolmentOfficers.items);\n\n useEffect(() => {\n dispatch(\n fetchEnrolmentOfficers(modulesManager, {\n first: searchString ? undefined : 10,\n searchString,\n }),\n );\n }, [searchString]);\n\n const formatSuggestion = (p) => {\n const renderLastNameFirst = modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n\n if (!p) return \"?\";\n return [\n p.username,\n renderLastNameFirst ? p.lastName : p.otherNames,\n !renderLastNameFirst ? p.lastName : p.otherNames,\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n return (\n <Autocomplete\n multiple={multiple}\n required={required}\n placeholder={placeholder}\n label={label}\n withLabel={withLabel}\n readOnly={readOnly}\n options={options}\n isLoading={isLoading}\n value={value}\n getOptionLabel={formatSuggestion}\n onChange={onChange}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={setSearchString}\n />\n );\n};\n\nexport default withModulesManager(EnrolmentOfficerPicker);\n","import React, { useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { TextField } from \"@material-ui/core\";\n\nimport { withModulesManager, Autocomplete, useTranslations } from \"@openimis/fe-core\";\nimport { fetchSubstitutionEOs } from \"../../utils\";\nimport { DEFAULT } from \"../../constants\";\n\nconst SubstitutionEnrolmentOfficerPicker = (props) => {\n const {\n onChange,\n modulesManager,\n readOnly = false,\n required = false,\n value,\n villages,\n filterOptions,\n filterSelectedOptions,\n multiple = false,\n withLabel = true,\n label,\n withPlaceholder = false,\n placeholder,\n } = props;\n const dispatch = useDispatch();\n const { formatMessage } = useTranslations(\"admin\", modulesManager);\n const [searchString, setSearchString] = useState(\"\");\n const { isFetching, items } = useSelector((state) => state.admin.substitutionEnrolmentOfficers);\n const officerUuid = useSelector((state) => state.admin?.user?.officer?.uuid) ?? null;\n\n const handleInputChange = (str) => {\n setSearchString(str);\n fetchSubstitutionEOs(dispatch, modulesManager, officerUuid, searchString, villages);\n };\n\n const formatSuggestion = (p) => {\n const renderLastNameFirst = modulesManager.getConf(\n \"fe-insuree\",\n \"renderLastNameFirst\",\n DEFAULT.RENDER_LAST_NAME_FIRST,\n );\n\n if (!p) return \"?\";\n return [\n p.username,\n renderLastNameFirst ? p.lastName : p.otherNames,\n !renderLastNameFirst ? p.lastName : p.otherNames,\n ]\n .filter(Boolean)\n .join(\" \");\n };\n\n return (\n <Autocomplete\n multiple={multiple}\n required={required}\n placeholder={placeholder}\n label={label}\n withLabel={withLabel}\n readOnly={readOnly}\n options={items}\n isLoading={isFetching}\n value={value}\n getOptionLabel={formatSuggestion}\n onChange={onChange}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={handleInputChange}\n renderInput={(inputProps) => (\n <TextField\n {...inputProps}\n label={withLabel && (label || formatMessage(\"EnrolmentOfficerFormPanel.substitutionOfficer\"))}\n placeholder={\n withPlaceholder &&\n (placeholder || formatMessage(\"EnrolmentOfficerFormPanel.substitutionOfficer.placeholder\"))\n }\n />\n )}\n />\n );\n};\n\nexport default withModulesManager(SubstitutionEnrolmentOfficerPicker);\n","import React, { useState } from \"react\";\nimport { useGraphqlQuery, useTranslations, Autocomplete } from \"@openimis/fe-core\";\n\nconst UserRolesPicker = ({\n readOnly,\n value,\n onChange,\n required,\n multiple = true,\n placeholder,\n withLabel,\n withPlaceholder,\n label,\n filterOptions,\n filterSelectedOptions,\n}) => {\n const [searchString, setSearchString] = useState();\n const { formatMessage } = useTranslations(\"admin\");\n\n const { isLoading, data, error } = useGraphqlQuery(\n `\n query UserRolesPicker ($str: String) {\n role(str: $str) {\n edges {\n node {\n id name isSystem\n }\n }\n }\n }\n `,\n { str: searchString },\n );\n\n const roles = data?.role?.edges.map((edge) => edge.node) ?? [];\n const uniqueValues = [...new Map(value?.map((role) => [role.id, role])).values()];\n\n return (\n <Autocomplete\n multiple={multiple}\n required={required}\n placeholder={placeholder ?? formatMessage(\"user.userRoles.placeholder\")}\n label={label ?? formatMessage(\"user.userRoles\")}\n error={error}\n withLabel={withLabel}\n withPlaceholder={withPlaceholder}\n readOnly={readOnly}\n options={roles}\n isLoading={isLoading}\n value={uniqueValues}\n getOptionLabel={(o) => o?.name}\n onChange={(option) => onChange(option, option?.name)}\n filterOptions={filterOptions}\n filterSelectedOptions={filterSelectedOptions}\n onInputChange={() => setSearchString(searchString)}\n />\n );\n};\n\nexport default UserRolesPicker;\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useIntl } from \"react-intl\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport TextField from \"@material-ui/core/TextField\";\nimport { formatMessage } from \"@openimis/fe-core\";\n\nimport { USER_TYPES } from \"../../constants\";\n\nconst UserTypesPicker = (props) => {\n const intl = useIntl();\n const rights = useSelector((state) =>\n !!state.core && !!state.core.user && !!state.core.user.i_user ? state.core.user.i_user.rights : [],\n );\n const options = USER_TYPES(rights).map((ut) => ({\n id: ut,\n label: formatMessage(intl, \"admin.user\", `userTypes.${ut}`),\n }));\n const value = [];\n if (props.value) {\n props.value.forEach((v) => {\n const fullValue = options.find((o) => o.id === v);\n if (fullValue) {\n value.push(fullValue);\n }\n });\n }\n return (\n <Autocomplete\n multiple\n noOptionsText={formatMessage(intl, \"admin.user\", \"userTypes.noOptions\")}\n disabled={props.readOnly}\n id=\"user-types-select\"\n options={options}\n getOptionLabel={(option) => option.label}\n onChange={(e, userTypes) => props.onChange(userTypes.map((ut) => ut.id))}\n renderInput={(params) => (\n <TextField\n {...params}\n variant=\"standard\"\n label={`${formatMessage(intl, \"admin.user\", \"userTypes\")}${props.required ? \"*\" : \"\"}`}\n placeholder=\"\"\n />\n )}\n value={value}\n />\n );\n};\n\nexport default UserTypesPicker;\n","import React, { useState } from \"react\";\n\nimport { TextField } from \"@material-ui/core\";\n\nimport { useGraphqlQuery, useTranslations, Autocomplete } from \"@openimis/fe-core\";\nimport { USER_PICKER_PROJECTION } from \"../../actions\";\n\nfunction PaymentPointManagerPicker({\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(\"admin\");\n\n // Note: IMIS Administrator covers all Payment Point Manager permissions\n const paymentPointManagerRoleId = 7;\n\n const formatSuggestion = (ppm) =>\n [ppm?.username, ppm?.iUser?.lastName, ppm?.iUser?.otherNames].filter(Boolean).join(\" \");\n\n const { isLoading, data, error } = useGraphqlQuery(\n `\n query paymentPointManager($searchString: String, $roleId: Int) {\n users(str: $searchString, roleId: $roleId) {\n edges {\n node {\n ${USER_PICKER_PROJECTION.join(\" \")}\n }\n }\n }\n }\n `,\n {\n str: searchString,\n roleId: paymentPointManagerRoleId,\n },\n );\n\n const paymentPointManagers = data?.users?.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(\"PaymentPointManagerPicker.placeholder\")}\n label={formatMessage(\"PaymentPointManagerPicker.label\")}\n isLoading={isLoading}\n options={paymentPointManagers}\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(\"PaymentPointManagerPicker.label\")}\n placeholder={withPlaceholder && formatMessage(\"PaymentPointManagerPicker.placeholder\")}\n />\n )}\n />\n );\n}\n\nexport default PaymentPointManagerPicker;\n","import {\n parseData,\n pageInfo,\n formatServerError,\n formatGraphQLError,\n dispatchMutationResp,\n dispatchMutationErr,\n dispatchMutationReq,\n} from \"@openimis/fe-core\";\nimport { checkRolesAndGetUserTypes, mapQueriesUserToStore } from \"./utils\";\n\nfunction reducer(\n state = {\n enrolmentOfficers: {\n items: [],\n isFetching: false,\n pageInfo: {\n totalCount: 0,\n },\n error: null,\n },\n\n substitutionEnrolmentOfficers: {\n items: [],\n isFetching: false,\n pageInfo: {\n totalCount: 0,\n },\n error: null,\n },\n\n\n usersSummaries: {\n items: [],\n isFetching: false,\n isFetched: false,\n fetched: null,\n pageInfo: {\n totalCount: 0,\n },\n error: null,\n },\n\n users: {\n items: [],\n isFetching: false,\n isFetched: false,\n error: null,\n },\n\n fetchingUser: false,\n fetchedUser: false,\n errorUser: null,\n user: null,\n submittingMutation: false,\n mutation: {},\n reg_dst: [],\n dst_mun_vil: [],\n obligatory_user_fields: {},\n obligatory_eo_fields: {},\n },\n action,\n) {\n switch (action.type) {\n case \"ADMIN_ENROLMENT_OFFICERS_REQ\":\n return {\n ...state,\n enrolmentOfficers: {\n ...state.enrolmentOfficers,\n isFetching: true,\n },\n };\n case \"ADMIN_ENROLMENT_OFFICERS_RESP\":\n return {\n ...state,\n enrolmentOfficers: {\n ...state.enrolmentOfficers,\n isFetching: false,\n pageInfo: pageInfo(action.payload.data.enrolmentOfficers),\n items: parseData(action.payload.data.enrolmentOfficers),\n },\n };\n case \"ADMIN_ENROLMENT_OFFICERS_ERR\":\n return {\n ...state,\n enrolmentOfficers: {\n ...state.enrolmentOfficers,\n isFetching: false,\n error: formatGraphQLError(action.payload),\n },\n };\n case \"ADMIN_SUBSTITUTION_ENROLMENT_OFFICERS_REQ\":\n return {\n ...state,\n substitutionEnrolmentOfficers: {\n ...state.substitutionEnrolmentOfficers,\n isFetching: true,\n },\n };\n case \"ADMIN_SUBSTITUTION_ENROLMENT_OFFICERS_RESP\":\n return {\n ...state,\n substitutionEnrolmentOfficers: {\n ...state.substitutionEnrolmentOfficers,\n isFetching: false,\n pageInfo: pageInfo(action.payload.data.substitutionEnrolmentOfficers),\n items: parseData(action.payload.data.substitutionEnrolmentOfficers),\n },\n };\n case \"ADMIN_SUBSTITUTION_ENROLMENT_OFFICERS_ERR\":\n return {\n ...state,\n substitutionEnrolmentOfficers: {\n ...state.substitutionEnrolmentOfficers,\n isFetching: false,\n error: formatGraphQLError(action.payload),\n },\n };\n case \"ADMIN_USERS_REQ\":\n return {\n ...state,\n users: {\n ...state.users,\n isFetching: true,\n fetched: null,\n error: null,\n },\n };\n case \"ADMIN_USERS_RESP\":\n return {\n ...state,\n users: {\n ...state.users,\n isFetching: false,\n fetched: action.meta,\n items: parseData(action.payload.data.users).map((user) => ({\n ...user,\n userTypes: checkRolesAndGetUserTypes(user),\n })),\n error: formatGraphQLError(action.payload),\n },\n };\n case \"ADMIN_USERS_ERR\":\n return {\n ...state,\n users: {\n ...state.users,\n error: formatServerError(action.payload),\n isFetching: false,\n items: [],\n },\n };\n case \"ADMIN_USERS_SUMMARIES_REQ\":\n return {\n ...state,\n usersSummaries: {\n ...state.usersSummaries,\n isFetching: true,\n isFetched: false,\n error: null,\n },\n };\n case \"ADMIN_USERS_SUMMARIES_RESP\":\n return {\n ...state,\n usersSummaries: {\n ...state.usersSummaries,\n isFetching: false,\n isFetched: true,\n fetched: action.meta,\n pageInfo: pageInfo(action.payload.data.users),\n items: parseData(action.payload.data.users),\n error: formatGraphQLError(action.payload),\n },\n };\n case \"ADMIN_USERS_SUMMARIES_ERR\":\n return {\n ...state,\n usersSummaries: {\n ...state.usersSummaries,\n isFetching: false,\n isFetched: true,\n fetched: null,\n items: [],\n error: formatGraphQLError(action.payload),\n },\n };\n case \"ADMIN_USER_OVERVIEW_REQ\":\n return {\n ...state,\n fetchingUser: true,\n fetchedUser: false,\n errorUser: null,\n };\n case \"ADMIN_USER_OVERVIEW_RESP\":\n const users = parseData(action.payload.data.users);\n let user = null;\n if (users?.length > 0) {\n [user] = users;\n user = mapQueriesUserToStore(user);\n }\n return {\n ...state,\n fetchingUser: false,\n fetchedUser: true,\n user,\n errorUser: formatGraphQLError(action.payload),\n };\n case \"ADMIN_USER_OVERVIEW_ERR\":\n return {\n ...state,\n fetchedUser: false,\n errorUser: formatServerError(action.payload),\n };\n case \"ADMIN_USER_OVERVIEW_CLEAR\":\n return {\n ...state,\n isValidating: false,\n isValid: false,\n user: null,\n validationError: null,\n };\n case \"ADMIN_USER_NEW\":\n return {\n ...state,\n usersPageInfo: { totalCount: 0 },\n user: null,\n };\n case \"LOCATION_REGION_DISTRICTS_REQ\":\n return {\n ...state,\n fetching_reg_dst: true,\n fetched_reg_dst: false,\n reg_dst: [],\n errorL1s: null,\n };\n case \"LOCATION_REGION_DISTRICTS_RESP\":\n return {\n ...state,\n fetching_reg_dst: false,\n fetfetched_reg_dstchedL1s: true,\n reg_dst: parseData(action.payload.data.locations || action.payload.data.locationsStr),\n errorL1s: formatGraphQLError(action.payload),\n };\n case \"LOCATION_REGION_DISTRICTS_ERR\":\n return {\n ...state,\n fetching_reg_dst: false,\n errorL1s: formatServerError(action.payload),\n };\n case \"LOCATION_REGION_DISTRICTS_CLEAR\":\n return {\n ...state,\n reg_dst: [],\n };\n case \"LOCATION_DISTRICT_DATA_REQ\":\n return {\n ...state,\n fetchingDistrictMunAndVil: true,\n fetchedDistrictMunAndVil: false,\n errorDistrictMunAndVil: null,\n };\n case \"LOCATION_DISTRICT_DATA_RESP\":\n return {\n ...state,\n fetchingDistrictMunAndVil: false,\n fetchedDistrictMunAndVil: true,\n districtMunAndVil: parseData(action.payload.data.locations || action.payload.data.locationsStr),\n errorDistrictMunAndVil: formatGraphQLError(action.payload),\n };\n case \"LOCATION_DISTRICT_DATA_ERR\":\n return {\n ...state,\n fetchingDistrictMunAndVil: false,\n errorDistrictMunAndVil: formatServerError(action.payload),\n };\n case \"LOCATION_DISTRICT_DATA_CLEAR\":\n return {\n ...state,\n districtMunAndVil: [],\n };\n case \"OBLIGTORY_USER_FIELDS_REQ\":\n return {\n ...state,\n fetching_obligatory_user_fields: true,\n fetched_obligatory_user_fields: false,\n obligatory_user_fields: null,\n errorL1s: null,\n };\n case \"OBLIGTORY_USER_FIELDS_RESP\":\n console.log(\"USER FILED RESPONSE \", action.payload.data.userObligatoryFields);\n return {\n ...state,\n fetching_obligatory_user_fields: false,\n fetched_obligatory_user_fields: true,\n obligatory_user_fields: action.payload.data.userObligatoryFields,\n errorL1s: formatGraphQLError(action.payload),\n };\n case \"OBLIGTORY_USER_FIELDS_ERR\":\n return {\n ...state,\n fetching_obligatory_user_fields: false,\n errorL1s: formatServerError(action.payload),\n };\n case \"OBLIGTORY_EO_FIELDS_REQ\":\n return {\n ...state,\n fetching_obligatory_eo_fields: true,\n fetched_obligatory_eo_fields: false,\n obligatory_eo_fields: null,\n errorL1s: null,\n };\n case \"OBLIGTORY_EO_FIELDS_RESP\":\n console.log(\"EO FILED RESPONSE \", action.payload.data.eoObligatoryFields);\n return {\n ...state,\n fetching_obligatory_eo_fields: false,\n fetched_obligatory_eo_fields: true,\n obligatory_eo_fields: action.payload.data.eoObligatoryFields,\n errorL1s: formatGraphQLError(action.payload),\n };\n case \"OBLIGTORY_EO_FIELDS_ERR\":\n return {\n ...state,\n fetching_obligatory_eo_fields: false,\n errorL1s: formatServerError(action.payload),\n };\n case \"USERNAME_FIELDS_VALIDATION_REQ\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n username: {\n isValidating: true,\n isValid: false,\n validationError: null,\n },\n },\n };\n case \"USERNAME_FIELDS_VALIDATION_RESP\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n username: {\n isValidating: false,\n isValid: action.payload?.data.isValid,\n validationError: formatGraphQLError(action.payload),\n },\n },\n };\n case \"USERNAME_FIELDS_VALIDATION_ERR\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n username: {\n isValidating: false,\n isValid: false,\n validationError: formatServerError(action.payload),\n },\n },\n };\n case \"USERNAME_FIELDS_VALIDATION_CLEAR\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n username: {\n isValidating: true,\n isValid: false,\n validationError: null,\n },\n },\n };\n case \"USERNAME_FIELDS_VALIDATION_SET_VALID\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n username: {\n isValidating: false,\n isValid: true,\n validationError: null,\n },\n },\n };\n case \"USER_EMAIL_FIELDS_VALIDATION_REQ\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmail: {\n isValidating: true,\n isValid: false,\n validationError: null,\n },\n },\n };\n case \"USER_EMAIL_FIELDS_VALIDATION_RESP\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmail: {\n isValidating: false,\n isValid: action.payload?.data.isValid,\n validationError: formatGraphQLError(action.payload),\n },\n },\n };\n case \"USER_EMAIL_FIELDS_VALIDATION_ERR\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmail: {\n isValidating: false,\n isValid: false,\n validationError: formatServerError(action.payload),\n },\n },\n };\n case \"USER_EMAIL_FIELDS_VALIDATION_CLEAR\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmail: {\n isValidating: true,\n isValid: false,\n validationError: null,\n },\n },\n };\n case \"USER_EMAIL_FIELDS_VALIDATION_SET_VALID\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmail: {\n isValidating: false,\n isValid: true,\n validationError: null,\n },\n },\n };\n case \"USER_EMAIL_FORMAT_VALIDATION_CHECK\":\n return {\n ...state,\n validationFields: {\n ...state.validationFields,\n userEmailFormat: {\n isInvalid: action.payload?.data?.isFormatInvalid,\n },\n },\n };\n case \"USERNAME_LENGTH_FIELDS_REQ\":\n return {\n ...state,\n fetchingUsernameLength: true,\n fetchedUsernameLength: false,\n usernameLength: null,\n errorUsernameLength: null,\n };\n case \"USERNAME_LENGTH_FIELDS_RESP\":\n return {\n ...state,\n fetchingUsernameLength: false,\n fetchedUsernameLength: true,\n usernameLength: action.payload.data.usernameLength,\n errorUsernameLength: formatGraphQLError(action.payload),\n };\n case \"USERNAME_LENGTH_FIELDS_ERR\":\n return {\n ...state,\n fetchingUsernameLength: false,\n errorUsernameLength: formatServerError(action.payload),\n };\n case \"PASSWORD_POLICY_FIELDS_REQ\":\n return {\n ...state,\n fetchingPasswordPolicy: true,\n fetchedPasswordPolicy: false,\n passwordPolicy: null,\n errorPasswordPolicy: null,\n };\n case \"PASSWORD_POLICY_FIELDS_RESP\":\n return {\n ...state,\n fetchingPasswordPolicy: false,\n fetchedPasswordPolicy: true,\n passwordPolicy: action.payload.data.passwordPolicy,\n errorPasswordPolicy: formatGraphQLError(action.payload),\n };\n case \"PASSWORD_POLICY_FIELDS_ERR\":\n return {\n ...state,\n fetchingPasswordPolicy: false,\n errorPasswordPolicy: formatServerError(action.payload),\n };\n case \"ADMIN_USER_MUTATION_REQ\":\n return dispatchMutationReq(state, action);\n case \"ADMIN_USER_MUTATION_ERR\":\n return dispatchMutationErr(state, action);\n case \"ADMIN_USER_UPDATE_RESP\":\n return dispatchMutationResp(state, \"updateUser\", action);\n case \"ADMIN_USER_DELETE_RESP\":\n return dispatchMutationResp(state, \"deleteUser\", action);\n case \"ADMIN_USER_CREATE_RESP\":\n return dispatchMutationResp(state, \"createUser\", action);\n default:\n return state;\n }\n}\n\nexport default reducer;\n","import React from \"react\";\nimport {\n LocationCity,\n Healing,\n HealingOutlined,\n LocalHospital,\n LocalPharmacy,\n LocalPharmacyOutlined,\n Person,\n People,\n PinDrop,\n Tune,\n} from \"@material-ui/icons\";\nimport { FormattedMessage } from \"@openimis/fe-core\";\nimport AdminMainMenu from \"./components/AdminMainMenu\";\nimport UsersPage from \"./pages/UsersPage\";\nimport UserPage from \"./pages/UserPage\";\nimport messagesEn from \"./translations/en.json\";\nimport UserPicker from \"./components/pickers/UserPicker\";\nimport EnrolmentOfficerPicker from \"./components/pickers/EnrolmentOfficerPicker\";\nimport SubstitutionEnrolmentOfficerPicker from \"./components/pickers/SubstitutionEnrolmentOfficerPicker\";\nimport UserRolesPicker from \"./components/pickers/UserRolesPicker\";\nimport UserTypesPicker from \"./components/pickers/UserTypesPicker\";\nimport PaymentPointManagerPicker from \"./components/pickers/PaymentPointManagerPicker\";\nimport reducer from \"./reducer\";\nimport { USER_PICKER_PROJECTION } from \"./actions\";\nimport {\n RIGHT_PRODUCTS,\n RIGHT_HEALTHFACILITIES,\n RIGHT_PRICELISTMS,\n RIGHT_PRICELISTMI,\n RIGHT_MEDICALSERVICES,\n RIGHT_MEDICALITEMS,\n // RIGHT_ENROLMENTOFFICER,\n // RIGHT_CLAIMADMINISTRATOR,\n RIGHT_USERS,\n RIGHT_LOCATIONS,\n} from \"./constants\";\n\nconst ROUTE_ADMIN_USERS = \"admin/users\";\nconst ROUTE_ADMIN_USER_OVERVIEW = \"admin/users/overview\";\nconst ROUTE_ADMIN_USER_NEW = \"admin/users/new\";\n\nconst DEFAULT_CONFIG = {\n translations: [{ key: \"en\", messages: messagesEn }],\n reducers: [{ key: \"admin\", reducer }],\n \"core.Router\": [\n { path: ROUTE_ADMIN_USERS, component: UsersPage },\n { path: ROUTE_ADMIN_USER_NEW, component: UserPage },\n {\n path: `${ROUTE_ADMIN_USER_OVERVIEW}/:user_id`,\n component: UserPage,\n },\n ],\n \"core.MainMenu\": [{ name: \"AdminMainMenu\", component: AdminMainMenu }],\n refs: [\n { key: \"admin.UserPicker\", ref: UserPicker },\n { key: \"admin.EnrolmentOfficerPicker\", ref: EnrolmentOfficerPicker },\n { key: \"admin.SubstitutionEnrolmentOfficerPicker\", ref: SubstitutionEnrolmentOfficerPicker },\n { key: \"admin.UserRolesPicker\", ref: UserRolesPicker },\n { key: \"admin.UserTypesPicker\", ref: UserTypesPicker },\n {\n key: \"admin.UserPicker.projection\",\n ref: USER_PICKER_PROJECTION,\n },\n { key: \"admin.users\", ref: ROUTE_ADMIN_USERS },\n { key: \"admin.userOverview\", ref: ROUTE_ADMIN_USER_OVERVIEW },\n { key: \"admin.userNew\", ref: ROUTE_ADMIN_USER_NEW },\n { key: \"admin.PaymentPointManagerPicker\", ref: PaymentPointManagerPicker },\n ],\n \"invoice.SubjectAndThirdpartyPicker\": [\n {\n type: \"user\",\n picker: UserPicker,\n pickerProjection: USER_PICKER_PROJECTION,\n },\n ],\n \"admin.MainMenu\": [\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.products\" />,\n icon: <Tune />,\n route: \"/admin/products\",\n id: \"admin.products\",\n filter: (rights) => rights.includes(RIGHT_PRODUCTS),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.healthFacilities\" />,\n icon: <LocalHospital />,\n route: \"/location/healthFacilities\",\n withDivider: true,\n id: \"admin.healthFacilities\",\n filter: (rights) => rights.includes(RIGHT_HEALTHFACILITIES),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.medicalServicesPrices\" />,\n icon: <HealingOutlined />,\n route: \"/medical/pricelists/services\",\n id: \"admin.services\",\n filter: (rights) => rights.includes(RIGHT_PRICELISTMS),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.medicalItemsPrices\" />,\n icon: <LocalPharmacyOutlined />,\n route: \"/medical/pricelists/items\",\n withDivider: true,\n id: \"admin.items\",\n filter: (rights) => rights.includes(RIGHT_PRICELISTMI),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.medicalServices\" />,\n icon: <Healing />,\n route: \"/medical/medicalServices\",\n id: \"admin.medicalServices\",\n filter: (rights) => rights.includes(RIGHT_MEDICALSERVICES),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.medicalItems\" />,\n icon: <LocalPharmacy />,\n route: \"/medical/medicalItems\",\n withDivider: true,\n id: \"admin.medicalItems\",\n filter: (rights) => rights.includes(RIGHT_MEDICALITEMS),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.users\" />,\n icon: <Person />,\n route: \"/admin/users\",\n id: \"admin.users\",\n filter: (rights) => rights.includes(RIGHT_USERS),\n },\n {\n text: <FormattedMessage module=\"admin\" id=\"menu.locations\" />,\n icon: <PinDrop />,\n route: \"/location/locations\",\n id: \"admin.locations\",\n filter: (rights) => rights.includes(RIGHT_LOCATIONS),\n },\n ],\n};\n\nexport const AdminModule = (cfg) => ({ ...DEFAULT_CONFIG, ...cfg });\n"],"names":["RIGHT_PRODUCTS","RIGHT_HEALTHFACILITIES","RIGHT_PRICELISTMS","RIGHT_PRICELISTMI","RIGHT_MEDICALSERVICES","RIGHT_MEDICALITEMS","RIGHT_ENROLMENTOFFICER","RIGHT_CLAIMADMINISTRATOR","RIGHT_LOCATIONS","RIGHT_USERS","RIGHT_USER_ADD","RIGHT_USER_EDIT","RIGHT_USER_DELETE","INTERACTIVE_USER_TYPE","ENROLMENT_OFFICER_USER_TYPE","OFFICER_ROLE_IS_SYSTEM","CLAIM_ADMIN_USER_TYPE","CLAIM_ADMIN_IS_SYSTEM","MODULE_NAME","DEFAULT","RENDER_LAST_NAME_FIRST","EMAIL_REGEX_PATTERN","USER_TYPES","rights","baseTypes","includes","push","ADMIN_MAIN_MENU_CONTRIBUTION_KEY","ADMIN_VOUCHER_MAIN_MENU_CONTRIBUTION_KEY","AdminMainMenu","_Component","props","_this","_classCallCheck","_callSuper","isWorker","modulesManager","getConf","_inherits","_createClass","key","value","render","entries","text","formatMessage","intl","icon","React","createElement","Person","route","id","apply","_toConsumableArray","getContribs","filter","c","length","MainMenuContribution","_extends","header","LocationCity","menuId","Tune","LocalHospital","withDivider","HealingOutlined","LocalPharmacyOutlined","Healing","LocalPharmacy","PinDrop","Component","mapStateToProps","state","core","user","i_user","withModulesManager","injectIntl","connect","addUserType","userType","userTypes","concat","checkRolesAndGetUserTypes","_tempUser$roles","_tempUser$roles2","console","warn","tempUser","initialUserTypes","roles","some","role","isSystem","mapQueriesUserToStore","u","hasLogin","iUser","lastName","otherNames","email","phoneNumber","phone","healthFacility","language","languageId","districts","map","d","location","claimAdmin","_u$email","emailId","birthDate","dob","officer","_u$email2","address","substitutionOfficer","worksTo","officerVillages","x","mapUserValuesToInput","values","_values$substitutionO","_values$officerVillag","input","uuid","decodeId","username","password","healthFacilityId","locationId","r","substitutionOfficerId","villageIds","toggleUserType","type","toggleUserRoles","edited","data","isValid","isEnabled","hasRole","onEditedChanged","roleIsSystem","_edited$roles","_data$role$edges","edges","node","_objectSpread","filteredRoles","tempRole","toggleSwitchButton","hasUserType","setIsEnabled","fetchSubstitutionEOs","dispatch","mm","officerUuid","searchString","villages","fetchSubstitutionEnrolmentOfficers","first","undefined","villagesUuids","village","str","USER_SUMMARY_PROJECTION","DISTRICT_DATA_FETCH_PARAMS","USER_PICKER_PROJECTION","fetchUsers","filters","arguments","restrictHealthFacility","getState","hf","loc","userHealthFacilityFullPath","payload","formatPageQuery","getRef","graphql","fetchUsersSummaries","formatPageQueryWithCount","fetchEnrolmentOfficers","variables","graphqlWithVariables","createUser","clientMutationLabel","mutation","prepareMutation","clientMutationId","operation","updateUser","userId","deleteUser","formatMutation","fetchMutation","fetchUser","join","getProjection","fetchUserMutation","fetchRegionDistricts","parent","fetchDataFromDistrict","districtUuids","fetchObligatoryUserFields","fetchObligatoryEnrolmentOfficerFields","clearDistrictData","usernameValidationCheck","fetchUsernameLength","fetchPasswordPolicy","usernameValidationClear","setUsernameValid","clearUser","userEmailValidationCheck","userEmailValidationClear","setUserEmailValid","saveEmailFormatValidity","isFormatInvalid","styles","theme","dialogTitle","dialog","title","dialogContent","content","form","padding","width","item","spacing","paperDivider","paper","divider","extractLocations","locations","locationsArray","Object","l","region","find","district","municipality","getParentLocation","extractedLocations","newLocation","UserFilter","_defineProperty","locationFilters","selectedDistrict","_debounce","onChangeFilters","k","currentUserType","currentUserRoles","setState","ur","newLocationFilters","forEach","filterDistrict","parentLocation","classes","ControlledField","module","field","Grid","xs","className","TextInput","label","name","filterTextFieldValue","onChange","v","debouncedOnChangeFilter","renderLastNameFirst","_this2","_this$props","_this$state","container","PublishedComponent","pubRef","filterValue","onChangeUserRoles","Fragment","renderLastNameField","renderGivenNameField","FormControlLabel","control","Checkbox","color","checked","event","onChangeCheckbox","target","_state$core$user$i_us","_state$core","_state$core2","savedPagination","withTheme","withStyles","USER_SEARCHER_CONTRIBUTION_KEY","horizontalButtonContainer","buttonContainer","horizontal","UserSearcher","params","defaultParams","aligns","getHeaders","splice","fetchedUserLocation","paramsArray","_this$props$userL0s","regionIds","userL0s","prevState","prms","setRegionIds","keys","contrib","beforeCursor","afterCursor","pageSize","orderBy","isConfirmed","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","fetch","stop","formatters","getUserItem","formatDateFromISO","Tooltip","IconButton","onClick","onDoubleClick","TabIcon","validityTo","disabled","DeleteIcon","_usersPageInfo$totalC","users","usersPageInfo","fetchingUsers","fetchedUsers","errorUsers","cacheFiltersKey","ConfirmDialog","confirm","message","onConfirm","Searcher","FilterPane","items","itemsPageInfo","fetchingItems","fetchedItems","errorItems","contributionKey","tableTitle","formatMessageWithValues","count","totalCount","toString","replace","rowIdentifier","filtersToQueryParams","defaultOrderBy","headers","getAligns","itemFormatters","sorts","getSorts","rowDisabled","_","i","rowLocked","_state$core$i_user$ri","_state$loc$userL0s","admin","usersSummaries","pageInfo","isFetching","fetched","error","mapDispatchToProps","bindActionCreators","page","fab","UsersPage","_len","args","Array","_key","newTab","historyPush","history","clearCurrentPaginationPage","withTooltip","Fab","onAdd","AddIcon","withHistory","footer","marginInline","marginBlock","headerTitle","table","actionCell","groupVillagesByMunicipality","result","_x$parent","_village$parent","entities","_x$parent2","_village$parent2","sort","a","b","_a$parent","_b$parent","EnrolmentVillagesPicker","readOnly","isOfficerPanelEnabled","useDispatch","_useState","useState","_useState2","_slicedToArray","setItems","_useTranslations","useTranslations","pickedDistrictsUuids","savedEOVillages","useSelector","store","_store$admin$user","isUserEdited","_store$admin$user2","_useState3","_useState4","wasEmpty","setWasEmpty","_useSelector","districtMunAndVil","fetchedDistrictMunAndVil","fetchingDistrictMunAndVil","errorDistrictMunAndVil","handleChange","newItems","reduce","acc","onRemoveRow","row","_i$parent","_row$parent","useEffect","onInsertRow","onSelectParent","rowItem","onVillagesChange","createRow","_edges$map","children","edge","savedEntities","entity","createdRow","savedEntity","rescheduleItems","rows","clearItems","executeNewRows","newRows","uniqueRows","filterParents","options","p","_i$parent2","filterVillages","option","createdRows","mun","TableContainer","component","Paper","Table","size","TableHead","TableRow","TableCell","TableBody","ProgressOrError","progress","_item$parent","_item$parent2","code","parentLocations","required","filterOptions","locationLevel","fullWidth","multiple","TableFooter","Button","variant","startIcon","enhance","combine","EnrolmentOfficerFormPanel","_edited$userTypes","_edited$worksTo","_edited$address","hasOfficerUserType","hasOfficerRole","_useGraphqlQuery","useGraphqlQuery","system_id","isLoading","justifyContent","alignItems","Typography","Switch","maxDate","Date","withLabel","withPlaceholder","multiline","ClaimAdministratorFormPanel","hasClaimUserType","hasClaimRole","fullHeight","height","sectionHeader","paddingBottom","sectionTitle","typography","UserMasterPanel","_edited$username","_edited$email","_edited$userTypes2","_edited$userTypes3","_edited$phoneNumber","_edited$districts","_edited$language","obligatoryUserFields","obligatoryEOFields","isUsernameValid","isUsernameValidating","usernameValidationError","isUserEmailValid","isUserEmailValidating","isUserEmailFormatInvalid","emailValidationError","savedUsername","savedUserEmail","usernameLength","passwordPolicy","shouldValidateUsername","inputValue","shouldBeValidated","shouldValidateEmail","checkEmailFormatValidity","emailInput","isEmailInvalid","test","handleEmailChange","isFormatValid","passwordFeedback","setPasswordFeedback","passwordScore","setPasswordScore","_useState5","_useState6","showPassword","setShowPassword","REQUIRED_SECURITY_LEVEL","IS_PASSWORD_SECURED","handleClickShowPassword","show","handleMouseDownPassword","preventDefault","handlePasswordChange","_validatePassword","validatePassword","feedback","score","isPasswordValid","generatePassword","passwordGeneratorOptions","isNumberRequired","isLowerCaseRequired","isUpperCaseRequired","isSpecialSymbolRequired","generatedPassword","passwordGenerator","confirmPassword","_edited$lastName","_edited$otherNames","direction","ValidatedTextInput","itemQueryIdentifier","shouldValidate","isValidating","validationError","action","clearAction","setValidAction","codeTakenLabel","inputProps","invalidValueFormat","restrictedOptions","Divider","withNull","nullLabel","endAdornment","InputAdornment","position","onMouseDown","VisibilityOffIcon","VisibilityIcon","_state$admin$validati","_state$admin$validati2","_state$admin$validati3","_state$admin","_state$admin$validati4","_state$admin$validati5","_state$admin$validati6","_state$admin2","_state$admin$validati7","validationFields","userEmail","userEmailFormat","isInvalid","lockedPage","locked","USER_OVERVIEW_MUTATIONS_KEY","setupState","isLocked","isSaved","reset","UserForm","response","createdUserId","_t","_t2","abrupt","sent","parseData","mutationLogs","coreUser","_user$roles","_user$districts","_user$userTypes","_user$userTypes2","_this$props$obligator","_user$userTypes3","_this$props$obligator2","isUserNameValid","obligatory_user_fields","obligatory_eo_fields","save","confirmedAction","coreConfirm","componentDidMount","componentWillUnmount","componentDidUpdate","prevProps","region_districts","combined","noDuplicates","Map","fetchedUser","submittingMutation","journalize","confirmed","_this$props2","fetchingUser","errorUser","_this$props2$readOnly","add","back","obligatoryEoFields","isInMutation","actions","doIt","reload","ReplayIcon","onlyIfDirty","Helmet","Form","edited_id","openDirty","HeadPanel","Panels","canSave","onActionToConfirm","reg_dst","UserPage","match","now","resetKey","setResetKey","user_id","palette","primary","main","UserPicker","_props$readOnly","_props$required","_props$withLabel","_props$filters","filterSelectedOptions","placeholder","_props$multiple","minCharLookup","setSearchString","open","setOpen","onInputChange","useDebounceCb","__","formatSuggestion","_p$iUser","_p$iUser2","_p$iUser3","_p$iUser4","Boolean","Autocomplete","loadingText","openText","closeText","clearText","openOnFocus","loading","onOpen","onClose","autoComplete","getOptionLabel","getOptionSelected","query","renderInput","TextField","EnrolmentOfficerPicker","enrolmentOfficers","SubstitutionEnrolmentOfficerPicker","_useSelector2","_props$withPlaceholde","substitutionEnrolmentOfficers","handleInputChange","UserRolesPicker","_ref","_data$role$edges$map","_data$role","_ref$multiple","uniqueValues","o","UserTypesPicker","useIntl","ut","fullValue","noOptionsText","e","PaymentPointManagerPicker","_data$users$edges$map","_data$users","paymentPointManagerRoleId","ppm","_ppm$iUser","_ppm$iUser2","roleId","paymentPointManagers","reducer","_action$payload","_action$payload2","_action$payload3","isFetched","dst_mun_vil","formatGraphQLError","meta","formatServerError","_users","fetching_reg_dst","fetched_reg_dst","errorL1s","fetfetched_reg_dstchedL1s","locationsStr","fetching_obligatory_user_fields","fetched_obligatory_user_fields","log","userObligatoryFields","fetching_obligatory_eo_fields","fetched_obligatory_eo_fields","eoObligatoryFields","fetchingUsernameLength","fetchedUsernameLength","errorUsernameLength","fetchingPasswordPolicy","fetchedPasswordPolicy","errorPasswordPolicy","dispatchMutationReq","dispatchMutationErr","dispatchMutationResp","ROUTE_ADMIN_USERS","ROUTE_ADMIN_USER_OVERVIEW","ROUTE_ADMIN_USER_NEW","DEFAULT_CONFIG","translations","messages","messagesEn","reducers","path","refs","ref","picker","pickerProjection","FormattedMessage","AdminModule","cfg"],"mappings":"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"}