feat: implement PDF regeneration for contracts and enhance document upload handling in clearance sections

This commit is contained in:
Marshal
2026-06-28 20:12:45 +00:00
parent 1b37914201
commit fc1adce909
5 changed files with 362 additions and 269 deletions

View File

@@ -35,8 +35,6 @@ import NewBookingPage from "./pages/bookings/NewBookingPage";
import ContractRequestsPage from "./pages/contracts/ContractRequestsPage";
import ContractRequestDetailPage from "./pages/contracts/ContractRequestDetailPage";
import ContractViewPage from "./pages/contracts/ContractViewPage";
import ContractClearanceListPage from "./pages/contracts/ContractClearanceListPage";
import ContractClearanceDetailPage from "./pages/contracts/ContractClearanceDetailPage";
import GlCreateBookingForm from "./components/contracts/GlCreateBookingForm";
import BookingMilestonesPage from "./pages/contracts/BookingMilestonesPage";
import CustomerDetailPage from "./pages/customers/CustomerDetailPage";
@@ -134,18 +132,6 @@ const buildSidebarSections = (demoItems: SidebarItem[]): SidebarSection[] => [
icon: <ShieldCheck />,
permission: FREIGHT_PERMS.bookings.reviewDocuments,
},
{
label: "Contract Clearance",
href: "/dashboard/contracts/clearance",
icon: <ShieldCheck />,
permission: FREIGHT_PERMS.contracts.clearanceReview,
},
{
label: "Self-Clearance Review",
href: "/dashboard/contracts/ops-clearance",
icon: <ShieldCheck />,
permission: FREIGHT_PERMS.contracts.opsClearanceReview,
},
{
label: "Train Schedules",
href: "/dashboard/operations/train-scheduling-v2",
@@ -467,34 +453,15 @@ const App = () => {
/>
<Route
path="contracts/clearance"
element={
<RequirePermission permission={FREIGHT_PERMS.contracts.clearanceReview}>
<ContractClearanceListPage />
</RequirePermission>
}
element={<Navigate to="/dashboard/clearance" replace />}
/>
<Route
path="contracts/ops-clearance"
element={
<RequirePermission
permission={FREIGHT_PERMS.contracts.opsClearanceReview}
>
<ContractClearanceListPage opsMode />
</RequirePermission>
}
element={<Navigate to="/dashboard/clearance?mode=ops" replace />}
/>
<Route
path="contracts/clearance/:id"
element={
<RequirePermission
permission={[
FREIGHT_PERMS.contracts.clearanceReview,
FREIGHT_PERMS.contracts.opsClearanceReview,
]}
>
<ContractClearanceDetailPage />
</RequirePermission>
}
element={<Navigate to="/dashboard/clearance" replace />}
/>
<Route
path="contracts/:id/create-booking"