From a40aa1936bc088c76145600a2b074f8fb20079f5 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 23 Aug 2019 12:02:22 +0200 Subject: Allow comments to be edited --- lib/Travelynx.pm | 17 ++++++++++++++--- lib/Travelynx/Controller/Traveling.pm | 19 +++++++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) (limited to 'lib') 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', -- cgit v1.2.3