diff options
| author | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-04-27 23:31:02 -0400 |
|---|---|---|
| committer | dumpfmprod <dumpfmprod@ubuntu.(none)> | 2010-04-27 23:31:02 -0400 |
| commit | 557a94e333a1aea1d9f2829683b625c87fcd928e (patch) | |
| tree | b0f7bd0cfdaf1fbc133bf1664629dc206272b4cd | |
| parent | ff887cd79dfd2d7c7fc2a784a5836a2fd8aadd30 (diff) | |
| parent | c111da7fd591d1b9335cd7b2221ccf54bd5fcc64 (diff) | |
Merge branch 'master' of /pichat/repo
| -rw-r--r-- | src/admin.clj | 43 | ||||
| -rw-r--r-- | src/site.clj | 10 |
2 files changed, 34 insertions, 19 deletions
diff --git a/src/admin.clj b/src/admin.clj index ef33aa2..f0b6453 100644 --- a/src/admin.clj +++ b/src/admin.clj @@ -173,21 +173,36 @@ AND cancelled = false (.setAttribute st "mailtemps" (lookup-templates "template/mail" "welcome")) (.toString st)))) +(defn debug-reg-email [session params] + (send-registration-email (params :nick) + (params :to) + (params :template)) + (str "Sent registration mail to " (params :to))) + +(defn debug-reset-email [session params] + ) + +(def *debug-action-map* {"regemail" debug-reg-email + "resetemail" debug-reset-email}) + +(defn format-unknown-action [action] + (html [:h2 {"color" "red"} ["Unknown action " action]])) + +(defn format-debug-exception [action e] + (html + [:h2 {"color" "red"} + ["Caught exception in " action " -- " (.getMessage e)]] + :br + [:pre (exception-to-string e)])) + (defn debug-commmand! [session params] (if-vip - (let [action (:action params) - msg (try - (cond (= action "regemail") - (do (send-registration-email (params :nick) - (params :to) - (params :template)) - (str "Sent registration mail to " (params :to))) - :else (str "Unknown action: " action)) - (catch Exception e - (str "<h2 color=\"red\">Caught Exception in " action " --" - (.getMessage e) - "</h2><br><pre>" - (exception-to-string e) - "</pre>")))] + (let [action (s/lower-case (:action params)) + func (*debug-action-map* action) + msg (if func + (try (func session params) + (catch Exception e + (format-debug-exception action e))) + (format-unknown-action action))] [(flash-assoc :msg msg) (redirect-to "/debug")]))) diff --git a/src/site.clj b/src/site.clj index b4adfdf..f48f560 100644 --- a/src/site.clj +++ b/src/site.clj @@ -344,8 +344,8 @@ (defn nick-reserved? [nick] (let [query "SELECT * FROM users WHERE LOWER(nick) = ? LIMIT 1"] - (and (not (contains? (poll *reserved-nicks*) nick)) - (= (count (do-select [query (lower-case nick)])) 0)))) + (or (contains? (poll *reserved-nicks*) nick) + (> (count (do-select [query (lower-case nick)])) 0)))) (defn register [session params] (let [nick (params :nick) @@ -816,8 +816,8 @@ ORDER BY msg_count DESC") ;; Account resets -(defn reset-page [session] - ) +(defn reset-request-page [session] + (.toString (fetch-template "reset_request.st" session))) (defn reset-account-request! [session params] ) @@ -988,7 +988,7 @@ ORDER BY msg_count DESC") (GET "/directory" (directory session 0)) (GET "/directory/:offset" (directory session (maybe-parse-int (-> request :route-params :offset) 0))) - (GET "/reset" (reset-page session)) + (GET "/reset" (reset-request-page session)) (POST "/reset-request" (reset-account-request! session params)) (POST "/reset/:key" (reset-account! session (-> request :route-params :key))) |
