124 Commits

Author SHA1 Message Date
aferrer 7abf298da1 refactor(items): localize stock policy form resolver typing 2026-07-01 01:28:49 +02:00
aferrer 79bd1b5d5e feat(items): add stock policy fields 2026-07-01 01:06:10 +02:00
aferrer d1def3353a chore(navigation): reorder assignments and movements 2026-06-30 10:06:49 +02:00
aferrer 66c703e484 test(users): align unified form no-user default 2026-06-30 10:06:42 +02:00
aferrer 925bafff1a fix(common): make page header search opt-in 2026-06-30 10:06:35 +02:00
aferrer 1e9c5b9627 fix(assignments): normalize asset-backed quantity 2026-06-30 10:06:27 +02:00
aferrer 723c41f0c9 feat(people): split people and teams into tabs 2026-06-30 10:06:20 +02:00
aferrer 15494b2539 chore: Configure editor to format on save and set default formatter for TypeScript variants 2026-06-29 13:55:20 +02:00
aferrer efda051aa3 feat(teams): add Team entity and replace PersonDepartment with teamId (#6)
Co-authored-by: Asis Ferrer <aferrer@aferrer.dev>
Co-committed-by: Asis Ferrer <aferrer@aferrer.dev>
2026-06-26 00:32:37 +00:00
aferrer b401f254ec feat(assignments): remaining quantity display and partial return i18n 2026-06-25 21:42:09 +02:00
aferrer 2c03cd4d66 feat(assignments): partial return action and ReturnButton modal 2026-06-25 21:18:34 +02:00
aferrer de40e0bf73 chore(deps): add jsdom and testing-library for modal tests 2026-06-25 21:07:06 +02:00
aferrer e4bd76a353 feat(assignments): partial return schema, concurrency guard, domain error 2026-06-25 21:02:46 +02:00
stock-manager-bot 9b023ee558 fix(schemas): fix asset schema Zod generic and form test types 2026-06-25 19:54:46 +02:00
stock-manager-bot 44565e3a62 test(cleanup): fix pre-existing test mocks and data 2026-06-25 19:50:02 +02:00
aferrer 18e274ef37 feat(assignments): close and reopen assignment on person swap 2026-06-25 17:20:24 +02:00
aferrer b4b63e107a feat(assets): pair ASSIGNMENT movement on itemChanged AVAILABLE→ASSIGNED 2026-06-25 17:05:23 +02:00
aferrer 91dc0220ae feat(assignments): emit ADJUSTMENT movement on quantity change 2026-06-25 16:58:03 +02:00
aferrer 1142855578 feat(assets): thread previousStatus through movement writes 2026-06-25 03:25:47 +02:00
aferrer a0a1e1bdc8 feat(movements): gate StockMovementLine on trackingType QUANTITY 2026-06-25 03:22:08 +02:00
aferrer 8f7a406e83 fix(assets): omit phantom stock line for ASSIGNED assets 2026-06-25 03:14:00 +02:00
aferrer 95c52579d1 refactor(movements): normalize snapshot convention to mutate-then-write 2026-06-25 03:11:15 +02:00
aferrer 575cd2d9a0 feat(items): emit ISSUE/ADJUSTMENT movement on stock decrease 2026-06-25 03:03:26 +02:00
aferrer 0d38626f3a test(cleanup): remove legacy admin users references 2026-06-20 16:27:36 +02:00
aferrer d217edd4e5 test(i18n): sync inventory dictionary contracts 2026-06-19 17:14:22 +02:00
aferrer f32d55a7b0 feat(assets): add asset metadata views and enforce assignment transitions 2026-06-19 17:14:22 +02:00
aferrer c1763ed007 feat(assignments): support line-based returns and authenticated updates 2026-06-19 17:14:22 +02:00
aferrer 965a04a468 feat(items): adapt item flows to inventory schema defaults and SKU generation 2026-06-19 17:14:22 +02:00
aferrer 7b8a415c6a feat(people): align people, users, and categories with active inventory records 2026-06-19 17:14:22 +02:00
aferrer c123170a46 test(e2e): forbid focused Playwright tests in CI 2026-06-19 01:05:33 +02:00
aferrer 6d34a2f74f feat(inventory): support line-based assignments and movements 2026-06-19 01:05:33 +02:00
aferrer 8e6a00c2a9 feat(people): adapt person user flows to status model 2026-06-19 01:05:33 +02:00
aferrer 01d89cd21b feat(auth): align login and bootstrap with new user schema 2026-06-19 01:05:33 +02:00
aferrer 2ed9445f7f feat(db): reshape user and inventory schema 2026-06-19 01:05:33 +02:00
aferrer 1a95bf4613 docs: update README to reflect Person model and /people migration 2026-06-18 23:27:12 +02:00
aferrer fff5ce01e5 chore: add openspec and sdd to gitignore 2026-06-18 22:51:08 +02:00
aferrer fb5f3da7c1 feat: add quick-assign action from people list with person preselected 2026-06-18 22:46:35 +02:00
aferrer df02d24d79 refactor: remove obsolete admin/users files after /people migration 2026-06-18 22:45:39 +02:00
aferrer 92f83c708a refactor(i18n): update Spanish (es) locale strings for delivery note 2026-06-17 09:41:32 +02:00
aferrer d6b42d78e7 refactor: consolidate admin/users management under /people 2026-06-17 09:32:26 +02:00
aferrer 4f370eee70 refactor: move unified Person+User form to /people/new, admin-only 2026-06-17 08:51:23 +02:00
aferrer 1f5a849bf5 feat: unify Person and User creation form with conditional password 2026-06-16 21:48:59 +02:00
aferrer e5717461cf feat: add unified Person+User creation backend 2026-06-16 21:21:17 +02:00
aferrer 68c2983d36 refactor: remove username from User model, login by email only 2026-06-16 16:18:42 +02:00
aferrer caf19575c6 refactor: rename DB columns recipientId to personId 2026-06-16 13:37:58 +02:00
aferrer cf6820a7aa refactor: rename remaining recipient references to person/people 2026-06-16 13:34:15 +02:00
aferrer 29c7c19cd8 refactor: complete i18n rename recipients to people, finalize tests 2026-06-16 12:25:57 +02:00
aferrer ecc3cf1b55 refactor: rename recipients route to people, update all frontend references 2026-06-16 11:26:21 +02:00
aferrer d67f31cf54 refactor: rename Recipient to Person, remove username, add userId FK 2026-06-16 10:04:24 +02:00
aferrer befe1f3f82 fix(validation): replace deprecated Zod error flatten calls 2026-06-15 21:59:02 +02:00