-
7da013044d
Require piece_weight when unit is Stück, add explanatory helper text
main

Malek TellissiandClaude Sonnet 4.6
2026-09-13 03:11:12 +02:00
-
0500cab160
Fix: admin/manager land on edit page, viewer on view page

Malek TellissiandClaude Sonnet 4.6
2026-09-13 03:05:05 +02:00
-
9f42f730b8
Show Rohstoffe nav and delete action for sms-admin only

Malek TellissiandClaude Sonnet 4.6
2026-09-13 03:02:34 +02:00
-
d22353c222
Update README: OAuth security notes and nextcloud_id binding

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:54:41 +02:00
-
4b99ffea15
Fix account-takeover: bind users to nextcloud_id, not email

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:54:19 +02:00
-
25d9330538
Update README: OAuth login, roles, Rohstofflieferungen, done items

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:46:54 +02:00
-
1494273efd
Add viewer access to records and restrict activity log

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:44:00 +02:00
-
596d66b366
Apply EnforcesRoles trait in ProductResource and ProductSaleResource

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:37:55 +02:00
-
fc5d1a65ae
Revert login auto-redirect, keep button-based login page

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:33:49 +02:00
-
df637d1b4b
Handle GET /dashboard/logout to prevent 500 on direct URL access

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:31:49 +02:00
-
c3a3cabc2c
Redirect /dashboard/login directly to Nextcloud OAuth via web route

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:28:46 +02:00
-
f53ea6a823
Fix login redirect: return redirect() instead of send()+exit

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:27:29 +02:00
-
a8e7bdeb64
Redirect login page directly to Nextcloud OAuth

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:25:27 +02:00
-
b4e2023abd
Increase vertical spacing between heading and login button

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:22:33 +02:00
-
587501c1ad
Restore missing HtmlString import in UserPanelProvider

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:20:53 +02:00
-
63fd2f920d
Add spacing between heading and login button

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:20:04 +02:00
-
9ef73ca3f0
Replace login form with single Nextcloud OAuth button

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:18:41 +02:00
-
c3f4e37d7c
Pass OAuth env vars into Docker container via docker-compose

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:14:39 +02:00
-
5ea7916a09
Fix EnforcesRolesInRelation method signatures to match RelationManager

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:06:01 +02:00
-
0c44bfa6d0
Implement role-based access control and revert hardcoded OAuth credentials

Malek TellissiandClaude Sonnet 4.6
2026-09-13 02:03:46 +02:00
-
a50939bc38
temp: hardcode Nextcloud OAuth credentials for debugging
Malek Tellissi
2026-09-13 01:56:05 +02:00
-
d0eb03a583
Fix OAuth callback route to match Nextcloud redirect URI

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:53:26 +02:00
-
2937004118
Roles via Nextcloud groups: sms-admin/manager/viewer + fix OAuth instance_uri

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:48:24 +02:00
-
fc4579c47d
Add Nextcloud OAuth 2.0 login via laravel/socialite

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:40:46 +02:00
-
d87383672c
Add piece_weight calibration: enter Stück + Gramm per delivery, average auto-calculated

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:26:17 +02:00
-
38bcf60778
Rohstofflieferung: unit suffix, enter kg stored as grams

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:06:54 +02:00
-
9501ff38d9
Redirect to list after creating Rohstofflieferung

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:04:09 +02:00
-
a7094b6787
SpiceChart: remove fixed width and scroll, let bars scale naturally

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:01:01 +02:00
-
22fb5ed09d
Rohstoffe: inline creation in Lieferung form, hide nav entry, remove quantity column

Malek TellissiandClaude Sonnet 4.6
2026-09-13 01:00:07 +02:00
-
a85afbc93a
SpiceChart: dynamic width + horizontal scroll for many Rohstoffe

Malek TellissiandClaude Sonnet 4.6
2026-09-13 00:58:29 +02:00
-
8f7af41513
Fix SpiceChart: encode URL array as JSON.parse() to avoid double quotes breaking x-data HTML attribute

Malek TellissiandClaude Sonnet 4.6
2026-09-13 00:52:07 +02:00
-
118552d093
Fix SpiceChart: query spice IDs directly in extraJsOptions and guard formatter against null regex match

Malek TellissiandClaude Sonnet 4.6
2026-09-13 00:33:05 +02:00
-
7d45e3027c
Fix SpiceChart: use class property for spice IDs, build edit URLs via url()

Malek TellissiandClaude Sonnet 4.6
2026-09-13 00:14:30 +02:00
-
092a78e306
Navigate to spice edit page on chart bar click

