diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/Travelynx.pm | 17 | ||||
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 19 |
2 files changed, 33 insertions, 3 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 3af35c2..b1febce 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -761,6 +761,19 @@ sub startup { } )->rows; } + elsif ( $key eq 'comment' ) { + $journey->{user_data}{comment} = $value; + $rows = $db->update( + 'journeys', + { + user_data => + JSON->new->encode( $journey->{user_data} ), + }, + { + id => $journey_id, + } + )->rows; + } else { die("Invalid key $key\n"); } @@ -2228,9 +2241,7 @@ sub startup { messages => $entry->{messages}, route => $entry->{route}, edited => $entry->{edited}, - comment => $entry->{user_data} - ? $entry->{user_data}{comment} - : undef, + user_data => $entry->{user_data}, }; if ( $opt{verbose} ) { diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 7599dd0..43730bc 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -608,6 +608,20 @@ sub edit_journey { } } } + for my $key (qw(comment)) { + if ( + defined $self->param($key) + and ( not $journey->{user_data} + or $journey->{user_data}{$key} ne $self->param($key) ) + ) + { + $error = $self->update_journey_part( $db, $journey->{id}, $key, + $self->param($key) ); + if ($error) { + last; + } + } + } if ( not $error ) { $journey = $self->get_journey( @@ -631,6 +645,11 @@ sub edit_journey { $key => $journey->{$key}->strftime('%d.%m.%Y %H:%M') ); } } + for my $key (qw(comment)) { + if ( $journey->{user_data} and $journey->{user_data}{$key} ) { + $self->param( $key => $journey->{user_data}{$key} ); + } + } $self->render( 'edit_journey', |