Feature #10490
openAdmin Orders + Ecommerce: payment-gated pickup, Cash/Zelle payment modal, multi-status update, mandatory OTP
Start date:
08/21/2026
Due date:
08/21/2026 (28 days late)
% Done:
100%
Estimated time:
8:00 h
Spent time:
Description
Completed Admin Order pickup/payment UX fixes and Ecommerce guest OTP enforcement so unpaid orders cannot be marked picked, status can still be updated (Ready/Cancelled), and checkout cannot continue without OTP.
Admin Orders – Pickup / Payment (FE)
- Payment pending → no Mark Picked / no pickup date selection
- Bulk update hides pickup date until payment is completed (Cash / Zelle / Card).
- Products table hides Delivery/Pickup Date (shows —) while payment is pending.
- Payment modal (ecommerce Cash/Zelle)
- Opening payment update no longer prefills invalid "pending".
- Defaults to Paid (or Partial if already partial).
- Auto-selects Cash or Zelle from the order method; staff can still change method/status.
- Status update (not Picked-only auto)
- Status dropdown is not auto-forced to Picked.
- Options: Ready / Cancelled without payment; Picked only after payment (then date appears).
- Removed the helper tip text about Ready/Cancelled/Picked flow.
- Location view
- Unpaid: Cash / Zelle / Partial only (no Picked Now until paid).
- "Update & Picked Today" still works after collecting payment.
- Bulk update hides pickup date until payment is completed (Cash / Zelle / Card).
- Products table hides Delivery/Pickup Date (shows —) while payment is pending.
- Opening payment update no longer prefills invalid "pending".
- Defaults to Paid (or Partial if already partial).
- Auto-selects Cash or Zelle from the order method; staff can still change method/status.
- Status dropdown is not auto-forced to Picked.
- Options: Ready / Cancelled without payment; Picked only after payment (then date appears).
- Removed the helper tip text about Ready/Cancelled/Picked flow.
- Unpaid: Cash / Zelle / Partial only (no Picked Now until paid).
- "Update & Picked Today" still works after collecting payment.
Files touched (Admin)
- evergreen_pos_fe/src/components/OrdersProductsAccordion.tsx
- evergreen_pos_fe/src/pages/Nuresy/Inventory/Products/AdminOrder.tsx
- evergreen_pos_fe/src/pages/Nuresy/Inventory/Products/AdminOrderView.tsx
Ecommerce – Mandatory OTP (FE + BE)
- Guest signup no longer returns an auth token before OTP verify (
requiresOtp).
- Guest flow: Send OTP → must enter 6-digit OTP → only then checkout.
- Cannot skip OTP via backdrop / Escape; Verify disabled until all digits entered.
- Buttons clarified (Send OTP / Verify OTP & Continue).
requiresOtp).Files touched (Ecommerce)
- evergreen_pos_be/src/controllers/nursery/shop-controller.js
- evergreenpos_E-commerce_new/src/features/auth/pages/Login.tsx
- evergreenpos_E-commerce_new/src/features/auth/components/LoginForm.tsx
- evergreenpos_E-commerce_new/src/features/products/pages/catlogproducts.tsx
Acceptance criteria
- Unpaid pickup order: no pickup date in table/bulk; cannot Mark Picked.
- Unpaid pickup: can select Ready or Cancelled and Update.
- After payment completed: Picked + today date available; Mark Picked works.
- Payment modal opens with Paid + Cash/Zelle from order (editable).
- Ecommerce guest cannot reach checkout without successful OTP verify.
Test plan
- [ ] Open unpaid Cash pickup order → expand products → confirm date is hidden; Status shows Ready/Cancelled (not auto Picked).
- [ ] Update to Ready without payment → succeeds.
- [ ] Select Picked while unpaid → blocked / date hidden until paid.
- [ ] Mark Cash/Zelle paid → Picked + date → Mark Picked.
- [ ] Click payment status on pending ecommerce order → Paid + correct method prefilled; change method and save.
- [ ] Guest checkout: details → OTP required; cannot continue without OTP; verify then checkout.
Subtasks
Related issues
Updated by Pavan Kumar Murala 28 days ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
- Estimated time set to 8:00 h