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', | 
