From e5414d64999b40591240a2dc4d089ed7f98f6526 Mon Sep 17 00:00:00 2001 From: owenbush <ojb@ukhhf.co.uk> Date: Mon, 15 Jul 2019 10:36:55 -0600 Subject: [PATCH] Fixing incorrect timezone on registrant list and event series delete form --- .../src/RegistrantListBuilder.php | 5 ++++- src/Form/EventSeriesDeleteForm.php | 20 ++++++++++++++++--- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/modules/recurring_events_registration/src/RegistrantListBuilder.php b/modules/recurring_events_registration/src/RegistrantListBuilder.php index c2d0481b..7d12a9c5 100644 --- a/modules/recurring_events_registration/src/RegistrantListBuilder.php +++ b/modules/recurring_events_registration/src/RegistrantListBuilder.php @@ -113,7 +113,10 @@ class RegistrantListBuilder extends EntityListBuilder { $row['id'] = $entity->id(); $row['series'] = $series->toLink($series->title->value); - $row['instance'] = $instance->toLink($instance->date->start_date->format($this->config->get('recurring_events_registration.registrant.config')->get('date_format'))); + $timezone = new \DateTimeZone(drupal_get_user_timezone()); + $date = $instance->date->start_date; + $date->setTimezone($timezone); + $row['instance'] = $instance->toLink($date->format($this->config->get('recurring_events_registration.registrant.config')->get('date_format'))); $row['type'] = $entity->getRegistrationType() == 'series' ? $this->t('Series') : $this->t('Instance'); foreach ($this->getCustomFields() as $machine_name => $field) { $row[$machine_name] = $entity->get($machine_name)->value; diff --git a/src/Form/EventSeriesDeleteForm.php b/src/Form/EventSeriesDeleteForm.php index 9589033e..131250ba 100644 --- a/src/Form/EventSeriesDeleteForm.php +++ b/src/Form/EventSeriesDeleteForm.php @@ -7,6 +7,7 @@ use Drupal\Core\Form\FormStateInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Url; +use Drupal\Core\Config\ConfigFactory; use Drupal\Core\Messenger\Messenger; use Drupal\Core\Render\Renderer; @@ -31,6 +32,13 @@ class EventSeriesDeleteForm extends ContentEntityDeleteForm { */ protected $messenger; + /** + * The config factory service. + * + * @var \Drupal\Core\Config\ConfigFactory + */ + protected $config; + /** * The renderer service. * @@ -44,7 +52,8 @@ class EventSeriesDeleteForm extends ContentEntityDeleteForm { return new static( $container->get('entity.manager'), $container->get('messenger'), - $container->get('renderer') + $container->get('renderer'), + $container->get('config.factory') ); } @@ -57,10 +66,13 @@ class EventSeriesDeleteForm extends ContentEntityDeleteForm { * The messenger service. * @param \Drupal\Core\Render\Renderer $renderer * The renderer service. + * @param \Drupal\Core\Config\ConfigFactory $config + * The config factory service. */ - public function __construct(EntityManagerInterface $entity_manager, Messenger $messenger, Renderer $renderer) { + public function __construct(EntityManagerInterface $entity_manager, Messenger $messenger, Renderer $renderer, ConfigFactory $config) { $this->messenger = $messenger; $this->renderer = $renderer; + $this->config = $config; parent::__construct($entity_manager); } @@ -98,9 +110,11 @@ class EventSeriesDeleteForm extends ContentEntityDeleteForm { ]; $options = []; + $timezone = new \DateTimeZone(drupal_get_user_timezone()); foreach ($instances as $instance) { $date = $instance->date->start_date; - $options[] = $instance->toLink($date->format('Y-m-d h:i A')); + $date->setTimezone($timezone); + $options[] = $instance->toLink($date->format($this->config->get('recurring_events_registration.registrant.config')->get('date_format'))); } $description['instances'] = [ -- GitLab