Yet more progress!
This commit is contained in:
parent
78365f8c8b
commit
23a3e71464
4
env/dev/resources/config.edn
vendored
4
env/dev/resources/config.edn
vendored
|
@ -1,4 +1,6 @@
|
|||
{:dev true
|
||||
:port 3000
|
||||
;; when :nrepl-port is set the application starts the nREPL server on load
|
||||
:nrepl-port 7000}
|
||||
:nrepl-port 7000
|
||||
:site-title "Project Hope"
|
||||
:site-logo "img/ProjectHopeLogo.png"}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
[mount "0.1.11"]
|
||||
[org.clojure/clojure "1.8.0"]
|
||||
[org.clojure/clojurescript "1.9.229" :scope "provided"]
|
||||
[org.clojure/core.memoize "0.7.1"]
|
||||
[org.clojure/tools.cli "0.3.5"]
|
||||
[org.clojure/tools.logging "0.3.1"]
|
||||
[org.postgresql/postgresql "9.4.1212"]
|
||||
|
|
|
@ -78,6 +78,7 @@ header {
|
|||
margin-top: 0;
|
||||
width:100%;
|
||||
max-width: 100%;
|
||||
min-height: 96px; /* yes, we don't approve of pixel values; but this is to ensure the logo fits. */
|
||||
background-color: rgb(7, 57, 106);
|
||||
color: white;
|
||||
}
|
||||
|
@ -238,6 +239,11 @@ th {
|
|||
border-bottom: thin solid white;
|
||||
}
|
||||
|
||||
#site-logo {
|
||||
padding: 0.5em;
|
||||
float: left;
|
||||
}
|
||||
|
||||
/* but magically appears on mouseover */
|
||||
#cookies:hover #more-about-cookies {
|
||||
display: block;
|
||||
|
|
BIN
resources/public/img/ProjectHopeLogo.png
Normal file
BIN
resources/public/img/ProjectHopeLogo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
|
@ -1,7 +1,7 @@
|
|||
------------------------------------------------------------------------
|
||||
-- File queries.sql
|
||||
--
|
||||
-- autogenerated by adl.to-hugsql-queries at 2018-06-29T22:21:53.869Z
|
||||
-- autogenerated by adl.to-hugsql-queries at 2018-06-30T11:35:59.388Z
|
||||
--
|
||||
-- See [Application Description
|
||||
-- Language](https://github.com/simon-brooke/adl).
|
||||
|
@ -282,6 +282,8 @@ SELECT * FROM canvassers
|
|||
WHERE canvassers.id = :id
|
||||
ORDER BY canvassers.username,
|
||||
canvassers.fullname,
|
||||
canvassers.address_id,
|
||||
canvassers.phone,
|
||||
canvassers.email,
|
||||
canvassers.id
|
||||
|
||||
|
@ -291,6 +293,8 @@ SELECT * FROM canvassers
|
|||
WHERE canvassers.username = :username
|
||||
ORDER BY canvassers.username,
|
||||
canvassers.fullname,
|
||||
canvassers.address_id,
|
||||
canvassers.phone,
|
||||
canvassers.email,
|
||||
canvassers.id
|
||||
|
||||
|
@ -420,6 +424,8 @@ SELECT DISTINCT * FROM lv_authorities
|
|||
SELECT DISTINCT * FROM lv_canvassers
|
||||
ORDER BY lv_canvassers.username,
|
||||
lv_canvassers.fullname,
|
||||
lv_canvassers.address_id,
|
||||
lv_canvassers.phone,
|
||||
lv_canvassers.email,
|
||||
lv_canvassers.id
|
||||
--~ (if (:offset params) "OFFSET :offset ")
|
||||
|
@ -433,6 +439,8 @@ WHERE lv_canvassers.id = canvassers.id
|
|||
AND canvassers.address_id = :id
|
||||
ORDER BY lv_canvassers.username,
|
||||
lv_canvassers.fullname,
|
||||
lv_canvassers.address_id,
|
||||
lv_canvassers.phone,
|
||||
lv_canvassers.email,
|
||||
lv_canvassers.id
|
||||
|
||||
|
@ -444,6 +452,8 @@ WHERE lv_canvassers.id = canvassers.id
|
|||
AND canvassers.authority_id = :id
|
||||
ORDER BY lv_canvassers.username,
|
||||
lv_canvassers.fullname,
|
||||
lv_canvassers.address_id,
|
||||
lv_canvassers.phone,
|
||||
lv_canvassers.email,
|
||||
lv_canvassers.id
|
||||
|
||||
|
@ -455,6 +465,8 @@ WHERE lv_canvassers.id = canvassers.id
|
|||
AND canvassers.elector_id = :id
|
||||
ORDER BY lv_canvassers.username,
|
||||
lv_canvassers.fullname,
|
||||
lv_canvassers.address_id,
|
||||
lv_canvassers.phone,
|
||||
lv_canvassers.email,
|
||||
lv_canvassers.id
|
||||
|
||||
|
@ -466,6 +478,8 @@ WHERE canvassers.id = ln_canvassers_roles.canvasser_id
|
|||
AND ln_canvassers_roles.role_id = :id
|
||||
ORDER BY canvassers.username,
|
||||
canvassers.fullname,
|
||||
canvassers.address_id,
|
||||
canvassers.phone,
|
||||
canvassers.email,
|
||||
canvassers.id
|
||||
|
||||
|
@ -783,6 +797,8 @@ WHERE false
|
|||
--~ (if (:id params) "OR id = :id")
|
||||
ORDER BY lv_canvassers.username,
|
||||
lv_canvassers.fullname,
|
||||
lv_canvassers.address_id,
|
||||
lv_canvassers.phone,
|
||||
lv_canvassers.email,
|
||||
lv_canvassers.id
|
||||
--~ (if (:offset params) "OFFSET :offset ")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
--
|
||||
-- auto-generated by [Application Description Language framework]
|
||||
--
|
||||
-- (https://github.com/simon-brooke/adl) at 20180629T163619.639Z
|
||||
-- (https://github.com/simon-brooke/adl) at 20180630T113600.308Z
|
||||
--
|
||||
--
|
||||
-- A web-app intended to be used by canvassers campaigning for a
|
||||
|
@ -576,7 +576,7 @@ GRANT SELECT ON lv_electors TO admin,
|
|||
CREATE VIEW lv_followupactions AS
|
||||
SELECT electors.name ||', '|| electors.phone ||', '|| electors.email ||', '|| genders.id ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| visits.date ||', '|| issues.id AS request_id_expanded,
|
||||
followupactions.request_id,
|
||||
canvassers.username ||', '|| canvassers.fullname ||', '|| canvassers.email AS actor_expanded,
|
||||
canvassers.username ||', '|| canvassers.fullname ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| canvassers.phone ||', '|| canvassers.email AS actor_expanded,
|
||||
followupactions.actor,
|
||||
followupactions.date,
|
||||
followupactions.notes,
|
||||
|
@ -741,7 +741,7 @@ GRANT SELECT ON lv_teams TO admin,
|
|||
CREATE VIEW lv_visits AS
|
||||
SELECT addresses.address ||', '|| addresses.postcode AS address_id_expanded,
|
||||
visits.address_id,
|
||||
canvassers.username ||', '|| canvassers.fullname ||', '|| canvassers.email AS canvasser_id_expanded,
|
||||
canvassers.username ||', '|| canvassers.fullname ||', '|| addresses.address ||', '|| addresses.postcode ||', '|| canvassers.phone ||', '|| canvassers.email AS canvasser_id_expanded,
|
||||
visits.canvasser_id,
|
||||
visits.date,
|
||||
visits.id
|
||||
|
|
13
resources/templates/about.html
Normal file
13
resources/templates/about.html
Normal file
|
@ -0,0 +1,13 @@
|
|||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>
|
||||
Alpha test code
|
||||
</h2>
|
||||
<p>
|
||||
Although addresses in the database mostly are real, all personal data in the database
|
||||
is randomly generated and does not represent real people.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "base-authenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block whole-page %}
|
||||
<div id="app">
|
||||
<div class="splash-screen">
|
||||
|
@ -23,13 +23,13 @@
|
|||
</p>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block extra-script %}
|
||||
{% block extra-tail %}
|
||||
<!-- scripts and styles -->
|
||||
<!-- ATTENTION \/ -->
|
||||
<!-- ATTENTION /\ -->
|
||||
<!-- Leaflet -->
|
||||
<link rel="stylesheet" href="vendor/leaflet/dist/leaflet.css" />
|
||||
<script src="vendor/leaflet/dist/leaflet.js"></script>
|
||||
<!-- ATTENTION /\ -->
|
||||
{% script "/js/app.js" %}
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File application-index.html generated 2018-06-29T22:21:55.471Z by adl.to-selmer-templates.
|
||||
<!-- File application-index.html generated 2018-06-30T11:36:00.890Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-addresses-Address.html generated 2018-06-29T16:36:20.128Z by adl.to-selmer-templates.
|
||||
<!-- File form-addresses-Address.html generated 2018-06-30T11:36:00.879Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-authorities-Authority.html generated 2018-06-29T16:36:20.148Z by adl.to-selmer-templates.
|
||||
<!-- File form-authorities-Authority.html generated 2018-06-30T11:36:00.898Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-canvassers-Canvasser.html generated 2018-06-29T16:36:20.151Z by adl.to-selmer-templates.
|
||||
<!-- File form-canvassers-Canvasser.html generated 2018-06-30T11:36:00.901Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-districts-District.html generated 2018-06-29T16:36:20.120Z by adl.to-selmer-templates.
|
||||
<!-- File form-districts-District.html generated 2018-06-30T11:36:00.870Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-dwellings-Dwelling.html generated 2018-06-29T16:36:20.162Z by adl.to-selmer-templates.
|
||||
<!-- File form-dwellings-Dwelling.html generated 2018-06-30T11:36:00.911Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-electors-Elector.html generated 2018-06-29T16:36:20.144Z by adl.to-selmer-templates.
|
||||
<!-- File form-electors-Elector.html generated 2018-06-30T11:36:00.894Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followupactions-Followupaction.html generated 2018-06-29T16:36:20.165Z by adl.to-selmer-templates.
|
||||
<!-- File form-followupactions-Followupaction.html generated 2018-06-30T11:36:00.914Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
@ -73,7 +73,7 @@ actor
|
|||
<div class='select-box' farside='canvassers' found='true'>
|
||||
<input name='actor-search-box' onchange='/* javascript to repopulate the select widget */'/>
|
||||
<select id='actor' name='actor' comment='JavaScript stuff to fix up aynchronous loading'>
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.email}}</option>{% endfor %}
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% else %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followupmethods-Followupmethod.html generated 2018-06-29T16:36:20.167Z by adl.to-selmer-templates.
|
||||
<!-- File form-followupmethods-Followupmethod.html generated 2018-06-30T11:36:00.916Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-followuprequests-Followuprequest.html generated 2018-06-29T16:36:20.123Z by adl.to-selmer-templates.
|
||||
<!-- File form-followuprequests-Followuprequest.html generated 2018-06-30T11:36:00.874Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-genders-Gender.html generated 2018-06-29T16:36:20.114Z by adl.to-selmer-templates.
|
||||
<!-- File form-genders-Gender.html generated 2018-06-30T11:36:00.862Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-intentions-Intention.html generated 2018-06-29T16:36:20.158Z by adl.to-selmer-templates.
|
||||
<!-- File form-intentions-Intention.html generated 2018-06-30T11:36:00.908Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-issues-Issue.html generated 2018-06-29T16:36:20.133Z by adl.to-selmer-templates.
|
||||
<!-- File form-issues-Issue.html generated 2018-06-30T11:36:00.883Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-options-Option.html generated 2018-06-29T16:36:20.157Z by adl.to-selmer-templates.
|
||||
<!-- File form-options-Option.html generated 2018-06-30T11:36:00.907Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-roles-Role.html generated 2018-06-29T16:36:20.134Z by adl.to-selmer-templates.
|
||||
<!-- File form-roles-Role.html generated 2018-06-30T11:36:00.884Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
@ -68,7 +68,7 @@ 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 %}
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% else %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-teams-Team.html generated 2018-06-29T16:36:20.141Z by adl.to-selmer-templates.
|
||||
<!-- File form-teams-Team.html generated 2018-06-30T11:36:00.891Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
@ -109,7 +109,7 @@ 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 %}
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% else %}
|
||||
|
@ -132,7 +132,7 @@ organisers
|
|||
<div class='select-box' farside='canvassers' found='true'>
|
||||
<input name='organisers-search-box' onchange='/* javascript to repopulate the select widget */'/>
|
||||
<select id='organisers' name='organisers' 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 %}
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% else %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File form-visits-Visit.html generated 2018-06-29T16:36:20.138Z by adl.to-selmer-templates.
|
||||
<!-- File form-visits-Visit.html generated 2018-06-30T11:36:00.888Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
@ -73,7 +73,7 @@ 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 %}
|
||||
{% for record in canvassers %}<option value='{{record.id}}'>{{record.username}} {{record.fullname}} {{record.address_id}} {{record.phone}} {{record.email}}</option>{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
{% else %}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-addresses-Addresses.html generated 2018-06-29T16:36:20.150Z by adl.to-selmer-templates.
|
||||
<!-- File list-addresses-Addresses.html generated 2018-06-30T11:36:00.900Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-authorities-Authorities.html generated 2018-06-29T16:36:20.122Z by adl.to-selmer-templates.
|
||||
<!-- File list-authorities-Authorities.html generated 2018-06-30T11:36:00.873Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-canvassers-Canvassers.html generated 2018-06-29T16:36:20.161Z by adl.to-selmer-templates.
|
||||
<!-- File list-canvassers-Canvassers.html generated 2018-06-30T11:36:00.910Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-districts-Districts.html generated 2018-06-29T16:36:20.155Z by adl.to-selmer-templates.
|
||||
<!-- File list-districts-Districts.html generated 2018-06-30T11:36:00.905Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-dwellings-Dwellings.html generated 2018-06-29T16:36:20.147Z by adl.to-selmer-templates.
|
||||
<!-- File list-dwellings-Dwellings.html generated 2018-06-30T11:36:00.897Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-electors-Electors.html generated 2018-06-29T16:36:20.132Z by adl.to-selmer-templates.
|
||||
<!-- File list-electors-Electors.html generated 2018-06-30T11:36:00.882Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followupactions-Followupactions.html generated 2018-06-29T16:36:20.160Z by adl.to-selmer-templates.
|
||||
<!-- File list-followupactions-Followupactions.html generated 2018-06-30T11:36:00.910Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followupmethods-Followupmethods.html generated 2018-06-29T16:36:20.137Z by adl.to-selmer-templates.
|
||||
<!-- File list-followupmethods-Followupmethods.html generated 2018-06-30T11:36:00.887Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-followuprequests-Followuprequests.html generated 2018-06-29T16:36:20.117Z by adl.to-selmer-templates.
|
||||
<!-- File list-followuprequests-Followuprequests.html generated 2018-06-30T11:36:00.866Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-genders-Genders.html generated 2018-06-29T16:36:20.110Z by adl.to-selmer-templates.
|
||||
<!-- File list-genders-Genders.html generated 2018-06-30T11:36:00.855Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-intentions-Intentions.html generated 2018-06-29T16:36:20.164Z by adl.to-selmer-templates.
|
||||
<!-- File list-intentions-Intentions.html generated 2018-06-30T11:36:00.913Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-issues-Issues.html generated 2018-06-29T16:36:20.156Z by adl.to-selmer-templates.
|
||||
<!-- File list-issues-Issues.html generated 2018-06-30T11:36:00.906Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-options-Options.html generated 2018-06-29T16:36:20.119Z by adl.to-selmer-templates.
|
||||
<!-- File list-options-Options.html generated 2018-06-30T11:36:00.868Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-roles-Roles.html generated 2018-06-29T16:36:20.136Z by adl.to-selmer-templates.
|
||||
<!-- File list-roles-Roles.html generated 2018-06-30T11:36:00.886Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-teams-Teams.html generated 2018-06-29T16:36:20.113Z by adl.to-selmer-templates.
|
||||
<!-- File list-teams-Teams.html generated 2018-06-30T11:36:00.860Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{% extends "base.html" %}
|
||||
<!-- File list-visits-Visits.html generated 2018-06-29T16:36:20.111Z by adl.to-selmer-templates.
|
||||
<!-- File list-visits-Visits.html generated 2018-06-30T11:36:00.858Z by adl.to-selmer-templates.
|
||||
See [Application Description Language](https://github.com/simon-brooke/adl).-->
|
||||
{% block head %}
|
||||
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<link rel="stylesheet" type="text/css" href="css/yyy-common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/spinner.css" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
|
||||
<title>{{title}}</title>
|
||||
</head>
|
||||
<body>
|
||||
{% block whole-page %}
|
||||
{% block top %}
|
||||
<header>
|
||||
<div id="nav">
|
||||
<img id="nav-icon" src="img/threelines.png" alt="Menu"/>
|
||||
<menu id="nav-menu" class="nav">
|
||||
<li class=""><a href="home">Home</a></li>
|
||||
<li class=""><a href="library">Library</a></li>
|
||||
<li class=""><a href="register">Register</a></li>
|
||||
<li class="">{% if user %}<a href="logout.html">Logout</a>
|
||||
{% else %}<a href="login">Login</a>{% endif %}</li>
|
||||
<li class=""><a href="about">About</a></li>
|
||||
{% if user %}
|
||||
<li id="user"><a href="profile">Logged in as {{user.fullname}}</a></li>
|
||||
{% endif %}
|
||||
</menu>
|
||||
</div>
|
||||
|
||||
<h1>
|
||||
{{title}}
|
||||
</h1>
|
||||
</header>
|
||||
{% endblock %}
|
||||
<div id="main-container" class="container">
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
</div>
|
||||
<div id="big-links">
|
||||
{% block big-links %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div if="#content">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
{% block foot %}
|
||||
<footer>
|
||||
<div id="credits">
|
||||
<div>
|
||||
<img src="img/credits/ric-logo.png" width="24" height="24"/>
|
||||
A project of the
|
||||
<a href="https://radical.scot/">Radical Independence Campaign</a> ||
|
||||
Version {{version}}
|
||||
</div>
|
||||
<div>
|
||||
<img height="16" width="16" alt="Clojure" src="img/credits/luminus-logo.png"/>Built with <a href="http://www.luminusweb.net/">LuminusWeb</a> ||
|
||||
<img height="16" width="16" alt="Clojure" src="img/credits/clojure-icon.gif"/> Powered by <a href="http://clojure.org">Clojure</a> ||
|
||||
<img height="16" width="16" alt="GitHub" src="img/credits/github-logo-transparent.png"/>Find me/fork me on <a href="https://github.com/simon-brooke/smeagol">Github</a> ||
|
||||
<img height="16" width="16" alt="Free Software Foundation" src="img/credits/gnu.small.png"/>Licensed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License version 2.0</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
<script type="text/javascript">
|
||||
var context = "{{servlet-context}}";
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
</script>
|
||||
{% block extra-script %}
|
||||
{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:html="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" type="text/css" href="css/yyy-common.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
|
||||
<title>{% block title %}{% endblock %}{{title}}</title>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div id="nav">
|
||||
<img id="nav-icon" src="img/threelines.png" alt="Menu"/>
|
||||
<menu id="nav-menu" class="nav">
|
||||
<li class=""><a href="home">Home</a></li>
|
||||
<li class=""><a href="auth">Login</a></li>
|
||||
<li class=""><a href="about">About</a></li>
|
||||
</menu>
|
||||
</div>
|
||||
|
||||
<h1>
|
||||
{{title}}
|
||||
</h1>
|
||||
</header>
|
||||
|
||||
<div id="main-container" class="container">
|
||||
<div id="big-links">
|
||||
{% block big-links %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div if="#content">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<div id="credits">
|
||||
<div>
|
||||
<img src="img/credits/ric-logo.png" width="24" height="24"/>
|
||||
A project of the
|
||||
<a href="https://radical.scot/">Radical Independence Campaign</a> ||
|
||||
Version {{version}}
|
||||
</div>
|
||||
<div>
|
||||
<img height="16" width="16" alt="Clojure" src="img/credits/luminus-logo.png"/>Built with <a href="http://www.luminusweb.net/">LuminusWeb</a> ||
|
||||
<img height="16" width="16" alt="Clojure" src="img/credits/clojure-icon.gif"/> Powered by <a href="http://clojure.org">Clojure</a> ||
|
||||
<img height="16" width="16" alt="GitHub" src="img/credits/github-logo-transparent.png"/>Find me/fork me on <a href="https://github.com/simon-brooke/smeagol">Github</a> ||
|
||||
<img height="16" width="16" alt="Free Software Foundation" src="img/credits/gnu.small.png"/>Licensed under the <a href="http://www.gnu.org/licenses/gpl-2.0.html">GNU General Public License version 2.0</a>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script type="text/javascript">
|
||||
var context = "{{servlet-context}}";
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -7,10 +7,15 @@
|
|||
<link rel="stylesheet" type="text/css" href="css/yyy-site.css" />
|
||||
<link rel="stylesheet" type="text/css" href="css/spinner.css" />
|
||||
<link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
|
||||
<title>{{title}}</title>
|
||||
<title>{{site-title}}: {{title}}</title>
|
||||
{% block extra-head %}
|
||||
<!-- extra-head: put any additional markup to go into the head of your document into this block -->
|
||||
<!-- e.g. script tags, link tags -->
|
||||
{% endblock %}
|
||||
</head>
|
||||
<body>
|
||||
{% block whole-page %}
|
||||
<!-- whole-page: if you want an entire custom page layout, override this block. -->
|
||||
{% block top %}
|
||||
<header>
|
||||
<div id="nav">
|
||||
|
@ -27,10 +32,8 @@
|
|||
{% endif %}
|
||||
</menu>
|
||||
</div>
|
||||
|
||||
<h1>
|
||||
{{title}}
|
||||
</h1>
|
||||
<img id="site-logo" src="{{site-logo}}" alt="{{site-title}}" width="64" height="64"/>
|
||||
<h1>{{title}}</h1>
|
||||
</header>
|
||||
{% endblock %}
|
||||
<div id="main-container" class="container">
|
||||
|
@ -39,15 +42,18 @@
|
|||
</div>
|
||||
<div id="big-links">
|
||||
{% block big-links %}
|
||||
<!-- big-links: put any main navigation links into this block -->
|
||||
{% endblock %}
|
||||
</div>
|
||||
<div if="#content">
|
||||
{% block content %}
|
||||
<!-- content: put your main page content into this block -->
|
||||
{% endblock %}
|
||||
</div>
|
||||
<br clear="both"/>
|
||||
</div>
|
||||
{% block foot %}
|
||||
<!-- foot: override this block if you don't want the standard footer -->
|
||||
<footer>
|
||||
<div id="credits">
|
||||
<div>
|
||||
|
@ -66,11 +72,18 @@
|
|||
</footer>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
{% block extra-tail %}
|
||||
<!-- extra-tail: put markup here which needs to be at the very end of the body -->
|
||||
<!-- e.g. some javascript script tags, some link tags -->
|
||||
{% endblock %}
|
||||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
var context = "{{servlet-context}}";
|
||||
var csrfToken = "{{csrf-token}}";
|
||||
{% block extra-script %}
|
||||
/* extra-script: put any actual javascript source text you need into this block */
|
||||
{% endblock %}
|
||||
//]]>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,41 +1,15 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
</div>
|
||||
<div class="big-link-container">
|
||||
<a href="library" class="big-link" id="library-link">Browse the issues</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>
|
||||
We'll be in touch!
|
||||
</h2>
|
||||
<p>
|
||||
Thank you, {{name}}. Someone will call you shortly on {{phone}} to talk to you about
|
||||
{{concern}}.
|
||||
</p>
|
||||
<form action="call-me" method="post">
|
||||
<p class="widget">
|
||||
<label for="name">Your name</label>
|
||||
<input type="text" id="name" name="name"/>
|
||||
</p>
|
||||
<p class="widget">
|
||||
<label for="postcode">Your post-code</label>
|
||||
<input type="text" id="postcode" name="postcode"/>
|
||||
</p>
|
||||
<p class="widget">
|
||||
<label for="phone">Your phone number</label>
|
||||
<input type="text" id="phone" name="phone"/>
|
||||
</p>
|
||||
<p class="widget">
|
||||
<label for="concern">Your concerns</label>
|
||||
<select name="concern" id="concern">
|
||||
{% for concern in concerns %}
|
||||
<option>{{concern.title}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</p>
|
||||
<p class="widget">
|
||||
<label for="submit"> </label>
|
||||
<input name="submit" id="submit" type="submit" class="action" value="Call me!"/>
|
||||
</p>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,14 +1,10 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% block big-links %}
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% extends "base.html" %}
|
||||
{% block content %}
|
||||
<p>
|
||||
Use this form to request someone to phone you to discuss your concerns about independence.
|
||||
</p>
|
||||
<form action="call-me" method="post">
|
||||
{% csrf-field %}
|
||||
<p class="widget">
|
||||
<label for="name">Your name</label>
|
||||
<input type="text" id="name" name="name"/>
|
||||
|
@ -25,7 +21,7 @@
|
|||
<label for="concern">Your concerns</label>
|
||||
<select name="concern" id="concern">
|
||||
{% for concern in concerns %}
|
||||
<option>{{concern.title}}</option>
|
||||
<option>{{concern.id}}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</p>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "base-authenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
<div class="big-link-container">
|
||||
<a href="supporter" class="big-link" id="yes-link">Yes</a>
|
||||
|
@ -7,3 +7,13 @@
|
|||
<a href="notyet" class="big-link" id="not-yet-link">No</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block content %}
|
||||
<h2>
|
||||
Alpha test code
|
||||
</h2>
|
||||
<p>
|
||||
Although addresses in the database mostly are real, all personal data in the database
|
||||
is randomly generated and does not represent real people.
|
||||
</p>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% block content %}
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
</div>
|
||||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
{% for authority in authorities %}
|
||||
<div class="big-link-container">
|
||||
<a href="auth?authority={{authority.id}}" class="big-link" id="{{authority.id}}-link">
|
||||
|
@ -11,6 +8,9 @@
|
|||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<form action="auth" method="post">
|
||||
{% csrf-field %}
|
||||
<h2>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{% extends "base-authenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block title %}
|
||||
{{ user }}
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
{% extends "base-unauthenticated.html" %}
|
||||
{% extends "base.html" %}
|
||||
{% block big-links %}
|
||||
<div id="back-link-container">
|
||||
<a href="javascript:history.back()" id="back-link">Back</a>
|
||||
</div>
|
||||
<div class="big-link-container">
|
||||
<a href="auth" class="big-link" id="yes-link">Yes</a>
|
||||
</div>
|
||||
|
|
|
@ -10,9 +10,32 @@
|
|||
[ring.middleware.anti-forgery :refer [*anti-forgery-token*]]
|
||||
[selmer.parser :as parser]
|
||||
[selmer.filters :as filters]
|
||||
[youyesyet.config :refer [env]]
|
||||
[youyesyet.db.core :as db]
|
||||
))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;;;
|
||||
;;;; youyesyet.layout: lay out Selmer-templated web pages.
|
||||
;;;;
|
||||
;;;; This program is free software; you can redistribute it and/or
|
||||
;;;; modify it under the terms of the GNU General Public License
|
||||
;;;; as published by the Free Software Foundation; either version 2
|
||||
;;;; of the License, or (at your option) any later version.
|
||||
;;;;
|
||||
;;;; This program is distributed in the hope that it will be useful,
|
||||
;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;;; GNU General Public License for more details.
|
||||
;;;;
|
||||
;;;; You should have received a copy of the GNU General Public License
|
||||
;;;; along with this program; if not, write to the Free Software
|
||||
;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
;;;; USA.
|
||||
;;;;
|
||||
;;;; Copyright (C) 2016 Simon Brooke for Radical Independence Campaign
|
||||
;;;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
(declare ^:dynamic *app-context*)
|
||||
|
@ -47,6 +70,8 @@
|
|||
:csrf-token *anti-forgery-token*
|
||||
:user user
|
||||
:user-roles (get-user-roles user)
|
||||
:site-title (:site-title env)
|
||||
:site-logo (:site-logo env)
|
||||
:version (System/getProperty "youyesyet.version"))))
|
||||
"text/html; charset=utf-8")))
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
(ns
|
||||
youyesyet.routes.auto
|
||||
"User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180629T222155.170Z"
|
||||
"User interface routes for Youyesyet auto-generated by [Application Description Language framework](https://github.com/simon-brooke/adl) at 20180630T113600.562Z"
|
||||
(:require
|
||||
[adl-support.core :as support]
|
||||
[clojure.java.io :as io]
|
||||
|
@ -18,6 +18,7 @@
|
|||
[r]
|
||||
(l/render
|
||||
(support/resolve-template "application-index.html")
|
||||
(:session r)
|
||||
{:title "Administrative menu"}))
|
||||
|
||||
(defn
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,8 +6,9 @@
|
|||
[noir.response :as nresponse]
|
||||
[noir.util.route :as route]
|
||||
[ring.util.http-response :refer [content-type ok]]
|
||||
[youyesyet.layout :as layout]
|
||||
[youyesyet.config :refer [env]]
|
||||
[youyesyet.db.core :as db-core]
|
||||
[youyesyet.layout :as layout]
|
||||
[youyesyet.oauth :as oauth]
|
||||
[compojure.core :refer [defroutes GET POST]]
|
||||
[ring.util.http-response :as response]
|
||||
|
@ -41,7 +42,7 @@
|
|||
|
||||
|
||||
(defn about-page []
|
||||
(layout/render "about.html" {}))
|
||||
(layout/render "about.html" {} {:title (str "About " (:site-title env))}))
|
||||
|
||||
|
||||
(defn call-me-page [request]
|
||||
|
@ -53,7 +54,7 @@
|
|||
(layout/render "call-me.html" (:session request)
|
||||
{:title "Please call me!"
|
||||
;; TODO: Issues need to be fetched from the database
|
||||
:concerns nil})))
|
||||
:concerns (db-core/list-issues db-core/*db* {})})))
|
||||
|
||||
|
||||
(defn roles-page [request]
|
||||
|
@ -72,7 +73,7 @@
|
|||
|
||||
|
||||
(defn home-page []
|
||||
(layout/render "home.html" {} {:title "You Yes Yet?"}))
|
||||
(layout/render "home.html" {} {:title "You yes yet?"}))
|
||||
|
||||
|
||||
(defn login-page
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
generally.</documentation>
|
||||
</group>
|
||||
|
||||
<entity name="electors" magnitude="6">
|
||||
<entity name="electors" magnitude="6" volatility="5">
|
||||
<documentation>All electors known to the system; electors are people believed to be entitled to vote in the current campaign.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -92,7 +92,7 @@
|
|||
<prompt prompt="name" locale="en-GB"/>
|
||||
</property>
|
||||
<property required="true" type="entity" name="dwelling_id" column="dwelling_id" entity="dwellings" farkey="id">
|
||||
<prompt prompt="Flat" locale="en-GB"/>
|
||||
<prompt prompt="home" locale="en-GB"/>
|
||||
</property>
|
||||
<property size="16" type="string" name="phone" column="phone" distinct="user">
|
||||
<prompt prompt="phone" locale="en-GB"/>
|
||||
|
@ -113,7 +113,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="genders" magnitude="1">
|
||||
<entity name="genders" magnitude="1" volatility="6">
|
||||
<documentation>All genders which may be assigned to electors.</documentation>
|
||||
<key>
|
||||
<property name="id" type="string" size="32" distinct="all">
|
||||
|
@ -129,7 +129,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="dwellings" magnitude="6">
|
||||
<entity name="dwellings" magnitude="6" volatility="6">
|
||||
<documentation>All dwellings within addresses in the system; a dwelling is a
|
||||
house, flat or appartment in which electors live. Every address should have
|
||||
at least one dwelling; essentially, an address maps onto a street door and
|
||||
|
@ -154,7 +154,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="addresses" magnitude="6">
|
||||
<entity name="addresses" magnitude="6" volatility="6">
|
||||
<documentation>Addresses of all buildings which contain dwellings.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -220,7 +220,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="visits" magnitude="7">
|
||||
<entity name="visits" magnitude="7" volatility="2">
|
||||
<documentation>All visits made by canvassers to dwellings in which opinions were recorded.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -256,7 +256,7 @@
|
|||
<permission permission="read" group="issueeditors"/>
|
||||
<permission permission="all" group="admin"/>
|
||||
</entity>
|
||||
<entity name="authorities" magnitude="2">
|
||||
<entity name="authorities" magnitude="2" volatility="7">
|
||||
<documentation>Authorities which may authenticate canvassers to the system.</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" distinct="all">
|
||||
|
@ -289,7 +289,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="issues" magnitude="1">
|
||||
<entity name="issues" magnitude="1" volatility="3">
|
||||
<documentation>Issues believed to be of interest to electors, about which they may have questions.</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" immutable="true" distinct="all">
|
||||
|
@ -311,7 +311,7 @@
|
|||
<permission group="issueeditors" permission="edit"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="intentions" magnitude="6">
|
||||
<entity name="intentions" magnitude="6" volatility="2">
|
||||
<documentation>Intentions of electors to vote for options elicited in visits.</documentation>
|
||||
<property required="true" type="entity" entity="visits" farkey="id" name="visit_id"
|
||||
column="visit_id">
|
||||
|
@ -344,7 +344,7 @@
|
|||
<permission group="issueeditors" permission="none"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="canvassers" magnitude="5">
|
||||
<entity name="canvassers" magnitude="5" volatility="4">
|
||||
<documentation>Primary users of the system: those actually interviewing electors.</documentation>
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" distinct="system" immutable="true">
|
||||
|
@ -400,7 +400,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="followuprequests" magnitude="7">
|
||||
<entity name="followuprequests" magnitude="7" volatility="2">
|
||||
<documentation>Requests for a followup with an issue expert</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -432,7 +432,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="roles" magnitude="1">
|
||||
<entity name="roles" magnitude="1" volatility="7">
|
||||
<documentation>A role (essentially, the same as a group, but application layer rather than database layer) of which a user may be a member.</documentation>
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -454,7 +454,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="teams" magnitude="4">
|
||||
<entity name="teams" magnitude="4" volatility="4">
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" distinct="system" immutable="true">
|
||||
<prompt prompt="id" locale="en-GB"/>
|
||||
|
@ -499,7 +499,7 @@
|
|||
<permission permission="read" group="issueeditors"/>
|
||||
<permission permission="all" group="admin"/>
|
||||
</entity>
|
||||
<entity name="districts" magnitude="4">
|
||||
<entity name="districts" magnitude="4" volatility="7">
|
||||
<documentation>Electoral districts: TODO: Shape (polygon) information will need to be added, for use in maps.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -520,7 +520,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="followupactions" magnitude="7">
|
||||
<entity name="followupactions" magnitude="7" volatility="0">
|
||||
<documentation>Actions taken on followup requests.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -555,7 +555,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="options" magnitude="1">
|
||||
<entity name="options" magnitude="1" volatility="7">
|
||||
<documentation>Options in the election or referendum being canvassed on</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" immutable="true" distinct="all">
|
||||
|
@ -571,7 +571,7 @@
|
|||
<permission group="issueeditors" permission="read"/>
|
||||
<permission group="admin" permission="all"/>
|
||||
</entity>
|
||||
<entity name="followupmethods" magnitude="1">
|
||||
<entity name="followupmethods" magnitude="1" volatility="7">
|
||||
<key>
|
||||
<property required="true" type="string" size="32" name="id" column="id" immutable="true" distinct="all">
|
||||
<prompt prompt="id" locale="en-GB"/>
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
<!--
|
||||
entity electors already has a key - not generating one
|
||||
-->
|
||||
<entity table="electors" name="electors" magnitude="6">
|
||||
<entity table="electors" name="electors" magnitude="6" volatility="5">
|
||||
<documentation>All electors known to the system; electors are people believed to be entitled to vote in the current campaign.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -125,7 +125,7 @@
|
|||
<!--
|
||||
entity genders already has a key - not generating one
|
||||
-->
|
||||
<entity table="genders" name="genders" magnitude="1">
|
||||
<entity table="genders" name="genders" magnitude="1" volatility="6">
|
||||
<documentation>All genders which may be assigned to electors.</documentation>
|
||||
<key>
|
||||
<property name="id" type="string" size="32" distinct="all">
|
||||
|
@ -144,7 +144,7 @@
|
|||
<!--
|
||||
entity dwellings already has a key - not generating one
|
||||
-->
|
||||
<entity table="dwellings" name="dwellings" magnitude="6">
|
||||
<entity table="dwellings" name="dwellings" magnitude="6" volatility="6">
|
||||
<documentation>All dwellings within addresses in the system; a dwelling is a
|
||||
house, flat or appartment in which electors live. Every address should have
|
||||
at least one dwelling; essentially, an address maps onto a street door and
|
||||
|
@ -172,7 +172,7 @@
|
|||
<!--
|
||||
entity addresses already has a key - not generating one
|
||||
-->
|
||||
<entity table="addresses" name="addresses" magnitude="6">
|
||||
<entity table="addresses" name="addresses" magnitude="6" volatility="6">
|
||||
<documentation>Addresses of all buildings which contain dwellings.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -241,7 +241,7 @@
|
|||
<!--
|
||||
entity visits already has a key - not generating one
|
||||
-->
|
||||
<entity table="visits" name="visits" magnitude="7">
|
||||
<entity table="visits" name="visits" magnitude="7" volatility="2">
|
||||
<documentation>All visits made by canvassers to dwellings in which opinions were recorded.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -278,7 +278,7 @@
|
|||
<!--
|
||||
entity authorities already has a key - not generating one
|
||||
-->
|
||||
<entity table="authorities" name="authorities" magnitude="2">
|
||||
<entity table="authorities" name="authorities" magnitude="2" volatility="7">
|
||||
<documentation>Authorities which may authenticate canvassers to the system.</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" distinct="all">
|
||||
|
@ -307,7 +307,7 @@
|
|||
<!--
|
||||
entity issues already has a key - not generating one
|
||||
-->
|
||||
<entity table="issues" name="issues" magnitude="1">
|
||||
<entity table="issues" name="issues" magnitude="1" volatility="3">
|
||||
<documentation>Issues believed to be of interest to electors, about which they may have questions.</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" immutable="true" distinct="all">
|
||||
|
@ -332,7 +332,7 @@
|
|||
<!--
|
||||
entity intentions has no key - generating one
|
||||
-->
|
||||
<entity table="intentions" name="intentions" magnitude="6">
|
||||
<entity table="intentions" name="intentions" magnitude="6" volatility="0">
|
||||
<documentation>Intentions of electors to vote for options elicited in visits.</documentation>
|
||||
<key>
|
||||
<property type="integer" distinct="system" required="true" name="Id">
|
||||
|
@ -402,7 +402,7 @@
|
|||
<!--
|
||||
entity canvassers already has a key - not generating one
|
||||
-->
|
||||
<entity table="canvassers" name="canvassers" magnitude="5">
|
||||
<entity table="canvassers" name="canvassers" magnitude="5" volatility="4">
|
||||
<documentation>Primary users of the system: those actually interviewing electors.</documentation>
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" distinct="system" immutable="true">
|
||||
|
@ -418,10 +418,10 @@
|
|||
<property type="entity" name="elector_id" column="elector_id" entity="electors" farkey="id">
|
||||
<prompt prompt="elector_id" locale="en-GB"/>
|
||||
</property>
|
||||
<property required="true" type="entity" name="address_id" column="address_id" entity="addresses" farkey="id">
|
||||
<property required="true" type="entity" name="address_id" column="address_id" entity="addresses" farkey="id" distinct="user">
|
||||
<prompt prompt="address_id" locale="en-GB"/>
|
||||
</property>
|
||||
<property type="string" name="phone" column="phone" size="16">
|
||||
<property type="string" name="phone" column="phone" size="16" distinct="user">
|
||||
<prompt prompt="phone" locale="en-GB"/>
|
||||
</property>
|
||||
<property type="string" name="email" column="email" size="128" distinct="user">
|
||||
|
@ -459,7 +459,7 @@
|
|||
<!--
|
||||
entity followuprequests already has a key - not generating one
|
||||
-->
|
||||
<entity table="followuprequests" name="followuprequests" magnitude="7">
|
||||
<entity table="followuprequests" name="followuprequests" magnitude="7" volatility="2">
|
||||
<documentation>Requests for a followup with an issue expert</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -490,7 +490,7 @@
|
|||
<!--
|
||||
entity roles already has a key - not generating one
|
||||
-->
|
||||
<entity table="roles" name="roles" magnitude="1">
|
||||
<entity table="roles" name="roles" magnitude="1" volatility="7">
|
||||
<documentation>A role (essentially, the same as a group, but application layer rather than database layer) of which a user may be a member.</documentation>
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -515,7 +515,7 @@
|
|||
<!--
|
||||
entity teams already has a key - not generating one
|
||||
-->
|
||||
<entity table="teams" name="teams" magnitude="4">
|
||||
<entity table="teams" name="teams" magnitude="4" volatility="4">
|
||||
<key>
|
||||
<property type="integer" name="id" column="id" distinct="system" immutable="true">
|
||||
<prompt prompt="id" locale="en-GB"/>
|
||||
|
@ -562,7 +562,7 @@
|
|||
<!--
|
||||
entity districts already has a key - not generating one
|
||||
-->
|
||||
<entity table="districts" name="districts" magnitude="4">
|
||||
<entity table="districts" name="districts" magnitude="4" volatility="7">
|
||||
<documentation>Electoral districts: TODO: Shape (polygon) information will need to be added, for use in maps.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" immutable="true" distinct="system">
|
||||
|
@ -586,7 +586,7 @@
|
|||
<!--
|
||||
entity followupactions already has a key - not generating one
|
||||
-->
|
||||
<entity table="followupactions" name="followupactions" magnitude="7">
|
||||
<entity table="followupactions" name="followupactions" magnitude="7" volatility="0">
|
||||
<documentation>Actions taken on followup requests.</documentation>
|
||||
<key>
|
||||
<property required="true" type="integer" name="id" column="id" distinct="system">
|
||||
|
@ -622,7 +622,7 @@
|
|||
<!--
|
||||
entity options already has a key - not generating one
|
||||
-->
|
||||
<entity table="options" name="options" magnitude="1">
|
||||
<entity table="options" name="options" magnitude="1" volatility="7">
|
||||
<documentation>Options in the election or referendum being canvassed on</documentation>
|
||||
<key>
|
||||
<property required="true" type="string" name="id" column="id" size="32" immutable="true" distinct="all">
|
||||
|
@ -641,7 +641,7 @@
|
|||
<!--
|
||||
entity followupmethods already has a key - not generating one
|
||||
-->
|
||||
<entity table="followupmethods" name="followupmethods" magnitude="1">
|
||||
<entity table="followupmethods" name="followupmethods" magnitude="1" volatility="7">
|
||||
<key>
|
||||
<property required="true" type="string" size="32" name="id" column="id" immutable="true" distinct="all">
|
||||
<prompt prompt="id" locale="en-GB"/>
|
||||
|
|
Loading…
Reference in a new issue