diff options
| author | Daniel Friesel <derf@finalrewind.org> | 2019-08-23 12:02:22 +0200 | 
|---|---|---|
| committer | Daniel Friesel <derf@finalrewind.org> | 2019-08-23 12:02:22 +0200 | 
| commit | a40aa1936bc088c76145600a2b074f8fb20079f5 (patch) | |
| tree | 58be9cc212eff4196eec5b30bf5fc36de788dc02 | |
| parent | f6d56d3134f6045726cb1d4ed8700382575bb686 (diff) | |
Allow comments to be edited
| -rwxr-xr-x | lib/Travelynx.pm | 17 | ||||
| -rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 19 | ||||
| -rw-r--r-- | templates/edit_journey.html.ep | 6 | ||||
| -rw-r--r-- | templates/journey.html.ep | 18 | 
4 files changed, 48 insertions, 12 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', diff --git a/templates/edit_journey.html.ep b/templates/edit_journey.html.ep index 06338f6..d1c1d47 100644 --- a/templates/edit_journey.html.ep +++ b/templates/edit_journey.html.ep @@ -75,6 +75,12 @@  							%= 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]'  						</td>  					</tr> +					<tr> +						<th scope="row">Kommentar</th> +						<td> +							%= text_field 'comment' +						</td> +					</tr>  				</table>  			</div>  		</div> diff --git a/templates/journey.html.ep b/templates/journey.html.ep index 724d8ca..343c178 100644 --- a/templates/journey.html.ep +++ b/templates/journey.html.ep @@ -121,15 +121,7 @@  						% }  					</td>  				</tr> -				% if ($journey->{comment}) { -					<tr> -						<th scope="row">Kommentar</th> -						<td> -							<%= $journey->{comment} %> -						</td> -					</tr> -				% } -				% else { +				% if ($journey->{messages} and @{$journey->{messages}}) {  					<tr>  						<th scope="row">Meldungen</th>  						<td> @@ -140,6 +132,14 @@  						</td>  					</tr>  				% } +				% if ($journey->{user_data} and $journey->{user_data}{comment}) { +					<tr> +						<th scope="row">Kommentar</th> +						<td> +							<%= $journey->{user_data}{comment} %> +						</td> +					</tr> +				% }  				<tr>  					<th scope="row">Route</th>  					<td> | 
