;;;; adventure-page.lisp -- shows a particular adventure (in-package :dnd) (defclass adventure-page () ((adventure :reader adventure :initarg :adventure) (player :reader player :initarg :player))) (defrender t ((page adventure-page)) (let ((adventure (adventure page))) (with-page (:title (title adventure)) (:h1 (title adventure)) (:p (description adventure)) (:h2 "Seers: " (render :list (adventure-seers adventure))) (:form :method "POST" :action "" (:label :for "SEER" "Add a seer to this adventure:") (:br) (:select :name "SEER" (loop :for p :in (db:store-objects-with-class 'player) :collect (:option :value (nickname p) (nickname p))))))))