warn about completing future milestones

deepsource-autofix-76c6eb20
Dan Gowans 2022-09-13 09:07:46 -04:00
parent bc398d03c2
commit 13ff1d8527
3 changed files with 91 additions and 42 deletions

View File

@ -596,14 +596,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
delete exports.workOrderMilestones; delete exports.workOrderMilestones;
const completeMilestone = (clickEvent) => { const completeMilestone = (clickEvent) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
const workOrderMilestoneId = clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId; const currentDateString = cityssm.dateToString(new Date());
const workOrderMilestoneId = Number.parseInt(clickEvent.currentTarget.closest(".container--milestone").dataset.workOrderMilestoneId, 10);
const workOrderMilestone = workOrderMilestones.find((currentMilestone) => {
return (currentMilestone.workOrderMilestoneId ===
workOrderMilestoneId);
});
const doComplete = () => { const doComplete = () => {
cityssm.postJSON(urlPrefix + "/workOrders/doCompleteWorkOrderMilestone", { cityssm.postJSON(urlPrefix + "/workOrders/doCompleteWorkOrderMilestone", {
workOrderId, workOrderId,
workOrderMilestoneId workOrderMilestoneId
}, (responseJSON) => { }, (responseJSON) => {
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestones = responseJSON.workOrderMilestones; workOrderMilestones =
responseJSON.workOrderMilestones;
renderMilestones(); renderMilestones();
} }
else { else {
@ -617,7 +623,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
}; };
bulmaJS.confirm({ bulmaJS.confirm({
title: "Complete Milestone", title: "Complete Milestone",
message: "Are you sure you want to complete this milestone?", message: "Are you sure you want to complete this milestone?" +
(workOrderMilestone.workOrderMilestoneDateString >
currentDateString
? "<br /><strong>Note that this milestone is expected to be completed in the future.</strong>"
: ""),
messageIsHtml: true,
contextualColorName: "warning", contextualColorName: "warning",
okButton: { okButton: {
text: "Yes, Complete Milestone", text: "Yes, Complete Milestone",
@ -634,7 +645,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
workOrderMilestoneId workOrderMilestoneId
}, (responseJSON) => { }, (responseJSON) => {
if (responseJSON.success) { if (responseJSON.success) {
workOrderMilestones = responseJSON.workOrderMilestones; workOrderMilestones =
responseJSON.workOrderMilestones;
renderMilestones(); renderMilestones();
} }
else { else {

View File

@ -847,34 +847,62 @@ declare const bulmaJS: BulmaJS;
const completeMilestone = (clickEvent: Event) => { const completeMilestone = (clickEvent: Event) => {
clickEvent.preventDefault(); clickEvent.preventDefault();
const workOrderMilestoneId = ( const currentDateString = cityssm.dateToString(new Date());
(clickEvent.currentTarget as HTMLElement).closest(
".container--milestone" const workOrderMilestoneId = Number.parseInt(
) as HTMLElement (
).dataset.workOrderMilestoneId; (clickEvent.currentTarget as HTMLElement).closest(
".container--milestone"
) as HTMLElement
).dataset.workOrderMilestoneId,
10
);
const workOrderMilestone = workOrderMilestones.find(
(currentMilestone) => {
return (
currentMilestone.workOrderMilestoneId ===
workOrderMilestoneId
);
}
);
const doComplete = () => { const doComplete = () => {
cityssm.postJSON(urlPrefix + "/workOrders/doCompleteWorkOrderMilestone", { cityssm.postJSON(
workOrderId, urlPrefix + "/workOrders/doCompleteWorkOrderMilestone",
workOrderMilestoneId {
}, workOrderId,
(responseJSON: {success: boolean; errorMessage?: string; workOrderMilestones?: recordTypes.WorkOrderMilestone[];}) => { workOrderMilestoneId
if (responseJSON.success) { },
workOrderMilestones = responseJSON.workOrderMilestones; (responseJSON: {
renderMilestones(); success: boolean;
} else { errorMessage?: string;
bulmaJS.alert({ workOrderMilestones?: recordTypes.WorkOrderMilestone[];
title: "Error Completing Milestone", }) => {
message: responseJSON.errorMessage, if (responseJSON.success) {
contextualColorName: "danger" workOrderMilestones =
}); responseJSON.workOrderMilestones;
renderMilestones();
} else {
bulmaJS.alert({
title: "Error Completing Milestone",
message: responseJSON.errorMessage,
contextualColorName: "danger"
});
}
} }
}); );
}; };
bulmaJS.confirm({ bulmaJS.confirm({
title: "Complete Milestone", title: "Complete Milestone",
message: "Are you sure you want to complete this milestone?", message:
"Are you sure you want to complete this milestone?" +
(workOrderMilestone.workOrderMilestoneDateString >
currentDateString
? "<br /><strong>Note that this milestone is expected to be completed in the future.</strong>"
: ""),
messageIsHtml: true,
contextualColorName: "warning", contextualColorName: "warning",
okButton: { okButton: {
text: "Yes, Complete Milestone", text: "Yes, Complete Milestone",
@ -893,27 +921,36 @@ declare const bulmaJS: BulmaJS;
).dataset.workOrderMilestoneId; ).dataset.workOrderMilestoneId;
const doReopen = () => { const doReopen = () => {
cityssm.postJSON(urlPrefix + "/workOrders/doReopenWorkOrderMilestone", { cityssm.postJSON(
workOrderId, urlPrefix + "/workOrders/doReopenWorkOrderMilestone",
workOrderMilestoneId {
}, workOrderId,
(responseJSON: {success: boolean; errorMessage?: string; workOrderMilestones?: recordTypes.WorkOrderMilestone[];}) => { workOrderMilestoneId
if (responseJSON.success) { },
workOrderMilestones = responseJSON.workOrderMilestones; (responseJSON: {
renderMilestones(); success: boolean;
} else { errorMessage?: string;
bulmaJS.alert({ workOrderMilestones?: recordTypes.WorkOrderMilestone[];
title: "Error Reopening Milestone", }) => {
message: responseJSON.errorMessage, if (responseJSON.success) {
contextualColorName: "danger" workOrderMilestones =
}); responseJSON.workOrderMilestones;
renderMilestones();
} else {
bulmaJS.alert({
title: "Error Reopening Milestone",
message: responseJSON.errorMessage,
contextualColorName: "danger"
});
}
} }
}); );
}; };
bulmaJS.confirm({ bulmaJS.confirm({
title: "Reopen Milestone", title: "Reopen Milestone",
message: "Are you sure you want to remove the completion status from this milestone, and reopen it?", message:
"Are you sure you want to remove the completion status from this milestone, and reopen it?",
contextualColorName: "warning", contextualColorName: "warning",
okButton: { okButton: {
text: "Yes, Reopen Milestone", text: "Yes, Reopen Milestone",

File diff suppressed because one or more lines are too long