Author: hhubner
Date: Wed Jan 30 08:02:24 2008
New Revision: 2424
Modified:
branches/trunk-reorg/bknr/datastore/src/data/blob.lisp
branches/trunk-reorg/bknr/modules/bug/bug-handlers.lisp
branches/trunk-reorg/bknr/modules/mail/mailinglist-handlers.lisp
branches/trunk-reorg/bknr/modules/mail/register-handler.lisp
branches/trunk-reorg/bknr/modules/tamagotchi/tamagotchi-handlers.lisp
branches/trunk-reorg/bknr/modules/text/article-handlers.lisp
branches/trunk-reorg/bknr/modules/text/billboard-handlers.lisp
branches/trunk-reorg/bknr/modules/text/blog-handlers.lisp
branches/trunk-reorg/bknr/modules/text/paste-handlers.lisp
branches/trunk-reorg/bknr/modules/text/wiki-handlers.lisp
branches/trunk-reorg/bknr/modules/url/edit-url-handlers.lisp
branches/trunk-reorg/bknr/web/src/images/image-handlers.lisp
branches/trunk-reorg/bknr/web/src/images/import-images-handler.lisp
branches/trunk-reorg/bknr/web/src/packages.lisp
branches/trunk-reorg/bknr/web/src/web/authorizer.lisp
branches/trunk-reorg/bknr/web/src/web/event-log.lisp
branches/trunk-reorg/bknr/web/src/web/handlers.lisp
branches/trunk-reorg/bknr/web/src/web/sessions.lisp
branches/trunk-reorg/bknr/web/src/web/tags.lisp
branches/trunk-reorg/bknr/web/src/web/user-handlers.lisp
branches/trunk-reorg/projects/quickhoney/src/handlers.lisp
branches/trunk-reorg/projects/quickhoney/src/init.lisp
branches/trunk-reorg/projects/quickhoney/src/webserver.lisp
Log:
First session handling fixes.
Modified: branches/trunk-reorg/bknr/datastore/src/data/blob.lisp
==============================================================================
--- branches/trunk-reorg/bknr/datastore/src/data/blob.lisp (original)
+++ branches/trunk-reorg/bknr/datastore/src/data/blob.lisp Wed Jan 30 08:02:24 2008
@@ -168,7 +168,7 @@
(with-open-file (s nblobs-pathname :direction :output)
(write (n-blobs-per-directory subsystem) :stream s))))
-(defun delete-orphaned-blob-files ()
+(defun delete-orphaned-blob-files (&optional (cold-run t))
(dolist (blob-pathname (directory (merge-pathnames (make-pathname :directory '(:relative :wild-inferiors))
(store-blob-root-pathname))))
(handler-case
@@ -177,7 +177,9 @@
(object (find-store-object object-id)))
(labels ((delete-orphan (pathname)
(handler-case
- (delete-file pathname)
+ (if cold-run
+ (format t "cold run, not deleting ~A~%" pathname)
+ (delete-file pathname))
(error (e)
(warn "can't delete file ~A: ~A" pathname e)))))
(cond
Modified: branches/trunk-reorg/bknr/modules/bug/bug-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/bug/bug-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/bug/bug-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -21,13 +21,13 @@
(defmethod handle-object-form ((handler bug-tracker-handler) action tracker)
(with-bknr-page (:title #?"bug-tracker for $((mailinglist-name tracker))")
- (when (admin-p (bknr-request-user))
+ (when (admin-p (bknr-session-user))
(html ((:a :href (format nil "/edit-bug-tracker/~a" (store-object-id tracker)))
"edit bug-tracker")))
(bug-tracker-page :bug-tracker-id (store-object-id tracker))))
(defmethod file-bug-report ((handler bug-tracker-handler) tracker)
- (let ((user (bknr-request-user)))
+ (let ((user (bknr-session-user)))
;; XXX check user rights
(with-query-params (name status priority description)
(let ((bug-report (make-object 'bug-report
@@ -58,9 +58,9 @@
(defmethod handle-object-form ((handler bug-report-handler) action report)
(with-bknr-page (:title #?"bug-report")
- (when (or (equal (bknr-request-user)
+ (when (or (equal (bknr-session-user)
(bug-report-handler report))
- (admin-p (bknr-request-user)))
+ (admin-p (bknr-session-user)))
(html ((:a :href (format nil "/edit-bug-report/~a" (store-object-id report)))
"edit bug-report")))
(bug-page :bug-id (store-object-id report))))
@@ -68,7 +68,7 @@
(defmethod handle-object-form ((handler bug-report-handler) (action (eql :annotate))
report)
(if report
- (let ((user (bknr-request-user)))
+ (let ((user (bknr-session-user)))
(with-query-params (title text)
(let ((article (make-object 'article
:author user
@@ -114,7 +114,7 @@
(defmethod handle-object-form ((handler edit-bug-tracker-handler)
(action (eql :save))
tracker)
- (if (admin-p (bknr-request-user))
+ (if (admin-p (bknr-session-user))
(with-query-params (name email description)
(change-slot-values tracker 'name name 'email email 'description description)
(call-next-method))
@@ -144,8 +144,8 @@
(defmethod handle-object-form ((handler edit-bug-report-handler)
(action (eql :save))
report)
- (if (or (admin-p (bknr-request-user))
- (equal (bknr-request-user)
+ (if (or (admin-p (bknr-session-user))
+ (equal (bknr-session-user)
(bug-report-handler report)))
(with-query-params (name status priority description)
(let ((status-kw (make-keyword-from-string status))
@@ -171,8 +171,8 @@
(defmethod handle-object-form ((handler edit-bug-report-handler)
(action (eql :close))
report)
- (if (or (admin-p (bknr-request-user))
- (equal (bknr-request-user)
+ (if (or (admin-p (bknr-session-user))
+ (equal (bknr-session-user)
(bug-report-handler report)))
(progn
(change-slot-values report 'closed (get-universal-time)
@@ -187,8 +187,8 @@
(defmethod handle-object-form ((handler edit-bug-report-handler)
(action (eql :reopen))
report)
- (if (or (admin-p (bknr-request-user))
- (equal (bknr-request-user)
+ (if (or (admin-p (bknr-session-user))
+ (equal (bknr-session-user)
(bug-report-handler report)))
(progn
(change-slot-values report 'closed nil
@@ -203,8 +203,8 @@
(defmethod handle-object-form ((handler edit-bug-report-handler)
(action (eql :delete))
report)
- (if (or (admin-p (bknr-request-user))
- (equal (bknr-request-user)
+ (if (or (admin-p (bknr-session-user))
+ (equal (bknr-session-user)
(bug-report-handler report)))
(progn
(let ((tracker (bug-report-tracker report)))
@@ -220,9 +220,9 @@
(action (eql :handle))
report)
(if (or (null (bug-report-handler report))
- (admin-p (bknr-request-user)))
+ (admin-p (bknr-session-user)))
(progn
- (change-slot-values report 'handler (bknr-request-user))
+ (change-slot-values report 'handler (bknr-session-user))
(call-next-method))
(with-bknr-page (:title #?"Edit bug report")
(:p "You can not become the handler of this bug report")
Modified: branches/trunk-reorg/bknr/modules/mail/mailinglist-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/mail/mailinglist-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/mail/mailinglist-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -106,7 +106,7 @@
(with-query-params (email)
(let ((user (find-user email)))
(if user
- (if (admin-p (bknr-request-user))
+ (if (admin-p (bknr-session-user))
(html-subscription-info user)
(progn
(html (:p "Sending unsubscribe information to " (:princ-safe (user-email user))))
Modified: branches/trunk-reorg/bknr/modules/mail/register-handler.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/mail/register-handler.lisp (original)
+++ branches/trunk-reorg/bknr/modules/mail/register-handler.lisp Wed Jan 30 08:02:24 2008
@@ -109,7 +109,7 @@
:email email
:subscribe-mailinglist mailinglist))
(website-url (and mailinglist (mailinglist-website-url mailinglist))))
- (if (admin-p (bknr-request-user))
+ (if (admin-p (bknr-session-user))
(progn
(confirm-registration registration)
(html (:h2 "registration completed")
Modified: branches/trunk-reorg/bknr/modules/tamagotchi/tamagotchi-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/tamagotchi/tamagotchi-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/tamagotchi/tamagotchi-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -15,7 +15,7 @@
(let ((tamagotchi (object-handler-get-object handler)))
(cond ((null tamagotchi) t)
((null (tamagotchi-owner tamagotchi)) t)
- ((equal (bknr-request-user) (tamagotchi-owner tamagotchi)) t)
+ ((equal (bknr-session-user) (tamagotchi-owner tamagotchi)) t)
(t nil)))))
(defmethod object-handler-get-object ((handler tamagotchi-handler))
Modified: branches/trunk-reorg/bknr/modules/text/article-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/text/article-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/text/article-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -41,7 +41,7 @@
(progn (change-slot-values article 'subject subject 'text text)
(index-article article))
(setf article (make-object 'article
- :author (bknr-request-user)
+ :author (bknr-session-user)
:subject subject
:text text)))
(redirect (edit-object-url article))))
@@ -104,7 +104,7 @@
(let ((keywords (keywords-from-query-param-list (query-param-list "keyword")))
(expires (parse-date-field "expiration")))
(with-query-params (subject text layout)
- (let ((snippet (make-object 'snippet :author (bknr-request-user)
+ (let ((snippet (make-object 'snippet :author (bknr-session-user)
:subject (or subject "")
:time (get-universal-time)
:text text
Modified: branches/trunk-reorg/bknr/modules/text/billboard-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/text/billboard-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/text/billboard-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -19,7 +19,7 @@
((:p :class "articleText") (:princ (article-html-text article)))))
(defun list-billboards-page ()
- (let ((may-edit (admin-p (bknr-request-user))))
+ (let ((may-edit (admin-p (bknr-session-user))))
(with-bknr-page (:title "billboards")
(html
((:form :method "post" :action (request-uri))
@@ -53,7 +53,7 @@
(defun billboard-page ()
(let ((billboard (parse-url)))
(with-query-params (new show-all delete)
- (let ((may-edit (admin-p (bknr-request-user))))
+ (let ((may-edit (admin-p (bknr-session-user))))
(setf billboard (find-billboard (or billboard *default-billboard*)))
(if delete
(let ((article (store-object-with-id delete)))
@@ -62,7 +62,7 @@
(html "the article has been deleted")))
(if (and new may-edit)
(let ((article (make-object 'article
- :author (bknr-request-user))))
+ :author (bknr-session-user))))
(billboard-add-article billboard article)
(redirect (format nil "/edit-article/~a" (store-object-id article))))
(with-bknr-page (:title #?"billboard: $((billboard-name billboard))")
@@ -75,7 +75,7 @@
with shown
for article in (billboard-articles billboard)
do (when (or show-all
- (not (article-read article (bknr-request-user))))
+ (not (article-read article (bknr-session-user))))
(setf shown t)
(html
(:tr (:td "date")
@@ -106,6 +106,6 @@
(unless (billboard-always-show-all billboard)
(html
((:input :type "submit" :name "show-all" :value "show-all"))))
- (when (admin-p (bknr-request-user))
+ (when (admin-p (bknr-session-user))
(html
((:input :type "submit" :name "new" :value "new"))))))))))))
\ No newline at end of file
Modified: branches/trunk-reorg/bknr/modules/text/blog-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/text/blog-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/text/blog-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -85,7 +85,7 @@
())
(defmethod authorized-p ((handler edit-blog-handler))
- (let ((user (bknr-request-user))
+ (let ((user (bknr-session-user))
(blog (object-handler-get-object handler)))
(if blog
(or (admin-p user)
@@ -115,7 +115,7 @@
(index-article article)))
(let ((article (make-object 'blog-article
:time (get-universal-time)
- :author (bknr-request-user)
+ :author (bknr-session-user)
:subject subject
:text text
:keywords (list keyword))))
Modified: branches/trunk-reorg/bknr/modules/text/paste-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/text/paste-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/text/paste-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -42,7 +42,7 @@
(with-query-params (subject text lisp)
(if (and subject text)
(let ((paste (make-object 'paste
- :author (bknr-request-user)
+ :author (bknr-session-user)
:subject subject
:time (get-universal-time)
:text text
@@ -59,7 +59,7 @@
(if paste
(with-query-params (text lisp)
(let ((annotation (make-object 'keywords-article
- :author (bknr-request-user)
+ :author (bknr-session-user)
:subject ""
:time (get-universal-time)
:text text
Modified: branches/trunk-reorg/bknr/modules/text/wiki-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/text/wiki-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/text/wiki-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -34,7 +34,7 @@
())
(defmethod authorized-p ((handler edit-wiki-handler))
- (not (anonymous-p (bknr-request-user))))
+ (not (anonymous-p (bknr-session-user))))
(defmethod handle-object-form ((handler edit-wiki-handler)
action (article (eql nil)))
@@ -53,7 +53,7 @@
(with-query-params (text comment)
(let ((version (make-version (html-quote text)
:comment (html-quote comment)
- :author (bknr-request-user)
+ :author (bknr-session-user)
:date (get-universal-time))))
(if article
(article-add-version article version)
Modified: branches/trunk-reorg/bknr/modules/url/edit-url-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/modules/url/edit-url-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/modules/url/edit-url-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -9,7 +9,7 @@
())
(defmethod authorized-p ((handler form-handler))
- (not (equal (bknr-request-user) (find-user "anonymous"))))
+ (not (equal (bknr-session-user) (find-user "anonymous"))))
#+(or)
(defmethod handle-form ((handler submit-url-handler) action)
@@ -35,12 +35,12 @@
(setf url (normalize-url url))
(ensure-form-field keywords)
(if (and cache
- (not (user-has-flag (bknr-request-user) :cache)))
+ (not (user-has-flag (bknr-session-user) :cache)))
(error (make-condition 'form-not-authorized-condition
:reason "You do not have the right to cache objects")))
(when cache
- (make-cached-url-from-url url :user (bknr-request-user) :depth 1
+ (make-cached-url-from-url url :user (bknr-session-user) :depth 1
:force nil))
(let ((url-obj (url-with-url url)))
@@ -55,7 +55,7 @@
:description description
:keywords keywords
:date (get-universal-time)
- :submitter (bknr-request-user))))
+ :submitter (bknr-session-user))))
(declare (ignore submission))
(redirect (if redirect url "/url")))))
(form-field-missing-condition (e)
Modified: branches/trunk-reorg/bknr/web/src/images/image-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/images/image-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/images/image-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -86,7 +86,7 @@
(error "no file uploaded"))
(with-query-params (name keyword)
(let* ((image (import-image file-pathname
- :user (bknr-request-user)
+ :user (bknr-session-user)
:keywords (list keyword)
:keywords-from-dir nil))
(image-id (store-object-id image)))
Modified: branches/trunk-reorg/bknr/web/src/images/import-images-handler.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/images/import-images-handler.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/images/import-images-handler.lisp Wed Jan 30 08:02:24 2008
@@ -35,7 +35,7 @@
(class-name (apply #'find-symbol (reverse (split "::?" (query-param "class-name"))))))
(import-directory spool-dir
:class-name class-name
- :user (bknr-request-user)
+ :user (bknr-session-user)
:keywords keywords
:spool (import-handler-spool-dir handler)
:keywords-from-dir (query-param "keyfromdir"))))
Modified: branches/trunk-reorg/bknr/web/src/packages.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/packages.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/packages.lisp Wed Jan 30 08:02:24 2008
@@ -378,9 +378,7 @@
#:bknr-session-host
#:host-name
- #:bknr-request-user
- #:bknr-request
- #:bknr-request-session
+ #:bknr-session
#:*session*
#:anonymous-session
Modified: branches/trunk-reorg/bknr/web/src/web/authorizer.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/authorizer.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/authorizer.lisp Wed Jan 30 08:02:24 2008
@@ -19,7 +19,6 @@
(defun session-from-request ()
"check whether the request has a valid session id in either the bknr-sessionid cookie or query parameter"
- (start-session)
(session-value 'bknr-session))
(defmethod find-user-from-request-parameters ((authorizer bknr-authorizer))
@@ -34,7 +33,6 @@
(defmethod authorize ((authorizer bknr-authorizer))
;; Catch any errors that occur during request body processing
- (start-session)
(handler-case
(when (session-value 'bknr-session)
(return-from authorize t))
Modified: branches/trunk-reorg/bknr/web/src/web/event-log.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/event-log.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/event-log.lisp Wed Jan 30 08:02:24 2008
@@ -62,7 +62,7 @@
print-hours ;; number of hours to search
print-count) ;; maximum number of events to print
(when (and message (not (equal "" message)))
- (make-event 'message-event :from (bknr-request-user) :text message))
+ (make-event 'message-event :from (bknr-session-user) :text message))
;; Parameter parsing, will move to with-query-params soon
(if (and last-printed (not (equal "" last-printed)))
(setf last-printed (parse-integer last-printed))
@@ -78,10 +78,10 @@
(let ((selected-classes (or (and show-only-class
(list (find-class (find-symbol show-only-class (find-package "bknr")))))
(selected-classes (request-query))
- (mapcar #'find-class (get-user-preferences (bknr-request-user) :event-log-classes))
+ (mapcar #'find-class (get-user-preferences (bknr-session-user) :event-log-classes))
(default-selected-classes))))
(unless show-only-class
- (set-user-preferences (bknr-request-user) :event-log-classes (mapcar #'class-name selected-classes)))
+ (set-user-preferences (bknr-session-user) :event-log-classes (mapcar #'class-name selected-classes)))
;; selected-classes contains the list of event classes to print.
(html
((:form :action "/event-log" :method "post")
Modified: branches/trunk-reorg/bknr/web/src/web/handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/handlers.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/handlers.lisp Wed Jan 30 08:02:24 2008
@@ -155,8 +155,8 @@
(defmethod website-session-info ((website website))
(html ((:div :id "session-info")
"local time is " (:princ-safe (format-date-time))
- (if (bknr-request-user)
- (html ", logged in as " (html-link (bknr-request-user)))
+ (if (bknr-session-user)
+ (html ", logged in as " (html-link (bknr-session-user)))
(html ", not logged in")))))
(defclass page-handler ()
@@ -216,14 +216,16 @@
(with-slots (require-user-flag) page-handler
(if (and require-user-flag
(not (find require-user-flag
- (user-flags (bknr-request-user)))))
+ (user-flags (bknr-session-user)))))
nil
t)))
(defmethod invoke-handler ((handler page-handler))
+ (start-session)
+ (unless (session-value 'bknr-session)
+ (setf (session-value 'bknr-session)
+ (make-instance 'bknr-session :user (find-user "anonymous"))))
(let* ((*website* (page-handler-site handler))
- (*session* (bknr-request-session))
- (*user* (bknr-request-user))
(*req-var-hash* (or *req-var-hash*
(make-hash-table))))
(do-log-request)
@@ -411,7 +413,7 @@
())
(defmethod authorized-p ((handler admin-only-handler))
- (admin-p (bknr-request-user)))
+ (admin-p (bknr-session-user)))
(defclass xml-handler ()
((style-path :initarg :style-path :reader xml-handler-style-path))
@@ -487,7 +489,7 @@
(defgeneric import-handler-import-files (handler))
(defmethod import-handler-import-pathname ((handler import-handler))
- (let* ((user (bknr-request-user))
+ (let* ((user (bknr-session-user))
(spool-dir (merge-pathnames (make-pathname
:directory (list :relative (user-login user)))
(import-handler-spool-dir handler))))
Modified: branches/trunk-reorg/bknr/web/src/web/sessions.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/sessions.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/sessions.lisp Wed Jan 30 08:02:24 2008
@@ -2,28 +2,26 @@
(defclass bknr-session ()
((id :initarg :id :reader bknr-session-id :initform (get-universal-time))
- (user :initarg :user :reader bknr-session-user :initform nil)
+ (user :initarg :user)
(host :initarg :host :reader bknr-session-host :initform nil)))
(defmethod print-object ((session bknr-session) stream)
(print-unreadable-object (session stream :type t :identity t)
- (format stream "user ~A host ~A" (bknr-session-user session) (bknr-session-host session))
+ (with-slots (user host) session
+ (format stream "user ~A host ~A" user host))
session))
-(defmethod bknr-session-user ((user (eql nil)))
- nil)
-
-(defun bknr-request-user ()
- (bknr-session-user (session-value 'bknr-session)))
-
-(defun bknr-request-session ()
+(defun bknr-session ()
(session-value 'bknr-session))
+(defun bknr-session-user ()
+ (slot-value (bknr-session) 'user))
+
(defun do-log-request ()
(format *debug-io* "Log: ~A~%" (request-uri))
(return-from do-log-request)
#+(or)
- (let* ((session (bknr-request-session))
+ (let* ((session (bknr-session))
(user (bknr-session-user session))
(host (bknr-session-host session))
(url (request-uri))
@@ -45,7 +43,7 @@
(defun do-error-log-request (error)
(format *debug-io* "Error: ~A~%" error)
#+(or)
- (let* ((session (bknr-request-session))
+ (let* ((session (bknr-session))
(user (bknr-session-user session))
(host (bknr-session-host session))
(url (request-uri))
Modified: branches/trunk-reorg/bknr/web/src/web/tags.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/tags.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/tags.lisp Wed Jan 30 08:02:24 2008
@@ -226,7 +226,7 @@
do (navi-button :url link
:text name)))))
(when (and (website-admin-navigation *website*)
- (admin-p (bknr-request-user)))
+ (admin-p (bknr-session-user)))
(html ((:div :class "navi")
"admin: "
(loop
Modified: branches/trunk-reorg/bknr/web/src/web/user-handlers.lisp
==============================================================================
--- branches/trunk-reorg/bknr/web/src/web/user-handlers.lisp (original)
+++ branches/trunk-reorg/bknr/web/src/web/user-handlers.lisp Wed Jan 30 08:02:24 2008
@@ -39,7 +39,7 @@
(defmethod authorized-p ((handler user-handler))
(let* ((user (object-handler-get-object handler))
- (web-user (bknr-request-user))
+ (web-user (bknr-session-user))
(action (query-param "action"))
(action-keyword (when action (make-keyword-from-string action))))
(cond ((anonymous-p web-user) nil)
@@ -87,7 +87,7 @@
(defmethod handle-object-form ((handler user-handler) (action (eql :save)) user)
(unless user
- (setf user (bknr-request-user)))
+ (setf user (bknr-session-user)))
(when user
(with-query-params (password password-repeat
full-name
@@ -98,7 +98,7 @@
(set-user-password user password))
(change-slot-values user 'email email 'full-name full-name)))
- (when (admin-p (bknr-request-user))
+ (when (admin-p (bknr-session-user))
(let* ((all-flags (all-user-flags))
(set-flags (keywords-from-query-param-list (query-param-list "flags")))
(unset-flags (set-difference all-flags set-flags)))
@@ -112,7 +112,7 @@
(:report "You are not authorized to perform this operation"))
(defmethod handle-object-form ((handler user-handler) (action (eql :delete)) user)
- (unless (admin-p (bknr-request-user))
+ (unless (admin-p (bknr-session-user))
(error 'unauthorized-error))
(when user
(delete-user user))
Modified: branches/trunk-reorg/projects/quickhoney/src/handlers.lisp
==============================================================================
--- branches/trunk-reorg/projects/quickhoney/src/handlers.lisp (original)
+++ branches/trunk-reorg/projects/quickhoney/src/handlers.lisp Wed Jan 30 08:02:24 2008
@@ -75,8 +75,8 @@
(defmethod handle ((handler login-js-handler))
(format *html-stream* "parent.login_complete(~A, ~S);~%"
- (if (admin-p (bknr-request-user)) "true" "false")
- (user-login (bknr-request-user))))
+ (if (admin-p (bknr-session-user)) "true" "false")
+ (user-login (bknr-session-user))))
(defclass clients-js-handler (javascript-handler page-handler)
())
Modified: branches/trunk-reorg/projects/quickhoney/src/init.lisp
==============================================================================
--- branches/trunk-reorg/projects/quickhoney/src/init.lisp (original)
+++ branches/trunk-reorg/projects/quickhoney/src/init.lisp Wed Jan 30 08:02:24 2008
@@ -2,6 +2,9 @@
(defun startup ()
(setq cxml::*default-catalog* '("/home/hans/share/xml/catalog"))
+ ;; XXX hack hack hack
+ (mapcar #'cl-gd::load-foreign-library
+ '("/usr/lib/libcrypto.so" "/usr/lib/libssl.so" "/usr/local/lib/libgd.so" "/home/hans/bknr-svn/thirdparty/cl-gd/cl-gd-glue.so"))
(when *store*
(close-store))
(make-instance 'store
Modified: branches/trunk-reorg/projects/quickhoney/src/webserver.lisp
==============================================================================
--- branches/trunk-reorg/projects/quickhoney/src/webserver.lisp (original)
+++ branches/trunk-reorg/projects/quickhoney/src/webserver.lisp Wed Jan 30 08:02:24 2008
@@ -3,6 +3,13 @@
(enable-interpol-syntax)
+(defclass admin-handler (admin-only-handler page-handler)
+ ())
+
+(defmethod handle ((handler admin-handler))
+ (with-bknr-page (:title "CMS")
+ "Please choose an administration activity from the menu above"))
+
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -23,6 +30,7 @@
("/upload-animation" upload-animation-handler)
("/upload-button" upload-button-handler)
("/rss" rss-handler)
+ ("/admin" admin-handler)
("/" redirect-handler
:to "/frontpage")
user