From: Magnus Hagander Date: Sun, 16 Sep 2018 20:52:33 +0000 (+0200) Subject: Include number of remaining seats in additional option json dump X-Git-Url: http://git.postgresql.org/gitweb/static/gitweb.js?a=commitdiff_plain;h=65f42934b341300c8c988c06a9beb087cc22c809;p=pgeu-website.git Include number of remaining seats in additional option json dump --- diff --git a/postgresqleu/confreg/backendviews.py b/postgresqleu/confreg/backendviews.py index 092417c..4d91f99 100644 --- a/postgresqleu/confreg/backendviews.py +++ b/postgresqleu/confreg/backendviews.py @@ -642,8 +642,8 @@ def tokendata(request, urlname, token, datatype, dataformat): writer.columns(headers, True) writer.write_rows(data) elif datatype == 'addopts': - writer.columns(['Option', 'Confirmed', 'Unconfirmed']) - writer.write_query("SELECT ao.name, count(payconfirmedat) AS confirmed, count(r.id) FILTER (WHERE payconfirmedat IS NULL) AS unconfirmed FROM confreg_conferenceadditionaloption ao LEFT JOIN confreg_conferenceregistration_additionaloptions rao ON rao.conferenceadditionaloption_id=ao.id LEFT JOIN confreg_conferenceregistration r ON r.id=rao.conferenceregistration_id WHERE ao.conference_id=%(confid)s GROUP BY ao.id ORDER BY ao.name", {'confid': conference.id}) + writer.columns(['Option', 'Confirmed', 'Unconfirmed', 'Remaining']) + writer.write_query("SELECT ao.name, count(payconfirmedat) AS confirmed, count(r.id) FILTER (WHERE payconfirmedat IS NULL) AS unconfirmed, CASE WHEN maxcount>0 THEN maxcount ELSE NULL END-count(r.id) AS remaining FROM confreg_conferenceadditionaloption ao LEFT JOIN confreg_conferenceregistration_additionaloptions rao ON rao.conferenceadditionaloption_id=ao.id LEFT JOIN confreg_conferenceregistration r ON r.id=rao.conferenceregistration_id WHERE ao.conference_id=%(confid)s GROUP BY ao.id ORDER BY ao.name", {'confid': conference.id}) else: raise Http404()