mirror of
https://github.com/journeyman-cc/smeagol.git
synced 2026-04-12 18:05:06 +00:00
Unfinished (but non-breaking) work on after-auth redirect
This commit is contained in:
parent
59f86925e8
commit
ecd9d5a270
1 changed files with 26 additions and 16 deletions
|
|
@ -163,6 +163,9 @@
|
||||||
:page page
|
:page page
|
||||||
:history (hist/find-history repo-path file-name)}))))
|
:history (hist/find-history repo-path file-name)}))))
|
||||||
|
|
||||||
|
;;;; this next section is all stuff supporting the list-uploads page, and maybe
|
||||||
|
;;;; should be moved to its own file.
|
||||||
|
|
||||||
(def image-extns #{".gif" ".jpg" ".jpeg" ".png"})
|
(def image-extns #{".gif" ".jpg" ".jpeg" ".png"})
|
||||||
|
|
||||||
(defn format-instant
|
(defn format-instant
|
||||||
|
|
@ -221,16 +224,7 @@
|
||||||
files)
|
files)
|
||||||
}))))
|
}))))
|
||||||
|
|
||||||
(map
|
;;;; end of list-uploads section ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
#(zipmap
|
|
||||||
[:base-name :is-image :modified :name]
|
|
||||||
[(fs/base-name %)
|
|
||||||
(if
|
|
||||||
(and (fs/extension %) (image-extns (cs/lower-case (fs/extension %))))
|
|
||||||
true false)
|
|
||||||
(fs/mod-time %)
|
|
||||||
(fs/name %)])
|
|
||||||
(file-seq (clojure.java.io/file "resources/public/content/uploads")))
|
|
||||||
|
|
||||||
(defn upload-page
|
(defn upload-page
|
||||||
"Render a form to allow the upload of a file."
|
"Render a form to allow the upload of a file."
|
||||||
|
|
@ -302,12 +296,14 @@
|
||||||
[request]
|
[request]
|
||||||
(or
|
(or
|
||||||
(show-sanity-check-error)
|
(show-sanity-check-error)
|
||||||
(let [params (keywordize-keys (:form-params request))
|
(let [params (keywordize-keys (:params request))
|
||||||
username (:username params)
|
form-params (keywordize-keys (:form-params request))
|
||||||
password (:password params)
|
username (:username form-params)
|
||||||
action (:action params)
|
password (:password form-params)
|
||||||
|
action (:action form-params)
|
||||||
user (session/get :user)
|
user (session/get :user)
|
||||||
redirect-to (or (:redirect-to params) "/wiki")]
|
redirect-to (:redirect-to params)]
|
||||||
|
(if redirect-to (timbre/info (str "After auth, redirect to: " redirect-to)))
|
||||||
(cond
|
(cond
|
||||||
(= action (util/get-message :logout-label request))
|
(= action (util/get-message :logout-label request))
|
||||||
(do
|
(do
|
||||||
|
|
@ -324,8 +320,22 @@
|
||||||
{:title (if user
|
{:title (if user
|
||||||
(str (util/get-message :logout-link request) " " user)
|
(str (util/get-message :logout-link request) " " user)
|
||||||
(util/get-message :login-link request))
|
(util/get-message :login-link request))
|
||||||
:redirect-to ((:headers request) "referer")}))))))
|
:redirect-to redirect-to}))))))
|
||||||
|
|
||||||
|
(defn wrap-restricted-redirect
|
||||||
|
;; TODO: this is not idiomatic, and it's too late to write something idiomatic just now
|
||||||
|
[f request]
|
||||||
|
(route/restricted
|
||||||
|
(apply
|
||||||
|
f
|
||||||
|
(if
|
||||||
|
(-> request :params :redirect-to) ;; a redirect target has already been set
|
||||||
|
request
|
||||||
|
;; else merge a redirect target into the params
|
||||||
|
(let
|
||||||
|
[redirect-to (if (:uri request)
|
||||||
|
(cs/join "?" [(:uri request) (:query-string request)]))]
|
||||||
|
(assoc-in request [:params :redirect-to] redirect-to))))))
|
||||||
|
|
||||||
(defn passwd-page
|
(defn passwd-page
|
||||||
"Render a page to change the user password"
|
"Render a page to change the user password"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue