Merge branch 'feature/9' into feature/clientframework

This commit is contained in:
Simon Brooke 2017-03-18 07:29:46 +00:00
commit 250e0e6887
6 changed files with 58 additions and 27 deletions

View file

@ -5,35 +5,36 @@
:dependencies [[org.clojure/clojure "1.8.0"] :dependencies [[org.clojure/clojure "1.8.0"]
[org.clojure/clojurescript "1.9.229" :scope "provided"] [org.clojure/clojurescript "1.9.229" :scope "provided"]
[ring/ring-servlet "1.5.0"] [ring/ring-servlet "1.5.1"]
[clj-oauth "1.5.5"] [clj-oauth "1.5.5"]
[ch.qos.logback/logback-classic "1.1.8"] [ch.qos.logback/logback-classic "1.2.2"]
[re-frame "0.9.1"] [re-frame "0.9.2"]
[cljs-ajax "0.5.8"] [cljs-ajax "0.5.8"]
[secretary "1.2.3"] [secretary "1.2.3"]
[reagent-utils "0.2.0"] [reagent-utils "0.2.1"]
[reagent "0.6.0"] [reagent "0.6.1"]
[korma "0.4.3"] [korma "0.4.3"]
[selmer "1.10.3"] [selmer "1.10.6"]
[markdown-clj "0.9.91"] [markdown-clj "0.9.98"]
[ring-middleware-format "0.7.0"] [ring-middleware-format "0.7.2"]
[metosin/ring-http-response "0.8.0"] [metosin/ring-http-response "0.8.2"]
[bouncer "1.0.0"] [bouncer "1.0.1"]
[org.webjars/bootstrap "4.0.0-alpha.5"] [org.webjars/bootstrap "4.0.0-alpha.6-1"]
[org.webjars/font-awesome "4.7.0"] [org.webjars/font-awesome "4.7.0"]
[org.webjars.bower/tether "1.3.7"] [org.webjars.bower/tether "1.4.0"]
[org.clojure/tools.logging "0.3.1"] [org.clojure/tools.logging "0.3.1"]
[compojure "1.5.1"] [compojure "1.5.2"]
[metosin/compojure-api "1.1.10"]
[ring-webjars "0.1.1"] [ring-webjars "0.1.1"]
[ring/ring-defaults "0.2.1"] [ring/ring-defaults "0.2.3"]
[luminus/ring-ttl-session "0.3.1"] [luminus/ring-ttl-session "0.3.1"]
[mount "0.1.11"] [mount "0.1.11"]
[cprop "0.1.9"] [cprop "0.1.10"]
[org.clojure/tools.cli "0.3.5"] [org.clojure/tools.cli "0.3.5"]
[migratus "0.8.32"] [migratus "0.8.33"]
[luminus-nrepl "0.1.4"] [luminus-nrepl "0.1.4"]
[luminus-migrations "0.2.9"] [luminus-migrations "0.3.0"]
[conman "0.6.2"] [conman "0.6.3"]
[org.postgresql/postgresql "9.4.1212"] [org.postgresql/postgresql "9.4.1212"]
] ]
@ -111,16 +112,16 @@
:project/dev {:dependencies [[prone "1.1.4"] :project/dev {:dependencies [[prone "1.1.4"]
[ring/ring-mock "0.3.0"] [ring/ring-mock "0.3.0"]
[ring/ring-devel "1.5.0"] [ring/ring-devel "1.5.1"]
[luminus-jetty "0.1.4"] [luminus-jetty "0.1.4"]
[pjstadig/humane-test-output "0.8.1"] [pjstadig/humane-test-output "0.8.1"]
[org.clojure/core.cache "0.6.5"] [org.clojure/core.cache "0.6.5"]
[org.apache.httpcomponents/httpcore "4.4.5"] [org.apache.httpcomponents/httpcore "4.4.6"]
[clj-webdriver/clj-webdriver "0.7.2"] [clj-webdriver/clj-webdriver "0.7.2"]
[org.seleniumhq.selenium/selenium-server "3.0.1"] [org.seleniumhq.selenium/selenium-server "3.3.1"]
[doo "0.1.7"] [doo "0.1.7"]
[binaryage/devtools "0.8.3"] [binaryage/devtools "0.9.2"]
[figwheel-sidecar "0.5.8"] [figwheel-sidecar "0.5.9"]
[com.cemerick/piggieback "0.2.2-SNAPSHOT"] [com.cemerick/piggieback "0.2.2-SNAPSHOT"]
[directory-naming/naming-java "0.8"]] [directory-naming/naming-java "0.8"]]
:plugins [[com.jakemccrary/lein-test-refresh "0.14.0"] :plugins [[com.jakemccrary/lein-test-refresh "0.14.0"]

View file

@ -34,6 +34,11 @@
</div> </div>
<!-- scripts and styles --> <!-- scripts and styles -->
<!-- ATTENTION \/ -->
<!-- Leaflet -->
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<!-- ATTENTION /\ -->
<script type="text/javascript"> <script type="text/javascript">
var context = "{{servlet-context}}"; var context = "{{servlet-context}}";

View file

@ -34,6 +34,26 @@
;;; redundant, and if they are the namespace probably needs to be renamed to 'entities'. ;;; redundant, and if they are the namespace probably needs to be renamed to 'entities'.
;;; See also resources/migrations/20161014170335-basic-setup.up.sql ;;; See also resources/migrations/20161014170335-basic-setup.up.sql
(defn create-districts-table!
"Create a table to hold the electoral districts in which electors are registered.
Note that, as this app is being developed for the independence referendum in which
polling is across the whole of Scotland, this part of the design isn't fully thought
through; if later adapted to general or local elections, some breakdown or hierarchy
of polling districts into constituencies will be required."
[]
(sql/db-do-commands
yyydb/*db*
(sql/create-table-ddl
:districts
;; it may be necessary to have a serial abstract primary key but I suspect
;; polling districts already have numbers assigned by the Electoral Commission and
;; it would be sensible to use those. TODO: check.
[:id "integer not null primary key"]
[:name "varchar(64) not null"]
;; TODO: it would make sense to hold polygon data for polling districts so we can reflect
;; them on the map, but I haven't thought through how to do that yet.
)))
(kc/defentity district (kc/defentity district
(kc/pk :id) (kc/pk :id)

View file

@ -44,4 +44,4 @@
:return Long :return Long
:header-params [x :- Long, y :- Long] :header-params [x :- Long, y :- Long]
:summary "x^y with header-parameters" :summary "x^y with header-parameters"
(ok (long (Math/pow x y)))))) (ok (long (Math/pow x y)))))))

View file

@ -57,6 +57,7 @@
(defn home-page [] (defn home-page []
[:div.container {:id "main-container"} [:div.container {:id "main-container"}
(big-link "About" "#/about") (big-link "About" "#/about")
(big-link "Map" "#/map")
[:div.jumbotron [:div.jumbotron
[:h1 "Welcome to youyesyet"] [:h1 "Welcome to youyesyet"]
[:p "Time to start building your site!"] [:p "Time to start building your site!"]

View file

@ -44,7 +44,11 @@
;; which provider to use ;; which provider to use
(def *map-provider* :osm) (def *map-provider* :osm)
(def osm-url "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png")
(def osm-attrib "Map data &copy; <a href='http://openstreetmap.org'>OpenStreetMap</a> contributors")
;; My gods mapbox is user-hostile!
(defn map-did-mount-mapbox (defn map-did-mount-mapbox
"Did-mount function loading map tile data from MapBox (proprietary)." "Did-mount function loading map tile data from MapBox (proprietary)."
[] []
@ -60,8 +64,8 @@
"Did-mount function loading map tile data from Open Street Map (open)." "Did-mount function loading map tile data from Open Street Map (open)."
[] []
(let [map (.setView (.map js/L "map") #js [55.86 -4.25] 13)] (let [map (.setView (.map js/L "map") #js [55.86 -4.25] 13)]
(.addTo (.tileLayer js/L "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png" (.addTo (.tileLayer js/L osm-url
(clj->js {:attribution "Map data &copy; <a href=\"http://openstreetmap.org\">OpenStreetMap</a> contributors" (clj->js {:attribution osm-attrib
:maxZoom 18})) :maxZoom 18}))
map))) map)))
@ -79,7 +83,7 @@
(defn map-render (defn map-render
"Render the actual div containing the map." "Render the actual div containing the map."
[] []
[:div#map {:style {:height "360px"}}]) [:div#map {:style {:height "500px"}}])
(defn map-div (defn map-div