Unverified Commit 9b256f0f authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

remove service / sb_template selection; hardcode DBF with variable hafas flag

parent b00c3698
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -1551,6 +1551,7 @@ sub startup {
			$ret =~ s{[{]tt[}]}{$opt{tt}}g;
			$ret =~ s{[{]tn[}]}{$opt{tn}}g;
			$ret =~ s{[{]id[}]}{$opt{id}}g;
			$ret =~ s{[{]hafas[}]}{$opt{hafas}}g;
			return $ret;
		}
	);
@@ -2469,7 +2470,6 @@ sub startup {
	$authed_r->get('/account/hooks')->to('account#webhook');
	$authed_r->get('/account/traewelling')->to('traewelling#settings');
	$authed_r->get('/account/insight')->to('account#insight');
	$authed_r->get('/account/services')->to('account#services');
	$authed_r->get('/ajax/status_card.html')->to('traveling#status_card');
	$authed_r->get('/cancelled')->to('traveling#cancelled');
	$authed_r->get('/fgr')->to('passengerrights#list_candidates');
@@ -2497,7 +2497,6 @@ sub startup {
	$authed_r->post('/account/hooks')->to('account#webhook');
	$authed_r->post('/account/traewelling')->to('traewelling#settings');
	$authed_r->post('/account/insight')->to('account#insight');
	$authed_r->post('/account/services')->to('account#services');
	$authed_r->post('/journey/add')->to('traveling#add_journey_form');
	$authed_r->post('/journey/comment')->to('traveling#comment_form');
	$authed_r->post('/journey/visibility')->to('traveling#visibility_form');
+0 −23
Original line number Diff line number Diff line
@@ -831,29 +831,6 @@ sub insight {

}

sub services {
	my ($self) = @_;
	my $user = $self->current_user;

	if ( $self->param('action') and $self->param('action') eq 'save' ) {
		my $sb    = $self->param('stationboard');
		my $value = 0;
		if ( $sb =~ m{ ^ \d+ $ }x and $sb >= 0 and $sb <= 4 ) {
			$value = int($sb);
		}
		$self->users->use_external_services(
			uid => $user->{id},
			set => $value
		);
		$self->flash( success => 'external' );
		$self->redirect_to('account');
	}

	$self->param( stationboard =>
		  $self->users->use_external_services( uid => $user->{id} ) );
	$self->render('use_external_links');
}

sub webhook {
	my ($self) = @_;

+3 −36
Original line number Diff line number Diff line
@@ -40,17 +40,6 @@ my %predicate_atoi = (
	is_blocked_by   => 3,
);

my @sb_templates = (
	undef,
	[ 'DBF',         'https://dbf.finalrewind.org/{name}?rt=1#{tt}{tn}' ],
	[ 'bahn.expert', 'https://bahn.expert/{name}#{id}' ],
	[
		'DBF HAFAS',
		'https://dbf.finalrewind.org/{name}?rt=1&hafas=DB#{tt}{tn}'
	],
	[ 'bahn.expert/regional', 'https://bahn.expert/regional/{name}#{id}' ],
);

my %token_id = (
	status  => 1,
	history => 2,
@@ -414,7 +403,7 @@ sub get {
	my $user = $db->select(
		'users',
		'id, name, status, public_level, email, '
		  . 'external_services, accept_follows, notifications, '
		  . 'accept_follows, notifications, '
		  . 'extract(epoch from registered_at) as registered_at_ts, '
		  . 'extract(epoch from last_seen) as last_seen_ts, '
		  . 'extract(epoch from deletion_requested) as deletion_requested_ts',
@@ -438,12 +427,8 @@ sub get {
			past_status => $user->{public_level} & 0x08000 ? 1 : 0,
			past_all    => $user->{public_level} & 0x10000 ? 1 : 0,
			email       => $user->{email},
			sb_name     => $user->{external_services}
			? $sb_templates[ $user->{external_services} & 0x07 ][0]
			: undef,
			sb_template => $user->{external_services}
			? $sb_templates[ $user->{external_services} & 0x07 ][1]
			: undef,
			sb_template =>
			  'https://dbf.finalrewind.org/{name}?rt=1&hafas={hafas}#{tt}{tn}',
			registered_at => DateTime->from_epoch(
				epoch     => $user->{registered_at_ts},
				time_zone => 'Europe/Berlin'
@@ -662,24 +647,6 @@ sub use_history {
	}
}

sub use_external_services {
	my ( $self, %opt ) = @_;
	my $db    = $opt{db} // $self->{pg}->db;
	my $uid   = $opt{uid};
	my $value = $opt{set};

	if ( defined $value ) {
		if ( $value < 0 or $value > 4 ) {
			$value = 0;
		}
		$db->update( 'users', { external_services => $value }, { id => $uid } );
	}
	else {
		return $db->select( 'users', ['external_services'], { id => $uid } )
		  ->hash->{external_services};
	}
}

sub get_webhook {
	my ( $self, %opt ) = @_;
	my $db  = $opt{db} // $self->{pg}->db;
+4 −21
Original line number Diff line number Diff line
@@ -111,12 +111,7 @@
						% }
					</div>
					<div style="float: right; text-align: right;">
						% if ($user->{sb_template}) {
							<b><a href="<%= resolve_sb_template($user->{sb_template}, name => $journey->{arr_name}, eva => $journey->{arr_eva}, tt => $journey->{train_type} // q{x}, tn => $journey->{train_no}, id => $journey->{train_id}) %>" class="unmarked"><%= $journey->{arr_name} %></a></b><br/>
						% }
						% else {
							<b><%= $journey->{arr_name} %></b><br/>
						% }
						<b><a href="<%= resolve_sb_template($user->{sb_template}, name => $journey->{arr_name}, eva => $journey->{arr_eva}, tt => $journey->{train_type} // q{x}, tn => $journey->{train_no}, id => $journey->{train_id}, hafas => $journey->{is_hafas} ? $journey->{backend_name} : q{}) %>" class="unmarked"><%= $journey->{arr_name} %></a></b><br/>
						% if ($journey->{real_arrival}->epoch) {
							<b><%= $journey->{real_arrival}->strftime('%H:%M') %></b>
							% if ($journey->{real_arrival}->epoch != $journey->{sched_arrival}->epoch) {
@@ -358,12 +353,7 @@
			<div class="card-content">
				<i class="material-icons small right sync-failed-marker grey-text" style="display: none;">sync_problem</i>
				<span class="card-title">Ziel ändern?</span>
				% if ($user->{sb_template}) {
				<div class="targetlist">
				% }
				% else {
					<p>
				% }
				% for my $station (@{$journey->{route_after}}) {
					% my $is_dest = ($journey->{arr_name} and $station->[0] eq $journey->{arr_name});
					<a class="action-checkout tablerow" style="<%= $is_dest? 'font-weight: bold;' : '' %>" data-station="<%= $station->[1] // $station->[0] %>">
@@ -387,16 +377,9 @@
						% }
						</span>
					</a>
					% if ($user->{sb_template}) {
						<a class="nonflex" href="<%= resolve_sb_template($user->{sb_template}, name => $station->[0], eva => $station->[1], tt => $journey->{train_type} // q{x}, tn => $journey->{train_no}, id => $journey->{train_id}) %>"><i class="material-icons tiny">train</i></a>
					% }
					<a class="nonflex" href="<%= resolve_sb_template($user->{sb_template}, name => $station->[0], eva => $station->[1], tt => $journey->{train_type} // q{x}, tn => $journey->{train_no}, id => $journey->{train_id}, hafas => $journey->{is_hafas} ? $journey->{backend_name} : q{}) %>"><i class="material-icons tiny"><%= $journey->{is_hafas} ? 'directions' : 'train' %></i></a>
				% }
				% if ($user->{sb_template}) {
				</div>
				% }
				% else {
					</p>
				% }
			</div>
			<div class="card-action">
				<a class="action-undo blue-text" data-id="in_transit" data-checkints="<%= $journey->{timestamp}->epoch %>"  style="margin-right: 0;">
+0 −15
Original line number Diff line number Diff line
@@ -28,9 +28,6 @@
					% elsif ($success eq 'use_history') {
						<span class="card-title">Einstellungen zu vorgeschlagenen Verbindungen geändert</span>
					% }
					% elsif ($success eq 'external') {
						<span class="card-title">Einstellungen zu externen Diensten geändert</span>
					% }
					% elsif ($success eq 'webhook') {
						<span class="card-title">Web Hook aktualisiert</span>
					% }
@@ -151,18 +148,6 @@
					</td>
				</tr>
			% }
			<tr>
				<th scope="row">Externe Dienste</th>
				<td>
					<a href="/account/services"><i class="material-icons">edit</i></a>
					% if ($acc->{sb_name}) {
						Abfahrtstafel: <%= $acc->{sb_name} %>
					% }
					% else {
						<span style="color: #999999;">Keine</span>
					% }
				</td>
			</tr>
			<tr>
				<th scope="row">Registriert am</th>
				<td><%= $acc->{registered_at}->strftime('%d.%m.%Y %H:%M') %></td>
Loading