diff --git a/src/Filter/Type/DateFilterType.php b/src/Filter/Type/DateFilterType.php index 3ed4c52..be735d5 100644 --- a/src/Filter/Type/DateFilterType.php +++ b/src/Filter/Type/DateFilterType.php @@ -5,9 +5,18 @@ namespace araise\TableBundle\Filter\Type; use Doctrine\ORM\QueryBuilder; +use Symfony\Component\HttpFoundation\RequestStack; class DateFilterType extends DatetimeFilterType { + protected $locale; + + public function __construct(?string $column = null, array $joins = [], protected ?RequestStack $requestStack = null) + { + parent::__construct($column, $joins); + $this->locale = $requestStack->getMainRequest()?->getLocale() ?? 'en'; + } + public function getValueField(?string $value = null, ?string $operator = null): string { $date = \DateTime::createFromFormat(static::getQueryDataFormat(), (string) $value) ?: new \DateTime(); @@ -16,7 +25,7 @@ public function getValueField(?string $value = null, ?string $operator = null): return sprintf( '', $operator !== static::CRITERIA_IS_EMPTY ? $value : '', - 'de' + $this->locale ); } diff --git a/src/Filter/Type/DatetimeFilterType.php b/src/Filter/Type/DatetimeFilterType.php index 617590e..4018b5c 100644 --- a/src/Filter/Type/DatetimeFilterType.php +++ b/src/Filter/Type/DatetimeFilterType.php @@ -5,6 +5,7 @@ namespace araise\TableBundle\Filter\Type; use Doctrine\ORM\QueryBuilder; +use Symfony\Component\HttpFoundation\RequestStack; class DatetimeFilterType extends FilterType { @@ -20,6 +21,11 @@ class DatetimeFilterType extends FilterType public const CRITERIA_IS_EMPTY = 'is_empty'; + public function __construct(?string $column = null, array $joins = [], protected ?RequestStack $requestStack = null) + { + parent::__construct($column, $joins); + } + public function getOperators(): array { return [ @@ -38,11 +44,12 @@ public function getValueField(?string $value = null, ?string $operator = null): { $date = \DateTime::createFromFormat(static::getQueryDataFormat(), (string) $value) ?: new \DateTime(); $value = $date->format(static::getDateFormat()); + $locale = $this->requestStack->getMainRequest()?->getLocale(); return sprintf( '', $operator !== static::CRITERIA_IS_EMPTY ? $value : '', - 'de' + $locale ?? 'en' ); }