Dwindi Ramadhana
d80f34c8b9
finalizing subscription moduile, ready to test
2026-01-29 11:54:42 +07:00
Dwindi Ramadhana
9204189448
fix: add more hooks for license generation on order completion
...
- Added woocommerce_payment_complete hook
- Added woocommerce_thankyou hook for COD/virtual orders
- Added is_virtual_order helper to detect virtual-only orders
- generate_licenses_for_order now called from multiple hooks
(safe due to license_exists_for_order_item check)
2026-01-07 22:58:29 +07:00
Dwindi Ramadhana
d7b132d9d9
fix: dbDelta separate tables, add SEOHead for page titles
...
1. License table creation:
- dbDelta requires separate calls per CREATE TABLE
- Split into sql_licenses and sql_activations
- Added 'PRIMARY KEY (id)' with two spaces (dbDelta requirement)
2. Page titles:
- Added SEOHead to Cart page (title: Shopping Cart)
- Added SEOHead to Checkout page (title: Checkout)
- Shop already had SEOHead
3. usePageTitle hook created (alternative to SEOHead for non-Helmet usage)
2026-01-07 22:40:45 +07:00
Dwindi Ramadhana
2cc20ff760
fix: licensing table creation, consistent meta keys, checkout virtual detection
...
1. License table auto-creation:
- Added ensure_tables() check on plugins_loaded
- Tables created automatically if missing
2. Consistent licensing meta keys:
- ProductsController now uses _woonoow_licensing_enabled
- Matches LicensingModule and LicenseManager
3. Checkout virtual-only detection:
- Added needs_shipping to Cart interface
- Checkout uses cart.needs_shipping from WooCommerce API
- Fallback to item-level virtual/downloadable check
4. Login redirect for logged-in users added previously
2026-01-07 22:15:51 +07:00
Dwindi Ramadhana
f334e018fa
fix: 4 bugs - checkout virtual, login redirect, licensing, categories
...
1. Virtual-only checkout:
- Added 'virtual' and 'downloadable' to CartController response
- Checkout can now detect virtual-only carts
2. Login redirect:
- Added useEffect to redirect logged-in users to /my-account
3. License generation:
- Fixed meta key mismatch (_woonoow_licensing_enabled -> _licensing_enabled)
4. Product categories:
- Added queryClient.invalidateQueries after creating new category
- List now refreshes immediately
2026-01-07 21:08:01 +07:00
Dwindi Ramadhana
b367c1fcf8
feat: Add licensing module backend
...
- LicensingSettings.php with key format, activation limits, expiry settings
- LicenseManager.php with key generation, activation/deactivation, validation
- LicensingModule.php with WooCommerce product meta integration
- LicensesController.php with admin, customer, and public API endpoints
- Database tables: woonoow_licenses, woonoow_license_activations
- has_settings enabled in ModuleRegistry
2026-01-05 16:20:32 +07:00