Commit graph

40 commits

Author SHA1 Message Date
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
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
42bdae01cc
feat: implement pagination using Pagination value object
- Updated DataTableService to accept a Pagination object for pagination parameters.
- Refactored paginateQuery method to utilize pageSize and pageNumber from Pagination.

refactor: replace ActionExecutor with Executor in controller traits

- Updated ChangesModelOrder, TogglesModelStar, and TogglesModelStatus traits to use Executor interface instead of ActionExecutor.

feat: add PictureMetadata and Slug value objects

- Introduced PictureMetadata for managing image metadata with validation.
- Added Slug value object for slug generation and validation.

feat: update breadcrumbs to support RangeDto

- Modified breadcrumbs-bo.php to accept RangeDto in the edit route.

test: add tests for RangesController

- Added tests for accessing, creating, updating, and deleting ranges.
- Included tests for toggling range status.

test: add integration tests for range actions

- Created tests for CreateRange, DeleteRange, and UpdateRange actions.
- Validated input handling and database interactions.

test: add unit tests for range input classes

- Implemented tests for CreateRangeInput and UpdateRangeInput to validate input constraints.

test: add unit tests for value objects

- Added tests for PictureMetadata and Slug to ensure proper validation and instantiation.

test: add unit tests for RangeDto

- Created tests to verify RangeDto mapping from Range model.

test: add unit tests for RangePolicy

- Implemented tests for RangePolicy to validate permissions based on user roles.
2026-10-27 09:58:34 +01:00
Jérémy Munsch
98e580d327
refactor(tags): implement CRUD actions for tags
- Added CreateTag, UpdateTag, and DeleteTag actions.
- Introduced CreateTagInput and UpdateTagInput for input validation.
- Implemented ActionExecutor for executing actions with logging.
- Added tests for all new actions and input validation.
2026-10-27 09:58:30 +01:00
Jérémy Munsch
507078363b
sec(rate-limiting): secure clientIp resolution using trustProxies [AUD-SEC-008] 2026-10-27 09:58:24 +01:00
Jérémy Munsch
58af50b5c5
refactor: massive bump refactor 2026-10-27 09:58:12 +01:00
Alexis Gousseau
ae54ee559b fix: 🐛 use blade directives helper to prevent blade files from being cached #76 #77 2026-02-02 15:47:55 +01:00
noah.lancien
44f72a3259 Reminder mail 2023-07-10 15:09:06 +00:00
Alexis Gousseau
1f4455c950 quatrième retour 2022-10-21 10:35:34 +02:00
Alexis Gousseau
bdd86c0118 second retours 2022-10-14 15:03:46 +02:00
Olivier Legat
31003f9988
proper test before share to views 2022-09-12 14:26:42 +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
Olivier Legat
89fd1b8516 force https for all envs 2022-07-12 17:42:08 +02:00
Olivier Legat
f6dfd4135f utilisation du setting de display prix 2021-11-09 15:38:52 +01:00
Olivier Legat
0799267b6e Suppression du JS fontawesome en BO, mise à dispo dans public de webfonts pour usage back et front
Unités de ventes strictes (ENUM) et paramètre back office d'application
modification de la directive fmt_sellunit pour prise en compte du paramètre
Gestion en objet date de la date de livraison pour export commande
capacité de rotation daily des logs (pour LOG_CHANNEL=stackProd)
2021-07-26 14:09:29 +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
74dc46c1e5 improve app setup 2021-07-01 17:26:18 +02:00
Olivier Legat
4f09e2773f Orderable products 2021-06-07 16:12:13 +02:00
Olivier Legat
4071cfcdb8 directive de réduction d'affichage, sur paramètre de thème 2021-05-26 17:25:30 +02:00
Olivier Legat
ef8add10ce Gestion des tags 2021-05-07 10:44:23 +02:00
Olivier Legat
a705a153c7 BO Settings intrinsèques au thème 2021-05-06 17:18:25 +02:00
Olivier Legat
78305d8889 dynamic tags for front
fix no tag in product
fix no associated product
2021-05-05 17:25:49 +02:00
Olivier Legat
6184340476 correctifs pour généralisation des démarrages de projet boutique 2021-04-28 17:04:16 +02:00
Olivier Legat
3635e5f6c0 prix affichés TTC 2021-04-20 10:55:45 +02:00
Olivier Legat
fe6c72f1cb published_ranges vs unpublished 2021-04-20 10:15:22 +02:00
Olivier Legat
7563bbc06d pagination bootstrap pour le BO
(le front doit spécifier son blade de pagination)
2021-04-19 16:22:24 +02:00
Olivier Legat
620bb251b0 mise en avant - selection du moment 2021-04-08 18:05:17 +02:00
Olivier Legat
bce4c2f88c Offres Spéciales :
commit 2bdbfaec541c3d51489f32e0fa6f7523ca4e4f6f
Author: Olivier Legat <olivier.legat@ldc.fr>
Date:   Thu Apr 8 15:48:13 2021 +0200

    arrondis de taxe dans le panier

commit ce748bcac15a0b633cacc06b8232cbb92a8e455c
Author: Olivier Legat <olivier.legat@ldc.fr>
Date:   Thu Apr 8 11:53:54 2021 +0200

    Prix calcules - affichés

commit cc79e7c633d81290371eceabe9864d4d0ee9e4a5
Author: Olivier Legat <olivier.legat@ldc.fr>
Date:   Wed Apr 7 18:09:12 2021 +0200

    Affichage des promowork in progress => prix remisés

commit 8545d1079da2456f090557eeef005e4d37154a1e
Author: Olivier Legat <olivier.legat@ldc.fr>
Date:   Wed Apr 7 13:04:28 2021 +0200

    resource BO Promotions

commit d7145835de675da32e57bec3f0b8f06e1e447b27
Author: Olivier Legat <olivier.legat@ldc.fr>
Date:   Tue Apr 6 18:23:36 2021 +0200

    structure DB, debut BO
2021-04-08 15:49:20 +02:00
Olivier Legat
9d84ae1692 panier phase 1 2021-03-25 15:48:07 +01:00
Olivier Legat
82c1db60ce panier fonctionnement basique 2021-03-24 17:58:27 +01:00
Olivier Legat
755242160a début composition 2021-03-23 17:47:05 +01:00
Olivier Legat
149a9aebe7 https for dev and prod asssets 2021-03-23 10:23:05 +01:00
Olivier Legat
26842af7f6 produits - normalisation 2021-03-18 08:40:20 +01:00
Olivier Legat
5b3575e5c6 refactoring convetion de nommage modeles 2021-03-17 09:28:02 +01:00
Olivier Legat
1adee3f328 products amelios 2021-03-16 17:48:35 +01:00
Olivier Legat
d4fba24e4a Bladification Boutique Canard
Breadcrumb (diglactic/laravel-breadcrumbs)
Gammes en AppService
Formattage Prix dans le model Products
route pour page : tous les produits
2021-03-15 17:44:35 +01:00
Olivier Legat
421fe33763 make themable
execute php artisan migrate to get theme_settings table
new commande available = create:theme-settings {theme_name?} Initialise les settings pour un nouveau theme
positionnement des blades dans un dossier défini par la nouvelle variable d'environnement APP_THEME (default : basic)
positionnement des ressources js et sass dans le dossier des blades du theme (pour mettre toute l'arboresence necessaire au thème sous une seule racine gitable)
2021-03-05 11:37:13 +01:00
Vincent BRIDIER
2d868f2d8b init 2020-10-30 17:26:00 +01:00