Malek TellissiandClaude Sonnet 4.6
2026-09-12 22:38:39 +02:00
-
fb19e9a579
Introduce spice_stock_movements ledger for traceable stock changes

Malek TellissiandClaude Sonnet 4.6
2026-09-12 22:34:10 +02:00
-
7545aed494
Fix delivery deletion: allow negative stock instead of clamping to 0

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:50:58 +02:00
-
88224f887c
Show git commit hash as build number in sidebar footer

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:49:42 +02:00
-
70eb5170d1
Allow deleting spice deliveries even with insufficient stock; warn instead of block

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:46:47 +02:00
-
a4f3254ebd
Add address, phone, email, website fields to suppliers

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:38:53 +02:00
-
c5b0a43928
Show recipe version and date in product list instead of recipe name

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:30:15 +02:00
-
e9ea8770e5
Make Produkte a flat nav item, remove Produkte navigation group

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:28:16 +02:00
-
42748bbe20
Fix deploy: clear PHP source dirs before SCP so deleted files don't persist

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:25:41 +02:00
-
ae579892bc
Add optimize:clear before cache rebuild in entrypoint to prevent stale cache

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:22:12 +02:00
-
7dfd01c11a
Remove standalone RecipeResource — recipes managed via product page

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:17:38 +02:00
-
a104924add
Remove accidentally committed article_number migration (was rejected)

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:17:05 +02:00
-
352f2a0aac
Remove standalone BatchResource — chargen managed via product relation manager

Malek TellissiandClaude Sonnet 4.6
2026-09-12 21:16:52 +02:00
-
1290ab934e
Update README: document lot_number format, add suppliers table to schema

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:59:09 +02:00
-
b90c00cf34
Fix lot_suffix input: switch to live(onBlur) to prevent typing interference

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:40:00 +02:00
-
5c034ec895
Add lot_prefix to products; compose LOT number from prefix + date suffix

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:35:37 +02:00
-
e9734c2590
Preserve existing origin entries when switching recipe version

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:20:07 +02:00
-
769d91465f
Update README: LOT API origins array, updated DB schema

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:09:20 +02:00
-
7c0fde4fd5
Update LOT API to use nested batch_origin_entries structure

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:07:53 +02:00
-
4a98beeb45
Restructure batch origins: nested entries per ingredient with Supplier/Farmer selects

Malek TellissiandClaude Sonnet 4.6
2026-09-12 20:03:05 +02:00
-
400237aa5b
Allow multiple supplier/farmer entries per ingredient in batch origins

Malek TellissiandClaude Sonnet 4.6
2026-09-12 19:46:17 +02:00
-
2dffe6f695
Pre-fill batch origins from recipe in standalone BatchResource

Malek TellissiandClaude Sonnet 4.6
2026-09-12 19:00:45 +02:00
-
62be3761a9
Pre-fill batch origin rows from recipe spices automatically

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:54:00 +02:00
-
6f78b22285
Rewrite RecipeHistory without InteractsWithTable to fix 404

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:38:37 +02:00
-
dd710cb1c0
Fix 404 on recipe history page

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:30:07 +02:00
-
656b105cb9
Show Shopify product ID as read-only field next to product name

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:24:44 +02:00
-
3301a1e9b2
Fix 500 on recipe save and surface errors as notifications

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:19:31 +02:00
-
811f5a015e
Add Shopify pull-from feature and fix product creation payload

Malek TellissiandClaude Sonnet 4.6
2026-09-12 18:07:24 +02:00
-
9ef24fc45f
Fix 500 on product create: remove $arguments from render-time closures

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:39:58 +02:00
-
74b47193d9
Hide 'publish to Shopify' button if any variant already has a shopify_variant_id

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:25:53 +02:00
-
3450b06e32
Reload page after publishing variant to Shopify so badge updates

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:23:18 +02:00
-
6fe34883c6
Add 'Publish to Shopify' for locally-created products

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:22:37 +02:00
-
3ebd9845b0
Add Shopify publish/sync per product variant

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:20:26 +02:00
-
e187465553
Fix syncSizes: replace belongsToMany sync with ProductSize updateOrCreate

