From 4bce6d996e0d0965c7d0fb1fab7aaded71b78b3e Mon Sep 17 00:00:00 2001 From: Patrick Fic <> Date: Tue, 1 Feb 2022 14:36:48 -0800 Subject: [PATCH 01/15] Create additional indexes for system performance. --- hasura/metadata/tables.yaml | 1 + .../1643754220677_create_index_appointments_bodyshopid/down.sql | 1 + .../1643754220677_create_index_appointments_bodyshopid/up.sql | 2 ++ .../1643754236595_create_index_appointments_jobid/down.sql | 1 + .../1643754236595_create_index_appointments_jobid/up.sql | 2 ++ .../1643754319186_create_index_appointments_start/down.sql | 1 + .../1643754319186_create_index_appointments_start/up.sql | 2 ++ .../1643754331642_create_index_appointments_end/down.sql | 1 + .../1643754331642_create_index_appointments_end/up.sql | 2 ++ .../1643754378424_create_index_associations_bodyshopid/down.sql | 1 + .../1643754378424_create_index_associations_bodyshopid/up.sql | 2 ++ .../1643754392524_create_index_associations_useremail/down.sql | 1 + .../1643754392524_create_index_associations_useremail/up.sql | 2 ++ .../1643754437492_create_index_invoicelines_billid/down.sql | 1 + .../1643754437492_create_index_invoicelines_billid/up.sql | 2 ++ .../1643754457975_create_index_invoicelines_jobid/down.sql | 1 + .../1643754457975_create_index_invoicelines_jobid/up.sql | 2 ++ .../migrations/1643754502559_create_index_bills_jobid/down.sql | 1 + hasura/migrations/1643754502559_create_index_bills_jobid/up.sql | 2 ++ .../1643754546098_create_index_conversations_shopid/down.sql | 1 + .../1643754546098_create_index_conversations_shopid/up.sql | 2 ++ .../1643754568249_create_index_documents_shopid/down.sql | 1 + .../1643754568249_create_index_documents_shopid/up.sql | 2 ++ .../1643754578738_create_index_documents_jobid/down.sql | 1 + .../1643754578738_create_index_documents_jobid/up.sql | 2 ++ .../1643754595056_create_index_documents_billid/down.sql | 1 + .../1643754595056_create_index_documents_billid/up.sql | 2 ++ .../1643754630502_create_index_jobline_jobid/down.sql | 1 + .../migrations/1643754630502_create_index_jobline_jobid/up.sql | 2 ++ .../1643754699100_create_index_jobs_updatedat/down.sql | 1 + .../migrations/1643754699100_create_index_jobs_updatedat/up.sql | 2 ++ .../1643754713233_create_index_jobs_bodyshopid/down.sql | 1 + .../1643754713233_create_index_jobs_bodyshopid/up.sql | 2 ++ .../1643754778452_create_index_messages_conversationid/down.sql | 1 + .../1643754778452_create_index_messages_conversationid/up.sql | 2 ++ .../1643754815536_create_index_timetickets_jobid/down.sql | 1 + .../1643754815536_create_index_timetickets_jobid/up.sql | 2 ++ .../1643754843797_create_index_parts_orders_jobid/down.sql | 1 + .../1643754843797_create_index_parts_orders_jobid/up.sql | 2 ++ .../1643754863849_create_index_parts_order_lines_poid/down.sql | 1 + .../1643754863849_create_index_parts_order_lines_poid/up.sql | 2 ++ .../down.sql | 1 + .../up.sql | 2 ++ 43 files changed, 64 insertions(+) create mode 100644 hasura/migrations/1643754220677_create_index_appointments_bodyshopid/down.sql create mode 100644 hasura/migrations/1643754220677_create_index_appointments_bodyshopid/up.sql create mode 100644 hasura/migrations/1643754236595_create_index_appointments_jobid/down.sql create mode 100644 hasura/migrations/1643754236595_create_index_appointments_jobid/up.sql create mode 100644 hasura/migrations/1643754319186_create_index_appointments_start/down.sql create mode 100644 hasura/migrations/1643754319186_create_index_appointments_start/up.sql create mode 100644 hasura/migrations/1643754331642_create_index_appointments_end/down.sql create mode 100644 hasura/migrations/1643754331642_create_index_appointments_end/up.sql create mode 100644 hasura/migrations/1643754378424_create_index_associations_bodyshopid/down.sql create mode 100644 hasura/migrations/1643754378424_create_index_associations_bodyshopid/up.sql create mode 100644 hasura/migrations/1643754392524_create_index_associations_useremail/down.sql create mode 100644 hasura/migrations/1643754392524_create_index_associations_useremail/up.sql create mode 100644 hasura/migrations/1643754437492_create_index_invoicelines_billid/down.sql create mode 100644 hasura/migrations/1643754437492_create_index_invoicelines_billid/up.sql create mode 100644 hasura/migrations/1643754457975_create_index_invoicelines_jobid/down.sql create mode 100644 hasura/migrations/1643754457975_create_index_invoicelines_jobid/up.sql create mode 100644 hasura/migrations/1643754502559_create_index_bills_jobid/down.sql create mode 100644 hasura/migrations/1643754502559_create_index_bills_jobid/up.sql create mode 100644 hasura/migrations/1643754546098_create_index_conversations_shopid/down.sql create mode 100644 hasura/migrations/1643754546098_create_index_conversations_shopid/up.sql create mode 100644 hasura/migrations/1643754568249_create_index_documents_shopid/down.sql create mode 100644 hasura/migrations/1643754568249_create_index_documents_shopid/up.sql create mode 100644 hasura/migrations/1643754578738_create_index_documents_jobid/down.sql create mode 100644 hasura/migrations/1643754578738_create_index_documents_jobid/up.sql create mode 100644 hasura/migrations/1643754595056_create_index_documents_billid/down.sql create mode 100644 hasura/migrations/1643754595056_create_index_documents_billid/up.sql create mode 100644 hasura/migrations/1643754630502_create_index_jobline_jobid/down.sql create mode 100644 hasura/migrations/1643754630502_create_index_jobline_jobid/up.sql create mode 100644 hasura/migrations/1643754699100_create_index_jobs_updatedat/down.sql create mode 100644 hasura/migrations/1643754699100_create_index_jobs_updatedat/up.sql create mode 100644 hasura/migrations/1643754713233_create_index_jobs_bodyshopid/down.sql create mode 100644 hasura/migrations/1643754713233_create_index_jobs_bodyshopid/up.sql create mode 100644 hasura/migrations/1643754778452_create_index_messages_conversationid/down.sql create mode 100644 hasura/migrations/1643754778452_create_index_messages_conversationid/up.sql create mode 100644 hasura/migrations/1643754815536_create_index_timetickets_jobid/down.sql create mode 100644 hasura/migrations/1643754815536_create_index_timetickets_jobid/up.sql create mode 100644 hasura/migrations/1643754843797_create_index_parts_orders_jobid/down.sql create mode 100644 hasura/migrations/1643754843797_create_index_parts_orders_jobid/up.sql create mode 100644 hasura/migrations/1643754863849_create_index_parts_order_lines_poid/down.sql create mode 100644 hasura/migrations/1643754863849_create_index_parts_order_lines_poid/up.sql create mode 100644 hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/down.sql create mode 100644 hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/up.sql diff --git a/hasura/metadata/tables.yaml b/hasura/metadata/tables.yaml index bfe8d623e..d4543e4e9 100644 --- a/hasura/metadata/tables.yaml +++ b/hasura/metadata/tables.yaml @@ -815,6 +815,7 @@ - email - enforce_class - enforce_referral + - entegral_id - features - federal_tax_id - id diff --git a/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/down.sql b/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/down.sql new file mode 100644 index 000000000..5e6247737 --- /dev/null +++ b/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "appointments_bodyshopid"; diff --git a/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/up.sql b/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/up.sql new file mode 100644 index 000000000..97744940a --- /dev/null +++ b/hasura/migrations/1643754220677_create_index_appointments_bodyshopid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "appointments_bodyshopid" on + "public"."appointments" using btree ("bodyshopid"); diff --git a/hasura/migrations/1643754236595_create_index_appointments_jobid/down.sql b/hasura/migrations/1643754236595_create_index_appointments_jobid/down.sql new file mode 100644 index 000000000..8843a77b3 --- /dev/null +++ b/hasura/migrations/1643754236595_create_index_appointments_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "appointments_jobid"; diff --git a/hasura/migrations/1643754236595_create_index_appointments_jobid/up.sql b/hasura/migrations/1643754236595_create_index_appointments_jobid/up.sql new file mode 100644 index 000000000..1bc0e66e8 --- /dev/null +++ b/hasura/migrations/1643754236595_create_index_appointments_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "appointments_jobid" on + "public"."appointments" using btree ("jobid"); diff --git a/hasura/migrations/1643754319186_create_index_appointments_start/down.sql b/hasura/migrations/1643754319186_create_index_appointments_start/down.sql new file mode 100644 index 000000000..74cfbf360 --- /dev/null +++ b/hasura/migrations/1643754319186_create_index_appointments_start/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "appointments_start"; diff --git a/hasura/migrations/1643754319186_create_index_appointments_start/up.sql b/hasura/migrations/1643754319186_create_index_appointments_start/up.sql new file mode 100644 index 000000000..6282653bc --- /dev/null +++ b/hasura/migrations/1643754319186_create_index_appointments_start/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "appointments_start" on + "public"."appointments" using btree ("start"); diff --git a/hasura/migrations/1643754331642_create_index_appointments_end/down.sql b/hasura/migrations/1643754331642_create_index_appointments_end/down.sql new file mode 100644 index 000000000..0a0b5a8a9 --- /dev/null +++ b/hasura/migrations/1643754331642_create_index_appointments_end/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "appointments_end"; diff --git a/hasura/migrations/1643754331642_create_index_appointments_end/up.sql b/hasura/migrations/1643754331642_create_index_appointments_end/up.sql new file mode 100644 index 000000000..4cca32a12 --- /dev/null +++ b/hasura/migrations/1643754331642_create_index_appointments_end/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "appointments_end" on + "public"."appointments" using btree ("end"); diff --git a/hasura/migrations/1643754378424_create_index_associations_bodyshopid/down.sql b/hasura/migrations/1643754378424_create_index_associations_bodyshopid/down.sql new file mode 100644 index 000000000..b495978c8 --- /dev/null +++ b/hasura/migrations/1643754378424_create_index_associations_bodyshopid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "associations_bodyshopid"; diff --git a/hasura/migrations/1643754378424_create_index_associations_bodyshopid/up.sql b/hasura/migrations/1643754378424_create_index_associations_bodyshopid/up.sql new file mode 100644 index 000000000..6d447304d --- /dev/null +++ b/hasura/migrations/1643754378424_create_index_associations_bodyshopid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "associations_bodyshopid" on + "public"."associations" using btree ("shopid"); diff --git a/hasura/migrations/1643754392524_create_index_associations_useremail/down.sql b/hasura/migrations/1643754392524_create_index_associations_useremail/down.sql new file mode 100644 index 000000000..3d65d8771 --- /dev/null +++ b/hasura/migrations/1643754392524_create_index_associations_useremail/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "associations_useremail"; diff --git a/hasura/migrations/1643754392524_create_index_associations_useremail/up.sql b/hasura/migrations/1643754392524_create_index_associations_useremail/up.sql new file mode 100644 index 000000000..65f6af88d --- /dev/null +++ b/hasura/migrations/1643754392524_create_index_associations_useremail/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "associations_useremail" on + "public"."associations" using btree ("useremail"); diff --git a/hasura/migrations/1643754437492_create_index_invoicelines_billid/down.sql b/hasura/migrations/1643754437492_create_index_invoicelines_billid/down.sql new file mode 100644 index 000000000..800855df1 --- /dev/null +++ b/hasura/migrations/1643754437492_create_index_invoicelines_billid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "invoicelines_billid"; diff --git a/hasura/migrations/1643754437492_create_index_invoicelines_billid/up.sql b/hasura/migrations/1643754437492_create_index_invoicelines_billid/up.sql new file mode 100644 index 000000000..bfeaa19b9 --- /dev/null +++ b/hasura/migrations/1643754437492_create_index_invoicelines_billid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "invoicelines_billid" on + "public"."billlines" using btree ("billid"); diff --git a/hasura/migrations/1643754457975_create_index_invoicelines_jobid/down.sql b/hasura/migrations/1643754457975_create_index_invoicelines_jobid/down.sql new file mode 100644 index 000000000..77547fc2c --- /dev/null +++ b/hasura/migrations/1643754457975_create_index_invoicelines_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "invoicelines_jobid"; diff --git a/hasura/migrations/1643754457975_create_index_invoicelines_jobid/up.sql b/hasura/migrations/1643754457975_create_index_invoicelines_jobid/up.sql new file mode 100644 index 000000000..969e1d266 --- /dev/null +++ b/hasura/migrations/1643754457975_create_index_invoicelines_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "invoicelines_jobid" on + "public"."billlines" using btree ("joblineid"); diff --git a/hasura/migrations/1643754502559_create_index_bills_jobid/down.sql b/hasura/migrations/1643754502559_create_index_bills_jobid/down.sql new file mode 100644 index 000000000..b91cb66bd --- /dev/null +++ b/hasura/migrations/1643754502559_create_index_bills_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "bills_jobid"; diff --git a/hasura/migrations/1643754502559_create_index_bills_jobid/up.sql b/hasura/migrations/1643754502559_create_index_bills_jobid/up.sql new file mode 100644 index 000000000..2c2a7bdd6 --- /dev/null +++ b/hasura/migrations/1643754502559_create_index_bills_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "bills_jobid" on + "public"."bills" using btree ("jobid"); diff --git a/hasura/migrations/1643754546098_create_index_conversations_shopid/down.sql b/hasura/migrations/1643754546098_create_index_conversations_shopid/down.sql new file mode 100644 index 000000000..71de46cb6 --- /dev/null +++ b/hasura/migrations/1643754546098_create_index_conversations_shopid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "conversations_shopid"; diff --git a/hasura/migrations/1643754546098_create_index_conversations_shopid/up.sql b/hasura/migrations/1643754546098_create_index_conversations_shopid/up.sql new file mode 100644 index 000000000..107603273 --- /dev/null +++ b/hasura/migrations/1643754546098_create_index_conversations_shopid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "conversations_shopid" on + "public"."conversations" using btree ("bodyshopid"); diff --git a/hasura/migrations/1643754568249_create_index_documents_shopid/down.sql b/hasura/migrations/1643754568249_create_index_documents_shopid/down.sql new file mode 100644 index 000000000..f3998d295 --- /dev/null +++ b/hasura/migrations/1643754568249_create_index_documents_shopid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "documents_shopid"; diff --git a/hasura/migrations/1643754568249_create_index_documents_shopid/up.sql b/hasura/migrations/1643754568249_create_index_documents_shopid/up.sql new file mode 100644 index 000000000..6ed235ae4 --- /dev/null +++ b/hasura/migrations/1643754568249_create_index_documents_shopid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "documents_shopid" on + "public"."documents" using btree ("bodyshopid"); diff --git a/hasura/migrations/1643754578738_create_index_documents_jobid/down.sql b/hasura/migrations/1643754578738_create_index_documents_jobid/down.sql new file mode 100644 index 000000000..64778347a --- /dev/null +++ b/hasura/migrations/1643754578738_create_index_documents_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "documents_jobid"; diff --git a/hasura/migrations/1643754578738_create_index_documents_jobid/up.sql b/hasura/migrations/1643754578738_create_index_documents_jobid/up.sql new file mode 100644 index 000000000..5fca0d6ad --- /dev/null +++ b/hasura/migrations/1643754578738_create_index_documents_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "documents_jobid" on + "public"."documents" using btree ("jobid"); diff --git a/hasura/migrations/1643754595056_create_index_documents_billid/down.sql b/hasura/migrations/1643754595056_create_index_documents_billid/down.sql new file mode 100644 index 000000000..baeb31d46 --- /dev/null +++ b/hasura/migrations/1643754595056_create_index_documents_billid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "documents_billid"; diff --git a/hasura/migrations/1643754595056_create_index_documents_billid/up.sql b/hasura/migrations/1643754595056_create_index_documents_billid/up.sql new file mode 100644 index 000000000..06887f836 --- /dev/null +++ b/hasura/migrations/1643754595056_create_index_documents_billid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "documents_billid" on + "public"."documents" using btree ("billid"); diff --git a/hasura/migrations/1643754630502_create_index_jobline_jobid/down.sql b/hasura/migrations/1643754630502_create_index_jobline_jobid/down.sql new file mode 100644 index 000000000..f75bb40a1 --- /dev/null +++ b/hasura/migrations/1643754630502_create_index_jobline_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "jobline_jobid"; diff --git a/hasura/migrations/1643754630502_create_index_jobline_jobid/up.sql b/hasura/migrations/1643754630502_create_index_jobline_jobid/up.sql new file mode 100644 index 000000000..7357c132c --- /dev/null +++ b/hasura/migrations/1643754630502_create_index_jobline_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "jobline_jobid" on + "public"."joblines" using btree ("jobid"); diff --git a/hasura/migrations/1643754699100_create_index_jobs_updatedat/down.sql b/hasura/migrations/1643754699100_create_index_jobs_updatedat/down.sql new file mode 100644 index 000000000..71107f42a --- /dev/null +++ b/hasura/migrations/1643754699100_create_index_jobs_updatedat/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "jobs_updatedat"; diff --git a/hasura/migrations/1643754699100_create_index_jobs_updatedat/up.sql b/hasura/migrations/1643754699100_create_index_jobs_updatedat/up.sql new file mode 100644 index 000000000..605c350b0 --- /dev/null +++ b/hasura/migrations/1643754699100_create_index_jobs_updatedat/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "jobs_updatedat" on + "public"."jobs" using btree ("updated_at"); diff --git a/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/down.sql b/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/down.sql new file mode 100644 index 000000000..dee50b750 --- /dev/null +++ b/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "jobs_bodyshopid"; diff --git a/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/up.sql b/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/up.sql new file mode 100644 index 000000000..14791dd38 --- /dev/null +++ b/hasura/migrations/1643754713233_create_index_jobs_bodyshopid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "jobs_bodyshopid" on + "public"."jobs" using btree ("shopid"); diff --git a/hasura/migrations/1643754778452_create_index_messages_conversationid/down.sql b/hasura/migrations/1643754778452_create_index_messages_conversationid/down.sql new file mode 100644 index 000000000..8ada9de2d --- /dev/null +++ b/hasura/migrations/1643754778452_create_index_messages_conversationid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "messages_conversationid"; diff --git a/hasura/migrations/1643754778452_create_index_messages_conversationid/up.sql b/hasura/migrations/1643754778452_create_index_messages_conversationid/up.sql new file mode 100644 index 000000000..f4f0faef9 --- /dev/null +++ b/hasura/migrations/1643754778452_create_index_messages_conversationid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "messages_conversationid" on + "public"."messages" using btree ("conversationid"); diff --git a/hasura/migrations/1643754815536_create_index_timetickets_jobid/down.sql b/hasura/migrations/1643754815536_create_index_timetickets_jobid/down.sql new file mode 100644 index 000000000..2c6130ed0 --- /dev/null +++ b/hasura/migrations/1643754815536_create_index_timetickets_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "timetickets_jobid"; diff --git a/hasura/migrations/1643754815536_create_index_timetickets_jobid/up.sql b/hasura/migrations/1643754815536_create_index_timetickets_jobid/up.sql new file mode 100644 index 000000000..4b675116a --- /dev/null +++ b/hasura/migrations/1643754815536_create_index_timetickets_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "timetickets_jobid" on + "public"."timetickets" using btree ("jobid"); diff --git a/hasura/migrations/1643754843797_create_index_parts_orders_jobid/down.sql b/hasura/migrations/1643754843797_create_index_parts_orders_jobid/down.sql new file mode 100644 index 000000000..50f6e1569 --- /dev/null +++ b/hasura/migrations/1643754843797_create_index_parts_orders_jobid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "parts_orders_jobid"; diff --git a/hasura/migrations/1643754843797_create_index_parts_orders_jobid/up.sql b/hasura/migrations/1643754843797_create_index_parts_orders_jobid/up.sql new file mode 100644 index 000000000..4bd7c220d --- /dev/null +++ b/hasura/migrations/1643754843797_create_index_parts_orders_jobid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "parts_orders_jobid" on + "public"."parts_orders" using btree ("jobid"); diff --git a/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/down.sql b/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/down.sql new file mode 100644 index 000000000..1376d3165 --- /dev/null +++ b/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "parts_order_lines_poid"; diff --git a/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/up.sql b/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/up.sql new file mode 100644 index 000000000..72b423a0c --- /dev/null +++ b/hasura/migrations/1643754863849_create_index_parts_order_lines_poid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "parts_order_lines_poid" on + "public"."parts_order_lines" using btree ("orderid"); diff --git a/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/down.sql b/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/down.sql new file mode 100644 index 000000000..b6d5d0c23 --- /dev/null +++ b/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/down.sql @@ -0,0 +1 @@ +DROP INDEX IF EXISTS "parts_order_lines_joblineid"; diff --git a/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/up.sql b/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/up.sql new file mode 100644 index 000000000..c29af48f4 --- /dev/null +++ b/hasura/migrations/1643754990434_create_index_parts_order_lines_joblineid/up.sql @@ -0,0 +1,2 @@ +CREATE INDEX "parts_order_lines_joblineid" on + "public"."parts_order_lines" using btree ("job_line_id"); From 53cecd68f0a5dfd448cdf4a5c2aaa99d9d824df2 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 1 Feb 2022 14:52:59 -0800 Subject: [PATCH 02/15] IO-1678 Add actual hours deducted from labor on bill posting. --- .../bill-form/bill-form.lines.component.jsx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/client/src/components/bill-form/bill-form.lines.component.jsx b/client/src/components/bill-form/bill-form.lines.component.jsx index dd8866d63..f1f3c32dd 100644 --- a/client/src/components/bill-form/bill-form.lines.component.jsx +++ b/client/src/components/bill-form/bill-form.lines.component.jsx @@ -334,6 +334,25 @@ export function BillEnterModalLinesComponent({ additional: (record, index) => ( {() => { + const price = getFieldValue([ + "billlines", + record.name, + "actual_price", + ]); + console.log( + "🚀 ~ file: bill-form.lines.component.jsx ~ line 342 ~ columns ~ price", + price + ); + const adjustmentRate = getFieldValue([ + "billlines", + record.name, + "lbr_adjustment", + "rate", + ]); + console.log( + "🚀 ~ file: bill-form.lines.component.jsx ~ line 348 ~ columns ~ adjustmentRate", + adjustmentRate + ); if (getFieldValue(["billlines", record.name, "deductedfromlbr"])) return (
@@ -406,6 +425,9 @@ export function BillEnterModalLinesComponent({ > + {price && + adjustmentRate && + `${(price / adjustmentRate).toFixed(2)} hrs`}
); return <>; From 88bc8d4d0544e9f3cf3c0802cbebd25598b8362d Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Tue, 1 Feb 2022 15:09:20 -0800 Subject: [PATCH 03/15] IO-1695 Edit time stamp when creating time ticket. --- .../bill-form/bill-form.lines.component.jsx | 12 +++--------- .../time-ticket-modal.component.jsx | 4 ++-- 2 files changed, 5 insertions(+), 11 deletions(-) diff --git a/client/src/components/bill-form/bill-form.lines.component.jsx b/client/src/components/bill-form/bill-form.lines.component.jsx index f1f3c32dd..1c1b198b9 100644 --- a/client/src/components/bill-form/bill-form.lines.component.jsx +++ b/client/src/components/bill-form/bill-form.lines.component.jsx @@ -8,7 +8,7 @@ import { Space, Switch, Table, - Tooltip, + Tooltip } from "antd"; import React from "react"; import { useTranslation } from "react-i18next"; @@ -339,20 +339,14 @@ export function BillEnterModalLinesComponent({ record.name, "actual_price", ]); - console.log( - "🚀 ~ file: bill-form.lines.component.jsx ~ line 342 ~ columns ~ price", - price - ); + const adjustmentRate = getFieldValue([ "billlines", record.name, "lbr_adjustment", "rate", ]); - console.log( - "🚀 ~ file: bill-form.lines.component.jsx ~ line 348 ~ columns ~ adjustmentRate", - adjustmentRate - ); + if (getFieldValue(["billlines", record.name, "deductedfromlbr"])) return (
diff --git a/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx b/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx index 9c3e1f71e..593891939 100644 --- a/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx +++ b/client/src/components/time-ticket-modal/time-ticket-modal.component.jsx @@ -208,7 +208,7 @@ export function TimeTicketModalComponent({ > - {isEdit && ( + { <> - )} + } From 73e2b2d65d41a4ecc38c25e9802ef873dca300c5 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 2 Feb 2022 08:47:32 -0800 Subject: [PATCH 04/15] IO-1697 Remove acct path popup if not qbd. --- .../partner-ping/partner-ping.component.jsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/client/src/components/partner-ping/partner-ping.component.jsx b/client/src/components/partner-ping/partner-ping.component.jsx index f4da465e2..530bd9bcd 100644 --- a/client/src/components/partner-ping/partner-ping.component.jsx +++ b/client/src/components/partner-ping/partner-ping.component.jsx @@ -6,9 +6,11 @@ import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; import { setPartnerVersion } from "../../redux/application/application.actions"; +import { selectBodyshop } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser + bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ //setUserLanguage: language => dispatch(setUserLanguage(language)) @@ -19,7 +21,7 @@ export default connect( mapDispatchToProps )(PartnerPingComponent); -export function PartnerPingComponent({ setPartnerVersion }) { +export function PartnerPingComponent({ bodyshop, setPartnerVersion }) { const { t } = useTranslation(); useEffect(() => { @@ -32,7 +34,14 @@ export function PartnerPingComponent({ setPartnerVersion }) { setPartnerVersion(appver); console.log({ appver, qbpath }); - if (!qbpath) { + if ( + !qbpath && + !( + bodyshop.cdk_dealerid || + bodyshop.pbs_serialnumber || + bodyshop.accountingconfig.qbo + ) + ) { notification["error"]({ title: "", message: t("general.messages.noacctfilepath"), From 1d0e5264664cfc81395673193b4d6cd438b0dbba Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 2 Feb 2022 09:50:47 -0800 Subject: [PATCH 05/15] Autohouse query updates. --- server/graphql-client/queries.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/graphql-client/queries.js b/server/graphql-client/queries.js index 9be777295..59dc447a9 100644 --- a/server/graphql-client/queries.js +++ b/server/graphql-client/queries.js @@ -566,6 +566,13 @@ exports.AUTOHOUSE_QUERY = `query AUTOHOUSE_EXPORT($start: timestamptz, $bodyshop status est_ct_fn est_ct_ln + ownr_fn + ownr_ln + ownr_co_nm + ownr_addr1 + ownr_city + ownr_st + ownr_ph1 ownr_zip referral_source loss_type From ddd5ce4bf06e829b5198af8eb1d130f4781f30c9 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 2 Feb 2022 10:52:23 -0800 Subject: [PATCH 06/15] IO-1702 OEC Price. --- .../parts-order-modal.container.jsx | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/client/src/components/parts-order-modal/parts-order-modal.container.jsx b/client/src/components/parts-order-modal/parts-order-modal.container.jsx index fc13cf2c5..a2f629b6b 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.container.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.container.jsx @@ -30,6 +30,8 @@ import AlertComponent from "../alert/alert.component"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; import PartsOrderModalComponent from "./parts-order-modal.component"; import axios from "axios"; +import { useTreatments } from "@splitsoftware/splitio-react"; +import _ from "lodash"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, @@ -57,6 +59,11 @@ export function PartsOrderModalContainer({ }) { const { t } = useTranslation(); const client = useApolloClient(); + const { OEConnection_PriceChange } = useTreatments( + ["OEConnection_PriceChange"], + {}, + bodyshop.imexshopid + ); const { visible, context, actions } = partsOrderModal; const { jobId, @@ -230,11 +237,22 @@ export function PartsOrderModalContainer({ id: insertResult.data.insert_parts_orders.returning[0].id, }, }); + let po; + //Massage the data based on the split. Should they be able to overwrite OEC pricing? + if (OEConnection_PriceChange.treatment === "on") { + //Set the flag to include the override. + po = _.cloneDeep(partsOrder.data.parts_orders_by_pk); + po.parts_order_lines.forEach((pol) => { + pol.priceChange = true; + }); + } + + console.log(partsOrder.data.parts_orders_by_pk); const oecResponse = await axios.post( "http://localhost:1337/oec/", - partsOrder.data.parts_orders_by_pk, + po || partsOrder.data.parts_orders_by_pk, { headers: { Authorization: `Bearer ${await auth.currentUser.getIdToken()}`, From 932c89f8f9add939bdc83111e11a6a72bebfbfed Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 2 Feb 2022 14:10:11 -0800 Subject: [PATCH 07/15] Resolve QBO Receivables incorrectly labels. --- server/accounting/qbo/qbo-receivables.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/server/accounting/qbo/qbo-receivables.js b/server/accounting/qbo/qbo-receivables.js index e2b16c569..fdd63ed7a 100644 --- a/server/accounting/qbo/qbo-receivables.js +++ b/server/accounting/qbo/qbo-receivables.js @@ -438,6 +438,11 @@ async function InsertInvoice( TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"), DocNumber: job.ro_number, ...(job.class ? { ClassRef: { Id: classes[job.class] } } : {}), + CustomerMemo: { + value: `${job.clm_no ? `Claim No: ${job.clm_no}` : ``}${ + job.po_number ? `PO No: ${job.po_number}` : `` + }`.trim(), + }, CustomerRef: { value: parentTierRef.Id, }, @@ -447,6 +452,18 @@ async function InsertInvoice( ...(bodyshop.accountingconfig.emaillater && job.ownr_ea ? { EmailStatus: "NeedToSend" } : {}), + BillAddr: { + Line3: `${job.ownr_city || ""}, ${job.ownr_st || ""} ${ + job.ownr_zip || "" + }`.trim(), + Line2: job.ownr_addr1 || "", + Line1: `${job.ownr_fn || ""} ${job.ownr_ln || ""} ${ + job.ownr_co_nm || "" + }`, + Long: "-122.1141681", + Lat: "37.4238562", + Id: "95", + }, }; logger.log("qbo-receivable-objectlog", "DEBUG", req.user.email, job.id, { From 35ab86c5fd2fa4e34489dbd0baac6afa431b51fb Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Wed, 2 Feb 2022 14:16:01 -0800 Subject: [PATCH 08/15] Missed QBO receivables change. --- server/accounting/qbo/qbo-receivables.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/server/accounting/qbo/qbo-receivables.js b/server/accounting/qbo/qbo-receivables.js index fdd63ed7a..c23fb1158 100644 --- a/server/accounting/qbo/qbo-receivables.js +++ b/server/accounting/qbo/qbo-receivables.js @@ -460,9 +460,6 @@ async function InsertInvoice( Line1: `${job.ownr_fn || ""} ${job.ownr_ln || ""} ${ job.ownr_co_nm || "" }`, - Long: "-122.1141681", - Lat: "37.4238562", - Id: "95", }, }; From 173e9a278ce7acab6ba4e0f1d15b18061157674f Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 3 Feb 2022 11:15:23 -0800 Subject: [PATCH 09/15] QBO Updates. --- server/accounting/qbo/qbo-payables.js | 3 +-- server/accounting/qbo/qbo-receivables.js | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/server/accounting/qbo/qbo-payables.js b/server/accounting/qbo/qbo-payables.js index 9f75a5a9a..978dcc5ac 100644 --- a/server/accounting/qbo/qbo-payables.js +++ b/server/accounting/qbo/qbo-payables.js @@ -181,7 +181,7 @@ async function InsertBill(oauthClient, qbo_realmId, req, bill, vendor) { TxnDate: moment(bill.date).format("YYYY-MM-DD"), //DueDate: bill.due_date && moment(bill.due_date).format("YYYY-MM-DD"), DocNumber: bill.invoice_number, - ...(bill.job.class ? { ClassRef: { Id: classes[bill.job.class] } } : {}), + //...(bill.job.class ? { ClassRef: { Id: classes[bill.job.class] } } : {}), PrivateNote: `RO ${bill.job.ro_number || ""} OWNER ${ bill.job.ownr_fn || "" @@ -249,7 +249,6 @@ const generateBillLine = ( ) => { const account = costCenters.find((c) => c.name === billLine.cost_center); - console.log(account.accountname, accounts[account.accountname]); return { DetailType: "AccountBasedExpenseLineDetail", diff --git a/server/accounting/qbo/qbo-receivables.js b/server/accounting/qbo/qbo-receivables.js index c23fb1158..450621030 100644 --- a/server/accounting/qbo/qbo-receivables.js +++ b/server/accounting/qbo/qbo-receivables.js @@ -356,7 +356,7 @@ async function InsertJob(oauthClient, qbo_realmId, req, job, parentTierRef) { exports.InsertJob = InsertJob; async function QueryMetaData(oauthClient, qbo_realmId, req) { const items = await oauthClient.makeApiCall({ - url: urlBuilder(qbo_realmId, "query", `select * From Item`), + url: urlBuilder(qbo_realmId, "query", `select * From Item where active=true maxresults 1000`), method: "POST", headers: { "Content-Type": "application/json", From cf4f6f6e55bffa3932af4857d302269aa73cab20 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 3 Feb 2022 12:07:20 -0800 Subject: [PATCH 10/15] QBO Resolve classes issues. --- server/accounting/qb-receivables-lines.js | 25 +++++++++++++++++++++++ server/accounting/qbo/qbo-payables.js | 4 ++-- server/accounting/qbo/qbo-receivables.js | 5 +++-- 3 files changed, 30 insertions(+), 4 deletions(-) diff --git a/server/accounting/qb-receivables-lines.js b/server/accounting/qb-receivables-lines.js index 107b081f7..3e3fb4be5 100644 --- a/server/accounting/qb-receivables-lines.js +++ b/server/accounting/qb-receivables-lines.js @@ -9,6 +9,7 @@ exports.default = function ({ qbo = false, items, taxCodes, + classes, }) { const InvoiceLineAdd = []; const responsibilityCenters = bodyshop.md_responsibility_centers; @@ -95,6 +96,9 @@ exports.default = function ({ DetailType: "SalesItemLineDetail", Amount: DineroAmount, SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items[account.accountitem], }, @@ -161,6 +165,9 @@ exports.default = function ({ DetailType: "SalesItemLineDetail", Amount: DineroAmount, SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items[account.accountitem], }, @@ -227,6 +234,9 @@ exports.default = function ({ ItemRef: { value: items[mapaAccount.accountitem], }, + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), TaxCodeRef: { value: QboTaxId, }, @@ -290,6 +300,9 @@ exports.default = function ({ ItemRef: { value: items[mashAccount.accountitem], }, + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), TaxCodeRef: { value: QboTaxId, }, @@ -367,6 +380,9 @@ exports.default = function ({ amount: Math.round((jobs_by_pk.towing_payable || 0) * 100), }).toFormat(DineroQbFormat), SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items[account.accountitem], }, @@ -415,6 +431,9 @@ exports.default = function ({ amount: Math.round((jobs_by_pk.storage_payable || 0) * 100), }).toFormat(DineroQbFormat), SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items[account.accountitem], }, @@ -466,6 +485,9 @@ exports.default = function ({ amount: Math.round((jobs_by_pk.adjustment_bottom_line || 0) * 100), }).toFormat(DineroQbFormat), SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items[account.accountitem], }, @@ -554,6 +576,9 @@ exports.default = function ({ DineroQbFormat ), SalesItemLineDetail: { + ...(jobs_by_pk.class + ? { ClassRef: { value: classes[jobs_by_pk.class] } } + : {}), ItemRef: { value: items["PVRT"], }, diff --git a/server/accounting/qbo/qbo-payables.js b/server/accounting/qbo/qbo-payables.js index 978dcc5ac..80bd07f54 100644 --- a/server/accounting/qbo/qbo-payables.js +++ b/server/accounting/qbo/qbo-payables.js @@ -253,7 +253,7 @@ const generateBillLine = ( DetailType: "AccountBasedExpenseLineDetail", AccountBasedExpenseLineDetail: { - ...(jobClass ? { ClassRef: { Id: classes[jobClass] } } : {}), + ...(jobClass ? { ClassRef: { value: classes[jobClass] } } : {}), TaxCodeRef: { value: taxCodes[findTaxCode(billLine.applicable_taxes, ioSalesTaxCodes)], @@ -323,7 +323,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) { classes.json.QueryResponse && classes.json.QueryResponse.Class && classes.json.QueryResponse.Class.forEach((t) => { - accountMapping[t.Name] = t.Id; + classMapping[t.Name] = t.Id; }); return { diff --git a/server/accounting/qbo/qbo-receivables.js b/server/accounting/qbo/qbo-receivables.js index 450621030..e676a1d52 100644 --- a/server/accounting/qbo/qbo-receivables.js +++ b/server/accounting/qbo/qbo-receivables.js @@ -402,7 +402,7 @@ async function QueryMetaData(oauthClient, qbo_realmId, req) { classes.json.QueryResponse && classes.json.QueryResponse.Class && classes.json.QueryResponse.Class.forEach((t) => { - itemMapping[t.Name] = t.Id; + classMapping[t.Name] = t.Id; }); return { @@ -431,13 +431,14 @@ async function InsertInvoice( qbo: true, items, taxCodes, + classes }); const invoiceObj = { Line: InvoiceLineAdd, TxnDate: moment(job.date_invoiced).format("YYYY-MM-DD"), DocNumber: job.ro_number, - ...(job.class ? { ClassRef: { Id: classes[job.class] } } : {}), + ...(job.class ? { ClassRef: { value: classes[job.class] } } : {}), CustomerMemo: { value: `${job.clm_no ? `Claim No: ${job.clm_no}` : ``}${ job.po_number ? `PO No: ${job.po_number}` : `` From 375856bd68146ed77b2ab10ad12a0d5e35d75dbd Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 3 Feb 2022 12:15:33 -0800 Subject: [PATCH 11/15] Remove customer name from QBO payables. --- server/accounting/qbo/qbo-payables.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/server/accounting/qbo/qbo-payables.js b/server/accounting/qbo/qbo-payables.js index 80bd07f54..7610537d2 100644 --- a/server/accounting/qbo/qbo-payables.js +++ b/server/accounting/qbo/qbo-payables.js @@ -183,9 +183,7 @@ async function InsertBill(oauthClient, qbo_realmId, req, bill, vendor) { DocNumber: bill.invoice_number, //...(bill.job.class ? { ClassRef: { Id: classes[bill.job.class] } } : {}), - PrivateNote: `RO ${bill.job.ro_number || ""} OWNER ${ - bill.job.ownr_fn || "" - } ${bill.job.ownr_ln || ""} ${bill.job.ownr_co_nm || ""}`, + PrivateNote: `RO ${bill.job.ro_number || ""}`, Line: bill.billlines.map((il) => generateBillLine( il, From 0052a54915a75cc969c3e3d36224591f72c6d7bc Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 3 Feb 2022 12:20:45 -0800 Subject: [PATCH 12/15] IO-1662 removed scheduled completion on event cancel. --- client/src/components/job-at-change/schedule-event.container.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/client/src/components/job-at-change/schedule-event.container.jsx b/client/src/components/job-at-change/schedule-event.container.jsx index 75c2c1fdf..4a357fe22 100644 --- a/client/src/components/job-at-change/schedule-event.container.jsx +++ b/client/src/components/job-at-change/schedule-event.container.jsx @@ -38,6 +38,7 @@ export default function ScheduleEventContainer({ bodyshop, event, refetch }) { job: { date_scheduled: null, scheduled_in: null, + scheduled_completion:null, status: bodyshop.md_ro_statuses.default_imported, }, }, From 6d3fc783d61abab4ec25ade6d39aa2fdfb25141b Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 4 Feb 2022 09:18:31 -0800 Subject: [PATCH 13/15] IO-1697 Dont display partner message unless QBD. --- .../partner-ping/partner-ping.component.jsx | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/src/components/partner-ping/partner-ping.component.jsx b/client/src/components/partner-ping/partner-ping.component.jsx index 530bd9bcd..a1d13d76b 100644 --- a/client/src/components/partner-ping/partner-ping.component.jsx +++ b/client/src/components/partner-ping/partner-ping.component.jsx @@ -31,15 +31,16 @@ export function PartnerPingComponent({ bodyshop, setPartnerVersion }) { //if (process.env.NODE_ENV === "development") return; const PartnerResponse = await axios.post("http://localhost:1337/ping/"); const { appver, qbpath } = PartnerResponse.data; - + if (!bodyshop) return; setPartnerVersion(appver); console.log({ appver, qbpath }); if ( !qbpath && !( - bodyshop.cdk_dealerid || - bodyshop.pbs_serialnumber || - bodyshop.accountingconfig.qbo + bodyshop && + (bodyshop.cdk_dealerid || + bodyshop.pbs_serialnumber || + bodyshop.accountingconfig.qbo) ) ) { notification["error"]({ @@ -48,6 +49,7 @@ export function PartnerPingComponent({ bodyshop, setPartnerVersion }) { }); } } catch (error) { + console.log(error); notification["error"]({ title: "", message: t("general.messages.partnernotrunning"), @@ -57,7 +59,7 @@ export function PartnerPingComponent({ bodyshop, setPartnerVersion }) { // Execute the created function directly checkPartnerStatus(); // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [bodyshop]); return <>; } From 7f15e9ef7a4f337341ba75e96895214eed731de8 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Fri, 4 Feb 2022 09:29:37 -0800 Subject: [PATCH 14/15] IO-1695 Add validation to time ticket window for clock times. --- bodyshop_translations.babel | 49 ++++++++++++++++++- .../bill-form/bill-form.lines.component.jsx | 2 +- .../time-ticket-modal.component.jsx | 24 ++++++++- client/src/translations/en_us/common.json | 4 ++ client/src/translations/es/common.json | 4 ++ client/src/translations/fr/common.json | 4 ++ 6 files changed, 84 insertions(+), 3 deletions(-) diff --git a/bodyshop_translations.babel b/bodyshop_translations.babel index edec30bd5..c18ffea89 100644 --- a/bodyshop_translations.babel +++ b/bodyshop_translations.babel @@ -1,4 +1,4 @@ - +