IO-899 WIP CC Improvements
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<babeledit_project version="1.2" be_version="2.7.1">
|
<babeledit_project be_version="2.7.1" version="1.2">
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
BabelEdit project file
|
BabelEdit project file
|
||||||
@@ -7876,6 +7876,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>damage</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>damagewaiver</name>
|
<name>damagewaiver</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -8469,6 +8490,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>cardueforservice</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<folder_node>
|
<folder_node>
|
||||||
<name>convertform</name>
|
<name>convertform</name>
|
||||||
<children>
|
<children>
|
||||||
@@ -8537,6 +8579,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>dlexpirebeforereturn</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>driverinformation</name>
|
<name>driverinformation</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -9564,6 +9627,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>uniquefleet</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>usage</name>
|
<name>usage</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { alphaSort } from "../../utils/sorters";
|
|||||||
export default function ContractsCarsComponent({
|
export default function ContractsCarsComponent({
|
||||||
loading,
|
loading,
|
||||||
data,
|
data,
|
||||||
selectedCar,
|
selectedCarId,
|
||||||
handleSelect,
|
handleSelect,
|
||||||
}) {
|
}) {
|
||||||
const [state, setState] = useState({
|
const [state, setState] = useState({
|
||||||
@@ -117,7 +117,7 @@ export default function ContractsCarsComponent({
|
|||||||
rowSelection={{
|
rowSelection={{
|
||||||
onSelect: handleSelect,
|
onSelect: handleSelect,
|
||||||
type: "radio",
|
type: "radio",
|
||||||
selectedRowKeys: [selectedCar],
|
selectedRowKeys: [selectedCarId],
|
||||||
}}
|
}}
|
||||||
onRow={(record, rowIndex) => {
|
onRow={(record, rowIndex) => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -13,12 +13,13 @@ export default function ContractCarsContainer({ selectedCarState, form }) {
|
|||||||
const [selectedCar, setSelectedCar] = selectedCarState;
|
const [selectedCar, setSelectedCar] = selectedCarState;
|
||||||
|
|
||||||
const handleSelect = (record) => {
|
const handleSelect = (record) => {
|
||||||
setSelectedCar(record.id);
|
setSelectedCar(record);
|
||||||
|
|
||||||
form.setFieldsValue({
|
form.setFieldsValue({
|
||||||
kmstart: record.mileage,
|
kmstart: record.mileage,
|
||||||
dailyrate: record.dailycost,
|
dailyrate: record.dailycost,
|
||||||
fuelout: record.fuel,
|
fuelout: record.fuel,
|
||||||
|
damage: record.damage,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -26,7 +27,7 @@ export default function ContractCarsContainer({ selectedCarState, form }) {
|
|||||||
return (
|
return (
|
||||||
<ContractCarsComponent
|
<ContractCarsComponent
|
||||||
handleSelect={handleSelect}
|
handleSelect={handleSelect}
|
||||||
selectedCar={selectedCar}
|
selectedCarId={selectedCar && selectedCar.id}
|
||||||
loading={loading}
|
loading={loading}
|
||||||
data={data ? data.courtesycars : []}
|
data={data ? data.courtesycars : []}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import { Form, Input, InputNumber, Space } from "antd";
|
import { Form, Input, InputNumber, Space } from "antd";
|
||||||
|
import { WarningFilled } from "@ant-design/icons";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import ContractLicenseDecodeButton from "../contract-license-decode-button/contract-license-decode-button.component";
|
import ContractLicenseDecodeButton from "../contract-license-decode-button/contract-license-decode-button.component";
|
||||||
@@ -12,11 +13,15 @@ import InputPhone, {
|
|||||||
} from "../form-items-formatted/phone-form-item.component";
|
} from "../form-items-formatted/phone-form-item.component";
|
||||||
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
||||||
import ContractFormJobPrefill from "./contract-form-job-prefill.component";
|
import ContractFormJobPrefill from "./contract-form-job-prefill.component";
|
||||||
|
import FormDateTimePicker from "../form-date-time-picker/form-date-time-picker.component";
|
||||||
|
import moment from "moment";
|
||||||
|
import { DateFormatter } from "../../utils/DateFormatter";
|
||||||
|
|
||||||
export default function ContractFormComponent({
|
export default function ContractFormComponent({
|
||||||
form,
|
form,
|
||||||
create = false,
|
create = false,
|
||||||
selectedJobState,
|
selectedJobState,
|
||||||
|
selectedCar,
|
||||||
}) {
|
}) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
return (
|
return (
|
||||||
@@ -48,24 +53,24 @@ export default function ContractFormComponent({
|
|||||||
},
|
},
|
||||||
]}
|
]}
|
||||||
>
|
>
|
||||||
<FormDatePicker />
|
<FormDateTimePicker />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("contracts.fields.scheduledreturn")}
|
label={t("contracts.fields.scheduledreturn")}
|
||||||
name="scheduledreturn"
|
name="scheduledreturn"
|
||||||
>
|
>
|
||||||
<FormDatePicker />
|
<FormDateTimePicker />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{create ? null : (
|
{create ? null : (
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("contracts.fields.actualreturn")}
|
label={t("contracts.fields.actualreturn")}
|
||||||
name="actualreturn"
|
name="actualreturn"
|
||||||
>
|
>
|
||||||
<FormDatePicker />
|
<FormDateTimePicker />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)}
|
)}
|
||||||
</LayoutFormRow>
|
</LayoutFormRow>
|
||||||
<LayoutFormRow>
|
<LayoutFormRow grow>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("contracts.fields.kmstart")}
|
label={t("contracts.fields.kmstart")}
|
||||||
name="kmstart"
|
name="kmstart"
|
||||||
@@ -78,11 +83,54 @@ export default function ContractFormComponent({
|
|||||||
>
|
>
|
||||||
<InputNumber />
|
<InputNumber />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
{create && (
|
||||||
|
<Form.Item
|
||||||
|
shouldUpdate={(p, c) =>
|
||||||
|
p.kmstart !== c.kmstart || p.scheduledreturn !== c.scheduledreturn
|
||||||
|
}
|
||||||
|
>
|
||||||
|
{() => {
|
||||||
|
const mileageOver =
|
||||||
|
selectedCar &&
|
||||||
|
selectedCar.nextservicekm <= form.getFieldValue("kmstart");
|
||||||
|
|
||||||
|
const dueForService =
|
||||||
|
selectedCar &&
|
||||||
|
selectedCar.nextservicedate &&
|
||||||
|
moment(selectedCar.nextservicedate).isBefore(
|
||||||
|
moment(form.getFieldValue("scheduledreturn"))
|
||||||
|
);
|
||||||
|
console.log(`dueForService`, dueForService);
|
||||||
|
if (mileageOver || dueForService)
|
||||||
|
return (
|
||||||
|
<Space direction="vertical" style={{ color: "tomato" }}>
|
||||||
|
<span>
|
||||||
|
<WarningFilled style={{ marginRight: ".3rem" }} />
|
||||||
|
{t("contracts.labels.cardueforservice")}
|
||||||
|
</span>
|
||||||
|
<span>{`${
|
||||||
|
selectedCar && selectedCar.nextservicekm
|
||||||
|
} km`}</span>
|
||||||
|
<span>
|
||||||
|
<DateFormatter>
|
||||||
|
{selectedCar && selectedCar.nextservicedate}
|
||||||
|
</DateFormatter>
|
||||||
|
</span>
|
||||||
|
</Space>
|
||||||
|
);
|
||||||
|
|
||||||
|
return <></>;
|
||||||
|
}}
|
||||||
|
</Form.Item>
|
||||||
|
)}
|
||||||
{create ? null : (
|
{create ? null : (
|
||||||
<Form.Item label={t("contracts.fields.kmend")} name="kmend">
|
<Form.Item label={t("contracts.fields.kmend")} name="kmend">
|
||||||
<InputNumber />
|
<InputNumber />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)}
|
)}
|
||||||
|
<Form.Item label={t("contracts.fields.damage")} name="damage">
|
||||||
|
<Input.TextArea />
|
||||||
|
</Form.Item>
|
||||||
</LayoutFormRow>
|
</LayoutFormRow>
|
||||||
<LayoutFormRow>
|
<LayoutFormRow>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
@@ -135,27 +183,42 @@ export default function ContractFormComponent({
|
|||||||
<Input />
|
<Input />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("contracts.fields.driver_dlexpiry")}
|
shouldUpdate={(p, c) =>
|
||||||
name="driver_dlexpiry"
|
p.driver_dlexpiry !== c.driver_dlexpiry ||
|
||||||
rules={[
|
p.scheduledreturn !== c.scheduledreturn
|
||||||
{
|
}
|
||||||
required: true,
|
|
||||||
message: t("general.validation.required"),
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
>
|
>
|
||||||
<FormDatePicker />
|
{() => {
|
||||||
|
const dlExpiresBeforeReturn = moment(
|
||||||
|
form.getFieldValue("driver_dlexpiry")
|
||||||
|
).isBefore(moment(form.getFieldValue("scheduledreturn")));
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Form.Item
|
||||||
|
label={t("contracts.fields.driver_dlexpiry")}
|
||||||
|
name="driver_dlexpiry"
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: t("general.validation.required"),
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<FormDatePicker />
|
||||||
|
</Form.Item>
|
||||||
|
{dlExpiresBeforeReturn && (
|
||||||
|
<Space style={{ color: "tomato" }}>
|
||||||
|
<WarningFilled />
|
||||||
|
<span>{t("contracts.labels.dlexpirebeforereturn")}</span>
|
||||||
|
</Space>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
|
||||||
label={t("contracts.fields.driver_dlst")}
|
<Form.Item label={t("contracts.fields.driver_dlst")} name="driver_dlst">
|
||||||
name="driver_dlst"
|
|
||||||
rules={[
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: t("general.validation.required"),
|
|
||||||
},
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<Input />
|
<Input />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
|
|||||||
@@ -149,9 +149,7 @@ export default function CourtesyCarCreateFormComponent({ form, saveLoading }) {
|
|||||||
) {
|
) {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
return Promise.reject(
|
return Promise.reject(t("courtesycars.labels.uniquefleet"));
|
||||||
t("vendors.validation.unique_vendor_name")
|
|
||||||
);
|
|
||||||
} else {
|
} else {
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ export const INSERT_NEW_CONTRACT = gql`
|
|||||||
mutation INSERT_NEW_CONTRACT(
|
mutation INSERT_NEW_CONTRACT(
|
||||||
$contract: [cccontracts_insert_input!]!
|
$contract: [cccontracts_insert_input!]!
|
||||||
$ccId: uuid!
|
$ccId: uuid!
|
||||||
|
$damage: String
|
||||||
|
$mileage: numeric
|
||||||
) {
|
) {
|
||||||
insert_cccontracts(objects: $contract) {
|
insert_cccontracts(objects: $contract) {
|
||||||
returning {
|
returning {
|
||||||
@@ -12,10 +14,16 @@ export const INSERT_NEW_CONTRACT = gql`
|
|||||||
}
|
}
|
||||||
update_courtesycars_by_pk(
|
update_courtesycars_by_pk(
|
||||||
pk_columns: { id: $ccId }
|
pk_columns: { id: $ccId }
|
||||||
_set: { status: "courtesycars.status.out" }
|
_set: {
|
||||||
|
status: "courtesycars.status.out"
|
||||||
|
mileage: $mileage
|
||||||
|
damage: $damage
|
||||||
|
}
|
||||||
) {
|
) {
|
||||||
status
|
status
|
||||||
id
|
id
|
||||||
|
damage
|
||||||
|
mileage
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
@@ -88,6 +96,7 @@ export const QUERY_CONTRACT_BY_PK = gql`
|
|||||||
coverage
|
coverage
|
||||||
fuelin
|
fuelin
|
||||||
fuelout
|
fuelout
|
||||||
|
damage
|
||||||
job {
|
job {
|
||||||
id
|
id
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,9 @@ export const QUERY_AVAILABLE_CC = gql`
|
|||||||
year
|
year
|
||||||
dailycost
|
dailycost
|
||||||
mileage
|
mileage
|
||||||
|
notes
|
||||||
|
nextservicekm
|
||||||
|
nextservicedate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ export default function ContractCreatePageComponent({
|
|||||||
create
|
create
|
||||||
form={form}
|
form={form}
|
||||||
selectedJobState={selectedJobState}
|
selectedJobState={selectedJobState}
|
||||||
|
selectedCar={selectedCarState[0]}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Col>
|
</Col>
|
||||||
|
|||||||
@@ -38,37 +38,40 @@ export function ContractCreatePageContainer({
|
|||||||
);
|
);
|
||||||
const [insertContract] = useMutation(INSERT_NEW_CONTRACT);
|
const [insertContract] = useMutation(INSERT_NEW_CONTRACT);
|
||||||
|
|
||||||
const handleFinish = (values) => {
|
const handleFinish = async (values) => {
|
||||||
if (!!selectedCarState[0] && !!selectedJobState[0]) {
|
if (!!selectedCarState[0] && !!selectedJobState[0]) {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
insertContract({
|
const result = await insertContract({
|
||||||
variables: {
|
variables: {
|
||||||
ccId: selectedCarState[0],
|
ccId: selectedCarState[0].id,
|
||||||
|
damage: values.damage,
|
||||||
|
mileage: values.kmstart,
|
||||||
contract: {
|
contract: {
|
||||||
...values,
|
...values,
|
||||||
status: "contracts.status.out",
|
status: "contracts.status.out",
|
||||||
courtesycarid: selectedCarState[0],
|
courtesycarid: selectedCarState[0].id,
|
||||||
jobid: selectedJobState[0],
|
jobid: selectedJobState[0],
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
.then((response) => {
|
if (!result.errors) {
|
||||||
notification["success"]({
|
//Update the courtesy car to have the damage.
|
||||||
message: t("contracts.successes.saved"),
|
notification["success"]({
|
||||||
});
|
message: t("contracts.successes.saved"),
|
||||||
form.resetFields();
|
});
|
||||||
form.resetFields();
|
|
||||||
history.push(
|
form.resetFields();
|
||||||
`/manage/courtesycars/contracts/${response.data.insert_cccontracts.returning[0].id}`
|
form.resetFields();
|
||||||
);
|
history.push(
|
||||||
})
|
`/manage/courtesycars/contracts/${result.data.insert_cccontracts.returning[0].id}`
|
||||||
.catch((error) =>
|
|
||||||
notification["error"]({
|
|
||||||
message: t("contracts.errors.saving", {
|
|
||||||
error: JSON.stringify(error),
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
notification["error"]({
|
||||||
|
message: t("contracts.errors.saving", {
|
||||||
|
error: JSON.stringify(!result.errors),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
notification["error"]({
|
notification["error"]({
|
||||||
message: t("contracts.errors.selectjobandcar"),
|
message: t("contracts.errors.selectjobandcar"),
|
||||||
|
|||||||
@@ -501,6 +501,7 @@
|
|||||||
"coverage": "Coverage",
|
"coverage": "Coverage",
|
||||||
"dailyfreekm": "Daily Free Mileage",
|
"dailyfreekm": "Daily Free Mileage",
|
||||||
"dailyrate": "Daily Rate",
|
"dailyrate": "Daily Rate",
|
||||||
|
"damage": "Existing Damage",
|
||||||
"damagewaiver": "Damage Waiver",
|
"damagewaiver": "Damage Waiver",
|
||||||
"driver": "Driver",
|
"driver": "Driver",
|
||||||
"driver_addr1": "Driver Address 1",
|
"driver_addr1": "Driver Address 1",
|
||||||
@@ -531,11 +532,13 @@
|
|||||||
"labels": {
|
"labels": {
|
||||||
"agreement": "Agreement {{agreement_num}} - {{status}}",
|
"agreement": "Agreement {{agreement_num}} - {{status}}",
|
||||||
"availablecars": "Available Cars",
|
"availablecars": "Available Cars",
|
||||||
|
"cardueforservice": "The courtesy car is due for servicing.",
|
||||||
"convertform": {
|
"convertform": {
|
||||||
"applycleanupcharge": "Apply cleanup charge?",
|
"applycleanupcharge": "Apply cleanup charge?",
|
||||||
"refuelqty": "Refuel qty.?"
|
"refuelqty": "Refuel qty.?"
|
||||||
},
|
},
|
||||||
"correctdataonform": "Please review the information above. If any of it is not correct, you can fix it later.",
|
"correctdataonform": "Please review the information above. If any of it is not correct, you can fix it later.",
|
||||||
|
"dlexpirebeforereturn": "The driver's license expires before the car is expected to return. ",
|
||||||
"driverinformation": "Driver's Information",
|
"driverinformation": "Driver's Information",
|
||||||
"noteconvertedfrom": "R.O. created from converted Courtesy Car Contract {{agreementnumber}}.",
|
"noteconvertedfrom": "R.O. created from converted Courtesy Car Contract {{agreementnumber}}.",
|
||||||
"populatefromjob": "Populate from Job",
|
"populatefromjob": "Populate from Job",
|
||||||
@@ -599,6 +602,7 @@
|
|||||||
"outwith": "Out With",
|
"outwith": "Out With",
|
||||||
"return": "Return Courtesy Car",
|
"return": "Return Courtesy Car",
|
||||||
"status": "Status",
|
"status": "Status",
|
||||||
|
"uniquefleet": "Enter a unique fleet number.",
|
||||||
"usage": "Usage",
|
"usage": "Usage",
|
||||||
"vehicle": "Vehicle Description"
|
"vehicle": "Vehicle Description"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -501,6 +501,7 @@
|
|||||||
"coverage": "",
|
"coverage": "",
|
||||||
"dailyfreekm": "",
|
"dailyfreekm": "",
|
||||||
"dailyrate": "",
|
"dailyrate": "",
|
||||||
|
"damage": "",
|
||||||
"damagewaiver": "",
|
"damagewaiver": "",
|
||||||
"driver": "",
|
"driver": "",
|
||||||
"driver_addr1": "",
|
"driver_addr1": "",
|
||||||
@@ -531,11 +532,13 @@
|
|||||||
"labels": {
|
"labels": {
|
||||||
"agreement": "",
|
"agreement": "",
|
||||||
"availablecars": "",
|
"availablecars": "",
|
||||||
|
"cardueforservice": "",
|
||||||
"convertform": {
|
"convertform": {
|
||||||
"applycleanupcharge": "",
|
"applycleanupcharge": "",
|
||||||
"refuelqty": ""
|
"refuelqty": ""
|
||||||
},
|
},
|
||||||
"correctdataonform": "",
|
"correctdataonform": "",
|
||||||
|
"dlexpirebeforereturn": "",
|
||||||
"driverinformation": "",
|
"driverinformation": "",
|
||||||
"noteconvertedfrom": "",
|
"noteconvertedfrom": "",
|
||||||
"populatefromjob": "",
|
"populatefromjob": "",
|
||||||
@@ -599,6 +602,7 @@
|
|||||||
"outwith": "",
|
"outwith": "",
|
||||||
"return": "",
|
"return": "",
|
||||||
"status": "",
|
"status": "",
|
||||||
|
"uniquefleet": "",
|
||||||
"usage": "",
|
"usage": "",
|
||||||
"vehicle": ""
|
"vehicle": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -501,6 +501,7 @@
|
|||||||
"coverage": "",
|
"coverage": "",
|
||||||
"dailyfreekm": "",
|
"dailyfreekm": "",
|
||||||
"dailyrate": "",
|
"dailyrate": "",
|
||||||
|
"damage": "",
|
||||||
"damagewaiver": "",
|
"damagewaiver": "",
|
||||||
"driver": "",
|
"driver": "",
|
||||||
"driver_addr1": "",
|
"driver_addr1": "",
|
||||||
@@ -531,11 +532,13 @@
|
|||||||
"labels": {
|
"labels": {
|
||||||
"agreement": "",
|
"agreement": "",
|
||||||
"availablecars": "",
|
"availablecars": "",
|
||||||
|
"cardueforservice": "",
|
||||||
"convertform": {
|
"convertform": {
|
||||||
"applycleanupcharge": "",
|
"applycleanupcharge": "",
|
||||||
"refuelqty": ""
|
"refuelqty": ""
|
||||||
},
|
},
|
||||||
"correctdataonform": "",
|
"correctdataonform": "",
|
||||||
|
"dlexpirebeforereturn": "",
|
||||||
"driverinformation": "",
|
"driverinformation": "",
|
||||||
"noteconvertedfrom": "",
|
"noteconvertedfrom": "",
|
||||||
"populatefromjob": "",
|
"populatefromjob": "",
|
||||||
@@ -599,6 +602,7 @@
|
|||||||
"outwith": "",
|
"outwith": "",
|
||||||
"return": "",
|
"return": "",
|
||||||
"status": "",
|
"status": "",
|
||||||
|
"uniquefleet": "",
|
||||||
"usage": "",
|
"usage": "",
|
||||||
"vehicle": ""
|
"vehicle": ""
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: false
|
||||||
|
read_only: false
|
||||||
|
sql: ALTER TABLE "public"."cccontracts" DROP COLUMN "damage";
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: false
|
||||||
|
read_only: false
|
||||||
|
sql: ALTER TABLE "public"."cccontracts" ADD COLUMN "damage" text NULL;
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_insert_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
check:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_insert_permission
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_insert_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
check:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damage
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_insert_permission
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_select_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
allow_aggregations: true
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
computed_fields: []
|
||||||
|
filter:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_select_permission
|
||||||
@@ -0,0 +1,65 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_select_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
allow_aggregations: true
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damage
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
computed_fields: []
|
||||||
|
filter:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_select_permission
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_update_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
filter:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_update_permission
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: drop_update_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
columns:
|
||||||
|
- actax
|
||||||
|
- actualreturn
|
||||||
|
- agreementnumber
|
||||||
|
- cleanupcharge
|
||||||
|
- contract_date
|
||||||
|
- courtesycarid
|
||||||
|
- coverage
|
||||||
|
- created_at
|
||||||
|
- dailyfreekm
|
||||||
|
- dailyrate
|
||||||
|
- damage
|
||||||
|
- damagewaiver
|
||||||
|
- driver_addr1
|
||||||
|
- driver_addr2
|
||||||
|
- driver_city
|
||||||
|
- driver_dlexpiry
|
||||||
|
- driver_dlnumber
|
||||||
|
- driver_dlst
|
||||||
|
- driver_dob
|
||||||
|
- driver_fn
|
||||||
|
- driver_ln
|
||||||
|
- driver_ph1
|
||||||
|
- driver_state
|
||||||
|
- driver_zip
|
||||||
|
- excesskmrate
|
||||||
|
- federaltax
|
||||||
|
- fuelin
|
||||||
|
- fuelout
|
||||||
|
- id
|
||||||
|
- jobid
|
||||||
|
- kmend
|
||||||
|
- kmstart
|
||||||
|
- localtax
|
||||||
|
- refuelcharge
|
||||||
|
- scheduledreturn
|
||||||
|
- start
|
||||||
|
- statetax
|
||||||
|
- status
|
||||||
|
- updated_at
|
||||||
|
filter:
|
||||||
|
courtesycar:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: cccontracts
|
||||||
|
schema: public
|
||||||
|
type: create_update_permission
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: false
|
||||||
|
read_only: false
|
||||||
|
sql: ALTER TABLE "public"."cccontracts" ALTER COLUMN "driver_dlst" SET NOT NULL;
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: false
|
||||||
|
read_only: false
|
||||||
|
sql: ALTER TABLE "public"."cccontracts" ALTER COLUMN "driver_dlst" DROP NOT NULL;
|
||||||
|
type: run_sql
|
||||||
@@ -892,6 +892,7 @@ tables:
|
|||||||
- created_at
|
- created_at
|
||||||
- dailyfreekm
|
- dailyfreekm
|
||||||
- dailyrate
|
- dailyrate
|
||||||
|
- damage
|
||||||
- damagewaiver
|
- damagewaiver
|
||||||
- driver_addr1
|
- driver_addr1
|
||||||
- driver_addr2
|
- driver_addr2
|
||||||
@@ -934,6 +935,7 @@ tables:
|
|||||||
- created_at
|
- created_at
|
||||||
- dailyfreekm
|
- dailyfreekm
|
||||||
- dailyrate
|
- dailyrate
|
||||||
|
- damage
|
||||||
- damagewaiver
|
- damagewaiver
|
||||||
- driver_addr1
|
- driver_addr1
|
||||||
- driver_addr2
|
- driver_addr2
|
||||||
@@ -987,6 +989,7 @@ tables:
|
|||||||
- created_at
|
- created_at
|
||||||
- dailyfreekm
|
- dailyfreekm
|
||||||
- dailyrate
|
- dailyrate
|
||||||
|
- damage
|
||||||
- damagewaiver
|
- damagewaiver
|
||||||
- driver_addr1
|
- driver_addr1
|
||||||
- driver_addr2
|
- driver_addr2
|
||||||
|
|||||||
Reference in New Issue
Block a user