New way of handling firm initialization

This commit is contained in:
2025-05-06 21:18:07 +02:00
parent 0d337849c7
commit d48edbbf5f
2 changed files with 17 additions and 7 deletions

View File

@@ -3,6 +3,8 @@ import { IFirm } from "../interfaces";
import { useParams } from "react-router"; import { useParams } from "react-router";
import { useOne } from "@refinedev/core"; import { useOne } from "@refinedev/core";
import { CircularProgress } from "@mui/material"; import { CircularProgress } from "@mui/material";
import { FirmInitForm } from "../pages/firm";
import { Header } from "../components";
type FirmContextType = { type FirmContextType = {
currentFirm: IFirm, currentFirm: IFirm,
@@ -19,19 +21,27 @@ export const FirmContextProvider: React.FC<PropsWithChildren> = ({ children }: P
const { data, isError, error, isLoading } = useOne({resource: 'firm', id: `${instance}/${firm}/`, errorNotification: false}); const { data, isError, error, isLoading } = useOne({resource: 'firm', id: `${instance}/${firm}/`, errorNotification: false});
if (instance === undefined || firm === undefined) { if (instance === undefined || firm === undefined) {
return "Error" throw({statusCode: 400});
} }
const currentFirm: IFirm = { instance, firm }
if (isLoading) { if (isLoading) {
return <CircularProgress /> return <CircularProgress />
} }
let value: FirmContextType = { if (isError && error) {
currentFirm: {instance, firm} if (error.statusCode == 405) {
return <><Header /><FirmInitForm currentFirm={currentFirm} /></>
}
if (error.statusCode == 404) {
throw error;
}
} }
if (!isError || error?.statusCode != 405) {
value.currentFirm.entity = data?.data.entity; currentFirm.entity = data?.data.entity;
value.partnerMap = new Map(data?.data.partner_list.map((item: any) => [item.id, item.label])); let value: FirmContextType = {
currentFirm: currentFirm,
partnerMap: new Map(data?.data.partner_list.map((item: any) => [item.id, item.label])),
} }
return ( return (

View File

@@ -55,7 +55,7 @@ type FirmInitFormPros = {
currentFirm: IFirm currentFirm: IFirm
} }
const FirmInitForm = (props: FirmInitFormPros) => { export const FirmInitForm = (props: FirmInitFormPros) => {
const { currentFirm } = props; const { currentFirm } = props;
const { translate: t } = useTranslation(); const { translate: t } = useTranslation();
const resourceBasePath = `firm` const resourceBasePath = `firm`