mirror of
https://github.com/hargata/lubelog.git
synced 2025-12-10 00:46:08 -06:00
156 lines
5.9 KiB
JavaScript
156 lines
5.9 KiB
JavaScript
function showAddUpgradeRecordModal() {
|
|
$.get('/Vehicle/GetAddUpgradeRecordPartialView', function (data) {
|
|
if (data) {
|
|
$("#upgradeRecordModalContent").html(data);
|
|
//initiate datepicker
|
|
initDatePicker($('#upgradeRecordDate'));
|
|
initTagSelector($("#upgradeRecordTag"));
|
|
$('#upgradeRecordModal').modal('show');
|
|
}
|
|
});
|
|
}
|
|
function showEditUpgradeRecordModal(upgradeRecordId, nocache) {
|
|
if (!nocache) {
|
|
var existingContent = $("#upgradeRecordModalContent").html();
|
|
if (existingContent.trim() != '') {
|
|
//check if id is same.
|
|
var existingId = getUpgradeRecordModelData().id;
|
|
if (existingId == upgradeRecordId && $('[data-changed=true]').length > 0) {
|
|
$('#upgradeRecordModal').modal('show');
|
|
$('.cached-banner').show();
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
$.get(`/Vehicle/GetUpgradeRecordForEditById?upgradeRecordId=${upgradeRecordId}`, function (data) {
|
|
if (data) {
|
|
$("#upgradeRecordModalContent").html(data);
|
|
//initiate datepicker
|
|
initDatePicker($('#upgradeRecordDate'));
|
|
initTagSelector($("#upgradeRecordTag"));
|
|
$('#upgradeRecordModal').modal('show');
|
|
bindModalInputChanges('upgradeRecordModal');
|
|
$('#upgradeRecordModal').off('shown.bs.modal').on('shown.bs.modal', function () {
|
|
if (getGlobalConfig().useMarkDown) {
|
|
toggleMarkDownOverlay("upgradeRecordNotes");
|
|
}
|
|
});
|
|
}
|
|
});
|
|
}
|
|
function hideAddUpgradeRecordModal() {
|
|
$('#upgradeRecordModal').modal('hide');
|
|
}
|
|
function deleteUpgradeRecord(upgradeRecordId) {
|
|
$("#workAroundInput").show();
|
|
Swal.fire({
|
|
title: "Confirm Deletion?",
|
|
text: "Deleted Upgrade Records cannot be restored.",
|
|
showCancelButton: true,
|
|
confirmButtonText: "Delete",
|
|
confirmButtonColor: "#dc3545"
|
|
}).then((result) => {
|
|
if (result.isConfirmed) {
|
|
$.post(`/Vehicle/DeleteUpgradeRecordById?upgradeRecordId=${upgradeRecordId}`, function (data) {
|
|
if (data.success) {
|
|
hideAddUpgradeRecordModal();
|
|
successToast("Upgrade Record Deleted");
|
|
var vehicleId = GetVehicleId().vehicleId;
|
|
getVehicleUpgradeRecords(vehicleId);
|
|
} else {
|
|
errorToast(data.message);
|
|
}
|
|
});
|
|
} else {
|
|
$("#workAroundInput").hide();
|
|
}
|
|
});
|
|
}
|
|
function saveUpgradeRecordToVehicle(isEdit) {
|
|
//get values
|
|
var formValues = getAndValidateUpgradeRecordValues();
|
|
//validate
|
|
if (formValues.hasError) {
|
|
errorToast("Please check the form data");
|
|
return;
|
|
}
|
|
//save to db.
|
|
$.post('/Vehicle/SaveUpgradeRecordToVehicleId', { upgradeRecord: formValues }, function (data) {
|
|
if (data.success) {
|
|
successToast(isEdit ? "Upgrade Record Updated" : "Upgrade Record Added.");
|
|
hideAddUpgradeRecordModal();
|
|
saveScrollPosition();
|
|
getVehicleUpgradeRecords(formValues.vehicleId);
|
|
if (formValues.addReminderRecord) {
|
|
setTimeout(function () { showAddReminderModal(formValues); }, 500);
|
|
}
|
|
} else {
|
|
errorToast(data.message);
|
|
}
|
|
})
|
|
}
|
|
function getAndValidateUpgradeRecordValues() {
|
|
var upgradeDate = $("#upgradeRecordDate").val();
|
|
var upgradeMileage = parseInt(globalParseFloat($("#upgradeRecordMileage").val())).toString();
|
|
var upgradeDescription = $("#upgradeRecordDescription").val();
|
|
var upgradeCost = $("#upgradeRecordCost").val();
|
|
var upgradeNotes = $("#upgradeRecordNotes").val();
|
|
var upgradeTags = $("#upgradeRecordTag").val();
|
|
var vehicleId = GetVehicleId().vehicleId;
|
|
var upgradeRecordId = getUpgradeRecordModelData().id;
|
|
var addReminderRecord = $("#addReminderCheck").is(":checked");
|
|
//Odometer Adjustments
|
|
if (isNaN(upgradeMileage) && GetVehicleId().odometerOptional) {
|
|
upgradeMileage = '0';
|
|
}
|
|
upgradeMileage = GetAdjustedOdometer(upgradeRecordId, upgradeMileage);
|
|
//validation
|
|
var hasError = false;
|
|
var extraFields = getAndValidateExtraFields();
|
|
if (extraFields.hasError) {
|
|
hasError = true;
|
|
}
|
|
if (upgradeDate.trim() == '') { //eliminates whitespace.
|
|
hasError = true;
|
|
$("#upgradeRecordDate").addClass("is-invalid");
|
|
} else {
|
|
$("#upgradeRecordDate").removeClass("is-invalid");
|
|
}
|
|
if (upgradeMileage.trim() == '' || isNaN(upgradeMileage) || parseInt(upgradeMileage) < 0) {
|
|
hasError = true;
|
|
$("#upgradeRecordMileage").addClass("is-invalid");
|
|
} else {
|
|
$("#upgradeRecordMileage").removeClass("is-invalid");
|
|
}
|
|
if (upgradeDescription.trim() == '') {
|
|
hasError = true;
|
|
$("#upgradeRecordDescription").addClass("is-invalid");
|
|
} else {
|
|
$("#upgradeRecordDescription").removeClass("is-invalid");
|
|
}
|
|
if (upgradeCost.trim() == '' || !isValidMoney(upgradeCost)) {
|
|
hasError = true;
|
|
$("#upgradeRecordCost").addClass("is-invalid");
|
|
} else {
|
|
$("#upgradeRecordCost").removeClass("is-invalid");
|
|
}
|
|
return {
|
|
id: upgradeRecordId,
|
|
hasError: hasError,
|
|
vehicleId: vehicleId,
|
|
date: upgradeDate,
|
|
mileage: upgradeMileage,
|
|
description: upgradeDescription,
|
|
cost: upgradeCost,
|
|
notes: upgradeNotes,
|
|
files: uploadedFiles,
|
|
supplies: selectedSupplies,
|
|
tags: upgradeTags,
|
|
addReminderRecord: addReminderRecord,
|
|
extraFields: extraFields.extraFields,
|
|
requisitionHistory: supplyUsageHistory,
|
|
deletedRequisitionHistory: deletedSupplyUsageHistory,
|
|
reminderRecordId: recurringReminderRecordId,
|
|
copySuppliesAttachment: copySuppliesAttachments
|
|
}
|
|
} |