configure am/pm time-format as user preference (#2789)
This commit is contained in:
@@ -10,11 +10,15 @@
|
||||
namespace App\Form\Type;
|
||||
|
||||
use App\API\BaseApiController;
|
||||
use App\Entity\User;
|
||||
use App\Utils\DateFormatConverter;
|
||||
use App\Utils\LocaleSettings;
|
||||
use App\Utils\MomentFormatConverter;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\DateTimeType;
|
||||
use Symfony\Component\Form\FormInterface;
|
||||
use Symfony\Component\Form\FormView;
|
||||
use Symfony\Component\OptionsResolver\Options;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
/**
|
||||
@@ -34,9 +38,6 @@ class DateTimePickerType extends AbstractType
|
||||
*/
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
{
|
||||
$dateTimePicker = $this->localeSettings->getDateTimePickerFormat();
|
||||
$dateTimeFormat = $this->localeSettings->getDateTimeTypeFormat();
|
||||
|
||||
$resolver->setDefaults([
|
||||
'documentation' => [
|
||||
'type' => 'string',
|
||||
@@ -46,8 +47,18 @@ class DateTimePickerType extends AbstractType
|
||||
'label' => 'label.begin',
|
||||
'widget' => 'single_text',
|
||||
'html5' => false,
|
||||
'format' => $dateTimeFormat,
|
||||
'format_picker' => $dateTimePicker,
|
||||
'format' => function (Options $options) {
|
||||
/** @var User $user */
|
||||
$user = $options['user'];
|
||||
$converter = new DateFormatConverter();
|
||||
|
||||
return $this->localeSettings->getDateTypeFormat() . ' ' . $converter->convert($user->getTimeFormat()); // PHP
|
||||
},
|
||||
'format_picker' => function (Options $options) {
|
||||
$converter = new MomentFormatConverter();
|
||||
|
||||
return $converter->convert($options['format']); // JS
|
||||
},
|
||||
'with_seconds' => false,
|
||||
'time_increment' => 1,
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user