]> ruin.nu Git - ndwebbie.git/commitdiff
Added more status codes
authorMichael Andreen <harv@ruin.nu>
Fri, 7 Nov 2008 13:28:43 +0000 (14:28 +0100)
committerMichael Andreen <harv@ruin.nu>
Fri, 7 Nov 2008 13:28:43 +0000 (14:28 +0100)
lib/NDWeb/Controller/Forum.pm
lib/NDWeb/Controller/Rankings.pm
lib/NDWeb/Controller/Root.pm
lib/NDWeb/Controller/Stats.pm
root/src/rankings/alliances.tt2
root/src/rankings/galaxies.tt2
root/src/rankings/planets.tt2

index 1a796246688d090a717e7046e02af5bb52c12e16..2de3ea82e105d286704caa3bbdc4be8ee64b1b83 100644 (file)
@@ -159,6 +159,9 @@ sub board : Local {
 
        $c->forward('findBoard');
        $board = $c->stash->{board};
+       if ( !defined $board->{fbid}){
+               $c->detach('/default');
+       }
 
        my $threads = $dbh->prepare(q{SELECT ft.ftid,u.username,ft.subject
                ,count(NULLIF(COALESCE(fp.time > ftv.time,TRUE),FALSE)) AS unread,count(fp.fpid) AS posts
@@ -180,6 +183,10 @@ sub board : Local {
        while (my $thread = $threads->fetchrow_hashref){
                push @threads,$thread;
        }
+
+       if ( !(defined $board->{post}) && @threads == 0){
+               $c->acl_access_denied('test',$c->action,'No access to board')
+       }
        $c->stash(threads => \@threads);
 
        $c->forward('listModeratorBoards', [$board->{fbid}]) if $board->{moderate};
@@ -192,7 +199,8 @@ sub thread : Local {
 
        $c->forward('findThread');
        unless ($c->stash->{thread}){
-               $c->stash(template => 'access_denied.tt2');
+               $c->stash(template => 'default.tt2');
+               $c->res->status(404);
                return;
        }
        my $query = $dbh->prepare(q{SELECT uid,username FROM users u
index 30407c659c897884a6269315f2598baa969cc6fe..1575d4e0d574642ed760c0bebc65d5870e350cc4 100644 (file)
@@ -36,6 +36,7 @@ sub planets : Local {
        my $error = '';
 
        $offset = 0 unless $offset;
+       $c->detach('/default') if $offset < 0;
        $c->stash(offset => $offset);
 
        $c->stash( comma => \&comma_value);
@@ -74,6 +75,7 @@ sub planets : Local {
        while (my $planet = $query->fetchrow_hashref){
                push @planets,$planet;
        }
+       $c->detach('/default') unless @planets;
        $c->stash(planets => \@planets);
 }
 
@@ -84,6 +86,7 @@ sub galaxies : Local {
        my $error = '';
 
        $offset = 0 unless $offset;
+       $c->detach('/default') if $offset < 0;
        $c->stash(offset => $offset);
 
        $c->stash( comma => \&comma_value);
@@ -118,6 +121,7 @@ sub galaxies : Local {
        while (my $galaxy = $query->fetchrow_hashref){
                push @galaxies,$galaxy;
        }
+       $c->detach('/default') unless @galaxies;
        $c->stash(galaxies => \@galaxies);
 }
 
@@ -129,6 +133,7 @@ sub alliances : Local {
        my $error = '';
 
        $offset = 0 unless $offset;
+       $c->detach('/default') if $offset < 0;
        $c->stash(offset => $offset);
 
        $c->stash( comma => \&comma_value);
@@ -170,6 +175,7 @@ sub alliances : Local {
        while (my $alliance = $query->fetchrow_hashref){
                push @alliances,$alliance;
        }
+       $c->detach('/default') unless @alliances;
        $c->stash(alliances => \@alliances);
 }
 
index fcff93f24b0de56073d1d1ef37a7dfe34366e17a..9ce7f8c28c3640dbc5bcdbba70ae4578fc85f383 100644 (file)
@@ -38,7 +38,8 @@ sub index : Local Path Args(0) {
 
 sub default : Path {
        my ( $self, $c ) = @_;
-       $c->response->status(404);
+       $c->stash(template => 'default.tt2');
+       $c->response->status(410);
 }
 
 sub login : Local {
@@ -166,7 +167,7 @@ Attempt to render a view, if needed.
 sub end : ActionClass('RenderView') {
        my ($self, $c) = @_;
 
-       if ($c->res->status == 302){
+       if ($c->res->status >= 300 && $c->res->status <= 400 ){
                return;
        }
 
index 1c52a02c62c911bd8cd0733a32edfbcc67afd8ab..36cc1e5ef19e1997415ff53a956537b8a17661ad 100644 (file)
@@ -55,7 +55,10 @@ sub galaxy : Local {
                });
 
        $query->execute($x,$y);
-       $c->stash(g => $query->fetchrow_hashref );
+       my $g = $query->fetchrow_hashref;
+       $c->detach('/default') unless $g;
+       $c->stash(g => $g);
+
 
        my $extra_columns = '';
        if ($c->check_user_roles(qw/stats_intel/)){
@@ -102,6 +105,8 @@ sub planet : Local {
        my $p = $dbh->selectrow_hashref(q{SELECT id,x,y,z FROM current_planet_stats
                WHERE id = $1},undef,$id);
 
+       $c->detach('/default') unless $p;
+
        $c->forward('galaxy',[$p->{x},$p->{y},$p->{z}]);
        $c->stash(p => $p);
 
index 1a6cb2181b3f7e099852ae1f78c843752d06c5a9..6e5e89b5ca9d75c28d60d3ba3e193d7ff06f563c 100644 (file)
@@ -1,6 +1,6 @@
 [% META title = 'Alliance Rankings' %]
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('alliances', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF alliances.size 0 %]<a href="[% c.uri_for('alliances', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF alliances.size == 100 %]<a href="[% c.uri_for('alliances', order, offset + 100) %]">Next 100</a>[% END %]
 </p>
 <table class="stats">
        <tr align="center"><th colspan="2">Rank</th>
@@ -36,5 +36,5 @@
 [% END %]
 </table>
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('alliances', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF alliances.size 0 %]<a href="[% c.uri_for('alliances', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF alliances.size == 100 %]<a href="[% c.uri_for('alliances', order, offset + 100) %]">Next 100</a>[% END %]
 </p>
index adfa5877cfbed80cb1e7756b81e3af8defe2ea1d..5b96de2dcefcc23917b0073980fa1d63023c6c2e 100644 (file)
@@ -1,6 +1,6 @@
 [% META title = 'Galaxy Rankings' %]
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('galaxies', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF galaxies.size 0 %]<a href="[% c.uri_for('galaxies', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF galaxies.size == 100 %]<a href="[% c.uri_for('galaxies', order, offset + 100) %]">Next 100</a>[% END %]
 </p>
 <table class="stats">
        <tr align="center"><th colspan="4">Rank</th>
@@ -42,5 +42,5 @@
 [% END %]
 </table>
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('galaxies', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF galaxies.size 0 %]<a href="[% c.uri_for('galaxies', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF galaxies.size == 100 %]<a href="[% c.uri_for('galaxies', order, offset + 100) %]">Next 100</a>[% END %]
 </p>
index 1ddf59a81512015f9fa43d022372787861837007..b55b6257355fa0885c810e22aa605b21e34509b1 100644 (file)
@@ -1,6 +1,6 @@
 [% META title = 'Planet Rankings' %]
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('planets', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF planets.size 0 %]<a href="[% c.uri_for('planets', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF planets.size == 100 %]<a href="[% c.uri_for('planets', order, offset + 100) %]">Next 100</a>[% END %]
 </p>
 <table class="stats">
        <tr align="center"><th colspan="4">Rank</th>
@@ -55,5 +55,5 @@
 [% END %]
 </table>
 <p>[% IF offset > 0 %]<a href="[% c.uri_for('planets', order, offset - 100) %]">Previous 100</a>[% END %]
-       [% IF planets.size 0 %]<a href="[% c.uri_for('planets', order, offset + 100) %]">Next 100</a>[% END %]
+       [% IF planets.size == 100 %]<a href="[% c.uri_for('planets', order, offset + 100) %]">Next 100</a>[% END %]
 </p>