diff options
-rw-r--r-- | users/grfn/bbbg/src/bbbg/db/attendee.clj | 9 | ||||
-rw-r--r-- | users/grfn/bbbg/src/bbbg/handlers/signup_form.clj | 21 |
2 files changed, 19 insertions, 11 deletions
diff --git a/users/grfn/bbbg/src/bbbg/db/attendee.clj b/users/grfn/bbbg/src/bbbg/db/attendee.clj index 68c3636e9502..91e13e07f860 100644 --- a/users/grfn/bbbg/src/bbbg/db/attendee.clj +++ b/users/grfn/bbbg/src/bbbg/db/attendee.clj @@ -23,12 +23,13 @@ (db/list db (search query q)))) (defn for-event + ([event-id] + (for-event {:select [:attendee.*] + :from [:attendee]} + event-id)) ([db-or-query event-id] (if (db/database? db-or-query) - (for-event db-or-query - {:select [:attendee.*] - :from [:attendee]} - event-id) + (db/list db-or-query (for-event event-id)) (-> db-or-query (merge-join :event_attendee [:= :attendee.id :event_attendee.attendee_id]) (merge-where [:= :event_attendee.event_id event-id])))) diff --git a/users/grfn/bbbg/src/bbbg/handlers/signup_form.clj b/users/grfn/bbbg/src/bbbg/handlers/signup_form.clj index 4485327a7b1b..fdc6243804f1 100644 --- a/users/grfn/bbbg/src/bbbg/handlers/signup_form.clj +++ b/users/grfn/bbbg/src/bbbg/handlers/signup_form.clj @@ -1,15 +1,17 @@ (ns bbbg.handlers.signup-form (:require + [bbbg.attendee :as attendee] [bbbg.db :as db] + [bbbg.db.attendee :as db.attendee] [bbbg.db.event :as db.event] [bbbg.event :as event] - [bbbg.handlers.core :refer [page-response authenticated? *authenticated?*]] - [compojure.core :refer [GET context]] - [java-time :refer [local-date]] - [ring.util.response :refer [redirect]] - [bbbg.db.attendee :as db.attendee] + [bbbg.handlers.core + :refer [*authenticated?* authenticated? page-response]] [cheshire.core :as json] - [bbbg.attendee :as attendee])) + [compojure.core :refer [context GET]] + [honeysql.helpers :refer [merge-where]] + [java-time :refer [local-date]] + [ring.util.response :refer [redirect]])) (defn no-events-page [{:keys [authenticated?]}] [:div.no-events @@ -76,7 +78,12 @@ (GET "/:event-id" [event-id] (if-let [event (db/get db :event event-id)] - (let [attendees (db.attendee/for-event db event-id)] + (let [attendees (db/list db + (-> + (db.attendee/for-event event-id) + (merge-where [:or + [:= :attended nil] + [:not :attended]])))] (page-response (signup-page {:event event :attendees attendees}))) |