More work on UI, but this commit has a regression

The user is no longer correctly stored in the session, and I'm not sure why not.
This commit is contained in:
Simon Brooke 2018-07-02 10:51:42 +01:00
parent e6d6109575
commit f5afa67eed
46 changed files with 3054 additions and 2821 deletions

View file

@ -46,7 +46,9 @@
mount/start-with-args mount/start-with-args
:started)] :started)]
(log/info component "started")) (log/info component "started"))
(.addShutdownHook (Runtime/getRuntime) (Thread. handler/destroy))) (.addShutdownHook (Runtime/getRuntime)
(Thread. handler/destroy)))
(defn -main [& args] (defn -main [& args]
(cond (cond
@ -58,3 +60,8 @@
:else :else
(start-app args))) (start-app args)))
(mount/stop)
(mount/start)

View file

@ -62,7 +62,9 @@
[lein-codox "0.10.3"]] [lein-codox "0.10.3"]]
:bower-dependencies [[leaflet "0.7.3"] :bower-dependencies [[leaflet "0.7.3"]
[jquery "3.3.1"]] [jquery "3.3.1"]
[datatables.net "1.10.19"]
[datatables.net-dt "1.10.19"]]
:bower {:directory "resources/public/js/lib"} :bower {:directory "resources/public/js/lib"}
:cucumber-feature-paths ["test/clj/features"] :cucumber-feature-paths ["test/clj/features"]

View file

