diff --git a/composer.lock b/composer.lock index eade0a13..97bb0f34 100644 --- a/composer.lock +++ b/composer.lock @@ -4192,16 +4192,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.6.4", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "135607f9ccc297d6923d49c2bcf309f509413215" + "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/135607f9ccc297d6923d49c2bcf309f509413215", - "reference": "135607f9ccc297d6923d49c2bcf309f509413215", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/8dd908dd6156e974b9a0f8bb4cd5ad0707830f04", + "reference": "8dd908dd6156e974b9a0f8bb4cd5ad0707830f04", "shasum": "" }, "require": { @@ -4231,9 +4231,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/1.6.4" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.8.0" }, - "time": "2022-06-26T13:09:08+00:00" + "time": "2022-09-04T18:59:06+00:00" }, { "name": "psr/cache", @@ -11847,16 +11847,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.8.2", + "version": "1.8.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c" + "reference": "f6598a5ff12ca4499a836815e08b4d77a2ddeb20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c53312ecc575caf07b0e90dee43883fdf90ca67c", - "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/f6598a5ff12ca4499a836815e08b4d77a2ddeb20", + "reference": "f6598a5ff12ca4499a836815e08b4d77a2ddeb20", "shasum": "" }, "require": { @@ -11880,9 +11880,13 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.2" + "source": "https://github.com/phpstan/phpstan/tree/1.8.5" }, "funding": [ { @@ -11893,34 +11897,30 @@ "url": "https://github.com/phpstan", "type": "github" }, - { - "url": "https://www.patreon.com/phpstan", - "type": "patreon" - }, { "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", "type": "tidelift" } ], - "time": "2022-07-20T09:57:31+00:00" + "time": "2022-09-07T16:05:32+00:00" }, { "name": "phpstan/phpstan-doctrine", - "version": "1.3.11", + "version": "1.3.13", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-doctrine.git", - "reference": "3ef6399761bb33fdfa0d5546d4b6e7d8811e8850" + "reference": "62a3b4252d502f0ead9c145055947b38b8568498" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/3ef6399761bb33fdfa0d5546d4b6e7d8811e8850", - "reference": "3ef6399761bb33fdfa0d5546d4b6e7d8811e8850", + "url": "https://api.github.com/repos/phpstan/phpstan-doctrine/zipball/62a3b4252d502f0ead9c145055947b38b8568498", + "reference": "62a3b4252d502f0ead9c145055947b38b8568498", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.8.0" + "phpstan/phpstan": "^1.8.3" }, "conflict": { "doctrine/collections": "<1.0", @@ -11938,6 +11938,7 @@ "doctrine/mongodb-odm": "^1.3 || ^2.1", "doctrine/orm": "^2.11.0", "doctrine/persistence": "^1.3.8 || ^2.2.1", + "gedmo/doctrine-extensions": "^3.8", "nesbot/carbon": "^2.49", "nikic/php-parser": "^4.13.2", "php-parallel-lint/php-parallel-lint": "^1.2", @@ -11968,9 +11969,9 @@ "description": "Doctrine extensions for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-doctrine/issues", - "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.11" + "source": "https://github.com/phpstan/phpstan-doctrine/tree/1.3.13" }, - "time": "2022-07-20T14:54:37+00:00" + "time": "2022-09-06T14:54:00+00:00" }, { "name": "phpstan/phpstan-phpunit", @@ -12026,16 +12027,16 @@ }, { "name": "phpstan/phpstan-symfony", - "version": "1.2.8", + "version": "1.2.13", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-symfony.git", - "reference": "28fe677ec3ad43eb4c0946c502535365e3040ecf" + "reference": "016e441a19a2af79ca0c60920ba0d61747b4e855" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/28fe677ec3ad43eb4c0946c502535365e3040ecf", - "reference": "28fe677ec3ad43eb4c0946c502535365e3040ecf", + "url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/016e441a19a2af79ca0c60920ba0d61747b4e855", + "reference": "016e441a19a2af79ca0c60920ba0d61747b4e855", "shasum": "" }, "require": { @@ -12053,15 +12054,15 @@ "phpstan/phpstan-strict-rules": "^1.0", "phpunit/phpunit": "^9.5", "psr/container": "1.0 || 1.1.1", - "symfony/config": "^4.2 || ^5.0", - "symfony/console": "^4.0 || ^5.0", - "symfony/dependency-injection": "^4.0 || ^5.0", - "symfony/form": "^4.0 || ^5.0", - "symfony/framework-bundle": "^4.4 || ^5.0", - "symfony/http-foundation": "^5.1", - "symfony/messenger": "^4.2 || ^5.0", + "symfony/config": "^5.4 || ^6.1", + "symfony/console": "^5.4 || ^6.1", + "symfony/dependency-injection": "^5.4 || ^6.1", + "symfony/form": "^5.4 || ^6.1", + "symfony/framework-bundle": "^5.4 || ^6.1", + "symfony/http-foundation": "^5.4 || ^6.1", + "symfony/messenger": "^5.4", "symfony/polyfill-php80": "^1.24", - "symfony/serializer": "^4.0 || ^5.0" + "symfony/serializer": "^5.4" }, "type": "phpstan-extension", "extra": { @@ -12091,9 +12092,9 @@ "description": "Symfony Framework extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-symfony/issues", - "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.8" + "source": "https://github.com/phpstan/phpstan-symfony/tree/1.2.13" }, - "time": "2022-07-20T12:02:52+00:00" + "time": "2022-08-28T13:34:45+00:00" }, { "name": "phpunit/php-code-coverage", diff --git a/src/Constants.php b/src/Constants.php index 19852dad..243c03e2 100644 --- a/src/Constants.php +++ b/src/Constants.php @@ -17,11 +17,11 @@ class Constants /** * The current release version */ - public const VERSION = '1.24.0'; + public const VERSION = '1.25.0'; /** * The current release: major * 10000 + minor * 100 + patch */ - public const VERSION_ID = 12400; + public const VERSION_ID = 12500; /** * The current release status, either "stable" or "dev" */ diff --git a/src/Entity/Team.php b/src/Entity/Team.php index e88b466c..b1b01ca3 100644 --- a/src/Entity/Team.php +++ b/src/Entity/Team.php @@ -284,7 +284,7 @@ class Team public function hasUser(User $user): bool { - return (null !== ($member = $this->findMemberByUser($user))); + return (null !== $this->findMemberByUser($user)); } public function hasUsers(): bool @@ -305,7 +305,7 @@ class Team public function addUser(User $user): void { - if (null !== ($member = $this->findMemberByUser($user))) { + if (null !== $this->findMemberByUser($user)) { return; } diff --git a/src/Form/Toolbar/AbstractToolbarForm.php b/src/Form/Toolbar/AbstractToolbarForm.php index 66ea54a2..fdb38e05 100644 --- a/src/Form/Toolbar/AbstractToolbarForm.php +++ b/src/Form/Toolbar/AbstractToolbarForm.php @@ -63,9 +63,9 @@ abstract class AbstractToolbarForm extends AbstractType ]); } - protected function addUsersChoice(FormBuilderInterface $builder) + protected function addUsersChoice(FormBuilderInterface $builder, string $field = 'users', array $options = []) { - $builder->add('users', UserType::class, [ + $builder->add($field, UserType::class, array_merge([ 'documentation' => [ 'type' => 'array', 'items' => ['type' => 'integer', 'description' => 'User ID'], @@ -74,7 +74,7 @@ abstract class AbstractToolbarForm extends AbstractType 'label' => 'label.user', 'multiple' => true, 'required' => false, - ]); + ], $options)); } protected function addTeamChoice(FormBuilderInterface $builder) diff --git a/src/Timesheet/TimesheetStatisticService.php b/src/Timesheet/TimesheetStatisticService.php index 196d8a40..6007fda3 100644 --- a/src/Timesheet/TimesheetStatisticService.php +++ b/src/Timesheet/TimesheetStatisticService.php @@ -102,11 +102,10 @@ final class TimesheetStatisticService * @param DateTime $begin * @param DateTime $end * @param User[] $users - * @return array + * @return array */ public function getDailyStatisticsGrouped(DateTime $begin, DateTime $end, array $users): array { - /** @var DailyStatistic[] $stats */ $stats = []; $usersById = []; @@ -179,11 +178,10 @@ final class TimesheetStatisticService * @param DateTime $begin * @param DateTime $end * @param User[] $users - * @return array + * @return array */ public function getMonthlyStatisticsGrouped(DateTime $begin, DateTime $end, array $users): array { - /** @var MonthlyStatistic[] $stats */ $stats = []; $usersById = []; diff --git a/templates/base.html.twig b/templates/base.html.twig index 77bce760..7efe3166 100644 --- a/templates/base.html.twig +++ b/templates/base.html.twig @@ -203,7 +203,7 @@ {% block sidebar_search %}{% endblock %} {% block navbar_user %} - {% if app.user is not null and is_granted('IS_AUTHENTICATED_REMEMBERED') %} + {% if app.user is not null and is_granted('view_own_timesheet') %} {% include 'navbar/recent-activities.html.twig' %} {% endif %} {% import "macros/widgets.html.twig" as widgets %}