diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2023-07-13 21:12:36 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2023-07-13 21:12:36 +0200 | 
| commit | 882d1fe16f26918c72898908d42ad2c017991a53 (patch) | |
| tree | 985f739c05b11d3a2add66ebcf7fb6b5c3a647fd | |
| parent | 6c5caaf242dc5ff689773b1811083005fdb31d71 (diff) | |
| parent | ee2d8bd014fdcb119db37c45671c1900ae10c21f (diff) | |
Merge branch 'networkException-träwelling-visibility'
| -rw-r--r-- | .mailmap | 1 | ||||
| -rw-r--r-- | lib/Travelynx/Helper/Traewelling.pm | 30 | ||||
| -rw-r--r-- | lib/Travelynx/Model/Traewelling.pm | 13 | ||||
| -rw-r--r-- | templates/traewelling.html.ep | 7 | 
4 files changed, 42 insertions, 9 deletions
| diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..c69b0d4 --- /dev/null +++ b/.mailmap @@ -0,0 +1 @@ +Birte Kristina Friesel <derf@finalrewind.org> diff --git a/lib/Travelynx/Helper/Traewelling.pm b/lib/Travelynx/Helper/Traewelling.pm index bcde1de..23170eb 100644 --- a/lib/Travelynx/Helper/Traewelling.pm +++ b/lib/Travelynx/Helper/Traewelling.pm @@ -1,6 +1,7 @@  package Travelynx::Helper::Traewelling;  # Copyright (C) 2020-2023 Birte Kristina Friesel +# Copyright (C) 2023 networkException <git@nwex.de>  #  # SPDX-License-Identifier: AGPL-3.0-or-later @@ -322,6 +323,33 @@ sub logout_p {  	return $promise;  } +sub convert_travelynx_to_traewelling_visibility { +	my ($travelynx_visibility) = @_; + +	my %visibilities = ( + +		# public    => StatusVisibility::PUBLIC +		100 => 0, + +		# travelynx => StatusVisibility::AUTHENTICATED +		# (only visible for logged in users) +		80 => 4, + +		# followers => StatusVisibility::FOLLOWERS +		60 => 2, + +		# unlisted  => StatusVisibility::PRIVATE +		# (there is no träwelling equivalent to unlisted, their +		# StatusVisibility::UNLISTED shows the journey on the profile) +		30 => 3, + +		# private   => StatusVisibility::PRIVATE +		10 => 3, +	); + +	return $visibilities{$travelynx_visibility}; +} +  sub checkin_p {  	my ( $self, %opt ) = @_; @@ -352,6 +380,8 @@ sub checkin_p {  		arrival     => $arrival_ts,  		toot        => $opt{data}{toot}  ? \1 : \0,  		tweet       => $opt{data}{tweet} ? \1 : \0, +		visibility  => +		  convert_travelynx_to_traewelling_visibility( $opt{visibility} )  	};  	if ( $opt{user_data}{comment} ) { diff --git a/lib/Travelynx/Model/Traewelling.pm b/lib/Travelynx/Model/Traewelling.pm index d320439..1939374 100644 --- a/lib/Travelynx/Model/Traewelling.pm +++ b/lib/Travelynx/Model/Traewelling.pm @@ -213,16 +213,17 @@ sub get_pushable_accounts {  	my $res = $self->{pg}->db->query(  		qq{select t.user_id as uid, t.token as token, t.data as data,  			i.user_data as user_data, -			i.checkin_station_id as dep_eva, i.checkout_station_id as arr_eva, +			i.dep_eva as dep_eva, i.arr_eva as arr_eva,  			i.data as journey_data, i.train_type as train_type,  			i.train_line as train_line, i.train_no as train_no, -			extract(epoch from i.checkin_time) as checkin_ts, -			extract(epoch from i.sched_departure) as dep_ts, -			extract(epoch from i.sched_arrival) as arr_ts +			i.checkin_ts as checkin_ts, +			i.sched_dep_ts as dep_ts, +			i.sched_arr_ts as arr_ts, +			i.effective_visibility as visibility  			from traewelling as t -			join in_transit as i on t.user_id = i.user_id +			join in_transit_str as i on t.user_id = i.user_id  			where t.push_sync = True -			and i.checkout_station_id is not null +			and i.arr_eva is not null  			and i.cancelled = False  		}  	); diff --git a/templates/traewelling.html.ep b/templates/traewelling.html.ep index 4ccf4b6..23e2e35 100644 --- a/templates/traewelling.html.ep +++ b/templates/traewelling.html.ep @@ -191,8 +191,8 @@  				<p>Die Synchronisierung erfolgt spätestens drei Minuten nach der  					Zielwahl. Beachte, dass die Synchronisierung travelynx  					→ Träwelling unabhängig von der eingestellten Sichtbarkeit -					des Checkins erfolgt und Träwelling-Sichtbarkeiten -					derzeit ebenfalls nicht von travelynx übernommen werden. +					des Checkins erfolgt. travelynx reicht die Sichtbarkeit +					aber an Träwelling weiter.  					Träwelling-Checkins können von travelynx aktuell nicht  					rückgängig gemacht werden. Eine nachträgliche Änderung der  					Zielstation wird nicht übernommen. Mastodon und Twitter beziehen @@ -211,7 +211,8 @@  					Falls du gerade in einen Zug eingecheckt bist, wird dieser von  					travelynx übernommen.  Träwelling-Checkins in Nahverkehrsmittel  					und Züge außerhalb des deutschen Schienennetzes werden nicht -					unterstützt.</p> +					unterstützt. Die Sichtbarkeit von Träwelling-Checkins wird +					derzeit von travelynx nicht berücksichtigt.</p>  			</div>  		</div>  		<div class="row hide-on-small-only"> | 