@ -1,7 +1,7 @@
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- File queries.sql -- File queries.sql
-- --
-- autogenerated by adl.to-hugsql-queries at 2018-06-30T11:35:59.388Z -- autogenerated by adl.to-hugsql-queries at 2018-07-01T22:15:28.111Z
-- --
-- See [Application Description -- See [Application Description
-- Language](https://github.com/simon-brooke/adl). -- Language](https://github.com/simon-brooke/adl).

View file

@ -5,7 +5,7 @@
-- --
-- auto-generated by [Application Description Language framework] -- auto-generated by [Application Description Language framework]
-- --
-- (https://github.com/simon-brooke/adl) at 20180630T113600.308Z -- (https://github.com/simon-brooke/adl) at 20180701T221532.672Z
-- --
-- --
-- A web-app intended to be used by canvassers campaigning for a -- A web-app intended to be used by canvassers campaigning for a
@ -75,7 +75,7 @@ CREATE TABLE addresses
( (
id SERIAL NOT NULL PRIMARY KEY, id SERIAL NOT NULL PRIMARY KEY,
address VARCHAR(256) NOT NULL, address VARCHAR(256) NOT NULL,
postcode VARCHAR(16) CONSTRAINT pattern_1 CHECK (postcode ~* '^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$'), postcode VARCHAR(16) CONSTRAINT pattern_14 CHECK (postcode ~* '^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$'),
phone VARCHAR(16), phone VARCHAR(16),
district_id INTEGER, district_id INTEGER,
latitude DOUBLE PRECISION, latitude DOUBLE PRECISION,

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File application-index.html generated 2018-06-30T11:36:00.890Z by adl.to-selmer-templates. <!-- File application-index.html generated 2018-07-01T22:15:35.347Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<dl class='index'> <dl class='index'>
@ -184,50 +167,3 @@ All visits made by canvassers to dwellings in which opinions were recorded.
</dl> </dl>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-addresses-Address.html generated 2018-06-30T11:36:00.879Z by adl.to-selmer-templates. <!-- File form-addresses-Address.html generated 2018-07-01T22:15:35.320Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -171,50 +154,3 @@ To delete this addresses record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-authorities-Authority.html generated 2018-06-30T11:36:00.898Z by adl.to-selmer-templates. <!-- File form-authorities-Authority.html generated 2018-07-01T22:15:35.364Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -148,50 +131,3 @@ To delete this authorities record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-canvassers-Canvasser.html generated 2018-06-30T11:36:00.901Z by adl.to-selmer-templates. <!-- File form-canvassers-Canvasser.html generated 2018-07-01T22:15:35.371Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -239,50 +222,3 @@ To delete this canvassers record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-districts-District.html generated 2018-06-30T11:36:00.870Z by adl.to-selmer-templates. <!-- File form-districts-District.html generated 2018-07-01T22:15:35.303Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -76,50 +59,3 @@ To delete this districts record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-dwellings-Dwelling.html generated 2018-06-30T11:36:00.911Z by adl.to-selmer-templates. <!-- File form-dwellings-Dwelling.html generated 2018-07-01T22:15:35.401Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -99,50 +82,3 @@ To delete this dwellings record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-electors-Elector.html generated 2018-06-30T11:36:00.894Z by adl.to-selmer-templates. <!-- File form-electors-Elector.html generated 2018-07-01T22:15:35.355Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -157,50 +140,3 @@ To delete this electors record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followupactions-Followupaction.html generated 2018-06-30T11:36:00.914Z by adl.to-selmer-templates. <!-- File form-followupactions-Followupaction.html generated 2018-07-01T22:15:35.407Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -158,50 +141,3 @@ To delete this followupactions record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followupmethods-Followupmethod.html generated 2018-06-30T11:36:00.916Z by adl.to-selmer-templates. <!-- File form-followupmethods-Followupmethod.html generated 2018-07-01T22:15:35.414Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -58,50 +41,3 @@ To delete this followupmethods record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-followuprequests-Followuprequest.html generated 2018-06-30T11:36:00.874Z by adl.to-selmer-templates. <!-- File form-followuprequests-Followuprequest.html generated 2018-07-01T22:15:35.309Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -148,50 +131,3 @@ To delete this followuprequests record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-genders-Gender.html generated 2018-06-30T11:36:00.862Z by adl.to-selmer-templates. <!-- File form-genders-Gender.html generated 2018-07-01T22:15:35.292Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -58,50 +41,3 @@ To delete this genders record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-intentions-Intention.html generated 2018-06-30T11:36:00.908Z by adl.to-selmer-templates. <!-- File form-intentions-Intention.html generated 2018-07-01T22:15:35.391Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -126,50 +109,3 @@ To delete this intentions record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-issues-Issue.html generated 2018-06-30T11:36:00.883Z by adl.to-selmer-templates. <!-- File form-issues-Issue.html generated 2018-07-01T22:15:35.330Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -94,50 +77,3 @@ To delete this issues record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-options-Option.html generated 2018-06-30T11:36:00.907Z by adl.to-selmer-templates. <!-- File form-options-Option.html generated 2018-07-01T22:15:35.389Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -58,50 +41,3 @@ To delete this options record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-roles-Role.html generated 2018-06-30T11:36:00.884Z by adl.to-selmer-templates. <!-- File form-roles-Role.html generated 2018-07-01T22:15:35.334Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -99,50 +82,3 @@ To delete this roles record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-teams-Team.html generated 2018-06-30T11:36:00.891Z by adl.to-selmer-templates. <!-- File form-teams-Team.html generated 2018-07-01T22:15:35.349Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -181,50 +164,3 @@ To delete this teams record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,24 +1,7 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File form-visits-Visit.html generated 2018-06-30T11:36:00.888Z by adl.to-selmer-templates. <!-- File form-visits-Visit.html generated 2018-07-01T22:15:35.342Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/>
<link href='css/spinner.css' type='text/css' rel='stylesheet'/>
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/>
<title>
{{site-title}}: {{title}}
</title>
{% endblock %}
{% block content %} {% block content %}
<div id='content' class='edit'> <div id='content' class='edit'>
@ -122,50 +105,3 @@ To delete this visits record
</div> </div>
{% endblock %} {% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}

View file

@ -1,48 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-addresses-Addresses.html generated 2018-06-30T11:36:00.900Z by adl.to-selmer-templates. <!-- File list-addresses-Addresses.html generated 2018-07-01T22:15:35.368Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %} {% block big-links %}
<div>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-addresses-Address' class="big-link"> <a id='next-selector' role='button' class='big-link'>
Add a new Address
</a>
</div>
<div class='big-link-container'>
<a role="button" class="big-link" id="next-selector" href="javascript:void(0)"
onclick="document.querySelector('content').submit()">
Next Next
</a> </a>
</div> </div>
<div class='big-link-container'>
<a href='form-addresses-Address' class='big-link'>
Add a new Address
</a>
</div>
</div>
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<form id='content' class='list'> <form id='list-addresses-Addresses' class='list' action='{{servlet-context}}/list-addresses-Addresses' method='POST'>
{% csrf-field %} {% csrf-field %}
<input id="offset" type="hidden" value="{{offset|0}}"/> <input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id="limit" type="hidden" value="{{limit|50}}"/> <input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
<table caption='addresses'> <table caption='addresses'>
<thead> <thead>
<tr> <tr>
@ -91,7 +87,7 @@ longitude
<input id='longitude' type='number' name='longitude' value='{{ params.longitude }}'/> <input id='longitude' type='number' name='longitude' value='{{ params.longitude }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -129,63 +125,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
</tfoot>
</table> </table>
</form> </form>
{% endblock %}
{% block foot %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the
<a href='https://radical.scot/'>
Radical Independence Campaign
</a>
||
Version {{version}}
</div>
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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 %}
{% block extra-script %} {% block extra-script %}
var form = document.getElementById("content");
document.getElementById("next-selector").addEventListener("click", function () { var form = document.getElementById('list-addresses-Addresses');
form.submit(); var ow = document.getElementById('offset');
}); var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
{% ifunequal offset \"0\" %}
document.getElementById('prev-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)-parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endifunequal %}
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-authorities-Authorities.html generated 2018-06-30T11:36:00.873Z by adl.to-selmer-templates. <!-- File list-authorities-Authorities.html generated 2018-07-01T22:15:35.307Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-authorities-Authority'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-authorities-Authority' class='big-link'>
Add a new Authority Add a new Authority
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-authorities-Authorities' class='list' action='{{servlet-context}}/list-authorities-Authorities' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='authorities'> <table caption='authorities'>
<thead> <thead>
<tr> <tr>
@ -57,7 +69,7 @@ authorize-uri
<input id='authorize_uri' type='text' name='authorize_uri' value='{{ params.authorize_uri }}'/> <input id='authorize_uri' type='text' name='authorize_uri' value='{{ params.authorize_uri }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -84,62 +96,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-authorities-Authorities');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-canvassers-Canvassers.html generated 2018-06-30T11:36:00.910Z by adl.to-selmer-templates. <!-- File list-canvassers-Canvassers.html generated 2018-07-01T22:15:35.398Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-canvassers-Canvasser'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-canvassers-Canvasser' class='big-link'>
Add a new Canvasser Add a new Canvasser
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-canvassers-Canvassers' class='list' action='{{servlet-context}}/list-canvassers-Canvassers' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='canvassers'> <table caption='canvassers'>
<thead> <thead>
<tr> <tr>
@ -87,7 +99,7 @@ authorised
<input id='authorised' type='text' name='authorised' value='{{ params.authorised }}'/> <input id='authorised' type='text' name='authorised' value='{{ params.authorised }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -135,62 +147,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-canvassers-Canvassers');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-districts-Districts.html generated 2018-06-30T11:36:00.905Z by adl.to-selmer-templates. <!-- File list-districts-Districts.html generated 2018-07-01T22:15:35.384Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-districts-District'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-districts-District' class='big-link'>
Add a new District Add a new District
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-districts-Districts' class='list' action='{{servlet-context}}/list-districts-Districts' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='districts'> <table caption='districts'>
<thead> <thead>
<tr> <tr>
@ -45,7 +57,7 @@ name
<input id='name' type='text' name='name' value='{{ params.name }}'/> <input id='name' type='text' name='name' value='{{ params.name }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -66,62 +78,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-districts-Districts');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-dwellings-Dwellings.html generated 2018-06-30T11:36:00.897Z by adl.to-selmer-templates. <!-- File list-dwellings-Dwellings.html generated 2018-07-01T22:15:35.361Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-dwellings-Dwelling'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-dwellings-Dwelling' class='big-link'>
Add a new Dwelling Add a new Dwelling
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-dwellings-Dwellings' class='list' action='{{servlet-context}}/list-dwellings-Dwellings' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='dwellings'> <table caption='dwellings'>
<thead> <thead>
<tr> <tr>
@ -51,7 +63,7 @@ sub-address
<input id='sub_address' type='text' name='sub_address' value='{{ params.sub_address }}'/> <input id='sub_address' type='text' name='sub_address' value='{{ params.sub_address }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -77,62 +89,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-dwellings-Dwellings');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-electors-Electors.html generated 2018-06-30T11:36:00.882Z by adl.to-selmer-templates. <!-- File list-electors-Electors.html generated 2018-07-01T22:15:35.326Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-electors-Elector'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-electors-Elector' class='big-link'>
Add a new Elector Add a new Elector
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-electors-Electors' class='list' action='{{servlet-context}}/list-electors-Electors' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='electors'> <table caption='electors'>
<thead> <thead>
<tr> <tr>
@ -69,7 +81,7 @@ gender
<input id='gender_expanded' type='text' name='gender_expanded' value='{{ params.gender_expanded }}'/> <input id='gender_expanded' type='text' name='gender_expanded' value='{{ params.gender_expanded }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -106,62 +118,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-electors-Electors');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followupactions-Followupactions.html generated 2018-06-30T11:36:00.910Z by adl.to-selmer-templates. <!-- File list-followupactions-Followupactions.html generated 2018-07-01T22:15:35.396Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-followupactions-Followupaction'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-followupactions-Followupaction' class='big-link'>
Add a new Followupaction Add a new Followupaction
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-followupactions-Followupactions' class='list' action='{{servlet-context}}/list-followupactions-Followupactions' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='followupactions'> <table caption='followupactions'>
<thead> <thead>
<tr> <tr>
@ -69,7 +81,7 @@ closed
<input id='closed' type='text' name='closed' value='{{ params.closed }}'/> <input id='closed' type='text' name='closed' value='{{ params.closed }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -106,62 +118,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-followupactions-Followupactions');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followupmethods-Followupmethods.html generated 2018-06-30T11:36:00.887Z by adl.to-selmer-templates. <!-- File list-followupmethods-Followupmethods.html generated 2018-07-01T22:15:35.341Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-followupmethods-Followupmethod'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-followupmethods-Followupmethod' class='big-link'>
Add a new Followupmethod Add a new Followupmethod
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-followupmethods-Followupmethods' class='list' action='{{servlet-context}}/list-followupmethods-Followupmethods' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='followupmethods'> <table caption='followupmethods'>
<thead> <thead>
<tr> <tr>
@ -39,7 +51,7 @@ id
<input id='id' type='text' name='id' value='{{ params.id }}'/> <input id='id' type='text' name='id' value='{{ params.id }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -57,62 +69,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-followupmethods-Followupmethods');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-followuprequests-Followuprequests.html generated 2018-06-30T11:36:00.866Z by adl.to-selmer-templates. <!-- File list-followuprequests-Followuprequests.html generated 2018-07-01T22:15:35.297Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-followuprequests-Followuprequest'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-followuprequests-Followuprequest' class='big-link'>
Add a new Followuprequest Add a new Followuprequest
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-followuprequests-Followuprequests' class='list' action='{{servlet-context}}/list-followuprequests-Followuprequests' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='followuprequests'> <table caption='followuprequests'>
<thead> <thead>
<tr> <tr>
@ -63,7 +75,7 @@ method_id
<input id='method_id_expanded' type='text' name='method_id_expanded' value='{{ params.method_id_expanded }}'/> <input id='method_id_expanded' type='text' name='method_id_expanded' value='{{ params.method_id_expanded }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -101,62 +113,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-followuprequests-Followuprequests');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-genders-Genders.html generated 2018-06-30T11:36:00.855Z by adl.to-selmer-templates. <!-- File list-genders-Genders.html generated 2018-07-01T22:15:35.275Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-genders-Gender'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-genders-Gender' class='big-link'>
Add a new Gender Add a new Gender
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-genders-Genders' class='list' action='{{servlet-context}}/list-genders-Genders' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='genders'> <table caption='genders'>
<thead> <thead>
<tr> <tr>
@ -39,7 +51,7 @@ id
<input id='id' type='text' name='id' value='{{ params.id }}'/> <input id='id' type='text' name='id' value='{{ params.id }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -57,62 +69,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-genders-Genders');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-intentions-Intentions.html generated 2018-06-30T11:36:00.913Z by adl.to-selmer-templates. <!-- File list-intentions-Intentions.html generated 2018-07-01T22:15:35.404Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-intentions-Intention'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-intentions-Intention' class='big-link'>
Add a new Intention Add a new Intention
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-intentions-Intentions' class='list' action='{{servlet-context}}/list-intentions-Intentions' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='intentions'> <table caption='intentions'>
<thead> <thead>
<tr> <tr>
@ -57,7 +69,7 @@ locality
<input id='locality' type='number' name='locality' value='{{ params.locality }}'/> <input id='locality' type='number' name='locality' value='{{ params.locality }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -90,62 +102,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-intentions-Intentions');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-issues-Issues.html generated 2018-06-30T11:36:00.906Z by adl.to-selmer-templates. <!-- File list-issues-Issues.html generated 2018-07-01T22:15:35.386Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-issues-Issue'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-issues-Issue' class='big-link'>
Add a new Issue Add a new Issue
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-issues-Issues' class='list' action='{{servlet-context}}/list-issues-Issues' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='issues'> <table caption='issues'>
<thead> <thead>
<tr> <tr>
@ -51,7 +63,7 @@ current
<input id='current' type='text' name='current' value='{{ params.current }}'/> <input id='current' type='text' name='current' value='{{ params.current }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -75,62 +87,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-issues-Issues');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-options-Options.html generated 2018-06-30T11:36:00.868Z by adl.to-selmer-templates. <!-- File list-options-Options.html generated 2018-07-01T22:15:35.300Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-options-Option'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-options-Option' class='big-link'>
Add a new Option Add a new Option
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-options-Options' class='list' action='{{servlet-context}}/list-options-Options' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='options'> <table caption='options'>
<thead> <thead>
<tr> <tr>
@ -39,7 +51,7 @@ id
<input id='id' type='text' name='id' value='{{ params.id }}'/> <input id='id' type='text' name='id' value='{{ params.id }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -57,62 +69,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-options-Options');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-roles-Roles.html generated 2018-06-30T11:36:00.886Z by adl.to-selmer-templates. <!-- File list-roles-Roles.html generated 2018-07-01T22:15:35.338Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-roles-Role'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-roles-Role' class='big-link'>
Add a new Role Add a new Role
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-roles-Roles' class='list' action='{{servlet-context}}/list-roles-Roles' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='roles'> <table caption='roles'>
<thead> <thead>
<tr> <tr>
@ -45,7 +57,7 @@ name
<input id='name' type='text' name='name' value='{{ params.name }}'/> <input id='name' type='text' name='name' value='{{ params.name }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -66,62 +78,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-roles-Roles');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-teams-Teams.html generated 2018-06-30T11:36:00.860Z by adl.to-selmer-templates. <!-- File list-teams-Teams.html generated 2018-07-01T22:15:35.287Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-teams-Team'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-teams-Team' class='big-link'>
Add a new Team Add a new Team
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-teams-Teams' class='list' action='{{servlet-context}}/list-teams-Teams' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='teams'> <table caption='teams'>
<thead> <thead>
<tr> <tr>
@ -63,7 +75,7 @@ longitude
<input id='longitude' type='number' name='longitude' value='{{ params.longitude }}'/> <input id='longitude' type='number' name='longitude' value='{{ params.longitude }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -95,62 +107,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-teams-Teams');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -1,32 +1,44 @@
{% extends "base.html" %} {% extends "base.html" %}
<!-- File list-visits-Visits.html generated 2018-06-30T11:36:00.858Z by adl.to-selmer-templates. <!-- File list-visits-Visits.html generated 2018-07-01T22:15:35.283Z by adl.to-selmer-templates.
See [Application Description Language](https://github.com/simon-brooke/adl).--> See [Application Description Language](https://github.com/simon-brooke/adl).-->
{% block head %}
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
<meta content='width=device-width, initial-scale=1' name='viewport'/>
<link href='css/yyy-common.css' type='text/css' rel='stylesheet'/> {% block back-links %}
<div>
<link href='css/yyy-site.css' type='text/css' rel='stylesheet'/> <div class='back-link-container'>
{% ifunequal params.offset "0" %}
<link href='css/spinner.css' type='text/css' rel='stylesheet'/> <a id='prev-selector' class='back-link'>
Previous
<link rel='stylesheet' href='https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow'/> </a>
{% else %}
<title> <a id='back-link' class='back-link' href='{{servlet-context}}/admin'>
{{site-title}}: {{title}} Back
</title> </a>
{% endifunequal %}
</div>
</div>
{% endblock %} {% endblock %}
{% block big-links %}
{% block content %} <div>
<form id='content' class='list'>
<div class='big-link-container'> <div class='big-link-container'>
<a href='form-visits-Visit'> <a id='next-selector' role='button' class='big-link'>
Next
</a>
</div>
<div class='big-link-container'>
<a href='form-visits-Visit' class='big-link'>
Add a new Visit Add a new Visit
</a> </a>
</div> </div>
</div>
{% endblock %}
{% block content %}
<form id='list-visits-Visits' class='list' action='{{servlet-context}}/list-visits-Visits' method='POST'>
{% csrf-field %}
<input id='offset' type='hidden' value='{{params.offset|default:0}}'/>
<input id='limit' type='hidden' value='{{params.limit|default:50}}'/>
<table caption='visits'> <table caption='visits'>
<thead> <thead>
<tr> <tr>
@ -57,7 +69,7 @@ date
<input id='date' type='date' name='date' value='{{ params.date }}'/> <input id='date' type='date' name='date' value='{{ params.date }}'/>
</th> </th>
<th> <th>
<input type='submit' id='search' value='Search'/> <input type='submit' id='search-widget' value='Search'/>
</th> </th>
</tr> </tr>
</thead> </thead>
@ -88,62 +100,30 @@ View
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
<tfoot>
<div class='back-link-container'>
<input id='page' name='page' disabled='{% ifequal offset 0 %} false {% else %} true {% endifequal %}' value='Previous'/>
</div>
<div class='big-link-container'>
<input id='page' name='page' disabled='false' value='Next'/>
</div>
</tfoot>
</table> </table>
</form> </form>
{% endblock %} {% endblock %}
{% block foot %} {% block extra-script %}
<footer>
<div id='credits'>
<div>
<img height='24' width='24' src='img/credits/ric-logo.png'/>
A project of the var form = document.getElementById('list-visits-Visits');
var ow = document.getElementById('offset');
var lw = document.getElementById('limit');
form.addEventListener('submit', function() {
ow.value='0';
});
<a href='https://radical.scot/'> {% ifunequal offset 0 %}
Radical Independence Campaign document.getElementById('prev-selector').addEventListener('click', function () {
</a> ow.value=(parseInt(ow.value)-parseInt(lw.value));
|| console.log('Updated offset to ' + ow.value);
Version {{version}} form.submit();
});
</div> {% endifunequal %}
<div>
<img src='img/credits/luminus-logo.png' alt='Clojure' width='16' height='16'/>
Built with
<a href='http://www.luminusweb.net/'>
LuminusWeb
</a>
||
<img src='img/credits/clojure-icon.gif' alt='Clojure' width='16' height='16'/>
Powered by
<a href='http://clojure.org'>
Clojure
</a>
||
<img src='img/credits/github-logo-transparent.png' alt='GitHub' width='16' height='16'/>
Find me/fork me on
<a href='https://github.com/simon-brooke/smeagol'>
Github
</a>
||
<img src='img/credits/gnu.small.png' alt='Free Software Foundation' width='16' height='16'/>
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>
document.getElementById('next-selector').addEventListener('click', function () {
ow.value=(parseInt(ow.value)+parseInt(lw.value));
console.log('Updated offset to ' + ow.value);
form.submit();
});
{% endblock %} {% endblock %}

View file

@ -11,11 +11,11 @@
<link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/> <link href="https://fonts.googleapis.com/css?family=Archivo+Black|Archivo+Narrow" rel="stylesheet"/>
<title>{{site-title}}: {{title}}</title> <title>{{site-title}}: {{title}}</title>
{% script "js/lib/jquery/dist/jquery.min.js" %} {% script "js/lib/jquery/dist/jquery.min.js" %}
{% endblock %}
{% block extra-head %} {% block extra-head %}
<!-- extra-head: put any additional markup to go into the head of your document into this block --> <!-- extra-head: put any additional markup to go into the head of your document into this block -->
<!-- e.g. script tags, link tags --> <!-- e.g. script tags, link tags -->
{% endblock %} {% endblock %}
{% endblock %}
</head> </head>
<body> <body>
{% block whole-page %} {% block whole-page %}
@ -48,7 +48,7 @@
{% block big-links %} {% block big-links %}
<!-- big-links: put any main navigation links into this block --> <!-- big-links: put any main navigation links into this block -->
{% endblock %} {% endblock %}
</div> </div>
<div if="#content"> <div if="#content">
{% block content %} {% block content %}
<!-- content: put your main page content into this block --> <!-- content: put your main page content into this block -->
@ -81,13 +81,11 @@
<!-- e.g. some javascript script tags, some link tags --> <!-- e.g. some javascript script tags, some link tags -->
{% endblock %} {% endblock %}
<script type="text/javascript"> <script type="text/javascript">
//<![CDATA[
var context = "{{servlet-context}}"; var context = "{{servlet-context}}";
var csrfToken = "{{csrf-token}}"; var csrfToken = "{{csrf-token}}";
{% block extra-script %} {% block extra-script %}
/* extra-script: put any actual javascript source text you need into this block */ /* extra-script: put any actual javascript source text you need into this block */
{% endblock %} {% endblock %}
//]]>
</script> </script>
</body> </body>
</html> </html>

View file

@ -1,5 +1,4 @@
(ns ^{:doc "Database access functions." (ns ^{:doc "Database access functions, mostly from Luminus template."}
:author "Simon Brooke"}
youyesyet.db.core youyesyet.db.core
(:require (:require
[cheshire.core :refer [generate-string parse-string]] [cheshire.core :refer [generate-string parse-string]]

View file

@ -50,7 +50,10 @@
user user
(do (do
(log/debug (str "seeking roles for user " user)) (log/debug (str "seeking roles for user " user))
(set (map #(lower-case (:name %)) (db/list-roles-by-canvasser db/*db* user)))))) (let [roles
(set (map #(lower-case (:name %)) (db/list-roles-by-canvasser db/*db* user)))]
(log/debug (str "found roles " roles " for user " user))
roles))))
;; role assignments change only rarely. ;; role assignments change only rarely.
@ -58,22 +61,26 @@
(defn render (defn render
"renders the HTML template located relative to resources/templates" "renders the HTML `template` located relative to resources/templates in
the context of this session and with these parameters."
[template session & [params]] [template session & [params]]
(let [user (:user session)] (let [user (:user session)]
(content-type (log/debug (str "layout/render: template: '" template "'; user: '" user "'."))
(ok (assoc
(content-type
(ok
(parser/render-file (parser/render-file
template template
(assoc params (assoc params
:page template :page template
:csrf-token *anti-forgery-token* :csrf-token *anti-forgery-token*
:user user :version (System/getProperty "youyesyet.version"))))
:user-roles (get-user-roles user) "text/html; charset=utf-8")
:site-title (:site-title env) :user user
:site-logo (:site-logo env) :user-roles (get-user-roles user)
:version (System/getProperty "youyesyet.version")))) :site-title (:site-title env)
"text/html; charset=utf-8"))) :site-logo (:site-logo env)
:session session)))
(defn error-page (defn error-page

View file

@ -1,16 +1,17 @@
(ns ^{:doc "Plumbing, mainly boilerplate from Luminus."} (ns ^{:doc "Plumbing, mainly boilerplate from Luminus."}
youyesyet.middleware youyesyet.middleware
(:require [youyesyet.env :refer [defaults]] (:require [clojure.tools.logging :as log]
[clojure.tools.logging :as log]
[youyesyet.layout :refer [*app-context* error-page]]
[ring.middleware.anti-forgery :refer [wrap-anti-forgery]] [ring.middleware.anti-forgery :refer [wrap-anti-forgery]]
[ring.middleware.webjars :refer [wrap-webjars]] [ring.middleware.defaults :refer [site-defaults wrap-defaults]]
[ring.middleware.format :refer [wrap-restful-format]] [ring.middleware.format :refer [wrap-restful-format]]
[youyesyet.config :refer [env]] [ring.middleware.webjars :refer [wrap-webjars]]
[ring-ttl-session.core :refer [ttl-memory-store]] [ring-ttl-session.core :refer [ttl-memory-store]]
[ring.middleware.defaults :refer [site-defaults wrap-defaults]]) [youyesyet.env :refer [defaults]]
[youyesyet.config :refer [env]]
[youyesyet.layout :refer [*app-context* error-page]])
(:import [javax.servlet ServletContext])) (:import [javax.servlet ServletContext]))
(defn wrap-context [handler] (defn wrap-context [handler]
(fn [request] (fn [request]
(binding [*app-context* (binding [*app-context*
@ -26,6 +27,7 @@
(:app-context env))] (:app-context env))]
(handler request)))) (handler request))))
(defn wrap-internal-error [handler] (defn wrap-internal-error [handler]
(fn [req] (fn [req]
(try (try
@ -36,6 +38,7 @@
:title "Something very bad has happened!" :title "Something very bad has happened!"
:message "We've dispatched a team of highly trained gnomes to take care of the problem."}))))) :message "We've dispatched a team of highly trained gnomes to take care of the problem."})))))
(defn wrap-csrf [handler] (defn wrap-csrf [handler]
(wrap-anti-forgery (wrap-anti-forgery
handler handler
@ -44,6 +47,7 @@
{:status 403 {:status 403
:title "Invalid anti-forgery token"})})) :title "Invalid anti-forgery token"})}))
(defn wrap-formats [handler] (defn wrap-formats [handler]
(let [wrapped (wrap-restful-format (let [wrapped (wrap-restful-format
handler handler
@ -53,6 +57,7 @@
;; since they're not compatible with this middleware ;; since they're not compatible with this middleware
((if (:websocket? request) handler wrapped) request)))) ((if (:websocket? request) handler wrapped) request))))
(defn wrap-base [handler] (defn wrap-base [handler]
(-> ((:middleware defaults) handler) (-> ((:middleware defaults) handler)
wrap-webjars wrap-webjars

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,16 @@
(ns ^{:doc "Routes/pages available to unauthenticated users." (ns ^{:doc "Routes/pages available to unauthenticated users."
:author "Simon Brooke"} youyesyet.routes.home :author "Simon Brooke"} youyesyet.routes.home
(:require [clojure.java.io :as io] (:require [clojure.java.io :as io]
[clojure.string :as s]
[clojure.tools.logging :as log] [clojure.tools.logging :as log]
[clojure.walk :refer [keywordize-keys]] [clojure.walk :refer [keywordize-keys]]
[noir.response :as nresponse]
[noir.util.route :as route] [noir.util.route :as route]
[ring.util.http-response :refer [content-type ok]] [ring.util.http-response :as response]
[youyesyet.config :refer [env]] [youyesyet.config :refer [env]]
[youyesyet.db.core :as db-core] [youyesyet.db.core :as db-core]
[youyesyet.layout :as layout] [youyesyet.layout :as layout]
[youyesyet.oauth :as oauth] [youyesyet.oauth :as oauth]
[compojure.core :refer [defroutes GET POST]] [compojure.core :refer [defroutes GET POST]]
[ring.util.http-response :as response]
)) ))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -63,13 +62,13 @@
user (:user session) user (:user session)
roles (if user (db-core/list-roles-by-canvasser db-core/*db* {:id (:id user)}))] roles (if user (db-core/list-roles-by-canvasser db-core/*db* {:id (:id user)}))]
(cond (cond
roles (layout/render "roles.html" roles (layout/render "roles.html"
(:session request) (:session request)
{:title (str "Welcome " (:fullname user) ", what do you want to do?") {:title (str "Welcome " (:fullname user) ", what do you want to do?")
:user user :user user
:roles roles}) :roles roles})
(empty? roles)(response/found "/app") (empty? roles)(response/found "/app")
true (assoc (response/found "/login") :session (dissoc session :user))))) true (assoc (response/found "/login") :session (dissoc session :user)))))
(defn home-page [] (defn home-page []
@ -86,42 +85,47 @@
password (:password params) password (:password params)
redirect-to (or (:redirect-to params) "roles")] redirect-to (or (:redirect-to params) "roles")]
(cond (cond
(:authority params) (:authority params)
(let [auth (oauth/authority! (:authority params))] (let [auth (oauth/authority! (:authority params))]
(if auth (if auth
(do (do
(log/info "Attempting to authorise with authority " (:authority params)) (log/info "Attempting to authorise with authority " (:authority params))
(oauth/fetch-request-token (oauth/fetch-request-token
(assoc request :session (assoc session :authority auth)) (assoc request :session (assoc session :authority auth))
auth)) auth))
(throw (Exception. (str "No such authority: " (:authority params)))))) (throw (Exception. (str "No such authority: " (:authority params))))))
;; this is obviously, ABSURDLY, insecure. I don't want to put just-about-good-enough, ;; this is obviously, ABSURDLY, insecure. I don't want to put just-about-good-enough,
;; it-will-do-for-now security in place; instead, I want this to be test code only ;; it-will-do-for-now security in place; instead, I want this to be test code only
;; until we have o-auth properly working. ;; until we have o-auth properly working.
(and user (= username password)) (and user (= username password))
(assoc (let
(response/found redirect-to) [roles (layout/get-user-roles user)]
:session (assoc session :user user :roles (layout/get-user-roles user))) (log/info (str "Logged in user '" username "' with roles " roles))
username (assoc
(response/found redirect-to)
:session
(assoc session :user user :roles roles)))
;; if we've got a username but either no user object or else
;; the password doesn't match
username
(layout/render (layout/render
"login.html" "login.html"
session session
{:title (str "User " username " is unknown") :redirect-to redirect-to}) {:title (str "User " username " is unknown")
true :redirect-to redirect-to
:warnings ["Your user name was not recognised or your password did not match"]})
;; if we've no username, just invite the user to log in
true
(layout/render (layout/render
"login.html" "login.html"
session session
{:title "Please log in" {:title "Please log in"
:redirect-to redirect-to :redirect-to redirect-to
:authorities (db-core/list-authorities db-core/*db*)})))) :authorities (db-core/list-authorities db-core/*db*)}))))
(defroutes home-routes (defroutes home-routes
(GET "/" [] (home-page)) (GET "/" [] (home-page))
;; (GET "/js/:file" [file]
;; (-> (io/input-stream (str "resources/public/js/" file))
;; ok
;; (content-type "text/javascript;charset=UTF-8")))
(GET "/home" [] (home-page)) (GET "/home" [] (home-page))
(GET "/about" [] (about-page)) (GET "/about" [] (about-page))
(GET "/roles" request (route/restricted (roles-page request))) (GET "/roles" request (route/restricted (roles-page request)))

View file

@ -12,37 +12,6 @@
There must also be an administrative interface through which privileged users can set the system up and authorise canvassers, and a 'followup' interface through which issue-expert specialist canvassers can address particular electors' queries. There must also be an administrative interface through which privileged users can set the system up and authorise canvassers, and a 'followup' interface through which issue-expert specialist canvassers can address particular electors' queries.
</documentation> </documentation>
<content>
<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>{{site-title}}: {{title}}</title>
</head>
<top>
</top>
<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>
</foot>
</content>
<typedef name="postcode" type="string" <typedef name="postcode" type="string"
pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16"> pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
<documentation>See <documentation>See

View file

@ -21,36 +21,6 @@
There must also be an administrative interface through which privileged users can set the system up and authorise canvassers, and a 'followup' interface through which issue-expert specialist canvassers can address particular electors' queries. There must also be an administrative interface through which privileged users can set the system up and authorise canvassers, and a 'followup' interface through which issue-expert specialist canvassers can address particular electors' queries.
</documentation> </documentation>
<content>
<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>{{site-title}}: {{title}}</title>
</head>
<top> </top>
<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>
</foot>
</content>
<typedef name="postcode" type="string" pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16"> <typedef name="postcode" type="string" pattern="^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})$" size="16">
<documentation>See <documentation>See
https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/488478/Bulk_Data_Transfer_-_additional_validation_valid_from_12_November_2015.pdf, https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/488478/Bulk_Data_Transfer_-_additional_validation_valid_from_12_November_2015.pdf,
@ -102,7 +72,7 @@
<prompt prompt="name" locale="en-GB"/> <prompt prompt="name" locale="en-GB"/>
</property> </property>
<property required="true" type="entity" name="dwelling_id" column="dwelling_id" entity="dwellings" farkey="id"> <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>
<property size="16" type="string" name="phone" column="phone" distinct="user"> <property size="16" type="string" name="phone" column="phone" distinct="user">
<prompt prompt="phone" locale="en-GB"/> <prompt prompt="phone" locale="en-GB"/>
@ -113,8 +83,8 @@
<property name="gender" type="entity" column="gender" entity="genders" farkey="id" default="Unknown" distinct="user"> <property name="gender" type="entity" column="gender" entity="genders" farkey="id" default="Unknown" distinct="user">
<prompt prompt="gender" locale="en-GB"/> <prompt prompt="gender" locale="en-GB"/>
</property> </property>
<list properties="listed" name="Electors"><field property="id"><prompt prompt="id" locale="en-GB"/></field><field property="name"><prompt prompt="name" locale="en-GB"/></field><field property="dwelling_id"><prompt prompt="Flat" locale="en-GB"/></field><field property="phone"><prompt prompt="phone" locale="en-GB"/></field><field property="email"><prompt prompt="email" locale="en-GB"/></field><field property="gender"><prompt prompt="gender" locale="en-GB"/></field></list> <list properties="listed" name="Electors"><field property="id"><prompt prompt="id" locale="en-GB"/></field><field property="name"><prompt prompt="name" locale="en-GB"/></field><field property="dwelling_id"><prompt prompt="home" locale="en-GB"/></field><field property="phone"><prompt prompt="phone" locale="en-GB"/></field><field property="email"><prompt prompt="email" locale="en-GB"/></field><field property="gender"><prompt prompt="gender" locale="en-GB"/></field></list>
<form properties="listed" name="Elector"><field property="id"><prompt prompt="id" locale="en-GB"/></field><field property="name"><prompt prompt="name" locale="en-GB"/></field><field property="dwelling_id"><prompt prompt="Flat" locale="en-GB"/></field><field property="phone"><prompt prompt="phone" locale="en-GB"/></field><field property="email"><prompt prompt="email" locale="en-GB"/></field><field property="gender"><prompt prompt="gender" locale="en-GB"/></field></form> <form properties="listed" name="Elector"><field property="id"><prompt prompt="id" locale="en-GB"/></field><field property="name"><prompt prompt="name" locale="en-GB"/></field><field property="dwelling_id"><prompt prompt="home" locale="en-GB"/></field><field property="phone"><prompt prompt="phone" locale="en-GB"/></field><field property="email"><prompt prompt="email" locale="en-GB"/></field><field property="gender"><prompt prompt="gender" locale="en-GB"/></field></form>
<permission group="canvassers" permission="read"/> <permission group="canvassers" permission="read"/>
<permission group="teamorganisers" permission="read"/> <permission group="teamorganisers" permission="read"/>
<permission group="issueexperts" permission="read"/> <permission group="issueexperts" permission="read"/>
@ -332,7 +302,7 @@
<!-- <!--
entity intentions has no key - generating one entity intentions has no key - generating one
--> -->
<entity table="intentions" name="intentions" magnitude="6" volatility="0"> <entity table="intentions" name="intentions" magnitude="6" volatility="2">
<documentation>Intentions of electors to vote for options elicited in visits.</documentation> <documentation>Intentions of electors to vote for options elicited in visits.</documentation>
<key> <key>
<property type="integer" distinct="system" required="true" name="Id"> <property type="integer" distinct="system" required="true" name="Id">