diff --git a/docker-compose.override.yml b/docker-compose.override.yml index e7df768..3dfebc1 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -8,7 +8,6 @@ services: target: app_php_dev volumes: - ./:/srv/app - - storage:/srv/app/public/storage - ./docker/php/conf.d/app.dev.ini:/usr/local/etc/php/conf.d/app.dev.ini:ro # If you develop on Mac or Windows you can remove the vendor/ directory # from the bind-mount for better performance by enabling the next line: @@ -24,7 +23,6 @@ services: caddy: volumes: - ./public:/srv/app/public:ro - - storage:/srv/app/public/storage - ./docker/caddy/Caddyfile:/etc/caddy/Caddyfile:ro maildev: diff --git a/fixtures/test/category.yaml b/fixtures/test/category.yaml index 40949da..f2eccb1 100644 --- a/fixtures/test/category.yaml +++ b/fixtures/test/category.yaml @@ -26,6 +26,7 @@ App\Entity\Category: category_service_4_0 (extends category_object): parent: '@category_object_4' name: Guitare + image: 'de945081-21b6-46c2-864d-db6ed6b43311.png' category_object_5 (extends category_object): name: Entretien de la maison @@ -35,6 +36,7 @@ App\Entity\Category: category_object_7 (extends category_object): name: Images & son + image: 'd1fdbb3f-a5ca-4019-b488-fe6d8b06a4d3.png' category_object_8 (extends category_object): name: Informatique - téléphonie consoles et jeux vidéos @@ -44,12 +46,13 @@ App\Entity\Category: category_object_10 (extends category_object): name: Livres - + image: '87c1aa88-1937-4a71-b4d9-325086783193.png' category_object_11 (extends category_object): name: Loisirs divers category_object_12 (extends category_object): name: Matériel de sports + image: '04f41100-e963-4f33-8aaf-f1c774e0d42f.png' category_object_13 (extends category_object): name: Matériel de vacances et weekend diff --git a/fixtures/test/product.yaml b/fixtures/test/product.yaml index 3a0fc0a..c1f6de9 100644 --- a/fixtures/test/product.yaml +++ b/fixtures/test/product.yaml @@ -43,7 +43,8 @@ App\Entity\Product: name: Guitare électrique description: > Guitare en bon état. - age: 2010 + age: 2010 + images: ["d51c66ad-9e02-4fa9-8f37-5c84d928226e.jpg"] loic_service_1 (extends service): id: @@ -53,7 +54,8 @@ App\Entity\Product: description: > Initiation aux échecs pour débutants (1 heure). duration: > - Une ou deux heures si besoin. + Une ou deux heures si besoin. + images: ["e2140911-4689-47df-a9cd-f87cef342cdd.jpg"] # Kevin ——————————————————————————————————————————————————————————————————— kevin_object_1 (extends object): @@ -64,6 +66,7 @@ App\Entity\Product: description: > Très bien pour les déménagements, même proches. age: Acheté en 2012. + images: ["d4a5f2fb-57bb-4e6a-95eb-0614e8f62d45.jpg"] kevin_object_2 (extends object): owner: '@admin_kevin' @@ -72,6 +75,7 @@ App\Entity\Product: description: > Très bien pour percer des trous dans la maison. age: Acheté en 2015. + images: ["d75f07b1-52cb-4e39-929d-9da35e722627.jpg"] # Camille ————————————————————————————————————————————————————————————————————— camille_object_1 (extends object): @@ -109,6 +113,7 @@ App\Entity\Product: Pour transporter son enfant ou son chat. age: 2022 deposit: 5000 + images: ["335dbbc1-3660-4f82-a529-fe79eb1a9a87.jpg"] # user 16 ————————————————————————————————————————————————————————————————————— user_16_service_1 (extends service): @@ -129,6 +134,7 @@ App\Entity\Product: Très belle guitare électrique en bon état. age: 2013 deposit: 2000 + images: ["e5889470-abfd-432c-aa96-0838608b936a.jpg"] user_16_object_2 (extends object): owner: '@user_16' @@ -136,7 +142,8 @@ App\Entity\Product: name: Piano description: > Piano en bon état. - age: 2010 + age: 2010 + images: ["f3fa0285-2b3c-4235-a618-9092ee55cae4.jpg"] # place apes ————————————————————————————————————————————————————————————————————— place_apes_service_1 (extends service): @@ -163,7 +170,8 @@ App\Entity\Product: description: > Cours de rattrapage en histoire, aide aux devoirs, remise à niveau. duration: > - Une journée. + Une journée. + images: ["c594de44-8999-46ed-89f0-6688c7d7c087.jpg"] # Place 6 ——————————————————————————————————————————————————————————————————— place_6_object_1 (extends object): @@ -175,6 +183,7 @@ App\Entity\Product: duration: Une journée. age: De 2 à 10 ans deposit: 0 + images: ["434a9bb7-c140-4776-93e8-b8d018cd28f0.jpg"] place_6_object_2 (extends object): id: diff --git a/fixtures/test/user.yaml b/fixtures/test/user.yaml index e4be09c..5fc4cc2 100644 --- a/fixtures/test/user.yaml +++ b/fixtures/test/user.yaml @@ -25,6 +25,7 @@ App\Entity\User: lastname: 'Croteau' mainAdminAccount: true address: '@address_camille' + avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg' admin_loic (extends admin_template): id: @@ -33,12 +34,14 @@ App\Entity\User: lastname: 'Duclos' devAccount: true address: '@address_loic' + avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg' admin_kevin (extends admin_template): id: email: 'kevin@example.com' firstname: 'Kevin' lastname: 'Pirouet' + avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg' admin_apes (extends admin_template): id: @@ -55,6 +58,7 @@ App\Entity\User: devAccount: true address: '@address_region_hauts_de_france' category: '@category_object_16' + avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg' # —— Places ———————————————————————————————————————————————————————————————— place_{6} (extends place_template): @@ -156,7 +160,7 @@ App\Entity\User: firstname: lastname: address: null - avatar: 'ba827ea0-b140-4cbf-9786-77ac980c648c.jpg' + avatar: 'a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg' # user with an address and a preferred category set user_{17} (extends user_template): @@ -173,3 +177,4 @@ App\Entity\User: email: 'john.doe@example.com' firstname: 'John' lastname: 'Doe' + avatar: '7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg' diff --git a/public/storage/uploads/category/04f41100-e963-4f33-8aaf-f1c774e0d42f.png b/public/storage/uploads/category/04f41100-e963-4f33-8aaf-f1c774e0d42f.png new file mode 100644 index 0000000..78f109f Binary files /dev/null and b/public/storage/uploads/category/04f41100-e963-4f33-8aaf-f1c774e0d42f.png differ diff --git a/public/storage/uploads/category/87c1aa88-1937-4a71-b4d9-325086783193.png b/public/storage/uploads/category/87c1aa88-1937-4a71-b4d9-325086783193.png new file mode 100644 index 0000000..f61c65a Binary files /dev/null and b/public/storage/uploads/category/87c1aa88-1937-4a71-b4d9-325086783193.png differ diff --git a/public/storage/uploads/category/d1fdbb3f-a5ca-4019-b488-fe6d8b06a4d3.png b/public/storage/uploads/category/d1fdbb3f-a5ca-4019-b488-fe6d8b06a4d3.png new file mode 100644 index 0000000..e784004 Binary files /dev/null and b/public/storage/uploads/category/d1fdbb3f-a5ca-4019-b488-fe6d8b06a4d3.png differ diff --git a/public/storage/uploads/category/de945081-21b6-46c2-864d-db6ed6b43311.png b/public/storage/uploads/category/de945081-21b6-46c2-864d-db6ed6b43311.png new file mode 100644 index 0000000..e15ba3c Binary files /dev/null and b/public/storage/uploads/category/de945081-21b6-46c2-864d-db6ed6b43311.png differ diff --git a/public/storage/uploads/product/335dbbc1-3660-4f82-a529-fe79eb1a9a87.jpg b/public/storage/uploads/product/335dbbc1-3660-4f82-a529-fe79eb1a9a87.jpg new file mode 100644 index 0000000..b98ed85 Binary files /dev/null and b/public/storage/uploads/product/335dbbc1-3660-4f82-a529-fe79eb1a9a87.jpg differ diff --git a/public/storage/uploads/product/434a9bb7-c140-4776-93e8-b8d018cd28f0.jpg b/public/storage/uploads/product/434a9bb7-c140-4776-93e8-b8d018cd28f0.jpg new file mode 100644 index 0000000..bc0d6d0 Binary files /dev/null and b/public/storage/uploads/product/434a9bb7-c140-4776-93e8-b8d018cd28f0.jpg differ diff --git a/public/storage/uploads/product/4437be7d-ce40-43f0-99b4-4adddcc3316f.jpg b/public/storage/uploads/product/4437be7d-ce40-43f0-99b4-4adddcc3316f.jpg new file mode 100644 index 0000000..66352e6 Binary files /dev/null and b/public/storage/uploads/product/4437be7d-ce40-43f0-99b4-4adddcc3316f.jpg differ diff --git a/public/storage/uploads/product/c594de44-8999-46ed-89f0-6688c7d7c087.jpg b/public/storage/uploads/product/c594de44-8999-46ed-89f0-6688c7d7c087.jpg new file mode 100644 index 0000000..739dea4 Binary files /dev/null and b/public/storage/uploads/product/c594de44-8999-46ed-89f0-6688c7d7c087.jpg differ diff --git a/public/storage/uploads/product/d4a5f2fb-57bb-4e6a-95eb-0614e8f62d45.jpg b/public/storage/uploads/product/d4a5f2fb-57bb-4e6a-95eb-0614e8f62d45.jpg new file mode 100644 index 0000000..f68960f Binary files /dev/null and b/public/storage/uploads/product/d4a5f2fb-57bb-4e6a-95eb-0614e8f62d45.jpg differ diff --git a/public/storage/uploads/product/d51c66ad-9e02-4fa9-8f37-5c84d928226e.jpg b/public/storage/uploads/product/d51c66ad-9e02-4fa9-8f37-5c84d928226e.jpg new file mode 100755 index 0000000..d2b18b7 Binary files /dev/null and b/public/storage/uploads/product/d51c66ad-9e02-4fa9-8f37-5c84d928226e.jpg differ diff --git a/public/storage/uploads/product/d75f07b1-52cb-4e39-929d-9da35e722627.jpg b/public/storage/uploads/product/d75f07b1-52cb-4e39-929d-9da35e722627.jpg new file mode 100644 index 0000000..da39269 Binary files /dev/null and b/public/storage/uploads/product/d75f07b1-52cb-4e39-929d-9da35e722627.jpg differ diff --git a/public/storage/uploads/product/e2140911-4689-47df-a9cd-f87cef342cdd.jpg b/public/storage/uploads/product/e2140911-4689-47df-a9cd-f87cef342cdd.jpg new file mode 100644 index 0000000..0299591 Binary files /dev/null and b/public/storage/uploads/product/e2140911-4689-47df-a9cd-f87cef342cdd.jpg differ diff --git a/public/storage/uploads/product/e5889470-abfd-432c-aa96-0838608b936a.jpg b/public/storage/uploads/product/e5889470-abfd-432c-aa96-0838608b936a.jpg new file mode 100644 index 0000000..204ff8c Binary files /dev/null and b/public/storage/uploads/product/e5889470-abfd-432c-aa96-0838608b936a.jpg differ diff --git a/public/storage/uploads/product/f3fa0285-2b3c-4235-a618-9092ee55cae4.jpg b/public/storage/uploads/product/f3fa0285-2b3c-4235-a618-9092ee55cae4.jpg new file mode 100644 index 0000000..792de58 Binary files /dev/null and b/public/storage/uploads/product/f3fa0285-2b3c-4235-a618-9092ee55cae4.jpg differ diff --git a/public/storage/uploads/user/7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg b/public/storage/uploads/user/7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg new file mode 100644 index 0000000..93482e7 Binary files /dev/null and b/public/storage/uploads/user/7c732ddb-9c13-45eb-aea0-e614f2340e6d.jpg differ diff --git a/public/storage/uploads/user/a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg b/public/storage/uploads/user/a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg new file mode 100644 index 0000000..c449c95 Binary files /dev/null and b/public/storage/uploads/user/a9a9bf49-24e4-4b3e-bdbd-86808c32939e.jpg differ diff --git a/src/Controller/Admin/ServiceCrudController.php b/src/Controller/Admin/ServiceCrudController.php index 63754c2..bccc265 100644 --- a/src/Controller/Admin/ServiceCrudController.php +++ b/src/Controller/Admin/ServiceCrudController.php @@ -10,6 +10,7 @@ use App\Enum\Product\ProductType; use App\Enum\Product\ProductVisibility; use EasyCorp\Bundle\EasyAdminBundle\Config\Crud; use EasyCorp\Bundle\EasyAdminBundle\Field\ChoiceField; +use EasyCorp\Bundle\EasyAdminBundle\Field\ImageField; /** * Specific page for services. @@ -53,15 +54,19 @@ final class ServiceCrudController extends AbstractProductCrudController 'nameField' => $nameField, 'descriptionField' => $descriptionField, 'durationField' => $durationField, + 'imageField' => $imageField, 'createdAt' => $createdAt, 'updatedAt' => $updatedAt, ] = $this->getFields($pageName); // list if ($pageName === Crud::PAGE_INDEX) { - return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $createdAt]; + return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $imageField, $createdAt]; } + /** @var ImageField $imageField */ + $imageField->setCustomOption('first_image_only', false); + // forms if ($pageName === Crud::PAGE_NEW || $pageName === Crud::PAGE_EDIT) { /** @var ChoiceField $statusField */ @@ -69,7 +74,7 @@ final class ServiceCrudController extends AbstractProductCrudController /** @var ChoiceField $visibilityField */ $visibilityField->setChoices(ProductVisibility::cases()); - return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $descriptionField, $durationField]; + return [$nameField, $ownerField, $categoryField, $statusField, $visibilityField, $descriptionField, $imageField, $durationField]; } // detail @@ -83,7 +88,7 @@ final class ServiceCrudController extends AbstractProductCrudController $nameField, $descriptionField, $durationField, - + $imageField, $panels['tech_information'], $idField, $typeField,