allow a journey's cancellation status to be edited

Closes #27
This commit is contained in:
Daniel Friesel 2019-12-08 19:46:45 +01:00
parent 561ff4574b
commit 315a94affe
4 changed files with 40 additions and 2 deletions

View file

@ -184,6 +184,7 @@ sub startup {
sched_departure => 0x0001, sched_departure => 0x0001,
real_departure => 0x0002, real_departure => 0x0002,
route => 0x0010, route => 0x0010,
is_cancelled => 0x0020,
sched_arrival => 0x0100, sched_arrival => 0x0100,
real_arrival => 0x0200, real_arrival => 0x0200,
}; };
@ -896,6 +897,18 @@ sub startup {
} }
)->rows; )->rows;
} }
elsif ( $key eq 'cancelled' ) {
$rows = $db->update(
'journeys',
{
cancelled => $value,
edited => $journey->{edited} | 0x0020,
},
{
id => $journey_id,
}
)->rows;
}
elsif ( $key eq 'comment' ) { elsif ( $key eq 'comment' ) {
$journey->{user_data}{comment} = $value; $journey->{user_data}{comment} = $value;
$rows = $db->update( $rows = $db->update(

View file

@ -752,6 +752,7 @@ sub edit_journey {
my $journey = $self->get_journey( my $journey = $self->get_journey(
uid => $uid, uid => $uid,
journey_id => $journey_id, journey_id => $journey_id,
verbose => 1,
with_datetime => 1, with_datetime => 1,
); );
@ -811,6 +812,15 @@ sub edit_journey {
[@route_new] ); [@route_new] );
} }
} }
{
my $cancelled_old = $journey->{cancelled};
my $cancelled_new = $self->param('cancelled') // 0;
if ( $cancelled_old != $cancelled_new ) {
$error
= $self->update_journey_part( $db, $journey->{id},
'cancelled', $cancelled_new );
}
}
if ( not $error ) { if ( not $error ) {
$journey = $self->get_journey( $journey = $self->get_journey(
@ -839,6 +849,8 @@ sub edit_journey {
$self->param( $self->param(
route => join( "\n", map { $_->[0] } @{ $journey->{route} } ) ); route => join( "\n", map { $_->[0] } @{ $journey->{route} } ) );
$self->param( cancelled => $journey->{cancelled} );
for my $key (qw(comment)) { for my $key (qw(comment)) {
if ( $journey->{user_data} and $journey->{user_data}{$key} ) { if ( $journey->{user_data} and $journey->{user_data}{$key} ) {
$self->param( $key => $journey->{user_data}{$key} ); $self->param( $key => $journey->{user_data}{$key} );

View file

@ -51,6 +51,15 @@
% } % }
</td> </td>
</tr> </tr>
<tr>
<th scope="row"></th>
<td>
<label>
%= check_box cancelled => 1
<span>Fahrt ist ausgefallen</span>
</label>
</td>
</tr>
<tr> <tr>
<th scope="row">Geplante Abfahrt</th> <th scope="row">Geplante Abfahrt</th>
<td> <td>

View file

@ -15,11 +15,15 @@
<div class="col s12"> <div class="col s12">
<p> <p>
% if ($journey->{cancelled}) { % if ($journey->{cancelled}) {
Ausgefallene Fahrt von Ausgefallene Fahrt
% } % }
% else { % else {
Fahrt von Fahrt
% } % }
% if ($journey->{edited} & 0x0020) {
% }
von
<b><%= $journey->{from_name} %></b> <b><%= $journey->{from_name} %></b>
nach nach
<b><%= $journey->{to_name} %></b> <b><%= $journey->{to_name} %></b>