Project

General

Profile

Edit Copy Actions

Support #10998

open

Support #10821: Gaps in Order Flow from E-commerce & Admin panel side

Return & cancellation Rules , varient wise image upload, UI enhanments , tesing all implemented features

Added by Yalavarthi Thriveni 13 days ago. Updated 8 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
09/24/2026
Due date:
% Done:

100%

Estimated time:
16:00 h
Spent time:

Description

Maintain
Variant-level policy (isReturnable, returnWindowDays, isCancellable) in product level .


Add

Subtasks


Add

Related issues

Actions #1

Updated by Ajit A 11 days ago

  • Status changed from New to In Progress

Updated by Ajit A 11 days ago

  • Subject changed from Return & cancellation Rules to Return & cancellation Rules , varient wise image upload, UI enhanments , tesing all implemented features
  • Start date changed from 09/22/2026 to 09/24/2026
  • Estimated time set to 16:00 h

1. Executive Summary
Implemented and refined an end-to-end multi-dimensional product variant, universal unit conversion, and color-specific media gallery ecosystem across the POS Backend (evergreen_pos_be), POS Admin Frontend (evergreen_pos_fe), and E-Commerce Storefront (evergreenpos_E-commerce_new).

2. Detailed Breakdown of Changes by Repository
A. Backend (evergreen_pos_be) β€” 16 Files Changed (+1,427 / -150 lines)
Universal Unit Master Engine (

units.js
):
Expanded universal unit categories to 9 dimensions: weight, volume, length, area, count, time, temperature, power, digital, and other.
Added ~60+ universal units in INITIAL_UNITS with base unit conversion factors.
Added POST /api/v1/units/seed-universal and enhanced getUnitModel in

dbUtils.js
to auto-seed standard units and repair legacy records missing names without data loss.
Category Attributes & Variant Models (

Categories-model.js
,

nursery.product.js
,

productModel.js
):
Added valueMode: 'text' | 'numeric-unit', unitId, normalizedValue, normalizedUnit, showInFilter, and isVariantDimension to category attribute definitions.
Added multi-dimensional variantSchema supporting variantAttributes, variantAttributeLabels, price, offerPrice, finalPrice, stockQuantity, images, returnPolicy, and inventoryBatches.
Product & Cart Services (

product.service.js
,

cart.service.js
,

sale.service.js
):
Added SKU uniqueness validation and return policy normalization on product save/update.
Implemented smart variant merging on product update to preserve existing variant IDs and inventory history.
Added variant line-item handling, stock checking, and price synchronization for POS sales and E-Commerce carts.
Payload Sanitization (

productPayloadFilter.js
):
Whitelisted hasVariants, variantDimensions, and variants with nested batches and media arrays.
B. POS Admin Frontend (evergreen_pos_fe) β€” 8 Files Changed (+2,933 / -39 lines)
Compact Category Attribute Builder (

CategoryModal.tsx
):
Redesigned Attribute Cards into a streamlined, single-row layout reducing vertical scrolling by >50%.
Added inline capability checkboxes (Show on Sidebar Filter, Allow as Variant Dimension).
Added Numeric + Unit mode with bulk option input (e.g. typing 1, 2, 5, 10 with KG generates structured options).
Background normalized base calculation for precise range filtering without showing technical conversion clutter.
Variant Matrix & Color Media Tray (

CreateProduct.tsx
):
Built interactive dimension selector chips and option trays with one-click Select All / Clear All.
Combinatorial matrix generation with auto SKU naming, offer pricing, stock management, and batch modal integration.
Added 🎨 Color Variant Photos & Media Tray allowing dedicated photo uploads per color (e.g. Crimson Red, Navy Blue).
Integrated deferred bulk S3 image upload on product submission and synchronized image URLs into payload.variants.
Populated existing variant photos and color galleries when editing products.
Unit Master Management UI (

UnitManagement.tsx
):
Built Unit Master management screen with category filtering, color-coded badges, conversion formula guides, and Sync Standard Units repair button.
Configured navigation routes and sidebar menu entry.
POS Product Details (

PeoductDetails.tsx
):
Added interactive color variant pills under the product photo that dynamically switch preview images on click.
C. E-Commerce Storefront (evergreenpos_E-commerce_new) β€” 20 Files Changed (+1,143 / -177 lines)
Dynamic Color Gallery Switching (

productdetailsui.tsx
,

ProductDetailsModal.tsx
):
Multi-dimensional variant selection controls (Color swatches + Size/Pack options).
Clicking a color swatch instantly switches the main hero gallery and thumbnail carousel to display the photos uploaded for that specific color, falling back to primary product photos if none exist.
Color Swatch Resolution (

ColorSwatchPicker.tsx
):
Upgraded to automatically resolve distinct colors from product.variants[].variantAttributes.color with hex styling.
Dynamic Sidebar Faceted Filters (

FilteredProducts.tsx
):
Automatically generates dynamic faceted filter accordions (Color, Size, Material, etc.) based on category attribute definitions.
Cart & Catalog Cards (

useCart.tsx
,

CartItemCard.tsx
,

ProductUnifiedCard.tsx
):
Cart items now preserve variantId, variantSku, variantAttributes, custom variant prices, and variant thumbnails.
Product catalog cards show dynamic price ranges (e.g. $19.99 - $34.99) and color swatches.
3. Verification & Quality Assurance
Verified full standard unit catalog seeding (~60+ units across 9 physical/digital categories).
Verified Category Modal attribute creation with Numeric + Unit and bulk option generator.
Verified Variant Combinatorial Matrix generation in POS product creation.
Verified Color Variant photo upload, deferred S3 batch upload, and database persistence.
Verified real-time gallery switching upon color selection in E-Commerce and POS details view.
Verified multi-variant cart addition, price calculations, and checkout payload integrity.

