Only show the bigscreen buttons on the tournament that is actually on the bigscreen.
authorSteinar H. Gunderson <sesse@samfundet.no>
Sat, 19 Feb 2005 14:26:48 +0000 (14:26 +0000)
committerSteinar H. Gunderson <sesse@samfundet.no>
Sat, 19 Feb 2005 14:26:48 +0000 (14:26 +0000)
html/show-tournament.pl
html/templates/show-tournament.tmpl

index 7be0036..1de3b0c 100755 (executable)
@@ -24,8 +24,15 @@ if ($ref->{'num_incomplete'} == 0) {
        $closing_valid = 0;
 }
 
-# Find all groups currently shown on the bigscreen.
-my $active_groups = ccbs::db_fetch_all($dbh, 'SELECT * FROM bigscreen.active_groups WHERE tournament=?', $id);
+# Check if this tournament is on the bigscreen or not.
+my $ref = $dbh->selectrow_hashref('SELECT * FROM bigscreen.active_tournament');
+my $bigscreen = ($ref->{'tournament'} == $id) ? 1 : 0;
+
+my $active_groups;
+if ($bigscreen) {
+       # Find all groups currently shown on the bigscreen.
+       $active_groups = ccbs::db_fetch_all($dbh, 'SELECT * FROM bigscreen.active_groups WHERE tournament=?', $id);
+}
 
 # Swoop all the data in in a big join, then order it over to quasi-sane Perl objects.
 # (round -> parallel -> player -> songs -> title,chosen,score)
@@ -48,12 +55,14 @@ for my $score (@$scores) {
                push @$p, { parallel => $parallel, players => [], songs => [], num_songs => 0 };
                $player = '';
 
-               # suboptimal, but heck :-)
-               $p->[$#$p]->{'bigscreen'} = 0;
-               for my $ag (@$active_groups) {
-                       if ($ag->{'round'} == $round && $ag->{'parallel'} == $parallel) {
-                               $p->[$#$p]->{'bigscreen'} = 1;
-                               last;
+               if ($bigscreen) {
+                       # suboptimal, but heck :-)
+                       $p->[$#$p]->{'bigscreen'} = 0;
+                       for my $ag (@$active_groups) {
+                               if ($ag->{'round'} == $round && $ag->{'parallel'} == $parallel) {
+                                       $p->[$#$p]->{'bigscreen'} = 1;
+                                       last;
+                               }
                        }
                }
 
@@ -147,6 +156,7 @@ ccbs::process_template('show-tournament.tmpl', $tournament->{'tournamentname'},
        num_qualified => $num_qualified,
        songs => $songs,
        closing_valid => $closing_valid,
-       finishing_valid => $finishing_valid
+       finishing_valid => $finishing_valid,
+       bigscreen => $bigscreen
 });
 $dbh->disconnect;
index 86854cd..6409463 100644 (file)
   <div>
 
   [% FOR p = r.parallels %]
+    [% IF bigscreen %]
   <form method="post" action="do-set-active-round.pl">
     <p>
       <input type="hidden" name="tournament" value="[% tournament.tournament %]" />
       <input type="hidden" name="round" value="[% r.round %]" />
       <input type="hidden" name="parallel" value="[% p.parallel %]" />
-  [% IF p.bigscreen %]
+      [% IF p.bigscreen %]
       <input type="hidden" name="show" value="false" />
       <input type="submit" value="Fjern fra storskjerm" />
-  [% ELSE %]
+      [% ELSE %]
       <input type="hidden" name="show" value="true" />
       <input type="submit" value="Vis på storskjerm" />
-  [% END %]
+      [% END %]
     </p>
   </form>
+    [% END %]
   
   <form method="post" action="do-edit-scores.pl">
   <table class="scores">