Release 2.1.0 (#4321)

* fix deprecations
* remove unused config
* replace invalid annotation type with attribute
* use AsDoctrineListener to fix deprecation
* new ModifiedSubscriber to support custom logic and fix deprecation
* removed inheritdoc comment
* new ModifiedSubscriber to support custom logic and fix deprecation
* cleanup event dispatcher interface
* re-order annotation params
* one more doctrine based deprecation
* fix query to count active timesheets
* link to "all times" to identify active timesheets
* link icon instead of text
* fix "skin" translation in wizard
* use duration filter to show duration
* added login link command and controller
* bump tabler theme to 1.0
* added wizard to force password reset by user
* allow to configure that new accounts need to reset their password
* prevent uploading twig templates by default
* bump composer packages
* enable sandbox and basic security measures for custom twig templates for invoice and export
* bump to symfony 6.3.5
* allow to export single user reports to excel
* removed broken method to reload twig cache
* added api parameter to fetch user collection fully serialized
* allow to replace or append description via timesheet batch update
* show api username above form
This commit is contained in:
Kevin Papst
2023-10-19 11:21:50 +02:00
committed by GitHub
parent 7a5b12762a
commit 38e37f1c2e
210 changed files with 1784 additions and 1147 deletions

View File

@@ -12,8 +12,8 @@ namespace App\Widget\Type;
abstract class AbstractActiveUsers extends AbstractWidgetType
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{

View File

@@ -11,7 +11,7 @@ namespace App\Widget\Type;
use App\Event\RevenueStatisticEvent;
use App\Repository\TimesheetRepository;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
abstract class AbstractAmountPeriod extends AbstractWidget
{
@@ -30,8 +30,8 @@ abstract class AbstractAmountPeriod extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -41,7 +41,7 @@ abstract class AbstractAmountPeriod extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return array<string, float>
*/
protected function getRevenue(?\DateTimeInterface $begin, ?\DateTimeInterface $end, array $options = []): array

View File

@@ -12,8 +12,8 @@ namespace App\Widget\Type;
abstract class AbstractCounterDuration extends AbstractWidgetType
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{

View File

@@ -21,7 +21,7 @@ abstract class AbstractCounterYear extends AbstractWidgetType
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{
@@ -39,7 +39,7 @@ abstract class AbstractCounterYear extends AbstractWidgetType
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
abstract protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed;

View File

@@ -11,7 +11,7 @@ namespace App\Widget\Type;
use App\Event\UserRevenueStatisticEvent;
use App\Repository\TimesheetRepository;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
abstract class AbstractUserRevenuePeriod extends AbstractWidget
{
@@ -35,8 +35,8 @@ abstract class AbstractUserRevenuePeriod extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -46,7 +46,7 @@ abstract class AbstractUserRevenuePeriod extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return array<string, float>
*/
protected function getRevenue(?\DateTimeInterface $begin, ?\DateTimeInterface $end, array $options = []): array

View File

@@ -68,8 +68,8 @@ abstract class AbstractWidget implements WidgetInterface
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{

View File

@@ -9,6 +9,7 @@
namespace App\Widget\Type;
use App\Repository\Query\TimesheetQuery;
use App\Repository\TimesheetRepository;
use App\Widget\WidgetException;
use App\Widget\WidgetInterface;
@@ -20,16 +21,25 @@ final class ActiveTimesheets extends AbstractWidgetType
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
return array_merge(['color' => WidgetInterface::COLOR_TOTAL, 'icon' => 'duration'], parent::getOptions($options));
// we can safely assume that the user can see
$route = 'admin_timesheet';
return array_merge([
'color' => WidgetInterface::COLOR_TOTAL,
'icon' => 'duration',
'route' => $route,
'routeOptions' => ['state' => TimesheetQuery::STATE_RUNNING],
], parent::getOptions($options));
}
public function getPermissions(): array
{
// if you ever loosen that check, make sure that the above link is probably removed
return ['view_all_data'];
}
@@ -44,7 +54,7 @@ final class ActiveTimesheets extends AbstractWidgetType
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class ActiveUsersMonth extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class ActiveUsersMonth extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class ActiveUsersToday extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class ActiveUsersToday extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class ActiveUsersTotal extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class ActiveUsersTotal extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class ActiveUsersWeek extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class ActiveUsersWeek extends AbstractActiveUsers
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -22,8 +22,8 @@ final class ActiveUsersYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class ActiveUsersYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class AmountMonth extends AbstractAmountPeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class AmountMonth extends AbstractAmountPeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class AmountToday extends AbstractAmountPeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class AmountToday extends AbstractAmountPeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class AmountTotal extends AbstractAmountPeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -33,7 +33,7 @@ final class AmountTotal extends AbstractAmountPeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class AmountWeek extends AbstractAmountPeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class AmountWeek extends AbstractAmountPeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -15,7 +15,7 @@ use App\Model\Revenue;
use App\Repository\TimesheetRepository;
use App\Widget\WidgetException;
use App\Widget\WidgetInterface;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
final class AmountYear extends AbstractCounterYear
{
@@ -25,8 +25,8 @@ final class AmountYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -37,7 +37,7 @@ final class AmountYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed
{

View File

@@ -46,8 +46,8 @@ final class DailyWorkingTimeChart extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -61,7 +61,7 @@ final class DailyWorkingTimeChart extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class DurationMonth extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -44,7 +44,7 @@ final class DurationMonth extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class DurationToday extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -44,7 +44,7 @@ final class DurationToday extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class DurationTotal extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -44,7 +44,7 @@ final class DurationTotal extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class DurationWeek extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -44,7 +44,7 @@ final class DurationWeek extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -22,8 +22,8 @@ final class DurationYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -34,7 +34,7 @@ final class DurationYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed
{

View File

@@ -48,8 +48,8 @@ final class PaginatedWorkingTimeChart extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -87,7 +87,7 @@ final class PaginatedWorkingTimeChart extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -25,8 +25,8 @@ final class TotalsActivity extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -38,7 +38,7 @@ final class TotalsActivity extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -25,8 +25,8 @@ final class TotalsCustomer extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -38,7 +38,7 @@ final class TotalsCustomer extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -25,8 +25,8 @@ final class TotalsProject extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -38,7 +38,7 @@ final class TotalsProject extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class TotalsUser extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -33,7 +33,7 @@ final class TotalsUser extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class UserAmountMonth extends AbstractUserRevenuePeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class UserAmountMonth extends AbstractUserRevenuePeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class UserAmountToday extends AbstractUserRevenuePeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class UserAmountToday extends AbstractUserRevenuePeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class UserAmountTotal extends AbstractUserRevenuePeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class UserAmountTotal extends AbstractUserRevenuePeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -14,8 +14,8 @@ use App\Widget\WidgetInterface;
final class UserAmountWeek extends AbstractUserRevenuePeriod
{
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -28,7 +28,7 @@ final class UserAmountWeek extends AbstractUserRevenuePeriod
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -15,7 +15,7 @@ use App\Model\Revenue;
use App\Repository\TimesheetRepository;
use App\Widget\WidgetException;
use App\Widget\WidgetInterface;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Psr\EventDispatcher\EventDispatcherInterface;
final class UserAmountYear extends AbstractCounterYear
{
@@ -45,8 +45,8 @@ final class UserAmountYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -57,7 +57,7 @@ final class UserAmountYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class UserDurationMonth extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -39,7 +39,7 @@ final class UserDurationMonth extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class UserDurationToday extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -39,7 +39,7 @@ final class UserDurationToday extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class UserDurationTotal extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -39,7 +39,7 @@ final class UserDurationTotal extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -20,8 +20,8 @@ final class UserDurationWeek extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -39,7 +39,7 @@ final class UserDurationWeek extends AbstractCounterDuration
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -32,8 +32,8 @@ final class UserDurationYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
@return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array
{
@@ -44,7 +44,7 @@ final class UserDurationYear extends AbstractCounterYear
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
protected function getYearData(\DateTimeInterface $begin, \DateTimeInterface $end, array $options = []): mixed
{

View File

@@ -60,7 +60,7 @@ final class UserTeamProjects extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -53,7 +53,7 @@ final class UserTeams extends AbstractWidget
}
/**
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
*/
public function getData(array $options = []): mixed
{

View File

@@ -71,7 +71,7 @@ interface WidgetInterface
* make sure that the given $options will overwrite the internal option for
* this one call.
*
* @param array<string, string|bool|int|null> $options
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return mixed|null
*/
public function getData(array $options = []): mixed;
@@ -85,8 +85,8 @@ interface WidgetInterface
* You can validate the options or simply return:
* return array_merge($this->options, $options);
*
* @param array<string, string|bool|int|null> $options
* @return array<string, string|bool|int|null>
* @param array<string, string|bool|int|null|array<string, mixed>> $options
* @return array<string, string|bool|int|null|array<string, mixed>>
*/
public function getOptions(array $options = []): array;