diff --git a/.gitignore b/.gitignore index 7341dec..a82f52d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,8 @@ pom.xml profiles.clj /.env *.log +*.db +.nrepl-port /.idea *.iml diff --git a/resources/templates/home.html b/resources/templates/home.html index 3b46847..d42504a 100644 --- a/resources/templates/home.html +++ b/resources/templates/home.html @@ -8,12 +8,11 @@
{{item.message}}
- {{item.name}}
- - + + update {% endfor %} diff --git a/src/guestbook/routes/home.clj b/src/guestbook/routes/home.clj index d2fb0a9..3e1c9f3 100644 --- a/src/guestbook/routes/home.clj +++ b/src/guestbook/routes/home.clj @@ -5,7 +5,8 @@ [guestbook.db.core :as db] [bouncer.core :as b] [bouncer.validators :as v] - [ring.util.response :refer [redirect]])) + [ring.util.response :refer [redirect]]) + (:import (java.util Date))) (defn validate-message [params] (first @@ -19,20 +20,20 @@ (-> (redirect "/") (assoc :flash (assoc params :errors errors))) (do - (db/save-message! (assoc params :timestamp (java.util.Date.))) + (db/save-message! (assoc params :timestamp (Date.))) (redirect "/")))) -(defn delete-message! [{:keys [params]}] +(defn delete-message! [id] (do - (db/delete-message! params) + (db/delete-message! {:id id}) (redirect "/"))) -(defn update-message [{:keys [params flash]}] +(defn update-message [id] (if (empty? params) (redirect "/") (layout/render "update.html" - (merge (first (db/get-message params)) + (merge (first (db/get-message {:id id})) (select-keys flash [:name :message :errors]))))) (defn update-message! [{:keys [params]}] @@ -51,7 +52,7 @@ (defroutes home-routes (GET "/" request (home-page request)) (POST "/" request (save-message! request)) - (POST "/delete" request (delete-message! request)) - (GET "/update" request (update-message request)) + (POST "/delete/:id" [id] (delete-message! id)) + (GET "/update/:id" [id] (update-message id)) (POST "/update" request (update-message! request)) (GET "/about" [] (about-page)))