Actions #3

Updated by Ajit A 11 days ago

  • % Done changed from 0 to 50

Updated by Ajit A 10 days ago

  • % Done changed from 50 to 100

Here is an elaborate, structured summary of today’s changes across the entire repository workspace, formatted ready to update your Redmine ticket / daily log:

πŸ“‹ Daily Development & Git Changes Summary
Date: September 25, 2026
Module: Evergreen POS & E-Commerce Ecosystem (evergreenpos_E-commerce_new, evergreen_pos_fe, evergreen_pos_be)

🎯 Executive Summary
Today's updates focused on resolving variant image rendering across both Storefront and POS Admin platforms, enhancing multi-dimensional product variant management (with batch & FEFO support), creating category dynamic taxonomy definitions, implementing a dedicated Units Management module, and fixing cart item pricing/resolution for authenticated user sessions.

πŸš€ Key Highlights by Component
1. E-Commerce Storefront (evergreenpos_E-commerce_new)
Variant Image Fallback & Cart Normalization:
Implemented useCartItemResolved and robust image validation (isBadImageUrl) in

storefrontUtils.ts
.
Ensured cart drawer (

QuickCart.tsx
), cart item cards (

CartItemCard.tsx
), and cart table (

CartProducts.tsx
) fallback to the first variant image if top-level product image is unavailable.
Fixed ReferenceError: priceToUse is not defined in

useCart.tsx
for logged-in user cart synchronization.
Product Card & Details Overhaul:
Upgraded

ProductUnifiedCard.tsx
and

UnifiedCard.tsx
with interactive

ColorSwatchPicker.tsx
, instant variant switching, and live pricing/stock checks.
Revamped

productdetailsui.tsx
and

ProductImageGallery.tsx
with support for multi-attribute dimensions and synchronized thumbnail galleries.
Added faceted category attribute filtering and dynamic range filters in

FilteredProducts.tsx
.
Authentication & Social Login:
Enhanced

SocialLoginButtons.tsx
and

CreateAccountModal.tsx
for smoother customer onboarding.
2. POS Admin Frontend (evergreen_pos_fe)
Product Inventory List Image Fallback:
Fixed product list table (http://superset.localhost:5173/products) in

Products.tsx
by introducing getProductTableImage(product) to automatically resolve variant images when top-level product imageUrl is absent.
Applied the fallback across both the regular catalog view and watering schedule table views.
Advanced Product & Variant Creation:
Added comprehensive variant builder in

CreateProduct.tsx
supporting multi-option matrices, auto SKU/barcode generation, packaging options, and shipping parcel weight/dimensions.
Created

VariantBatchModal.tsx
for batch tracking, expiration dates, and lot numbers.
Updated

PeoductDetails.tsx
to display full variant matrices, stock breakdown, and return policy details.
Dynamic Category Taxonomies:
Enhanced

CategoryModal.tsx
and

categoryTaxonomyDefaults.ts
to define custom category attribute definitions (swatches, dropdowns, pills, search filters).
Units Management Module & Settings:
Added unit configuration views in

src/pages/Settings/Units/
and updated navigation links in

router.link.tsx
&

nuresy.route.tsx
.
3. Backend Services & APIs (evergreen_pos_be)
Product API & Variant Query Hydration:
Updated getProductForManage in

product.service.js
to include variants, images, additionalImages, hasVariants, and variantDimensions in database selection.
Added resolveProductImage in backend response mapping to guarantee a valid image URL (falling back to variant images) is delivered to all client consumers.
Enhanced dynamic tax calculations and address-based delivery filtering.
Cart API Variant Population:
Updated

cart.service.js
to populate variant images, attribute snapshots, and variant arrays directly in cart payloads (/get-id, /get-cart, /guest-cart).
Inventory FEFO Support:
Introduced

fefoInventory.service.js
and integrated batch deduction hooks into

sale.service.js
.
Units Management API & Seeders:
Added complete controller, route, and model suite for measurement units (

units.js
,

units.route.js
,

units.js
(model)
).

Actions #5

Updated by Ajit A 8 days ago

  • Status changed from In Progress to Resolved
Edit Copy Actions

Also available in: Atom PDF