Added conversion logic for ROs. Blanket translations for files.
This commit is contained in:
1476
bodyshop_translations.babel
Normal file
1476
bodyshop_translations.babel
Normal file
File diff suppressed because it is too large
Load Diff
@@ -15,7 +15,7 @@ import {
|
|||||||
Avatar,
|
Avatar,
|
||||||
Layout
|
Layout
|
||||||
} from "antd";
|
} from "antd";
|
||||||
import { UPDATE_JOB } from "../../graphql/jobs.queries";
|
import { UPDATE_JOB, CONVERT_JOB_TO_RO } from "../../graphql/jobs.queries";
|
||||||
import { useMutation } from "@apollo/react-hooks";
|
import { useMutation } from "@apollo/react-hooks";
|
||||||
import FormItemPhone from "../form-items-formatted/phone-form-item.component";
|
import FormItemPhone from "../form-items-formatted/phone-form-item.component";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
@@ -36,6 +36,7 @@ const formItemLayout = {
|
|||||||
function JobTombstone({ job, ...otherProps }) {
|
function JobTombstone({ job, ...otherProps }) {
|
||||||
const [jobContext, setJobContext] = useState(job);
|
const [jobContext, setJobContext] = useState(job);
|
||||||
const [mutationUpdateJob] = useMutation(UPDATE_JOB);
|
const [mutationUpdateJob] = useMutation(UPDATE_JOB);
|
||||||
|
const [mutationConvertJob] = useMutation(CONVERT_JOB_TO_RO);
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
if (!job) {
|
if (!job) {
|
||||||
@@ -95,11 +96,31 @@ function JobTombstone({ job, ...otherProps }) {
|
|||||||
}
|
}
|
||||||
tags={<Tag color='blue'>{jobContext?.job_status?.name}</Tag>}
|
tags={<Tag color='blue'>{jobContext?.job_status?.name}</Tag>}
|
||||||
extra={[
|
extra={[
|
||||||
<Form.Item key='1'>
|
<Button
|
||||||
<Button type='primary' htmlType='submit'>
|
key='convert'
|
||||||
{t("general.labels.save")}
|
type='dashed'
|
||||||
</Button>
|
disabled={!jobContext.converted}
|
||||||
</Form.Item>
|
onClick={() => {
|
||||||
|
mutationConvertJob({
|
||||||
|
variables: { jobId: jobContext.id }
|
||||||
|
}).then(r => {
|
||||||
|
console.log("r", r);
|
||||||
|
setJobContext({
|
||||||
|
...jobContext,
|
||||||
|
converted: true,
|
||||||
|
ro_number: r.data.update_jobs.returning[0].ro_number
|
||||||
|
});
|
||||||
|
|
||||||
|
notification["success"]({
|
||||||
|
message: t("jobs.successes.converted")
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}}>
|
||||||
|
{t("jobs.labels.convert")}
|
||||||
|
</Button>,
|
||||||
|
<Button type='primary' key='submit' htmlType='submit'>
|
||||||
|
{t("general.labels.save")}
|
||||||
|
</Button>
|
||||||
]}>
|
]}>
|
||||||
<Descriptions size='small' column={5}>
|
<Descriptions size='small' column={5}>
|
||||||
<Descriptions.Item label={t("jobs.fields.vehicle")}>
|
<Descriptions.Item label={t("jobs.fields.vehicle")}>
|
||||||
|
|||||||
@@ -9,55 +9,56 @@ const errorLink = onError(
|
|||||||
console.log("networkError", networkError);
|
console.log("networkError", networkError);
|
||||||
console.log("operation", operation);
|
console.log("operation", operation);
|
||||||
console.log("forward", forward);
|
console.log("forward", forward);
|
||||||
//if (graphQLErrors) {
|
if (graphQLErrors) {
|
||||||
// User access token has expired
|
//User access token has expired
|
||||||
if (networkError.message.includes("JWTExpired")) {
|
console.log("graphQLErrors", graphQLErrors);
|
||||||
console.log("Got to the error check.");
|
|
||||||
if (access_token && access_token !== "undefined") {
|
|
||||||
// Let's refresh token through async request
|
|
||||||
return new Observable(observer => {
|
|
||||||
auth.currentUser
|
|
||||||
.getIdToken(true)
|
|
||||||
.then(function(idToken) {
|
|
||||||
if (!idToken) {
|
|
||||||
window.localStorage.removeItem("token");
|
|
||||||
return console.log("Refresh token has expired");
|
|
||||||
}
|
|
||||||
console.log("Got a new token", idToken);
|
|
||||||
window.localStorage.setItem("token", idToken);
|
|
||||||
|
|
||||||
// reset the headers
|
|
||||||
operation.setContext(({ headers = {} }) => ({
|
|
||||||
headers: {
|
|
||||||
// Re-add old headers
|
|
||||||
...headers,
|
|
||||||
// Switch out old access token for new one
|
|
||||||
authorization: idToken ? `Bearer ${idToken}` : ""
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
|
|
||||||
// const subscriber = {
|
|
||||||
// next: observer.next.bind(observer),
|
|
||||||
// error: observer.error.bind(observer),
|
|
||||||
// complete: observer.complete.bind(observer)
|
|
||||||
// };
|
|
||||||
console.log("About to resend the request.");
|
|
||||||
// Retry last failed request
|
|
||||||
forward(operation); //.subscribe(subscriber);
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
// No refresh or client token available, we force user to login
|
|
||||||
console.log("Hit an error.");
|
|
||||||
observer.error(error);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
|
|
||||||
if (networkError) {
|
if (networkError) {
|
||||||
console.log(`[Network error]: ${networkError}`);
|
console.log(`[Network error]: ${networkError}`);
|
||||||
//props.history.push("/network-error");
|
//props.history.push("/network-error");
|
||||||
|
if (networkError.message.includes("JWTExpired")) {
|
||||||
|
console.log("Got to the error check.");
|
||||||
|
if (access_token && access_token !== "undefined") {
|
||||||
|
// Let's refresh token through async request
|
||||||
|
return new Observable(observer => {
|
||||||
|
auth.currentUser
|
||||||
|
.getIdToken(true)
|
||||||
|
.then(function(idToken) {
|
||||||
|
if (!idToken) {
|
||||||
|
window.localStorage.removeItem("token");
|
||||||
|
return console.log("Refresh token has expired");
|
||||||
|
}
|
||||||
|
console.log("Got a new token", idToken);
|
||||||
|
window.localStorage.setItem("token", idToken);
|
||||||
|
|
||||||
|
// reset the headers
|
||||||
|
operation.setContext(({ headers = {} }) => ({
|
||||||
|
headers: {
|
||||||
|
// Re-add old headers
|
||||||
|
...headers,
|
||||||
|
// Switch out old access token for new one
|
||||||
|
authorization: idToken ? `Bearer ${idToken}` : ""
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
|
// const subscriber = {
|
||||||
|
// next: observer.next.bind(observer),
|
||||||
|
// error: observer.error.bind(observer),
|
||||||
|
// complete: observer.complete.bind(observer)
|
||||||
|
// };
|
||||||
|
console.log("About to resend the request.");
|
||||||
|
// Retry last failed request
|
||||||
|
forward(operation); //.subscribe(subscriber);
|
||||||
|
})
|
||||||
|
.catch(error => {
|
||||||
|
// No refresh or client token available, we force user to login
|
||||||
|
console.log("Hit an error.");
|
||||||
|
observer.error(error);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -272,3 +272,15 @@ export const UPDATE_JOB = gql`
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
export const CONVERT_JOB_TO_RO = gql`
|
||||||
|
mutation CONVERT_JOB_TO_RO($jobId: uuid!) {
|
||||||
|
update_jobs(where: { id: { _eq: $jobId } }, _set: { converted: true }) {
|
||||||
|
returning {
|
||||||
|
id
|
||||||
|
ro_number
|
||||||
|
converted
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
|||||||
@@ -1,110 +1,108 @@
|
|||||||
{
|
{
|
||||||
"translation": {
|
"translation": {
|
||||||
"general": {
|
"general": {
|
||||||
"languages": {
|
"labels": {
|
||||||
"english": "English",
|
"in": "In",
|
||||||
"french": "French",
|
"loading": "Loading...",
|
||||||
"spanish": "Spanish"
|
"na": "N/A",
|
||||||
},
|
"out": "Out",
|
||||||
"labels": {
|
"save": "Save",
|
||||||
"in": "In",
|
"unknown": "Unknown"
|
||||||
"out": "Out",
|
},
|
||||||
"na": "N/A",
|
"languages": {
|
||||||
"unknown": "Unknown",
|
"english": "English",
|
||||||
"save": "Save",
|
"french": "French",
|
||||||
"loading": "Loading..."
|
"spanish": "Spanish"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"menus": {
|
"jobs": {
|
||||||
"currentuser": {
|
"actions": {
|
||||||
"profile": "Profile",
|
"addDocuments": "Add Job Documents",
|
||||||
"languageselector": "Language"
|
"addNote": "Add Note",
|
||||||
},
|
"postInvoices": "Post Invoices",
|
||||||
"profilesidebar": {
|
"printCenter": "Print Center"
|
||||||
"profile": "My Profile",
|
},
|
||||||
"shops": "My Shops"
|
"errors": {
|
||||||
}
|
"noaccess": "This job does not exist or you do not have access to it.",
|
||||||
},
|
"nojobselected": "No job is selected.",
|
||||||
|
"noowner": "No owner associated.",
|
||||||
"titles": {
|
"novehicle": "No vehicle associated.",
|
||||||
"app": "Bodyshop by ImEX Systems",
|
"saving": "Error encountered while saving record.",
|
||||||
"jobs": "All Jobs | $t(titles.app)",
|
"validation": "Please ensure all fields are entered correctly.",
|
||||||
"jobsdetail": "Job {{ro_number}} | $t(titles.app)",
|
"validationtitle": "Validation Error"
|
||||||
"profile": "My Profile | $t(titles.app)"
|
},
|
||||||
},
|
"fields": {
|
||||||
|
"claim_total": "Claim Total",
|
||||||
"profile": {
|
"clm_no": "Claim #",
|
||||||
"errors": {
|
"clm_total": "Claim Total",
|
||||||
"state": "Error reading page state. Please refresh."
|
"deductible": "Deductible",
|
||||||
}
|
"est_number": "Estimate Number",
|
||||||
},
|
"owner": "Owner",
|
||||||
|
"owner_owing": "Cust. Owes",
|
||||||
"vehicles": {
|
"phone1": "Phone 1",
|
||||||
"fields": {
|
"ro_number": "RO #",
|
||||||
"plate_no": "License Plate"
|
"status": "Job Status",
|
||||||
}
|
"vehicle": "Vehicle"
|
||||||
},
|
},
|
||||||
|
"labels": {
|
||||||
"notes": {
|
"cards": {
|
||||||
"labels": {
|
"appraiser": "Appraiser",
|
||||||
"newnoteplaceholder": "Add a note..."
|
"customer": "Customer Information",
|
||||||
},
|
"damage": "Area of Damage",
|
||||||
"fields": {
|
"dates": "Dates",
|
||||||
"critical": "Critical",
|
"documents": "Documents",
|
||||||
"private": "Private",
|
"estimator": "Estimator",
|
||||||
"text": "Contents"
|
"filehandler": "File Handler",
|
||||||
}
|
"insurance": "Insurance Details",
|
||||||
},
|
"notes": "Notes",
|
||||||
|
"parts": "Parts",
|
||||||
"jobs": {
|
"totals": "Totals",
|
||||||
"labels": {
|
"vehicle": "Vehicle"
|
||||||
"cards": {
|
},
|
||||||
"customer": "Customer Information",
|
"convert": "Convert",
|
||||||
"vehicle": "Vehicle",
|
"vehicle_info": "Vehicle"
|
||||||
"insurance": "Insurance Details",
|
},
|
||||||
"dates": "Dates",
|
"successes": {
|
||||||
"documents": "Documents",
|
"converted": "Job converted successfully.",
|
||||||
"parts": "Parts",
|
"save": "Record Saved",
|
||||||
"notes": "Notes",
|
"savetitle": "Record saved successfully."
|
||||||
"damage": "Area of Damage",
|
}
|
||||||
"totals": "Totals",
|
},
|
||||||
"filehandler": "File Handler",
|
"menus": {
|
||||||
"appraiser": "Appraiser",
|
"currentuser": {
|
||||||
"estimator": "Estimator"
|
"languageselector": "Language",
|
||||||
},
|
"profile": "Profile"
|
||||||
"vehicle_info": "Vehicle"
|
},
|
||||||
},
|
"profilesidebar": {
|
||||||
"fields": {
|
"profile": "My Profile",
|
||||||
"ro_number": "RO #",
|
"shops": "My Shops"
|
||||||
"est_number": "Estimate Number",
|
}
|
||||||
"clm_total": "Claim Total",
|
},
|
||||||
"deductible": "Deductible",
|
"notes": {
|
||||||
"owner": "Owner",
|
"fields": {
|
||||||
"status": "Job Status",
|
"critical": "Critical",
|
||||||
"vehicle": "Vehicle",
|
"private": "Private",
|
||||||
"phone1": "Phone 1",
|
"text": "Contents"
|
||||||
"clm_no": "Claim #",
|
},
|
||||||
"owner_owing": "Cust. Owes"
|
"labels": {
|
||||||
},
|
"newnoteplaceholder": "Add a note..."
|
||||||
"successes": {
|
}
|
||||||
"save": "Record Saved",
|
},
|
||||||
"savetitle": "Record saved succesfully."
|
"profile": {
|
||||||
},
|
"errors": {
|
||||||
"errors": {
|
"state": "Error reading page state. Please refresh."
|
||||||
"noaccess": "This job does not exist or you do not have access to it.",
|
}
|
||||||
"validationtitle": "Validation Error",
|
},
|
||||||
"validation": "Please ensure all fields are entered correctly.",
|
"titles": {
|
||||||
"saving": "Error encountered while saving record.",
|
"app": "Bodyshop by ImEX Systems",
|
||||||
"nojobselected": "No job is selected.",
|
"jobs": "All Jobs | $t(titles.app)",
|
||||||
"noowner": "No owner associated.",
|
"jobsdetail": "Job {{ro_number}} | $t(titles.app)",
|
||||||
"novehicle": "No vehicle associated."
|
"profile": "My Profile | $t(titles.app)"
|
||||||
},
|
},
|
||||||
"actions": {
|
"vehicles": {
|
||||||
"addDocuments": "Add Job Documents",
|
"fields": {
|
||||||
"printCenter": "Print Center",
|
"plate_no": "License Plate"
|
||||||
"postInvoices": "Post Invoices",
|
}
|
||||||
"addNote": "Add Note"
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,108 @@
|
|||||||
{
|
{
|
||||||
"translation": {
|
"translation": {
|
||||||
"general": {
|
"general": {
|
||||||
"title": "Hola a {{framework}}",
|
"labels": {
|
||||||
"greetings": "Hola!",
|
"in": "en",
|
||||||
"intro": "To get started, edit <1><0></0></1> and save to reload."
|
"loading": "Cargando...",
|
||||||
}
|
"na": "N / A",
|
||||||
}
|
"out": "Afuera",
|
||||||
|
"save": "Salvar",
|
||||||
|
"unknown": "Desconocido"
|
||||||
|
},
|
||||||
|
"languages": {
|
||||||
|
"english": "Inglés",
|
||||||
|
"french": "francés",
|
||||||
|
"spanish": "español"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jobs": {
|
||||||
|
"actions": {
|
||||||
|
"addDocuments": "Agregar documentos de trabajo",
|
||||||
|
"addNote": "Añadir la nota",
|
||||||
|
"postInvoices": "Contabilizar facturas",
|
||||||
|
"printCenter": "Centro de impresión"
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"noaccess": "Este trabajo no existe o no tiene acceso a él.",
|
||||||
|
"nojobselected": "No hay trabajo seleccionado.",
|
||||||
|
"noowner": "Ningún propietario asociado.",
|
||||||
|
"novehicle": "No hay vehículo asociado.",
|
||||||
|
"saving": "Se encontró un error al guardar el registro.",
|
||||||
|
"validation": "Asegúrese de que todos los campos se ingresen correctamente.",
|
||||||
|
"validationtitle": "Error de validacion"
|
||||||
|
},
|
||||||
|
"fields": {
|
||||||
|
"claim_total": "Reclamar total",
|
||||||
|
"clm_no": "Reclamación #",
|
||||||
|
"clm_total": "Reclamar total",
|
||||||
|
"deductible": "Deducible",
|
||||||
|
"est_number": "Numero Estimado",
|
||||||
|
"owner": "Propietario",
|
||||||
|
"owner_owing": "Cust. Debe",
|
||||||
|
"phone1": "Teléfono 1",
|
||||||
|
"ro_number": "RO #",
|
||||||
|
"status": "Estado del trabajo",
|
||||||
|
"vehicle": "Vehículo"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"cards": {
|
||||||
|
"appraiser": "Tasador",
|
||||||
|
"customer": "Información al cliente",
|
||||||
|
"damage": "Área de Daño",
|
||||||
|
"dates": "fechas",
|
||||||
|
"documents": "documentos",
|
||||||
|
"estimator": "Estimador",
|
||||||
|
"filehandler": "File Handler",
|
||||||
|
"insurance": "detalles del seguro",
|
||||||
|
"notes": "Notas",
|
||||||
|
"parts": "Partes",
|
||||||
|
"totals": "Totales",
|
||||||
|
"vehicle": "Vehículo"
|
||||||
|
},
|
||||||
|
"convert": "Convertir",
|
||||||
|
"vehicle_info": "Vehículo"
|
||||||
|
},
|
||||||
|
"successes": {
|
||||||
|
"converted": "Trabajo convertido con éxito.",
|
||||||
|
"save": "Registro guardado",
|
||||||
|
"savetitle": "Registro guardado con éxito."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menus": {
|
||||||
|
"currentuser": {
|
||||||
|
"languageselector": "idioma",
|
||||||
|
"profile": "Perfil"
|
||||||
|
},
|
||||||
|
"profilesidebar": {
|
||||||
|
"profile": "Mi perfil",
|
||||||
|
"shops": "Mis tiendas"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"fields": {
|
||||||
|
"critical": "Crítico",
|
||||||
|
"private": "Privado",
|
||||||
|
"text": "Contenido"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"newnoteplaceholder": "Agrega una nota..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"errors": {
|
||||||
|
"state": "Error al leer el estado de la página. Porfavor refresca."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"titles": {
|
||||||
|
"app": "Carrocería de ImEX Systems",
|
||||||
|
"jobs": "Todos los trabajos | $t(titles.app)",
|
||||||
|
"jobsdetail": "Trabajo {{ro_number}} | $t(titles.app)",
|
||||||
|
"profile": "Mi perfil | $ t (títulos.app)"
|
||||||
|
},
|
||||||
|
"vehicles": {
|
||||||
|
"fields": {
|
||||||
|
"plate_no": "Placa"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,22 +1,108 @@
|
|||||||
{
|
{
|
||||||
"translation": {
|
"translation": {
|
||||||
"general": {
|
"general": {
|
||||||
"languages": {
|
"labels": {
|
||||||
"english": "Anglais",
|
"in": "dans",
|
||||||
"french": "Francais",
|
"loading": "Chargement...",
|
||||||
"spanish": "Espanol"
|
"na": "N / A",
|
||||||
},
|
"out": "En dehors",
|
||||||
"title": "Welcome to {{framework}}",
|
"save": "sauvegarder",
|
||||||
"greetings": "Hello2!",
|
"unknown": "Inconnu"
|
||||||
"intro": "To get started, edit <1><0></0></1> and save to reload."
|
},
|
||||||
},
|
"languages": {
|
||||||
"whiteboard": {
|
"english": "Anglais",
|
||||||
"viewJobImages": "Viewez le Job Images",
|
"french": "Francais",
|
||||||
"printCenter": "Printez Centre",
|
"spanish": "Espanol"
|
||||||
"postInvoices": "Postez le Invoices",
|
}
|
||||||
"notes": "Le Job Notes",
|
},
|
||||||
"partStatus": "Status de Parts",
|
"jobs": {
|
||||||
"receiveParts": "Receive Parts"
|
"actions": {
|
||||||
}
|
"addDocuments": "Ajouter des documents de travail",
|
||||||
}
|
"addNote": "Ajouter une note",
|
||||||
|
"postInvoices": "Poster des factures",
|
||||||
|
"printCenter": "Centre d'impression"
|
||||||
|
},
|
||||||
|
"errors": {
|
||||||
|
"noaccess": "Ce travail n'existe pas ou vous n'y avez pas accès.",
|
||||||
|
"nojobselected": "Aucun travail n'est sélectionné.",
|
||||||
|
"noowner": "Aucun propriétaire associé.",
|
||||||
|
"novehicle": "Aucun véhicule associé.",
|
||||||
|
"saving": "Erreur rencontrée lors de la sauvegarde de l'enregistrement.",
|
||||||
|
"validation": "Veuillez vous assurer que tous les champs sont correctement entrés.",
|
||||||
|
"validationtitle": "Erreur de validation"
|
||||||
|
},
|
||||||
|
"fields": {
|
||||||
|
"claim_total": "Total réclamation",
|
||||||
|
"clm_no": "Prétendre #",
|
||||||
|
"clm_total": "Total réclamation",
|
||||||
|
"deductible": "Déductible",
|
||||||
|
"est_number": "Numéro d'estimation",
|
||||||
|
"owner": "Propriétaire",
|
||||||
|
"owner_owing": "Cust. Owes",
|
||||||
|
"phone1": "Téléphone 1",
|
||||||
|
"ro_number": "RO #",
|
||||||
|
"status": "Statut de l'emploi",
|
||||||
|
"vehicle": "Véhicule"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"cards": {
|
||||||
|
"appraiser": "Expert",
|
||||||
|
"customer": "Informations client",
|
||||||
|
"damage": "Zone de dommages",
|
||||||
|
"dates": "Rendez-vous",
|
||||||
|
"documents": "Les documents",
|
||||||
|
"estimator": "Estimateur",
|
||||||
|
"filehandler": "Gestionnaire de fichiers",
|
||||||
|
"insurance": "Détails de l'assurance",
|
||||||
|
"notes": "Remarques",
|
||||||
|
"parts": "les pièces",
|
||||||
|
"totals": "Totaux",
|
||||||
|
"vehicle": "Véhicule"
|
||||||
|
},
|
||||||
|
"convert": "Convertir",
|
||||||
|
"vehicle_info": "Véhicule"
|
||||||
|
},
|
||||||
|
"successes": {
|
||||||
|
"converted": "Travail converti avec succès.",
|
||||||
|
"save": "Enregistrement enregistré",
|
||||||
|
"savetitle": "Enregistrement enregistré avec succès."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"menus": {
|
||||||
|
"currentuser": {
|
||||||
|
"languageselector": "La langue",
|
||||||
|
"profile": "Profil"
|
||||||
|
},
|
||||||
|
"profilesidebar": {
|
||||||
|
"profile": "Mon profil",
|
||||||
|
"shops": "Mes boutiques"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"fields": {
|
||||||
|
"critical": "Critique",
|
||||||
|
"private": "privé",
|
||||||
|
"text": "Contenu"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"newnoteplaceholder": "Ajouter une note..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"profile": {
|
||||||
|
"errors": {
|
||||||
|
"state": "Erreur lors de la lecture de l'état de la page. Rafraichissez, s'il vous plait."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"titles": {
|
||||||
|
"app": "Carrosserie par ImEX Systems",
|
||||||
|
"jobs": "Tous les emplois | $t(titles.app)",
|
||||||
|
"jobsdetail": "Travail {{ro_number}} | $t(titles.app)",
|
||||||
|
"profile": "Mon profil | $ t (titres.app)"
|
||||||
|
},
|
||||||
|
"vehicles": {
|
||||||
|
"fields": {
|
||||||
|
"plate_no": "Plaque d'immatriculation"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- args:
|
||||||
|
sql: DROP TABLE "public"."counters"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
- args:
|
||||||
|
sql: CREATE EXTENSION IF NOT EXISTS pgcrypto;
|
||||||
|
type: run_sql
|
||||||
|
- args:
|
||||||
|
sql: "CREATE TABLE \"public\".\"counters\"(\"id\" uuid NOT NULL DEFAULT gen_random_uuid(),
|
||||||
|
\"updated_at\" timestamptz NOT NULL DEFAULT now(), \"shopid\" uuid NOT NULL,
|
||||||
|
\"countertype\" text NOT NULL, \"prefix\" text, \"count\" integer NOT NULL DEFAULT
|
||||||
|
1, PRIMARY KEY (\"id\") , FOREIGN KEY (\"shopid\") REFERENCES \"public\".\"bodyshops\"(\"id\")
|
||||||
|
ON UPDATE cascade ON DELETE cascade);\nCREATE OR REPLACE FUNCTION \"public\".\"set_current_timestamp_updated_at\"()\nRETURNS
|
||||||
|
TRIGGER AS $$\nDECLARE\n _new record;\nBEGIN\n _new := NEW;\n _new.\"updated_at\"
|
||||||
|
= NOW();\n RETURN _new;\nEND;\n$$ LANGUAGE plpgsql;\nCREATE TRIGGER \"set_public_counters_updated_at\"\nBEFORE
|
||||||
|
UPDATE ON \"public\".\"counters\"\nFOR EACH ROW\nEXECUTE PROCEDURE \"public\".\"set_current_timestamp_updated_at\"();\nCOMMENT
|
||||||
|
ON TRIGGER \"set_public_counters_updated_at\" ON \"public\".\"counters\" \nIS
|
||||||
|
'trigger to set value of column \"updated_at\" to current timestamp on row update';\n"
|
||||||
|
type: run_sql
|
||||||
|
- args:
|
||||||
|
name: counters
|
||||||
|
schema: public
|
||||||
|
type: add_existing_table_or_view
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
- args:
|
||||||
|
relationship: counters
|
||||||
|
table:
|
||||||
|
name: bodyshops
|
||||||
|
schema: public
|
||||||
|
type: drop_relationship
|
||||||
|
- args:
|
||||||
|
relationship: bodyshop
|
||||||
|
table:
|
||||||
|
name: counters
|
||||||
|
schema: public
|
||||||
|
type: drop_relationship
|
||||||
|
- args:
|
||||||
|
relationship: user
|
||||||
|
table:
|
||||||
|
name: notes
|
||||||
|
schema: public
|
||||||
|
type: drop_relationship
|
||||||
|
- args:
|
||||||
|
relationship: notes
|
||||||
|
table:
|
||||||
|
name: users
|
||||||
|
schema: public
|
||||||
|
type: drop_relationship
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
- args:
|
||||||
|
name: counters
|
||||||
|
table:
|
||||||
|
name: bodyshops
|
||||||
|
schema: public
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on:
|
||||||
|
column: shopid
|
||||||
|
table:
|
||||||
|
name: counters
|
||||||
|
schema: public
|
||||||
|
type: create_array_relationship
|
||||||
|
- args:
|
||||||
|
name: bodyshop
|
||||||
|
table:
|
||||||
|
name: counters
|
||||||
|
schema: public
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on: shopid
|
||||||
|
type: create_object_relationship
|
||||||
|
- args:
|
||||||
|
name: user
|
||||||
|
table:
|
||||||
|
name: notes
|
||||||
|
schema: public
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on: created_by
|
||||||
|
type: create_object_relationship
|
||||||
|
- args:
|
||||||
|
name: notes
|
||||||
|
table:
|
||||||
|
name: users
|
||||||
|
schema: public
|
||||||
|
using:
|
||||||
|
foreign_key_constraint_on:
|
||||||
|
column: created_by
|
||||||
|
table:
|
||||||
|
name: notes
|
||||||
|
schema: public
|
||||||
|
type: create_array_relationship
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE OR REPLACE FUNCTION assign_ro_number()\r\n RETURNS trigger\r\n LANGUAGE
|
||||||
|
plpgsql\r\nAS $function$\r\n begin\r\n IF NEW.converted = true and
|
||||||
|
new.ro_number is null THEN\r\n UPDATE counters\r\n\tSET count = count
|
||||||
|
+ 1 where shopid=new.shopid\r\n\tRETURNING CONCAT(prefix,count) into new.ro_number;\r\n\r\n
|
||||||
|
\ END IF;\r\n RETURN NEW;\r\n END;\r\n $function$\r\n;\r\n"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "create trigger jobs_assign_RO before\r\nupdate\r\n on\r\n jobs for
|
||||||
|
each row execute function assign_ro_number();\r\n"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
- args:
|
||||||
|
sql: ALTER TABLE "public"."jobs" DROP COLUMN "converted";
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
- args:
|
||||||
|
sql: ALTER TABLE "public"."jobs" ADD COLUMN "converted" boolean NOT NULL DEFAULT
|
||||||
|
false;
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1,128 @@
|
|||||||
|
- 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:
|
||||||
|
- id
|
||||||
|
- created_at
|
||||||
|
- updated_at
|
||||||
|
- shopid
|
||||||
|
- est_number
|
||||||
|
- ro_number
|
||||||
|
- ownerid
|
||||||
|
- vehicleid
|
||||||
|
- labor_rate_id
|
||||||
|
- labor_rate_desc
|
||||||
|
- rate_lab
|
||||||
|
- rate_lad
|
||||||
|
- rate_lae
|
||||||
|
- rate_lar
|
||||||
|
- rate_las
|
||||||
|
- rate_laf
|
||||||
|
- rate_lam
|
||||||
|
- rate_lag
|
||||||
|
- rate_atp
|
||||||
|
- rate_lau
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- rate_mapa
|
||||||
|
- rate_mash
|
||||||
|
- rate_mahw
|
||||||
|
- rate_ma2s
|
||||||
|
- rate_ma3s
|
||||||
|
- rate_ma2t
|
||||||
|
- rate_mabl
|
||||||
|
- rate_macs
|
||||||
|
- rate_matd
|
||||||
|
- federal_tax_rate
|
||||||
|
- state_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- est_co_nm
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- est_ctry
|
||||||
|
- est_ph1
|
||||||
|
- est_ea
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ct_fn
|
||||||
|
- scheduled_in
|
||||||
|
- actual_in
|
||||||
|
- scheduled_completion
|
||||||
|
- actual_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- actual_delivery
|
||||||
|
- regie_number
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- deductible
|
||||||
|
- inproduction
|
||||||
|
- statusid
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- ins_co_id
|
||||||
|
- ins_co_nm
|
||||||
|
- ins_addr1
|
||||||
|
- ins_addr2
|
||||||
|
- ins_city
|
||||||
|
- ins_st
|
||||||
|
- ins_zip
|
||||||
|
- ins_ctry
|
||||||
|
- ins_ph1
|
||||||
|
- ins_ph1x
|
||||||
|
- ins_ph2
|
||||||
|
- ins_ph2x
|
||||||
|
- ins_fax
|
||||||
|
- ins_faxx
|
||||||
|
- ins_ct_ln
|
||||||
|
- ins_ct_fn
|
||||||
|
- ins_title
|
||||||
|
- ins_ct_ph
|
||||||
|
- ins_ct_phx
|
||||||
|
- ins_ea
|
||||||
|
- ins_memo
|
||||||
|
- policy_no
|
||||||
|
- ded_amt
|
||||||
|
- ded_status
|
||||||
|
- asgn_no
|
||||||
|
- asgn_date
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- date_estimated
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- date_invoiced
|
||||||
|
- date_closed
|
||||||
|
- date_exported
|
||||||
|
- clm_total
|
||||||
|
- owner_owing
|
||||||
|
localPresets:
|
||||||
|
- key: ""
|
||||||
|
value: ""
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: create_insert_permission
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
- 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:
|
||||||
|
- id
|
||||||
|
- created_at
|
||||||
|
- updated_at
|
||||||
|
- shopid
|
||||||
|
- est_number
|
||||||
|
- ro_number
|
||||||
|
- ownerid
|
||||||
|
- vehicleid
|
||||||
|
- labor_rate_id
|
||||||
|
- labor_rate_desc
|
||||||
|
- rate_lab
|
||||||
|
- rate_lad
|
||||||
|
- rate_lae
|
||||||
|
- rate_lar
|
||||||
|
- rate_las
|
||||||
|
- rate_laf
|
||||||
|
- rate_lam
|
||||||
|
- rate_lag
|
||||||
|
- rate_atp
|
||||||
|
- rate_lau
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- rate_mapa
|
||||||
|
- rate_mash
|
||||||
|
- rate_mahw
|
||||||
|
- rate_ma2s
|
||||||
|
- rate_ma3s
|
||||||
|
- rate_ma2t
|
||||||
|
- rate_mabl
|
||||||
|
- rate_macs
|
||||||
|
- rate_matd
|
||||||
|
- federal_tax_rate
|
||||||
|
- state_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- est_co_nm
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- est_ctry
|
||||||
|
- est_ph1
|
||||||
|
- est_ea
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ct_fn
|
||||||
|
- scheduled_in
|
||||||
|
- actual_in
|
||||||
|
- scheduled_completion
|
||||||
|
- actual_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- actual_delivery
|
||||||
|
- regie_number
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- deductible
|
||||||
|
- inproduction
|
||||||
|
- statusid
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- ins_co_id
|
||||||
|
- ins_co_nm
|
||||||
|
- ins_addr1
|
||||||
|
- ins_addr2
|
||||||
|
- ins_city
|
||||||
|
- ins_st
|
||||||
|
- ins_zip
|
||||||
|
- ins_ctry
|
||||||
|
- ins_ph1
|
||||||
|
- ins_ph1x
|
||||||
|
- ins_ph2
|
||||||
|
- ins_ph2x
|
||||||
|
- ins_fax
|
||||||
|
- ins_faxx
|
||||||
|
- ins_ct_ln
|
||||||
|
- ins_ct_fn
|
||||||
|
- ins_title
|
||||||
|
- ins_ct_ph
|
||||||
|
- ins_ct_phx
|
||||||
|
- ins_ea
|
||||||
|
- ins_memo
|
||||||
|
- policy_no
|
||||||
|
- ded_amt
|
||||||
|
- ded_status
|
||||||
|
- asgn_no
|
||||||
|
- asgn_date
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- date_estimated
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- date_invoiced
|
||||||
|
- date_closed
|
||||||
|
- date_exported
|
||||||
|
- clm_total
|
||||||
|
- owner_owing
|
||||||
|
- converted
|
||||||
|
localPresets:
|
||||||
|
- key: ""
|
||||||
|
value: ""
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: create_insert_permission
|
||||||
@@ -0,0 +1,126 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: drop_select_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
allow_aggregations: false
|
||||||
|
columns:
|
||||||
|
- ded_status
|
||||||
|
- inproduction
|
||||||
|
- asgn_date
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- clm_total
|
||||||
|
- ded_amt
|
||||||
|
- deductible
|
||||||
|
- federal_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- owner_owing
|
||||||
|
- rate_atp
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- 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
|
||||||
|
- state_tax_rate
|
||||||
|
- asgn_no
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_co_nm
|
||||||
|
- est_ct_fn
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ctry
|
||||||
|
- est_ea
|
||||||
|
- est_number
|
||||||
|
- est_ph1
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- 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
|
||||||
|
- labor_rate_desc
|
||||||
|
- labor_rate_id
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- policy_no
|
||||||
|
- regie_number
|
||||||
|
- ro_number
|
||||||
|
- actual_completion
|
||||||
|
- actual_delivery
|
||||||
|
- actual_in
|
||||||
|
- created_at
|
||||||
|
- date_closed
|
||||||
|
- date_estimated
|
||||||
|
- date_exported
|
||||||
|
- date_invoiced
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- scheduled_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- scheduled_in
|
||||||
|
- updated_at
|
||||||
|
- id
|
||||||
|
- ownerid
|
||||||
|
- shopid
|
||||||
|
- statusid
|
||||||
|
- vehicleid
|
||||||
|
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,127 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: drop_select_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
allow_aggregations: false
|
||||||
|
columns:
|
||||||
|
- converted
|
||||||
|
- ded_status
|
||||||
|
- inproduction
|
||||||
|
- asgn_date
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- clm_total
|
||||||
|
- ded_amt
|
||||||
|
- deductible
|
||||||
|
- federal_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- owner_owing
|
||||||
|
- rate_atp
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- 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
|
||||||
|
- state_tax_rate
|
||||||
|
- asgn_no
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_co_nm
|
||||||
|
- est_ct_fn
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ctry
|
||||||
|
- est_ea
|
||||||
|
- est_number
|
||||||
|
- est_ph1
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- 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
|
||||||
|
- labor_rate_desc
|
||||||
|
- labor_rate_id
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- policy_no
|
||||||
|
- regie_number
|
||||||
|
- ro_number
|
||||||
|
- actual_completion
|
||||||
|
- actual_delivery
|
||||||
|
- actual_in
|
||||||
|
- created_at
|
||||||
|
- date_closed
|
||||||
|
- date_estimated
|
||||||
|
- date_exported
|
||||||
|
- date_invoiced
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- scheduled_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- scheduled_in
|
||||||
|
- updated_at
|
||||||
|
- id
|
||||||
|
- ownerid
|
||||||
|
- shopid
|
||||||
|
- statusid
|
||||||
|
- vehicleid
|
||||||
|
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,128 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: drop_update_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
columns:
|
||||||
|
- ded_status
|
||||||
|
- inproduction
|
||||||
|
- asgn_date
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- clm_total
|
||||||
|
- ded_amt
|
||||||
|
- deductible
|
||||||
|
- federal_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- owner_owing
|
||||||
|
- rate_atp
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- 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
|
||||||
|
- state_tax_rate
|
||||||
|
- asgn_no
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_co_nm
|
||||||
|
- est_ct_fn
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ctry
|
||||||
|
- est_ea
|
||||||
|
- est_number
|
||||||
|
- est_ph1
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- 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
|
||||||
|
- labor_rate_desc
|
||||||
|
- labor_rate_id
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- policy_no
|
||||||
|
- regie_number
|
||||||
|
- ro_number
|
||||||
|
- actual_completion
|
||||||
|
- actual_delivery
|
||||||
|
- actual_in
|
||||||
|
- created_at
|
||||||
|
- date_closed
|
||||||
|
- date_estimated
|
||||||
|
- date_exported
|
||||||
|
- date_invoiced
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- scheduled_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- scheduled_in
|
||||||
|
- updated_at
|
||||||
|
- id
|
||||||
|
- ownerid
|
||||||
|
- shopid
|
||||||
|
- statusid
|
||||||
|
- vehicleid
|
||||||
|
filter:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
localPresets:
|
||||||
|
- key: ""
|
||||||
|
value: ""
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: create_update_permission
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
- args:
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: drop_update_permission
|
||||||
|
- args:
|
||||||
|
permission:
|
||||||
|
columns:
|
||||||
|
- converted
|
||||||
|
- ded_status
|
||||||
|
- inproduction
|
||||||
|
- asgn_date
|
||||||
|
- invoice_date
|
||||||
|
- claim_total
|
||||||
|
- clm_total
|
||||||
|
- ded_amt
|
||||||
|
- deductible
|
||||||
|
- federal_tax_rate
|
||||||
|
- local_tax_rate
|
||||||
|
- owner_owing
|
||||||
|
- rate_atp
|
||||||
|
- rate_la1
|
||||||
|
- rate_la2
|
||||||
|
- rate_la3
|
||||||
|
- rate_la4
|
||||||
|
- 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
|
||||||
|
- state_tax_rate
|
||||||
|
- asgn_no
|
||||||
|
- asgn_type
|
||||||
|
- clm_no
|
||||||
|
- clm_ofc_id
|
||||||
|
- est_addr1
|
||||||
|
- est_addr2
|
||||||
|
- est_city
|
||||||
|
- est_co_nm
|
||||||
|
- est_ct_fn
|
||||||
|
- est_ct_ln
|
||||||
|
- est_ctry
|
||||||
|
- est_ea
|
||||||
|
- est_number
|
||||||
|
- est_ph1
|
||||||
|
- est_st
|
||||||
|
- est_zip
|
||||||
|
- 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
|
||||||
|
- labor_rate_desc
|
||||||
|
- labor_rate_id
|
||||||
|
- pit_owner_email
|
||||||
|
- pit_owner_first_name
|
||||||
|
- pit_owner_last_name
|
||||||
|
- pit_owner_phone
|
||||||
|
- pit_vehicle_plate_no
|
||||||
|
- policy_no
|
||||||
|
- regie_number
|
||||||
|
- ro_number
|
||||||
|
- actual_completion
|
||||||
|
- actual_delivery
|
||||||
|
- actual_in
|
||||||
|
- created_at
|
||||||
|
- date_closed
|
||||||
|
- date_estimated
|
||||||
|
- date_exported
|
||||||
|
- date_invoiced
|
||||||
|
- date_open
|
||||||
|
- date_scheduled
|
||||||
|
- scheduled_completion
|
||||||
|
- scheduled_delivery
|
||||||
|
- scheduled_in
|
||||||
|
- updated_at
|
||||||
|
- id
|
||||||
|
- ownerid
|
||||||
|
- shopid
|
||||||
|
- statusid
|
||||||
|
- vehicleid
|
||||||
|
filter:
|
||||||
|
bodyshop:
|
||||||
|
associations:
|
||||||
|
_and:
|
||||||
|
- user:
|
||||||
|
authid:
|
||||||
|
_eq: X-Hasura-User-Id
|
||||||
|
- active:
|
||||||
|
_eq: true
|
||||||
|
localPresets:
|
||||||
|
- key: ""
|
||||||
|
value: ""
|
||||||
|
set: {}
|
||||||
|
role: user
|
||||||
|
table:
|
||||||
|
name: jobs
|
||||||
|
schema: public
|
||||||
|
type: create_update_permission
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE OR REPLACE FUNCTION public.assign_ro_number()\r\n RETURNS trigger\r\n
|
||||||
|
LANGUAGE plpgsql\r\nAS $function$\r\n begin\r\n IF NEW.converted
|
||||||
|
= true and new.ro_number is null THEN\r\n UPDATE counters\r\n\tSET
|
||||||
|
count = count + 1 where shopid=new.shopid AND countertype=\"ronum\"\r\n\tRETURNING
|
||||||
|
CONCAT(prefix,count) into new.ro_number;\r\n\r\n END IF;\r\n RETURN
|
||||||
|
NEW;\r\n END;\r\n $function$\r\n;\r\n"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE OR REPLACE FUNCTION public.assign_ro_number()\r\n RETURNS trigger\r\n
|
||||||
|
LANGUAGE plpgsql\r\nAS $function$\r\n begin\r\n IF NEW.converted
|
||||||
|
= true and (new.ro_number is null or new.ro_number = '') THEN\r\n UPDATE
|
||||||
|
counters\r\n\tSET count = count + 1 where shopid=new.shopid AND countertype
|
||||||
|
= 'ronum'\r\n\tRETURNING count into new.ro_number;\r\n\r\n END IF;\r\n
|
||||||
|
\ RETURN NEW;\r\n END;\r\n $function$\r\n;\r\n"
|
||||||
|
type: run_sql
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
- args:
|
||||||
|
cascade: true
|
||||||
|
sql: "CREATE OR REPLACE FUNCTION public.assign_ro_number()\r\n RETURNS trigger\r\n
|
||||||
|
LANGUAGE plpgsql\r\nAS $function$\r\n begin\r\n IF NEW.converted
|
||||||
|
= true and (new.ro_number is null or new.ro_number = '') THEN\r\n UPDATE
|
||||||
|
counters\r\n\tSET count = count + 1 where shopid=new.shopid AND countertype
|
||||||
|
= 'ronum'\r\n\tRETURNING concat(prefix,count) into new.ro_number;\r\n\r\n END
|
||||||
|
IF;\r\n RETURN NEW;\r\n END;\r\n $function$\r\n;\r\n"
|
||||||
|
type: run_sql
|
||||||
Reference in New Issue
Block a user