IO-952 add confirm to bill enter with discrepancy.

This commit is contained in:
Patrick Fic
2021-09-20 17:22:13 -07:00
parent c6a7e3dcb1
commit d73f37cacc
7 changed files with 43 additions and 8 deletions

View File

@@ -2779,6 +2779,27 @@
</translation>
</translations>
</concept_node>
<concept_node>
<name>savewithdiscrepancy</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>state_tax</name>
<definition_loaded>false</definition_loaded>

View File

@@ -18,8 +18,10 @@ import {
selectBodyshop,
selectCurrentUser,
} from "../../redux/user/user.selectors";
import confirmDialog from "../../utils/asyncConfirm";
import AuditTrailMapping from "../../utils/AuditTrailMappings";
import BillFormContainer from "../bill-form/bill-form.container";
import { CalculateBillTotal } from "../bill-form/bill-form.totals.utility";
import { handleUpload } from "../documents-upload/documents-upload.utility";
const mapStateToProps = createStructuredSelector({
@@ -66,6 +68,13 @@ function BillEnterModalContainer({
}, [billEnterModal, bodyshop]);
const handleFinish = async (values) => {
let totals = CalculateBillTotal(values);
if (totals.discrepancy.getAmount() !== 0) {
if (!(await confirmDialog(t("bills.labels.savewithdiscrepancy")))) {
return;
}
}
setLoading(true);
const { upload, location, ...remainingValues } = values;

View File

@@ -29,6 +29,7 @@ import {
selectBodyshop,
selectCurrentUser,
} from "../../redux/user/user.selectors";
import confirmDialog from "../../utils/asyncConfirm";
import AuditTrailMapping from "../../utils/AuditTrailMappings";
import AlertComponent from "../alert/alert.component";
import JobsAvailableScan from "../jobs-available-scan/jobs-available-scan.component";
@@ -394,14 +395,6 @@ function replaceEmpty(someObj, replaceValue = null) {
return JSON.parse(temp);
}
function confirmDialog(msg) {
return new Promise(function (resolve, reject) {
let confirmed = window.confirm(msg);
return confirmed ? resolve(true) : resolve(false);
});
}
async function CheckTaxRates(estData, bodyshop) {
//LKQ Check
if (

View File

@@ -179,6 +179,7 @@
"noneselected": "No bill selected.",
"onlycmforinvoiced": "Only credit memos can be entered for any job that has been invoiced, exported, or voided.",
"retailtotal": "Bills Retail Total",
"savewithdiscrepancy": "You are about to save this bill with a discrepancy. The system will continue to use the calculated amount using the bill lines. Press cancel to return to the bill.",
"state_tax": "Provincial/State Tax",
"subtotal": "Subtotal",
"totalreturns": "Total Returns"

View File

@@ -179,6 +179,7 @@
"noneselected": "",
"onlycmforinvoiced": "",
"retailtotal": "",
"savewithdiscrepancy": "",
"state_tax": "",
"subtotal": "",
"totalreturns": ""

View File

@@ -179,6 +179,7 @@
"noneselected": "",
"onlycmforinvoiced": "",
"retailtotal": "",
"savewithdiscrepancy": "",
"state_tax": "",
"subtotal": "",
"totalreturns": ""

View File

@@ -0,0 +1,9 @@
function confirmDialog(msg) {
return new Promise(function (resolve, reject) {
let confirmed = window.confirm(msg);
return confirmed ? resolve(true) : resolve(false);
});
}
export default confirmDialog;