diff --git a/client/src/components/contract-form/contract-form.component.jsx b/client/src/components/contract-form/contract-form.component.jsx
index 0486e74c3..9006c9a4b 100644
--- a/client/src/components/contract-form/contract-form.component.jsx
+++ b/client/src/components/contract-form/contract-form.component.jsx
@@ -2,6 +2,7 @@ import { DatePicker, Form, Input, InputNumber } from "antd";
import React from "react";
import { useTranslation } from "react-i18next";
import ContractStatusSelector from "../contract-status-select/contract-status-select.component";
+import FormFieldsChanged from "../form-fields-changed-alert/form-fields-changed-alert.component";
import InputPhone from "../form-items-formatted/phone-form-item.component";
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
@@ -9,6 +10,9 @@ export default function ContractFormComponent({ form }) {
const { t } = useTranslation();
return (
+
+
+
{
form.resetFields();
};
- console.log("form.isFieldsTouched(true)", form.isFieldsTouched([], true));
const loc = useLocation();
return (
@@ -31,7 +30,7 @@ export default function FormsFieldChanged({ form }) {
type="warning"
message={
- {t("general.messages.unsavedchanges")}
+ {t("general.messages.unsavedchanges")}
-
+
diff --git a/client/src/pages/contract-detail/contract-detail.page.container.jsx b/client/src/pages/contract-detail/contract-detail.page.container.jsx
index 798e74525..9082cbe59 100644
--- a/client/src/pages/contract-detail/contract-detail.page.container.jsx
+++ b/client/src/pages/contract-detail/contract-detail.page.container.jsx
@@ -17,6 +17,7 @@ import {
} from "../../redux/application/application.actions";
import ContractDetailPageComponent from "./contract-detail.page.component";
import { CreateRecentItem } from "../../utils/create-recent-item";
+import LoadingSpinner from "../../components/loading-spinner/loading-spinner.component";
const mapDispatchToProps = (dispatch) => ({
setBreadcrumbs: (breadcrumbs) => dispatch(setBreadcrumbs(breadcrumbs)),
@@ -67,18 +68,22 @@ export function ContractDetailPageContainer({ setBreadcrumbs, addRecentItem }) {
);
}, [t, data, error, loading, setBreadcrumbs, addRecentItem, contractId]);
- const handleFinish = (values) => {
- updateContract({
+ const handleFinish = async (values) => {
+ const result = await updateContract({
variables: { cccontract: { ...values }, contractId: contractId },
- })
- .then((response) => {
- notification["success"]({ message: t("contracts.successes.saved") });
- })
- .catch((error) =>
- notification["error"]({
- message: t("contracts.errors.saving", { error: error }),
- })
- );
+ });
+ if (!!result.errors) {
+ notification["error"]({
+ message: t("contracts.errors.saving", {
+ message: JSON.stringify(result.errors),
+ }),
+ });
+ return;
+ }
+ notification["success"]({ message: t("contracts.successes.saved") });
+ if (refetch) await refetch();
+ form.resetFields();
+ form.resetFields();
};
useEffect(() => {
@@ -86,42 +91,41 @@ export function ContractDetailPageContainer({ setBreadcrumbs, addRecentItem }) {
}, [data, form]);
if (error) return ;
+ if (loading) return ;
+
return (
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index 133606835..56aad6cda 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -370,7 +370,7 @@
"edit": "Edit",
"login": "Login",
"refresh": "Refresh",
- "reset": " Reset your changes.",
+ "reset": "Reset your changes.",
"save": "Save",
"saveandnew": "Save and New",
"submit": "Submit",