src/view/settings.lisp
(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))))))))