]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb/Controller/Calls.pm
Show both total calls and defended calls for def leeches
[ndwebbie.git] / lib / NDWeb / Controller / Calls.pm
index 2afedadab8e430e0cadfae04a1a43239a83b8705..636ac29958957de0a9d1c64ed9244092191d34f6 100644 (file)
@@ -167,7 +167,7 @@ sub edit : Local {
        $c->stash(fleets => \@fleets);
 
        my $defenders = $dbh->prepare(q{ 
-SELECT DISTINCT ON (x,y,z,s.id,name,amount) fid,mission, name, eta
+SELECT DISTINCT ON (x,y,z,s.id,name,amount,back) fid,mission, name, eta
        , amount, coords(x,y,z) AS coords, landing_tick AS tick, f.planet
        ,back, (back <> landing_tick + eta - 1) AS recalled
 FROM launch_confirmations lc
@@ -231,13 +231,14 @@ sub defleeches : Local {
 
        my $query = $dbh->prepare(q{SELECT username,defense_points,count(id) AS calls
                , SUM(fleets) AS fleets, SUM(recalled) AS recalled
+               ,count(NULLIF(fleets,0)) AS defended_calls
                FROM (SELECT username,defense_points,c.id,count(f.target) AS fleets
                        , count(NULLIF(f.landing_tick + f.eta -1 = f.back,TRUE)) AS recalled
                        FROM users u JOIN calls c ON c.member = u.uid
                                LEFT OUTER JOIN (
                                        SELECT * FROM launch_confirmations JOIN fleets USING (fid)
+                                       WHERE mission = 'Defend'
                                ) f ON u.planet = f.target AND c.landing_tick = f.landing_tick
-                       WHERE f.mission = 'Defend'
                        GROUP BY username,defense_points,c.id
                ) d
                GROUP BY username,defense_points ORDER BY fleets DESC, defense_points