Commit graph

52 commits

Author SHA1 Message Date
Jérémy Munsch
f84a1a7b8c
fix(orders): preserve pagination and query parameters in IndexOrdersRequest 2026-10-27 09:58:46 +01:00
Jérémy Munsch
8b96ce90be
test(casts): add tests for EmployeeSitesCast functionality
test(casts): add tests for ShopperEstablishmentCodeCast functionality

test(casts): add tests for ShopperServiceCodeCast functionality

test(casts): add tests for ShopperSiteCodeCast functionality

test(dto): update ProductDtoTest to include additional fields

test(dto): update SettingDtoTest to remove arcadiaSites assertions

test(events): update AnOrderHasBeenPlacedTest to use value objects

test(entities): update OrderTest to use value objects for employee details

test(value-objects): update EmployeeUpsertDataTest to use value objects

test(pagination): update PaginationTest to access value properties

test(services): update AppCustomerAuthServiceTest to use CrmHashcode

test(services): update CrmServiceTest to use CrmHashcode for customer retrieval
2026-10-27 09:58:45 +01:00
Jérémy Munsch
3b3997d547
feat(employees): automated sync with Arcadia API, BO settings, Shopper value objects, and pagination migration
- Implement automated synchronization of employees via Arcadia API (EmployeeSyncService, SynchronizeEmployeesWithArcadiaApi, FetchAndUpsertArcadiaEmployees)
- Add Back-Office application settings for employee sites (Setting singleton, GetSettingsQuery, UpdateSettings, SettingsController, EmployeeSitesInputComponent.vue)
- Strongly type Employee attributes using Domain Value Objects (ShopperEstablishmentCode, ShopperSiteCode, ShopperServiceCode) and Eloquent Casts
- Migrate pagination from Domain to Shared\Pagination namespace across queries and inputs
- Remove legacy and dead CSV employee import/export code
- Restore Domain\Ports\Services\CsvGenerator interface for Regate order generation
- Add comprehensive Pest unit, integration, and feature test coverage
2026-10-27 09:58:44 +01:00
Jérémy Munsch
9ebf712170
refactor(cqs): complete Fo/PageController, BO FormRequest input mappings, and decouple Directories 2026-10-27 09:58:44 +01:00
Jérémy Munsch
aad9586ca9
refactor(tunnel): migrate Fo\TunnelController to CQS pattern 2026-10-27 09:58:43 +01:00
Jérémy Munsch
35feddfb3d
refactor(dashboard): migrate Bo\DashboardController to CQS pattern 2026-10-27 09:58:43 +01:00
Jérémy Munsch
d912d4b096
refactor(orders): migrate Bo\OrdersController and Fo\OrderController to CQS pattern 2026-10-27 09:58:43 +01:00
Jérémy Munsch
2ae317aad6
refactor(employees): migrate Bo EmployeesController to CQS pattern
- Add ImportEmployees Action and ImportEmployeesInput
- Add GetEmployeeImportColumnsQuery
- Encapsulate toImportEmployeesInput in ImportRequest
- Use Executor in Bo\EmployeesController
- Add feature tests for Bo\EmployeesController
2026-10-27 09:58:42 +01:00
Jérémy Munsch
70600ea623
refactor(products): migrate BO and FO ProductsControllers to CQS pattern
- Refactor Bo\ProductsController to use ActionExecutor and Queries
- Refactor Fo\Pages\ProductsController and Fo\Ajax\ProductsController to CQS
- Add Actions: CreateProduct, UpdateProduct, DeleteProduct with Inputs
- Add Queries: GetBoPaginatedProductsQuery, GetProductFormDataQuery, GetFoProductIndexPageQuery, GetFoFilteredProductsQuery
- Add DTOs: ProductFormDataDto and enrich ProductDto
- Encapsulate Action/Query inputs conversion in FormRequests
- Remove obsolete ProductDirectory and EloquentProductDirectory
- Add tests for Fo\Ajax\ProductsController
2026-10-27 09:58:42 +01:00
Jérémy Munsch
9aab392350
feat(bo): refactor ProductIncosController to strict CQS with actions, DTOs, and request mapping 2026-10-27 09:58:41 +01:00
Jérémy Munsch
55ae6553d8
refactor(bo): refactor DiscountsController to strict CQS pattern with actions, queries and DTOs 2026-10-27 09:58:40 +01:00
Jérémy Munsch
f79f1e1494
fix(bo): enforce order deadline before replacement date in request and action input 2026-10-27 09:58:40 +01:00
Jérémy Munsch
85dc683ed9
fix(bo): fix pickup-exceptions validation regression and cryptic error messages 2026-10-27 09:58:39 +01:00
Jérémy Munsch
26992f52ff
feat(bo): refactor PickupExceptionsController to strict CQS with actions, queries, and DTOs 2026-10-27 09:58:39 +01:00
Jérémy Munsch
9f1b4242b9
refactor(bo): encapsulate pickup exception filter in IndexShopRequest, align VOs and DTOs 2026-10-27 09:58:39 +01:00
Jérémy Munsch
46b5413f07
feat(basket): implement add, remove, and empty basket actions
This commit introduces new actions for adding, removing, and emptying items in the basket, along with their corresponding input classes. It also updates the BasketController to utilize these new actions, enhancing the basket management functionality.
2026-10-27 09:58:35 +01:00
Jérémy Munsch
b36d070db1
feat(crm): implement customer password update functionality
Adds the ability for customers to update their passwords through a new action and input/output classes.
2026-10-27 09:58:35 +01:00
Jérémy Munsch
5037154108
feat(crm): implement customer update functionality
Adds UpdateCustomer action, input, and output classes to handle customer information updates.
Integrates with existing services and updates the CustomerController to utilize the new action.
2026-10-27 09:58:34 +01:00
Jérémy Munsch
2aa4fa8aed
feat(crm): implement unsubscribe from newsletter functionality
- Added UnsubscribeFromNewsletter action and input/output classes.
- Introduced CrmHashcode value object and its cast.
- Updated NewsletterController to use the new unsubscribe action.
- Enhanced validation in UnsubscribeNewsletterRequest.
2026-10-27 09:58:34 +01:00
Jérémy Munsch
3ac95cc6f8
refactor(common): implement generic actions for controller traits (order, status, star) 2026-10-27 09:58:32 +01:00
Jérémy Munsch
a1ad396a0e
fix(types): resolve phpstan typing issues in ContactFormRequest and Basket entity 2026-10-27 09:58:28 +01:00
Jérémy Munsch
4676d3de67
sec(contact): persist contact form attachments to private disk before queued mail [AUD-SEC-005] 2026-10-27 09:58:25 +01:00
Jérémy Munsch
d8d745dba9
fix(pickup-exceptions): set default repeat_frequency to WEEKLY
Ensure repeat_frequency is set to WEEKLY when repeatable is false.
2026-10-27 09:58:21 +01:00
Jérémy Munsch
b66fc01013
fix(pickup-exceptions): update repeat_frequency validation rules
Make 'repeat_frequency' nullable and conditionally required based on 'repeatable' status.
2026-10-27 09:58:20 +01:00
Jérémy Munsch
58af50b5c5
refactor: massive bump refactor 2026-10-27 09:58:12 +01:00
Jérémy Munsch
10d4e9f08b
fix: change product order 2026-10-07 10:31:32 +02:00
Noah Lancien
f9e0448fb6 feat: re-order products with a select system like support-web - #94 2026-02-25 11:05:59 +01:00
Vincent BRIDIER
e7baad6c14
feat: Authorize all BO roles for user import - ts-2165 2024-11-28 08:33:54 +01:00
Jérémy Munsch
3a3d993d7c
feat: ✨ Closes #46
Add orders filter with: a search bar, date filters
2024-05-15 16:58:17 +02:00
Jérémy Munsch
f15e722588
VAlidate salarie import 2024-04-22 10:37:22 +02:00
Jérémy Munsch
f7dbd18583
rewrite salarie import 2024-04-22 10:00:22 +02:00
noah.lancien
995e1f9eb5 Issue 19 - Add dashboard stats 2023-08-30 08:03:04 +00:00
Alexis Gousseau
b77cd6620b update password validation - issue #2 2023-08-03 09:15:22 +00:00
Alexis Gousseau
3ac56d148b add unique validation on customers email - issue #3 2023-07-28 14:14:06 +02:00
Alexis Gousseau
2a1baea6c6 update import + add export on salarie table - issue #7 2023-07-28 07:25:36 +00:00
Alexis Gousseau
591079f264 add order on products table - issue #21 2023-07-26 09:56:16 +02:00
Olivier Legat
cd3f3e8bd3 fix boolean store and update after upgrading to validation request. also remove min 3 for servings field 2023-04-04 17:26:10 +02:00
Alexis Gousseau
006a29736c ts-1437 - #5 - update validation product 2023-03-30 15:44:50 +02:00
Olivier Legat
07cbaa582a
update changepassword method for crmclient version 2022-10-24 13:44:04 +02:00
Alexis Gousseau
5810db9111 ranges page 2022-10-05 16:41:09 +02:00
Olivier Legat
adb0789c57
sniffing and linting - NO refactoring 2022-09-08 13:02:16 +02:00
Olivier Legat
15e081c943
first auotmated clean 2022-09-08 11:29:39 +02:00
Jérémy Munsch
2b9d3d08ea
CRM V3 Migration
- require slevomat/coding-standard
- require ldc/ldccrmv2client
- update phpcs xml
2022-04-14 16:38:47 +02:00
Olivier Legat
0adb0e13b9 validation request for products resource 2022-03-13 13:10:26 +01:00
Olivier Legat
3ef393878f message pour la case requise dans le formulaire de contact 2021-07-27 15:49:53 +02:00
Olivier Legat
8daecbd373 laison salarie/customer à l'inscription 2021-07-21 15:03:37 +02:00
Olivier Legat
b16c0e9128 adding kwaadpepper enums
adding register mode setting
providing app db settings in config()
validating requirement/optionnality of registration field upon defined register mode
2021-07-21 12:57:50 +02:00
Olivier Legat
c5ee8af6ef tri de la liste des commandes
commande à retirer aujourd'hui
2021-04-28 11:49:44 +02:00
Olivier Legat
8004f88730 infos compte customer 2021-04-13 13:50:25 +02:00
Olivier Legat
a2d6d0f6f1 contactez nous 2021-04-06 12:56:54 +02:00