]> iEval git - plack-app-gruntmaster.git/blame - lib/Gruntmaster/Page/Ct.pm
Heeere's Plack/PSGI!
[plack-app-gruntmaster.git] / lib / Gruntmaster / Page / Ct.pm
CommitLineData
fe78f0c1
MG
1package Gruntmaster::Page::Ct;
2
3use 5.014000;
4use strict;
5use warnings;
bb95f538
MG
6use Gruntmaster::Page::Base ct => 'Contests';
7our @ISA = qw/Gruntmaster::Page::Base/;
fe78f0c1
MG
8our $VERSION = '0.001';
9
bb95f538 10use constant TEMPLATES => {
cd9af27e
MG
11 en => <<'HTML',
12<tmpl_if running>
fe78f0c1 13<h1>Running contests</h1>
7dc32473 14<table border class="table table-bordered table-striped">
fe78f0c1
MG
15<thead>
16<tr><th>Name<th>Start date<th>End date<th>Owner
17<tbody>
18<tmpl_loop running><tr><td><a href="<tmpl_var id>"><tmpl_var name></a>
19<td><tmpl_var start>
20<td><tmpl_var end>
21<td><tmpl_var owner>
22</tmpl_loop>
23</table>
24</tmpl_if>
25
cd9af27e 26<tmpl_if pending>
fe78f0c1 27<h1>Pending contests</h1>
7dc32473 28<table border class="table table-bordered table-striped">
fe78f0c1
MG
29<thead>
30<tr><th>Name<th>Start date<th>End date<th>Owner
31<tbody>
32<tmpl_loop pending><tr><td><a href="<tmpl_var id>"><tmpl_var name></a>
33<td><tmpl_var start>
34<td><tmpl_var end>
35<td><tmpl_var owner>
36</tmpl_loop>
37</table>
38</tmpl_if>
39
cd9af27e 40<tmpl_if finished>
fe78f0c1 41<h1>Finished contests</h1>
7dc32473 42<table border class="table table-bordered table-striped">
fe78f0c1
MG
43<thead>
44<tr><th>Name<th>Start date<th>End date<th>Owner
45<tbody>
46<tmpl_loop finished><tr><td><a href="<tmpl_var id>"><tmpl_var name></a>
47<td><tmpl_var start>
48<td><tmpl_var end>
49<td><tmpl_var owner>
50</tmpl_loop>
51</table>
52</tmpl_if>
53HTML
bb95f538 54};
fe78f0c1 55
bb95f538 56sub _generate{
7dc32473
MG
57 my ($self, $htc, $lang, $logger) = @_;
58 debug $logger => "language is '$lang'";
fe78f0c1 59
cd9af27e
MG
60 my (@running, @pending, @finished);
61 for (contests) {
62 my $ct = { id => $_,
63 name => contest_name,
64 start => strftime ('%c', localtime contest_start),
65 end => strftime ('%c', localtime contest_end),
66 owner => contest_owner };
fe78f0c1 67
cd9af27e
MG
68 my $time = time;
69 push @pending, $ct if time < contest_start;
70 push @running, $ct if time >= contest_start && time < contest_end;
71 push @finished, $ct if time > contest_end;
72 }
fe78f0c1 73
62a11450
MG
74 $htc->param(running => \@running) if @running;
75 $htc->param(pending => \@pending) if @pending;
76 $htc->param(finished => \@finished) if @finished;
fe78f0c1
MG
77}
78
791
This page took 0.032639 seconds and 4 git commands to generate.