sunrise-cms/handlers/workOrders-get/edit.ts

56 lines
1.4 KiB
TypeScript

import type { Request, Response } from 'express'
import {
getLotStatuses,
getWorkOrderMilestoneTypes,
getWorkOrderTypes
} from '../../helpers/functions.cache.js'
import * as configFunctions from '../../helpers/functions.config.js'
import { getWorkOrder } from '../../database/getWorkOrder.js'
export async function handler(
request: Request,
response: Response
): Promise<void> {
const workOrder = await getWorkOrder(request.params.workOrderId, {
includeLotsAndLotOccupancies: true,
includeComments: true,
includeMilestones: true
})
if (workOrder === undefined) {
response.redirect(
`${configFunctions.getConfigProperty(
'reverseProxy.urlPrefix'
)}/workOrders/?error=workOrderIdNotFound`
)
return
}
if (workOrder.workOrderCloseDate) {
response.redirect(
`${configFunctions.getConfigProperty(
'reverseProxy.urlPrefix'
)}/workOrders/${workOrder.workOrderId!.toString()}/?error=workOrderIsClosed`
)
return
}
const workOrderTypes = await getWorkOrderTypes()
const workOrderMilestoneTypes = await getWorkOrderMilestoneTypes()
const lotStatuses = await getLotStatuses()
response.render('workOrder-edit', {
headTitle: `Work Order #${workOrder.workOrderNumber!}`,
workOrder,
isCreate: false,
workOrderTypes,
workOrderMilestoneTypes,
lotStatuses
})
}
export default handler