diff --git a/resources/sql/queries.sql b/resources/sql/queries.sql index 779e572..0705af8 100644 --- a/resources/sql/queries.sql +++ b/resources/sql/queries.sql @@ -67,6 +67,13 @@ WHERE canvasser_id = :id ORDER BY date desc LIMIT 1 +--:name get-locality-for-visit :? :1 +--:doc returns the locality of the address of this visit +SELECT addresses.locality +FROM addresses, visits +WHERE visits.address_id = addresses.id +AND visits.id = :id + -- I don't know why this next one isn't autogenerating, but it isn't and it's critical. -- :name list-roles-by-canvasser :? :* diff --git a/resources/sql/youyesyet.postgres.overrides.sql b/resources/sql/youyesyet.postgres.overrides.sql new file mode 100644 index 0000000..dad6bce --- /dev/null +++ b/resources/sql/youyesyet.postgres.overrides.sql @@ -0,0 +1,25 @@ +------------------------------------------------------------------------ +-- convenience view lv_followupactions of entity followupactions for +-- lists, et cetera +-- ADL is not yet correctly chaining tables when generating convenience +-- views, so the auto-generated convenience view is a horrible +-- cross-product join +------------------------------------------------------------------------ +DROP VIEW lv_followupactions; +CREATE VIEW lv_followupactions AS +SELECT electors.name ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| visits.date ||', '|| issues.id AS request_id_expanded, + followupactions.request_id, + canvassers.username ||', '|| canvassers.fullname ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| canvassers.phone ||', '|| canvassers.email AS actor_expanded, + followupactions.actor, + followupactions.date, + followupactions.notes, + followupactions.closed, + followupactions.id +FROM followuprequests, visits, canvassers, addresses, followupactions, issues, electors +WHERE followupactions.request_id = followuprequests.id + AND followuprequests.elector_id = electors.id + AND followuprequests.visit_id = visits.id + AND followuprequests.issue_id = issues.id + AND visits.address_id = addresses.id + AND followupactions.actor = canvassers.id +; diff --git a/resources/templates/issue-expert/request.html b/resources/templates/issue-expert/request.html index 64d8d79..295ba19 100644 --- a/resources/templates/issue-expert/request.html +++ b/resources/templates/issue-expert/request.html @@ -13,16 +13,19 @@