#47, #48, #49, #50: Auto-generated admin system largely done

This work is closely coupled with work on [ADL](https://github.com/simon-brooke/adl), q.v. At present ADL largely supports this project.
This commit is contained in:
Simon Brooke 2018-06-10 22:31:12 +01:00
parent 79bf3ed7eb
commit a00da8079c
28 changed files with 4018 additions and 47 deletions

View file

@ -1,11 +1,11 @@
-- File queries.sql
-- autogenerated by adl.to-hugsql-queries at
-- 2018-05-26T15:03:25.295Z
-- 2018-06-05T12:33:53.043Z
-- See [Application Description Language](https://github.com/simon-brooke/adl).
-- :name create-address! :! :n
-- :name create-address! :! :n
-- :doc creates a new address record
INSERT INTO addresses (address,
postcode,
@ -21,13 +21,13 @@ VALUES (:address,
:longitude)
returning id
-- :name create-authority! :! :n
-- :name create-authority! :! :n
-- :doc creates a new authority record
INSERT INTO authorities (id)
VALUES (:id)
returning id
-- :name create-canvasser! :! :n
-- :name create-canvasser! :! :n
-- :doc creates a new canvasser record
INSERT INTO canvassers (username,
fullname,
@ -36,7 +36,8 @@ INSERT INTO canvassers (username,
phone,
email,
authority_id,
authorised)
authorised,
roles)
VALUES (:username,
:fullname,
:elector_id,
@ -44,16 +45,17 @@ VALUES (:username,
:phone,
:email,
:authority_id,
:authorised)
:authorised,
:roles)
returning id
-- :name create-district! :! :n
-- :name create-district! :! :n
-- :doc creates a new district record
INSERT INTO districts (name)
VALUES (:name)
returning id
-- :name create-dwelling! :! :n
-- :name create-dwelling! :! :n
-- :doc creates a new dwelling record
INSERT INTO dwellings (address_id,
sub-address)
@ -61,7 +63,7 @@ VALUES (:address_id,
:sub-address)
returning id
-- :name create-elector! :! :n
-- :name create-elector! :! :n
-- :doc creates a new elector record
INSERT INTO electors (name,
dwelling_id,
@ -75,7 +77,7 @@ VALUES (:name,
:gender)
returning id
-- :name create-followupaction! :! :n
-- :name create-followupaction! :! :n
-- :doc creates a new followupaction record
INSERT INTO followupactions (request_id,
actor,
@ -89,13 +91,13 @@ VALUES (:request_id,
:closed)
returning id
-- :name create-followupmethod! :! :n
-- :name create-followupmethod! :! :n
-- :doc creates a new followupmethod record
INSERT INTO followupmethods (id)
VALUES (:id)
returning id
-- :name create-followuprequest! :! :n
-- :name create-followuprequest! :! :n
-- :doc creates a new followuprequest record
INSERT INTO followuprequests (elector_id,
visit_id,
@ -107,13 +109,13 @@ VALUES (:elector_id,
:method_id)
returning id
-- :name create-gender! :! :n
-- :name create-gender! :! :n
-- :doc creates a new gender record
INSERT INTO genders (id)
VALUES (:id)
returning id
-- :name create-intention! :! :n
-- :name create-intention! :! :n
-- :doc creates a new intention record
INSERT INTO intentions (visit_id,
elector_id,
@ -123,7 +125,7 @@ VALUES (:visit_id,
:option_id)
returning Id
-- :name create-issue! :! :n
-- :name create-issue! :! :n
-- :doc creates a new issue record
INSERT INTO issues (url,
current,
@ -133,8 +135,8 @@ VALUES (:url,
:id)
returning id
-- :name create-issueexpertis! :! :n
-- :doc creates a new issueexpertis record
-- :name create-issueexpertise! :! :n
-- :doc creates a new issueexpertise record
INSERT INTO issueexpertise (canvasser_id,
issue_id,
method_id)
@ -143,19 +145,19 @@ VALUES (:canvasser_id,
:method_id)
returning Id
-- :name create-option! :! :n
-- :name create-option! :! :n
-- :doc creates a new option record
INSERT INTO options (id)
VALUES (:id)
returning id
-- :name create-role! :! :n
-- :name create-role! :! :n
-- :doc creates a new role record
INSERT INTO roles (name)
VALUES (:name)
returning id
-- :name create-rolemembership! :! :n
-- :name create-rolemembership! :! :n
-- :doc creates a new rolemembership record
INSERT INTO rolememberships (role_id,
canvasser_id)
@ -163,7 +165,7 @@ VALUES (:role_id,
:canvasser_id)
returning Id
-- :name create-team! :! :n
-- :name create-team! :! :n
-- :doc creates a new team record
INSERT INTO teams (name,
district_id,
@ -175,7 +177,7 @@ VALUES (:name,
:longitude)
returning id
-- :name create-teammembership! :! :n
-- :name create-teammembership! :! :n
-- :doc creates a new teammembership record
INSERT INTO teammemberships (team_id,
canvasser_id)
@ -183,7 +185,7 @@ VALUES (:team_id,
:canvasser_id)
returning Id
-- :name create-teamorganisership! :! :n
-- :name create-teamorganisership! :! :n
-- :doc creates a new teamorganisership record
INSERT INTO teamorganiserships (team_id,
canvasser_id)
@ -191,7 +193,7 @@ VALUES (:team_id,
:canvasser_id)
returning Id
-- :name create-visit! :! :n
-- :name create-visit! :! :n
-- :doc creates a new visit record
INSERT INTO visits (address_id,
canvasser_id,
@ -261,8 +263,8 @@ WHERE intentions.Id = :Id
DELETE FROM issues
WHERE issues.id = :id
-- :name delete-issueexpertis! :! :n
-- :doc updates an existing issueexpertis record
-- :name delete-issueexpertise! :! :n
-- :doc updates an existing issueexpertise record
DELETE FROM issueexpertise
WHERE issueexpertise.Id = :Id
@ -323,6 +325,15 @@ ORDER BY canvassers.username,
canvassers.email,
canvassers.id
-- :name get-canvasser-by-username :? :1
-- :doc selects an existing canvasser record
SELECT * FROM canvassers
WHERE canvassers.username = :username
ORDER BY canvassers.username,
canvassers.fullname,
canvassers.email,
canvassers.id
-- :name get-district :? :1
-- :doc selects an existing district record
SELECT * FROM districts
@ -374,8 +385,8 @@ WHERE intentions.Id = :Id
SELECT * FROM issues
WHERE issues.id = :id
-- :name get-issueexpertis :? :1
-- :doc selects an existing issueexpertis record
-- :name get-issueexpertise :? :1
-- :doc selects an existing issueexpertise record
SELECT * FROM issueexpertise
WHERE issueexpertise.Id = :Id
@ -482,6 +493,16 @@ ORDER BY canvassers.username,
canvassers.email,
canvassers.id
-- :name list-canvassers-by-role :? :*
-- :doc lists all existing canvasser records related to a given role
SELECT *
FROM canvassers
WHERE canvassers.roles = :id
ORDER BY canvassers.username,
canvassers.fullname,
canvassers.email,
canvassers.id
-- :name list-districts :? :*
-- :doc lists all existing district records
SELECT * FROM districts
@ -496,8 +517,8 @@ SELECT * FROM dwellings
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name list-dwellings-by-addres :? :*
-- :doc lists all existing dwelling records related to a given addres
-- :name list-dwellings-by-address :? :*
-- :doc lists all existing dwelling records related to a given address
SELECT *
FROM dwellings
WHERE dwellings.address_id = :id
@ -617,25 +638,25 @@ FROM intentions
WHERE intentions.visit_id = :id
-- :name list-issueexpertise :? :*
-- :doc lists all existing issueexpertis records
-- :doc lists all existing issueexpertise records
SELECT * FROM issueexpertise
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name list-issueexpertise-by-canvasser :? :*
-- :doc lists all existing issueexpertis records related to a given canvasser
-- :doc lists all existing issueexpertise records related to a given canvasser
SELECT *
FROM issueexpertise
WHERE issueexpertise.canvasser_id = :id
-- :name list-issueexpertise-by-followupmethod :? :*
-- :doc lists all existing issueexpertis records related to a given followupmethod
-- :doc lists all existing issueexpertise records related to a given followupmethod
SELECT *
FROM issueexpertise
WHERE issueexpertise.method_id = :id
-- :name list-issueexpertise-by-issue :? :*
-- :doc lists all existing issueexpertis records related to a given issue
-- :doc lists all existing issueexpertise records related to a given issue
SELECT *
FROM issueexpertise
WHERE issueexpertise.issue_id = :id
@ -760,6 +781,14 @@ ORDER BY addresses.address,
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-authority :? :1
-- :doc selects existing authority records having any string field matching `:pattern` by substring match
SELECT * FROM authorities
WHERE
id LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-canvasser :? :1
-- :doc selects existing canvasser records having any string field matching `:pattern` by substring match
SELECT * FROM canvassers
@ -807,11 +836,65 @@ ORDER BY electors.name,
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-followupaction :? :1
-- :doc selects existing followupaction records having any string field matching `:pattern` by substring match
SELECT * FROM followupactions
WHERE
notes LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-followupmethod :? :1
-- :doc selects existing followupmethod records having any string field matching `:pattern` by substring match
SELECT * FROM followupmethods
WHERE
id LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-followuprequest :? :1
-- :doc selects existing followuprequest records having any string field matching `:pattern` by substring match
SELECT * FROM followuprequests
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-gender :? :1
-- :doc selects existing gender records having any string field matching `:pattern` by substring match
SELECT * FROM genders
WHERE
id LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-intention :? :1
-- :doc selects existing intention records having any string field matching `:pattern` by substring match
SELECT * FROM intentions
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-issue :? :1
-- :doc selects existing issue records having any string field matching `:pattern` by substring match
SELECT * FROM issues
WHERE
url LIKE '%:pattern%'
OR id LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-issueexpertise :? :1
-- :doc selects existing issueexpertise records having any string field matching `:pattern` by substring match
SELECT * FROM issueexpertise
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-option :? :1
-- :doc selects existing option records having any string field matching `:pattern` by substring match
SELECT * FROM options
WHERE
id LIKE '%:pattern%'
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
@ -825,6 +908,13 @@ ORDER BY roles.name,
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-rolemembership :? :1
-- :doc selects existing rolemembership records having any string field matching `:pattern` by substring match
SELECT * FROM rolememberships
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-team :? :1
-- :doc selects existing team records having any string field matching `:pattern` by substring match
SELECT * FROM teams
@ -834,3 +924,159 @@ ORDER BY teams.name,
teams.id
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-teammembership :? :1
-- :doc selects existing teammembership records having any string field matching `:pattern` by substring match
SELECT * FROM teammemberships
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-teamorganisership :? :1
-- :doc selects existing teamorganisership records having any string field matching `:pattern` by substring match
SELECT * FROM teamorganiserships
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name search-strings-visit :? :1
-- :doc selects existing visit records having any string field matching `:pattern` by substring match
SELECT * FROM visits
WHERE
--~ (if (:offset params) "OFFSET :offset ")
--~ (if (:limit params) "LIMIT :limit" "LIMIT 100")
-- :name update-address! :! :n
-- :doc updates an existing address record
UPDATE addresses
SET address = :address,
postcode = :postcode,
phone = :phone,
district_id = :district_id,
latitude = :latitude,
longitude = :longitude
WHERE addresses.id = :id
-- :name update-canvasser! :! :n
-- :doc updates an existing canvasser record
UPDATE canvassers
SET username = :username,
fullname = :fullname,
elector_id = :elector_id,
address_id = :address_id,
phone = :phone,
email = :email,
authority_id = :authority_id,
authorised = :authorised,
roles = :roles
WHERE canvassers.id = :id
-- :name update-district! :! :n
-- :doc updates an existing district record
UPDATE districts
SET name = :name
WHERE districts.id = :id
-- :name update-dwelling! :! :n
-- :doc updates an existing dwelling record
UPDATE dwellings
SET address_id = :address_id,
sub-address = :sub-address
WHERE dwellings.id = :id
-- :name update-elector! :! :n
-- :doc updates an existing elector record
UPDATE electors
SET name = :name,
dwelling_id = :dwelling_id,
phone = :phone,
email = :email,
gender = :gender
WHERE electors.id = :id
-- :name update-followupaction! :! :n
-- :doc updates an existing followupaction record
UPDATE followupactions
SET request_id = :request_id,
actor = :actor,
date = :date,
notes = :notes,
closed = :closed
WHERE followupactions.id = :id
-- :name update-followuprequest! :! :n
-- :doc updates an existing followuprequest record
UPDATE followuprequests
SET elector_id = :elector_id,
visit_id = :visit_id,
issue_id = :issue_id,
method_id = :method_id
WHERE followuprequests.id = :id
-- :name update-intention! :! :n
-- :doc updates an existing intention record
UPDATE intentions
SET visit_id = :visit_id,
elector_id = :elector_id,
option_id = :option_id
WHERE intentions.Id = :Id
-- :name update-issue! :! :n
-- :doc updates an existing issue record
UPDATE issues
SET url = :url,
current = :current,
id = :id
WHERE issues.id = :id
-- :name update-issueexpertise! :! :n
-- :doc updates an existing issueexpertise record
UPDATE issueexpertise
SET canvasser_id = :canvasser_id,
issue_id = :issue_id,
method_id = :method_id
WHERE issueexpertise.Id = :Id
-- :name update-role! :! :n
-- :doc updates an existing role record
UPDATE roles
SET name = :name
WHERE roles.id = :id
-- :name update-rolemembership! :! :n
-- :doc updates an existing rolemembership record
UPDATE rolememberships
SET role_id = :role_id,
canvasser_id = :canvasser_id
WHERE rolememberships.Id = :Id
-- :name update-team! :! :n
-- :doc updates an existing team record
UPDATE teams
SET name = :name,
district_id = :district_id,
latitude = :latitude,
longitude = :longitude
WHERE teams.id = :id
-- :name update-teammembership! :! :n
-- :doc updates an existing teammembership record
UPDATE teammemberships
SET team_id = :team_id,
canvasser_id = :canvasser_id
WHERE teammemberships.Id = :Id
-- :name update-teamorganisership! :! :n
-- :doc updates an existing teamorganisership record
UPDATE teamorganiserships
SET team_id = :team_id,
canvasser_id = :canvasser_id
WHERE teamorganiserships.Id = :Id
-- :name update-visit! :! :n
-- :doc updates an existing visit record
UPDATE visits
SET address_id = :address_id,
canvasser_id = :canvasser_id,
date = :date
WHERE visits.id = :id

View file

@ -0,0 +1,204 @@
{% extends "templates/base.html" %}
<!-- File application-index.html generated 2018-06-10T21:17:47.127Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<dl class='index'>
<dt>
<a href='list-electors-Electors'>
Elector
</a>
</dt>
<dd>
<p>
All electors known to the system; electors are people believed to be entitled to vote in the current campaign.
</p>
</dd>
<dt>
<a href='list-genders-Genders'>
Gender
</a>
</dt>
<dd>
<p>
All genders which may be assigned to electors.
</p>
</dd>
<dt>
<a href='list-dwellings-Dwellings'>
Dwelling
</a>
</dt>
<dd>
<p>
All dwellings within addresses in the system; a dwelling is a house, flat or appartment in which electors live.
</p>
</dd>
<dt>
<a href='list-addresses-Addresses'>
Address
</a>
</dt>
<dd>
<p>
Addresses of all buildings which contain dwellings.
</p>
</dd>
<dt>
<a href='list-visits-Visits'>
Visit
</a>
</dt>
<dd>
<p>
All visits made by canvassers to dwellings in which opinions were recorded.
</p>
</dd>
<dt>
<a href='list-authorities-Authorities'>
Authority
</a>
</dt>
<dd>
<p>
Authorities which may authenticate canvassers to the system.
</p>
</dd>
<dt>
<a href='list-issues-Issues'>
Issue
</a>
</dt>
<dd>
<p>
Issues believed to be of interest to electors, about which they may have questions.
</p>
</dd>
<dt>
<a href='list-intentions-Intentions'>
Intention
</a>
</dt>
<dd>
<p>
Link table.
</p>
</dd>
<dt>
<a href='list-canvassers-Canvassers'>
Canvasser
</a>
</dt>
<dd>
<p>
Primary users of the system: those actually interviewing electors.
</p>
</dd>
<dt>
<a href='list-followuprequests-Followuprequests'>
Followuprequest
</a>
</dt>
<dd>
<p>
Requests for a followup with an issue expert
</p>
</dd>
<dt>
<a href=''>
Rolemembership
</a>
</dt>
<dd>
<p>
Link table
</p>
</dd>
<dt>
<a href='list-roles-Roles'>
Role
</a>
</dt>
<dd>
<p>
A role (essentially, the same as a group, but application layer rather than database layer) of which a user may be a member.
</p>
</dd>
<dt>
<a href='list-teams-Teams'>
Team
</a>
</dt>
<dd>
</dd>
<dt>
<a href='list-districts-Districts'>
District
</a>
</dt>
<dd>
<p>
Electoral districts
</p>
</dd>
<dt>
<a href=''>
Teamorganisership
</a>
</dt>
<dd>
<p>
Link table
</p>
</dd>
<dt>
<a href='list-followupactions-Followupactions'>
Followupaction
</a>
</dt>
<dd>
<p>
Actions taken on followup requests.
</p>
</dd>
<dt>
<a href=''>
Issueexpertise
</a>
</dt>
<dd>
<p>
Link table
</p>
</dd>
<dt>
<a href='list-options-Options'>
Option
</a>
</dt>
<dd>
<p>
Options in the election or referendum being canvassed on
</p>
</dd>
<dt>
<a href=''>
Teammembership
</a>
</dt>
<dd>
<p>
Link table
</p>
</dd>
<dt>
<a href='list-followupmethods-Followupmethods'>
Followupmethod
</a>
</dt>
<dd>
</dd>
</dl>
{% endblock %}

View file

@ -0,0 +1,232 @@
{% extends "templates/base.html" %}
<!-- File form-addresses-Address.html generated 2018-06-10T21:17:47.120Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-addresses-Address' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable addresses %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable addresses %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address'>
address
</label>
{% ifwritable addresses address %}
<input id='address' name='address' type='text' value='{{record.address}}'/>
{% else %}
{% ifreadable addresses address%}
<span id='address' name='address' class='pseudo-widget disabled'>
{{record.address}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='postcode'>
postcode
</label>
{% ifwritable addresses postcode %}
<input id='postcode' name='postcode' type='text' value='{{record.postcode}}'/>
{% else %}
{% ifreadable addresses postcode%}
<span id='postcode' name='postcode' class='pseudo-widget disabled'>
{{record.postcode}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable addresses phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable addresses phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='district_id'>
district_id
</label>
{% ifwritable addresses district_id %}
<div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable addresses district_id%}
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
{{record.district_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='latitude'>
latitude
</label>
{% ifwritable addresses latitude %}
<input id='latitude' name='latitude' type='number' value='{{record.latitude}}'/>
{% else %}
{% ifreadable addresses latitude%}
<span id='latitude' name='latitude' class='pseudo-widget disabled'>
{{record.latitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='longitude'>
longitude
</label>
{% ifwritable addresses longitude %}
<input id='longitude' name='longitude' type='number' value='{{record.longitude}}'/>
{% else %}
{% ifreadable addresses longitude%}
<span id='longitude' name='longitude' class='pseudo-widget disabled'>
{{record.longitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable addresses %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable addresses %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address'>
address
</label>
{% ifwritable addresses address %}
<input id='address' name='address' type='text' value='{{record.address}}'/>
{% else %}
{% ifreadable addresses address%}
<span id='address' name='address' class='pseudo-widget disabled'>
{{record.address}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='postcode'>
postcode
</label>
{% ifwritable addresses postcode %}
<input id='postcode' name='postcode' type='text' value='{{record.postcode}}'/>
{% else %}
{% ifreadable addresses postcode%}
<span id='postcode' name='postcode' class='pseudo-widget disabled'>
{{record.postcode}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable addresses phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable addresses phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='district_id'>
district_id
</label>
{% ifwritable addresses district_id %}
<div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable addresses district_id%}
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
{{record.district_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='latitude'>
latitude
</label>
{% ifwritable addresses latitude %}
<input id='latitude' name='latitude' type='number' value='{{record.latitude}}'/>
{% else %}
{% ifreadable addresses latitude%}
<span id='latitude' name='latitude' class='pseudo-widget disabled'>
{{record.latitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='longitude'>
longitude
</label>
{% ifwritable addresses longitude %}
<input id='longitude' name='longitude' type='number' value='{{record.longitude}}'/>
{% else %}
{% ifreadable addresses longitude%}
<span id='longitude' name='longitude' class='pseudo-widget disabled'>
{{record.longitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this addresses record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this addresses record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,317 @@
{% extends "templates/base.html" %}
<!-- File form-canvassers-Canvasser.html generated 2018-06-10T21:17:47.133Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-canvassers-Canvasser' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable canvassers %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable canvassers %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='username'>
username
</label>
{% ifwritable canvassers username %}
<input id='username' name='username' type='text' value='{{record.username}}'/>
{% else %}
{% ifreadable canvassers username%}
<span id='username' name='username' class='pseudo-widget disabled'>
{{record.username}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='fullname'>
fullname
</label>
{% ifwritable canvassers fullname %}
<input id='fullname' name='fullname' type='text' value='{{record.fullname}}'/>
{% else %}
{% ifreadable canvassers fullname%}
<span id='fullname' name='fullname' class='pseudo-widget disabled'>
{{record.fullname}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='elector_id'>
elector_id
</label>
{% ifwritable canvassers elector_id %}
<div class='select-box' farside='electors' found='true'>
<input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in electors %}<option value='{{record.id}}'>{{record.name}} {{record.phone}} {{record.email}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable canvassers elector_id%}
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
{{record.elector_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable canvassers address_id %}
<input id='address_id' name='address_id' type='number' value='{{record.address_id}}'/>
{% else %}
{% ifreadable canvassers address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable canvassers phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable canvassers phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='email'>
email
</label>
{% ifwritable canvassers email %}
<input id='email' name='email' type='text' value='{{record.email}}'/>
{% else %}
{% ifreadable canvassers email%}
<span id='email' name='email' class='pseudo-widget disabled'>
{{record.email}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='authority_id'>
authority_id
</label>
{% ifwritable canvassers authority_id %}
<div class='select-box' farside='authorities' found='true'>
<input name='authority_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='authority_id' name='authority_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in authorities %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable canvassers authority_id%}
<span id='authority_id' name='authority_id' class='pseudo-widget disabled'>
{{record.authority_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='authorised'>
authorised
</label>
{% ifwritable canvassers authorised %}
<input id='authorised' name='authorised' type='checkbox' value='{{record.authorised}}'/>
{% else %}
{% ifreadable canvassers authorised%}
<span id='authorised' name='authorised' class='pseudo-widget disabled'>
{{record.authorised}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable canvassers %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable canvassers %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='username'>
username
</label>
{% ifwritable canvassers username %}
<input id='username' name='username' type='text' value='{{record.username}}'/>
{% else %}
{% ifreadable canvassers username%}
<span id='username' name='username' class='pseudo-widget disabled'>
{{record.username}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='fullname'>
fullname
</label>
{% ifwritable canvassers fullname %}
<input id='fullname' name='fullname' type='text' value='{{record.fullname}}'/>
{% else %}
{% ifreadable canvassers fullname%}
<span id='fullname' name='fullname' class='pseudo-widget disabled'>
{{record.fullname}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='elector_id'>
elector_id
</label>
{% ifwritable canvassers elector_id %}
<div class='select-box' farside='electors' found='true'>
<input name='elector_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='elector_id' name='elector_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in electors %}<option value='{{record.id}}'>{{record.name}} {{record.phone}} {{record.email}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable canvassers elector_id%}
<span id='elector_id' name='elector_id' class='pseudo-widget disabled'>
{{record.elector_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable canvassers address_id %}
<input id='address_id' name='address_id' type='number' value='{{record.address_id}}'/>
{% else %}
{% ifreadable canvassers address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable canvassers phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable canvassers phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='email'>
email
</label>
{% ifwritable canvassers email %}
<input id='email' name='email' type='text' value='{{record.email}}'/>
{% else %}
{% ifreadable canvassers email%}
<span id='email' name='email' class='pseudo-widget disabled'>
{{record.email}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='authority_id'>
authority_id
</label>
{% ifwritable canvassers authority_id %}
<div class='select-box' farside='authorities' found='true'>
<input name='authority_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='authority_id' name='authority_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in authorities %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable canvassers authority_id%}
<span id='authority_id' name='authority_id' class='pseudo-widget disabled'>
{{record.authority_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='authorised'>
authorised
</label>
{% ifwritable canvassers authorised %}
<input id='authorised' name='authorised' type='checkbox' value='{{record.authorised}}'/>
{% else %}
{% ifreadable canvassers authorised%}
<span id='authorised' name='authorised' class='pseudo-widget disabled'>
{{record.authorised}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='roles'>
roles
</label>
{% ifwritable canvassers roles %}
<div class='select-box' farside='role' found='false'>
<input name='roles-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='roles' name='roles' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in role %}<option value='{{record.role_id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable canvassers roles%}
<span id='roles' name='roles' class='pseudo-widget disabled'>
{{record.roles}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this canvassers record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this canvassers record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,82 @@
{% extends "templates/base.html" %}
<!-- File form-districts-District.html generated 2018-06-10T21:17:47.119Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-districts-District' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable districts %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable districts %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable districts name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable districts name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable districts %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable districts %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable districts name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable districts name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this districts record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this districts record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,120 @@
{% extends "templates/base.html" %}
<!-- File form-dwellings-Dwelling.html generated 2018-06-10T21:17:47.138Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-dwellings-Dwelling' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable dwellings %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable dwellings %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable dwellings address_id %}
<div class='select-box' farside='address' found='false'>
<input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in address %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable dwellings address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='sub-address'>
sub-address
</label>
{% ifwritable dwellings sub-address %}
<input id='sub-address' name='sub-address' type='text' value='{{record.sub-address}}'/>
{% else %}
{% ifreadable dwellings sub-address%}
<span id='sub-address' name='sub-address' class='pseudo-widget disabled'>
{{record.sub-address}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable dwellings %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable dwellings %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable dwellings address_id %}
<div class='select-box' farside='address' found='false'>
<input name='address_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='address_id' name='address_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in address %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable dwellings address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='sub-address'>
sub-address
</label>
{% ifwritable dwellings sub-address %}
<input id='sub-address' name='sub-address' type='text' value='{{record.sub-address}}'/>
{% else %}
{% ifreadable dwellings sub-address%}
<span id='sub-address' name='sub-address' class='pseudo-widget disabled'>
{{record.sub-address}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this dwellings record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this dwellings record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,212 @@
{% extends "templates/base.html" %}
<!-- File form-electors-Elector.html generated 2018-06-10T21:17:47.130Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-electors-Elector' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable electors %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable electors %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable electors name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable electors name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='dwelling_id'>
dwelling_id
</label>
{% ifwritable electors dwelling_id %}
<div class='select-box' farside='dwellings' found='true'>
<input name='dwelling_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='dwelling_id' name='dwelling_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in dwellings %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable electors dwelling_id%}
<span id='dwelling_id' name='dwelling_id' class='pseudo-widget disabled'>
{{record.dwelling_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable electors phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable electors phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='email'>
email
</label>
{% ifwritable electors email %}
<input id='email' name='email' type='text' value='{{record.email}}'/>
{% else %}
{% ifreadable electors email%}
<span id='email' name='email' class='pseudo-widget disabled'>
{{record.email}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='gender'>
gender
</label>
{% ifwritable electors gender %}
<div class='select-box' farside='genders' found='true'>
<select id='gender' name='gender'>
{% for record in genders %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable electors gender%}
<span id='gender' name='gender' class='pseudo-widget disabled'>
{{record.gender}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable electors %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable electors %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable electors name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable electors name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='dwelling_id'>
dwelling_id
</label>
{% ifwritable electors dwelling_id %}
<div class='select-box' farside='dwellings' found='true'>
<input name='dwelling_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='dwelling_id' name='dwelling_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in dwellings %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable electors dwelling_id%}
<span id='dwelling_id' name='dwelling_id' class='pseudo-widget disabled'>
{{record.dwelling_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='phone'>
phone
</label>
{% ifwritable electors phone %}
<input id='phone' name='phone' type='text' value='{{record.phone}}'/>
{% else %}
{% ifreadable electors phone%}
<span id='phone' name='phone' class='pseudo-widget disabled'>
{{record.phone}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='email'>
email
</label>
{% ifwritable electors email %}
<input id='email' name='email' type='text' value='{{record.email}}'/>
{% else %}
{% ifreadable electors email%}
<span id='email' name='email' class='pseudo-widget disabled'>
{{record.email}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='gender'>
gender
</label>
{% ifwritable electors gender %}
<div class='select-box' farside='genders' found='true'>
<select id='gender' name='gender'>
{% for record in genders %}<option value='{{record.id}}'>{{record.id}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable electors gender%}
<span id='gender' name='gender' class='pseudo-widget disabled'>
{{record.gender}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this electors record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this electors record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,204 @@
{% extends "templates/base.html" %}
<!-- File form-followupactions-Followupaction.html generated 2018-06-10T21:17:47.139Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-followupactions-Followupaction' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable followupactions %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable followupactions %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='request_id'>
request_id
</label>
{% ifwritable followupactions request_id %}
<div class='select-box' farside='followuprequests' found='true'>
<input name='request_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='request_id' name='request_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in followuprequests %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable followupactions request_id%}
<span id='request_id' name='request_id' class='pseudo-widget disabled'>
{{record.request_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='actor'>
actor
</label>
{% ifwritable followupactions actor %}
<input id='actor' name='actor' type='number' value='{{record.actor}}'/>
{% else %}
{% ifreadable followupactions actor%}
<span id='actor' name='actor' class='pseudo-widget disabled'>
{{record.actor}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='date'>
date
</label>
{% ifwritable followupactions date %}
<input id='date' name='date' type='text' value='{{record.date}}'/>
{% else %}
{% ifreadable followupactions date%}
<span id='date' name='date' class='pseudo-widget disabled'>
{{record.date}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='notes'>
notes
</label>
{% ifwritable followupactions notes %}
<input id='notes' name='notes' type='text' value='{{record.notes}}'/>
{% else %}
{% ifreadable followupactions notes%}
<span id='notes' name='notes' class='pseudo-widget disabled'>
{{record.notes}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='closed'>
closed
</label>
{% ifwritable followupactions closed %}
<input id='closed' name='closed' type='checkbox' value='{{record.closed}}'/>
{% else %}
{% ifreadable followupactions closed%}
<span id='closed' name='closed' class='pseudo-widget disabled'>
{{record.closed}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable followupactions %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable followupactions %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='request_id'>
request_id
</label>
{% ifwritable followupactions request_id %}
<div class='select-box' farside='followuprequests' found='true'>
<input name='request_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='request_id' name='request_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in followuprequests %}<option value='{{record.id}}'></option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable followupactions request_id%}
<span id='request_id' name='request_id' class='pseudo-widget disabled'>
{{record.request_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='actor'>
actor
</label>
{% ifwritable followupactions actor %}
<input id='actor' name='actor' type='number' value='{{record.actor}}'/>
{% else %}
{% ifreadable followupactions actor%}
<span id='actor' name='actor' class='pseudo-widget disabled'>
{{record.actor}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='date'>
date
</label>
{% ifwritable followupactions date %}
<input id='date' name='date' type='text' value='{{record.date}}'/>
{% else %}
{% ifreadable followupactions date%}
<span id='date' name='date' class='pseudo-widget disabled'>
{{record.date}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='notes'>
notes
</label>
{% ifwritable followupactions notes %}
<input id='notes' name='notes' type='text' value='{{record.notes}}'/>
{% else %}
{% ifreadable followupactions notes%}
<span id='notes' name='notes' class='pseudo-widget disabled'>
{{record.notes}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='closed'>
closed
</label>
{% ifwritable followupactions closed %}
<input id='closed' name='closed' type='checkbox' value='{{record.closed}}'/>
{% else %}
{% ifreadable followupactions closed%}
<span id='closed' name='closed' class='pseudo-widget disabled'>
{{record.closed}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this followupactions record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this followupactions record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,123 @@
{% extends "templates/base.html" %}
<!-- File form-issues-Issue.html generated 2018-06-10T21:17:47.123Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-issues-Issue' method='POST'>
{% csrf-field %}
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable issues id %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable issues id%}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable issues %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable issues %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='url'>
url
</label>
{% ifwritable issues url %}
<input id='url' name='url' type='text' value='{{record.url}}'/>
{% else %}
{% ifreadable issues url%}
<span id='url' name='url' class='pseudo-widget disabled'>
{{record.url}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='current'>
current
</label>
{% ifwritable issues current %}
<input id='current' name='current' type='checkbox' value='{{record.current}}'/>
{% else %}
{% ifreadable issues current%}
<span id='current' name='current' class='pseudo-widget disabled'>
{{record.current}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable issues %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable issues %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='url'>
url
</label>
{% ifwritable issues url %}
<input id='url' name='url' type='text' value='{{record.url}}'/>
{% else %}
{% ifreadable issues url%}
<span id='url' name='url' class='pseudo-widget disabled'>
{{record.url}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='current'>
current
</label>
{% ifwritable issues current %}
<input id='current' name='current' type='checkbox' value='{{record.current}}'/>
{% else %}
{% ifreadable issues current%}
<span id='current' name='current' class='pseudo-widget disabled'>
{{record.current}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this issues record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this issues record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,82 @@
{% extends "templates/base.html" %}
<!-- File form-roles-Role.html generated 2018-06-10T21:17:47.125Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-roles-Role' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable roles %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable roles %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable roles name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable roles name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable roles %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable roles %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable roles name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable roles name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this roles record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this roles record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,195 @@
{% extends "templates/base.html" %}
<!-- File form-teams-Team.html generated 2018-06-10T21:17:47.128Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-teams-Team' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable teams %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable teams %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable teams name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable teams name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='district_id'>
district_id
</label>
{% ifwritable teams district_id %}
<div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable teams district_id%}
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
{{record.district_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='latitude'>
latitude
</label>
{% ifwritable teams latitude %}
<input id='latitude' name='latitude' type='number' value='{{record.latitude}}'/>
{% else %}
{% ifreadable teams latitude%}
<span id='latitude' name='latitude' class='pseudo-widget disabled'>
{{record.latitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='longitude'>
longitude
</label>
{% ifwritable teams longitude %}
<input id='longitude' name='longitude' type='number' value='{{record.longitude}}'/>
{% else %}
{% ifreadable teams longitude%}
<span id='longitude' name='longitude' class='pseudo-widget disabled'>
{{record.longitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable teams %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable teams %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='name'>
name
</label>
{% ifwritable teams name %}
<input id='name' name='name' type='text' value='{{record.name}}'/>
{% else %}
{% ifreadable teams name%}
<span id='name' name='name' class='pseudo-widget disabled'>
{{record.name}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='district_id'>
district_id
</label>
{% ifwritable teams district_id %}
<div class='select-box' farside='districts' found='true'>
<input name='district_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='district_id' name='district_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in districts %}<option value='{{record.id}}'>{{record.name}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable teams district_id%}
<span id='district_id' name='district_id' class='pseudo-widget disabled'>
{{record.district_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='latitude'>
latitude
</label>
{% ifwritable teams latitude %}
<input id='latitude' name='latitude' type='number' value='{{record.latitude}}'/>
{% else %}
{% ifreadable teams latitude%}
<span id='latitude' name='latitude' class='pseudo-widget disabled'>
{{record.latitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='members'>
members
</label>
{% ifwritable teams members %}
<div class='select-box' farside='canvassers' found='true'>
<input name='members-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='members' name='members' multiple='multiple' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.email}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable teams members%}
<span id='members' name='members' class='pseudo-widget disabled'>
{{record.members}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='longitude'>
longitude
</label>
{% ifwritable teams longitude %}
<input id='longitude' name='longitude' type='number' value='{{record.longitude}}'/>
{% else %}
{% ifreadable teams longitude%}
<span id='longitude' name='longitude' class='pseudo-widget disabled'>
{{record.longitude}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this teams record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this teams record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,148 @@
{% extends "templates/base.html" %}
<!-- File form-visits-Visit.html generated 2018-06-10T21:17:47.126Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<div id='content' class='edit'>
<form action='{{servlet-context}}/form-visits-Visit' method='POST'>
{% csrf-field %}
<input id='id' name='id' type='hidden' value='{{record.id}}'/>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable visits %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable visits %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable visits address_id %}
<input id='address_id' name='address_id' type='number' value='{{record.address_id}}'/>
{% else %}
{% ifreadable visits address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='canvasser_id'>
canvasser_id
</label>
{% ifwritable visits canvasser_id %}
<div class='select-box' farside='canvassers' found='true'>
<input name='canvasser_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='canvasser_id' name='canvasser_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.email}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable visits canvasser_id%}
<span id='canvasser_id' name='canvasser_id' class='pseudo-widget disabled'>
{{record.canvasser_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='date'>
date
</label>
{% ifwritable visits date %}
<input id='date' name='date' type='text' value='{{record.date}}'/>
{% else %}
{% ifreadable visits date%}
<span id='date' name='date' class='pseudo-widget disabled'>
{{record.date}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='id'>
id
</label>
{% ifwritable visits %}
<input id='id' name='id' type='text' value='{{record.id}}'/>
{% else %}
{% ifreadable visits %}
<span id='id' name='id' class='pseudo-widget disabled'>
{{record.id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='address_id'>
address_id
</label>
{% ifwritable visits address_id %}
<input id='address_id' name='address_id' type='number' value='{{record.address_id}}'/>
{% else %}
{% ifreadable visits address_id%}
<span id='address_id' name='address_id' class='pseudo-widget disabled'>
{{record.address_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='canvasser_id'>
canvasser_id
</label>
{% ifwritable visits canvasser_id %}
<div class='select-box' farside='canvassers' found='true'>
<input name='canvasser_id-search-box' onchange='/* javascript to repopulate the select widget */'/>
<select id='canvasser_id' name='canvasser_id' comment='JavaScript stuff to fix up aynchronous loading'>
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.email}}</option>{% endfor %}
</select>
</div>
{% else %}
{% ifreadable visits canvasser_id%}
<span id='canvasser_id' name='canvasser_id' class='pseudo-widget disabled'>
{{record.canvasser_id}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget'>
<label for='date'>
date
</label>
{% ifwritable visits date %}
<input id='date' name='date' type='text' value='{{record.date}}'/>
{% else %}
{% ifreadable visits date%}
<span id='date' name='date' class='pseudo-widget disabled'>
{{record.date}}
</span>
{% endifreadable %}
{% endifwritable %}
</p>
<p class='widget action-safe'>
<label for='save-button' class='action-safe'>
To save this visits record
</label>
<input id='save-button' name='save-button' class='action-safe' type=':submit' value='Save!'/>
</p>
<p class='widget action-dangerous'>
<label for='delete-button' class='action-dangerous'>
To delete this visits record
</label>
<input id='delete-button' name='delete-button' class='action-dangerous' type=':submit' value='Delete!'/>
</p>
</form>
</div>
{% endblock %}

View file

@ -0,0 +1,115 @@
{% extends "templates/base.html" %}
<!-- File list-addresses-Addresses.html generated 2018-06-10T21:17:47.133Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-addresses-Address'>
Add a new Address
</a>
</div>
<table caption='addresses'>
<thead>
<tr>
<th>
id
</th>
<th>
address
</th>
<th>
postcode
</th>
<th>
phone
</th>
<th>
district_id
</th>
<th>
latitude
</th>
<th>
longitude
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='address' name='address' value='{{ params.address }}'/>
</th>
<th>
<input id='postcode' name='postcode' value='{{ params.postcode }}'/>
</th>
<th>
<input id='phone' name='phone' value='{{ params.phone }}'/>
</th>
<th>
<input id='district_id' name='district_id' value='{{ params.district_id }}'/>
</th>
<th>
<input id='latitude' name='latitude' value='{{ params.latitude }}'/>
</th>
<th>
<input id='longitude' name='longitude' value='{{ params.longitude }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.address }}
</td>
<td>
{{ record.postcode }}
</td>
<td>
{{ record.phone }}
</td>
<td>
{{ record.district_id }}
</td>
<td>
{{ record.latitude }}
</td>
<td>
{{ record.longitude }}
</td>
<td>
<a href='form-addresses-Address?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-addresses-Address'>
Add a new Address
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,133 @@
{% extends "templates/base.html" %}
<!-- File list-canvassers-Canvassers.html generated 2018-06-10T21:17:47.138Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-canvassers-Canvasser'>
Add a new Canvasser
</a>
</div>
<table caption='canvassers'>
<thead>
<tr>
<th>
id
</th>
<th>
username
</th>
<th>
fullname
</th>
<th>
elector_id
</th>
<th>
address_id
</th>
<th>
phone
</th>
<th>
email
</th>
<th>
authority_id
</th>
<th>
authorised
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='username' name='username' value='{{ params.username }}'/>
</th>
<th>
<input id='fullname' name='fullname' value='{{ params.fullname }}'/>
</th>
<th>
<input id='elector_id' name='elector_id' value='{{ params.elector_id }}'/>
</th>
<th>
<input id='address_id' name='address_id' value='{{ params.address_id }}'/>
</th>
<th>
<input id='phone' name='phone' value='{{ params.phone }}'/>
</th>
<th>
<input id='email' name='email' value='{{ params.email }}'/>
</th>
<th>
<input id='authority_id' name='authority_id' value='{{ params.authority_id }}'/>
</th>
<th>
<input id='authorised' name='authorised' value='{{ params.authorised }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.username }}
</td>
<td>
{{ record.fullname }}
</td>
<td>
{{ record.elector_id }}
</td>
<td>
{{ record.address_id }}
</td>
<td>
{{ record.phone }}
</td>
<td>
{{ record.email }}
</td>
<td>
{{ record.authority_id }}
</td>
<td>
{{ record.authorised }}
</td>
<td>
<a href='form-canvassers-Canvasser?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-canvassers-Canvasser'>
Add a new Canvasser
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,70 @@
{% extends "templates/base.html" %}
<!-- File list-districts-Districts.html generated 2018-06-10T21:17:47.136Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-districts-District'>
Add a new District
</a>
</div>
<table caption='districts'>
<thead>
<tr>
<th>
id
</th>
<th>
name
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='name' name='name' value='{{ params.name }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.name }}
</td>
<td>
<a href='form-districts-District?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-districts-District'>
Add a new District
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,79 @@
{% extends "templates/base.html" %}
<!-- File list-dwellings-Dwellings.html generated 2018-06-10T21:17:47.132Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-dwellings-Dwelling'>
Add a new Dwelling
</a>
</div>
<table caption='dwellings'>
<thead>
<tr>
<th>
id
</th>
<th>
address_id
</th>
<th>
sub-address
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='address_id' name='address_id' value='{{ params.address_id }}'/>
</th>
<th>
<input id='sub-address' name='sub-address' value='{{ params.sub-address }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.address_id }}
</td>
<td>
{{ record.sub-address }}
</td>
<td>
<a href='form-dwellings-Dwelling?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-dwellings-Dwelling'>
Add a new Dwelling
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,106 @@
{% extends "templates/base.html" %}
<!-- File list-electors-Electors.html generated 2018-06-10T21:17:47.123Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-electors-Elector'>
Add a new Elector
</a>
</div>
<table caption='electors'>
<thead>
<tr>
<th>
id
</th>
<th>
name
</th>
<th>
dwelling_id
</th>
<th>
phone
</th>
<th>
email
</th>
<th>
gender
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='name' name='name' value='{{ params.name }}'/>
</th>
<th>
<input id='dwelling_id' name='dwelling_id' value='{{ params.dwelling_id }}'/>
</th>
<th>
<input id='phone' name='phone' value='{{ params.phone }}'/>
</th>
<th>
<input id='email' name='email' value='{{ params.email }}'/>
</th>
<th>
<input id='gender' name='gender' value='{{ params.gender }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.name }}
</td>
<td>
{{ record.dwelling_id }}
</td>
<td>
{{ record.phone }}
</td>
<td>
{{ record.email }}
</td>
<td>
{{ record.gender }}
</td>
<td>
<a href='form-electors-Elector?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-electors-Elector'>
Add a new Elector
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,106 @@
{% extends "templates/base.html" %}
<!-- File list-followupactions-Followupactions.html generated 2018-06-10T21:17:47.137Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-followupactions-Followupaction'>
Add a new Followupaction
</a>
</div>
<table caption='followupactions'>
<thead>
<tr>
<th>
id
</th>
<th>
request_id
</th>
<th>
actor
</th>
<th>
date
</th>
<th>
notes
</th>
<th>
closed
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='request_id' name='request_id' value='{{ params.request_id }}'/>
</th>
<th>
<input id='actor' name='actor' value='{{ params.actor }}'/>
</th>
<th>
<input id='date' name='date' value='{{ params.date }}'/>
</th>
<th>
<input id='notes' name='notes' value='{{ params.notes }}'/>
</th>
<th>
<input id='closed' name='closed' value='{{ params.closed }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.request_id }}
</td>
<td>
{{ record.actor }}
</td>
<td>
{{ record.date }}
</td>
<td>
{{ record.notes }}
</td>
<td>
{{ record.closed }}
</td>
<td>
<a href='form-followupactions-Followupaction?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-followupactions-Followupaction'>
Add a new Followupaction
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,79 @@
{% extends "templates/base.html" %}
<!-- File list-issues-Issues.html generated 2018-06-10T21:17:47.137Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-issues-Issue'>
Add a new Issue
</a>
</div>
<table caption='issues'>
<thead>
<tr>
<th>
id
</th>
<th>
url
</th>
<th>
current
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='url' name='url' value='{{ params.url }}'/>
</th>
<th>
<input id='current' name='current' value='{{ params.current }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.url }}
</td>
<td>
{{ record.current }}
</td>
<td>
<a href='form-issues-Issue?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-issues-Issue'>
Add a new Issue
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,70 @@
{% extends "templates/base.html" %}
<!-- File list-roles-Roles.html generated 2018-06-10T21:17:47.125Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-roles-Role'>
Add a new Role
</a>
</div>
<table caption='roles'>
<thead>
<tr>
<th>
id
</th>
<th>
name
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='name' name='name' value='{{ params.name }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.name }}
</td>
<td>
<a href='form-roles-Role?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-roles-Role'>
Add a new Role
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,97 @@
{% extends "templates/base.html" %}
<!-- File list-teams-Teams.html generated 2018-06-10T21:17:47.118Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-teams-Team'>
Add a new Team
</a>
</div>
<table caption='teams'>
<thead>
<tr>
<th>
id
</th>
<th>
name
</th>
<th>
district_id
</th>
<th>
latitude
</th>
<th>
longitude
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='name' name='name' value='{{ params.name }}'/>
</th>
<th>
<input id='district_id' name='district_id' value='{{ params.district_id }}'/>
</th>
<th>
<input id='latitude' name='latitude' value='{{ params.latitude }}'/>
</th>
<th>
<input id='longitude' name='longitude' value='{{ params.longitude }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.name }}
</td>
<td>
{{ record.district_id }}
</td>
<td>
{{ record.latitude }}
</td>
<td>
{{ record.longitude }}
</td>
<td>
<a href='form-teams-Team?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-teams-Team'>
Add a new Team
</a>
</div>
</form>
{% endblock %}

View file

@ -0,0 +1,88 @@
{% extends "templates/base.html" %}
<!-- File list-visits-Visits.html generated 2018-06-10T21:17:47.117Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block content %}
<form id='content' class='list'>
<div class='big-link-container'>
<a href='form-visits-Visit'>
Add a new Visit
</a>
</div>
<table caption='visits'>
<thead>
<tr>
<th>
id
</th>
<th>
address_id
</th>
<th>
canvasser_id
</th>
<th>
date
</th>
</tr>
<tr>
<th>
<input id='id' name='id' value='{{ params.id }}'/>
</th>
<th>
<input id='address_id' name='address_id' value='{{ params.address_id }}'/>
</th>
<th>
<input id='canvasser_id' name='canvasser_id' value='{{ params.canvasser_id }}'/>
</th>
<th>
<input id='date' name='date' value='{{ params.date }}'/>
</th>
</tr>
</thead>
<tbody>
{% for record in %records% %}
<tr>
<td>
{{ record.id }}
</td>
<td>
{{ record.address_id }}
</td>
<td>
{{ record.canvasser_id }}
</td>
<td>
{{ record.date }}
</td>
<td>
<a href='form-visits-Visit?id={{ record.id}}'>
View
</a>
</td>
</tr>
{% endfor %}
</tbody>
<tfoot/>
</table>
{% if offset > 0 %}
<div class='back-link-container'>
<a href='FIXME'>
Previous
</a>
</div>
{% endif %}
<div class='big-link-container'>
<a href='FIXME'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-visits-Visit'>
Add a new Visit
</a>
</div>
</form>
{% endblock %}