diff --git a/composer.lock b/composer.lock
index d8184ac..c0e03e7 100644
--- a/composer.lock
+++ b/composer.lock
@@ -2645,16 +2645,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.7.0",
+ "version": "3.8.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8"
+ "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8",
- "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/32e515fdc02cdafbe4593e30a9350d486b125b67",
+ "reference": "32e515fdc02cdafbe4593e30a9350d486b125b67",
"shasum": ""
},
"require": {
@@ -2674,12 +2674,14 @@
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
"php-amqplib/php-amqplib": "~2.4 || ^3",
- "phpstan/phpstan": "^1.9",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^10.5.17",
+ "php-console/php-console": "^3.1.8",
+ "phpstan/phpstan": "^2",
+ "phpstan/phpstan-deprecation-rules": "^2",
+ "phpstan/phpstan-strict-rules": "^2",
+ "phpunit/phpunit": "^10.5.17 || ^11.0.7",
"predis/predis": "^1.1 || ^2",
- "ruflin/elastica": "^7",
+ "rollbar/rollbar": "^4.0",
+ "ruflin/elastica": "^7 || ^8",
"symfony/mailer": "^5.4 || ^6",
"symfony/mime": "^5.4 || ^6"
},
@@ -2730,7 +2732,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.7.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.8.0"
},
"funding": [
{
@@ -2742,7 +2744,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-28T09:40:51+00:00"
+ "time": "2024-11-12T13:57:08+00:00"
},
{
"name": "phpdocumentor/reflection-common",
@@ -2799,16 +2801,16 @@
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "5.4.1",
+ "version": "5.6.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c"
+ "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
- "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f3558a4c23426d12bffeaab463f8a8d8b681193c",
+ "reference": "f3558a4c23426d12bffeaab463f8a8d8b681193c",
"shasum": ""
},
"require": {
@@ -2817,17 +2819,17 @@
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.2",
"phpdocumentor/type-resolver": "^1.7",
- "phpstan/phpdoc-parser": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7|^2.0",
"webmozart/assert": "^1.9.1"
},
"require-dev": {
- "mockery/mockery": "~1.3.5",
+ "mockery/mockery": "~1.3.5 || ~1.6.0",
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-mockery": "^1.1",
"phpstan/phpstan-webmozart-assert": "^1.2",
"phpunit/phpunit": "^9.5",
- "vimeo/psalm": "^5.13"
+ "psalm/phar": "^5.26"
},
"type": "library",
"extra": {
@@ -2857,29 +2859,29 @@
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"support": {
"issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1"
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.0"
},
- "time": "2024-05-21T05:55:05+00:00"
+ "time": "2024-11-12T11:25:25+00:00"
},
{
"name": "phpdocumentor/type-resolver",
- "version": "1.8.2",
+ "version": "1.10.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c"
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c",
- "reference": "153ae662783729388a584b4361f2545e4d841e3c",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
"shasum": ""
},
"require": {
"doctrine/deprecations": "^1.0",
"php": "^7.3 || ^8.0",
"phpdocumentor/reflection-common": "^2.0",
- "phpstan/phpdoc-parser": "^1.13"
+ "phpstan/phpdoc-parser": "^1.18|^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
@@ -2915,9 +2917,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
},
- "time": "2024-02-23T11:10:43+00:00"
+ "time": "2024-11-09T15:12:26+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -3396,16 +3398,16 @@
},
{
"name": "symfony/asset-mapper",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/asset-mapper.git",
- "reference": "f918f7e4cb2f4c1f29cc43f986473ddb2392a445"
+ "reference": "bd09ac29c8553e39832f6100a8365240c1c697a6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/f918f7e4cb2f4c1f29cc43f986473ddb2392a445",
- "reference": "f918f7e4cb2f4c1f29cc43f986473ddb2392a445",
+ "url": "https://api.github.com/repos/symfony/asset-mapper/zipball/bd09ac29c8553e39832f6100a8365240c1c697a6",
+ "reference": "bd09ac29c8553e39832f6100a8365240c1c697a6",
"shasum": ""
},
"require": {
@@ -3455,7 +3457,7 @@
"description": "Maps directories of assets & makes them available in a public directory with versioned filenames.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/asset-mapper/tree/v7.1.6"
+ "source": "https://github.com/symfony/asset-mapper/tree/v7.1.8"
},
"funding": [
{
@@ -3471,20 +3473,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/cache",
- "version": "v7.1.6",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "567ef6de47fdcba56eb6c0b344b857d1fce1cce0"
+ "reference": "23b61c9592ee72233c31625f0ae805dd1571e928"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/567ef6de47fdcba56eb6c0b344b857d1fce1cce0",
- "reference": "567ef6de47fdcba56eb6c0b344b857d1fce1cce0",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/23b61c9592ee72233c31625f0ae805dd1571e928",
+ "reference": "23b61c9592ee72233c31625f0ae805dd1571e928",
"shasum": ""
},
"require": {
@@ -3552,7 +3554,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.1.6"
+ "source": "https://github.com/symfony/cache/tree/v7.1.7"
},
"funding": [
{
@@ -3568,7 +3570,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:39:55+00:00"
+ "time": "2024-11-05T15:34:55+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -3722,16 +3724,16 @@
},
{
"name": "symfony/config",
- "version": "v7.1.6",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "5c6152766251ff45a44b76affadd5287e253fb27"
+ "reference": "dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/5c6152766251ff45a44b76affadd5287e253fb27",
- "reference": "5c6152766251ff45a44b76affadd5287e253fb27",
+ "url": "https://api.github.com/repos/symfony/config/zipball/dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8",
+ "reference": "dc373a5cbd345354696f5dfd39c5c7a8ea23f4c8",
"shasum": ""
},
"require": {
@@ -3777,7 +3779,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.1.6"
+ "source": "https://github.com/symfony/config/tree/v7.1.7"
},
"funding": [
{
@@ -3793,20 +3795,20 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2024-11-04T11:34:07+00:00"
},
{
"name": "symfony/console",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "bb5192af6edc797cbab5c8e8ecfea2fe5f421e57"
+ "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/bb5192af6edc797cbab5c8e8ecfea2fe5f421e57",
- "reference": "bb5192af6edc797cbab5c8e8ecfea2fe5f421e57",
+ "url": "https://api.github.com/repos/symfony/console/zipball/ff04e5b5ba043d2badfb308197b9e6b42883fcd5",
+ "reference": "ff04e5b5ba043d2badfb308197b9e6b42883fcd5",
"shasum": ""
},
"require": {
@@ -3870,7 +3872,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.1.6"
+ "source": "https://github.com/symfony/console/tree/v7.1.8"
},
"funding": [
{
@@ -3886,20 +3888,20 @@
"type": "tidelift"
}
],
- "time": "2024-10-09T08:46:59+00:00"
+ "time": "2024-11-06T14:23:19+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd"
+ "reference": "e4d13f0f394f4d02a041ff76acd31c5a20a5f70b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd",
- "reference": "1f12f9d580ef8dd09e3b756aa111cc2d5f311bfd",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e4d13f0f394f4d02a041ff76acd31c5a20a5f70b",
+ "reference": "e4d13f0f394f4d02a041ff76acd31c5a20a5f70b",
"shasum": ""
},
"require": {
@@ -3950,7 +3952,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.1.6"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.1.8"
},
"funding": [
{
@@ -3966,7 +3968,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4291,16 +4293,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v7.1.6",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "d60117093c2a9fe667baa8fedf84e8a09b9c592f"
+ "reference": "010e44661f4c6babaf8c4862fe68c24a53903342"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/d60117093c2a9fe667baa8fedf84e8a09b9c592f",
- "reference": "d60117093c2a9fe667baa8fedf84e8a09b9c592f",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/010e44661f4c6babaf8c4862fe68c24a53903342",
+ "reference": "010e44661f4c6babaf8c4862fe68c24a53903342",
"shasum": ""
},
"require": {
@@ -4346,7 +4348,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v7.1.6"
+ "source": "https://github.com/symfony/error-handler/tree/v7.1.7"
},
"funding": [
{
@@ -4362,7 +4364,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-05T15:34:55+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -5029,16 +5031,16 @@
},
{
"name": "symfony/http-client",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "274e2f6886b43a36f8bd5dfeb67215f7ebf9e291"
+ "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/274e2f6886b43a36f8bd5dfeb67215f7ebf9e291",
- "reference": "274e2f6886b43a36f8bd5dfeb67215f7ebf9e291",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a",
+ "reference": "c30d91a1deac0dc3ed5e604683cf2e1dfc635b8a",
"shasum": ""
},
"require": {
@@ -5103,7 +5105,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v7.1.6"
+ "source": "https://github.com/symfony/http-client/tree/v7.1.8"
},
"funding": [
{
@@ -5119,7 +5121,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-22T09:40:50+00:00"
+ "time": "2024-11-13T13:40:27+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -5201,16 +5203,16 @@
},
{
"name": "symfony/http-foundation",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "3d7bbf071b25f802f7d55524d408bed414ea71e2"
+ "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/3d7bbf071b25f802f7d55524d408bed414ea71e2",
- "reference": "3d7bbf071b25f802f7d55524d408bed414ea71e2",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f4419ec69ccfc3f725a4de7c20e4e57626d10112",
+ "reference": "f4419ec69ccfc3f725a4de7c20e4e57626d10112",
"shasum": ""
},
"require": {
@@ -5220,12 +5222,12 @@
},
"conflict": {
"doctrine/dbal": "<3.6",
- "symfony/cache": "<6.4"
+ "symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
"doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4|^7.0",
+ "symfony/cache": "^6.4.12|^7.1.5",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/expression-language": "^6.4|^7.0",
"symfony/http-kernel": "^6.4|^7.0",
@@ -5258,7 +5260,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.1.6"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.1.8"
},
"funding": [
{
@@ -5274,20 +5276,20 @@
"type": "tidelift"
}
],
- "time": "2024-10-11T19:23:14+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "5d8315899cd76b2e7e29179bf5fea103e41bdf03"
+ "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5d8315899cd76b2e7e29179bf5fea103e41bdf03",
- "reference": "5d8315899cd76b2e7e29179bf5fea103e41bdf03",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/33fef24e3dc79d6d30bf4936531f2f4bd2ca189e",
+ "reference": "33fef24e3dc79d6d30bf4936531f2f4bd2ca189e",
"shasum": ""
},
"require": {
@@ -5372,7 +5374,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v7.1.6"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.1.8"
},
"funding": [
{
@@ -5388,20 +5390,20 @@
"type": "tidelift"
}
],
- "time": "2024-10-27T13:54:21+00:00"
+ "time": "2024-11-13T14:25:32+00:00"
},
{
"name": "symfony/intl",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/intl.git",
- "reference": "c65630cc9c22acd9b511a87a3f4734e48e500932"
+ "reference": "e56b243fc0afa5a12bd11dace4002ada5a7d99f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/intl/zipball/c65630cc9c22acd9b511a87a3f4734e48e500932",
- "reference": "c65630cc9c22acd9b511a87a3f4734e48e500932",
+ "url": "https://api.github.com/repos/symfony/intl/zipball/e56b243fc0afa5a12bd11dace4002ada5a7d99f8",
+ "reference": "e56b243fc0afa5a12bd11dace4002ada5a7d99f8",
"shasum": ""
},
"require": {
@@ -5458,7 +5460,7 @@
"localization"
],
"support": {
- "source": "https://github.com/symfony/intl/tree/v7.1.6"
+ "source": "https://github.com/symfony/intl/tree/v7.1.8"
},
"funding": [
{
@@ -5474,7 +5476,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-09T08:46:59+00:00"
+ "time": "2024-11-08T15:46:42+00:00"
},
{
"name": "symfony/mailer",
@@ -5558,16 +5560,16 @@
},
{
"name": "symfony/messenger",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/messenger.git",
- "reference": "a391d2cb2b15436c0e3fbdf983440e762a30f88b"
+ "reference": "86d9aead6c40a56a528f2fb881a8be253efbbd1f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/messenger/zipball/a391d2cb2b15436c0e3fbdf983440e762a30f88b",
- "reference": "a391d2cb2b15436c0e3fbdf983440e762a30f88b",
+ "url": "https://api.github.com/repos/symfony/messenger/zipball/86d9aead6c40a56a528f2fb881a8be253efbbd1f",
+ "reference": "86d9aead6c40a56a528f2fb881a8be253efbbd1f",
"shasum": ""
},
"require": {
@@ -5624,7 +5626,7 @@
"description": "Helps applications send and receive messages to/from other applications or via message queues",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/messenger/tree/v7.1.6"
+ "source": "https://github.com/symfony/messenger/tree/v7.1.8"
},
"funding": [
{
@@ -5640,7 +5642,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/mime",
@@ -6586,16 +6588,16 @@
},
{
"name": "symfony/process",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "6aaa189ddb4ff6b5de8fa3210f2fb42c87b4d12e"
+ "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6aaa189ddb4ff6b5de8fa3210f2fb42c87b4d12e",
- "reference": "6aaa189ddb4ff6b5de8fa3210f2fb42c87b4d12e",
+ "url": "https://api.github.com/repos/symfony/process/zipball/42783370fda6e538771f7c7a36e9fa2ee3a84892",
+ "reference": "42783370fda6e538771f7c7a36e9fa2ee3a84892",
"shasum": ""
},
"require": {
@@ -6627,7 +6629,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v7.1.6"
+ "source": "https://github.com/symfony/process/tree/v7.1.8"
},
"funding": [
{
@@ -6643,7 +6645,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-06T14:23:19+00:00"
},
{
"name": "symfony/property-access",
@@ -6723,16 +6725,16 @@
},
{
"name": "symfony/property-info",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "6b630ff585d9fdc72f50369885ad4364a849cf02"
+ "reference": "3748f85f64351d282fd028e44309856f1d79142e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/6b630ff585d9fdc72f50369885ad4364a849cf02",
- "reference": "6b630ff585d9fdc72f50369885ad4364a849cf02",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/3748f85f64351d282fd028e44309856f1d79142e",
+ "reference": "3748f85f64351d282fd028e44309856f1d79142e",
"shasum": ""
},
"require": {
@@ -6748,7 +6750,7 @@
},
"require-dev": {
"phpdocumentor/reflection-docblock": "^5.2",
- "phpstan/phpdoc-parser": "^1.0",
+ "phpstan/phpdoc-parser": "^1.0|^2.0",
"symfony/cache": "^6.4|^7.0",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/serializer": "^6.4|^7.0"
@@ -6787,7 +6789,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.1.6"
+ "source": "https://github.com/symfony/property-info/tree/v7.1.8"
},
"funding": [
{
@@ -6803,7 +6805,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-09T07:07:11+00:00"
},
{
"name": "symfony/routing",
@@ -6888,16 +6890,16 @@
},
{
"name": "symfony/runtime",
- "version": "v7.1.6",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/runtime.git",
- "reference": "5f556dcd917234d11d56763d4c81bbe8f527bcad"
+ "reference": "9889783c17e8a68fa5e88c8e8a1a85e802558dba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/runtime/zipball/5f556dcd917234d11d56763d4c81bbe8f527bcad",
- "reference": "5f556dcd917234d11d56763d4c81bbe8f527bcad",
+ "url": "https://api.github.com/repos/symfony/runtime/zipball/9889783c17e8a68fa5e88c8e8a1a85e802558dba",
+ "reference": "9889783c17e8a68fa5e88c8e8a1a85e802558dba",
"shasum": ""
},
"require": {
@@ -6947,7 +6949,7 @@
"runtime"
],
"support": {
- "source": "https://github.com/symfony/runtime/tree/v7.1.6"
+ "source": "https://github.com/symfony/runtime/tree/v7.1.7"
},
"funding": [
{
@@ -6963,7 +6965,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-05T16:45:54+00:00"
},
{
"name": "symfony/security-bundle",
@@ -7227,16 +7229,16 @@
},
{
"name": "symfony/security-http",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "a4af93423bb89f8330ce2c5d3b5af371788aedc5"
+ "reference": "e11ea7f98fba4921a6c847a0c6a77d1befa9698f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/a4af93423bb89f8330ce2c5d3b5af371788aedc5",
- "reference": "a4af93423bb89f8330ce2c5d3b5af371788aedc5",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/e11ea7f98fba4921a6c847a0c6a77d1befa9698f",
+ "reference": "e11ea7f98fba4921a6c847a0c6a77d1befa9698f",
"shasum": ""
},
"require": {
@@ -7295,7 +7297,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v7.1.6"
+ "source": "https://github.com/symfony/security-http/tree/v7.1.8"
},
"funding": [
{
@@ -7311,20 +7313,20 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-13T13:40:27+00:00"
},
{
"name": "symfony/serializer",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "537f125ed7ddb8fffac34a83dfd6905e044ca76f"
+ "reference": "6066de113408496e1e3d4bf9e21fb209d344768b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/537f125ed7ddb8fffac34a83dfd6905e044ca76f",
- "reference": "537f125ed7ddb8fffac34a83dfd6905e044ca76f",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/6066de113408496e1e3d4bf9e21fb209d344768b",
+ "reference": "6066de113408496e1e3d4bf9e21fb209d344768b",
"shasum": ""
},
"require": {
@@ -7345,7 +7347,7 @@
},
"require-dev": {
"phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
- "phpstan/phpdoc-parser": "^1.0",
+ "phpstan/phpdoc-parser": "^1.0|^2.0",
"seld/jsonlint": "^1.10",
"symfony/cache": "^6.4|^7.0",
"symfony/config": "^6.4|^7.0",
@@ -7394,7 +7396,7 @@
"description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/serializer/tree/v7.1.6"
+ "source": "https://github.com/symfony/serializer/tree/v7.1.8"
},
"funding": [
{
@@ -7410,7 +7412,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-09T08:46:59+00:00"
+ "time": "2024-11-09T09:16:45+00:00"
},
{
"name": "symfony/service-contracts",
@@ -7628,16 +7630,16 @@
},
{
"name": "symfony/string",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626"
+ "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/61b72d66bf96c360a727ae6232df5ac83c71f626",
- "reference": "61b72d66bf96c360a727ae6232df5ac83c71f626",
+ "url": "https://api.github.com/repos/symfony/string/zipball/591ebd41565f356fcd8b090fe64dbb5878f50281",
+ "reference": "591ebd41565f356fcd8b090fe64dbb5878f50281",
"shasum": ""
},
"require": {
@@ -7695,7 +7697,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.1.6"
+ "source": "https://github.com/symfony/string/tree/v7.1.8"
},
"funding": [
{
@@ -7711,7 +7713,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-13T13:31:21+00:00"
},
{
"name": "symfony/translation",
@@ -7887,16 +7889,16 @@
},
{
"name": "symfony/twig-bridge",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "91c67942b0e535272e4d7a89619094a5acd8479d"
+ "reference": "535ab0be4fc563b2bc5fc0cc9e388626d226c63f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/91c67942b0e535272e4d7a89619094a5acd8479d",
- "reference": "91c67942b0e535272e4d7a89619094a5acd8479d",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/535ab0be4fc563b2bc5fc0cc9e388626d226c63f",
+ "reference": "535ab0be4fc563b2bc5fc0cc9e388626d226c63f",
"shasum": ""
},
"require": {
@@ -7976,7 +7978,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v7.1.6"
+ "source": "https://github.com/symfony/twig-bridge/tree/v7.1.8"
},
"funding": [
{
@@ -7992,7 +7994,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2024-11-10T02:47:09+00:00"
},
{
"name": "symfony/twig-bundle",
@@ -8080,16 +8082,16 @@
},
{
"name": "symfony/type-info",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/type-info.git",
- "reference": "a13032128c307470955c45c99201349b15cd7f4a"
+ "reference": "51535dde21c7abf65c9d000a30bb15f6478195e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/type-info/zipball/a13032128c307470955c45c99201349b15cd7f4a",
- "reference": "a13032128c307470955c45c99201349b15cd7f4a",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/51535dde21c7abf65c9d000a30bb15f6478195e6",
+ "reference": "51535dde21c7abf65c9d000a30bb15f6478195e6",
"shasum": ""
},
"require": {
@@ -8102,7 +8104,7 @@
"symfony/property-info": "<6.4"
},
"require-dev": {
- "phpstan/phpdoc-parser": "^1.0",
+ "phpstan/phpdoc-parser": "^1.0|^2.0",
"symfony/dependency-injection": "^6.4|^7.0",
"symfony/property-info": "^6.4|^7.0"
},
@@ -8142,7 +8144,7 @@
"type"
],
"support": {
- "source": "https://github.com/symfony/type-info/tree/v7.1.6"
+ "source": "https://github.com/symfony/type-info/tree/v7.1.8"
},
"funding": [
{
@@ -8158,7 +8160,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-07T15:49:33+00:00"
},
{
"name": "symfony/ux-icons",
@@ -8349,16 +8351,16 @@
},
{
"name": "symfony/validator",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "6c9fc7b87bc7a7056c0fdbe3ff87b12690942ffb"
+ "reference": "85a90c0a4ab0d10c118d3cdf39115e00d9cca7d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/6c9fc7b87bc7a7056c0fdbe3ff87b12690942ffb",
- "reference": "6c9fc7b87bc7a7056c0fdbe3ff87b12690942ffb",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/85a90c0a4ab0d10c118d3cdf39115e00d9cca7d0",
+ "reference": "85a90c0a4ab0d10c118d3cdf39115e00d9cca7d0",
"shasum": ""
},
"require": {
@@ -8426,7 +8428,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v7.1.6"
+ "source": "https://github.com/symfony/validator/tree/v7.1.8"
},
"funding": [
{
@@ -8442,20 +8444,20 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:11:02+00:00"
+ "time": "2024-11-08T15:46:42+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v7.1.6",
+ "version": "v7.1.8",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "cb5bd55a6b8c2c1c7fb68b0aeae0e257948a720c"
+ "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cb5bd55a6b8c2c1c7fb68b0aeae0e257948a720c",
- "reference": "cb5bd55a6b8c2c1c7fb68b0aeae0e257948a720c",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
+ "reference": "7bb01a47b1b00428d32b5e7b4d3b2d1aa58d3db8",
"shasum": ""
},
"require": {
@@ -8509,7 +8511,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v7.1.6"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.1.8"
},
"funding": [
{
@@ -8525,7 +8527,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:20:29+00:00"
+ "time": "2024-11-08T15:46:42+00:00"
},
{
"name": "symfony/var-exporter",
@@ -8833,16 +8835,16 @@
},
{
"name": "twig/twig",
- "version": "v3.14.0",
+ "version": "v3.14.2",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72"
+ "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
- "reference": "126b2c97818dbff0cdf3fbfc881aedb3d40aae72",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a",
+ "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a",
"shasum": ""
},
"require": {
@@ -8896,7 +8898,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.14.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.14.2"
},
"funding": [
{
@@ -8908,7 +8910,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T17:55:12+00:00"
+ "time": "2024-11-07T12:36:22+00:00"
},
{
"name": "webmozart/assert",
@@ -9039,16 +9041,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.0",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
- "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -9087,7 +9089,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -9095,7 +9097,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-12T14:39:25+00:00"
+ "time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nikic/php-parser",
@@ -11108,16 +11110,16 @@
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v7.1.6",
+ "version": "v7.1.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "49d95d20f32a4b5bb711f55a6fc73e7a8e37b32e"
+ "reference": "13d97a9acb23663550495fa2480e8cc95033ad61"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/49d95d20f32a4b5bb711f55a6fc73e7a8e37b32e",
- "reference": "49d95d20f32a4b5bb711f55a6fc73e7a8e37b32e",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/13d97a9acb23663550495fa2480e8cc95033ad61",
+ "reference": "13d97a9acb23663550495fa2480e8cc95033ad61",
"shasum": ""
},
"require": {
@@ -11169,7 +11171,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.6"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v7.1.7"
},
"funding": [
{
@@ -11185,7 +11187,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-01T08:54:22+00:00"
+ "time": "2024-11-05T07:52:02+00:00"
},
{
"name": "theseer/tokenizer",
@@ -11240,7 +11242,7 @@
],
"aliases": [],
"minimum-stability": "stable",
- "stability-flags": {},
+ "stability-flags": [],
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
@@ -11248,6 +11250,6 @@
"ext-ctype": "*",
"ext-iconv": "*"
},
- "platform-dev": {},
- "plugin-api-version": "2.6.0"
+ "platform-dev": [],
+ "plugin-api-version": "2.3.0"
}
diff --git a/migrations/Version20241010155711.php b/migrations/Version20241010155711.php
new file mode 100644
index 0000000..cb95793
--- /dev/null
+++ b/migrations/Version20241010155711.php
@@ -0,0 +1,109 @@
+addSql('DROP SEQUENCE eat_id_seq CASCADE');
+ $this->addSql('CREATE TABLE customer (id INT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, number_phone VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE customer_table (customer_id INT NOT NULL, table_id INT NOT NULL, PRIMARY KEY(customer_id, table_id))');
+ $this->addSql('CREATE INDEX IDX_381CFA7D9395C3F3 ON customer_table (customer_id)');
+ $this->addSql('CREATE INDEX IDX_381CFA7DECFF285C ON customer_table (table_id)');
+ $this->addSql('CREATE TABLE discount (id INT NOT NULL, id_dishes_id INT DEFAULT NULL, description VARCHAR(255) NOT NULL, percentage VARCHAR(255) NOT NULL, fixed_amount DOUBLE PRECISION NOT NULL, start_date DATE NOT NULL, date_end DATE NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE INDEX IDX_E1E0B40E20686F5D ON discount (id_dishes_id)');
+ $this->addSql('CREATE TABLE dishes (id INT NOT NULL, name VARCHAR(255) NOT NULL, description VARCHAR(255) NOT NULL, price DOUBLE PRECISION NOT NULL, category VARCHAR(255) NOT NULL, status VARCHAR(255) NOT NULL, number_order VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE "order" (id INT NOT NULL, id_order_detail_id INT NOT NULL, id_status_order_id INT NOT NULL, date_time DOUBLE PRECISION NOT NULL, status VARCHAR(255) NOT NULL, total VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE INDEX IDX_F52993988D09BBCB ON "order" (id_order_detail_id)');
+ $this->addSql('CREATE INDEX IDX_F5299398F91B0968 ON "order" (id_status_order_id)');
+ $this->addSql('CREATE TABLE order_user (order_id INT NOT NULL, user_id INT NOT NULL, PRIMARY KEY(order_id, user_id))');
+ $this->addSql('CREATE INDEX IDX_C062EC5E8D9F6D38 ON order_user (order_id)');
+ $this->addSql('CREATE INDEX IDX_C062EC5EA76ED395 ON order_user (user_id)');
+ $this->addSql('CREATE TABLE order_dishes (order_id INT NOT NULL, dishes_id INT NOT NULL, PRIMARY KEY(order_id, dishes_id))');
+ $this->addSql('CREATE INDEX IDX_9BC2C3888D9F6D38 ON order_dishes (order_id)');
+ $this->addSql('CREATE INDEX IDX_9BC2C388A05DD37A ON order_dishes (dishes_id)');
+ $this->addSql('CREATE TABLE order_detail (id INT NOT NULL, quantity DOUBLE PRECISION NOT NULL, unit_price DOUBLE PRECISION NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE reservation (id INT NOT NULL, date_time DOUBLE PRECISION NOT NULL, number_people INT NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE reservation_user (reservation_id INT NOT NULL, user_id INT NOT NULL, PRIMARY KEY(reservation_id, user_id))');
+ $this->addSql('CREATE INDEX IDX_9BAA1B21B83297E7 ON reservation_user (reservation_id)');
+ $this->addSql('CREATE INDEX IDX_9BAA1B21A76ED395 ON reservation_user (user_id)');
+ $this->addSql('CREATE TABLE status_order (id INT NOT NULL, libelle VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE status_table (id INT NOT NULL, libelle VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE "table" (id INT NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE "user" (id INT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, mail VARCHAR(255) NOT NULL, role VARCHAR(255) NOT NULL, password VARCHAR(255) NOT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE TABLE messenger_messages (id BIGSERIAL NOT NULL, body TEXT NOT NULL, headers TEXT NOT NULL, queue_name VARCHAR(190) NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, available_at TIMESTAMP(0) WITHOUT TIME ZONE NOT NULL, delivered_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))');
+ $this->addSql('CREATE INDEX IDX_75EA56E0FB7336F0 ON messenger_messages (queue_name)');
+ $this->addSql('CREATE INDEX IDX_75EA56E0E3BD61CE ON messenger_messages (available_at)');
+ $this->addSql('CREATE INDEX IDX_75EA56E016BA31DB ON messenger_messages (delivered_at)');
+ $this->addSql('COMMENT ON COLUMN messenger_messages.created_at IS \'(DC2Type:datetime_immutable)\'');
+ $this->addSql('COMMENT ON COLUMN messenger_messages.available_at IS \'(DC2Type:datetime_immutable)\'');
+ $this->addSql('COMMENT ON COLUMN messenger_messages.delivered_at IS \'(DC2Type:datetime_immutable)\'');
+ $this->addSql('CREATE OR REPLACE FUNCTION notify_messenger_messages() RETURNS TRIGGER AS $$
+ BEGIN
+ PERFORM pg_notify(\'messenger_messages\', NEW.queue_name::text);
+ RETURN NEW;
+ END;
+ $$ LANGUAGE plpgsql;');
+ $this->addSql('DROP TRIGGER IF EXISTS notify_trigger ON messenger_messages;');
+ $this->addSql('CREATE TRIGGER notify_trigger AFTER INSERT OR UPDATE ON messenger_messages FOR EACH ROW EXECUTE PROCEDURE notify_messenger_messages();');
+ $this->addSql('ALTER TABLE customer_table ADD CONSTRAINT FK_381CFA7D9395C3F3 FOREIGN KEY (customer_id) REFERENCES customer (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE customer_table ADD CONSTRAINT FK_381CFA7DECFF285C FOREIGN KEY (table_id) REFERENCES "table" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE discount ADD CONSTRAINT FK_E1E0B40E20686F5D FOREIGN KEY (id_dishes_id) REFERENCES dishes (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE "order" ADD CONSTRAINT FK_F52993988D09BBCB FOREIGN KEY (id_order_detail_id) REFERENCES order_detail (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE "order" ADD CONSTRAINT FK_F5299398F91B0968 FOREIGN KEY (id_status_order_id) REFERENCES status_order (id) NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE order_user ADD CONSTRAINT FK_C062EC5E8D9F6D38 FOREIGN KEY (order_id) REFERENCES "order" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE order_user ADD CONSTRAINT FK_C062EC5EA76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE order_dishes ADD CONSTRAINT FK_9BC2C3888D9F6D38 FOREIGN KEY (order_id) REFERENCES "order" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE order_dishes ADD CONSTRAINT FK_9BC2C388A05DD37A FOREIGN KEY (dishes_id) REFERENCES dishes (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE reservation_user ADD CONSTRAINT FK_9BAA1B21B83297E7 FOREIGN KEY (reservation_id) REFERENCES reservation (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ $this->addSql('ALTER TABLE reservation_user ADD CONSTRAINT FK_9BAA1B21A76ED395 FOREIGN KEY (user_id) REFERENCES "user" (id) ON DELETE CASCADE NOT DEFERRABLE INITIALLY IMMEDIATE');
+ }
+
+ public function down(Schema $schema): void
+ {
+ // this down() migration is auto-generated, please modify it to your needs
+ $this->addSql('CREATE SCHEMA public');
+ $this->addSql('CREATE SEQUENCE eat_id_seq INCREMENT BY 1 MINVALUE 1 START 1');
+ $this->addSql('ALTER TABLE customer_table DROP CONSTRAINT FK_381CFA7D9395C3F3');
+ $this->addSql('ALTER TABLE customer_table DROP CONSTRAINT FK_381CFA7DECFF285C');
+ $this->addSql('ALTER TABLE discount DROP CONSTRAINT FK_E1E0B40E20686F5D');
+ $this->addSql('ALTER TABLE "order" DROP CONSTRAINT FK_F52993988D09BBCB');
+ $this->addSql('ALTER TABLE "order" DROP CONSTRAINT FK_F5299398F91B0968');
+ $this->addSql('ALTER TABLE order_user DROP CONSTRAINT FK_C062EC5E8D9F6D38');
+ $this->addSql('ALTER TABLE order_user DROP CONSTRAINT FK_C062EC5EA76ED395');
+ $this->addSql('ALTER TABLE order_dishes DROP CONSTRAINT FK_9BC2C3888D9F6D38');
+ $this->addSql('ALTER TABLE order_dishes DROP CONSTRAINT FK_9BC2C388A05DD37A');
+ $this->addSql('ALTER TABLE reservation_user DROP CONSTRAINT FK_9BAA1B21B83297E7');
+ $this->addSql('ALTER TABLE reservation_user DROP CONSTRAINT FK_9BAA1B21A76ED395');
+ $this->addSql('DROP TABLE customer');
+ $this->addSql('DROP TABLE customer_table');
+ $this->addSql('DROP TABLE discount');
+ $this->addSql('DROP TABLE dishes');
+ $this->addSql('DROP TABLE "order"');
+ $this->addSql('DROP TABLE order_user');
+ $this->addSql('DROP TABLE order_dishes');
+ $this->addSql('DROP TABLE order_detail');
+ $this->addSql('DROP TABLE reservation');
+ $this->addSql('DROP TABLE reservation_user');
+ $this->addSql('DROP TABLE status_order');
+ $this->addSql('DROP TABLE status_table');
+ $this->addSql('DROP TABLE "table"');
+ $this->addSql('DROP TABLE "user"');
+ $this->addSql('DROP TABLE messenger_messages');
+ }
+}
diff --git a/public/css/list.css b/public/css/list.css
new file mode 100644
index 0000000..c1125b4
--- /dev/null
+++ b/public/css/list.css
@@ -0,0 +1,77 @@
+/* Global styles */
+body {
+ font-family: Arial, sans-serif;
+ margin: 20px;
+ background-color: #f9f9f9;
+ color: #333;
+}
+
+h1 {
+ text-align: center;
+ color: #db5559;
+ margin-bottom: 20px;
+}
+
+/* Table styles */
+.table {
+ width: 100%;
+ border-collapse: collapse;
+ margin-bottom: 20px;
+ background-color: #fff;
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
+}
+
+.table th, .table td {
+ padding: 12px;
+ text-align: left;
+ border: 1px solid #ddd;
+}
+
+.table th {
+ background-color: #db5559;
+ color: white;
+}
+
+.table tr:nth-child(even) {
+ background-color: #f2f2f2;
+}
+
+.table tr:hover {
+ background-color: #ddd;
+}
+
+/* Action links */
+a {
+ text-decoration: none;
+ color: #db5559;
+ font-weight: bold;
+}
+
+a:hover {
+ color: #38538e;
+ text-decoration: underline;
+}
+
+/* New client button */
+a[href*="app_clients_new"] {
+ display: inline-block;
+ margin-top: 20px;
+ padding: 10px 20px;
+ background-color: #4CAF50;
+ color: white;
+ border-radius: 5px;
+ font-size: 16px;
+ text-align: center;
+ transition: background-color 0.3s ease;
+}
+
+a[href*="app_clients_new"]:hover {
+ background-color: #388E3C;
+}
+
+/* Empty table row message */
+.table td[colspan="6"] {
+ text-align: center;
+ font-style: italic;
+ color: #666;
+}
diff --git a/src/Controller/ClientsController.php b/src/Controller/ClientsController.php
new file mode 100644
index 0000000..bf6701d
--- /dev/null
+++ b/src/Controller/ClientsController.php
@@ -0,0 +1,81 @@
+render('clients/index.html.twig', [
+ 'clients' => $clientsRepository->findAll(),
+ ]);
+ }
+
+ #[Route('/new', name: 'app_clients_new', methods: ['GET', 'POST'])]
+ public function new(Request $request, EntityManagerInterface $entityManager): Response
+ {
+ $client = new Clients();
+ $form = $this->createForm(ClientsType::class, $client);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->persist($client);
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_clients_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('clients/new.html.twig', [
+ 'client' => $client,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_clients_show', methods: ['GET'])]
+ public function show(Clients $client): Response
+ {
+ return $this->render('clients/show.html.twig', [
+ 'client' => $client,
+ ]);
+ }
+
+ #[Route('/{id}/edit', name: 'app_clients_edit', methods: ['GET', 'POST'])]
+ public function edit(Request $request, Clients $client, EntityManagerInterface $entityManager): Response
+ {
+ $form = $this->createForm(ClientsType::class, $client);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_clients_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('clients/edit.html.twig', [
+ 'client' => $client,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_clients_delete', methods: ['POST'])]
+ public function delete(Request $request, Clients $client, EntityManagerInterface $entityManager): Response
+ {
+ if ($this->isCsrfTokenValid('delete'.$client->getId(), $request->getPayload()->getString('_token'))) {
+ $entityManager->remove($client);
+ $entityManager->flush();
+ }
+
+ return $this->redirectToRoute('app_clients_index', [], Response::HTTP_SEE_OTHER);
+ }
+}
diff --git a/src/Controller/CommandesController.php b/src/Controller/CommandesController.php
new file mode 100644
index 0000000..7d2ea04
--- /dev/null
+++ b/src/Controller/CommandesController.php
@@ -0,0 +1,81 @@
+render('commandes/index.html.twig', [
+ 'commandes' => $commandesRepository->findAll(),
+ ]);
+ }
+
+ #[Route('/new', name: 'app_commandes_new', methods: ['GET', 'POST'])]
+ public function new(Request $request, EntityManagerInterface $entityManager): Response
+ {
+ $commande = new Commandes();
+ $form = $this->createForm(CommandesType::class, $commande);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->persist($commande);
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_commandes_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('commandes/new.html.twig', [
+ 'commande' => $commande,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_commandes_show', methods: ['GET'])]
+ public function show(Commandes $commande): Response
+ {
+ return $this->render('commandes/show.html.twig', [
+ 'commande' => $commande,
+ ]);
+ }
+
+ #[Route('/{id}/edit', name: 'app_commandes_edit', methods: ['GET', 'POST'])]
+ public function edit(Request $request, Commandes $commande, EntityManagerInterface $entityManager): Response
+ {
+ $form = $this->createForm(CommandesType::class, $commande);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_commandes_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('commandes/edit.html.twig', [
+ 'commande' => $commande,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_commandes_delete', methods: ['POST'])]
+ public function delete(Request $request, Commandes $commande, EntityManagerInterface $entityManager): Response
+ {
+ if ($this->isCsrfTokenValid('delete'.$commande->getId(), $request->getPayload()->getString('_token'))) {
+ $entityManager->remove($commande);
+ $entityManager->flush();
+ }
+
+ return $this->redirectToRoute('app_commandes_index', [], Response::HTTP_SEE_OTHER);
+ }
+}
diff --git a/src/Controller/CuisinierController.php b/src/Controller/CuisinierController.php
deleted file mode 100644
index c2097ea..0000000
--- a/src/Controller/CuisinierController.php
+++ /dev/null
@@ -1,46 +0,0 @@
-createForm(CuisinierType::class, $cuisinier);
-
- $form->handleRequest($request);
- if ($form->isSubmitted() && $form->isValid()) {
- $entityManager->persist($cuisinier);
- $entityManager->flush();
-
- $this->addFlash('success', 'Cuisinier ajouté avec succès !');
- return $this->redirectToRoute('ajouter_cuisinier');
- }
-
- return $this->render('cuisinier/ajouter.html.twig', [
- 'form' => $form->createView(),
- ]);
- }
-
- #[Route('/cuisinier/supprimer/{id}', name: 'supprimer_cuisinier', methods: ['POST'])]
- public function supprimer(int $id, EntityManagerInterface $entityManager): Response
- {
- $cuisinier = $entityManager->getRepository(Cuisinier::class)->find($id);
-
- if (!$cuisinier) {
- throw $this->createNotFoundException('Ce cuisinier n\'existe pas');
- }
-
- $entityManager->remove($cuisinier);
- $entityManager->flush();
-
- $this->addFlash('success', 'Cuisinier supprimé avec succès !');
- return $this->redirectToRoute('ajouter_cuisinier');
- }
-}
\ No newline at end of file
diff --git a/src/Controller/DetailsCommandeController.php b/src/Controller/DetailsCommandeController.php
new file mode 100644
index 0000000..21139a1
--- /dev/null
+++ b/src/Controller/DetailsCommandeController.php
@@ -0,0 +1,81 @@
+render('details_commande/index.html.twig', [
+ 'details_commandes' => $detailsCommandeRepository->findAll(),
+ ]);
+ }
+
+ #[Route('/new', name: 'app_details_commande_new', methods: ['GET', 'POST'])]
+ public function new(Request $request, EntityManagerInterface $entityManager): Response
+ {
+ $detailsCommande = new DetailsCommande();
+ $form = $this->createForm(DetailsCommandeType::class, $detailsCommande);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->persist($detailsCommande);
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_details_commande_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('details_commande/new.html.twig', [
+ 'details_commande' => $detailsCommande,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_details_commande_show', methods: ['GET'])]
+ public function show(DetailsCommande $detailsCommande): Response
+ {
+ return $this->render('details_commande/show.html.twig', [
+ 'details_commande' => $detailsCommande,
+ ]);
+ }
+
+ #[Route('/{id}/edit', name: 'app_details_commande_edit', methods: ['GET', 'POST'])]
+ public function edit(Request $request, DetailsCommande $detailsCommande, EntityManagerInterface $entityManager): Response
+ {
+ $form = $this->createForm(DetailsCommandeType::class, $detailsCommande);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_details_commande_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('details_commande/edit.html.twig', [
+ 'details_commande' => $detailsCommande,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_details_commande_delete', methods: ['POST'])]
+ public function delete(Request $request, DetailsCommande $detailsCommande, EntityManagerInterface $entityManager): Response
+ {
+ if ($this->isCsrfTokenValid('delete'.$detailsCommande->getId(), $request->getPayload()->getString('_token'))) {
+ $entityManager->remove($detailsCommande);
+ $entityManager->flush();
+ }
+
+ return $this->redirectToRoute('app_details_commande_index', [], Response::HTTP_SEE_OTHER);
+ }
+}
diff --git a/src/Controller/PlatsController.php b/src/Controller/PlatsController.php
new file mode 100644
index 0000000..e9c034d
--- /dev/null
+++ b/src/Controller/PlatsController.php
@@ -0,0 +1,81 @@
+render('plats/index.html.twig', [
+ 'plats' => $platsRepository->findAll(),
+ ]);
+ }
+
+ #[Route('/new', name: 'app_plats_new', methods: ['GET', 'POST'])]
+ public function new(Request $request, EntityManagerInterface $entityManager): Response
+ {
+ $plat = new Plats();
+ $form = $this->createForm(PlatsType::class, $plat);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->persist($plat);
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_plats_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('plats/new.html.twig', [
+ 'plat' => $plat,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_plats_show', methods: ['GET'])]
+ public function show(Plats $plat): Response
+ {
+ return $this->render('plats/show.html.twig', [
+ 'plat' => $plat,
+ ]);
+ }
+
+ #[Route('/{id}/edit', name: 'app_plats_edit', methods: ['GET', 'POST'])]
+ public function edit(Request $request, Plats $plat, EntityManagerInterface $entityManager): Response
+ {
+ $form = $this->createForm(PlatsType::class, $plat);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_plats_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('plats/edit.html.twig', [
+ 'plat' => $plat,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_plats_delete', methods: ['POST'])]
+ public function delete(Request $request, Plats $plat, EntityManagerInterface $entityManager): Response
+ {
+ if ($this->isCsrfTokenValid('delete'.$plat->getId(), $request->getPayload()->getString('_token'))) {
+ $entityManager->remove($plat);
+ $entityManager->flush();
+ }
+
+ return $this->redirectToRoute('app_plats_index', [], Response::HTTP_SEE_OTHER);
+ }
+}
diff --git a/src/Controller/ReductionsController.php b/src/Controller/ReductionsController.php
new file mode 100644
index 0000000..c26f767
--- /dev/null
+++ b/src/Controller/ReductionsController.php
@@ -0,0 +1,81 @@
+render('reductions/index.html.twig', [
+ 'reductions' => $reductionsRepository->findAll(),
+ ]);
+ }
+
+ #[Route('/new', name: 'app_reductions_new', methods: ['GET', 'POST'])]
+ public function new(Request $request, EntityManagerInterface $entityManager): Response
+ {
+ $reduction = new Reductions();
+ $form = $this->createForm(ReductionsType::class, $reduction);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->persist($reduction);
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_reductions_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('reductions/new.html.twig', [
+ 'reduction' => $reduction,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_reductions_show', methods: ['GET'])]
+ public function show(Reductions $reduction): Response
+ {
+ return $this->render('reductions/show.html.twig', [
+ 'reduction' => $reduction,
+ ]);
+ }
+
+ #[Route('/{id}/edit', name: 'app_reductions_edit', methods: ['GET', 'POST'])]
+ public function edit(Request $request, Reductions $reduction, EntityManagerInterface $entityManager): Response
+ {
+ $form = $this->createForm(ReductionsType::class, $reduction);
+ $form->handleRequest($request);
+
+ if ($form->isSubmitted() && $form->isValid()) {
+ $entityManager->flush();
+
+ return $this->redirectToRoute('app_reductions_index', [], Response::HTTP_SEE_OTHER);
+ }
+
+ return $this->render('reductions/edit.html.twig', [
+ 'reduction' => $reduction,
+ 'form' => $form,
+ ]);
+ }
+
+ #[Route('/{id}', name: 'app_reductions_delete', methods: ['POST'])]
+ public function delete(Request $request, Reductions $reduction, EntityManagerInterface $entityManager): Response
+ {
+ if ($this->isCsrfTokenValid('delete'.$reduction->getId(), $request->getPayload()->getString('_token'))) {
+ $entityManager->remove($reduction);
+ $entityManager->flush();
+ }
+
+ return $this->redirectToRoute('app_reductions_index', [], Response::HTTP_SEE_OTHER);
+ }
+}
diff --git a/src/Entity/Clients.php b/src/Entity/Clients.php
index 35a78f3..4cd28f9 100644
--- a/src/Entity/Clients.php
+++ b/src/Entity/Clients.php
@@ -2,12 +2,13 @@
namespace App\Entity;
+use AllowDynamicProperties;
use App\Repository\ClientsRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
-#[ORM\Entity(repositoryClass: ClientsRepository::class)]
+#[AllowDynamicProperties] #[ORM\Entity(repositoryClass: ClientsRepository::class)]
class Clients
{
#[ORM\Id]
diff --git a/src/Form/ClientsType.php b/src/Form/ClientsType.php
new file mode 100644
index 0000000..bdcd973
--- /dev/null
+++ b/src/Form/ClientsType.php
@@ -0,0 +1,41 @@
+add('Prenom')
+ ->add('Nom')
+ ->add('Email')
+ ->add('Telephone')
+ ->add('table', EntityType::class, [
+ 'class' => Tables::class,
+ 'choice_label' => 'id',
+ 'multiple' => true,
+ ])
+ ->add('commandes', EntityType::class, [
+ 'class' => Commandes::class,
+ 'choice_label' => 'id',
+ 'multiple' => true,
+ ])
+ ;
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults([
+ 'data_class' => Clients::class,
+ ]);
+ }
+}
diff --git a/src/Form/CommandesType.php b/src/Form/CommandesType.php
new file mode 100644
index 0000000..5dcc39b
--- /dev/null
+++ b/src/Form/CommandesType.php
@@ -0,0 +1,47 @@
+add('DateHeure', null, [
+ 'widget' => 'single_text',
+ ])
+ ->add('Statut')
+ ->add('Total')
+ ->add('Client', EntityType::class, [
+ 'class' => Clients::class,
+ 'choice_label' => 'id',
+ 'multiple' => true,
+ ])
+ ->add('plats', EntityType::class, [
+ 'class' => Plats::class,
+ 'choice_label' => 'id',
+ 'multiple' => true,
+ ])
+ ->add('StatutCommande', EntityType::class, [
+ 'class' => StatutCommandes::class,
+ 'choice_label' => 'id',
+ ])
+ ;
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults([
+ 'data_class' => Commandes::class,
+ ]);
+ }
+}
diff --git a/src/Form/DetailsCommandeType.php b/src/Form/DetailsCommandeType.php
new file mode 100644
index 0000000..3d4eba3
--- /dev/null
+++ b/src/Form/DetailsCommandeType.php
@@ -0,0 +1,32 @@
+add('Quantite')
+ ->add('PrixUnitaire')
+ ->add('Commande', EntityType::class, [
+ 'class' => Commandes::class,
+ 'choice_label' => 'id',
+ ])
+ ;
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults([
+ 'data_class' => DetailsCommande::class,
+ ]);
+ }
+}
diff --git a/src/Form/PlatsType.php b/src/Form/PlatsType.php
new file mode 100644
index 0000000..5946a7d
--- /dev/null
+++ b/src/Form/PlatsType.php
@@ -0,0 +1,42 @@
+add('Nom')
+ ->add('Description')
+ ->add('Prix')
+ ->add('Categorie')
+ ->add('Statut')
+ ->add('Nb_de_commande')
+ ->add('Commande', EntityType::class, [
+ 'class' => Commandes::class,
+ 'choice_label' => 'id',
+ 'multiple' => true,
+ ])
+ ->add('Reduction', EntityType::class, [
+ 'class' => Reductions::class,
+ 'choice_label' => 'id',
+ ])
+ ;
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults([
+ 'data_class' => Plats::class,
+ ]);
+ }
+}
diff --git a/src/Form/ReductionsType.php b/src/Form/ReductionsType.php
new file mode 100644
index 0000000..ff5957e
--- /dev/null
+++ b/src/Form/ReductionsType.php
@@ -0,0 +1,34 @@
+add('Description')
+ ->add('Prix')
+ ->add('Pourcentage')
+ ->add('MontantFixe')
+ ->add('DateDebut', null, [
+ 'widget' => 'single_text',
+ ])
+ ->add('DateFin', null, [
+ 'widget' => 'single_text',
+ ])
+ ;
+ }
+
+ public function configureOptions(OptionsResolver $resolver): void
+ {
+ $resolver->setDefaults([
+ 'data_class' => Reductions::class,
+ ]);
+ }
+}
diff --git a/templates/clients/_delete_form.html.twig b/templates/clients/_delete_form.html.twig
new file mode 100644
index 0000000..f4deca2
--- /dev/null
+++ b/templates/clients/_delete_form.html.twig
@@ -0,0 +1,4 @@
+
diff --git a/templates/clients/_form.html.twig b/templates/clients/_form.html.twig
new file mode 100644
index 0000000..bf20b98
--- /dev/null
+++ b/templates/clients/_form.html.twig
@@ -0,0 +1,4 @@
+{{ form_start(form) }}
+ {{ form_widget(form) }}
+
+{{ form_end(form) }}
diff --git a/templates/clients/edit.html.twig b/templates/clients/edit.html.twig
new file mode 100644
index 0000000..1f671c7
--- /dev/null
+++ b/templates/clients/edit.html.twig
@@ -0,0 +1,13 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Edit Clients{% endblock %}
+
+{% block body %}
+ Edit Clients
+
+ {{ include('clients/_form.html.twig', {'button_label': 'Update'}) }}
+
+ back to list
+
+ {{ include('clients/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/clients/index.html.twig b/templates/clients/index.html.twig
new file mode 100644
index 0000000..3c9222f
--- /dev/null
+++ b/templates/clients/index.html.twig
@@ -0,0 +1,44 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Clients index{% endblock %}
+{% block stylesheets %}
+
+
+{% endblock %}
+{% block body %}
+ Clients index
+
+
+
+
+ Id |
+ Prenom |
+ Nom |
+ Email |
+ Telephone |
+ actions |
+
+
+
+ {% for client in clients %}
+
+ {{ client.id }} |
+ {{ client.Prenom }} |
+ {{ client.Nom }} |
+ {{ client.Email }} |
+ {{ client.Telephone }} |
+
+ show
+ edit
+ |
+
+ {% else %}
+
+ no records found |
+
+ {% endfor %}
+
+
+
+ Créer un nouveau client
+{% endblock %}
diff --git a/templates/clients/new.html.twig b/templates/clients/new.html.twig
new file mode 100644
index 0000000..616aca7
--- /dev/null
+++ b/templates/clients/new.html.twig
@@ -0,0 +1,11 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}New Clients{% endblock %}
+
+{% block body %}
+ Create new Clients
+
+ {{ include('clients/_form.html.twig') }}
+
+ back to list
+{% endblock %}
diff --git a/templates/clients/show.html.twig b/templates/clients/show.html.twig
new file mode 100644
index 0000000..254ae62
--- /dev/null
+++ b/templates/clients/show.html.twig
@@ -0,0 +1,38 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Clients{% endblock %}
+
+{% block body %}
+ Clients
+
+
+
+
+ Id |
+ {{ client.id }} |
+
+
+ Prenom |
+ {{ client.Prenom }} |
+
+
+ Nom |
+ {{ client.Nom }} |
+
+
+ Email |
+ {{ client.Email }} |
+
+
+ Telephone |
+ {{ client.Telephone }} |
+
+
+
+
+ back to list
+
+ edit
+
+ {{ include('clients/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/commande/index.html.twig b/templates/commande/index.html.twig
new file mode 100644
index 0000000..5d09fae
--- /dev/null
+++ b/templates/commande/index.html.twig
@@ -0,0 +1,23 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Hello CommandeController!{% endblock %}
+{% block stylesheets %}
+
+
+{% endblock %}
+{% block body %}
+
+
+
+
Hello {{ controller_name }}! ✅
+
+ This friendly message is coming from:
+
+ - Your controller at
/home/bayardk@stsio.lan/Documents/FestinHegre/src/Controller/CommandeController.php
+ - Your template at
/home/bayardk@stsio.lan/Documents/FestinHegre/templates/commande/index.html.twig
+
+
+{% endblock %}
diff --git a/templates/commandes/_delete_form.html.twig b/templates/commandes/_delete_form.html.twig
new file mode 100644
index 0000000..af65114
--- /dev/null
+++ b/templates/commandes/_delete_form.html.twig
@@ -0,0 +1,4 @@
+
diff --git a/templates/commandes/_form.html.twig b/templates/commandes/_form.html.twig
new file mode 100644
index 0000000..bf20b98
--- /dev/null
+++ b/templates/commandes/_form.html.twig
@@ -0,0 +1,4 @@
+{{ form_start(form) }}
+ {{ form_widget(form) }}
+
+{{ form_end(form) }}
diff --git a/templates/commandes/edit.html.twig b/templates/commandes/edit.html.twig
new file mode 100644
index 0000000..ce8c20e
--- /dev/null
+++ b/templates/commandes/edit.html.twig
@@ -0,0 +1,13 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Edit Commandes{% endblock %}
+
+{% block body %}
+ Edit Commandes
+
+ {{ include('commandes/_form.html.twig', {'button_label': 'Update'}) }}
+
+ back to list
+
+ {{ include('commandes/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/commandes/index.html.twig b/templates/commandes/index.html.twig
new file mode 100644
index 0000000..63e9977
--- /dev/null
+++ b/templates/commandes/index.html.twig
@@ -0,0 +1,42 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Commandes index{% endblock %}
+{% block stylesheets %}
+
+
+{% endblock %}
+{% block body %}
+ Commandes index
+
+
+
+
+ Id |
+ DateHeure |
+ Statut |
+ Total |
+ actions |
+
+
+
+ {% for commande in commandes %}
+
+ {{ commande.id }} |
+ {{ commande.DateHeure ? commande.DateHeure|date('Y-m-d H:i:s') : '' }} |
+ {{ commande.Statut ? 'Yes' : 'No' }} |
+ {{ commande.Total }} |
+
+ show
+ edit
+ |
+
+ {% else %}
+
+ pas de commande crée |
+
+ {% endfor %}
+
+
+
+ Créer une nouvelle commande
+{% endblock %}
diff --git a/templates/commandes/new.html.twig b/templates/commandes/new.html.twig
new file mode 100644
index 0000000..af63760
--- /dev/null
+++ b/templates/commandes/new.html.twig
@@ -0,0 +1,11 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}New Commandes{% endblock %}
+
+{% block body %}
+ Create new Commandes
+
+ {{ include('commandes/_form.html.twig') }}
+
+ back to list
+{% endblock %}
diff --git a/templates/commandes/show.html.twig b/templates/commandes/show.html.twig
new file mode 100644
index 0000000..ce527e4
--- /dev/null
+++ b/templates/commandes/show.html.twig
@@ -0,0 +1,34 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Commandes{% endblock %}
+
+{% block body %}
+ Commandes
+
+
+
+
+ Id |
+ {{ commande.id }} |
+
+
+ DateHeure |
+ {{ commande.DateHeure ? commande.DateHeure|date('Y-m-d H:i:s') : '' }} |
+
+
+ Statut |
+ {{ commande.Statut ? 'Yes' : 'No' }} |
+
+
+ Total |
+ {{ commande.Total }} |
+
+
+
+
+ back to list
+
+ edit
+
+ {{ include('commandes/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/details_commande/_delete_form.html.twig b/templates/details_commande/_delete_form.html.twig
new file mode 100644
index 0000000..465f168
--- /dev/null
+++ b/templates/details_commande/_delete_form.html.twig
@@ -0,0 +1,4 @@
+
diff --git a/templates/details_commande/_form.html.twig b/templates/details_commande/_form.html.twig
new file mode 100644
index 0000000..bf20b98
--- /dev/null
+++ b/templates/details_commande/_form.html.twig
@@ -0,0 +1,4 @@
+{{ form_start(form) }}
+ {{ form_widget(form) }}
+
+{{ form_end(form) }}
diff --git a/templates/details_commande/edit.html.twig b/templates/details_commande/edit.html.twig
new file mode 100644
index 0000000..7e0c933
--- /dev/null
+++ b/templates/details_commande/edit.html.twig
@@ -0,0 +1,13 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Edit DetailsCommande{% endblock %}
+
+{% block body %}
+ Edit DetailsCommande
+
+ {{ include('details_commande/_form.html.twig', {'button_label': 'Update'}) }}
+
+ back to list
+
+ {{ include('details_commande/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/details_commande/index.html.twig b/templates/details_commande/index.html.twig
new file mode 100644
index 0000000..79715cf
--- /dev/null
+++ b/templates/details_commande/index.html.twig
@@ -0,0 +1,41 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}DetailsCommande index{% endblock %}
+
+{% block stylesheets %}
+
+{% endblock %}
+
+{% block body %}
+ DetailsCommande index
+
+
+
+
+ Id |
+ Quantite |
+ PrixUnitaire |
+ actions |
+
+
+
+ {% for details_commande in details_commandes %}
+
+ {{ details_commande.id }} |
+ {{ details_commande.Quantite }} |
+ {{ details_commande.PrixUnitaire }} |
+
+ show
+ edit
+ |
+
+ {% else %}
+
+ pas de détails de commande disponible |
+
+ {% endfor %}
+
+
+
+ Créer le détails d'une commande
+{% endblock %}
diff --git a/templates/details_commande/new.html.twig b/templates/details_commande/new.html.twig
new file mode 100644
index 0000000..c3cae39
--- /dev/null
+++ b/templates/details_commande/new.html.twig
@@ -0,0 +1,11 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}New DetailsCommande{% endblock %}
+
+{% block body %}
+ Create new DetailsCommande
+
+ {{ include('details_commande/_form.html.twig') }}
+
+ back to list
+{% endblock %}
diff --git a/templates/details_commande/show.html.twig b/templates/details_commande/show.html.twig
new file mode 100644
index 0000000..88478e5
--- /dev/null
+++ b/templates/details_commande/show.html.twig
@@ -0,0 +1,30 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}DetailsCommande{% endblock %}
+
+{% block body %}
+ DetailsCommande
+
+
+
+
+ Id |
+ {{ details_commande.id }} |
+
+
+ Quantite |
+ {{ details_commande.Quantite }} |
+
+
+ PrixUnitaire |
+ {{ details_commande.PrixUnitaire }} |
+
+
+
+
+ back to list
+
+ edit
+
+ {{ include('details_commande/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/plats/_delete_form.html.twig b/templates/plats/_delete_form.html.twig
new file mode 100644
index 0000000..bc89faf
--- /dev/null
+++ b/templates/plats/_delete_form.html.twig
@@ -0,0 +1,4 @@
+
diff --git a/templates/plats/_form.html.twig b/templates/plats/_form.html.twig
new file mode 100644
index 0000000..bf20b98
--- /dev/null
+++ b/templates/plats/_form.html.twig
@@ -0,0 +1,4 @@
+{{ form_start(form) }}
+ {{ form_widget(form) }}
+
+{{ form_end(form) }}
diff --git a/templates/plats/edit.html.twig b/templates/plats/edit.html.twig
new file mode 100644
index 0000000..14afd7b
--- /dev/null
+++ b/templates/plats/edit.html.twig
@@ -0,0 +1,13 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Edit Plats{% endblock %}
+
+{% block body %}
+ Edit Plats
+
+ {{ include('plats/_form.html.twig', {'button_label': 'Update'}) }}
+
+ back to list
+
+ {{ include('plats/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/plats/index.html.twig b/templates/plats/index.html.twig
new file mode 100644
index 0000000..a7d2eff
--- /dev/null
+++ b/templates/plats/index.html.twig
@@ -0,0 +1,48 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Plats index{% endblock %}
+{% block stylesheets %}
+
+
+{% endblock %}
+{% block body %}
+ Plats index
+
+
+
+
+ Id |
+ Nom |
+ Description |
+ Prix |
+ Categorie |
+ Statut |
+ Nb_de_commande |
+ actions |
+
+
+
+ {% for plat in plats %}
+
+ {{ plat.id }} |
+ {{ plat.Nom }} |
+ {{ plat.Description }} |
+ {{ plat.Prix }} |
+ {{ plat.Categorie }} |
+ {{ plat.Statut ? 'Yes' : 'No' }} |
+ {{ plat.NbDeCommande }} |
+
+ show
+ edit
+ |
+
+ {% else %}
+
+ pas de plats disponible |
+
+ {% endfor %}
+
+
+
+ Créer un nouveaux plat
+{% endblock %}
diff --git a/templates/plats/new.html.twig b/templates/plats/new.html.twig
new file mode 100644
index 0000000..a59e66b
--- /dev/null
+++ b/templates/plats/new.html.twig
@@ -0,0 +1,11 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}New Plats{% endblock %}
+
+{% block body %}
+ Create new Plats
+
+ {{ include('plats/_form.html.twig') }}
+
+ back to list
+{% endblock %}
diff --git a/templates/plats/show.html.twig b/templates/plats/show.html.twig
new file mode 100644
index 0000000..41fa96e
--- /dev/null
+++ b/templates/plats/show.html.twig
@@ -0,0 +1,46 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Plats{% endblock %}
+
+{% block body %}
+ Plats
+
+
+
+
+ Id |
+ {{ plat.id }} |
+
+
+ Nom |
+ {{ plat.Nom }} |
+
+
+ Description |
+ {{ plat.Description }} |
+
+
+ Prix |
+ {{ plat.Prix }} |
+
+
+ Categorie |
+ {{ plat.Categorie }} |
+
+
+ Statut |
+ {{ plat.Statut ? 'Yes' : 'No' }} |
+
+
+ Nb_de_commande |
+ {{ plat.NbDeCommande }} |
+
+
+
+
+ back to list
+
+ edit
+
+ {{ include('plats/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/reductions/_delete_form.html.twig b/templates/reductions/_delete_form.html.twig
new file mode 100644
index 0000000..20968bd
--- /dev/null
+++ b/templates/reductions/_delete_form.html.twig
@@ -0,0 +1,4 @@
+
diff --git a/templates/reductions/_form.html.twig b/templates/reductions/_form.html.twig
new file mode 100644
index 0000000..bf20b98
--- /dev/null
+++ b/templates/reductions/_form.html.twig
@@ -0,0 +1,4 @@
+{{ form_start(form) }}
+ {{ form_widget(form) }}
+
+{{ form_end(form) }}
diff --git a/templates/reductions/edit.html.twig b/templates/reductions/edit.html.twig
new file mode 100644
index 0000000..7e82b78
--- /dev/null
+++ b/templates/reductions/edit.html.twig
@@ -0,0 +1,13 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Edit Reductions{% endblock %}
+
+{% block body %}
+ Edit Reductions
+
+ {{ include('reductions/_form.html.twig', {'button_label': 'Update'}) }}
+
+ back to list
+
+ {{ include('reductions/_delete_form.html.twig') }}
+{% endblock %}
diff --git a/templates/reductions/index.html.twig b/templates/reductions/index.html.twig
new file mode 100644
index 0000000..a9788fd
--- /dev/null
+++ b/templates/reductions/index.html.twig
@@ -0,0 +1,48 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Reductions index{% endblock %}
+{% block stylesheets %}
+
+
+{% endblock %}
+{% block body %}
+ Reductions index
+
+
+
+
+ Id |
+ Description |
+ Prix |
+ Pourcentage |
+ MontantFixe |
+ DateDebut |
+ DateFin |
+ actions |
+
+
+
+ {% for reduction in reductions %}
+
+ {{ reduction.id }} |
+ {{ reduction.Description }} |
+ {{ reduction.Prix }} |
+ {{ reduction.Pourcentage }} |
+ {{ reduction.MontantFixe }} |
+ {{ reduction.DateDebut ? reduction.DateDebut|date('Y-m-d H:i:s') : '' }} |
+ {{ reduction.DateFin ? reduction.DateFin|date('Y-m-d H:i:s') : '' }} |
+
+ show
+ edit
+ |
+
+ {% else %}
+
+ pas encore de réductions |
+
+ {% endfor %}
+
+
+
+ Créer une réduction
+{% endblock %}
diff --git a/templates/reductions/new.html.twig b/templates/reductions/new.html.twig
new file mode 100644
index 0000000..3b23736
--- /dev/null
+++ b/templates/reductions/new.html.twig
@@ -0,0 +1,11 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}New Reductions{% endblock %}
+
+{% block body %}
+ Create new Reductions
+
+ {{ include('reductions/_form.html.twig') }}
+
+ back to list
+{% endblock %}
diff --git a/templates/reductions/show.html.twig b/templates/reductions/show.html.twig
new file mode 100644
index 0000000..4841c98
--- /dev/null
+++ b/templates/reductions/show.html.twig
@@ -0,0 +1,46 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Reductions{% endblock %}
+
+{% block body %}
+ Reductions
+
+
+
+
+ Id |
+ {{ reduction.id }} |
+
+
+ Description |
+ {{ reduction.Description }} |
+
+
+ Prix |
+ {{ reduction.Prix }} |
+
+
+ Pourcentage |
+ {{ reduction.Pourcentage }} |
+
+
+ MontantFixe |
+ {{ reduction.MontantFixe }} |
+
+
+ DateDebut |
+ {{ reduction.DateDebut ? reduction.DateDebut|date('Y-m-d H:i:s') : '' }} |
+
+
+ DateFin |
+ {{ reduction.DateFin ? reduction.DateFin|date('Y-m-d H:i:s') : '' }} |
+
+
+
+
+ back to list
+
+ edit
+
+ {{ include('reductions/_delete_form.html.twig') }}
+{% endblock %}