Loading lib/Travelynx.pm +41 −0 Original line number Diff line number Diff line Loading @@ -1068,6 +1068,47 @@ sub startup { } ); $self->helper( 'history_years' => sub { my ( $self, $uid ) = @_; $uid //= $self->current_user->{id}, my $res = $self->pg->db->select( 'journeys', 'distinct extract(year from real_departure) as year', { user_id => $uid }, { order_by => { -asc => 'year' } } ); my @ret; for my $row ( $res->hashes->each ) { push( @ret, [ $row->{year}, $row->{year} ] ); } return @ret; } ); $self->helper( 'history_months' => sub { my ( $self, $uid ) = @_; $uid //= $self->current_user->{id}, my $res = $self->pg->db->select( 'journeys', "distinct to_char(real_departure, 'YYYY.MM') as yearmonth", { user_id => $uid }, { order_by => { -asc => 'yearmonth' } } ); my @ret; for my $row ( $res->hashes->each ) { my ( $year, $month ) = split( qr{[.]}, $row->{yearmonth} ); push( @ret, [ "${year}/${month}", "${month}.${year}" ] ); } return @ret; } ); $self->helper( 'get_oldest_journey_ts' => sub { my ($self) = @_; Loading templates/_history_months.html.ep +4 −4 Original line number Diff line number Diff line <div class="row"> <div class="col s12"> <ul class="pagination"> % while ($since < $now) { % my $link_to = $since->strftime('%Y/%m'); % for my $month (history_months()) { % my $link_to = $month->[0]; % my $text = $month->[1]; % my $class = $link_to eq $current ? 'active' : 'waves-effect'; <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $since->strftime('%m.%Y') %></a></li> % $since->add(months => 1)->set(day => 1, hour => 0, minute => 0, second => 0); <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $text %></a></li> % } </ul> </div> Loading templates/_history_years.html.ep +4 −4 Original line number Diff line number Diff line <div class="row"> <div class="col s12"> <ul class="pagination"> % while ($since < $now) { % my $link_to = $since->strftime('%Y'); % for my $year (history_years()) { % my $link_to = $year->[0]; % my $text = $year->[1]; % my $class = $link_to eq $current ? 'active' : 'waves-effect'; <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $since->strftime('%Y') %></a></li> % $since->add(years => 1)->set(month => 1, day => 1, hour => 0, minute => 0, second => 0); <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $text %></a></li> % } </ul> </div> Loading templates/history.html.ep +4 −10 Original line number Diff line number Diff line Loading @@ -22,12 +22,8 @@ </div> <h2>Nach Jahr</h2> % my $since = get_oldest_journey_ts(); % my $now = DateTime->now(time_zone => 'Europe/Berlin'); % if ($since) { %= include '_history_years', current => '', since => $since->clone, now => $now; % } % else { %= include '_history_years', current => ''; % if(0) { <div class="row"> <div class="col s12"> Noch keine Fahrten. Loading @@ -36,10 +32,8 @@ % } <h2>Nach Monat</h2> % if ($since) { %= include '_history_months', current => '', since => $since->clone, now => $now; % } % else { %= include '_history_months', current => ''; % if(0) { <div class="row"> <div class="col s12"> Noch keine Fahrten. Loading templates/history_by_month.html.ep +1 −3 Original line number Diff line number Diff line % my $since = get_oldest_journey_ts(); % my $now = DateTime->now(time_zone => 'Europe/Berlin'); %= include '_history_months', current => "${year}/${month}", since => $since, now => $now; %= include '_history_months', current => "${year}/${month}"; <h1><%= stash('month_name') %> <%= stash('year') %></h1> Loading Loading
lib/Travelynx.pm +41 −0 Original line number Diff line number Diff line Loading @@ -1068,6 +1068,47 @@ sub startup { } ); $self->helper( 'history_years' => sub { my ( $self, $uid ) = @_; $uid //= $self->current_user->{id}, my $res = $self->pg->db->select( 'journeys', 'distinct extract(year from real_departure) as year', { user_id => $uid }, { order_by => { -asc => 'year' } } ); my @ret; for my $row ( $res->hashes->each ) { push( @ret, [ $row->{year}, $row->{year} ] ); } return @ret; } ); $self->helper( 'history_months' => sub { my ( $self, $uid ) = @_; $uid //= $self->current_user->{id}, my $res = $self->pg->db->select( 'journeys', "distinct to_char(real_departure, 'YYYY.MM') as yearmonth", { user_id => $uid }, { order_by => { -asc => 'yearmonth' } } ); my @ret; for my $row ( $res->hashes->each ) { my ( $year, $month ) = split( qr{[.]}, $row->{yearmonth} ); push( @ret, [ "${year}/${month}", "${month}.${year}" ] ); } return @ret; } ); $self->helper( 'get_oldest_journey_ts' => sub { my ($self) = @_; Loading
templates/_history_months.html.ep +4 −4 Original line number Diff line number Diff line <div class="row"> <div class="col s12"> <ul class="pagination"> % while ($since < $now) { % my $link_to = $since->strftime('%Y/%m'); % for my $month (history_months()) { % my $link_to = $month->[0]; % my $text = $month->[1]; % my $class = $link_to eq $current ? 'active' : 'waves-effect'; <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $since->strftime('%m.%Y') %></a></li> % $since->add(months => 1)->set(day => 1, hour => 0, minute => 0, second => 0); <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $text %></a></li> % } </ul> </div> Loading
templates/_history_years.html.ep +4 −4 Original line number Diff line number Diff line <div class="row"> <div class="col s12"> <ul class="pagination"> % while ($since < $now) { % my $link_to = $since->strftime('%Y'); % for my $year (history_years()) { % my $link_to = $year->[0]; % my $text = $year->[1]; % my $class = $link_to eq $current ? 'active' : 'waves-effect'; <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $since->strftime('%Y') %></a></li> % $since->add(years => 1)->set(month => 1, day => 1, hour => 0, minute => 0, second => 0); <li class="<%= $class %>"><a href="/history/<%= $link_to %>"><%= $text %></a></li> % } </ul> </div> Loading
templates/history.html.ep +4 −10 Original line number Diff line number Diff line Loading @@ -22,12 +22,8 @@ </div> <h2>Nach Jahr</h2> % my $since = get_oldest_journey_ts(); % my $now = DateTime->now(time_zone => 'Europe/Berlin'); % if ($since) { %= include '_history_years', current => '', since => $since->clone, now => $now; % } % else { %= include '_history_years', current => ''; % if(0) { <div class="row"> <div class="col s12"> Noch keine Fahrten. Loading @@ -36,10 +32,8 @@ % } <h2>Nach Monat</h2> % if ($since) { %= include '_history_months', current => '', since => $since->clone, now => $now; % } % else { %= include '_history_months', current => ''; % if(0) { <div class="row"> <div class="col s12"> Noch keine Fahrten. Loading
templates/history_by_month.html.ep +1 −3 Original line number Diff line number Diff line % my $since = get_oldest_journey_ts(); % my $now = DateTime->now(time_zone => 'Europe/Berlin'); %= include '_history_months', current => "${year}/${month}", since => $since, now => $now; %= include '_history_months', current => "${year}/${month}"; <h1><%= stash('month_name') %> <%= stash('year') %></h1> Loading