summaryrefslogtreecommitdiff
path: root/index.pl
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2018-10-07 13:47:32 +0200
committerDaniel Friesel <derf@finalrewind.org>2018-10-07 13:47:32 +0200
commit147e6ae849ebb906ee763b5a39d77b6cd95980f2 (patch)
tree879ef88e7aa4b9dd9d729dc83ee169a84aabba66 /index.pl
parent74fd97b4b888470147647ac5b56ec8523b1be48d (diff)
Only show latest travels on landing page
Diffstat (limited to 'index.pl')
-rwxr-xr-xindex.pl18
1 files changed, 12 insertions, 6 deletions
diff --git a/index.pl b/index.pl
index d701e36..3bdb7e6 100755
--- a/index.pl
+++ b/index.pl
@@ -131,7 +131,9 @@ app->attr(
return $self->app->dbh->prepare(
qq{
select action_id, action_time, stations.ds100, stations.name,
- train_type, train_line, train_no, train_id, route
+ train_type, train_line, train_no, train_id,
+ sched_time, real_time,
+ route, messages
from user_actions
join stations on station_id = stations.id
where user_id = ?
@@ -441,14 +443,18 @@ helper 'get_user_id' => sub {
};
helper 'get_user_travels' => sub {
- my ($self) = @_;
+ my ( $self, $limit ) = @_;
- my $uid = $self->get_user_id;
- $self->app->get_all_actions_query->execute($uid);
+ my $uid = $self->get_user_id;
+ my $query = $self->app->get_all_actions_query;
+ if ($limit) {
+ $query = $self->app->get_last_actions_query;
+ }
+ $query->execute($uid);
my @travels;
- while ( my @row = $self->app->get_all_actions_query->fetchrow_array ) {
+ while ( my @row = $query->fetchrow_array ) {
my (
$action, $raw_ts, $ds100, $name,
$train_type, $train_line, $train_no, $train_id,
@@ -505,7 +511,7 @@ helper 'get_user_status' => sub {
my $now = DateTime->now( time_zone => 'Europe/Berlin' );
my $ts = epoch_to_dt( $rows->[0][1] );
my $checkin_station_name = decode( 'UTF-8', $rows->[0][3] );
- my @route = split( qr{[|]}, decode( 'UTF-8', $rows->[0][8] // q{} ) );
+ my @route = split( qr{[|]}, decode( 'UTF-8', $rows->[0][10] // q{} ) );
my @route_after;
my $is_after = 0;
for my $station (@route) {