src/view/settings.lisp

DOWNLOAD
(defpackage murja.view.settings
  (:use :cl :binding-arrows :spinneret :easy-routes :murja.model.settings)
  (:import-from :murja.view.components.tabs :deftab))

(in-package :murja.view.settings)

(deftab settings (:url "/settings"
		  :title "Settings"
		  :require-login t
		  :needed-abilities ("update-settings"))
  (let ((all-settings (all-setting-names)))
    (:form :action "/settings" :method "post"
	   (dolist (setting all-settings)
	     (let ((getter (setting-getter setting)))
	       (if getter 
	       (:label ("~a: " setting)
		       (:input :type :text :value (funcall getter) :name setting))
	       (:div.alert ("~a is missing it's getter" setting))))))))