From d7fc6ceb3a95f2dadd899c4e9b221a8a11327fc1 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 18 Oct 2018 08:50:25 +0200 Subject: handle consecutive checkins by ignoring previous ones --- index.pl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.pl b/index.pl index bb3fee8..c86fe5b 100755 --- a/index.pl +++ b/index.pl @@ -453,6 +453,7 @@ helper 'get_user_travels' => sub { $query->execute($uid); my @travels; + my $prev_action = 0; while ( my @row = $query->fetchrow_array ) { my ( @@ -484,7 +485,7 @@ helper 'get_user_travels' => sub { } ); } - elsif ( $action == $action_type{checkin} and @travels ) { + elsif ( $action == $action_type{checkin} and $prev_action == $action_type{checkout} ) { my $ref = $travels[-1]; $ref->{from_name} = $name; $ref->{completed} = 1; @@ -496,6 +497,7 @@ helper 'get_user_travels' => sub { $ref->{messages} //= [ split( qr{[|]}, $raw_messages ) ]; $ref->{route} //= [ split( qr{[|]}, $raw_route ) ]; } + $prev_action = $action; } return @travels; -- cgit v1.2.3