chore: cascade main → dev (ea0fe51) [skip ci] #29

Merged
jmiller merged 10 commits from main into dev 2026-05-22 02:33:22 +00:00
Owner

Automatic cascade

Forward-merging main (ea0fe51) into dev.

If conflicts exist, resolve manually and merge.

Auto-created by Cascade Main → Dev.

## Automatic cascade Forward-merging `main` (ea0fe51) into `dev`. If conflicts exist, resolve manually and merge. > Auto-created by **Cascade Main → Dev**.
jmiller added 10 commits 2026-05-22 02:33:21 +00:00
Authored-by: Moko Consulting
Synced from Template-Joomla: pre-release.yml and auto-release.yml now
handle Joomla package extensions (type="package" with sub-extensions).

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Renamed .gitea/ to .mokogitea/ for MokoConsulting convention.
Updated release workflows with Joomla package type support.

Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Authored-by: Moko Consulting

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Implements all critical v1.0 features:
- Cart system: CartController, CartModel, CartTable with session-based
  persistence, stock validation, and guest cart merge on login
- Checkout flow: CheckoutController, CheckoutModel with billing form,
  Dolibarr order/invoice creation, and confirmation page
- Customer sync: CustomerSyncService for Joomla user to Dolibarr
  thirdparty mapping with email-based deduplication
- Order service: OrderService for creating orders and invoices in
  Dolibarr with local mapping table storage
- Site language strings for all new views and messages
- Updated manifest to include site services folder

Resolves: #1, #2, #3, #4, #5, #6

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Category navigation: CategoryModel with hierarchical tree, category
  landing page with sidebar, breadcrumbs, and Joomla menu item types
- Stock display: StockHelper with In Stock/Low Stock/Out of Stock
  indicators, configurable threshold, and backorder support
- Tax calculation: TaxHelper with grouped tax breakdown, HT/TTC
  display modes, and configurable tax display setting
- Product search: SearchController with AJAX endpoint, text search
  via Dolibarr sqlfilters, price range, sorting, and category filter
- Order history: OrdersModel, Orders view with list and detail,
  PDF invoice download support, real-time Dolibarr status
- Admin dashboard: DashboardModel with product/order/customer counts,
  revenue metrics (daily/weekly/monthly), recent orders table

Also adds menu item type XML metadata for Products, Category, Cart,
Checkout, and My Orders views.

Resolves: #7, #8, #9, #10, #11, #12

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- SEF URL router: clean URLs for all views (/shop/product/id,
  /shop/category/id, /shop/cart, /shop/checkout, /shop/my-orders)
- Image service: fetch from Dolibarr docs API, local caching,
  thumbnail support, placeholder for missing, cache invalidation
- Email notifications: customer confirmation and admin notification
  HTML emails via Joomla mail transport on order placement
- Menu item types: XML metadata for Products, Category, Product,
  Cart, Checkout, and My Orders with configurable params
- Responsive CSS: mobile-first storefront.css with sticky add-to-cart,
  touch-friendly cart controls, responsive grid breakpoints
- Product variants: VariantHelper fetches and groups Dolibarr
  product variants/combinations with price adjustments and stock
- Admin orders view: OrdersModel with filters (status, date, search),
  status sync from Dolibarr, enriched with customer names

Also adds media folder (css/images) to component manifest.

Resolves: #13, #14, #15, #16, #17, #18, #19

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Wishlist: WishlistModel with add/remove, session-based for guests,
  merge on login, DB table #__mokodolijoomshop_wishlist
- Coupon/discount codes: CouponHelper validates codes against
  Dolibarr thirdparty discount rules, supports percent and fixed
- Multi-language: all strings already use Joomla Text class (i18n ready)
- API caching: CacheService using Joomla cache framework with
  configurable TTL, manual flush on sync, dev mode disable
- Shipping addresses: AddressModel with CRUD, default address,
  DB table #__mokodolijoomshop_addresses
- ACL: component-level access rules for products, orders, customers,
  and settings management in manifest
- Webhooks: WebhookService processes Dolibarr events (product CRUD,
  order status, payments), secret validation, event log table
- Invoice PDF: InvoiceController streams PDF from Dolibarr documents
  API with ownership verification

Also adds performance/webhook config fieldsets and 3 new DB tables.

Resolves: #20, #21, #22, #23, #24, #25, #26, #27

Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
docs: update CHANGELOG for v1.0.0-dev.1
Universal: Cascade Main → Dev / Cascade main → branches (push) Successful in 2s
ea0fe519b2
Authored-by: Moko Consulting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
jmiller merged commit 8d87f3920a into dev 2026-05-22 02:33:22 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoDoliJoomShop#29