blob: 653c8ab45d3d2d7e3873923918db9c047f980110 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
(ns bbbg.handlers.events
(:require
[bbbg.db :as db]
[bbbg.db.event :as db.event]
[bbbg.event :as event]
[bbbg.handlers.core :refer [page-response]]
[compojure.core :refer [context GET POST]]
[ring.util.response :refer [redirect]]
[bbbg.views.flash :as flash]))
(defn events-index [events]
[:ul.events-list
(for [event events]
[:li (::event/date event)])])
(defn event-form
([] (event-form {}))
([event]
[:form {:method "POST" :action "/events"}
[:div.form-group
[:label "Date"
[:input {:type "date"
:id "date"
:name "date"
:value (str (::event/date event))}]]]
[:div.form-group
[:input {:type "submit"
:value "Create Event"}]]]))
(defn events-routes [{:keys [db]}]
(context "/events" []
(GET "/" []
(let [events (db/list db :event)]
(events-index events)))
(GET "/new" [date]
(page-response
{:title "New Event"}
(event-form {::event/date date})))
(POST "/" [date]
(let [event (db.event/create! db {::event/date date})]
(-> (str "/signup-forms/" (::event/id event))
redirect
(flash/add-flash {:flash/type :success
:flash/message "Event Created"}))))))
|