diff --git a/UPGRADING-3.md b/UPGRADING-3.md
index 0a79d1d4..5e20a4c4 100644
--- a/UPGRADING-3.md
+++ b/UPGRADING-3.md
@@ -16,3 +16,9 @@ Perform EACH version specific task between your version and the new one, otherwi
Removed translations:
- `action.edit`: use `edit` instead
- `my.profile`: use `user_profile` instead
+- `stats.userAmountToday`: use `` instead
+- `stats.userAmountWeek`: use `` instead
+- `stats.userAmountMonth`: use `` instead
+- `stats.userAmountYear`: use `` instead
+- `stats.userAmountTotal`: use `` instead
+- `update_multiple`
\ No newline at end of file
diff --git a/assets/sass/content.scss b/assets/sass/content.scss
index 6b76dfc4..e3a57120 100644
--- a/assets/sass/content.scss
+++ b/assets/sass/content.scss
@@ -52,6 +52,13 @@ table.dataTable thead > tr > th.hw-min {
width: 1%;
white-space: normal;
}
+@include media-breakpoint-up(sm) {
+ th.w-sm-min,
+ td.w-sm-min {
+ width: 1%;
+ white-space: nowrap;
+ }
+}
/* If a table column contains ONLY avatar
it will collapse, so make it a defined width */
.w-avatar {
width: 40px;
diff --git a/composer.lock b/composer.lock
index 78cbc916..7fba77aa 100644
--- a/composer.lock
+++ b/composer.lock
@@ -2009,16 +2009,16 @@
},
{
"name": "gedmo/doctrine-extensions",
- "version": "v3.18.0",
+ "version": "v3.19.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine-extensions/DoctrineExtensions.git",
- "reference": "964db6c4fb5b0fc8aa25cc31b17471b4963460c6"
+ "reference": "5b0b8a442d19e6701ae64535dc08f7944e2895d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/964db6c4fb5b0fc8aa25cc31b17471b4963460c6",
- "reference": "964db6c4fb5b0fc8aa25cc31b17471b4963460c6",
+ "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/5b0b8a442d19e6701ae64535dc08f7944e2895d2",
+ "reference": "5b0b8a442d19e6701ae64535dc08f7944e2895d2",
"shasum": ""
},
"require": {
@@ -2037,7 +2037,7 @@
"doctrine/common": "<2.13 || >=4.0",
"doctrine/dbal": "<3.7 || >=5.0",
"doctrine/mongodb-odm": "<2.3 || >=3.0",
- "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1 || >=4.0"
+ "doctrine/orm": "<2.20 || >=3.0 <3.3 || >=4.0"
},
"require-dev": {
"doctrine/annotations": "^1.13 || ^2.0",
@@ -2046,8 +2046,8 @@
"doctrine/dbal": "^3.7 || ^4.0",
"doctrine/doctrine-bundle": "^2.3",
"doctrine/mongodb-odm": "^2.3",
- "doctrine/orm": "^2.14.0 || ^3.0",
- "friendsofphp/php-cs-fixer": "^3.14.0",
+ "doctrine/orm": "^2.20 || ^3.3",
+ "friendsofphp/php-cs-fixer": "^3.70",
"nesbot/carbon": "^2.71 || ^3.0",
"phpstan/phpstan": "^2.1.1",
"phpstan/phpstan-doctrine": "^2.0.1",
@@ -2115,7 +2115,7 @@
"support": {
"email": "gediminas.morkevicius@gmail.com",
"issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues",
- "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.18.0",
+ "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.19.0",
"wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc"
},
"funding": [
@@ -2136,7 +2136,7 @@
"type": "github"
}
],
- "time": "2025-02-01T22:28:13+00:00"
+ "time": "2025-02-24T22:12:57+00:00"
},
{
"name": "jms/metadata",
@@ -2204,16 +2204,16 @@
},
{
"name": "jms/serializer",
- "version": "3.32.2",
+ "version": "3.32.3",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/serializer.git",
- "reference": "fa7ab39504c24d76107ba16c00aafa5da3605971"
+ "reference": "033c9beab9eb708509a3d400e9f0ffeb2d440e71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/fa7ab39504c24d76107ba16c00aafa5da3605971",
- "reference": "fa7ab39504c24d76107ba16c00aafa5da3605971",
+ "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/033c9beab9eb708509a3d400e9f0ffeb2d440e71",
+ "reference": "033c9beab9eb708509a3d400e9f0ffeb2d440e71",
"shasum": ""
},
"require": {
@@ -2290,7 +2290,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/serializer/issues",
- "source": "https://github.com/schmittjoh/serializer/tree/3.32.2"
+ "source": "https://github.com/schmittjoh/serializer/tree/3.32.3"
},
"funding": [
{
@@ -2298,7 +2298,7 @@
"type": "github"
}
],
- "time": "2025-01-03T22:43:29+00:00"
+ "time": "2025-02-11T23:16:25+00:00"
},
{
"name": "jms/serializer-bundle",
@@ -2391,16 +2391,16 @@
},
{
"name": "kevinpapst/tabler-bundle",
- "version": "1.6.1",
+ "version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/kevinpapst/TablerBundle.git",
- "reference": "d6e4ce78e8228402a2e419835913c4b1b29d0838"
+ "reference": "39b5e2946c0d4fea5ad05be9b1cdad686d7035b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/kevinpapst/TablerBundle/zipball/d6e4ce78e8228402a2e419835913c4b1b29d0838",
- "reference": "d6e4ce78e8228402a2e419835913c4b1b29d0838",
+ "url": "https://api.github.com/repos/kevinpapst/TablerBundle/zipball/39b5e2946c0d4fea5ad05be9b1cdad686d7035b3",
+ "reference": "39b5e2946c0d4fea5ad05be9b1cdad686d7035b3",
"shasum": ""
},
"require": {
@@ -2450,7 +2450,7 @@
"description": "Admin/Backend theme bundle for Symfony based on Tabler.io",
"support": {
"issues": "https://github.com/kevinpapst/TablerBundle/issues",
- "source": "https://github.com/kevinpapst/TablerBundle/tree/1.6.1"
+ "source": "https://github.com/kevinpapst/TablerBundle/tree/1.7.0"
},
"funding": [
{
@@ -2462,7 +2462,7 @@
"type": "github"
}
],
- "time": "2024-12-19T21:09:30+00:00"
+ "time": "2025-02-13T08:14:16+00:00"
},
{
"name": "league/csv",
@@ -3066,16 +3066,16 @@
},
{
"name": "myclabs/deep-copy",
- "version": "1.12.1",
+ "version": "1.13.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
- "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/024473a478be9df5fdaca2c793f2232fe788e414",
+ "reference": "024473a478be9df5fdaca2c793f2232fe788e414",
"shasum": ""
},
"require": {
@@ -3114,7 +3114,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.13.0"
},
"funding": [
{
@@ -3122,20 +3122,20 @@
"type": "tidelift"
}
],
- "time": "2024-11-08T17:47:46+00:00"
+ "time": "2025-02-12T12:17:51+00:00"
},
{
"name": "nelmio/api-doc-bundle",
- "version": "v4.36.1",
+ "version": "v4.37.1",
"source": {
"type": "git",
"url": "https://github.com/nelmio/NelmioApiDocBundle.git",
- "reference": "cdc855ef8e6a811336c3a6c72fe99fbe13a78e37"
+ "reference": "1497977f82d396f1dda8120434c6d29f3de683e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/cdc855ef8e6a811336c3a6c72fe99fbe13a78e37",
- "reference": "cdc855ef8e6a811336c3a6c72fe99fbe13a78e37",
+ "url": "https://api.github.com/repos/nelmio/NelmioApiDocBundle/zipball/1497977f82d396f1dda8120434c6d29f3de683e6",
+ "reference": "1497977f82d396f1dda8120434c6d29f3de683e6",
"shasum": ""
},
"require": {
@@ -3236,7 +3236,7 @@
],
"support": {
"issues": "https://github.com/nelmio/NelmioApiDocBundle/issues",
- "source": "https://github.com/nelmio/NelmioApiDocBundle/tree/v4.36.1"
+ "source": "https://github.com/nelmio/NelmioApiDocBundle/tree/v4.37.1"
},
"funding": [
{
@@ -3244,7 +3244,7 @@
"type": "github"
}
],
- "time": "2025-01-19T17:01:30+00:00"
+ "time": "2025-02-14T12:47:20+00:00"
},
{
"name": "nelmio/cors-bundle",
@@ -4186,16 +4186,16 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "2.0.0",
+ "version": "2.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299"
+ "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/c00d78fb6b29658347f9d37ebe104bffadf36299",
- "reference": "c00d78fb6b29658347f9d37ebe104bffadf36299",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
+ "reference": "9b30d6fd026b2c132b3985ce6b23bec09ab3aa68",
"shasum": ""
},
"require": {
@@ -4227,9 +4227,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/2.0.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/2.1.0"
},
- "time": "2024-10-13T11:29:49+00:00"
+ "time": "2025-02-19T13:28:12+00:00"
},
{
"name": "psr/cache",
@@ -5127,16 +5127,16 @@
},
{
"name": "symfony/cache",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "b209751ed25f735ea90ca4c9c969d9413a17dfee"
+ "reference": "342e87b15ac02e4b4f0924ddc368e75d5262aab3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/b209751ed25f735ea90ca4c9c969d9413a17dfee",
- "reference": "b209751ed25f735ea90ca4c9c969d9413a17dfee",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/342e87b15ac02e4b4f0924ddc368e75d5262aab3",
+ "reference": "342e87b15ac02e4b4f0924ddc368e75d5262aab3",
"shasum": ""
},
"require": {
@@ -5203,7 +5203,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v6.4.18"
+ "source": "https://github.com/symfony/cache/tree/v6.4.19"
},
"funding": [
{
@@ -5219,7 +5219,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-22T14:13:52+00:00"
+ "time": "2025-02-26T09:12:57+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -5607,16 +5607,16 @@
},
{
"name": "symfony/dependency-injection",
- "version": "v6.4.16",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "7a379d8871f6a36f01559c14e11141cc02eb8dc8"
+ "reference": "b343c3b2f1539fe41331657b37d5c96c1d1ea842"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/7a379d8871f6a36f01559c14e11141cc02eb8dc8",
- "reference": "7a379d8871f6a36f01559c14e11141cc02eb8dc8",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/b343c3b2f1539fe41331657b37d5c96c1d1ea842",
+ "reference": "b343c3b2f1539fe41331657b37d5c96c1d1ea842",
"shasum": ""
},
"require": {
@@ -5668,7 +5668,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/v6.4.16"
+ "source": "https://github.com/symfony/dependency-injection/tree/v6.4.19"
},
"funding": [
{
@@ -5684,7 +5684,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-25T14:52:46+00:00"
+ "time": "2025-02-20T10:02:49+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -5755,16 +5755,16 @@
},
{
"name": "symfony/doctrine-bridge",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-bridge.git",
- "reference": "fd0094d4648bf6bbdafcd1f0c8aafb6e93d735e6"
+ "reference": "22df1e858b8b00647c67fc201dfbea65c0fdab15"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/fd0094d4648bf6bbdafcd1f0c8aafb6e93d735e6",
- "reference": "fd0094d4648bf6bbdafcd1f0c8aafb6e93d735e6",
+ "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/22df1e858b8b00647c67fc201dfbea65c0fdab15",
+ "reference": "22df1e858b8b00647c67fc201dfbea65c0fdab15",
"shasum": ""
},
"require": {
@@ -5843,7 +5843,7 @@
"description": "Provides integration for Doctrine with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.18"
+ "source": "https://github.com/symfony/doctrine-bridge/tree/v6.4.19"
},
"funding": [
{
@@ -5859,7 +5859,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-25T08:04:58+00:00"
+ "time": "2025-02-18T08:43:25+00:00"
},
{
"name": "symfony/dotenv",
@@ -5937,16 +5937,16 @@
},
{
"name": "symfony/error-handler",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "e8d3b5b1975e67812a54388b1ba8e9ec28eb770e"
+ "reference": "3d4e55cd2b8f1979a65eba9ab749d6466c316f71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/e8d3b5b1975e67812a54388b1ba8e9ec28eb770e",
- "reference": "e8d3b5b1975e67812a54388b1ba8e9ec28eb770e",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/3d4e55cd2b8f1979a65eba9ab749d6466c316f71",
+ "reference": "3d4e55cd2b8f1979a65eba9ab749d6466c316f71",
"shasum": ""
},
"require": {
@@ -5992,7 +5992,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/v6.4.18"
+ "source": "https://github.com/symfony/error-handler/tree/v6.4.19"
},
"funding": [
{
@@ -6008,7 +6008,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-06T09:38:16+00:00"
+ "time": "2025-02-02T20:16:33+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -6527,16 +6527,16 @@
},
{
"name": "symfony/framework-bundle",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/framework-bundle.git",
- "reference": "91df8ee37543ebc01756c9e5eaf94d1878ff1ccd"
+ "reference": "078a6f11cb34d208d6efc74003d77f66a09fa3c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/91df8ee37543ebc01756c9e5eaf94d1878ff1ccd",
- "reference": "91df8ee37543ebc01756c9e5eaf94d1878ff1ccd",
+ "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/078a6f11cb34d208d6efc74003d77f66a09fa3c2",
+ "reference": "078a6f11cb34d208d6efc74003d77f66a09fa3c2",
"shasum": ""
},
"require": {
@@ -6656,7 +6656,7 @@
"description": "Provides a tight integration between Symfony components and the Symfony full-stack framework",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/framework-bundle/tree/v6.4.18"
+ "source": "https://github.com/symfony/framework-bundle/tree/v6.4.19"
},
"funding": [
{
@@ -6672,20 +6672,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-28T18:47:02+00:00"
+ "time": "2025-02-26T07:27:07+00:00"
},
{
"name": "symfony/http-client",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "394b440934056b8d9d6ba250001458e9d7998b7f"
+ "reference": "3294a433fc9d12ae58128174896b5b1822c28dad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/394b440934056b8d9d6ba250001458e9d7998b7f",
- "reference": "394b440934056b8d9d6ba250001458e9d7998b7f",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/3294a433fc9d12ae58128174896b5b1822c28dad",
+ "reference": "3294a433fc9d12ae58128174896b5b1822c28dad",
"shasum": ""
},
"require": {
@@ -6749,7 +6749,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v6.4.18"
+ "source": "https://github.com/symfony/http-client/tree/v6.4.19"
},
"funding": [
{
@@ -6765,7 +6765,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-28T15:49:13+00:00"
+ "time": "2025-02-13T09:55:13+00:00"
},
{
"name": "symfony/http-client-contracts",
@@ -6924,16 +6924,16 @@
},
{
"name": "symfony/http-kernel",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "fca7197bfe9e99dfae7fb1ad3f7f5bd9ef80e1b7"
+ "reference": "88f2c9f7feff86bb7b9105c5151bc2c1404cd64c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fca7197bfe9e99dfae7fb1ad3f7f5bd9ef80e1b7",
- "reference": "fca7197bfe9e99dfae7fb1ad3f7f5bd9ef80e1b7",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/88f2c9f7feff86bb7b9105c5151bc2c1404cd64c",
+ "reference": "88f2c9f7feff86bb7b9105c5151bc2c1404cd64c",
"shasum": ""
},
"require": {
@@ -7018,7 +7018,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/v6.4.18"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.4.19"
},
"funding": [
{
@@ -7034,7 +7034,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:25:58+00:00"
+ "time": "2025-02-26T10:51:37+00:00"
},
{
"name": "symfony/intl",
@@ -7201,16 +7201,16 @@
},
{
"name": "symfony/mime",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "917d77981eb1ea963608d5cda4d9c0cf72eaa68e"
+ "reference": "ac537b6c55ccc2c749f3c979edfa9ec14aaed4f3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/917d77981eb1ea963608d5cda4d9c0cf72eaa68e",
- "reference": "917d77981eb1ea963608d5cda4d9c0cf72eaa68e",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/ac537b6c55ccc2c749f3c979edfa9ec14aaed4f3",
+ "reference": "ac537b6c55ccc2c749f3c979edfa9ec14aaed4f3",
"shasum": ""
},
"require": {
@@ -7266,7 +7266,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.4.18"
+ "source": "https://github.com/symfony/mime/tree/v6.4.19"
},
"funding": [
{
@@ -7282,7 +7282,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-23T13:10:52+00:00"
+ "time": "2025-02-17T21:23:52+00:00"
},
{
"name": "symfony/monolog-bridge",
@@ -7661,16 +7661,16 @@
},
{
"name": "symfony/process",
- "version": "v6.4.15",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "3cb242f059c14ae08591c5c4087d1fe443564392"
+ "reference": "7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/3cb242f059c14ae08591c5c4087d1fe443564392",
- "reference": "3cb242f059c14ae08591c5c4087d1fe443564392",
+ "url": "https://api.github.com/repos/symfony/process/zipball/7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3",
+ "reference": "7a1c12e87b08ec9c97abdd188c9b3f5a40e37fc3",
"shasum": ""
},
"require": {
@@ -7702,7 +7702,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.4.15"
+ "source": "https://github.com/symfony/process/tree/v6.4.19"
},
"funding": [
{
@@ -7718,7 +7718,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-06T14:19:14+00:00"
+ "time": "2025-02-04T13:35:48+00:00"
},
{
"name": "symfony/property-access",
@@ -8384,16 +8384,16 @@
},
{
"name": "symfony/security-http",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/security-http.git",
- "reference": "54f2ccce1f3822eee3fb3a85debd9a67d12762b8"
+ "reference": "a57bb00b01036865e6c08d0c8540df429534df19"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/security-http/zipball/54f2ccce1f3822eee3fb3a85debd9a67d12762b8",
- "reference": "54f2ccce1f3822eee3fb3a85debd9a67d12762b8",
+ "url": "https://api.github.com/repos/symfony/security-http/zipball/a57bb00b01036865e6c08d0c8540df429534df19",
+ "reference": "a57bb00b01036865e6c08d0c8540df429534df19",
"shasum": ""
},
"require": {
@@ -8452,7 +8452,7 @@
"description": "Symfony Security Component - HTTP Integration",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/security-http/tree/v6.4.18"
+ "source": "https://github.com/symfony/security-http/tree/v6.4.19"
},
"funding": [
{
@@ -8468,20 +8468,20 @@
"type": "tidelift"
}
],
- "time": "2025-01-28T14:53:52+00:00"
+ "time": "2025-01-28T19:24:43+00:00"
},
{
"name": "symfony/serializer",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/serializer.git",
- "reference": "6ad986f62276da4c8c69754decfaa445a89cb6e3"
+ "reference": "a221b2f6066af304d760cff7a26f201b4fab4aef"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/serializer/zipball/6ad986f62276da4c8c69754decfaa445a89cb6e3",
- "reference": "6ad986f62276da4c8c69754decfaa445a89cb6e3",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/a221b2f6066af304d760cff7a26f201b4fab4aef",
+ "reference": "a221b2f6066af304d760cff7a26f201b4fab4aef",
"shasum": ""
},
"require": {
@@ -8550,7 +8550,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/v6.4.18"
+ "source": "https://github.com/symfony/serializer/tree/v6.4.19"
},
"funding": [
{
@@ -8566,7 +8566,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-28T18:47:02+00:00"
+ "time": "2025-02-24T08:42:36+00:00"
},
{
"name": "symfony/service-contracts",
@@ -8653,16 +8653,16 @@
},
{
"name": "symfony/stopwatch",
- "version": "v6.4.13",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/stopwatch.git",
- "reference": "2cae0a6f8d04937d02f6d19806251e2104d54f92"
+ "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/stopwatch/zipball/2cae0a6f8d04937d02f6d19806251e2104d54f92",
- "reference": "2cae0a6f8d04937d02f6d19806251e2104d54f92",
+ "url": "https://api.github.com/repos/symfony/stopwatch/zipball/dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c",
+ "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c",
"shasum": ""
},
"require": {
@@ -8695,7 +8695,7 @@
"description": "Provides a way to profile code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/stopwatch/tree/v6.4.13"
+ "source": "https://github.com/symfony/stopwatch/tree/v6.4.19"
},
"funding": [
{
@@ -8711,7 +8711,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2025-02-21T10:06:30+00:00"
},
{
"name": "symfony/string",
@@ -8801,16 +8801,16 @@
},
{
"name": "symfony/translation",
- "version": "v6.4.13",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66"
+ "reference": "3b9bf9f33997c064885a7bfc126c14b9daa0e00e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/bee9bfabfa8b4045a66bf82520e492cddbaffa66",
- "reference": "bee9bfabfa8b4045a66bf82520e492cddbaffa66",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/3b9bf9f33997c064885a7bfc126c14b9daa0e00e",
+ "reference": "3b9bf9f33997c064885a7bfc126c14b9daa0e00e",
"shasum": ""
},
"require": {
@@ -8876,7 +8876,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.4.13"
+ "source": "https://github.com/symfony/translation/tree/v6.4.19"
},
"funding": [
{
@@ -8892,7 +8892,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-27T18:14:25+00:00"
+ "time": "2025-02-13T10:18:43+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -8974,16 +8974,16 @@
},
{
"name": "symfony/twig-bridge",
- "version": "v6.4.17",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/twig-bridge.git",
- "reference": "238e1aac992b5231c66faf10131ace7bdba97065"
+ "reference": "d6aecb7196bf610e63ebb64f937c33878d5d03b1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/238e1aac992b5231c66faf10131ace7bdba97065",
- "reference": "238e1aac992b5231c66faf10131ace7bdba97065",
+ "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/d6aecb7196bf610e63ebb64f937c33878d5d03b1",
+ "reference": "d6aecb7196bf610e63ebb64f937c33878d5d03b1",
"shasum": ""
},
"require": {
@@ -9063,7 +9063,7 @@
"description": "Provides integration for Twig with various Symfony components",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/twig-bridge/tree/v6.4.17"
+ "source": "https://github.com/symfony/twig-bridge/tree/v6.4.19"
},
"funding": [
{
@@ -9079,7 +9079,7 @@
"type": "tidelift"
}
],
- "time": "2024-12-19T14:08:41+00:00"
+ "time": "2025-02-14T09:54:06+00:00"
},
{
"name": "symfony/twig-bundle",
@@ -9167,16 +9167,16 @@
},
{
"name": "symfony/validator",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "ce20367d07b2592202e9c266b16a93fa50145207"
+ "reference": "f3e853dffe7c5db675686b8216d6d890dad8c885"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/ce20367d07b2592202e9c266b16a93fa50145207",
- "reference": "ce20367d07b2592202e9c266b16a93fa50145207",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/f3e853dffe7c5db675686b8216d6d890dad8c885",
+ "reference": "f3e853dffe7c5db675686b8216d6d890dad8c885",
"shasum": ""
},
"require": {
@@ -9244,7 +9244,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v6.4.18"
+ "source": "https://github.com/symfony/validator/tree/v6.4.19"
},
"funding": [
{
@@ -9260,7 +9260,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-27T16:05:44+00:00"
+ "time": "2025-02-19T13:12:02+00:00"
},
{
"name": "symfony/var-dumper",
@@ -9349,16 +9349,16 @@
},
{
"name": "symfony/var-exporter",
- "version": "v6.4.13",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "0f605f72a363f8743001038a176eeb2a11223b51"
+ "reference": "be6e71b0c257884c1107313de5d247741cfea172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0f605f72a363f8743001038a176eeb2a11223b51",
- "reference": "0f605f72a363f8743001038a176eeb2a11223b51",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/be6e71b0c257884c1107313de5d247741cfea172",
+ "reference": "be6e71b0c257884c1107313de5d247741cfea172",
"shasum": ""
},
"require": {
@@ -9406,7 +9406,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v6.4.13"
+ "source": "https://github.com/symfony/var-exporter/tree/v6.4.19"
},
"funding": [
{
@@ -9422,7 +9422,7 @@
"type": "tidelift"
}
],
- "time": "2024-09-25T14:18:03+00:00"
+ "time": "2025-02-13T09:33:32+00:00"
},
{
"name": "symfony/webpack-encore-bundle",
@@ -9625,20 +9625,20 @@
},
{
"name": "twig/cssinliner-extra",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/cssinliner-extra.git",
- "reference": "cef36c444b1cce4c0978d7aebd20427671a918f4"
+ "reference": "378d29b61d6406c456e3a4afbd15bbeea0b72ea8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/cef36c444b1cce4c0978d7aebd20427671a918f4",
- "reference": "cef36c444b1cce4c0978d7aebd20427671a918f4",
+ "url": "https://api.github.com/repos/twigphp/cssinliner-extra/zipball/378d29b61d6406c456e3a4afbd15bbeea0b72ea8",
+ "reference": "378d29b61d6406c456e3a4afbd15bbeea0b72ea8",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"tijsverkoyen/css-to-inline-styles": "^2.0",
"twig/twig": "^3.13|^4.0"
@@ -9678,7 +9678,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.19.0"
+ "source": "https://github.com/twigphp/cssinliner-extra/tree/v3.20.0"
},
"funding": [
{
@@ -9690,24 +9690,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-03T13:08:40+00:00"
+ "time": "2025-01-31T20:45:36+00:00"
},
{
"name": "twig/extra-bundle",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/twig-extra-bundle.git",
- "reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa"
+ "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9746573ca4bc1cd03a767a183faadaf84e0c31fa",
- "reference": "9746573ca4bc1cd03a767a183faadaf84e0c31fa",
+ "url": "https://api.github.com/repos/twigphp/twig-extra-bundle/zipball/9df5e1dbb6a68c0665ae5603f6f2c20815647876",
+ "reference": "9df5e1dbb6a68c0665ae5603f6f2c20815647876",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/framework-bundle": "^5.4|^6.4|^7.0",
"symfony/twig-bundle": "^5.4|^6.4|^7.0",
"twig/twig": "^3.2|^4.0"
@@ -9752,7 +9752,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.19.0"
+ "source": "https://github.com/twigphp/twig-extra-bundle/tree/v3.20.0"
},
"funding": [
{
@@ -9764,25 +9764,25 @@
"type": "tidelift"
}
],
- "time": "2024-09-26T19:22:23+00:00"
+ "time": "2025-02-08T09:47:15+00:00"
},
{
"name": "twig/inky-extra",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/inky-extra.git",
- "reference": "60c92c2a435ccd95d7a852229f01098aaf7fbced"
+ "reference": "aacd79d94534b4a7fd6533cb5c33c4ee97239a0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/60c92c2a435ccd95d7a852229f01098aaf7fbced",
- "reference": "60c92c2a435ccd95d7a852229f01098aaf7fbced",
+ "url": "https://api.github.com/repos/twigphp/inky-extra/zipball/aacd79d94534b4a7fd6533cb5c33c4ee97239a0d",
+ "reference": "aacd79d94534b4a7fd6533cb5c33c4ee97239a0d",
"shasum": ""
},
"require": {
"lorenzo/pinky": "^1.0.5",
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"twig/twig": "^3.13|^4.0"
},
@@ -9822,7 +9822,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/inky-extra/tree/v3.19.0"
+ "source": "https://github.com/twigphp/inky-extra/tree/v3.20.0"
},
"funding": [
{
@@ -9834,24 +9834,24 @@
"type": "tidelift"
}
],
- "time": "2024-09-03T13:08:40+00:00"
+ "time": "2025-01-31T20:45:36+00:00"
},
{
"name": "twig/intl-extra",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/intl-extra.git",
- "reference": "79a1bea7254783b540d51de10dc5e9f310110794"
+ "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/79a1bea7254783b540d51de10dc5e9f310110794",
- "reference": "79a1bea7254783b540d51de10dc5e9f310110794",
+ "url": "https://api.github.com/repos/twigphp/intl-extra/zipball/05bc5d46b9df9e62399eae53e7c0b0633298b146",
+ "reference": "05bc5d46b9df9e62399eae53e7c0b0633298b146",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/intl": "^5.4|^6.4|^7.0",
"twig/twig": "^3.13|^4.0"
},
@@ -9886,7 +9886,7 @@
"twig"
],
"support": {
- "source": "https://github.com/twigphp/intl-extra/tree/v3.19.0"
+ "source": "https://github.com/twigphp/intl-extra/tree/v3.20.0"
},
"funding": [
{
@@ -9898,24 +9898,24 @@
"type": "tidelift"
}
],
- "time": "2025-01-24T20:20:33+00:00"
+ "time": "2025-01-31T20:45:36+00:00"
},
{
"name": "twig/string-extra",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/string-extra.git",
- "reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752"
+ "reference": "4b3337544ac8f76c280def94e32b53acfaec0589"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/string-extra/zipball/cb4eec11de02f63ad8ea9d065a1f27752d0bf752",
- "reference": "cb4eec11de02f63ad8ea9d065a1f27752d0bf752",
+ "url": "https://api.github.com/repos/twigphp/string-extra/zipball/4b3337544ac8f76c280def94e32b53acfaec0589",
+ "reference": "4b3337544ac8f76c280def94e32b53acfaec0589",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/string": "^5.4|^6.4|^7.0",
"symfony/translation-contracts": "^1.1|^2|^3",
"twig/twig": "^3.13|^4.0"
@@ -9953,7 +9953,7 @@
"unicode"
],
"support": {
- "source": "https://github.com/twigphp/string-extra/tree/v3.19.0"
+ "source": "https://github.com/twigphp/string-extra/tree/v3.20.0"
},
"funding": [
{
@@ -9965,28 +9965,27 @@
"type": "tidelift"
}
],
- "time": "2024-11-30T08:42:13+00:00"
+ "time": "2025-01-31T20:45:36+00:00"
},
{
"name": "twig/twig",
- "version": "v3.19.0",
+ "version": "v3.20.0",
"source": {
"type": "git",
"url": "https://github.com/twigphp/Twig.git",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e"
+ "reference": "3468920399451a384bef53cf7996965f7cd40183"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/twigphp/Twig/zipball/d4f8c2b86374f08efc859323dbcd95c590f7124e",
- "reference": "d4f8c2b86374f08efc859323dbcd95c590f7124e",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/3468920399451a384bef53cf7996965f7cd40183",
+ "reference": "3468920399451a384bef53cf7996965f7cd40183",
"shasum": ""
},
"require": {
- "php": ">=8.0.2",
+ "php": ">=8.1.0",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-ctype": "^1.8",
- "symfony/polyfill-mbstring": "^1.3",
- "symfony/polyfill-php81": "^1.29"
+ "symfony/polyfill-mbstring": "^1.3"
},
"require-dev": {
"phpstan/phpstan": "^2.0",
@@ -10033,7 +10032,7 @@
],
"support": {
"issues": "https://github.com/twigphp/Twig/issues",
- "source": "https://github.com/twigphp/Twig/tree/v3.19.0"
+ "source": "https://github.com/twigphp/Twig/tree/v3.20.0"
},
"funding": [
{
@@ -10045,7 +10044,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-29T07:06:14+00:00"
+ "time": "2025-02-13T08:34:43+00:00"
},
{
"name": "webmozart/assert",
@@ -10206,16 +10205,16 @@
},
{
"name": "zircote/swagger-php",
- "version": "5.0.3",
+ "version": "5.0.5",
"source": {
"type": "git",
"url": "https://github.com/zircote/swagger-php.git",
- "reference": "7708510b17502a416214148edaa8c9958b23b6cd"
+ "reference": "2eb4005840058d8844a0bcc14403932331331068"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7708510b17502a416214148edaa8c9958b23b6cd",
- "reference": "7708510b17502a416214148edaa8c9958b23b6cd",
+ "url": "https://api.github.com/repos/zircote/swagger-php/zipball/2eb4005840058d8844a0bcc14403932331331068",
+ "reference": "2eb4005840058d8844a0bcc14403932331331068",
"shasum": ""
},
"require": {
@@ -10286,9 +10285,9 @@
],
"support": {
"issues": "https://github.com/zircote/swagger-php/issues",
- "source": "https://github.com/zircote/swagger-php/tree/5.0.3"
+ "source": "https://github.com/zircote/swagger-php/tree/5.0.5"
},
- "time": "2025-01-15T21:02:43+00:00"
+ "time": "2025-02-24T00:48:00+00:00"
}
],
"packages-dev": [
@@ -10832,16 +10831,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.68.5",
+ "version": "v3.70.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "7bedb718b633355272428c60736dc97fb96daf27"
+ "reference": "2ecd5aae0edc937f0d5aa4a22d1d705c6b2e084e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/7bedb718b633355272428c60736dc97fb96daf27",
- "reference": "7bedb718b633355272428c60736dc97fb96daf27",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2ecd5aae0edc937f0d5aa4a22d1d705c6b2e084e",
+ "reference": "2ecd5aae0edc937f0d5aa4a22d1d705c6b2e084e",
"shasum": ""
},
"require": {
@@ -10858,7 +10857,7 @@
"react/promise": "^2.0 || ^3.0",
"react/socket": "^1.0",
"react/stream": "^1.0",
- "sebastian/diff": "^4.0 || ^5.1 || ^6.0",
+ "sebastian/diff": "^4.0 || ^5.1 || ^6.0 || ^7.0",
"symfony/console": "^5.4 || ^6.4 || ^7.0",
"symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0",
"symfony/filesystem": "^5.4 || ^6.4 || ^7.0",
@@ -10871,18 +10870,18 @@
"symfony/stopwatch": "^5.4 || ^6.4 || ^7.0"
},
"require-dev": {
- "facile-it/paraunit": "^1.3.1 || ^2.4",
- "infection/infection": "^0.29.8",
+ "facile-it/paraunit": "^1.3.1 || ^2.5",
+ "infection/infection": "^0.29.10",
"justinrainbow/json-schema": "^5.3 || ^6.0",
"keradus/cli-executor": "^2.1",
"mikey179/vfsstream": "^1.6.12",
"php-coveralls/php-coveralls": "^2.7",
"php-cs-fixer/accessible-object": "^1.1",
- "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
- "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
- "phpunit/phpunit": "^9.6.22 || ^10.5.40 || ^11.5.2",
- "symfony/var-dumper": "^5.4.48 || ^6.4.15 || ^7.2.0",
- "symfony/yaml": "^5.4.45 || ^6.4.13 || ^7.2.0"
+ "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6",
+ "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6",
+ "phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.7",
+ "symfony/var-dumper": "^5.4.48 || ^6.4.18 || ^7.2.0",
+ "symfony/yaml": "^5.4.45 || ^6.4.18 || ^7.2.0"
},
"suggest": {
"ext-dom": "For handling output formats in XML",
@@ -10923,7 +10922,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.68.5"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.70.0"
},
"funding": [
{
@@ -10931,7 +10930,7 @@
"type": "github"
}
],
- "time": "2025-01-30T17:00:50+00:00"
+ "time": "2025-02-22T23:30:51+00:00"
},
{
"name": "masterminds/html5",
@@ -11120,16 +11119,16 @@
},
{
"name": "phpstan/phpstan",
- "version": "2.1.3",
+ "version": "2.1.6",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "64ae44e48214f3deebdaeebf2694297a10a2bea9"
+ "reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/64ae44e48214f3deebdaeebf2694297a10a2bea9",
- "reference": "64ae44e48214f3deebdaeebf2694297a10a2bea9",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
+ "reference": "6eaec7c6c9e90dcfe46ad1e1ffa5171e2dab641c",
"shasum": ""
},
"require": {
@@ -11174,7 +11173,7 @@
"type": "github"
}
],
- "time": "2025-02-07T15:05:24+00:00"
+ "time": "2025-02-19T15:46:42+00:00"
},
{
"name": "phpstan/phpstan-deprecation-rules",
@@ -13330,16 +13329,16 @@
},
{
"name": "symfony/browser-kit",
- "version": "v6.4.13",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "65d4b3fd9556e4b5b41287bef93c671f8f9f86ab"
+ "reference": "ce95f3e3239159e7fa3be7690c6ce95a4714637f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/65d4b3fd9556e4b5b41287bef93c671f8f9f86ab",
- "reference": "65d4b3fd9556e4b5b41287bef93c671f8f9f86ab",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/ce95f3e3239159e7fa3be7690c6ce95a4714637f",
+ "reference": "ce95f3e3239159e7fa3be7690c6ce95a4714637f",
"shasum": ""
},
"require": {
@@ -13378,7 +13377,7 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v6.4.13"
+ "source": "https://github.com/symfony/browser-kit/tree/v6.4.19"
},
"funding": [
{
@@ -13394,7 +13393,7 @@
"type": "tidelift"
}
],
- "time": "2024-10-25T15:07:50+00:00"
+ "time": "2025-02-14T11:23:16+00:00"
},
{
"name": "symfony/debug-bundle",
@@ -13472,16 +13471,16 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "fd07959d3e8992795029bdab3605c2e8e895034e"
+ "reference": "19073e3e0bb50cbc1cb286077069b3107085206f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/fd07959d3e8992795029bdab3605c2e8e895034e",
- "reference": "fd07959d3e8992795029bdab3605c2e8e895034e",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/19073e3e0bb50cbc1cb286077069b3107085206f",
+ "reference": "19073e3e0bb50cbc1cb286077069b3107085206f",
"shasum": ""
},
"require": {
@@ -13519,7 +13518,7 @@
"description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/v6.4.18"
+ "source": "https://github.com/symfony/dom-crawler/tree/v6.4.19"
},
"funding": [
{
@@ -13535,7 +13534,7 @@
"type": "tidelift"
}
],
- "time": "2025-01-09T15:35:00+00:00"
+ "time": "2025-02-14T17:58:34+00:00"
},
{
"name": "symfony/phpunit-bridge",
@@ -13621,16 +13620,16 @@
},
{
"name": "symfony/web-profiler-bundle",
- "version": "v6.4.18",
+ "version": "v6.4.19",
"source": {
"type": "git",
"url": "https://github.com/symfony/web-profiler-bundle.git",
- "reference": "979b623f12d1eb4f6f8f24fd321dfe1dee2444a2"
+ "reference": "7d1026a8e950d416cb5148ae88ac23db5d264839"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/979b623f12d1eb4f6f8f24fd321dfe1dee2444a2",
- "reference": "979b623f12d1eb4f6f8f24fd321dfe1dee2444a2",
+ "url": "https://api.github.com/repos/symfony/web-profiler-bundle/zipball/7d1026a8e950d416cb5148ae88ac23db5d264839",
+ "reference": "7d1026a8e950d416cb5148ae88ac23db5d264839",
"shasum": ""
},
"require": {
@@ -13683,7 +13682,7 @@
"dev"
],
"support": {
- "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.18"
+ "source": "https://github.com/symfony/web-profiler-bundle/tree/v6.4.19"
},
"funding": [
{
@@ -13699,7 +13698,7 @@
"type": "tidelift"
}
],
- "time": "2024-12-23T18:38:04+00:00"
+ "time": "2025-02-14T12:21:59+00:00"
},
{
"name": "theseer/tokenizer",
diff --git a/src/Constants.php b/src/Constants.php
index 3d094805..3970ee93 100644
--- a/src/Constants.php
+++ b/src/Constants.php
@@ -17,11 +17,11 @@ final class Constants
/**
* The current release version
*/
- public const VERSION = '2.30.0';
+ public const VERSION = '2.31.0';
/**
* The current release: major * 10000 + minor * 100 + patch
*/
- public const VERSION_ID = 23000;
+ public const VERSION_ID = 23100;
/**
* The software name
*/
diff --git a/src/Controller/DashboardController.php b/src/Controller/DashboardController.php
index 54af6c35..6212ddef 100644
--- a/src/Controller/DashboardController.php
+++ b/src/Controller/DashboardController.php
@@ -38,7 +38,11 @@ final class DashboardController extends AbstractController
*/
private ?array $widgets = null;
- public function __construct(private EventDispatcherInterface $eventDispatcher, private WidgetService $service, private BookmarkRepository $repository)
+ public function __construct(
+ private readonly EventDispatcherInterface $eventDispatcher,
+ private readonly WidgetService $service,
+ private readonly BookmarkRepository $repository
+ )
{
}
diff --git a/src/Controller/Reporting/ProjectDateRangeController.php b/src/Controller/Reporting/ProjectDateRangeController.php
index 042eaf1c..1e5fd17f 100644
--- a/src/Controller/Reporting/ProjectDateRangeController.php
+++ b/src/Controller/Reporting/ProjectDateRangeController.php
@@ -59,11 +59,12 @@ final class ProjectDateRangeController extends AbstractController
$byCustomer[$customer->getId()]['projects'][] = $entry;
}
- return $this->render('reporting/project_daterange.html.twig', [
+ return $this->render('reporting/project/daterange.html.twig', [
'report_title' => 'report_project_daterange',
'entries' => $byCustomer,
'form' => $form->createView(),
- 'queryEnd' => $dateRange->getEnd(),
+ 'queryBegin' => $begin,
+ 'queryEnd' => $end,
]);
}
}
diff --git a/src/EventSubscriber/Actions/ProjectSubscriber.php b/src/EventSubscriber/Actions/ProjectSubscriber.php
index 9ef3f0a6..5d3eb2be 100644
--- a/src/EventSubscriber/Actions/ProjectSubscriber.php
+++ b/src/EventSubscriber/Actions/ProjectSubscriber.php
@@ -50,16 +50,21 @@ final class ProjectSubscriber extends AbstractActionsSubscriber
$event->addDivider();
}
+ $dateRange = '';
+ if (isset($payload['daterange']) && \is_string($payload['daterange'])) {
+ $dateRange = $payload['daterange'];
+ }
+
if ($this->isGranted('view_activity')) {
$event->addActionToSubmenu('filter', 'activity', ['title' => 'activities', 'url' => $this->path('admin_activity', ['customers[]' => $customer->getId(), 'projects[]' => $project->getId()])]);
}
if ($this->isGranted('view_other_timesheet')) {
- $event->addActionToSubmenu('filter', 'timesheet', ['title' => 'timesheet.filter', 'url' => $this->path('admin_timesheet', ['customers[]' => $customer->getId(), 'projects[]' => $project->getId()])]);
+ $event->addActionToSubmenu('filter', 'timesheet', ['title' => 'timesheet.filter', 'url' => $this->path('admin_timesheet', ['customers[]' => $customer->getId(), 'projects[]' => $project->getId(), 'daterange' => $dateRange])]);
}
if ($this->isGranted('create_export')) {
- $event->addActionToSubmenu('filter', 'export', ['title' => 'export', 'url' => $this->path('export', ['customers[]' => $customer->getId(), 'projects[]' => $project->getId(), 'exported' => 1, 'daterange' => ''])]);
+ $event->addActionToSubmenu('filter', 'export', ['title' => 'export', 'url' => $this->path('export', ['customers[]' => $customer->getId(), 'projects[]' => $project->getId(), 'exported' => 1, 'daterange' => $dateRange])]);
}
if ($event->hasSubmenu('filter')) {
diff --git a/src/Model/Statistic/DateRange.php b/src/Model/Statistic/DateRange.php
new file mode 100644
index 00000000..054c49cb
--- /dev/null
+++ b/src/Model/Statistic/DateRange.php
@@ -0,0 +1,54 @@
+
+ */
+ private array $days = [];
+
+ public function __construct(\DateTimeInterface $begin, \DateTimeInterface $end)
+ {
+ if ($end < $begin) {
+ throw new \InvalidArgumentException('End must be later than begin');
+ }
+
+ $begin = \DateTimeImmutable::createFromInterface($begin);
+ $begin = $begin->setTime(0, 0, 0);
+
+ $end = \DateTimeImmutable::createFromInterface($end);
+ $end = $end->setTime(23, 59, 59);
+
+ do {
+ $this->days[$begin->format('Y-m-d')] = new StatisticDate($begin);
+ $begin = $begin->modify('+1 day');
+ } while ($begin <= $end);
+ }
+
+ /**
+ * @return array
+ */
+ public function getDays(): array
+ {
+ return array_values($this->days);
+ }
+
+ public function setDate(StatisticDate $date): void
+ {
+ $key = $date->getDate()->format('Y-m-d');
+ if (!\array_key_exists($key, $this->days)) {
+ throw new \InvalidArgumentException('Unknown date given');
+ }
+
+ $this->days[$key] = $date;
+ }
+}
diff --git a/src/Model/Statistic/StatisticDate.php b/src/Model/Statistic/StatisticDate.php
index d4688519..81224073 100644
--- a/src/Model/Statistic/StatisticDate.php
+++ b/src/Model/Statistic/StatisticDate.php
@@ -14,6 +14,7 @@ final class StatisticDate extends Timesheet
private \DateTimeInterface $date;
private int $billableDuration = 0;
private float $billableRate = 0.00;
+ private int $amount = 0;
public function __construct(\DateTimeInterface $date)
{
@@ -44,4 +45,14 @@ final class StatisticDate extends Timesheet
{
$this->billableRate = $billableRate;
}
+
+ public function getAmount(): int
+ {
+ return $this->amount;
+ }
+
+ public function setAmount(int $amount): void
+ {
+ $this->amount = $amount;
+ }
}
diff --git a/src/Twig/Extensions.php b/src/Twig/Extensions.php
index 5a2c23dd..360f37c0 100644
--- a/src/Twig/Extensions.php
+++ b/src/Twig/Extensions.php
@@ -11,6 +11,7 @@ namespace App\Twig;
use App\Constants;
use App\Entity\EntityWithMetaFields;
+use App\Form\Type\DateRangeType;
use App\Utils\Color;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
@@ -37,6 +38,7 @@ final class Extensions extends AbstractExtension
public function getFunctions(): array
{
return [
+ new TwigFunction('date_range', [$this, 'buildDateRange']),
new TwigFunction('report_date', [$this, 'buildReportDate']),
new TwigFunction('class_name', [$this, 'getClassName']),
new TwigFunction('iso_day_by_name', [$this, 'getIsoDayByName']),
@@ -90,6 +92,11 @@ final class Extensions extends AbstractExtension
return $dateTime->format(self::REPORT_DATE);
}
+ public function buildDateRange(\DateTimeInterface $begin, \DateTimeInterface $end): string
+ {
+ return $begin->format(self::REPORT_DATE) . DateRangeType::DATE_SPACER . $end->format(self::REPORT_DATE);
+ }
+
public function getIsoDayByName(string $weekDay): int
{
$key = array_search(
diff --git a/templates/macros/datatables.html.twig b/templates/macros/datatables.html.twig
index f6f61b6d..80f2e41d 100644
--- a/templates/macros/datatables.html.twig
+++ b/templates/macros/datatables.html.twig
@@ -250,7 +250,7 @@
{% if (route is not empty and entries is not null) or multi_update_form is not null %}