({
+ //setUserLanguage: language => dispatch(setUserLanguage(language))
+});
+
+export function ScheduleAtChange({ bodyshop, event }) {
+ const [updateAppointment] = useMutation(UPDATE_APPOINTMENT);
+ const { t } = useTranslation();
+
+ const onClick = async ({ key }) => {
+ const result = await updateAppointment({
+ variables: { appid: event.id, app: { alt_transport: key } },
+ });
+
+ if (!!!result.errors) {
+ notification["success"]({ message: t("appointments.successes.saved") });
+ } else {
+ notification["error"]({
+ message: t("appointments.errors.saving", {
+ error: JSON.stringify(result.errors),
+ }),
+ });
+ }
+ };
+ const menu = (
+
+ );
+ return (
+
+ e.preventDefault()}>
+
+
+
+ );
+}
+export default connect(mapStateToProps, mapDispatchToProps)(ScheduleAtChange);
diff --git a/client/src/components/schedule-event/schedule-event.component.jsx b/client/src/components/schedule-event/schedule-event.component.jsx
index 82600aa7a..d7b0b795b 100644
--- a/client/src/components/schedule-event/schedule-event.component.jsx
+++ b/client/src/components/schedule-event/schedule-event.component.jsx
@@ -7,6 +7,7 @@ import { setModalContext } from "../../redux/modals/modals.actions";
import CurrencyFormatter from "../../utils/CurrencyFormatter";
import PhoneFormatter from "../../utils/PhoneFormatter";
import DataLabel from "../data-label/data-label.component";
+import ScheduleAtChange from "./schedule-event.at.component";
import ScheduleEventColor from "./schedule-event.color.component";
const mapDispatchToProps = (dispatch) => ({
@@ -63,6 +64,10 @@ export function ScheduleEventComponent({
{(event.job && event.job.ownr_ph1) || ""}
+
+ {event.alt_transport || ""}
+
+
) : null}
@@ -129,6 +134,9 @@ export function ScheduleEventComponent({
(event.job && event.job.larhrs.aggregate.sum.mod_lb_hrs) || "0"
})`}
+ {event.alt_transport && (
+ {event.alt_transport}
+ )}
) : (
diff --git a/client/src/components/schedule-job-modal/schedule-job-modal.component.jsx b/client/src/components/schedule-job-modal/schedule-job-modal.component.jsx
index bf97c151e..6084bc46f 100644
--- a/client/src/components/schedule-job-modal/schedule-job-modal.component.jsx
+++ b/client/src/components/schedule-job-modal/schedule-job-modal.component.jsx
@@ -68,7 +68,7 @@ export function ScheduleJobModalComponent({
-
+
-
+
+
+
+
{t("appointments.labels.history")}
-
+
+
+
{(fields, { add, remove, move }) => {
return (
diff --git a/client/src/graphql/appointments.queries.js b/client/src/graphql/appointments.queries.js
index f461896c7..e61b90ebe 100644
--- a/client/src/graphql/appointments.queries.js
+++ b/client/src/graphql/appointments.queries.js
@@ -20,6 +20,7 @@ export const QUERY_ALL_ACTIVE_APPOINTMENTS = gql`
isintake
block
color
+ alt_transport
job {
ro_number
ownr_ln
@@ -64,6 +65,7 @@ export const INSERT_APPOINTMENT = gql`
title
isintake
block
+ alt_transport
}
}
}
@@ -79,6 +81,8 @@ export const QUERY_APPOINTMENT_BY_DATE = gql`
end
title
isintake
+ alt_transport
+
job {
ro_number
ownr_ln
@@ -125,6 +129,7 @@ export const UPDATE_APPOINTMENT = gql`
title
isintake
block
+ alt_transport
color
}
}
@@ -155,6 +160,7 @@ export const QUERY_APPOINTMENTS_BY_JOBID = gql`
arrived
canceled
created_at
+ alt_transport
}
}
`;
diff --git a/client/src/graphql/bodyshop.queries.js b/client/src/graphql/bodyshop.queries.js
index ebcbd4fbe..dfca953e2 100644
--- a/client/src/graphql/bodyshop.queries.js
+++ b/client/src/graphql/bodyshop.queries.js
@@ -71,6 +71,7 @@ export const QUERY_BODYSHOP = gql`
deliverchecklist
target_touchtime
appt_colors
+ appt_alt_transport
employees {
id
first_name
@@ -140,6 +141,7 @@ export const UPDATE_SHOP = gql`
deliverchecklist
target_touchtime
appt_colors
+ appt_alt_transport
employees {
id
first_name
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index 7b347668b..7f9ce9eb9 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -33,6 +33,7 @@
"saving": "Error scheduling appointment. {{message}}"
},
"fields": {
+ "alt_transport": "A.T.",
"color": "Color",
"time": "Appointment Time",
"title": "Title"
@@ -53,7 +54,8 @@
},
"successes": {
"canceled": "Appointment canceled successfully.",
- "created": "Appointment scheduled successfully."
+ "created": "Appointment scheduled successfully.",
+ "saved": "Appointment saved successfully."
}
},
"associations": {
diff --git a/client/src/translations/es/common.json b/client/src/translations/es/common.json
index 7c066b43e..819f4ff2f 100644
--- a/client/src/translations/es/common.json
+++ b/client/src/translations/es/common.json
@@ -33,6 +33,7 @@
"saving": "Error al programar la cita. {{message}}"
},
"fields": {
+ "alt_transport": "",
"color": "",
"time": "",
"title": "Título"
@@ -53,7 +54,8 @@
},
"successes": {
"canceled": "Cita cancelada con éxito.",
- "created": "Cita programada con éxito."
+ "created": "Cita programada con éxito.",
+ "saved": ""
}
},
"associations": {
diff --git a/client/src/translations/fr/common.json b/client/src/translations/fr/common.json
index 159e3b327..602418c40 100644
--- a/client/src/translations/fr/common.json
+++ b/client/src/translations/fr/common.json
@@ -33,6 +33,7 @@
"saving": "Erreur lors de la planification du rendez-vous. {{message}}"
},
"fields": {
+ "alt_transport": "",
"color": "",
"time": "",
"title": "Titre"
@@ -53,7 +54,8 @@
},
"successes": {
"canceled": "Rendez-vous annulé avec succès.",
- "created": "Rendez-vous planifié avec succès."
+ "created": "Rendez-vous planifié avec succès.",
+ "saved": ""
}
},
"associations": {
diff --git a/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/down.yaml b/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/down.yaml
new file mode 100644
index 000000000..03b05d199
--- /dev/null
+++ b/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/down.yaml
@@ -0,0 +1,5 @@
+- args:
+ cascade: false
+ read_only: false
+ sql: ALTER TABLE "public"."appointments" DROP COLUMN "alt_transport";
+ type: run_sql
diff --git a/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/up.yaml b/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/up.yaml
new file mode 100644
index 000000000..d09f0a610
--- /dev/null
+++ b/hasura/migrations/1601400921029_alter_table_public_appointments_add_column_alt_transport/up.yaml
@@ -0,0 +1,5 @@
+- args:
+ cascade: false
+ read_only: false
+ sql: ALTER TABLE "public"."appointments" ADD COLUMN "alt_transport" text NULL;
+ type: run_sql
diff --git a/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/down.yaml b/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/down.yaml
new file mode 100644
index 000000000..6ede145d6
--- /dev/null
+++ b/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/down.yaml
@@ -0,0 +1,37 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_insert_permission
+- args:
+ permission:
+ check:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ columns:
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ set: {}
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_insert_permission
diff --git a/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/up.yaml b/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/up.yaml
new file mode 100644
index 000000000..f3d0a358e
--- /dev/null
+++ b/hasura/migrations/1601400929812_update_permission_user_public_table_appointments/up.yaml
@@ -0,0 +1,38 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_insert_permission
+- args:
+ permission:
+ check:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ columns:
+ - alt_transport
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ set: {}
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_insert_permission
diff --git a/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/down.yaml b/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/down.yaml
new file mode 100644
index 000000000..049d91b6a
--- /dev/null
+++ b/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/down.yaml
@@ -0,0 +1,38 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: true
+ columns:
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ computed_fields: []
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/up.yaml b/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/up.yaml
new file mode 100644
index 000000000..e87257348
--- /dev/null
+++ b/hasura/migrations/1601400937507_update_permission_user_public_table_appointments/up.yaml
@@ -0,0 +1,39 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: true
+ columns:
+ - alt_transport
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ computed_fields: []
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/down.yaml b/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/down.yaml
new file mode 100644
index 000000000..68d734d03
--- /dev/null
+++ b/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/down.yaml
@@ -0,0 +1,37 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ set: {}
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/up.yaml b/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/up.yaml
new file mode 100644
index 000000000..0b3797e50
--- /dev/null
+++ b/hasura/migrations/1601400944178_update_permission_user_public_table_appointments/up.yaml
@@ -0,0 +1,38 @@
+- args:
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - alt_transport
+ - arrived
+ - block
+ - bodyshopid
+ - canceled
+ - color
+ - created_at
+ - end
+ - id
+ - isintake
+ - jobid
+ - start
+ - title
+ - updated_at
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ set: {}
+ role: user
+ table:
+ name: appointments
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/down.yaml b/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/down.yaml
new file mode 100644
index 000000000..c67f58702
--- /dev/null
+++ b/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/down.yaml
@@ -0,0 +1,5 @@
+- args:
+ cascade: false
+ read_only: false
+ sql: ALTER TABLE "public"."bodyshops" DROP COLUMN "appt_alt_transport";
+ type: run_sql
diff --git a/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/up.yaml b/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/up.yaml
new file mode 100644
index 000000000..7a0696323
--- /dev/null
+++ b/hasura/migrations/1601401615051_alter_table_public_bodyshops_add_column_appt_alt_transport/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ cascade: false
+ read_only: false
+ sql: ALTER TABLE "public"."bodyshops" ADD COLUMN "appt_alt_transport" jsonb NULL
+ DEFAULT jsonb_build_array();
+ type: run_sql
diff --git a/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/down.yaml b/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/down.yaml
new file mode 100644
index 000000000..86a8318df
--- /dev/null
+++ b/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/down.yaml
@@ -0,0 +1,71 @@
+- args:
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: false
+ columns:
+ - accountingconfig
+ - address1
+ - address2
+ - appt_colors
+ - appt_length
+ - bill_tax_rates
+ - city
+ - country
+ - created_at
+ - deliverchecklist
+ - email
+ - enforce_class
+ - federal_tax_id
+ - id
+ - inhousevendorid
+ - insurance_vendor_id
+ - intakechecklist
+ - logo_img_path
+ - md_categories
+ - md_classes
+ - md_ins_cos
+ - md_labor_rates
+ - md_messaging_presets
+ - md_notes_presets
+ - md_order_statuses
+ - md_parts_locations
+ - md_rbac
+ - md_referral_sources
+ - md_responsibility_centers
+ - md_ro_statuses
+ - messagingservicesid
+ - phone
+ - prodtargethrs
+ - production_config
+ - region_config
+ - scoreboard_target
+ - shopname
+ - shoprates
+ - speedprint
+ - ssbuckets
+ - state
+ - state_tax_id
+ - stripe_acct_id
+ - target_touchtime
+ - template_header
+ - textid
+ - updated_at
+ - zip_post
+ computed_fields: []
+ filter:
+ associations:
+ bodyshop:
+ associations:
+ user:
+ authid:
+ _eq: X-Hasura-User-Id
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/up.yaml b/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/up.yaml
new file mode 100644
index 000000000..2b690bd5e
--- /dev/null
+++ b/hasura/migrations/1601401627582_update_permission_user_public_table_bodyshops/up.yaml
@@ -0,0 +1,72 @@
+- args:
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: false
+ columns:
+ - accountingconfig
+ - address1
+ - address2
+ - appt_alt_transport
+ - appt_colors
+ - appt_length
+ - bill_tax_rates
+ - city
+ - country
+ - created_at
+ - deliverchecklist
+ - email
+ - enforce_class
+ - federal_tax_id
+ - id
+ - inhousevendorid
+ - insurance_vendor_id
+ - intakechecklist
+ - logo_img_path
+ - md_categories
+ - md_classes
+ - md_ins_cos
+ - md_labor_rates
+ - md_messaging_presets
+ - md_notes_presets
+ - md_order_statuses
+ - md_parts_locations
+ - md_rbac
+ - md_referral_sources
+ - md_responsibility_centers
+ - md_ro_statuses
+ - messagingservicesid
+ - phone
+ - prodtargethrs
+ - production_config
+ - region_config
+ - scoreboard_target
+ - shopname
+ - shoprates
+ - speedprint
+ - ssbuckets
+ - state
+ - state_tax_id
+ - stripe_acct_id
+ - target_touchtime
+ - template_header
+ - textid
+ - updated_at
+ - zip_post
+ computed_fields: []
+ filter:
+ associations:
+ bodyshop:
+ associations:
+ user:
+ authid:
+ _eq: X-Hasura-User-Id
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/down.yaml b/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/down.yaml
new file mode 100644
index 000000000..7774e363d
--- /dev/null
+++ b/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/down.yaml
@@ -0,0 +1,65 @@
+- args:
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - accountingconfig
+ - address1
+ - address2
+ - appt_colors
+ - appt_length
+ - bill_tax_rates
+ - city
+ - country
+ - created_at
+ - deliverchecklist
+ - email
+ - enforce_class
+ - federal_tax_id
+ - id
+ - inhousevendorid
+ - insurance_vendor_id
+ - intakechecklist
+ - logo_img_path
+ - md_categories
+ - md_classes
+ - md_ins_cos
+ - md_labor_rates
+ - md_messaging_presets
+ - md_notes_presets
+ - md_order_statuses
+ - md_parts_locations
+ - md_rbac
+ - md_referral_sources
+ - md_responsibility_centers
+ - md_ro_statuses
+ - phone
+ - prodtargethrs
+ - production_config
+ - scoreboard_target
+ - shopname
+ - shoprates
+ - speedprint
+ - ssbuckets
+ - state
+ - state_tax_id
+ - target_touchtime
+ - updated_at
+ - zip_post
+ filter:
+ associations:
+ bodyshop:
+ associations:
+ user:
+ authid:
+ _eq: X-Hasura-User-Id
+ set: {}
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/up.yaml b/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/up.yaml
new file mode 100644
index 000000000..49004b66e
--- /dev/null
+++ b/hasura/migrations/1601401633544_update_permission_user_public_table_bodyshops/up.yaml
@@ -0,0 +1,66 @@
+- args:
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - accountingconfig
+ - address1
+ - address2
+ - appt_alt_transport
+ - appt_colors
+ - appt_length
+ - bill_tax_rates
+ - city
+ - country
+ - created_at
+ - deliverchecklist
+ - email
+ - enforce_class
+ - federal_tax_id
+ - id
+ - inhousevendorid
+ - insurance_vendor_id
+ - intakechecklist
+ - logo_img_path
+ - md_categories
+ - md_classes
+ - md_ins_cos
+ - md_labor_rates
+ - md_messaging_presets
+ - md_notes_presets
+ - md_order_statuses
+ - md_parts_locations
+ - md_rbac
+ - md_referral_sources
+ - md_responsibility_centers
+ - md_ro_statuses
+ - phone
+ - prodtargethrs
+ - production_config
+ - scoreboard_target
+ - shopname
+ - shoprates
+ - speedprint
+ - ssbuckets
+ - state
+ - state_tax_id
+ - target_touchtime
+ - updated_at
+ - zip_post
+ filter:
+ associations:
+ bodyshop:
+ associations:
+ user:
+ authid:
+ _eq: X-Hasura-User-Id
+ set: {}
+ role: user
+ table:
+ name: bodyshops
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/metadata.yaml b/hasura/migrations/metadata.yaml
index aa353236f..8b2ef1bbc 100644
--- a/hasura/migrations/metadata.yaml
+++ b/hasura/migrations/metadata.yaml
@@ -105,6 +105,7 @@ tables:
- active:
_eq: true
columns:
+ - alt_transport
- arrived
- block
- bodyshopid
@@ -122,6 +123,7 @@ tables:
- role: user
permission:
columns:
+ - alt_transport
- arrived
- block
- bodyshopid
@@ -149,6 +151,7 @@ tables:
- role: user
permission:
columns:
+ - alt_transport
- arrived
- block
- bodyshopid
@@ -695,6 +698,7 @@ tables:
- accountingconfig
- address1
- address2
+ - appt_alt_transport
- appt_colors
- appt_length
- bill_tax_rates
@@ -754,6 +758,7 @@ tables:
- accountingconfig
- address1
- address2
+ - appt_alt_transport
- appt_colors
- appt_length
- bill_tax_rates