From 3dcb6e1619672ba3a9cf63b5e2a67d378e19e20c Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 6 Jul 2025 12:31:57 +0200 Subject: Revert "/journey/edit: datetime inputs" This reverts commit 02a6b9072d16c521142f04f5dd4a316aa269a5de. DateTime inputs on the web are absolutely horribly broken as soon es they use sub-minute accuracy (i.e., seconds). Switch journey edits back to %d.%m.%Y %H:%M(:%S) to restore proper editing support. /journey/add and /checkin/add retain their datetime pickers and will not support sub-minute accuracy. Closes #272 --- lib/Travelynx/Controller/Traveling.pm | 8 ++++---- templates/edit_journey.html.ep | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 30090a0..6176415 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -2379,12 +2379,12 @@ sub edit_journey { if ( $self->param('action') and $self->param('action') eq 'save' ) { my $parser_sec = DateTime::Format::Strptime->new( - pattern => '%FT%H:%M:%S', + pattern => '%d.%m.%Y %H:%M:%S', locale => 'de_DE', time_zone => 'Europe/Berlin' ); my $parser_min = DateTime::Format::Strptime->new( - pattern => '%FT%H:%M', + pattern => '%d.%m.%Y %H:%M', locale => 'de_DE', time_zone => 'Europe/Berlin' ); @@ -2489,10 +2489,10 @@ sub edit_journey { if ( $journey->{$key} and $journey->{$key}->epoch ) { if ( $journey->{$key}->second ) { $self->param( - $key => $journey->{$key}->strftime('%FT%H:%M:%S') ); + $key => $journey->{$key}->strftime('%d.%m.%Y %H:%M:%S') ); } else { - $self->param( $key => $journey->{$key}->strftime('%FT%H:%M') ); + $self->param( $key => $journey->{$key}->strftime('%d.%m.%Y %H:%M') ); } } } diff --git a/templates/edit_journey.html.ep b/templates/edit_journey.html.ep index 6316731..57941c0 100644 --- a/templates/edit_journey.html.ep +++ b/templates/edit_journey.html.ep @@ -69,13 +69,13 @@ Geplante Abfahrt - %= datetime_field 'sched_departure', id => 'sched_departure', class => 'validate', required => undef + %= text_field 'sched_departure', id => 'sched_departure', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9](:[0-9][0-9])?' Tatsächliche Abfahrt - %= datetime_field 'rt_departure', id => 'real_departure', class => 'validate' + %= text_field 'rt_departure', id => 'real_departure', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9](:[0-9][0-9])?' @@ -87,13 +87,13 @@ Geplante Ankunft - %= datetime_field 'sched_arrival', id => 'sched_arrival', class => 'validate', required => undef + %= text_field 'sched_arrival', id => 'sched_arrival', class => 'validate', required => undef, pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9](:[0-9][0-9])?' Tatsächliche Ankunft - %= datetime_field 'rt_arrival', id => 'real_arrival', class => 'validate' + %= text_field 'rt_arrival', id => 'real_arrival', class => 'validate', pattern => '[0-9][0-9]?[.][0-9][0-9]?[.][0-9][0-9][0-9][0-9] +[0-9][0-9]:[0-9][0-9](:[0-9][0-9])?' -- cgit v1.2.3