diff --git a/gui/rpk-gui/src/pages/firm/ContractRoutes.tsx b/gui/rpk-gui/src/pages/firm/ContractRoutes.tsx
new file mode 100644
index 0000000..0573f1b
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/ContractRoutes.tsx
@@ -0,0 +1,39 @@
+import { Route, Routes } from "react-router";
+import React, { useContext } from "react";
+import { FirmContext } from "../../contexts/FirmContext";
+import List from "./base-page/List";
+import Edit from "./base-page/Edit";
+import New from "./base-page/New";
+
+type Contract = {
+ id: string,
+ label: string
+}
+
+export const ContractRoutes = () => {
+ return (
+
+ } />
+ } />
+ } />
+
+ );
+}
+
+const ListContract = () => {
+ const { currentFirm } = useContext(FirmContext);
+ const columns = [
+ { field: "label", headerName: "Label", flex: 1 },
+ ];
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts`} columns={columns} />
+}
+
+const EditContract = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts`} schemaName={"ContractUpdate"} />
+}
+
+const CreateContract = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts`} schemaName={"ContractCreate"} />
+}
diff --git a/gui/rpk-gui/src/pages/firm/DraftRoutes.tsx b/gui/rpk-gui/src/pages/firm/DraftRoutes.tsx
new file mode 100644
index 0000000..7fd0ed2
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/DraftRoutes.tsx
@@ -0,0 +1,39 @@
+import { Route, Routes } from "react-router";
+import React, { useContext } from "react";
+import { FirmContext } from "../../contexts/FirmContext";
+import List from "./base-page/List";
+import Edit from "./base-page/Edit";
+import New from "./base-page/New";
+
+type Draft = {
+ id: string,
+ label: string
+}
+
+export const DraftRoutes = () => {
+ return (
+
+ } />
+ } />
+ } />
+
+ );
+}
+
+const ListDraft = () => {
+ const { currentFirm } = useContext(FirmContext);
+ const columns = [
+ { field: "label", headerName: "Label", flex: 1 },
+ ];
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts/drafts`} columns={columns} />
+}
+
+const EditDraft = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts/drafts`} schemaName={"ContractDraftUpdate"} />
+}
+
+const CreateDraft = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/contracts/drafts`} schemaName={"ContractDraftCreate"} />
+}
diff --git a/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx b/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx
index 09b47ac..5303ded 100644
--- a/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx
+++ b/gui/rpk-gui/src/pages/firm/EntityRoutes.tsx
@@ -2,6 +2,8 @@ import { Route, Routes } from "react-router";
import React, { useContext } from "react";
import { FirmContext } from "../../contexts/FirmContext";
import List from "./base-page/List";
+import Edit from "./base-page/Edit";
+import New from "./base-page/New";
type Entity = {
id: string,
@@ -14,6 +16,8 @@ export const EntityRoutes = () => {
return (
} />
+ } />
+ } />
);
}
@@ -24,5 +28,15 @@ const ListEntity = () => {
{ field: "label", headerName: "Label", flex: 1 },
{ field: "entity_data", headerName: "Type", flex: 1, valueFormatter: ({ type }: {type: string}) => type }
];
- return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/entities/`} columns={columns} />
-}
\ No newline at end of file
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/entities`} columns={columns} />
+}
+
+const EditEntity = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/entities`} schemaName={"EntityUpdate"} />
+}
+
+const CreateEntity = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/entities`} schemaName={"EntityCreate"} />
+}
diff --git a/gui/rpk-gui/src/pages/firm/ProvisionRoutes.tsx b/gui/rpk-gui/src/pages/firm/ProvisionRoutes.tsx
new file mode 100644
index 0000000..eb8f84f
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/ProvisionRoutes.tsx
@@ -0,0 +1,40 @@
+import { Route, Routes } from "react-router";
+import React, { useContext } from "react";
+import { FirmContext } from "../../contexts/FirmContext";
+import List from "./base-page/List";
+import Edit from "./base-page/Edit";
+import New from "./base-page/New";
+
+type Provision = {
+ id: string,
+ label: string,
+}
+
+export const ProvisionRoutes = () => {
+
+ return (
+
+ } />
+ } />
+ } />
+
+ );
+}
+
+const ListProvision = () => {
+ const { currentFirm } = useContext(FirmContext);
+ const columns = [
+ { field: "label", headerName: "Label", flex: 1 },
+ ];
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/provisions`} columns={columns} />
+}
+
+const EditProvision = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/provisions`} schemaName={"ProvisionTemplateUpdate"} />
+}
+
+const CreateProvision = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/provisions`} schemaName={"ProvisionTemplateCreate"} />
+}
diff --git a/gui/rpk-gui/src/pages/firm/TemplateRoutes.tsx b/gui/rpk-gui/src/pages/firm/TemplateRoutes.tsx
new file mode 100644
index 0000000..26b1570
--- /dev/null
+++ b/gui/rpk-gui/src/pages/firm/TemplateRoutes.tsx
@@ -0,0 +1,39 @@
+import { Route, Routes } from "react-router";
+import React, { useContext } from "react";
+import { FirmContext } from "../../contexts/FirmContext";
+import List from "./base-page/List";
+import Edit from "./base-page/Edit";
+import New from "./base-page/New";
+
+type Template = {
+ id: string,
+ label: string,
+}
+
+export const TemplateRoutes = () => {
+ return (
+
+ } />
+ } />
+ } />
+
+ );
+}
+
+const ListTemplate = () => {
+ const { currentFirm } = useContext(FirmContext);
+ const columns = [
+ { field: "label", headerName: "Label", flex: 1 },
+ ];
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/contracts`} columns={columns} />
+}
+
+const EditTemplate = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/contracts`} schemaName={"ContractTemplateUpdate"} />
+}
+
+const CreateTemplate = () => {
+ const { currentFirm } = useContext(FirmContext);
+ return resource={`firm/${currentFirm.instance}/${currentFirm.firm}/templates/contracts`} schemaName={"ContractTemplateCreate"} />
+}
diff --git a/gui/rpk-gui/src/pages/firm/base-page/Card.tsx b/gui/rpk-gui/src/pages/firm/base-page/Edit.tsx
similarity index 80%
rename from gui/rpk-gui/src/pages/firm/base-page/Card.tsx
rename to gui/rpk-gui/src/pages/firm/base-page/Edit.tsx
index c0d2c01..a1bfb0b 100644
--- a/gui/rpk-gui/src/pages/firm/base-page/Card.tsx
+++ b/gui/rpk-gui/src/pages/firm/base-page/Edit.tsx
@@ -2,16 +2,18 @@ import { CrudForm } from "../../../lib/crud/components/crud-form";
import { UiSchema } from "@rjsf/utils";
import { useParams } from "react-router";
-type CardProps = {
+type EditProps = {
resource: string,
schemaName: string,
uiSchema?: UiSchema,
}
-const Card = (props: CardProps) => {
+const Edit = (props: EditProps) => {
const { schemaName, resource, uiSchema } = props;
const { record_id } = useParams();
+ console.log(record_id);
+
return (
{
)
}
-export default Card;
+export default Edit;
diff --git a/gui/rpk-gui/src/pages/firm/base-page/List.tsx b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
index cd34c97..957a868 100644
--- a/gui/rpk-gui/src/pages/firm/base-page/List.tsx
+++ b/gui/rpk-gui/src/pages/firm/base-page/List.tsx
@@ -1,7 +1,9 @@
import { UiSchema } from "@rjsf/utils";
import { List as RefineList, useDataGrid } from "@refinedev/mui";
import { DataGrid, GridColDef, GridValidRowModel } from "@mui/x-data-grid";
+import { Link, useNavigate } from "react-router"
import React from "react";
+import { Button } from "@mui/material";
type ListProps = {
resource: string,
@@ -13,16 +15,26 @@ type ListProps = {
const List = (props: ListProps) => {
const { schemaName, resource, uiSchema, columns } = props;
const { dataGridProps } = useDataGrid({resource: resource});
+ const navigate = useNavigate();
const cols = React.useMemo[]>(
() => columns,
[],
);
+
+ const handleRowClick = (params: any, event: any) => {
+ navigate(`edit/${params.id}`)
+ }
+
return (
-
-
+
+
+
+
+
)
}
diff --git a/gui/rpk-gui/src/pages/firm/base-page/New.tsx b/gui/rpk-gui/src/pages/firm/base-page/New.tsx
index 37de6d3..1c855c4 100644
--- a/gui/rpk-gui/src/pages/firm/base-page/New.tsx
+++ b/gui/rpk-gui/src/pages/firm/base-page/New.tsx
@@ -7,7 +7,7 @@ type NewProps = {
uiSchema?: UiSchema,
}
-const New = (props: NewProps) => {
+const New = (props: NewProps) => {
const { schemaName, resource, uiSchema } = props;
return (
diff --git a/gui/rpk-gui/src/pages/firm/index.tsx b/gui/rpk-gui/src/pages/firm/index.tsx
index 86e7b67..184d6b1 100644
--- a/gui/rpk-gui/src/pages/firm/index.tsx
+++ b/gui/rpk-gui/src/pages/firm/index.tsx
@@ -6,22 +6,28 @@ import { useOne } from "@refinedev/core";
import { CrudForm } from "../../lib/crud/components/crud-form";
import { IFirm } from "../../interfaces";
import { EntityRoutes } from "./EntityRoutes";
+import { ContractRoutes } from "./ContractRoutes";
+import { DraftRoutes } from "./DraftRoutes";
+import { TemplateRoutes } from "./TemplateRoutes";
+import { ProvisionRoutes } from "./ProvisionRoutes";
export const FirmRoutes = () => {
return (
- <>
-
-
-
-
- } />
- } />
-
-
- } />
-
- >
+
+
+
+
+ } />
+ } />
+ } />
+ } />
+ } />
+ } />
+
+
+ } />
+
);
}
@@ -42,6 +48,10 @@ const FirmHome = () => {
This is la firme {currentFirm.instance} / {currentFirm.firm}
- Entitées
+ - Templates de Clauses
+ - Templates de Contrats
+ - Brouillons
+ - Contrats
>
@@ -67,4 +77,4 @@ const FirmInitForm = (props: FirmInitFormPros) => {
/>
>
)
-}
\ No newline at end of file
+}
diff --git a/gui/rpk-gui/src/pages/hub/index.tsx b/gui/rpk-gui/src/pages/hub/index.tsx
index 2c2930e..0aee18b 100644
--- a/gui/rpk-gui/src/pages/hub/index.tsx
+++ b/gui/rpk-gui/src/pages/hub/index.tsx
@@ -22,7 +22,7 @@ export const HubRoutes = () => {
const HubHome = () => {
const { data: user } = useGetIdentity();
- const { data: list } = useList({resource: "hub/users/firms/", pagination: { mode: "off" }}, )
+ const { data: list } = useList({resource: "hub/users/firms", pagination: { mode: "off" }}, )
if (user === undefined || user === null || list === undefined) {
return Loading
;
}
diff --git a/gui/rpk-gui/src/providers/data-provider.tsx b/gui/rpk-gui/src/providers/data-provider.tsx
index 4259c30..312d984 100644
--- a/gui/rpk-gui/src/providers/data-provider.tsx
+++ b/gui/rpk-gui/src/providers/data-provider.tsx
@@ -66,7 +66,7 @@ export const dataProvider: DataProvider = {
});
}
- const response = await fetch(`${API_URL}/${resource}?${params.toString()}`);
+ const response = await fetch(`${API_URL}/${resource}/?${params.toString()}`);
if (response.status < 200 || response.status > 299) {
if (response.status == 405) {