summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2025-07-06 12:31:57 +0200
committerBirte Kristina Friesel <derf@finalrewind.org>2025-07-06 12:31:57 +0200
commit3dcb6e1619672ba3a9cf63b5e2a67d378e19e20c (patch)
tree29a9f9245bb36ddf35149371a5b1c2fe448f6556
parent080b86667ae71968ad4c5650dbbe5b02d835c934 (diff)
Revert "/journey/edit: datetime inputs"2.15.11
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
-rwxr-xr-xlib/Travelynx/Controller/Traveling.pm8
-rw-r--r--templates/edit_journey.html.ep8
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 @@
<tr>
<th scope="row">Geplante Abfahrt</th>
<td class="input-field">
- %= 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])?'
</td>
</tr>
<tr>
<th scope="row">Tatsächliche Abfahrt</th>
<td class="input-field">
- %= 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])?'
</td>
</tr>
<tr>
@@ -87,13 +87,13 @@
<tr>
<th scope="row">Geplante Ankunft</th>
<td class="input-field">
- %= 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])?'
</td>
</tr>
<tr>
<th scope="row">Tatsächliche Ankunft</th>
<td class="input-field">
- %= 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])?'
</td>
</tr>
<tr>