Created
December 23, 2011 15:41
-
-
Save kognate/1514494 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns newsite.views.welcome | |
(:require [newsite.views.common :as common] | |
[noir.session :as session] | |
[noir.server :as server] | |
[noir.response :as response]) | |
(:use [noir.core :only [defpage]] | |
[hiccup.core :only [html]])) | |
(defn- log [msg & vals] | |
(let [line (apply format msg vals)] | |
(locking System/out (println line)))) | |
(defn wrap-request-logging [handler] | |
(fn [{:keys [request-method uri] :as req}] | |
(let [start (System/currentTimeMillis) | |
resp (handler req) | |
status (:status resp) | |
finish (System/currentTimeMillis) | |
total (- finish start) | |
user (noir.session/get :username)] | |
(log "request[%s for user: %s] %s %s (%dms)" status user request-method uri total) | |
resp))) | |
(server/add-middleware wrap-request-logging) | |
(defn can-access [user res] | |
false) | |
(defn provides [res & content] | |
(let [curuser (noir.session/get :username)] | |
(if (can-access curuser res) | |
content | |
(response/status 401 "Denied")))) | |
(defpage "/" [] | |
(common/layout | |
[:h1 "Welcome to iRxReminder Control Center"])) | |
(defpage "/studies" [] | |
(provides :studies | |
(common/layout | |
[:p "Welcome to newsite"]))) | |
(defpage "/study/:studyid" {:keys [studyid]} | |
(html | |
[:h1 "This is my first page"] | |
[:p (str "Welcome to study " studyid)])) | |
(defpage "/participants" [] | |
"<html><body><h1>Hello</h1></body></html>") | |
(defpage "/participant/:participantid" {:keys [participantid]} | |
(common/layout | |
[:p "Participants"])) | |
(defpage [:get "/studydat/:studyid/:memberid"] {:keys [studyid memberid]} | |
(response/json {:dat [studyid memberid]})) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment