IO-3020 IO-3036 Initial removal of ProManager
This commit is contained in:
@@ -179,37 +179,6 @@ jobs:
|
|||||||
job_type: deployment
|
job_type: deployment
|
||||||
pipeline_number: << pipeline.number >>
|
pipeline_number: << pipeline.number >>
|
||||||
|
|
||||||
promanager-app-build:
|
|
||||||
docker:
|
|
||||||
- image: cimg/node:18.18.2
|
|
||||||
|
|
||||||
working_directory: ~/repo/client
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout:
|
|
||||||
path: ~/repo
|
|
||||||
- run:
|
|
||||||
name: Install Dependencies
|
|
||||||
command: npm i
|
|
||||||
|
|
||||||
- run: npm run build:production:promanager
|
|
||||||
|
|
||||||
- aws-cli/setup:
|
|
||||||
aws_access_key_id: AWS_ACCESS_KEY_ID
|
|
||||||
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
|
|
||||||
region: AWS_REGION
|
|
||||||
|
|
||||||
- aws-s3/sync:
|
|
||||||
from: dist
|
|
||||||
to: "s3://promanager-production/"
|
|
||||||
arguments: "--exclude '*.map'"
|
|
||||||
- jira/notify:
|
|
||||||
environment: Production (ProManager) - Front End
|
|
||||||
environment_type: production
|
|
||||||
pipeline_id: << pipeline.id >>
|
|
||||||
job_type: deployment
|
|
||||||
pipeline_number: << pipeline.number >>
|
|
||||||
|
|
||||||
test-rome-hasura-migrate:
|
test-rome-hasura-migrate:
|
||||||
docker:
|
docker:
|
||||||
- image: cimg/node:18.18.2
|
- image: cimg/node:18.18.2
|
||||||
@@ -268,37 +237,6 @@ jobs:
|
|||||||
job_type: deployment
|
job_type: deployment
|
||||||
pipeline_number: << pipeline.number >>
|
pipeline_number: << pipeline.number >>
|
||||||
|
|
||||||
test-promanager-app-build:
|
|
||||||
docker:
|
|
||||||
- image: cimg/node:18.18.2
|
|
||||||
|
|
||||||
working_directory: ~/repo/client
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- checkout:
|
|
||||||
path: ~/repo
|
|
||||||
- run:
|
|
||||||
name: Install Dependencies
|
|
||||||
command: npm i
|
|
||||||
|
|
||||||
- run: npm run build:test:promanager
|
|
||||||
|
|
||||||
- aws-cli/setup:
|
|
||||||
aws_access_key_id: AWS_ACCESS_KEY_ID
|
|
||||||
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
|
|
||||||
region: AWS_REGION
|
|
||||||
|
|
||||||
- aws-s3/sync:
|
|
||||||
from: dist
|
|
||||||
to: "s3://promanager-testing/"
|
|
||||||
arguments: "--exclude '*.map'"
|
|
||||||
- jira/notify:
|
|
||||||
environment: Test (ProManager) - Front End
|
|
||||||
environment_type: testing
|
|
||||||
pipeline_id: << pipeline.id >>
|
|
||||||
job_type: deployment
|
|
||||||
pipeline_number: << pipeline.number >>
|
|
||||||
|
|
||||||
test-hasura-migrate:
|
test-hasura-migrate:
|
||||||
docker:
|
docker:
|
||||||
- image: cimg/node:18.18.2
|
- image: cimg/node:18.18.2
|
||||||
@@ -458,14 +396,6 @@ workflows:
|
|||||||
filters:
|
filters:
|
||||||
branches:
|
branches:
|
||||||
only: test-AIO
|
only: test-AIO
|
||||||
- test-promanager-app-build:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only: test-AIO
|
|
||||||
- promanager-app-build:
|
|
||||||
filters:
|
|
||||||
branches:
|
|
||||||
only: master-AIO
|
|
||||||
- test-rome-hasura-migrate:
|
- test-rome-hasura-migrate:
|
||||||
secret: ${HASURA_ROME_TEST_SECRET}
|
secret: ${HASURA_ROME_TEST_SECRET}
|
||||||
filters:
|
filters:
|
||||||
|
|||||||
@@ -10,5 +10,8 @@
|
|||||||
"courtesycars": "date",
|
"courtesycars": "date",
|
||||||
"media": "date",
|
"media": "date",
|
||||||
"visualboard": "date",
|
"visualboard": "date",
|
||||||
"scoreboard": "date"
|
"scoreboard": "date",
|
||||||
|
"checklist": "date",
|
||||||
|
"smartscheduling" :"date",
|
||||||
|
"roguard": "date"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<babeledit_project version="1.2" be_version="2.7.1">
|
<babeledit_project be_version="2.7.1" version="1.2">
|
||||||
<!--
|
<!--
|
||||||
|
|
||||||
BabelEdit project file
|
BabelEdit project file
|
||||||
@@ -20702,6 +20702,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>time</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>total</name>
|
<name>total</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -21874,6 +21895,48 @@
|
|||||||
<folder_node>
|
<folder_node>
|
||||||
<name>columns</name>
|
<name>columns</name>
|
||||||
<children>
|
<children>
|
||||||
|
<concept_node>
|
||||||
|
<name>average_human_readable</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>average_value</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>duration</name>
|
<name>duration</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -31809,6 +31872,27 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
|
<concept_node>
|
||||||
|
<name>tlos_ind</name>
|
||||||
|
<definition_loaded>false</definition_loaded>
|
||||||
|
<description></description>
|
||||||
|
<comment></comment>
|
||||||
|
<default_text></default_text>
|
||||||
|
<translations>
|
||||||
|
<translation>
|
||||||
|
<language>en-US</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>es-MX</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
<translation>
|
||||||
|
<language>fr-CA</language>
|
||||||
|
<approved>false</approved>
|
||||||
|
</translation>
|
||||||
|
</translations>
|
||||||
|
</concept_node>
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>towin</name>
|
<name>towin</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
@@ -58763,27 +58847,6 @@
|
|||||||
</translation>
|
</translation>
|
||||||
</translations>
|
</translations>
|
||||||
</concept_node>
|
</concept_node>
|
||||||
<concept_node>
|
|
||||||
<name>promanager</name>
|
|
||||||
<definition_loaded>false</definition_loaded>
|
|
||||||
<description></description>
|
|
||||||
<comment></comment>
|
|
||||||
<default_text></default_text>
|
|
||||||
<translations>
|
|
||||||
<translation>
|
|
||||||
<language>en-US</language>
|
|
||||||
<approved>false</approved>
|
|
||||||
</translation>
|
|
||||||
<translation>
|
|
||||||
<language>es-MX</language>
|
|
||||||
<approved>false</approved>
|
|
||||||
</translation>
|
|
||||||
<translation>
|
|
||||||
<language>fr-CA</language>
|
|
||||||
<approved>false</approved>
|
|
||||||
</translation>
|
|
||||||
</translations>
|
|
||||||
</concept_node>
|
|
||||||
<concept_node>
|
<concept_node>
|
||||||
<name>readyjobs</name>
|
<name>readyjobs</name>
|
||||||
<definition_loaded>false</definition_loaded>
|
<definition_loaded>false</definition_loaded>
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
VITE_APP_GRAPHQL_ENDPOINT=https://db.dev.imex.online/v1/graphql
|
|
||||||
VITE_APP_GRAPHQL_ENDPOINT_WS=wss://db.dev.imex.online/v1/graphql
|
|
||||||
VITE_APP_GA_CODE=231099835
|
|
||||||
VITE_APP_FIREBASE_CONFIG={"apiKey":"AIzaSyDPLT8GiDHDR1R4nI66Qi0BY1aYviDPioc","authDomain":"imex-dev.firebaseapp.com","databaseURL":"https://imex-dev.firebaseio.com","projectId":"imex-dev","storageBucket":"imex-dev.appspot.com","messagingSenderId":"759548147434","appId":"1:759548147434:web:e8239868a48ceb36700993","measurementId":"G-K5XRBVVB4S"}
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT_API=https://api.cloudinary.com/v1_1/io-test
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT=https://res.cloudinary.com/io-test
|
|
||||||
VITE_APP_CLOUDINARY_API_KEY=957865933348715
|
|
||||||
VITE_APP_CLOUDINARY_THUMB_TRANSFORMATIONS=c_fill,h_250,w_250
|
|
||||||
VITE_APP_FIREBASE_PUBLIC_VAPID_KEY='BG3tzU7L2BXlGZ_3VLK4PNaRceoEXEnmHfxcVbRMF5o5g05ejslhVPki9kBM9cBBT-08Ad9kN3HSpS6JmrWD6h4'
|
|
||||||
VITE_APP_STRIPE_PUBLIC_KEY=pk_test_51GqB4TJl3nQjrZ0wCQWAxAhlNF8jKe0tipIa6ExBaxwJGitwvFsIZUEua4dUzaMIAuXp4qwYHXx7lgjyQSwP0Pe900vzm38C7g
|
|
||||||
VITE_APP_AXIOS_BASE_API_URL=/api/
|
|
||||||
VITE_APP_REPORTS_SERVER_URL=https://reports3.test.imex.online
|
|
||||||
VITE_APP_SPLIT_API=ts615lqgnmk84thn72uk18uu5pgce6e0l4rc
|
|
||||||
VITE_APP_INSTANCE=PROMANAGER
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
GENERATE_SOURCEMAP=true
|
|
||||||
VITE_APP_GRAPHQL_ENDPOINT=https://db.romeonline.io/v1/graphql
|
|
||||||
VITE_APP_GRAPHQL_ENDPOINT_WS=wss://db.romeonline.io/v1/graphql
|
|
||||||
VITE_APP_GA_CODE=231103507
|
|
||||||
VITE_APP_FIREBASE_CONFIG={ "apiKey": "AIzaSyAuLQR9SV5LsVxjU8wh9hvFLdhcAHU6cxE", "authDomain": "rome-prod-1.firebaseapp.com", "projectId": "rome-prod-1", "storageBucket": "rome-prod-1.appspot.com", "messagingSenderId": "147786367145", "appId": "1:147786367145:web:9d4cba68071c3f29a8a9b8", "measurementId": "G-G8Z9DRHTZS"}
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT_API=https://api.cloudinary.com/v1_1/bodyshop
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT=https://res.cloudinary.com/bodyshop
|
|
||||||
VITE_APP_CLOUDINARY_API_KEY=473322739956866
|
|
||||||
VITE_APP_CLOUDINARY_THUMB_TRANSFORMATIONS=c_fill,h_250,w_250
|
|
||||||
VITE_APP_FIREBASE_PUBLIC_VAPID_KEY='BMgZT1NZztW2DsJl8Mg2L04hgY9FzAg6b8fbzgNAfww2VDzH3VE63Ot9EaP_U7KWS2JT-7HPHaw0T_Tw_5vkZc8'
|
|
||||||
VITE_APP_STRIPE_PUBLIC_KEY=pk_test_51GqB4TJl3nQjrZ0wCQWAxAhlNF8jKe0tipIa6ExBaxwJGitwvFsIZUEua4dUzaMIAuXp4qwYHXx7lgjyQSwP0Pe900vzm38C7g
|
|
||||||
VITE_APP_AXIOS_BASE_API_URL=https://api.romeonline.io/
|
|
||||||
VITE_APP_REPORTS_SERVER_URL=https://reports.romeonline.io
|
|
||||||
VITE_APP_SPLIT_API=et9pjkik6bn67he5evpmpr1agoo7gactphgk
|
|
||||||
VITE_APP_INSTANCE=PROMANAGER
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
VITE_APP_GRAPHQL_ENDPOINT=https://db.test.romeonline.io/v1/graphql
|
|
||||||
VITE_APP_GRAPHQL_ENDPOINT_WS=wss://db.test.romeonline.io/v1/graphql
|
|
||||||
VITE_APP_GA_CODE=231099835
|
|
||||||
VITE_APP_FIREBASE_CONFIG={ "apiKey": "AIzaSyAuLQR9SV5LsVxjU8wh9hvFLdhcAHU6cxE", "authDomain": "rome-prod-1.firebaseapp.com", "projectId": "rome-prod-1", "storageBucket": "rome-prod-1.appspot.com", "messagingSenderId": "147786367145", "appId": "1:147786367145:web:9d4cba68071c3f29a8a9b8", "measurementId": "G-G8Z9DRHTZS"}
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT_API=https://api.cloudinary.com/v1_1/bodyshop
|
|
||||||
VITE_APP_CLOUDINARY_ENDPOINT=https://res.cloudinary.com/bodyshop
|
|
||||||
VITE_APP_CLOUDINARY_API_KEY=473322739956866
|
|
||||||
VITE_APP_CLOUDINARY_THUMB_TRANSFORMATIONS=c_fill,h_250,w_250
|
|
||||||
VITE_APP_FIREBASE_PUBLIC_VAPID_KEY='BN2GcDPjipR5MTEosO5dT4CfQ3cmrdBIsI4juoOQrRijn_5aRiHlwj1mlq0W145mOusx6xynEKl_tvYJhpCc9lo'
|
|
||||||
VITE_APP_STRIPE_PUBLIC_KEY=pk_test_51GqB4TJl3nQjrZ0wCQWAxAhlNF8jKe0tipIa6ExBaxwJGitwvFsIZUEua4dUzaMIAuXp4qwYHXx7lgjyQSwP0Pe900vzm38C7g
|
|
||||||
VITE_APP_AXIOS_BASE_API_URL=https://api.test.romeonline.io/
|
|
||||||
VITE_APP_REPORTS_SERVER_URL=https://reports.test.romeonline.io
|
|
||||||
VITE_APP_IS_TEST=true
|
|
||||||
VITE_APP_SPLIT_API=ts615lqgnmk84thn72uk18uu5pgce6e0l4rc
|
|
||||||
VITE_APP_INSTANCE=PROMANAGER
|
|
||||||
@@ -1,29 +1,27 @@
|
|||||||
<!DOCTYPE html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8"/>
|
<meta charset="utf-8" />
|
||||||
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
|
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
|
||||||
<meta http-equiv="Pragma" content="no-cache">
|
<meta http-equiv="Pragma" content="no-cache" />
|
||||||
<meta http-equiv="Expires" content="0">
|
<meta http-equiv="Expires" content="0" />
|
||||||
<% if (env.VITE_APP_INSTANCE === 'IMEX') { %>
|
<% if (env.VITE_APP_INSTANCE === 'IMEX') { %>
|
||||||
<link rel="icon" href="/favicon.png"/>
|
<link rel="icon" href="/favicon.png" />
|
||||||
<% } %> <% if (env.VITE_APP_INSTANCE === 'ROME') { %>
|
<% } %> <% if (env.VITE_APP_INSTANCE === 'ROME') { %>
|
||||||
<link rel="icon" href="/ro-favicon.png"/>
|
<link rel="icon" href="/ro-favicon.png" />
|
||||||
<% } %> <% if (env.VITE_APP_INSTANCE === 'PROMANAGER') { %>
|
<% } %>
|
||||||
<link rel="icon" href="/pm/pm-favicon.ico"/>
|
|
||||||
<% } %>
|
|
||||||
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta name="theme-color" content="#1690ff"/>
|
<meta name="theme-color" content="#1690ff" />
|
||||||
<!-- <link rel="apple-touch-icon" href="logo192.png" /> -->
|
<!-- <link rel="apple-touch-icon" href="logo192.png" /> -->
|
||||||
<!-- TODO:AIo Update the individual logos for each.-->
|
<!-- TODO:AIo Update the individual logos for each.-->
|
||||||
<link rel="apple-touch-icon" href="/logo192.png"/>
|
<link rel="apple-touch-icon" href="/logo192.png" />
|
||||||
<link rel="mask-icon" href="/mask-icon.svg" color="#FFFFFF">
|
<link rel="mask-icon" href="/mask-icon.svg" color="#FFFFFF" />
|
||||||
<!--
|
<!--
|
||||||
manifest.json provides metadata used when your web app is installed on a
|
manifest.json provides metadata used when your web app is installed on a
|
||||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
||||||
-->
|
-->
|
||||||
<!--
|
<!--
|
||||||
Notice the use of %PUBLIC_URL% in the tags above.
|
Notice the use of %PUBLIC_URL% in the tags above.
|
||||||
It will be replaced with the URL of the `public` folder during the build.
|
It will be replaced with the URL of the `public` folder during the build.
|
||||||
Only files inside the `public` folder can be referenced from the HTML.
|
Only files inside the `public` folder can be referenced from the HTML.
|
||||||
@@ -32,95 +30,90 @@
|
|||||||
work correctly both with client-side routing and a non-root public URL.
|
work correctly both with client-side routing and a non-root public URL.
|
||||||
Learn how to configure a non-root public URL by running `npm run build`.
|
Learn how to configure a non-root public URL by running `npm run build`.
|
||||||
-->
|
-->
|
||||||
<% if (env.VITE_APP_INSTANCE === 'IMEX') { %>
|
<% if (env.VITE_APP_INSTANCE === 'IMEX') { %>
|
||||||
<meta name="description" content="ImEX Online"/>
|
<meta name="description" content="ImEX Online" />
|
||||||
<title>ImEX Online</title>
|
<title>ImEX Online</title>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
window.$crisp = [];
|
window.$crisp = [];
|
||||||
window.CRISP_WEBSITE_ID = '36724f62-2eb0-4b29-9cdd-9905fb99913e';
|
window.CRISP_WEBSITE_ID = "36724f62-2eb0-4b29-9cdd-9905fb99913e";
|
||||||
(function () {
|
(function () {
|
||||||
d = document;
|
d = document;
|
||||||
s = d.createElement('script');
|
s = d.createElement("script");
|
||||||
s.src = 'https://client.crisp.chat/l.js';
|
s.src = "https://client.crisp.chat/l.js";
|
||||||
s.async = 1;
|
s.async = 1;
|
||||||
d.getElementsByTagName('head')[0].appendChild(s);
|
d.getElementsByTagName("head")[0].appendChild(s);
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<% } %> <% if (env.VITE_APP_INSTANCE === 'ROME') { %>
|
<% } %> <% if (env.VITE_APP_INSTANCE === 'ROME') { %>
|
||||||
<meta name="description" content="Rome Online"/>
|
<meta name="description" content="Rome Online" />
|
||||||
<title>Rome Online</title>
|
<title>Rome Online</title>
|
||||||
<script type="text/javascript" id="zsiqchat">
|
<script type="text/javascript" id="zsiqchat">
|
||||||
var $zoho = $zoho || {};
|
var $zoho = $zoho || {};
|
||||||
$zoho.salesiq = $zoho.salesiq || {
|
$zoho.salesiq = $zoho.salesiq || {
|
||||||
widgetcode: "siq01bb8ac617280bdacddfeb528f07734dadc64ef3f05efef9f769c1ec171af666",
|
widgetcode: "siq01bb8ac617280bdacddfeb528f07734dadc64ef3f05efef9f769c1ec171af666",
|
||||||
values: {},
|
values: {},
|
||||||
ready: function () {
|
ready: function () {}
|
||||||
}
|
};
|
||||||
};
|
var d = document;
|
||||||
var d = document;
|
s = d.createElement("script");
|
||||||
s = d.createElement("script");
|
s.type = "text/javascript";
|
||||||
s.type = "text/javascript";
|
s.id = "zsiqscript";
|
||||||
s.id = "zsiqscript";
|
s.defer = true;
|
||||||
s.defer = true;
|
s.src = "https://salesiq.zohopublic.com/widget";
|
||||||
s.src = "https://salesiq.zohopublic.com/widget";
|
t = d.getElementsByTagName("script")[0];
|
||||||
t = d.getElementsByTagName("script")[0];
|
t.parentNode.insertBefore(s, t);
|
||||||
t.parentNode.insertBefore(s, t);
|
</script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<% } %> <% if (env.VITE_APP_INSTANCE === 'PROMANAGER') { %>
|
<% } %>
|
||||||
<title>ProManager</title>
|
<script>
|
||||||
<meta name="description" content="ProManager"/>
|
!(function () {
|
||||||
|
"use strict";
|
||||||
|
var e = [
|
||||||
|
"debug",
|
||||||
|
"destroy",
|
||||||
|
"do",
|
||||||
|
"help",
|
||||||
|
"identify",
|
||||||
|
"is",
|
||||||
|
"off",
|
||||||
|
"on",
|
||||||
|
"ready",
|
||||||
|
"render",
|
||||||
|
"reset",
|
||||||
|
"safe",
|
||||||
|
"set"
|
||||||
|
];
|
||||||
|
if (window.noticeable) console.warn("Noticeable SDK code snippet loaded more than once");
|
||||||
|
else {
|
||||||
|
var n = (window.noticeable = window.noticeable || []);
|
||||||
|
|
||||||
<% } %>
|
function t(e) {
|
||||||
<script>
|
return function () {
|
||||||
!(function () {
|
var t = Array.prototype.slice.call(arguments);
|
||||||
'use strict';
|
return t.unshift(e), n.push(t), n;
|
||||||
var e = [
|
};
|
||||||
'debug',
|
|
||||||
'destroy',
|
|
||||||
'do',
|
|
||||||
'help',
|
|
||||||
'identify',
|
|
||||||
'is',
|
|
||||||
'off',
|
|
||||||
'on',
|
|
||||||
'ready',
|
|
||||||
'render',
|
|
||||||
'reset',
|
|
||||||
'safe',
|
|
||||||
'set',
|
|
||||||
];
|
|
||||||
if (window.noticeable) console.warn('Noticeable SDK code snippet loaded more than once');
|
|
||||||
else {
|
|
||||||
var n = (window.noticeable = window.noticeable || []);
|
|
||||||
|
|
||||||
function t(e) {
|
|
||||||
return function () {
|
|
||||||
var t = Array.prototype.slice.call(arguments);
|
|
||||||
return t.unshift(e), n.push(t), n;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
!(function () {
|
|
||||||
for (var o = 0; o < e.length; o++) {
|
|
||||||
var r = e[o];
|
|
||||||
n[r] = t(r);
|
|
||||||
}
|
}
|
||||||
})(),
|
|
||||||
(function () {
|
|
||||||
var e = document.createElement('script');
|
|
||||||
(e.async = !0), (e.src = 'https://sdk.noticeable.io/l.js');
|
|
||||||
var n = document.head;
|
|
||||||
n.insertBefore(e, n.firstChild);
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
</script>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
|
||||||
<div id="root"></div>
|
|
||||||
|
|
||||||
<script type="module" src="src/index.jsx"></script>
|
!(function () {
|
||||||
</body>
|
for (var o = 0; o < e.length; o++) {
|
||||||
|
var r = e[o];
|
||||||
|
n[r] = t(r);
|
||||||
|
}
|
||||||
|
})(),
|
||||||
|
(function () {
|
||||||
|
var e = document.createElement("script");
|
||||||
|
(e.async = !0), (e.src = "https://sdk.noticeable.io/l.js");
|
||||||
|
var n = document.head;
|
||||||
|
n.insertBefore(e, n.firstChild);
|
||||||
|
})();
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
|
<div id="root"></div>
|
||||||
|
|
||||||
|
<script type="module" src="src/index.jsx"></script>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -90,16 +90,12 @@
|
|||||||
"build": "dotenvx run --env-file=.env.development.imex -- vite build",
|
"build": "dotenvx run --env-file=.env.development.imex -- vite build",
|
||||||
"start:imex": "dotenvx run --env-file=.env.development.imex -- vite",
|
"start:imex": "dotenvx run --env-file=.env.development.imex -- vite",
|
||||||
"start:rome": "dotenvx run --env-file=.env.development.rome -- vite",
|
"start:rome": "dotenvx run --env-file=.env.development.rome -- vite",
|
||||||
"start:promanager": "dotenvx run --env-file=.env.development.promanager -- vite",
|
|
||||||
"preview:imex": "dotenvx run --env-file=.env.development.imex -- vite preview",
|
"preview:imex": "dotenvx run --env-file=.env.development.imex -- vite preview",
|
||||||
"preview:rome": "dotenvx run --env-file=.env.development.rome -- vite preview",
|
"preview:rome": "dotenvx run --env-file=.env.development.rome -- vite preview",
|
||||||
"preview:promanager": "dotenvx run --env-file=.env.development.promanager -- vite preview",
|
|
||||||
"build:test:imex": "env-cmd -f .env.test.imex npm run build",
|
"build:test:imex": "env-cmd -f .env.test.imex npm run build",
|
||||||
"build:test:rome": "env-cmd -f .env.test.rome npm run build",
|
"build:test:rome": "env-cmd -f .env.test.rome npm run build",
|
||||||
"build:test:promanager": "env-cmd -f .env.test.promanager npm run build",
|
|
||||||
"build:production:imex": "env-cmd -f .env.production.imex npm run build",
|
"build:production:imex": "env-cmd -f .env.production.imex npm run build",
|
||||||
"build:production:rome": "env-cmd -f .env.production.rome npm run build",
|
"build:production:rome": "env-cmd -f .env.production.rome npm run build",
|
||||||
"build:production:promanager": "env-cmd -f .env.production.promanager npm run build",
|
|
||||||
"test": "cypress open",
|
"test": "cypress open",
|
||||||
"eject": "react-scripts eject",
|
"eject": "react-scripts eject",
|
||||||
"madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular .",
|
"madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular .",
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 6.0 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 28 KiB |
@@ -96,8 +96,7 @@ export function App({ bodyshop, checkUserSession, currentUser, online, setOnline
|
|||||||
LogRocket.init(
|
LogRocket.init(
|
||||||
InstanceRenderMgr({
|
InstanceRenderMgr({
|
||||||
imex: "gvfvfw/bodyshopapp",
|
imex: "gvfvfw/bodyshopapp",
|
||||||
rome: "rome-online/rome-online",
|
rome: "rome-online/rome-online"
|
||||||
promanager: "" // TODO: AIO Add in log rocket for promanager instances.
|
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -134,8 +133,7 @@ export function App({ bodyshop, checkUserSession, currentUser, online, setOnline
|
|||||||
<LoadingSpinner
|
<LoadingSpinner
|
||||||
message={InstanceRenderMgr({
|
message={InstanceRenderMgr({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
@@ -144,8 +142,7 @@ export function App({ bodyshop, checkUserSession, currentUser, online, setOnline
|
|||||||
currentUser={currentUser}
|
currentUser={currentUser}
|
||||||
workspaceCode={InstanceRenderMgr({
|
workspaceCode={InstanceRenderMgr({
|
||||||
imex: null,
|
imex: null,
|
||||||
rome: "9BkbEseqNqxw8jUH",
|
rome: "9BkbEseqNqxw8jUH"
|
||||||
promanager: "aoJoEifvezYI0Z0P"
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
@@ -26,13 +26,11 @@ const defaultTheme = {
|
|||||||
token: {
|
token: {
|
||||||
colorPrimary: InstanceRenderMgr({
|
colorPrimary: InstanceRenderMgr({
|
||||||
imex: "#1890ff",
|
imex: "#1890ff",
|
||||||
rome: "#326ade",
|
rome: "#326ade"
|
||||||
promanager: "#1d69a6"
|
|
||||||
}),
|
}),
|
||||||
colorInfo: InstanceRenderMgr({
|
colorInfo: InstanceRenderMgr({
|
||||||
imex: "#1890ff",
|
imex: "#1890ff",
|
||||||
rome: "#326ade",
|
rome: "#326ade"
|
||||||
promanager: "#1d69a6"
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -228,7 +228,6 @@ export function BillEnterModalLinesComponent({
|
|||||||
}}
|
}}
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
)
|
)
|
||||||
//Do not need to set for promanager as it will default to Rome.
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -462,7 +461,6 @@ export function BillEnterModalLinesComponent({
|
|||||||
|
|
||||||
...InstanceRenderManager({
|
...InstanceRenderManager({
|
||||||
rome: [],
|
rome: [],
|
||||||
promanager: [],
|
|
||||||
imex: [
|
imex: [
|
||||||
{
|
{
|
||||||
title: t("billlines.fields.federal_tax_applicable"),
|
title: t("billlines.fields.federal_tax_applicable"),
|
||||||
@@ -476,7 +474,6 @@ export function BillEnterModalLinesComponent({
|
|||||||
initialValue: InstanceRenderManager({
|
initialValue: InstanceRenderManager({
|
||||||
imex: true,
|
imex: true,
|
||||||
rome: false,
|
rome: false,
|
||||||
promanager: false
|
|
||||||
}),
|
}),
|
||||||
name: [field.name, "applicable_taxes", "federal"]
|
name: [field.name, "applicable_taxes", "federal"]
|
||||||
};
|
};
|
||||||
@@ -503,7 +500,6 @@ export function BillEnterModalLinesComponent({
|
|||||||
|
|
||||||
...InstanceRenderManager({
|
...InstanceRenderManager({
|
||||||
rome: [],
|
rome: [],
|
||||||
promanager: [],
|
|
||||||
imex: [
|
imex: [
|
||||||
{
|
{
|
||||||
title: t("billlines.fields.local_tax_applicable"),
|
title: t("billlines.fields.local_tax_applicable"),
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ export default function ConflictComponent() {
|
|||||||
{t("general.labels.instanceconflictext", {
|
{t("general.labels.instanceconflictext", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -108,8 +108,7 @@ class ErrorBoundary extends React.Component {
|
|||||||
subTitle={t("general.messages.exception", {
|
subTitle={t("general.messages.exception", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
extra={
|
extra={
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ function FeatureWrapper({ bodyshop, featureName, noauth, children, ...restProps
|
|||||||
message={t("general.messages.nofeatureaccess", {
|
message={t("general.messages.nofeatureaccess", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
type="warning"
|
type="warning"
|
||||||
|
|||||||
@@ -130,9 +130,8 @@ function Header({
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "bills", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "bills", bodyshop })
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
accountingChildren.push(
|
accountingChildren.push(
|
||||||
@@ -172,9 +171,8 @@ function Header({
|
|||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "payments", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "payments", bodyshop })
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
accountingChildren.push(
|
accountingChildren.push(
|
||||||
@@ -219,9 +217,8 @@ function Header({
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "timetickets", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "timetickets", bodyshop })
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
accountingChildren.push(
|
accountingChildren.push(
|
||||||
@@ -304,9 +301,8 @@ function Header({
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "export", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "export", bodyshop })
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
accountingChildren.push({
|
accountingChildren.push({
|
||||||
@@ -386,9 +382,8 @@ function Header({
|
|||||||
label: <Link to="/manage/production/list">{t("menus.header.productionlist")}</Link>
|
label: <Link to="/manage/production/list">{t("menus.header.productionlist")}</Link>
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "visualboard", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "visualboard", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -401,9 +396,8 @@ function Header({
|
|||||||
: []),
|
: []),
|
||||||
|
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "scoreboard", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "scoreboard", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -440,9 +434,8 @@ function Header({
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "courtesycars", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: false // HasFeatureAccess({ featureName: 'courtesycars', bodyshop }),
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -492,9 +485,8 @@ function Header({
|
|||||||
label: <Link to="/manage/phonebook">{t("menus.header.phonebook")}</Link>
|
label: <Link to="/manage/phonebook">{t("menus.header.phonebook")}</Link>
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "media", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "media", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -571,9 +563,8 @@ function Header({
|
|||||||
label: <Link to="/manage/shop/vendors">{t("menus.header.shop_vendors")}</Link>
|
label: <Link to="/manage/shop/vendors">{t("menus.header.shop_vendors")}</Link>
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "csi", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "csi", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -607,8 +598,7 @@ function Header({
|
|||||||
window.open(
|
window.open(
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: "https://help.imex.online/",
|
imex: "https://help.imex.online/",
|
||||||
rome: "https://rometech.com//",
|
rome: "https://rometech.com//"
|
||||||
promanager: "https://web-est.com"
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
"_blank"
|
"_blank"
|
||||||
@@ -617,8 +607,7 @@ function Header({
|
|||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: true,
|
||||||
rome: false,
|
rome: false
|
||||||
promanager: false
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -633,9 +622,8 @@ function Header({
|
|||||||
: []),
|
: []),
|
||||||
|
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "timetickets", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "timetickets", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -98,7 +98,6 @@ export default function JobBillsTotalComponent({
|
|||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: Dinero(),
|
imex: Dinero(),
|
||||||
rome: Dinero(totals.additional.additionalCosts),
|
rome: Dinero(totals.additional.additionalCosts),
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
); // Additional costs were captured for Rome, but not imex.
|
); // Additional costs were captured for Rome, but not imex.
|
||||||
|
|
||||||
|
|||||||
@@ -60,24 +60,21 @@ export function JobLinesPartPriceChange({ job, line, refetch, technician }) {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const popcontent = !technician && InstanceRenderManager({
|
const popcontent =
|
||||||
imex: null,
|
!technician &&
|
||||||
rome: (
|
InstanceRenderManager({
|
||||||
<Form layout="vertical" onFinish={handleFinish} initialValues={{ act_price: line.act_price }}>
|
imex: null,
|
||||||
<Form.Item name="act_price" label={t("jobs.labels.act_price_ppc")} rules={[{ required: true }]}>
|
rome: (
|
||||||
<CurrencyFormItemComponent />
|
<Form layout="vertical" onFinish={handleFinish} initialValues={{ act_price: line.act_price }}>
|
||||||
</Form.Item>
|
<Form.Item name="act_price" label={t("jobs.labels.act_price_ppc")} rules={[{ required: true }]}>
|
||||||
<Button
|
<CurrencyFormItemComponent />
|
||||||
disabled={InstanceRenderManager({ imex: true, rome: false, promanager: true })}
|
</Form.Item>
|
||||||
loading={loading}
|
<Button disabled={InstanceRenderManager({ imex: true, rome: false })} loading={loading} htmlType="primary">
|
||||||
htmlType="primary"
|
{t("general.actions.save")}
|
||||||
>
|
</Button>
|
||||||
{t("general.actions.save")}
|
</Form>
|
||||||
</Button>
|
)
|
||||||
</Form>
|
});
|
||||||
),
|
|
||||||
promanager: null
|
|
||||||
});
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<JobLineConvertToLabor jobline={line} job={job}>
|
<JobLineConvertToLabor jobline={line} job={job}>
|
||||||
|
|||||||
@@ -158,8 +158,7 @@ export function JobEmployeeAssignments({
|
|||||||
label={t(
|
label={t(
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: "jobs.fields.employee_csr",
|
imex: "jobs.fields.employee_csr",
|
||||||
rome: "jobs.fields.employee_csr_writer",
|
rome: "jobs.fields.employee_csr_writer"
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -96,8 +96,7 @@ export default function JobTotalsTableLabor({ job }) {
|
|||||||
sortOrder: state.sortedInfo.columnKey === "total" && state.sortedInfo.order,
|
sortOrder: state.sortedInfo.columnKey === "total" && state.sortedInfo.order,
|
||||||
render: (text, record) => Dinero(record.total).toFormat()
|
render: (text, record) => Dinero(record.total).toFormat()
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -131,8 +130,7 @@ export default function JobTotalsTableLabor({ job }) {
|
|||||||
<Table.Summary.Cell />
|
<Table.Summary.Cell />
|
||||||
<Table.Summary.Cell />
|
<Table.Summary.Cell />
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
<Table.Summary.Cell align="right">
|
<Table.Summary.Cell align="right">
|
||||||
<strong>{Dinero(job.job_totals.rates.rates_subtotal).toFormat()}</strong>
|
<strong>{Dinero(job.job_totals.rates.rates_subtotal).toFormat()}</strong>
|
||||||
@@ -185,8 +183,7 @@ export default function JobTotalsTableLabor({ job }) {
|
|||||||
{Dinero(job.job_totals.rates.mapa.total).toFormat()}
|
{Dinero(job.job_totals.rates.mapa.total).toFormat()}
|
||||||
</Table.Summary.Cell>
|
</Table.Summary.Cell>
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
</Table.Summary.Row>
|
</Table.Summary.Row>
|
||||||
<Table.Summary.Row>
|
<Table.Summary.Row>
|
||||||
@@ -236,8 +233,7 @@ export default function JobTotalsTableLabor({ job }) {
|
|||||||
{Dinero(job.job_totals.rates.mash.total).toFormat()}
|
{Dinero(job.job_totals.rates.mash.total).toFormat()}
|
||||||
</Table.Summary.Cell>
|
</Table.Summary.Cell>
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
</Table.Summary.Row>
|
</Table.Summary.Row>
|
||||||
<Table.Summary.Row>
|
<Table.Summary.Row>
|
||||||
@@ -253,8 +249,7 @@ export default function JobTotalsTableLabor({ job }) {
|
|||||||
<Table.Summary.Cell />
|
<Table.Summary.Cell />
|
||||||
<Table.Summary.Cell />
|
<Table.Summary.Cell />
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
<Table.Summary.Cell align="right">
|
<Table.Summary.Cell align="right">
|
||||||
<strong>{Dinero(job.job_totals.rates.subtotal).toFormat()}</strong>
|
<strong>{Dinero(job.job_totals.rates.subtotal).toFormat()}</strong>
|
||||||
|
|||||||
@@ -50,7 +50,6 @@ export function JobTotalsTableTotals({ bodyshop, job }) {
|
|||||||
total: job.job_totals.totals.federal_tax
|
total: job.job_totals.totals.federal_tax
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
promanager: "USE_ROME",
|
|
||||||
rome: job.job_totals.totals.us_sales_tax_breakdown
|
rome: job.job_totals.totals.us_sales_tax_breakdown
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -149,7 +148,6 @@ export function JobTotalsTableTotals({ bodyshop, job }) {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
rome: [],
|
rome: [],
|
||||||
promanager: "USE_ROME"
|
|
||||||
}),
|
}),
|
||||||
{
|
{
|
||||||
key: t("jobs.fields.other_amount_payable"),
|
key: t("jobs.fields.other_amount_payable"),
|
||||||
|
|||||||
@@ -51,7 +51,6 @@ export default function JobAdminDeleteIntake({ job }) {
|
|||||||
const InstanceRender = InstanceRenderManager({
|
const InstanceRender = InstanceRenderManager({
|
||||||
imex: true,
|
imex: true,
|
||||||
rome: "USE_IMEX",
|
rome: "USE_IMEX",
|
||||||
promanager: false
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return InstanceRender ? (
|
return InstanceRender ? (
|
||||||
|
|||||||
@@ -110,8 +110,7 @@ export function JobsAvailableContainer({ bodyshop, currentUser, insertAuditTrail
|
|||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
executeFunction: true,
|
executeFunction: true,
|
||||||
rome: ResolveCCCLineIssues,
|
rome: ResolveCCCLineIssues,
|
||||||
args: [estData.est_data, bodyshop],
|
args: [estData.est_data, bodyshop]
|
||||||
promanager: ResolveCCCLineIssues
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// } else {
|
// } else {
|
||||||
@@ -121,7 +120,7 @@ export function JobsAvailableContainer({ bodyshop, currentUser, insertAuditTrail
|
|||||||
executeFunction: true,
|
executeFunction: true,
|
||||||
imex: CheckTaxRates,
|
imex: CheckTaxRates,
|
||||||
rome: CheckTaxRatesUSA,
|
rome: CheckTaxRatesUSA,
|
||||||
promanager: CheckTaxRatesUSA,
|
|
||||||
args: [estData.est_data, bodyshop]
|
args: [estData.est_data, bodyshop]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -236,7 +235,7 @@ export function JobsAvailableContainer({ bodyshop, currentUser, insertAuditTrail
|
|||||||
await InstanceRenderManager({
|
await InstanceRenderManager({
|
||||||
executeFunction: true,
|
executeFunction: true,
|
||||||
rome: ResolveCCCLineIssues,
|
rome: ResolveCCCLineIssues,
|
||||||
promanager: ResolveCCCLineIssues,
|
|
||||||
args: [supp, bodyshop]
|
args: [supp, bodyshop]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -244,7 +243,7 @@ export function JobsAvailableContainer({ bodyshop, currentUser, insertAuditTrail
|
|||||||
executeFunction: true,
|
executeFunction: true,
|
||||||
imex: CheckTaxRates,
|
imex: CheckTaxRates,
|
||||||
rome: CheckTaxRatesUSA,
|
rome: CheckTaxRatesUSA,
|
||||||
promanager: CheckTaxRatesUSA,
|
|
||||||
args: [supp, bodyshop]
|
args: [supp, bodyshop]
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -585,14 +584,13 @@ function ResolveCCCLineIssues(estData, bodyshop) {
|
|||||||
// line.notes += ` | ET/UT Update (prev = ${line.mod_lbr_ty})`;
|
// line.notes += ` | ET/UT Update (prev = ${line.mod_lbr_ty})`;
|
||||||
line.mod_lbr_ty = "LAR";
|
line.mod_lbr_ty = "LAR";
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
promanager: "USE_ROME"
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
//Group by line no
|
//Group by line no
|
||||||
// For everything but the first one, strip out the price number in
|
// For everything but the first one, strip out the price number in
|
||||||
|
//TODO: How do we merge these 2 functions together and have it function properly for Rome?
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
executeFunction: true,
|
executeFunction: true,
|
||||||
args: [],
|
args: [],
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ export function JobsCloseAutoAllocate({ bodyshop, joblines, form, disabled }) {
|
|||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: !jl.part_type && !jl.mod_lbr_ty,
|
imex: !jl.part_type && !jl.mod_lbr_ty,
|
||||||
rome: !ret.profitcenter_part,
|
rome: !ret.profitcenter_part,
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
const lineDesc = jl.line_desc ? jl.line_desc.toLowerCase() : "";
|
const lineDesc = jl.line_desc ? jl.line_desc.toLowerCase() : "";
|
||||||
|
|||||||
@@ -151,8 +151,7 @@ export function JobsConvertButton({ bodyshop, job, refetch, jobRO, insertAuditTr
|
|||||||
label={t(
|
label={t(
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: "jobs.fields.employee_csr",
|
imex: "jobs.fields.employee_csr",
|
||||||
rome: "jobs.fields.employee_csr_writer",
|
rome: "jobs.fields.employee_csr_writer"
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
)}
|
)}
|
||||||
rules={[
|
rules={[
|
||||||
|
|||||||
@@ -670,48 +670,50 @@ export function JobsDetailHeaderActions({
|
|||||||
},
|
},
|
||||||
...InstanceRenderManager({
|
...InstanceRenderManager({
|
||||||
imex: [
|
imex: [
|
||||||
{
|
...(HasFeatureAccess({ featureName: "checklist", bodyshop })
|
||||||
key: "intake",
|
? [
|
||||||
id: "job-actions-intake",
|
{
|
||||||
disabled: !!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO,
|
key: "intake",
|
||||||
label:
|
id: "job-actions-intake",
|
||||||
!!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO ? (
|
disabled: !!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO,
|
||||||
t("jobs.actions.intake")
|
label:
|
||||||
) : (
|
!!job.intakechecklist || !jobInPreProduction || !job.converted || jobRO ? (
|
||||||
<Link to={`/manage/jobs/${job.id}/intake`}>{t("jobs.actions.intake")}</Link>
|
t("jobs.actions.intake")
|
||||||
)
|
) : (
|
||||||
},
|
<Link to={`/manage/jobs/${job.id}/intake`}>{t("jobs.actions.intake")}</Link>
|
||||||
{
|
)
|
||||||
key: "deliver",
|
},
|
||||||
id: "job-actions-deliver",
|
{
|
||||||
disabled: !jobInProduction || jobRO,
|
key: "deliver",
|
||||||
label: !jobInProduction ? (
|
id: "job-actions-deliver",
|
||||||
t("jobs.actions.deliver")
|
disabled: !jobInProduction || jobRO,
|
||||||
) : (
|
label: !jobInProduction ? (
|
||||||
<Link to={`/manage/jobs/${job.id}/deliver`}>{t("jobs.actions.deliver")}</Link>
|
t("jobs.actions.deliver")
|
||||||
)
|
) : (
|
||||||
},
|
<Link to={`/manage/jobs/${job.id}/deliver`}>{t("jobs.actions.deliver")}</Link>
|
||||||
{
|
)
|
||||||
key: "checklist",
|
},
|
||||||
id: "job-actions-checklist",
|
{
|
||||||
disabled: !job.converted,
|
key: "checklist",
|
||||||
label: <Link to={`/manage/jobs/${job.id}/checklist`}>{t("jobs.actions.viewchecklist")}</Link>
|
id: "job-actions-checklist",
|
||||||
}
|
disabled: !job.converted,
|
||||||
|
label: <Link to={`/manage/jobs/${job.id}/checklist`}>{t("jobs.actions.viewchecklist")}</Link>
|
||||||
|
}
|
||||||
|
]
|
||||||
|
: [
|
||||||
|
{
|
||||||
|
key: "toggleproduction",
|
||||||
|
id: "job-actions-toggleproduction",
|
||||||
|
disabled: !job.converted || jobRO,
|
||||||
|
label: <JobsDetailHeaderActionsToggleProduction job={job} refetch={refetch} />
|
||||||
|
}
|
||||||
|
])
|
||||||
],
|
],
|
||||||
rome: "USE_IMEX",
|
rome: "USE_IMEX"
|
||||||
promanager: [
|
|
||||||
{
|
|
||||||
key: "toggleproduction",
|
|
||||||
id: "job-actions-toggleproduction",
|
|
||||||
disabled: !job.converted || jobRO,
|
|
||||||
label: <JobsDetailHeaderActionsToggleProduction job={job} refetch={refetch} />
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}),
|
}),
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "timetickets", bodyshop }),
|
||||||
rome: "USE_IMEX",
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "timetickets", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -881,9 +883,8 @@ export function JobsDetailHeaderActions({
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "bills", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "bills", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -964,9 +965,8 @@ export function JobsDetailHeaderActions({
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: true,
|
imex: HasFeatureAccess({ featureName: "export", bodyshop }),
|
||||||
rome: true,
|
rome: "USE_IMEX"
|
||||||
promanager: HasFeatureAccess({ featureName: "export", bodyshop })
|
|
||||||
})
|
})
|
||||||
) {
|
) {
|
||||||
menuItems.push({
|
menuItems.push({
|
||||||
|
|||||||
@@ -194,8 +194,7 @@ export function JobsDetailRates({ jobRO, form, job, bodyshop }) {
|
|||||||
<JobsDetailRatesOther form={form} />
|
<JobsDetailRatesOther form={form} />
|
||||||
<JobsDetailRatesTaxes form={form} />
|
<JobsDetailRatesTaxes form={form} />
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -989,7 +989,7 @@ export function JobsDetailRatesParts({ jobRO, expanded, required = true, form })
|
|||||||
<Form.Item label={t("jobs.fields.tax_str_rt")} name="tax_str_rt">
|
<Form.Item label={t("jobs.fields.tax_str_rt")} name="tax_str_rt">
|
||||||
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{InstanceRenderManager({ imex: true, rome: false, promanager: "USE_ROME" }) ? (
|
{InstanceRenderManager({ imex: true, rome: false }) ? (
|
||||||
<>
|
<>
|
||||||
<Form.Item label={t("jobs.fields.tax_paint_mat_rt")} name="tax_paint_mat_rt">
|
<Form.Item label={t("jobs.fields.tax_paint_mat_rt")} name="tax_paint_mat_rt">
|
||||||
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
||||||
@@ -1002,7 +1002,7 @@ export function JobsDetailRatesParts({ jobRO, expanded, required = true, form })
|
|||||||
<Form.Item label={t("jobs.fields.tax_sub_rt")} name="tax_sub_rt">
|
<Form.Item label={t("jobs.fields.tax_sub_rt")} name="tax_sub_rt">
|
||||||
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{InstanceRenderManager({ imex: true, rome: false, promanager: "USE_ROME" }) ? (
|
{InstanceRenderManager({ imex: true, rome: false }) ? (
|
||||||
<Form.Item label={t("jobs.fields.tax_lbr_rt")} name="tax_lbr_rt">
|
<Form.Item label={t("jobs.fields.tax_lbr_rt")} name="tax_lbr_rt">
|
||||||
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
<InputNumber min={0} max={100} precision={4} disabled={jobRO} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ const statisticsItems = [
|
|||||||
name: "totalHrsOnBoard",
|
name: "totalHrsOnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "total_hours_in_view",
|
imex: "total_hours_in_view",
|
||||||
rome: "total_hours_on_board",
|
rome: "total_hours_on_board"
|
||||||
promanager: "total_hours_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -21,8 +20,7 @@ const statisticsItems = [
|
|||||||
name: "totalAmountOnBoard",
|
name: "totalAmountOnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "total_amount_in_view",
|
imex: "total_amount_in_view",
|
||||||
rome: "total_amount_on_board",
|
rome: "total_amount_on_board"
|
||||||
promanager: "total_amount_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -30,8 +28,7 @@ const statisticsItems = [
|
|||||||
name: "totalLABOnBoard",
|
name: "totalLABOnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "total_lab_in_view",
|
imex: "total_lab_in_view",
|
||||||
rome: "total_lab_on_board",
|
rome: "total_lab_on_board"
|
||||||
promanager: "total_lab_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -39,8 +36,7 @@ const statisticsItems = [
|
|||||||
name: "totalLAROnBoard",
|
name: "totalLAROnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "total_lar_in_view",
|
imex: "total_lar_in_view",
|
||||||
rome: "total_lar_on_board",
|
rome: "total_lar_on_board"
|
||||||
promanager: "total_lar_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -48,8 +44,7 @@ const statisticsItems = [
|
|||||||
name: "jobsOnBoard",
|
name: "jobsOnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "total_jobs_in_view",
|
imex: "total_jobs_in_view",
|
||||||
rome: "total_jobs_on_board",
|
rome: "total_jobs_on_board"
|
||||||
promanager: "total_jobs_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -57,8 +52,7 @@ const statisticsItems = [
|
|||||||
name: "tasksOnBoard",
|
name: "tasksOnBoard",
|
||||||
label: InstanceRenderManager({
|
label: InstanceRenderManager({
|
||||||
imex: "tasks_in_view",
|
imex: "tasks_in_view",
|
||||||
rome: "tasks_on_board",
|
rome: "tasks_on_board"
|
||||||
promanager: "tasks_on_board"
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
{ id: 11, name: "tasksInProduction", label: "tasks_in_production" }
|
{ id: 11, name: "tasksInProduction", label: "tasks_in_production" }
|
||||||
|
|||||||
@@ -466,8 +466,7 @@ const r = ({ technician, state, activeStatuses, data, bodyshop, refetch, treatme
|
|||||||
title: i18n.t(
|
title: i18n.t(
|
||||||
InstanceRenderManager({
|
InstanceRenderManager({
|
||||||
imex: "jobs.fields.employee_csr",
|
imex: "jobs.fields.employee_csr",
|
||||||
rome: "jobs.fields.employee_csr_writer",
|
rome: "jobs.fields.employee_csr_writer"
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
),
|
),
|
||||||
dataIndex: "employee_csr",
|
dataIndex: "employee_csr",
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import OwnerNameDisplay from "../owner-name-display/owner-name-display.component
|
|||||||
import ScheduleBlockDay from "../schedule-block-day/schedule-block-day.component";
|
import ScheduleBlockDay from "../schedule-block-day/schedule-block-day.component";
|
||||||
import ScheduleCalendarHeaderGraph from "./schedule-calendar-header-graph.component";
|
import ScheduleCalendarHeaderGraph from "./schedule-calendar-header-graph.component";
|
||||||
import InstanceRenderMgr from "../../utils/instanceRenderMgr";
|
import InstanceRenderMgr from "../../utils/instanceRenderMgr";
|
||||||
|
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -60,8 +61,7 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
loadData.allJobsOut.map((j) => (
|
loadData.allJobsOut.map((j) => (
|
||||||
<tr key={j.id}>
|
<tr key={j.id}>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
<Link to={`/manage/jobs/${j.id}`}>{j.ro_number}</Link> (
|
<Link to={`/manage/jobs/${j.id}`}>{j.ro_number}</Link> ({j.status})
|
||||||
{j.status})
|
|
||||||
</td>
|
</td>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
<OwnerNameDisplay ownerObject={j} />
|
<OwnerNameDisplay ownerObject={j} />
|
||||||
@@ -69,23 +69,18 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
{`(${j.labhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0}/${
|
{`(${j.labhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0}/${
|
||||||
j.larhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0
|
j.larhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0
|
||||||
}/${(
|
}/${(j.labhrs.aggregate?.sum?.mod_lb_hrs + j.larhrs.aggregate?.sum?.mod_lb_hrs).toFixed(
|
||||||
j.labhrs.aggregate?.sum?.mod_lb_hrs +
|
1
|
||||||
j.larhrs.aggregate?.sum?.mod_lb_hrs
|
)} ${t("general.labels.hours")})`}
|
||||||
).toFixed(1)} ${t("general.labels.hours")})`}
|
|
||||||
</td>
|
</td>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
<DateTimeFormatter>
|
<DateTimeFormatter>{j.scheduled_completion}</DateTimeFormatter>
|
||||||
{j.scheduled_completion}
|
|
||||||
</DateTimeFormatter>
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
))
|
))
|
||||||
) : (
|
) : (
|
||||||
<tr>
|
<tr>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>{t("appointments.labels.nocompletingjobs")}</td>
|
||||||
{t("appointments.labels.nocompletingjobs")}
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -109,10 +104,9 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
{`(${j.labhrs?.aggregate?.sum.mod_lb_hrs?.toFixed(1) || 0}/${
|
{`(${j.labhrs?.aggregate?.sum.mod_lb_hrs?.toFixed(1) || 0}/${
|
||||||
j.larhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0
|
j.larhrs?.aggregate?.sum?.mod_lb_hrs?.toFixed(1) || 0
|
||||||
}/${(
|
}/${(j.labhrs?.aggregate?.sum?.mod_lb_hrs + j.larhrs?.aggregate?.sum?.mod_lb_hrs).toFixed(
|
||||||
j.labhrs?.aggregate?.sum?.mod_lb_hrs +
|
1
|
||||||
j.larhrs?.aggregate?.sum?.mod_lb_hrs
|
)} ${t("general.labels.hours")})`}
|
||||||
).toFixed(1)} ${t("general.labels.hours")})`}
|
|
||||||
</td>
|
</td>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>
|
||||||
<DateTimeFormatter>{j.scheduled_in}</DateTimeFormatter>
|
<DateTimeFormatter>{j.scheduled_in}</DateTimeFormatter>
|
||||||
@@ -121,9 +115,7 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
))
|
))
|
||||||
) : (
|
) : (
|
||||||
<tr>
|
<tr>
|
||||||
<td style={{ padding: "2.5px" }}>
|
<td style={{ padding: "2.5px" }}>{t("appointments.labels.noarrivingjobs")}</td>
|
||||||
{t("appointments.labels.noarrivingjobs")}
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
)}
|
)}
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -133,33 +125,30 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
|
|
||||||
const LoadComponent = loadData ? (
|
const LoadComponent = loadData ? (
|
||||||
<div>
|
<div>
|
||||||
<Space align="center">
|
<Space align="center">
|
||||||
<Popover
|
<Popover
|
||||||
placement={"bottom"}
|
placement={"bottom"}
|
||||||
content={jobsInPopup}
|
content={jobsInPopup}
|
||||||
trigger="hover"
|
trigger="hover"
|
||||||
title={t("appointments.labels.arrivingjobs")}
|
title={t("appointments.labels.arrivingjobs")}
|
||||||
>
|
>
|
||||||
<Icon component={MdFileDownload} style={{ color: "green" }} />
|
<Icon component={MdFileDownload} style={{ color: "green" }} />
|
||||||
{(loadData.allHoursInBody || 0) &&
|
{(loadData.allHoursInBody || 0) && loadData.allHoursInBody.toFixed(1)}/
|
||||||
loadData.allHoursInBody.toFixed(1)}
|
{(loadData.allHoursInRefinish || 0) && loadData.allHoursInRefinish.toFixed(1)}/
|
||||||
/
|
{(loadData.allHoursIn || 0) && loadData.allHoursIn.toFixed(1)}
|
||||||
{(loadData.allHoursInRefinish || 0) &&
|
</Popover>
|
||||||
loadData.allHoursInRefinish.toFixed(1)}
|
<Popover
|
||||||
/{(loadData.allHoursIn || 0) && loadData.allHoursIn.toFixed(1)}
|
placement={"bottom"}
|
||||||
</Popover>
|
content={jobsOutPopup}
|
||||||
<Popover
|
trigger="hover"
|
||||||
placement={"bottom"}
|
title={t("appointments.labels.completingjobs")}
|
||||||
content={jobsOutPopup}
|
>
|
||||||
trigger="hover"
|
<Icon component={MdFileUpload} style={{ color: "red" }} />
|
||||||
title={t("appointments.labels.completingjobs")}
|
{(loadData.allHoursOut || 0) && loadData.allHoursOut.toFixed(1)}
|
||||||
>
|
</Popover>
|
||||||
<Icon component={MdFileUpload} style={{ color: "red" }} />
|
<ScheduleCalendarHeaderGraph loadData={loadData} />
|
||||||
{(loadData.allHoursOut || 0) && loadData.allHoursOut.toFixed(1)}
|
</Space>
|
||||||
</Popover>
|
|
||||||
<ScheduleCalendarHeaderGraph loadData={loadData} />
|
|
||||||
</Space>
|
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<ul style={{ listStyleType: "none", columns: "2 auto", padding: 0 }}>
|
<ul style={{ listStyleType: "none", columns: "2 auto", padding: 0 }}>
|
||||||
{Object.keys(ATSToday).map((key, idx) => (
|
{Object.keys(ATSToday).map((key, idx) => (
|
||||||
@@ -208,9 +197,16 @@ export function ScheduleCalendarHeaderComponent({
|
|||||||
<div style={{ color: isShopOpen(date) ? "" : "tomato" }}>
|
<div style={{ color: isShopOpen(date) ? "" : "tomato" }}>
|
||||||
{label}
|
{label}
|
||||||
{InstanceRenderMgr({
|
{InstanceRenderMgr({
|
||||||
imex: calculating ? <LoadingSkeleton /> : LoadComponent,
|
imex: HasFeatureAccess({ featureName: "smartscheduling", bodyshop }) ? (
|
||||||
rome: "USE_IMEX",
|
calculating ? (
|
||||||
promanager: <></>
|
<LoadingSkeleton />
|
||||||
|
) : (
|
||||||
|
LoadComponent
|
||||||
|
)
|
||||||
|
) : (
|
||||||
|
<></>
|
||||||
|
),
|
||||||
|
rome: "USE_IMEX"
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</ScheduleBlockDay>
|
</ScheduleBlockDay>
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import { Alert, Collapse, Space } from "antd";
|
|||||||
import { Trans, useTranslation } from "react-i18next";
|
import { Trans, useTranslation } from "react-i18next";
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||||
import local from "./localizer";
|
import local from "./localizer";
|
||||||
|
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop,
|
bodyshop: selectBodyshop,
|
||||||
@@ -54,58 +55,58 @@ export function ScheduleCalendarWrapperComponent({
|
|||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<JobDetailCards />
|
<JobDetailCards />
|
||||||
{InstanceRenderManager({
|
{HasFeatureAccess({ featureName: "smartscheduling", bodyshop }) &&
|
||||||
imex:
|
InstanceRenderManager({
|
||||||
problemJobs && problemJobs.length > 2 ? (
|
imex:
|
||||||
<Collapse style={{ marginBottom: "5px" }}>
|
problemJobs && problemJobs.length > 2 ? (
|
||||||
<Collapse.Panel
|
<Collapse style={{ marginBottom: "5px" }}>
|
||||||
key="1"
|
<Collapse.Panel
|
||||||
header={<span style={{ color: "tomato" }}>{t("appointments.labels.severalerrorsfound")}</span>}
|
key="1"
|
||||||
>
|
header={<span style={{ color: "tomato" }}>{t("appointments.labels.severalerrorsfound")}</span>}
|
||||||
<Space direction="vertical" style={{ width: "100%" }}>
|
>
|
||||||
{problemJobs.map((problem) => (
|
<Space direction="vertical" style={{ width: "100%" }}>
|
||||||
<Alert
|
{problemJobs.map((problem) => (
|
||||||
key={problem.id}
|
<Alert
|
||||||
type="error"
|
key={problem.id}
|
||||||
message={
|
type="error"
|
||||||
<Trans
|
message={
|
||||||
i18nKey="appointments.labels.dataconsistency"
|
<Trans
|
||||||
components={[<Link to={`/manage/jobs/${problem.id}`} target="_blank" />]}
|
i18nKey="appointments.labels.dataconsistency"
|
||||||
values={{
|
components={[<Link to={`/manage/jobs/${problem.id}`} target="_blank" />]}
|
||||||
ro_number: problem.ro_number,
|
values={{
|
||||||
code: problem.code
|
ro_number: problem.ro_number,
|
||||||
}}
|
code: problem.code
|
||||||
/>
|
}}
|
||||||
}
|
/>
|
||||||
/>
|
}
|
||||||
))}
|
/>
|
||||||
</Space>
|
))}
|
||||||
</Collapse.Panel>
|
</Space>
|
||||||
</Collapse>
|
</Collapse.Panel>
|
||||||
) : (
|
</Collapse>
|
||||||
<Space direction="vertical" style={{ width: "100%", marginBottom: "5px" }}>
|
) : (
|
||||||
{problemJobs.map((problem) => (
|
<Space direction="vertical" style={{ width: "100%", marginBottom: "5px" }}>
|
||||||
<Alert
|
{problemJobs.map((problem) => (
|
||||||
key={problem.id}
|
<Alert
|
||||||
type="error"
|
key={problem.id}
|
||||||
message={
|
type="error"
|
||||||
<Trans
|
message={
|
||||||
i18nKey="appointments.labels.dataconsistency"
|
<Trans
|
||||||
components={[<Link to={`/manage/jobs/${problem.id}`} target="_blank" />]}
|
i18nKey="appointments.labels.dataconsistency"
|
||||||
values={{
|
components={[<Link to={`/manage/jobs/${problem.id}`} target="_blank" />]}
|
||||||
ro_number: problem.ro_number,
|
values={{
|
||||||
code: problem.code
|
ro_number: problem.ro_number,
|
||||||
}}
|
code: problem.code
|
||||||
/>
|
}}
|
||||||
}
|
/>
|
||||||
/>
|
}
|
||||||
))}
|
/>
|
||||||
</Space>
|
))}
|
||||||
),
|
</Space>
|
||||||
|
),
|
||||||
|
|
||||||
rome: "USE_IMEX",
|
rome: "USE_IMEX"
|
||||||
promanager: <span />
|
})}
|
||||||
})}
|
|
||||||
|
|
||||||
<Calendar
|
<Calendar
|
||||||
events={data}
|
events={data}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import { calculateScheduleLoad } from "../../redux/application/application.actio
|
|||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import { DateFormatter } from "../../utils/DateFormatter";
|
import { DateFormatter } from "../../utils/DateFormatter";
|
||||||
import dayjs from "../../utils/day";
|
import dayjs from "../../utils/day";
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||||
import DateTimePicker from "../form-date-time-picker/form-date-time-picker.component";
|
import DateTimePicker from "../form-date-time-picker/form-date-time-picker.component";
|
||||||
import EmailInput from "../form-items-formatted/email-form-item.component";
|
import EmailInput from "../form-items-formatted/email-form-item.component";
|
||||||
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
||||||
@@ -99,40 +99,36 @@ export function ScheduleJobModalComponent({
|
|||||||
<DateTimePicker onlyFuture />
|
<DateTimePicker onlyFuture />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</LayoutFormRow>
|
</LayoutFormRow>
|
||||||
{InstanceRenderManager({
|
{HasFeatureAccess({ featureName: "smartscheduling", bodyshop }) && (
|
||||||
imex: (
|
<>
|
||||||
<>
|
<Typography.Title level={4}>{t("appointments.labels.smartscheduling")}</Typography.Title>
|
||||||
<Typography.Title level={4}>{t("appointments.labels.smartscheduling")}</Typography.Title>
|
<Space wrap>
|
||||||
<Space wrap>
|
<Button onClick={handleSmartScheduling} loading={loading}>
|
||||||
<Button onClick={handleSmartScheduling} loading={loading}>
|
{t("appointments.actions.calculate")}
|
||||||
{t("appointments.actions.calculate")}
|
</Button>
|
||||||
|
{smartOptions.map((d, idx) => (
|
||||||
|
<Button
|
||||||
|
className="imex-flex-row__margin"
|
||||||
|
key={idx}
|
||||||
|
onClick={() => {
|
||||||
|
const ssDate = dayjs(d);
|
||||||
|
if (ssDate.isBefore(dayjs())) {
|
||||||
|
form.setFieldsValue({ start: dayjs() });
|
||||||
|
} else {
|
||||||
|
form.setFieldsValue({
|
||||||
|
start: dayjs(d).add(8, "hour")
|
||||||
|
});
|
||||||
|
}
|
||||||
|
handleDateBlur();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<DateFormatter includeDay>{d}</DateFormatter>
|
||||||
</Button>
|
</Button>
|
||||||
{smartOptions.map((d, idx) => (
|
))}
|
||||||
<Button
|
</Space>
|
||||||
className="imex-flex-row__margin"
|
</>
|
||||||
key={idx}
|
)}
|
||||||
onClick={() => {
|
,
|
||||||
const ssDate = dayjs(d);
|
|
||||||
if (ssDate.isBefore(dayjs())) {
|
|
||||||
form.setFieldsValue({ start: dayjs() });
|
|
||||||
} else {
|
|
||||||
form.setFieldsValue({
|
|
||||||
start: dayjs(d).add(8, "hour")
|
|
||||||
});
|
|
||||||
}
|
|
||||||
handleDateBlur();
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
<DateFormatter includeDay>{d}</DateFormatter>
|
|
||||||
</Button>
|
|
||||||
))}
|
|
||||||
</Space>
|
|
||||||
</>
|
|
||||||
),
|
|
||||||
rome: "USE_IMEX",
|
|
||||||
promanager: <></>
|
|
||||||
})}
|
|
||||||
|
|
||||||
<LayoutFormRow grow>
|
<LayoutFormRow grow>
|
||||||
<Form.Item name="notifyCustomer" valuePropName="checked" label={t("jobs.labels.appointmentconfirmation")}>
|
<Form.Item name="notifyCustomer" valuePropName="checked" label={t("jobs.labels.appointmentconfirmation")}>
|
||||||
<Switch />
|
<Switch />
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import queryString from "query-string";
|
|||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||||
import ShopInfoRoGuard from "./shop-info.roguard.component";
|
import ShopInfoRoGuard from "./shop-info.roguard.component";
|
||||||
import ShopInfoIntellipay from "./shop-intellipay-config.component";
|
import ShopInfoIntellipay from "./shop-intellipay-config.component";
|
||||||
|
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop
|
bodyshop: selectBodyshop
|
||||||
@@ -87,18 +88,16 @@ export function ShopInfoComponent({ bodyshop, form, saveLoading }) {
|
|||||||
children: <ShopInfoResponsibilityCenterComponent form={form} />,
|
children: <ShopInfoResponsibilityCenterComponent form={form} />,
|
||||||
id: "tab-shop-responsibilitycenters"
|
id: "tab-shop-responsibilitycenters"
|
||||||
},
|
},
|
||||||
...InstanceRenderManager({
|
...(HasFeatureAccess({ featureName: "checklists", bodyshop })
|
||||||
imex: [
|
? [
|
||||||
{
|
{
|
||||||
key: "checklists",
|
key: "checklists",
|
||||||
label: t("bodyshop.labels.checklists"),
|
label: t("bodyshop.labels.checklists"),
|
||||||
children: <ShopInfoIntakeChecklistComponent form={form} />,
|
children: <ShopInfoIntakeChecklistComponent form={form} />,
|
||||||
id: "tab-shop-checklists"
|
id: "tab-shop-checklists"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
rome: "USE_IMEX",
|
: []),
|
||||||
promanager: []
|
|
||||||
}),
|
|
||||||
{
|
{
|
||||||
key: "laborrates",
|
key: "laborrates",
|
||||||
label: t("bodyshop.labels.laborrates"),
|
label: t("bodyshop.labels.laborrates"),
|
||||||
@@ -125,29 +124,22 @@ export function ShopInfoComponent({ bodyshop, form, saveLoading }) {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
: []),
|
: []),
|
||||||
...InstanceRenderManager({
|
...(HasFeatureAccess({ featureName: "roguard", bodyshop })
|
||||||
imex: [
|
? [
|
||||||
{
|
{
|
||||||
key: "roguard",
|
key: "roguard",
|
||||||
label: t("bodyshop.labels.roguard.title"),
|
label: t("bodyshop.labels.roguard.title"),
|
||||||
children: <ShopInfoRoGuard form={form} />,
|
children: <ShopInfoRoGuard form={form} />,
|
||||||
id: "tab-shop-roguard"
|
id: "tab-shop-roguard"
|
||||||
}
|
}
|
||||||
],
|
]
|
||||||
rome: "USE_IMEX",
|
: []),
|
||||||
promanager: []
|
|
||||||
}),
|
{
|
||||||
...InstanceRenderManager({
|
key: "intellipay",
|
||||||
imex: [],
|
label: InstanceRenderManager({ rome: t("bodyshop.labels.romepay"), imex: t("bodyshop.labels.imexpay") }),
|
||||||
rome: [
|
children: <ShopInfoIntellipay form={form} />
|
||||||
{
|
}
|
||||||
key: "intellipay",
|
|
||||||
label: InstanceRenderManager({ rome: t("bodyshop.labels.romepay"), imex: t("bodyshop.labels.imexpay") }),
|
|
||||||
children: <ShopInfoIntellipay form={form} />
|
|
||||||
}
|
|
||||||
],
|
|
||||||
promanager: []
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
return (
|
return (
|
||||||
<Card
|
<Card
|
||||||
|
|||||||
@@ -4043,8 +4043,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
|||||||
<Input />
|
<Input />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</>
|
</>
|
||||||
),
|
)
|
||||||
promanager: "USE_ROME"
|
|
||||||
})}
|
})}
|
||||||
|
|
||||||
{/*<LayoutFormRow id="local_tax">*/}
|
{/*<LayoutFormRow id="local_tax">*/}
|
||||||
|
|||||||
@@ -2034,7 +2034,7 @@ export function ShopInfoResponsibilityCenters({ bodyshop, form }) {
|
|||||||
<Form.Item label={t("jobs.fields.tax_str_rt")} name={["md_responsibility_centers", "tax_str_rt"]}>
|
<Form.Item label={t("jobs.fields.tax_str_rt")} name={["md_responsibility_centers", "tax_str_rt"]}>
|
||||||
<InputNumber min={0} max={100} precision={4} />
|
<InputNumber min={0} max={100} precision={4} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{InstanceRenderManager({ imex: true, rome: false, promanager: "USE_ROME" }) ? (
|
{InstanceRenderManager({ imex: true, rome: false }) ? (
|
||||||
<>
|
<>
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("jobs.fields.tax_paint_mat_rt")}
|
label={t("jobs.fields.tax_paint_mat_rt")}
|
||||||
@@ -2053,7 +2053,7 @@ export function ShopInfoResponsibilityCenters({ bodyshop, form }) {
|
|||||||
<Form.Item label={t("jobs.fields.tax_sub_rt")} name={["md_responsibility_centers", "tax_sub_rt"]}>
|
<Form.Item label={t("jobs.fields.tax_sub_rt")} name={["md_responsibility_centers", "tax_sub_rt"]}>
|
||||||
<InputNumber min={0} max={100} precision={4} />
|
<InputNumber min={0} max={100} precision={4} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
{InstanceRenderManager({ imex: true, rome: false, promanager: "USE_ROME" }) ? (
|
{InstanceRenderManager({ imex: true, rome: false }) ? (
|
||||||
<Form.Item label={t("jobs.fields.tax_lbr_rt")} name={["md_responsibility_centers", "tax_lbr_rt"]}>
|
<Form.Item label={t("jobs.fields.tax_lbr_rt")} name={["md_responsibility_centers", "tax_lbr_rt"]}>
|
||||||
<InputNumber min={0} max={100} precision={4} />
|
<InputNumber min={0} max={100} precision={4} />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
|||||||
@@ -2,13 +2,23 @@ import { DeleteFilled } from "@ant-design/icons";
|
|||||||
import { Button, Divider, Form, Input, InputNumber, Select, Space, Switch, TimePicker } from "antd";
|
import { Button, Divider, Form, Input, InputNumber, Select, Space, Switch, TimePicker } from "antd";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
|
import { HasFeatureAccess } from "../feature-wrapper/feature-wrapper.component";
|
||||||
import ColorpickerFormItemComponent from "../form-items-formatted/colorpicker-form-item.component";
|
import ColorpickerFormItemComponent from "../form-items-formatted/colorpicker-form-item.component";
|
||||||
import FormListMoveArrows from "../form-list-move-arrows/form-list-move-arrows.component";
|
import FormListMoveArrows from "../form-list-move-arrows/form-list-move-arrows.component";
|
||||||
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
import LayoutFormRow from "../layout-form-row/layout-form-row.component";
|
||||||
import { ColorPicker } from "./shop-info.rostatus.component";
|
import { ColorPicker } from "./shop-info.rostatus.component";
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
|
||||||
|
|
||||||
export default function ShopInfoSchedulingComponent({ form }) {
|
import { connect } from "react-redux";
|
||||||
|
import { createStructuredSelector } from "reselect";
|
||||||
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
|
const mapStateToProps = createStructuredSelector({
|
||||||
|
bodyshop: selectBodyshop
|
||||||
|
});
|
||||||
|
const mapDispatchToProps = (dispatch) => ({
|
||||||
|
//setUserLanguage: language => dispatch(setUserLanguage(language))
|
||||||
|
});
|
||||||
|
|
||||||
|
export function ShopInfoSchedulingComponent({ form, bodyshop }) {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -167,138 +177,136 @@ export default function ShopInfoSchedulingComponent({ form }) {
|
|||||||
}}
|
}}
|
||||||
</Form.List>
|
</Form.List>
|
||||||
</LayoutFormRow>
|
</LayoutFormRow>
|
||||||
{InstanceRenderManager({
|
{HasFeatureAccess({ featureName: "smartscheduling", bodyshop }) && (
|
||||||
imex: (
|
<LayoutFormRow header={t("bodyshop.labels.ssbuckets")} id="ssbuckets">
|
||||||
<LayoutFormRow header={t("bodyshop.labels.ssbuckets")} id="ssbuckets">
|
<Form.List name={["ssbuckets"]}>
|
||||||
<Form.List name={["ssbuckets"]}>
|
{(fields, { add, remove, move }) => {
|
||||||
{(fields, { add, remove, move }) => {
|
return (
|
||||||
return (
|
<div>
|
||||||
<div>
|
{fields.map((field, index) => (
|
||||||
{fields.map((field, index) => (
|
<Form.Item key={field.key}>
|
||||||
<Form.Item key={field.key}>
|
<LayoutFormRow noDivider>
|
||||||
<LayoutFormRow noDivider>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.ssbuckets.id")}
|
||||||
label={t("bodyshop.fields.ssbuckets.id")}
|
key={`${index}id`}
|
||||||
key={`${index}id`}
|
name={[field.name, "id"]}
|
||||||
name={[field.name, "id"]}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
>
|
||||||
>
|
<Input />
|
||||||
<Input />
|
</Form.Item>
|
||||||
</Form.Item>
|
<Form.Item
|
||||||
<Form.Item
|
label={t("bodyshop.fields.ssbuckets.label")}
|
||||||
label={t("bodyshop.fields.ssbuckets.label")}
|
key={`${index}label`}
|
||||||
key={`${index}label`}
|
name={[field.name, "label"]}
|
||||||
name={[field.name, "label"]}
|
rules={[
|
||||||
rules={[
|
{
|
||||||
{
|
required: true
|
||||||
required: true
|
//message: t("general.validation.required"),
|
||||||
//message: t("general.validation.required"),
|
}
|
||||||
}
|
]}
|
||||||
]}
|
>
|
||||||
>
|
<Input />
|
||||||
<Input />
|
</Form.Item>
|
||||||
</Form.Item>
|
|
||||||
|
|
||||||
|
<Form.Item
|
||||||
|
label={t("bodyshop.fields.ssbuckets.gte")}
|
||||||
|
key={`${index}gte`}
|
||||||
|
name={[field.name, "gte"]}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
required: true
|
||||||
|
//message: t("general.validation.required"),
|
||||||
|
}
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<InputNumber />
|
||||||
|
</Form.Item>
|
||||||
|
|
||||||
|
<Form.Item
|
||||||
|
label={t("bodyshop.fields.ssbuckets.lt")}
|
||||||
|
key={`${index}lt`}
|
||||||
|
name={[field.name, "lt"]}
|
||||||
|
>
|
||||||
|
<InputNumber />
|
||||||
|
</Form.Item>
|
||||||
|
|
||||||
|
<Form.Item
|
||||||
|
label={t("bodyshop.fields.ssbuckets.target")}
|
||||||
|
key={`${index}target`}
|
||||||
|
name={[field.name, "target"]}
|
||||||
|
rules={[
|
||||||
|
{
|
||||||
|
required: true
|
||||||
|
//message: t("general.validation.required"),
|
||||||
|
}
|
||||||
|
]}
|
||||||
|
>
|
||||||
|
<InputNumber />
|
||||||
|
</Form.Item>
|
||||||
|
|
||||||
|
<Space direction="horizontal">
|
||||||
<Form.Item
|
<Form.Item
|
||||||
label={t("bodyshop.fields.ssbuckets.gte")}
|
label={
|
||||||
key={`${index}gte`}
|
<Space>
|
||||||
name={[field.name, "gte"]}
|
{t("bodyshop.fields.ssbuckets.color")}
|
||||||
rules={[
|
<Button
|
||||||
{
|
size="small"
|
||||||
required: true
|
onClick={() => {
|
||||||
//message: t("general.validation.required"),
|
form.setFieldValue(["ssbuckets", field.name, "color"]);
|
||||||
}
|
|
||||||
]}
|
form.setFields([
|
||||||
|
{
|
||||||
|
name: ["ssbuckets", field.name, "color"],
|
||||||
|
touched: true
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
Reset
|
||||||
|
</Button>
|
||||||
|
</Space>
|
||||||
|
}
|
||||||
|
key={`${index}color`}
|
||||||
|
name={[field.name, "color"]}
|
||||||
>
|
>
|
||||||
<InputNumber />
|
<ColorPicker />
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
|
<Space wrap>
|
||||||
<Form.Item
|
<DeleteFilled
|
||||||
label={t("bodyshop.fields.ssbuckets.lt")}
|
onClick={() => {
|
||||||
key={`${index}lt`}
|
remove(field.name);
|
||||||
name={[field.name, "lt"]}
|
}}
|
||||||
>
|
/>
|
||||||
<InputNumber />
|
<FormListMoveArrows move={move} index={index} total={fields.length} />
|
||||||
</Form.Item>
|
|
||||||
|
|
||||||
<Form.Item
|
|
||||||
label={t("bodyshop.fields.ssbuckets.target")}
|
|
||||||
key={`${index}target`}
|
|
||||||
name={[field.name, "target"]}
|
|
||||||
rules={[
|
|
||||||
{
|
|
||||||
required: true
|
|
||||||
//message: t("general.validation.required"),
|
|
||||||
}
|
|
||||||
]}
|
|
||||||
>
|
|
||||||
<InputNumber />
|
|
||||||
</Form.Item>
|
|
||||||
|
|
||||||
<Space direction="horizontal">
|
|
||||||
<Form.Item
|
|
||||||
label={
|
|
||||||
<Space>
|
|
||||||
{t("bodyshop.fields.ssbuckets.color")}
|
|
||||||
<Button
|
|
||||||
size="small"
|
|
||||||
onClick={() => {
|
|
||||||
form.setFieldValue(["ssbuckets", field.name, "color"]);
|
|
||||||
|
|
||||||
form.setFields([
|
|
||||||
{
|
|
||||||
name: ["ssbuckets", field.name, "color"],
|
|
||||||
touched: true
|
|
||||||
}
|
|
||||||
]);
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Reset
|
|
||||||
</Button>
|
|
||||||
</Space>
|
|
||||||
}
|
|
||||||
key={`${index}color`}
|
|
||||||
name={[field.name, "color"]}
|
|
||||||
>
|
|
||||||
<ColorPicker />
|
|
||||||
</Form.Item>
|
|
||||||
<Space wrap>
|
|
||||||
<DeleteFilled
|
|
||||||
onClick={() => {
|
|
||||||
remove(field.name);
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
<FormListMoveArrows move={move} index={index} total={fields.length} />
|
|
||||||
</Space>
|
|
||||||
</Space>
|
</Space>
|
||||||
</LayoutFormRow>
|
</Space>
|
||||||
</Form.Item>
|
</LayoutFormRow>
|
||||||
))}
|
|
||||||
<Form.Item>
|
|
||||||
<Button
|
|
||||||
type="dashed"
|
|
||||||
onClick={() => {
|
|
||||||
add();
|
|
||||||
}}
|
|
||||||
style={{ width: "100%" }}
|
|
||||||
>
|
|
||||||
{t("bodyshop.actions.addbucket")}
|
|
||||||
</Button>
|
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</div>
|
))}
|
||||||
);
|
<Form.Item>
|
||||||
}}
|
<Button
|
||||||
</Form.List>
|
type="dashed"
|
||||||
</LayoutFormRow>
|
onClick={() => {
|
||||||
),
|
add();
|
||||||
rome: "USE_IMEX",
|
}}
|
||||||
promanager: null
|
style={{ width: "100%" }}
|
||||||
})}
|
>
|
||||||
|
{t("bodyshop.actions.addbucket")}
|
||||||
|
</Button>
|
||||||
|
</Form.Item>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
</Form.List>
|
||||||
|
</LayoutFormRow>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export default connect(mapStateToProps, mapDispatchToProps)(ShopInfoSchedulingComponent);
|
||||||
|
|||||||
@@ -8,10 +8,9 @@ import { Link, useLocation, useNavigate } from "react-router-dom";
|
|||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
import RomeLogo from "../../assets/RomeOnlineBlue.png";
|
import RomeLogo from "../../assets/RomeOnlineBlue.png";
|
||||||
import ImEXOnlineLogo from "../../assets/logo192.png";
|
import ImEXOnlineLogo from "../../assets/logo192.png";
|
||||||
import ProManagerLogo from "../../assets/promanager/ProManagerLogo.gif";
|
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
|
||||||
import { emailSignInStart, sendPasswordReset } from "../../redux/user/user.actions";
|
import { emailSignInStart, sendPasswordReset } from "../../redux/user/user.actions";
|
||||||
import { selectCurrentUser, selectLoginLoading, selectSignInError } from "../../redux/user/user.selectors";
|
import { selectCurrentUser, selectLoginLoading, selectSignInError } from "../../redux/user/user.selectors";
|
||||||
|
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||||
import AlertComponent from "../alert/alert.component";
|
import AlertComponent from "../alert/alert.component";
|
||||||
import "./sign-in-form.styles.scss";
|
import "./sign-in-form.styles.scss";
|
||||||
|
|
||||||
@@ -49,21 +48,18 @@ export function SignInComponent({ emailSignInStart, currentUser, signInError, se
|
|||||||
<img
|
<img
|
||||||
src={InstanceRenderManager({
|
src={InstanceRenderManager({
|
||||||
imex: ImEXOnlineLogo,
|
imex: ImEXOnlineLogo,
|
||||||
rome: RomeLogo,
|
rome: RomeLogo
|
||||||
promanager: ProManagerLogo
|
|
||||||
})}
|
})}
|
||||||
width={InstanceRenderManager({ imex: 200, rome: 200, promanager: 450 })}
|
width={InstanceRenderManager({ imex: 200, rome: 200 })}
|
||||||
alt={InstanceRenderManager({
|
alt={InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<Typography.Title>
|
<Typography.Title>
|
||||||
{InstanceRenderManager({
|
{InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: null
|
|
||||||
})}
|
})}
|
||||||
</Typography.Title>
|
</Typography.Title>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ export function TechLogin({ technician, loginError, loginLoading, techLoginStart
|
|||||||
document.title = t("titles.techconsole", {
|
document.title = t("titles.techconsole", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|||||||
@@ -76,8 +76,7 @@ export function UpdateAlert({ updateAvailable }) {
|
|||||||
time: (timeLeft / 1000).toFixed(0),
|
time: (timeLeft / 1000).toFixed(0),
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
}),
|
}),
|
||||||
placement: "bottomRight"
|
placement: "bottomRight"
|
||||||
@@ -95,8 +94,7 @@ export function UpdateAlert({ updateAvailable }) {
|
|||||||
message={t("general.messages.newversiontitle", {
|
message={t("general.messages.newversiontitle", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
showIcon
|
showIcon
|
||||||
@@ -107,8 +105,7 @@ export function UpdateAlert({ updateAvailable }) {
|
|||||||
{t("general.messages.newversionmessage", {
|
{t("general.messages.newversionmessage", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
</Col>
|
</Col>
|
||||||
|
|||||||
@@ -55,15 +55,13 @@ export function UserRequestResetPw({ passwordReset, sendPasswordReset, sendPassw
|
|||||||
width="100"
|
width="100"
|
||||||
alt={InstanceRenderManager({
|
alt={InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
<Typography.Title>
|
<Typography.Title>
|
||||||
{InstanceRenderManager({
|
{InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
</Typography.Title>
|
</Typography.Title>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -75,16 +75,14 @@ export function UserValidatePwReset({ passwordReset, validatePasswordReset, oobC
|
|||||||
width={100}
|
width={100}
|
||||||
alt={InstanceRenderManager({
|
alt={InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<Typography.Title>
|
<Typography.Title>
|
||||||
{InstanceRenderManager({
|
{InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})}
|
})}
|
||||||
</Typography.Title>
|
</Typography.Title>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ if (import.meta.env.PROD) {
|
|||||||
Sentry.init({
|
Sentry.init({
|
||||||
dsn: InstanceRenderManager({
|
dsn: InstanceRenderManager({
|
||||||
imex: "https://fd7e89369b6b4bdc9c6c4c9f22fa4ee4@o492140.ingest.sentry.io/5651027",
|
imex: "https://fd7e89369b6b4bdc9c6c4c9f22fa4ee4@o492140.ingest.sentry.io/5651027",
|
||||||
rome: "https://a6acc91c073e414196014b8484627a61@o492140.ingest.sentry.io/4504561071161344",
|
rome: "https://a6acc91c073e414196014b8484627a61@o492140.ingest.sentry.io/4504561071161344" //TODO:AIO Add in the sentry tracker for proman.
|
||||||
promanager: "" //TODO:AIO Add in the sentry tracker for proman.
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
ignoreErrors: [
|
ignoreErrors: [
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ export function AccountingPayablesContainer({ bodyshop, setBreadcrumbs, setSelec
|
|||||||
document.title = t("titles.accounting-payables", {
|
document.title = t("titles.accounting-payables", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("payables");
|
setSelectedHeader("payables");
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ export function AccountingPaymentsContainer({ bodyshop, setBreadcrumbs, setSelec
|
|||||||
document.title = t("titles.accounting-payments", {
|
document.title = t("titles.accounting-payments", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("payments");
|
setSelectedHeader("payments");
|
||||||
|
|||||||
@@ -31,8 +31,7 @@ export function AccountingReceivablesContainer({ bodyshop, setBreadcrumbs, setSe
|
|||||||
document.title = t("titles.accounting-receivables", {
|
document.title = t("titles.accounting-receivables", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("receivables");
|
setSelectedHeader("receivables");
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ export function BillsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.bills-list", {
|
document.title = t("titles.bills-list", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("bills");
|
setSelectedHeader("bills");
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ import { useTranslation } from "react-i18next";
|
|||||||
import { connect } from "react-redux";
|
import { connect } from "react-redux";
|
||||||
import { useLocation, useNavigate } from "react-router-dom";
|
import { useLocation, useNavigate } from "react-router-dom";
|
||||||
import { createStructuredSelector } from "reselect";
|
import { createStructuredSelector } from "reselect";
|
||||||
|
import FeatureWrapperComponent from "../../components/feature-wrapper/feature-wrapper.component";
|
||||||
import RbacWrapper from "../../components/rbac-wrapper/rbac-wrapper.component";
|
import RbacWrapper from "../../components/rbac-wrapper/rbac-wrapper.component";
|
||||||
import { INSERT_NEW_CONTRACT } from "../../graphql/cccontracts.queries";
|
import { INSERT_NEW_CONTRACT } from "../../graphql/cccontracts.queries";
|
||||||
import { UPDATE_JOB } from "../../graphql/jobs.queries";
|
import { UPDATE_JOB } from "../../graphql/jobs.queries";
|
||||||
import { setBreadcrumbs, setSelectedHeader } from "../../redux/application/application.actions";
|
import { setBreadcrumbs, setSelectedHeader } from "../../redux/application/application.actions";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import ContractCreatePageComponent from "./contract-create.page.component";
|
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||||
import FeatureWrapperComponent from "../../components/feature-wrapper/feature-wrapper.component";
|
import ContractCreatePageComponent from "./contract-create.page.component";
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop
|
bodyshop: selectBodyshop
|
||||||
@@ -102,8 +102,7 @@ export function ContractCreatePageContainer({ bodyshop, setBreadcrumbs, setSelec
|
|||||||
document.title = t("titles.contracts-create", {
|
document.title = t("titles.contracts-create", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("newcontract");
|
setSelectedHeader("newcontract");
|
||||||
|
|||||||
@@ -41,14 +41,12 @@ export function ContractDetailPageContainer({ setBreadcrumbs, addRecentItem, set
|
|||||||
document.title = loading
|
document.title = loading
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: error
|
: error
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: t("titles.contracts-detail", {
|
: t("titles.contracts-detail", {
|
||||||
id: (data && data.cccontracts_by_pk && data.cccontracts_by_pk.agreementnumber) || ""
|
id: (data && data.cccontracts_by_pk && data.cccontracts_by_pk.agreementnumber) || ""
|
||||||
|
|||||||
@@ -41,8 +41,7 @@ export function ContractsPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.contracts", {
|
document.title = t("titles.contracts", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("contracts");
|
setSelectedHeader("contracts");
|
||||||
|
|||||||
@@ -55,8 +55,7 @@ export function CourtesyCarCreateContainer({ bodyshop, setBreadcrumbs, setSelect
|
|||||||
document.title = t("titles.courtesycars-create", {
|
document.title = t("titles.courtesycars-create", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setBreadcrumbs([
|
setBreadcrumbs([
|
||||||
@@ -72,11 +71,7 @@ export function CourtesyCarCreateContainer({ bodyshop, setBreadcrumbs, setSelect
|
|||||||
<RbacWrapper action="courtesycar:create">
|
<RbacWrapper action="courtesycar:create">
|
||||||
<FeatureWrapperComponent featureName="courtesycars">
|
<FeatureWrapperComponent featureName="courtesycars">
|
||||||
<Form form={form} autoComplete="new-password" onFinish={handleFinish} layout="vertical">
|
<Form form={form} autoComplete="new-password" onFinish={handleFinish} layout="vertical">
|
||||||
<CourtesyCarFormComponent
|
<CourtesyCarFormComponent form={form} saveLoading={loading} newCC={true} />
|
||||||
form={form}
|
|
||||||
saveLoading={loading}
|
|
||||||
newCC={true}
|
|
||||||
/>
|
|
||||||
</Form>
|
</Form>
|
||||||
</FeatureWrapperComponent>
|
</FeatureWrapperComponent>
|
||||||
</RbacWrapper>
|
</RbacWrapper>
|
||||||
|
|||||||
@@ -54,20 +54,17 @@ export function CourtesyCarDetailPageContainer({ setBreadcrumbs, addRecentItem,
|
|||||||
document.title = loading
|
document.title = loading
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: error
|
: error
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: t("titles.courtesycars-detail", {
|
: t("titles.courtesycars-detail", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
}),
|
}),
|
||||||
id: (data && data.courtesycars_by_pk && data.courtesycars_by_pk.fleet_number) || ""
|
id: (data && data.courtesycars_by_pk && data.courtesycars_by_pk.fleet_number) || ""
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ export function CourtesyCarsPageContainer({ setBreadcrumbs, setSelectedHeader })
|
|||||||
document.title = t("titles.courtesycars", {
|
document.title = t("titles.courtesycars", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("courtesycarsall");
|
setSelectedHeader("courtesycarsall");
|
||||||
|
|||||||
@@ -70,15 +70,13 @@ export function CsiContainerPage({ currentUser }) {
|
|||||||
title={t("csi.labels.nologgedinuser", {
|
title={t("csi.labels.nologgedinuser", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
subTitle={t("csi.labels.nologgedinuser_sub", {
|
subTitle={t("csi.labels.nologgedinuser_sub", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.dashboard", {
|
document.title = t("titles.dashboard", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("dashboard");
|
setSelectedHeader("dashboard");
|
||||||
|
|||||||
@@ -9,9 +9,8 @@ export default function AboutPage() {
|
|||||||
<div style={{ textAlign: "center", margin: "1rem 0rem" }}>
|
<div style={{ textAlign: "center", margin: "1rem 0rem" }}>
|
||||||
<Typography.Title level={2}>{`${InstanceRenderMgr({
|
<Typography.Title level={2}>{`${InstanceRenderMgr({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
})} V.${import.meta.env.MODE}-${import.meta.env.VITE_APP_GIT_SHA}`}</Typography.Title>
|
||||||
})}Rome Online V.${import.meta.env.MODE}-${import.meta.env.VITE_APP_GIT_SHA}`}</Typography.Title>
|
|
||||||
<Typography.Title level={2}>Third Party Notices</Typography.Title>
|
<Typography.Title level={2}>Third Party Notices</Typography.Title>
|
||||||
<a href="/3rdparty-app.txt">
|
<a href="/3rdparty-app.txt">
|
||||||
<Typography.Title level={4}>Application</Typography.Title>
|
<Typography.Title level={4}>Application</Typography.Title>
|
||||||
|
|||||||
@@ -46,8 +46,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.dms", {
|
document.title = t("titles.dms", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("dms");
|
setSelectedHeader("dms");
|
||||||
|
|||||||
@@ -65,8 +65,7 @@ export function DmsContainer({ bodyshop, setBreadcrumbs, setSelectedHeader, inse
|
|||||||
document.title = t("titles.dms", {
|
document.title = t("titles.dms", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("dms");
|
setSelectedHeader("dms");
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function ExportsLogPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.export-logs", {
|
document.title = t("titles.export-logs", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("export-logs");
|
setSelectedHeader("export-logs");
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function InventoryPage({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.inventory", {
|
document.title = t("titles.inventory", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("inventory");
|
setSelectedHeader("inventory");
|
||||||
|
|||||||
@@ -52,8 +52,7 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.jobs-admin", {
|
document.title = t("titles.jobs-admin", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
}),
|
}),
|
||||||
ro_number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null
|
ro_number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -47,8 +47,7 @@ export function AllJobs({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.jobs-all", {
|
document.title = t("titles.jobs-all", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("alljobs");
|
setSelectedHeader("alljobs");
|
||||||
|
|||||||
@@ -29,8 +29,7 @@ export function JobsAvailablePageContainer({ partnerVersion, setBreadcrumbs, set
|
|||||||
document.title = t("titles.jobsavailable", {
|
document.title = t("titles.jobsavailable", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("availablejobs");
|
setSelectedHeader("availablejobs");
|
||||||
@@ -55,8 +54,7 @@ export function JobsAvailablePageContainer({ partnerVersion, setBreadcrumbs, set
|
|||||||
<a
|
<a
|
||||||
href={InstanceRenderManager({
|
href={InstanceRenderManager({
|
||||||
imex: "https://partner.imex.online/Setup.exe",
|
imex: "https://partner.imex.online/Setup.exe",
|
||||||
rome: "https://partner.romeonline.io/Setup.exe",
|
rome: "https://partner.romeonline.io/Setup.exe"
|
||||||
promanager: "https://dzaenazwrgg60.cloudfront.net/Setup.exe"
|
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
<Button size="small">{t("general.actions.download")}</Button>
|
<Button size="small">{t("general.actions.download")}</Button>
|
||||||
@@ -66,7 +64,6 @@ export function JobsAvailablePageContainer({ partnerVersion, setBreadcrumbs, set
|
|||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)",
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ export function JobsChecklistViewContainer({ bodyshop, setBreadcrumbs, setSelect
|
|||||||
document.title = t("titles.jobs-checklist", {
|
document.title = t("titles.jobs-checklist", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("activejobs");
|
setSelectedHeader("activejobs");
|
||||||
|
|||||||
@@ -39,8 +39,7 @@ export function JobsCloseContainer({ setBreadcrumbs, setSelectedHeader, setJobRe
|
|||||||
document.title = t("titles.jobs-close", {
|
document.title = t("titles.jobs-close", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
}),
|
}),
|
||||||
number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null
|
number: data ? data.jobs_by_pk && data.jobs_by_pk.ro_number : null
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -56,8 +56,7 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.jobs-create", {
|
document.title = t("titles.jobs-create", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("newjob");
|
setSelectedHeader("newjob");
|
||||||
@@ -280,8 +279,7 @@ function JobsCreateContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
tax_sub_rt: bodyshop.md_responsibility_centers.tax_sub_rt,
|
tax_sub_rt: bodyshop.md_responsibility_centers.tax_sub_rt,
|
||||||
tax_lbr_rt: bodyshop.md_responsibility_centers.tax_lbr_rt,
|
tax_lbr_rt: bodyshop.md_responsibility_centers.tax_lbr_rt,
|
||||||
tax_levies_rt: bodyshop.md_responsibility_centers.tax_levies_rt
|
tax_levies_rt: bodyshop.md_responsibility_centers.tax_levies_rt
|
||||||
},
|
}
|
||||||
promanager: "USE_ROME"
|
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -35,8 +35,7 @@ export function JobsDeliverContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
|||||||
document.title = t("titles.jobs-deliver", {
|
document.title = t("titles.jobs-deliver", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("activejobs");
|
setSelectedHeader("activejobs");
|
||||||
|
|||||||
@@ -390,9 +390,8 @@ export function JobsDetailPage({
|
|||||||
)
|
)
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
rome: "USE_IMEX",
|
||||||
rome: true,
|
imex: HasFeatureAccess({ featureName: "timetickets", bodyshop })
|
||||||
promanager: HasFeatureAccess({ featureName: "timetickets", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
@@ -420,9 +419,8 @@ export function JobsDetailPage({
|
|||||||
children: <JobsDetailDatesComponent job={job} />
|
children: <JobsDetailDatesComponent job={job} />
|
||||||
},
|
},
|
||||||
...(InstanceRenderManager({
|
...(InstanceRenderManager({
|
||||||
imex: true,
|
rome: "USE_IMEX",
|
||||||
rome: true,
|
imex: HasFeatureAccess({ featureName: "media", bodyshop })
|
||||||
promanager: HasFeatureAccess({ featureName: "media", bodyshop })
|
|
||||||
})
|
})
|
||||||
? [
|
? [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -18,9 +18,9 @@ import {
|
|||||||
} from "../../redux/application/application.actions";
|
} from "../../redux/application/application.actions";
|
||||||
import { selectBodyshop } from "../../redux/user/user.selectors";
|
import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||||
import { CreateRecentItem } from "../../utils/create-recent-item";
|
import { CreateRecentItem } from "../../utils/create-recent-item";
|
||||||
|
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
||||||
import IsJobReadOnly from "../../utils/jobReadOnly";
|
import IsJobReadOnly from "../../utils/jobReadOnly";
|
||||||
import JobsDetailPage from "./jobs-detail.page.component";
|
import JobsDetailPage from "./jobs-detail.page.component";
|
||||||
import InstanceRenderManager from "../../utils/instanceRenderMgr";
|
|
||||||
|
|
||||||
const mapStateToProps = createStructuredSelector({
|
const mapStateToProps = createStructuredSelector({
|
||||||
bodyshop: selectBodyshop
|
bodyshop: selectBodyshop
|
||||||
@@ -49,20 +49,17 @@ function JobsDetailPageContainer({ setBreadcrumbs, addRecentItem, setSelectedHea
|
|||||||
document.title = loading
|
document.title = loading
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: error
|
: error
|
||||||
? InstanceRenderManager({
|
? InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})
|
})
|
||||||
: t("titles.jobsdetail", {
|
: t("titles.jobsdetail", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
}),
|
}),
|
||||||
ro_number: (data.jobs_by_pk && data.jobs_by_pk.ro_number) || t("general.labels.na")
|
ro_number: (data.jobs_by_pk && data.jobs_by_pk.ro_number) || t("general.labels.na")
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -37,8 +37,7 @@ export function JobsIntakeContainer({ bodyshop, setBreadcrumbs, setSelectedHeade
|
|||||||
document.title = t("titles.jobs-intake", {
|
document.title = t("titles.jobs-intake", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("activejobs");
|
setSelectedHeader("activejobs");
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function JobsReadyPage({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.readyjobs", {
|
document.title = t("titles.readyjobs", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("readyjobs");
|
setSelectedHeader("readyjobs");
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function JobsPage({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.jobs", {
|
document.title = t("titles.jobs", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("activejobs");
|
setSelectedHeader("activejobs");
|
||||||
|
|||||||
@@ -21,8 +21,7 @@ export function ManageRootPageContainer({ setBreadcrumbs, bodyshop }) {
|
|||||||
document.title = t("titles.manageroot", {
|
document.title = t("titles.manageroot", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setBreadcrumbs([]);
|
setBreadcrumbs([]);
|
||||||
|
|||||||
@@ -193,8 +193,7 @@ export function Manage({ conflict, bodyshop, alerts, setAlerts }) {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.title = InstanceRenderManager({
|
document.title = InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|
||||||
@@ -205,8 +204,7 @@ export function Manage({ conflict, bodyshop, alerts, setAlerts }) {
|
|||||||
message={t("general.labels.loadingapp", {
|
message={t("general.labels.loadingapp", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
@@ -674,8 +672,7 @@ export function Manage({ conflict, bodyshop, alerts, setAlerts }) {
|
|||||||
<div onClick={broadcastMessage}>
|
<div onClick={broadcastMessage}>
|
||||||
{`${InstanceRenderManager({
|
{`${InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
})} - ${import.meta.env.VITE_APP_GIT_SHA_DATE}`}
|
})} - ${import.meta.env.VITE_APP_GIT_SHA_DATE}`}
|
||||||
</div>
|
</div>
|
||||||
<div id="noticeable-widget" style={{ marginLeft: "1rem" }} />
|
<div id="noticeable-widget" style={{ marginLeft: "1rem" }} />
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ export function OwnersDetailContainer({ setBreadcrumbs, addRecentItem, setSelect
|
|||||||
document.title = t("titles.owners-detail", {
|
document.title = t("titles.owners-detail", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
}),
|
}),
|
||||||
name: data ? OwnerNameDisplayFunction(data.owners_by_pk) : ""
|
name: data ? OwnerNameDisplayFunction(data.owners_by_pk) : ""
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -17,8 +17,7 @@ export function OwnersPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.owners", {
|
document.title = t("titles.owners", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("owners");
|
setSelectedHeader("owners");
|
||||||
|
|||||||
@@ -19,8 +19,7 @@ export function PartsQueuePageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.parts-queue", {
|
document.title = t("titles.parts-queue", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("parts-queue");
|
setSelectedHeader("parts-queue");
|
||||||
|
|||||||
@@ -49,8 +49,7 @@ export function AllJobs({ bodyshop, setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.payments-all", {
|
document.title = t("titles.payments-all", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("allpayments");
|
setSelectedHeader("allpayments");
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ export function PhonebookContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.phonebook", {
|
document.title = t("titles.phonebook", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("phonebook");
|
setSelectedHeader("phonebook");
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ export function ProductionBoardContainer({ setBreadcrumbs, bodyshop, setSelected
|
|||||||
document.title = t("titles.productionboard", {
|
document.title = t("titles.productionboard", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("productionboard");
|
setSelectedHeader("productionboard");
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ export function ProductionListContainer({
|
|||||||
document.title = t("titles.productionlist", {
|
document.title = t("titles.productionlist", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("productionlist");
|
setSelectedHeader("productionlist");
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ export function ProfileContainerPage({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)",
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}, [t, setBreadcrumbs, setSelectedHeader]);
|
}, [t, setBreadcrumbs, setSelectedHeader]);
|
||||||
|
|||||||
@@ -18,8 +18,7 @@ export function SchedulePageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.schedule", {
|
document.title = t("titles.schedule", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("schedule");
|
setSelectedHeader("schedule");
|
||||||
|
|||||||
@@ -50,8 +50,7 @@ export function ScoreboardContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.scoreboard", {
|
document.title = t("titles.scoreboard", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("scoreboard");
|
setSelectedHeader("scoreboard");
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ export function ShopCsiContainer({ bodyshop, setBreadcrumbs, setSelectedHeader }
|
|||||||
document.title = t("titles.shop-csi", {
|
document.title = t("titles.shop-csi", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("shop-csi");
|
setSelectedHeader("shop-csi");
|
||||||
|
|||||||
@@ -23,8 +23,7 @@ export function ShopVendorPageContainer({ bodyshop, setBreadcrumbs, setSelectedH
|
|||||||
document.title = t("titles.shop_vendors", {
|
document.title = t("titles.shop_vendors", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("shop-vendors");
|
setSelectedHeader("shop-vendors");
|
||||||
|
|||||||
@@ -34,8 +34,7 @@ export function ShopPage({ bodyshop, setSelectedHeader, setBreadcrumbs }) {
|
|||||||
document.title = t("titles.shop", {
|
document.title = t("titles.shop", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("shop");
|
setSelectedHeader("shop");
|
||||||
|
|||||||
@@ -26,8 +26,7 @@ export function AllTasksPageContainer({ setBreadcrumbs, setSelectedHeader, setTa
|
|||||||
document.title = t("titles.all_tasks", {
|
document.title = t("titles.all_tasks", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("all_tasks");
|
setSelectedHeader("all_tasks");
|
||||||
|
|||||||
@@ -21,8 +21,7 @@ export function MyTasksPageContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.my_tasks", {
|
document.title = t("titles.my_tasks", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("my_tasks");
|
setSelectedHeader("my_tasks");
|
||||||
|
|||||||
@@ -13,8 +13,7 @@ export default function TechClockComponent() {
|
|||||||
document.title = t("titles.techjobclock", {
|
document.title = t("titles.techjobclock", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|||||||
@@ -12,8 +12,7 @@ export default function TechLookupContainer() {
|
|||||||
document.title = t("titles.techjoblookup", {
|
document.title = t("titles.techjoblookup", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ export default function TechShiftClock() {
|
|||||||
document.title = t("titles.techshiftclock", {
|
document.title = t("titles.techshiftclock", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|||||||
@@ -50,8 +50,7 @@ export function TechPage({ technician }) {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.title = InstanceRenderManager({
|
document.title = InstanceRenderManager({
|
||||||
imex: t("titles.imexonline"),
|
imex: t("titles.imexonline"),
|
||||||
rome: t("titles.romeonline"),
|
rome: t("titles.romeonline")
|
||||||
promanager: t("titles.promanager")
|
|
||||||
});
|
});
|
||||||
}, [t]);
|
}, [t]);
|
||||||
|
|
||||||
@@ -77,8 +76,7 @@ export function TechPage({ technician }) {
|
|||||||
message={t("general.labels.loadingapp", {
|
message={t("general.labels.loadingapp", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
})}
|
})}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -25,8 +25,7 @@ export function TempDocumentsContainer({ setBreadcrumbs, setSelectedHeader }) {
|
|||||||
document.title = t("titles.temporarydocs", {
|
document.title = t("titles.temporarydocs", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("temporarydocs");
|
setSelectedHeader("temporarydocs");
|
||||||
|
|||||||
@@ -58,8 +58,7 @@ export function TimeTicketsContainer({ bodyshop, setBreadcrumbs, setSelectedHead
|
|||||||
document.title = t("titles.timetickets", {
|
document.title = t("titles.timetickets", {
|
||||||
app: InstanceRenderManager({
|
app: InstanceRenderManager({
|
||||||
imex: "$t(titles.imexonline)",
|
imex: "$t(titles.imexonline)",
|
||||||
rome: "$t(titles.romeonline)",
|
rome: "$t(titles.romeonline)"
|
||||||
promanager: "$t(titles.promanager)"
|
|
||||||
})
|
})
|
||||||
});
|
});
|
||||||
setSelectedHeader("timetickets");
|
setSelectedHeader("timetickets");
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user