Malek TellissiandClaude Sonnet 4.6
2026-09-12 17:00:58 +02:00
-
538053d36e
Restrict API subdomain to /api/* paths in Caddy config

Malek TellissiandClaude Sonnet 4.6
2026-09-12 16:48:03 +02:00
-
6f0c94cc21
Update API subdomain docs to use Caddy reverse proxy

Malek TellissiandClaude Sonnet 4.6
2026-09-12 16:44:08 +02:00
-
e14baca7e0
Add LOT API v1 endpoint with full batch details

Malek TellissiandClaude Sonnet 4.6
2026-09-12 16:43:48 +02:00
-
269570c7d6
Remove recipe name field; use product title internally

Malek TellissiandClaude Sonnet 4.6
2026-09-12 06:00:18 +02:00
-
a7e7375edd
Add recipe versioning: auto-bump on change, history sub-page

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:52:59 +02:00
-
4775cffaae
Embed recipe editing directly on product page

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:43:37 +02:00
-
af55857883
Update README: batch deduction, recipe versioning, current DB schema

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:34:57 +02:00
-
a34bb29620
Auto-deduct spice inventory when batch is created/updated/deleted

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:34:09 +02:00
-
1e93aaa7d8
Make description read-only and auto-sized using Placeholder

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:22:32 +02:00
-
a12502418b
Display product images in grid layout with 200px preview height

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:20:40 +02:00
-
a7f5c4a83e
Recipe versioning, inline recipe create, recipe summary, Shopify description

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:18:11 +02:00
-
6e28984278
Add recipe inline create/edit and batches relation on product page

Malek TellissiandClaude Sonnet 4.6
2026-09-12 05:10:04 +02:00
-
e959faff8d
Fix barcode 500 error, GTIN mask formatting, and add price sync

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:59:46 +02:00
-
25b32c717b
Add SKU/GTIN fields, live barcode preview, and Shopify price import

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:46:00 +02:00
-
35cacb2e99
Replace storage:link with explicit ln -sf to fix broken symlink

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:36:42 +02:00
-
cb7765bbcc
Ensure storage directories exist before storage:link in entrypoint

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:33:44 +02:00
-
e34020e5bd
Update README: Docker setup, artisan-in-container, Shopify commands

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:30:04 +02:00
-
2024f060f1
Run artisan inside container instead of on host (PHP version mismatch)

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:27:14 +02:00
-
9752e7db4c
Fix composer install dir: use \$HOME instead of ~ in deploy script

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:25:12 +02:00
-
4e53c9a310
Install composer on host during deploy so artisan commands work directly

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:22:59 +02:00
-
822790bfc0
Improve image import logging and move HTTP downloads out of DB transaction

Malek TellissiandClaude Sonnet 4.6
2026-09-12 04:16:12 +02:00
-
02c17d6984
Add shopify:images command to download product images for existing products

Malek TellissiandClaude Sonnet 4.6
2026-09-11 15:09:47 +02:00
-
9ee67dfb69
Download and store Shopify product images locally on import

Malek TellissiandClaude Sonnet 4.6
2026-09-11 15:08:01 +02:00
-
edc4c5a28c
Set explicit navigation group order in panel provider

Malek TellissiandClaude Sonnet 4.6
2026-09-11 15:06:21 +02:00
-
53955b0163
Group Produkte, Rezepte and Chargen under 'Produkte' nav group

Malek TellissiandClaude Sonnet 4.6
2026-09-11 15:04:19 +02:00
-
32e196719a
Extend shopify:import to handle Stück, Stangen and Default Title variants

Malek TellissiandClaude Sonnet 4.6
2026-09-11 15:02:12 +02:00
-
94d94effa9
Add shopify:import command for initial product/inventory import

Malek TellissiandClaude Sonnet 4.6
2026-09-11 14:58:40 +02:00
-
e099e7a0a0
Pass Shopify env vars into container via docker-compose

Malek TellissiandClaude Sonnet 4.6
2026-09-11 14:55:22 +02:00
-
afd5f5bd00
Trigger redeploy to include SHOPIFY_ACCESS_TOKEN
Malek Tellissi
2026-09-11 14:45:10 +02:00
-
80b7831a1e
Remove temporary Shopify OAuth install routes

Malek TellissiandClaude Sonnet 4.6
2026-09-11 03:21:48 +02:00
-
d7c956d21c
Trigger redeploy to pick up Shopify secrets
Malek Tellissi
2026-09-11 03:17:49 +02:00
-
527f99bb6e
Set explicit redirect_uri in Shopify OAuth install URL

Malek TellissiandClaude Sonnet 4.6
2026-09-11 03:15:02 +02:00
-
99d3ea748c
Fix nullable clientSecret in ShopifyInstallController

Malek TellissiandClaude Sonnet 4.6
2026-09-11 03:13:40 +02:00