Malek Tellissi and Claude Sonnet 4.6
a7f5c4a83e
Recipe versioning, inline recipe create, recipe summary, Shopify description
...
Deploy / deploy (push) Successful in 15s
- Add version + product_id to recipes table (migration)
- Recipe select shows version label (e.g. "Kurkuma v2")
- Creating recipe from product page pre-fills product name, auto-increments version
- Recipe ingredient summary shown read-only below the select
- Remove package_content field (redundant with recipe ingredients)
- Pull product description from Shopify body_html on import
- Update existing products with empty description on re-import
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-12 05:18:11 +02:00
Malek Tellissi and Claude Sonnet 4.6
6e28984278
Add recipe inline create/edit and batches relation on product page
...
Deploy / deploy (push) Successful in 14s
- Recipe select now has a create/edit modal (name + description)
- Batches RelationManager shows all LOT charges for the product below
the form, sorted newest first, with create/edit/delete actions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-12 05:10:04 +02:00
Malek Tellissi and Claude Sonnet 4.6
e959faff8d
Fix barcode 500 error, GTIN mask formatting, and add price sync
...
Deploy / deploy (push) Successful in 15s
- Wrap barcode generation in try-catch to prevent 500 on invalid GTIN
- Move barcode preview above GTIN input field
- Add input mask (X XXXXXX XXXXXX) and strip non-digits before save/render
- Only render barcode when >= 8 digits present
- shopify:sync now updates price alongside inventory
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-12 04:59:46 +02:00
Malek Tellissi and Claude Sonnet 4.6
25b32c717b
Add SKU/GTIN fields, live barcode preview, and Shopify price import
...
Deploy / deploy (push) Successful in 26s
- Add SKU and GTIN fields to product variant repeater
- Render EAN/UPC barcode live from GTIN input (picqer/php-barcode-generator)
- Pull variant price from Shopify API instead of defaulting to 0
- Sync sku/gtin through EditProduct and CreateProduct save logic
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-12 04:46:00 +02:00
Malek Tellissi and Claude Sonnet 4.6
822790bfc0
Improve image import logging and move HTTP downloads out of DB transaction
...
Deploy / deploy (push) Successful in 16s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-12 04:16:12 +02:00
Malek Tellissi and Claude Sonnet 4.6
02c17d6984
Add shopify:images command to download product images for existing products
...
Deploy / deploy (push) Successful in 14s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 15:09:47 +02:00
Malek Tellissi and Claude Sonnet 4.6
9ee67dfb69
Download and store Shopify product images locally on import
...
Deploy / deploy (push) Successful in 13s
Images are fetched from Shopify CDN, stored in storage/app/public/product-images/
as UUIDs, and saved in the Product.images array — matching Filament's FileUpload format.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 15:08:01 +02:00
Malek Tellissi and Claude Sonnet 4.6
edc4c5a28c
Set explicit navigation group order in panel provider
...
Deploy / deploy (push) Successful in 13s
Produkte group appears first, followed by Lager, Waren Ein/Ausgang,
Ressourcen, CRM.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 15:06:21 +02:00
Malek Tellissi and Claude Sonnet 4.6
53955b0163
Group Produkte, Rezepte and Chargen under 'Produkte' nav group
...
Deploy / deploy (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 15:04:19 +02:00
Malek Tellissi and Claude Sonnet 4.6
32e196719a
Extend shopify:import to handle Stück, Stangen and Default Title variants
...
Deploy / deploy (push) Successful in 13s
Parses additional packaging formats from option1 and falls back to SKU
parsing for single-variant products with 'Default Title'.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 15:02:12 +02:00
Malek Tellissi and Claude Sonnet 4.6
94d94effa9
Add shopify:import command for initial product/inventory import
...
Deploy / deploy (push) Successful in 14s
Fetches all products and variants from Shopify API, creates local
Products, Packings and ProductSizes with shopify_variant_id, and
fills ProductInventory rows to match Shopify's inventory_quantity.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 14:58:40 +02:00
Malek Tellissi and Claude Sonnet 4.6
80b7831a1e
Remove temporary Shopify OAuth install routes
...
Deploy / deploy (push) Successful in 14s
Token captured, routes no longer needed.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 03:21:48 +02:00
Malek Tellissi and Claude Sonnet 4.6
527f99bb6e
Set explicit redirect_uri in Shopify OAuth install URL
...
Deploy / deploy (push) Successful in 14s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 03:15:02 +02:00
Malek Tellissi and Claude Sonnet 4.6
99d3ea748c
Fix nullable clientSecret in ShopifyInstallController
...
Deploy / deploy (push) Successful in 13s
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 03:13:40 +02:00
Malek Tellissi and Claude Sonnet 4.6
2b7913311a
Add temporary Shopify OAuth install routes
...
Deploy / deploy (push) Successful in 14s
/shopify/install → redirects to Shopify OAuth
/shopify/callback → exchanges code for access token and displays it
To be removed after token is captured.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 03:12:20 +02:00
Malek Tellissi and Claude Sonnet 4.6
7e9c43f2bf
Improve Shopify sync error logging
...
Deploy / deploy (push) Successful in 14s
Log clear hint for 403 (IP whitelist), 401, 429, 5xx.
Commands exit with failure and print error when API returns no data.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 02:54:44 +02:00
Malek Tellissi and Claude Sonnet 4.6
467d85dfec
Add Shopify inventory sync and order webhook
...
Deploy / deploy (push) Successful in 14s
- Migration: shopify_variant_id on products_sizes, shopify_order_id on products_sales
- ShopifyService: paginated REST client (2024-10 API)
- shopify:map — one-time command to link variants by SKU
- shopify:sync — reconciliation command (Shopify is master)
- VerifyShopifyWebhook middleware: HMAC-SHA256 verification
- ShopifyWebhookController: idempotent orders/paid handler, FIFO inventory deduction
- Webhook route: POST /api/webhooks/shopify/orders-paid
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-09-11 02:53:49 +02:00
Malek Tellissi
400172cdde
Erster Upload
2026-09-11 01:17:47 +02:00