@@ -15410,6 +15410,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>driveable</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>
|
||||
<name>employee_body</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -18029,6 +18050,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>towin</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>
|
||||
<name>towing_payable</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -22505,6 +22547,32 @@
|
||||
</concept_node>
|
||||
</children>
|
||||
</folder_node>
|
||||
<folder_node>
|
||||
<name>errors</name>
|
||||
<children>
|
||||
<concept_node>
|
||||
<name>invalidphone</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>
|
||||
</children>
|
||||
</folder_node>
|
||||
<folder_node>
|
||||
<name>labels</name>
|
||||
<children>
|
||||
@@ -25377,6 +25445,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>estimate</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>
|
||||
<name>estimate_detail</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -25440,6 +25529,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>glass_express_checklist</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>
|
||||
<name>invoice_customer_payable</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
@@ -25503,6 +25613,27 @@
|
||||
</translation>
|
||||
</translations>
|
||||
</concept_node>
|
||||
<concept_node>
|
||||
<name>parts_list</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>
|
||||
<name>parts_order</name>
|
||||
<definition_loaded>false</definition_loaded>
|
||||
|
||||
1830
client/package-lock.json
generated
1830
client/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -33,7 +33,7 @@
|
||||
"prop-types": "^15.7.2",
|
||||
"query-string": "^6.14.0",
|
||||
"react": "^17.0.1",
|
||||
"react-big-calendar": "^0.30.0",
|
||||
"react-big-calendar": "^0.32.0",
|
||||
"react-color": "^2.19.3",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-drag-listview": "^0.1.8",
|
||||
@@ -41,7 +41,6 @@
|
||||
"react-i18next": "^11.8.7",
|
||||
"react-icons": "^4.2.0",
|
||||
"react-number-format": "^4.4.4",
|
||||
"react-phone-input-2": "^2.13.9",
|
||||
"react-redux": "^7.2.2",
|
||||
"react-resizable": "^1.11.0",
|
||||
"react-router-dom": "^5.2.0",
|
||||
|
||||
@@ -1,17 +1,33 @@
|
||||
import { MessageFilled } from "@ant-design/icons";
|
||||
import { notification } from "antd";
|
||||
import parsePhoneNumber from "libphonenumber-js";
|
||||
import React from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import { openChatByPhone } from "../../redux/messaging/messaging.actions";
|
||||
|
||||
const mapDispatchToProps = (dispatch) => ({
|
||||
openChatByPhone: (phone) => dispatch(openChatByPhone(phone)),
|
||||
});
|
||||
|
||||
export function ChatOpenButton({ phone, jobid, openChatByPhone }) {
|
||||
const { t } = useTranslation();
|
||||
return (
|
||||
<MessageFilled
|
||||
style={{ margin: 4 }}
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
openChatByPhone({ phone_num: phone, jobid: jobid });
|
||||
const p = parsePhoneNumber(phone, "CA");
|
||||
console.log(
|
||||
"🚀 ~ file: chat-open-button.component.jsx ~ line 21 ~ p",
|
||||
p
|
||||
);
|
||||
|
||||
if (p && p.isValid()) {
|
||||
openChatByPhone({ phone_num: p.formatInternational(), jobid: jobid });
|
||||
} else {
|
||||
notification["error"]({ message: t("messaging.error.invalidphone") });
|
||||
}
|
||||
}}
|
||||
/>
|
||||
);
|
||||
|
||||
@@ -1,16 +1,62 @@
|
||||
import { InputNumber } from "antd";
|
||||
import React, { forwardRef } from "react";
|
||||
function FormItemCurrency(props, ref) {
|
||||
import React from "react";
|
||||
|
||||
// const locale = "en-us";
|
||||
// const currencyFormatter = (value) => {
|
||||
// return new Intl.NumberFormat(locale, {
|
||||
// style: "currency",
|
||||
// currency: "CAD",
|
||||
// }).format(value);
|
||||
// };
|
||||
|
||||
// const currencyParser = (val) => {
|
||||
// try {
|
||||
// // for when the input gets clears
|
||||
// if (typeof val === "string" && !val.length) {
|
||||
// val = "0.0";
|
||||
// }
|
||||
|
||||
// // detecting and parsing between comma and dot
|
||||
// var group = new Intl.NumberFormat(locale).format(1111).replace(/1/g, "");
|
||||
// var decimal = new Intl.NumberFormat(locale).format(1.1).replace(/1/g, "");
|
||||
// var reversedVal = val.replace(new RegExp("\\" + group, "g"), "");
|
||||
// reversedVal = reversedVal.replace(new RegExp("\\" + decimal, "g"), ".");
|
||||
// // => 1232.21 €
|
||||
|
||||
// // removing everything except the digits and dot
|
||||
// reversedVal = reversedVal.replace(/[^0-9.]/g, "");
|
||||
// // => 1232.21
|
||||
|
||||
// // appending digits properly
|
||||
// const digitsAfterDecimalCount = (reversedVal.split(".")[1] || []).length;
|
||||
// const needsDigitsAppended = digitsAfterDecimalCount > 2;
|
||||
|
||||
// if (needsDigitsAppended) {
|
||||
// reversedVal = reversedVal * Math.pow(10, digitsAfterDecimalCount - 2);
|
||||
// }
|
||||
|
||||
// return Number.isNaN(reversedVal) ? 0 : reversedVal;
|
||||
// } catch (error) {
|
||||
// console.error(error);
|
||||
// }
|
||||
// };
|
||||
|
||||
export default function FormItemCurrency(props) {
|
||||
return (
|
||||
<InputNumber
|
||||
{...props}
|
||||
ref={ref}
|
||||
style={{ width: "initial" }}
|
||||
precision={2}
|
||||
// formatter={currencyFormatter}
|
||||
// parser={currencyParser}
|
||||
// formatter={(value) =>
|
||||
// "$" +
|
||||
// parseFloat(value)
|
||||
// .toFixed(2)
|
||||
// .replace(/(\d)(?=(\d{3})+\.)/g, "$1,")
|
||||
// }
|
||||
// parser={(value) => value.replace(/\$\s?|(,*)/g, "")}
|
||||
// formatter={(value) => `$ ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",")}
|
||||
// parser={(value) => value.replace(/\$\s?|(,*)/g, "")}
|
||||
precision={2}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export default forwardRef(FormItemCurrency);
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
import { Input } from "antd";
|
||||
import i18n from "i18next";
|
||||
import parsePhoneNumber from "libphonenumber-js";
|
||||
import React, { forwardRef } from "react";
|
||||
import PhoneInput from "react-phone-input-2";
|
||||
import "react-phone-input-2/lib/high-res.css";
|
||||
import "./phone-form-item.styles.scss";
|
||||
|
||||
function FormItemPhone(props, ref) {
|
||||
return (
|
||||
<PhoneInput
|
||||
country="ca"
|
||||
onlyCountries={["ca", "us"]}
|
||||
ref={ref}
|
||||
className="ant-input"
|
||||
<Input
|
||||
// country="ca" ref={ref} className="ant-input"
|
||||
{...props}
|
||||
/>
|
||||
);
|
||||
@@ -21,30 +17,15 @@ export default forwardRef(FormItemPhone);
|
||||
|
||||
export const PhoneItemFormatterValidation = (getFieldValue, name) => ({
|
||||
async validator(rule, value) {
|
||||
if (!getFieldValue(name)) {
|
||||
if (!value) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
const p = parsePhoneNumber(getFieldValue(name), "CA");
|
||||
|
||||
if (p) {
|
||||
const p = parsePhoneNumber(value, "CA");
|
||||
if (p.isValid()) {
|
||||
return Promise.resolve();
|
||||
} else {
|
||||
return Promise.reject(i18n.t("general.validation.invalidphone"));
|
||||
}
|
||||
}
|
||||
|
||||
// PhoneInput({
|
||||
// value: getFieldValue(name),
|
||||
// isValid: async (value, country) => {
|
||||
// console.log("value", value);
|
||||
// if (value.match(/12345/)) {
|
||||
|
||||
// } else if (value.match(/1234/)) {
|
||||
// return false;
|
||||
// } else {
|
||||
// return Promise.resolve();
|
||||
// }
|
||||
// },
|
||||
// });
|
||||
},
|
||||
});
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Button, Form, notification, Popover, Select } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useMutation } from "@apollo/client";
|
||||
import { Button, Form, notification, Popover, Select, Switch } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
@@ -38,7 +38,11 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO }) {
|
||||
|
||||
const popMenu = (
|
||||
<div>
|
||||
<Form layout="vertical" onFinish={handleConvert}>
|
||||
<Form
|
||||
layout="vertical"
|
||||
onFinish={handleConvert}
|
||||
initialValues={{ driveable: true, towin: false }}
|
||||
>
|
||||
<Form.Item
|
||||
name={["ins_co_nm"]}
|
||||
label={t("jobs.fields.ins_co_nm")}
|
||||
@@ -75,6 +79,27 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO }) {
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.ca_gst_registrant")}
|
||||
name="ca_gst_registrant"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.driveable")}
|
||||
name="driveable"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.towin")}
|
||||
name="towin"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch />
|
||||
</Form.Item>
|
||||
<Button type="danger" htmlType="submit">
|
||||
{t("jobs.actions.convert")}
|
||||
</Button>
|
||||
|
||||
@@ -78,7 +78,7 @@ export function JobsCreateJobsInfo({ bodyshop, form, selected }) {
|
||||
PhoneItemFormatterValidation(getFieldValue, "ins_ph1"),
|
||||
]}
|
||||
>
|
||||
<FormItemPhone customInput={Input} />
|
||||
<FormItemPhone />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.ins_ea")}
|
||||
|
||||
@@ -144,7 +144,7 @@ export default function JobsCreateOwnerInfoNewComponent() {
|
||||
),
|
||||
]}
|
||||
>
|
||||
<FormItemPhone customInput={Input} disabled={!state.owner.new} />
|
||||
<FormItemPhone disabled={!state.owner.new} />
|
||||
</Form.Item>
|
||||
</LayoutFormRow>
|
||||
<LayoutFormRow grow>
|
||||
|
||||
@@ -79,7 +79,7 @@ export function JobsDetailGeneral({ bodyshop, jobRO, job, form }) {
|
||||
PhoneItemFormatterValidation(getFieldValue, "ins_ph1"),
|
||||
]}
|
||||
>
|
||||
<FormItemPhone customInput={Input} disabled={jobRO} />
|
||||
<FormItemPhone disabled={jobRO} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.ins_ea")}
|
||||
@@ -140,6 +140,20 @@ export function JobsDetailGeneral({ bodyshop, jobRO, job, form }) {
|
||||
>
|
||||
<Input disabled={jobRO} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.driveable")}
|
||||
name="driveable"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch disabled={jobRO} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("jobs.fields.towin")}
|
||||
name="towin"
|
||||
valuePropName="checked"
|
||||
>
|
||||
<Switch disabled={jobRO} />
|
||||
</Form.Item>
|
||||
</FormRow>
|
||||
</Col>
|
||||
<Col {...lossColDamage}>
|
||||
|
||||
@@ -128,7 +128,7 @@ export default function OwnerDetailFormComponent({ form, loading }) {
|
||||
PhoneItemFormatterValidation(getFieldValue, "ownr_ph1"),
|
||||
]}
|
||||
>
|
||||
<FormItemPhone customInput={Input} />
|
||||
<FormItemPhone />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label={t("owners.fields.preferred_contact")}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { useMutation } from "@apollo/client";
|
||||
import { Button, notification, Popover } from "antd";
|
||||
import { Button, Form, notification, Popover } from "antd";
|
||||
import React, { useState } from "react";
|
||||
import { useTranslation } from "react-i18next";
|
||||
import { connect } from "react-redux";
|
||||
@@ -21,15 +21,15 @@ export function PartsOrderLineBackorderButton({
|
||||
bodyshop,
|
||||
}) {
|
||||
const [visibility, setVisibility] = useState(false);
|
||||
const [eta, setEta] = useState(null);
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [backorderLine] = useMutation(MUTATION_BACKORDER_PART_LINE);
|
||||
const { t } = useTranslation();
|
||||
const [form] = Form.useForm();
|
||||
|
||||
const isAlreadyBackordered =
|
||||
bodyshop.md_order_statuses.default_bo === partsOrderStatus;
|
||||
|
||||
const handleSave = async () => {
|
||||
const handleFinish = async (values) => {
|
||||
setLoading(true);
|
||||
logImEXEvent("job_parts_backorder");
|
||||
|
||||
@@ -40,7 +40,7 @@ export function PartsOrderLineBackorderButton({
|
||||
};
|
||||
if (!isAlreadyBackordered) {
|
||||
partsOrder.backordered_on = new Date();
|
||||
partsOrder.backordered_eta = eta;
|
||||
partsOrder.backordered_eta = values.eta;
|
||||
}
|
||||
|
||||
const result = await backorderLine({
|
||||
@@ -59,14 +59,14 @@ export function PartsOrderLineBackorderButton({
|
||||
}),
|
||||
});
|
||||
}
|
||||
setEta(null);
|
||||
|
||||
setVisibility(false);
|
||||
setLoading(false);
|
||||
};
|
||||
|
||||
const handlePopover = (e) => {
|
||||
if (isAlreadyBackordered) {
|
||||
handleSave();
|
||||
handleFinish();
|
||||
//Receive the part.
|
||||
} else {
|
||||
//Show the date selector to back order the part.
|
||||
@@ -76,11 +76,15 @@ export function PartsOrderLineBackorderButton({
|
||||
|
||||
const popContent = (
|
||||
<div>
|
||||
<FormDatePicker onChange={(e) => setEta(e)} />
|
||||
<Button type="primary" disabled={eta === null} onClick={handleSave}>
|
||||
{t("parts_orders.actions.backordered")}
|
||||
</Button>
|
||||
<Button onClick={() => setVisibility(false)}>Close</Button>
|
||||
<Form form={form} onFinish={handleFinish}>
|
||||
<Form.Item name="eta">
|
||||
<FormDatePicker />
|
||||
</Form.Item>
|
||||
<Button type="primary" onClick={() => form.submit()}>
|
||||
{t("parts_orders.actions.backordered")}
|
||||
</Button>
|
||||
<Button onClick={() => setVisibility(false)}>Close</Button>
|
||||
</Form>
|
||||
</div>
|
||||
);
|
||||
|
||||
|
||||
@@ -350,6 +350,8 @@ export const GET_JOB_BY_PK = gql`
|
||||
v_make_desc
|
||||
v_color
|
||||
vehicleid
|
||||
driveable
|
||||
towin
|
||||
vehicle {
|
||||
id
|
||||
plate_no
|
||||
@@ -735,10 +737,20 @@ export const CONVERT_JOB_TO_RO = gql`
|
||||
$jobId: uuid!
|
||||
$class: String
|
||||
$ins_co_nm: String!
|
||||
$ca_gst_registrant: Boolean
|
||||
$driveable: Boolean
|
||||
$towin: Boolean
|
||||
) {
|
||||
update_jobs(
|
||||
where: { id: { _eq: $jobId } }
|
||||
_set: { converted: true, ins_co_nm: $ins_co_nm, class: $class }
|
||||
_set: {
|
||||
converted: true
|
||||
ins_co_nm: $ins_co_nm
|
||||
class: $class
|
||||
ca_gst_registrant: $ca_gst_registrant
|
||||
towin: $towin
|
||||
driveable: $driveable
|
||||
}
|
||||
) {
|
||||
returning {
|
||||
id
|
||||
@@ -1092,6 +1104,8 @@ export const QUERY_ALL_JOB_FIELDS = gql`
|
||||
employee_body
|
||||
employee_refinish
|
||||
employee_prep
|
||||
driveable
|
||||
towin
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
@@ -969,6 +969,7 @@
|
||||
"ded_amt": "Deductible",
|
||||
"ded_status": "Deductible Status",
|
||||
"depreciation_taxes": "Depreciation/Taxes",
|
||||
"driveable": "Driveable",
|
||||
"employee_body": "Body",
|
||||
"employee_prep": "Prep",
|
||||
"employee_refinish": "Refinish",
|
||||
@@ -1099,6 +1100,7 @@
|
||||
"tax_str_rt": "Storage Tax Rate",
|
||||
"tax_sub_rt": "Sublet Tax Rate",
|
||||
"tax_tow_rt": "Towing Tax Rate",
|
||||
"towin": "Tow In",
|
||||
"towing_payable": "Towing Payable",
|
||||
"unitnumber": "Unit #",
|
||||
"updated_at": "Updated At",
|
||||
@@ -1343,6 +1345,9 @@
|
||||
"link": "Link to Job",
|
||||
"new": "New Conversation"
|
||||
},
|
||||
"errors": {
|
||||
"invalidphone": "The phone number is invalid. Unable to open conversation. "
|
||||
},
|
||||
"labels": {
|
||||
"maxtenimages": "You can only select up to a maximum of 10 images at a time.",
|
||||
"messaging": "Messaging",
|
||||
@@ -1537,12 +1542,15 @@
|
||||
"appointment_reminder": "Appointment Reminder",
|
||||
"casl_authorization": "CASL Authorization",
|
||||
"diagnostic_authorization": "Diagnostic Authorization",
|
||||
"estimate": "Estimate Only",
|
||||
"estimate_detail": "Estimate Details",
|
||||
"final_invoice": "Final Invoice",
|
||||
"fippa_authorization": "FIPPA Authorization",
|
||||
"glass_express_checklist": "Glass Express Checklist",
|
||||
"invoice_customer_payable": "Invoice (Customer Payable)",
|
||||
"invoice_total_payable": "Invoice (Total Payable)",
|
||||
"job_notes": "Job Notes",
|
||||
"parts_list": "Parts List",
|
||||
"parts_order": "Parts Order Confirmation",
|
||||
"parts_order_confirmation": "",
|
||||
"parts_order_history": "Parts Order History",
|
||||
|
||||
@@ -969,6 +969,7 @@
|
||||
"ded_amt": "Deducible",
|
||||
"ded_status": "Estado deducible",
|
||||
"depreciation_taxes": "Depreciación / Impuestos",
|
||||
"driveable": "",
|
||||
"employee_body": "",
|
||||
"employee_prep": "",
|
||||
"employee_refinish": "",
|
||||
@@ -1099,6 +1100,7 @@
|
||||
"tax_str_rt": "",
|
||||
"tax_sub_rt": "",
|
||||
"tax_tow_rt": "",
|
||||
"towin": "",
|
||||
"towing_payable": "Remolque a pagar",
|
||||
"unitnumber": "Unidad #",
|
||||
"updated_at": "Actualizado en",
|
||||
@@ -1343,6 +1345,9 @@
|
||||
"link": "",
|
||||
"new": ""
|
||||
},
|
||||
"errors": {
|
||||
"invalidphone": ""
|
||||
},
|
||||
"labels": {
|
||||
"maxtenimages": "",
|
||||
"messaging": "Mensajería",
|
||||
@@ -1537,12 +1542,15 @@
|
||||
"appointment_reminder": "",
|
||||
"casl_authorization": "",
|
||||
"diagnostic_authorization": "",
|
||||
"estimate": "",
|
||||
"estimate_detail": "",
|
||||
"final_invoice": "",
|
||||
"fippa_authorization": "",
|
||||
"glass_express_checklist": "",
|
||||
"invoice_customer_payable": "",
|
||||
"invoice_total_payable": "",
|
||||
"job_notes": "",
|
||||
"parts_list": "",
|
||||
"parts_order": "",
|
||||
"parts_order_confirmation": "",
|
||||
"parts_order_history": "",
|
||||
|
||||
@@ -969,6 +969,7 @@
|
||||
"ded_amt": "Déductible",
|
||||
"ded_status": "Statut de franchise",
|
||||
"depreciation_taxes": "Amortissement / taxes",
|
||||
"driveable": "",
|
||||
"employee_body": "",
|
||||
"employee_prep": "",
|
||||
"employee_refinish": "",
|
||||
@@ -1099,6 +1100,7 @@
|
||||
"tax_str_rt": "",
|
||||
"tax_sub_rt": "",
|
||||
"tax_tow_rt": "",
|
||||
"towin": "",
|
||||
"towing_payable": "Remorquage à payer",
|
||||
"unitnumber": "Unité #",
|
||||
"updated_at": "Mis à jour à",
|
||||
@@ -1343,6 +1345,9 @@
|
||||
"link": "",
|
||||
"new": ""
|
||||
},
|
||||
"errors": {
|
||||
"invalidphone": ""
|
||||
},
|
||||
"labels": {
|
||||
"maxtenimages": "",
|
||||
"messaging": "Messagerie",
|
||||
@@ -1537,12 +1542,15 @@
|
||||
"appointment_reminder": "",
|
||||
"casl_authorization": "",
|
||||
"diagnostic_authorization": "",
|
||||
"estimate": "",
|
||||
"estimate_detail": "",
|
||||
"final_invoice": "",
|
||||
"fippa_authorization": "",
|
||||
"glass_express_checklist": "",
|
||||
"invoice_customer_payable": "",
|
||||
"invoice_total_payable": "",
|
||||
"job_notes": "",
|
||||
"parts_list": "",
|
||||
"parts_order": "",
|
||||
"parts_order_confirmation": "",
|
||||
"parts_order_history": "",
|
||||
|
||||
@@ -4,5 +4,5 @@ import React from "react";
|
||||
|
||||
export default function PhoneNumberFormatter(props) {
|
||||
const p = parsePhoneNumber(props.children || "", "CA");
|
||||
return p ? <span>{p.formatInternational()}</span> : null;
|
||||
return p ? <span>{p.formatNational()}</span> : null;
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { gql } from "@apollo/client";
|
||||
import { notification } from "antd";
|
||||
import axios from "axios";
|
||||
import { gql } from "@apollo/client";
|
||||
import jsreport from "jsreport-browser-client-dist";
|
||||
import { auth } from "../firebase/firebase.utils";
|
||||
import { setEmailOptions } from "../redux/email/email.actions";
|
||||
import { store } from "../redux/store";
|
||||
import client from "../utils/GraphQLClient";
|
||||
import { TemplateList } from "./TemplateConstants";
|
||||
import moment from "moment";
|
||||
|
||||
const server = process.env.REACT_APP_REPORTS_SERVER_URL;
|
||||
jsreport.serverUrl = server;
|
||||
@@ -36,6 +37,7 @@ export default async function RenderTemplate(
|
||||
...templateObject.context,
|
||||
headerpath: `/${bodyshop.imexshopid}/header.html`,
|
||||
bodyshop: bodyshop,
|
||||
offset: moment().utcOffset(),
|
||||
},
|
||||
};
|
||||
try {
|
||||
@@ -59,23 +61,46 @@ export async function RenderTemplates(
|
||||
) {
|
||||
//Query assets that match the template name. Must be in format <<templateName>>.query
|
||||
let templateAndData = [];
|
||||
let proms = [];
|
||||
templateObjects.forEach((template) => {
|
||||
proms.push(
|
||||
(async () => {
|
||||
let { contextData, useShopSpecificTemplate } = await fetchContextData(
|
||||
template
|
||||
);
|
||||
templateAndData.push({
|
||||
templateObject: template,
|
||||
contextData,
|
||||
useShopSpecificTemplate,
|
||||
});
|
||||
})()
|
||||
);
|
||||
});
|
||||
await Promise.all(proms);
|
||||
let rootTemplate = templateAndData.shift();
|
||||
|
||||
console.log("About to await all promises.");
|
||||
await Promise.all(
|
||||
templateObjects.map(async (template) => {
|
||||
console.log("executing for", template);
|
||||
let { contextData, useShopSpecificTemplate } = await fetchContextData(
|
||||
template
|
||||
);
|
||||
templateAndData.push({
|
||||
templateObject: template,
|
||||
contextData,
|
||||
useShopSpecificTemplate,
|
||||
});
|
||||
})
|
||||
);
|
||||
console.log("All promises awaited.", templateAndData);
|
||||
let rootTemplate = templateAndData[0];
|
||||
const pdfOps = [];
|
||||
|
||||
for (var i = 1; i < templateAndData.length; i++) {
|
||||
pdfOps.push({
|
||||
template: {
|
||||
name: templateAndData[i].useShopSpecificTemplate
|
||||
? `/${bodyshop.imexshopid}/${templateAndData[i].templateObject.name}`
|
||||
: `/${templateAndData[i].templateObject.name}`,
|
||||
...(renderAsHtml ? {} : { recipe: "chrome-pdf" }),
|
||||
},
|
||||
data: {
|
||||
...templateAndData[i].contextData,
|
||||
...templateAndData[i].templateObject.variables,
|
||||
...templateAndData[i].templateObject.context,
|
||||
headerpath: `/${bodyshop.imexshopid}/header.html`,
|
||||
bodyshop: bodyshop,
|
||||
offset: moment().utcOffset(),
|
||||
},
|
||||
type: "append",
|
||||
mergeWholeDocument: true,
|
||||
renderForEveryPage: true,
|
||||
});
|
||||
}
|
||||
|
||||
let reportRequest = {
|
||||
template: {
|
||||
@@ -83,26 +108,7 @@ export async function RenderTemplates(
|
||||
? `/${bodyshop.imexshopid}/${rootTemplate.templateObject.name}`
|
||||
: `/${rootTemplate.templateObject.name}`,
|
||||
...(renderAsHtml ? {} : { recipe: "chrome-pdf" }),
|
||||
pdfOperations: templateAndData.map((template) => {
|
||||
return {
|
||||
template: {
|
||||
name: template.useShopSpecificTemplate
|
||||
? `/${bodyshop.imexshopid}/${template.templateObject.name}`
|
||||
: `/${template.templateObject.name}`,
|
||||
...(renderAsHtml ? {} : { recipe: "chrome-pdf" }),
|
||||
},
|
||||
data: {
|
||||
...template.contextData,
|
||||
...template.templateObject.variables,
|
||||
...template.templateObject.context,
|
||||
headerpath: `/${bodyshop.imexshopid}/header.html`,
|
||||
bodyshop: bodyshop,
|
||||
},
|
||||
type: "append",
|
||||
mergeWholeDocument: true,
|
||||
renderForEveryPage: true,
|
||||
};
|
||||
}),
|
||||
pdfOperations: pdfOps,
|
||||
},
|
||||
data: {
|
||||
...rootTemplate.contextData,
|
||||
@@ -110,6 +116,7 @@ export async function RenderTemplates(
|
||||
...rootTemplate.templateObject.context,
|
||||
headerpath: `/${bodyshop.imexshopid}/header.html`,
|
||||
bodyshop: bodyshop,
|
||||
offset: moment().utcOffset(),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -149,6 +156,7 @@ export const GenerateDocuments = async (templates) => {
|
||||
};
|
||||
|
||||
const fetchContextData = async (templateObject) => {
|
||||
console.log("Fetching context data", templateObject);
|
||||
jsreport.headers["Authorization"] =
|
||||
"Bearer " + (await auth.currentUser.getIdToken());
|
||||
|
||||
|
||||
@@ -169,6 +169,33 @@ export const TemplateList = (type, context) => {
|
||||
key: "parts_order_history",
|
||||
disabled: false,
|
||||
},
|
||||
glass_express_checklist: {
|
||||
title: i18n.t("printcenter.jobs.glass_express_checklist"),
|
||||
description: "All Jobs Notes",
|
||||
subject: `${i18n.t("printcenter.jobs.glass_express_checklist")} - ${
|
||||
context && context.job && context.job.ro_number
|
||||
}`,
|
||||
key: "glass_express_checklist",
|
||||
disabled: false,
|
||||
},
|
||||
estimate: {
|
||||
title: i18n.t("printcenter.jobs.estimate"),
|
||||
description: "All Jobs Notes",
|
||||
subject: `${i18n.t("printcenter.jobs.estimate")} - ${
|
||||
context && context.job && context.job.ro_number
|
||||
}`,
|
||||
key: "estimate",
|
||||
disabled: false,
|
||||
},
|
||||
parts_list: {
|
||||
title: i18n.t("printcenter.jobs.parts_list"),
|
||||
description: "All Jobs Notes",
|
||||
subject: `${i18n.t("printcenter.jobs.parts_list")} - ${
|
||||
context && context.job && context.job.ro_number
|
||||
}`,
|
||||
key: "parts_list",
|
||||
disabled: false,
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
...(!type || type === "job_special"
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_closed" timestamptz;
|
||||
type: run_sql
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" ALTER COLUMN "date_closed" DROP NOT NULL;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_closed" CASCADE;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" DROP COLUMN "towin";
|
||||
type: run_sql
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" ADD COLUMN "towin" boolean NOT NULL DEFAULT false;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,5 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" DROP COLUMN "driveable";
|
||||
type: run_sql
|
||||
@@ -0,0 +1,6 @@
|
||||
- args:
|
||||
cascade: false
|
||||
read_only: false
|
||||
sql: ALTER TABLE "public"."jobs" ADD COLUMN "driveable" boolean NOT NULL DEFAULT
|
||||
false;
|
||||
type: run_sql
|
||||
@@ -0,0 +1,263 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_insert_permission
|
||||
- args:
|
||||
permission:
|
||||
check:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_insert_permission
|
||||
@@ -0,0 +1,265 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_insert_permission
|
||||
- args:
|
||||
permission:
|
||||
check:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_insert_permission
|
||||
@@ -0,0 +1,264 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_select_permission
|
||||
- args:
|
||||
permission:
|
||||
allow_aggregations: true
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
computed_fields: []
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_select_permission
|
||||
@@ -0,0 +1,266 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_select_permission
|
||||
- args:
|
||||
permission:
|
||||
allow_aggregations: true
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
computed_fields: []
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_select_permission
|
||||
@@ -0,0 +1,263 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_update_permission
|
||||
- args:
|
||||
permission:
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_update_permission
|
||||
@@ -0,0 +1,265 @@
|
||||
- args:
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: drop_update_permission
|
||||
- args:
|
||||
permission:
|
||||
columns:
|
||||
- actual_completion
|
||||
- actual_delivery
|
||||
- actual_in
|
||||
- adj_g_disc
|
||||
- adj_strdis
|
||||
- adj_towdis
|
||||
- adjustment_bottom_line
|
||||
- agt_addr1
|
||||
- agt_addr2
|
||||
- agt_city
|
||||
- agt_co_id
|
||||
- agt_co_nm
|
||||
- agt_ct_fn
|
||||
- agt_ct_ln
|
||||
- agt_ct_ph
|
||||
- agt_ct_phx
|
||||
- agt_ctry
|
||||
- agt_ea
|
||||
- agt_fax
|
||||
- agt_faxx
|
||||
- agt_lic_no
|
||||
- agt_ph1
|
||||
- agt_ph1x
|
||||
- agt_ph2
|
||||
- agt_ph2x
|
||||
- agt_st
|
||||
- agt_zip
|
||||
- alt_transport
|
||||
- area_of_damage
|
||||
- asgn_date
|
||||
- asgn_no
|
||||
- asgn_type
|
||||
- ca_gst_registrant
|
||||
- cat_no
|
||||
- category
|
||||
- cieca_stl
|
||||
- cieca_ttl
|
||||
- ciecaid
|
||||
- class
|
||||
- clm_addr1
|
||||
- clm_addr2
|
||||
- clm_city
|
||||
- clm_ct_fn
|
||||
- clm_ct_ln
|
||||
- clm_ct_ph
|
||||
- clm_ct_phx
|
||||
- clm_ctry
|
||||
- clm_ea
|
||||
- clm_fax
|
||||
- clm_faxx
|
||||
- clm_no
|
||||
- clm_ofc_id
|
||||
- clm_ofc_nm
|
||||
- clm_ph1
|
||||
- clm_ph1x
|
||||
- clm_ph2
|
||||
- clm_ph2x
|
||||
- clm_st
|
||||
- clm_title
|
||||
- clm_total
|
||||
- clm_zip
|
||||
- converted
|
||||
- created_at
|
||||
- csr
|
||||
- cust_pr
|
||||
- date_estimated
|
||||
- date_exported
|
||||
- date_invoiced
|
||||
- date_open
|
||||
- date_scheduled
|
||||
- ded_amt
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
- est_addr1
|
||||
- est_addr2
|
||||
- est_city
|
||||
- est_co_nm
|
||||
- est_ct_fn
|
||||
- est_ct_ln
|
||||
- est_ctry
|
||||
- est_ea
|
||||
- est_ph1
|
||||
- est_st
|
||||
- est_zip
|
||||
- federal_tax_rate
|
||||
- g_bett_amt
|
||||
- id
|
||||
- inproduction
|
||||
- ins_addr1
|
||||
- ins_addr2
|
||||
- ins_city
|
||||
- ins_co_id
|
||||
- ins_co_nm
|
||||
- ins_ct_fn
|
||||
- ins_ct_ln
|
||||
- ins_ct_ph
|
||||
- ins_ct_phx
|
||||
- ins_ctry
|
||||
- ins_ea
|
||||
- ins_fax
|
||||
- ins_faxx
|
||||
- ins_memo
|
||||
- ins_ph1
|
||||
- ins_ph1x
|
||||
- ins_ph2
|
||||
- ins_ph2x
|
||||
- ins_st
|
||||
- ins_title
|
||||
- ins_zip
|
||||
- insd_addr1
|
||||
- insd_addr2
|
||||
- insd_city
|
||||
- insd_co_nm
|
||||
- insd_ctry
|
||||
- insd_ea
|
||||
- insd_fax
|
||||
- insd_faxx
|
||||
- insd_fn
|
||||
- insd_ln
|
||||
- insd_ph1
|
||||
- insd_ph1x
|
||||
- insd_ph2
|
||||
- insd_ph2x
|
||||
- insd_st
|
||||
- insd_title
|
||||
- insd_zip
|
||||
- intakechecklist
|
||||
- invoice_allocation
|
||||
- invoice_date
|
||||
- job_totals
|
||||
- kanbanparent
|
||||
- kmin
|
||||
- kmout
|
||||
- labor_rate_desc
|
||||
- labor_rate_id
|
||||
- lbr_adjustments
|
||||
- local_tax_rate
|
||||
- loss_cat
|
||||
- loss_date
|
||||
- loss_desc
|
||||
- loss_type
|
||||
- other_amount_payable
|
||||
- owner_owing
|
||||
- ownerid
|
||||
- ownr_addr1
|
||||
- ownr_addr2
|
||||
- ownr_city
|
||||
- ownr_co_nm
|
||||
- ownr_ctry
|
||||
- ownr_ea
|
||||
- ownr_fax
|
||||
- ownr_faxx
|
||||
- ownr_fn
|
||||
- ownr_ln
|
||||
- ownr_ph1
|
||||
- ownr_ph1x
|
||||
- ownr_ph2
|
||||
- ownr_ph2x
|
||||
- ownr_st
|
||||
- ownr_title
|
||||
- ownr_zip
|
||||
- parts_tax_rates
|
||||
- pay_amt
|
||||
- pay_chknm
|
||||
- pay_date
|
||||
- pay_type
|
||||
- payee_nms
|
||||
- plate_no
|
||||
- plate_st
|
||||
- po_number
|
||||
- policy_no
|
||||
- production_vars
|
||||
- queued_for_parts
|
||||
- rate_la1
|
||||
- rate_la2
|
||||
- rate_la3
|
||||
- rate_la4
|
||||
- rate_laa
|
||||
- rate_lab
|
||||
- rate_lad
|
||||
- rate_lae
|
||||
- rate_laf
|
||||
- rate_lag
|
||||
- rate_lam
|
||||
- rate_lar
|
||||
- rate_las
|
||||
- rate_lau
|
||||
- rate_ma2s
|
||||
- rate_ma2t
|
||||
- rate_ma3s
|
||||
- rate_mabl
|
||||
- rate_macs
|
||||
- rate_mahw
|
||||
- rate_mapa
|
||||
- rate_mash
|
||||
- rate_matd
|
||||
- referral_source
|
||||
- regie_number
|
||||
- ro_number
|
||||
- scheduled_completion
|
||||
- scheduled_delivery
|
||||
- scheduled_in
|
||||
- selling_dealer
|
||||
- selling_dealer_contact
|
||||
- servicing_dealer
|
||||
- servicing_dealer_contact
|
||||
- shopid
|
||||
- special_coverage_policy
|
||||
- state_tax_rate
|
||||
- status
|
||||
- storage_payable
|
||||
- tax_lbr_rt
|
||||
- tax_levies_rt
|
||||
- tax_paint_mat_rt
|
||||
- tax_predis
|
||||
- tax_prethr
|
||||
- tax_pstthr
|
||||
- tax_registration_number
|
||||
- tax_shop_mat_rt
|
||||
- tax_str_rt
|
||||
- tax_sub_rt
|
||||
- tax_thramt
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
- v_color
|
||||
- v_make_desc
|
||||
- v_model_desc
|
||||
- v_model_yr
|
||||
- v_vin
|
||||
- vehicleid
|
||||
- voided
|
||||
filter:
|
||||
bodyshop:
|
||||
associations:
|
||||
_and:
|
||||
- user:
|
||||
authid:
|
||||
_eq: X-Hasura-User-Id
|
||||
- active:
|
||||
_eq: true
|
||||
set: {}
|
||||
role: user
|
||||
table:
|
||||
name: jobs
|
||||
schema: public
|
||||
type: create_update_permission
|
||||
@@ -2295,6 +2295,7 @@ tables:
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
@@ -2450,6 +2451,7 @@ tables:
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
@@ -2538,6 +2540,7 @@ tables:
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
@@ -2693,6 +2696,7 @@ tables:
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
@@ -2791,6 +2795,7 @@ tables:
|
||||
- ded_status
|
||||
- deliverchecklist
|
||||
- depreciation_taxes
|
||||
- driveable
|
||||
- employee_body
|
||||
- employee_prep
|
||||
- employee_refinish
|
||||
@@ -2946,6 +2951,7 @@ tables:
|
||||
- tax_tow_rt
|
||||
- theft_ind
|
||||
- tlos_ind
|
||||
- towin
|
||||
- towing_payable
|
||||
- unit_number
|
||||
- updated_at
|
||||
|
||||
@@ -54,12 +54,15 @@
|
||||
},
|
||||
"enabled": true
|
||||
},
|
||||
"child-templates": {
|
||||
"parallelLimit": 10
|
||||
},
|
||||
"sample-template": {
|
||||
"createSamples": true
|
||||
},
|
||||
"scripts": {
|
||||
"allowedModules": "*",
|
||||
"strategy": "http-server"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
10460
package-lock.json
generated
10460
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user