From f73bbf54ada13c1ae769bfe9d5e75be255edb203 Mon Sep 17 00:00:00 2001 From: Danel Kungla Date: Wed, 1 Oct 2025 18:55:53 +0300 Subject: [PATCH] MED-177: add booking confirmation --- .env.example | 1 + .../(user)/_components/orders/order-block.tsx | 3 +- .../_components/orders/order-items-table.tsx | 19 +- app/home/(user)/_lib/server/actions.ts | 23 +- app/home/(user)/_lib/server/cart-actions.ts | 37 +- .../_lib/server/members-page.loader.ts | 19 +- lib/services/connected-online.service.ts | 92 +- .../medipostPrivateMessage.service.ts | 3 - lib/types/order.ts | 1 + .../features/medusa-storefront/package.json | 4 - .../medusa-storefront/src/lib/data/cart.ts | 2 +- .../members/account-members-table.tsx | 30 +- pnpm-lock.yaml | 2033 +---------------- 13 files changed, 215 insertions(+), 2052 deletions(-) diff --git a/.env.example b/.env.example index 091949f..084e916 100644 --- a/.env.example +++ b/.env.example @@ -10,6 +10,7 @@ MEDIPOST_PASSWORD=your-medipost-password MEDIPOST_RECIPIENT=your-medipost-recipient CONNECTED_ONLINE_URL=your-connected-online-url +CONNECTED_ONLINE_CONFIRMED_URL=your-connected-confirmed-url EMAIL_SENDER= EMAIL_USER= # refer to your email provider's documentation diff --git a/app/home/(user)/_components/orders/order-block.tsx b/app/home/(user)/_components/orders/order-block.tsx index b43b3a2..12094bd 100644 --- a/app/home/(user)/_components/orders/order-block.tsx +++ b/app/home/(user)/_components/orders/order-block.tsx @@ -69,11 +69,12 @@ export default function OrderBlock({ title="orders:table.ttoService" type="ttoService" order={{ - status: medusaOrderStatus.toUpperCase(), + status: ttoReservation?.status, medusaOrderId, location: ttoLocation?.name, bookingCode: ttoReservation?.booking_code, clinicId: ttoReservation?.clinic_id, + medusaLineItemId: ttoReservation?.medusa_cart_line_item_id, }} /> )} diff --git a/app/home/(user)/_components/orders/order-items-table.tsx b/app/home/(user)/_components/orders/order-items-table.tsx index 18ba3a1..516b098 100644 --- a/app/home/(user)/_components/orders/order-items-table.tsx +++ b/app/home/(user)/_components/orders/order-items-table.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; -import { useRouter } from 'next/navigation'; +import { redirect, useRouter } from 'next/navigation'; import ConfirmationModal from '@/packages/shared/src/components/confirmation-modal'; import { StoreOrderLineItem } from '@medusajs/types'; @@ -40,6 +40,11 @@ export default function OrderItemsTable({ }) { const router = useRouter(); const [isConfirmOpen, setIsConfirmOpen] = useState(false); + const isCancelOrderAllowed = + order?.bookingCode && + order?.clinicId && + order?.medusaLineItemId && + order?.status === 'CONFIRMED'; if (!items || items.length === 0) { return null; @@ -109,7 +114,7 @@ export default function OrderItemsTable({ - {isTtoservice && order.bookingCode && ( + {isCancelOrderAllowed && (