fix: Fixes purchase order view generation to use the intermediate request and the logged in user as the created by id.

This commit is contained in:
2025-01-27 13:12:18 -05:00
parent f6c36cb489
commit 5da433b815
5 changed files with 32 additions and 16 deletions

View File

@@ -12,14 +12,11 @@ public extension SiteRoute.View {
func view(
isHtmxRequest: Bool,
logger: Logger,
authenticate: @escaping @Sendable (User) -> Void
authenticate: @escaping @Sendable (User) -> Void,
currentUser: @escaping @Sendable () throws -> User
) async throws -> AnySendableHTML {
@Dependency(\.database.users) var users
switch self {
// case .index:
// // This get's redirected to purchase-orders route in the app / site handler.
// return nil
case let .employee(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
@@ -38,7 +35,7 @@ public extension SiteRoute.View {
}
case let .purchaseOrder(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
return try await route.view(isHtmxRequest: isHtmxRequest, currentUser: currentUser)
case let .resetPassword(route):
return try await route.view(isHtmxRequest: isHtmxRequest)
@@ -116,7 +113,10 @@ extension SiteRoute.View.PurchaseOrderRoute {
}
@Sendable
func view(isHtmxRequest: Bool) async throws -> AnySendableHTML {
func view(
isHtmxRequest: Bool,
currentUser: @escaping @Sendable () throws -> User
) async throws -> AnySendableHTML {
@Dependency(\.database.purchaseOrders) var purchaseOrders
switch self {
@@ -129,7 +129,9 @@ extension SiteRoute.View.PurchaseOrderRoute {
return try await route.view(isHtmxRequest: isHtmxRequest)
case let .create(purchaseOrder):
return try await PurchaseOrderTable.Row(purchaseOrder: purchaseOrders.create(purchaseOrder))
return try await PurchaseOrderTable.Row(
purchaseOrder: purchaseOrders.create(purchaseOrder.toCreate(createdByID: currentUser().id))
)
case .index:
return try await mainPage(PurchaseOrderForm())