Merge branch 'develop' of ssh://goldsmith.journeyman.cc:/srv/git/adl into develop
This commit is contained in:
commit
1dac3e9274
|
@ -77,7 +77,18 @@
|
|||
['request]
|
||||
(list
|
||||
'let
|
||||
['params '(massage-params request)]
|
||||
['params (list
|
||||
'merge
|
||||
(apply hash-map
|
||||
(interleave
|
||||
(map
|
||||
#(keyword (column-name %))
|
||||
(descendants-with-tag
|
||||
(:entity query)
|
||||
:property
|
||||
#(not (= (-> % :attrs :required) "true"))))
|
||||
(repeat nil)))
|
||||
'(massage-params request))]
|
||||
(list
|
||||
'valid-user-or-forbid
|
||||
(list
|
||||
|
@ -86,8 +97,7 @@
|
|||
'do-or-server-fail
|
||||
(list
|
||||
(symbol (str "db/" (:name query)))
|
||||
'db/*db*
|
||||
'params)
|
||||
'db/*db* 'params)
|
||||
(case (:type query)
|
||||
:insert-1 201 ;; created
|
||||
:delete-1 204 ;; no content
|
||||
|
@ -96,10 +106,13 @@
|
|||
'params
|
||||
(set
|
||||
(map
|
||||
#(keyword (:name (:attrs %)))
|
||||
#(keyword (column-name %))
|
||||
(case (:type query)
|
||||
(:insert-1 :update-1)
|
||||
(-> query :entity insertable-properties)
|
||||
:insert-1
|
||||
(-> query :entity required-properties)
|
||||
:update-1 (concat
|
||||
(-> query :entity key-properties)
|
||||
(-> query :entity required-properties))
|
||||
(:select-1 :delete-1)
|
||||
(-> query :entity key-properties)
|
||||
;; default
|
||||
|
|
|
@ -77,7 +77,7 @@
|
|||
'if
|
||||
(list
|
||||
'all-keys-present?
|
||||
'params (key-names e true))
|
||||
'params (set (map #(keyword (safe-name % :sql)) (key-names e))))
|
||||
(list
|
||||
'support/do-or-log-error
|
||||
(list
|
||||
|
@ -288,13 +288,16 @@
|
|||
(vector 'request)
|
||||
(list 'let (vector
|
||||
'params
|
||||
(list 'support/massage-params 'request))
|
||||
(list
|
||||
'merge
|
||||
(property-defaults e)
|
||||
(list 'support/massage-params 'request)))
|
||||
(list
|
||||
'l/render
|
||||
(list 'support/resolve-template (str (path-part f e a) ".html"))
|
||||
(list 'merge
|
||||
{:title (capitalise (:name (:attrs f)))
|
||||
:params (list 'merge (property-defaults e) 'params)}
|
||||
:params 'params}
|
||||
(case (:tag f)
|
||||
:form (make-form-get-handler-content f e a n)
|
||||
:page (make-page-get-handler-content f e a n)
|
||||
|
@ -302,6 +305,9 @@
|
|||
|
||||
|
||||
(defn make-form-post-handler-content
|
||||
"Generate the body of the post handler for the form `f` of
|
||||
entity `e` in application `a`. The argument `n` is bound to the name
|
||||
of the function, but is not currently used."
|
||||
;; Literally the only thing the post handler has to do is to
|
||||
;; generate the database store operation. Then it can hand off
|
||||
;; to the get handler.
|
||||
|
@ -317,7 +323,7 @@
|
|||
'params
|
||||
(set
|
||||
(map
|
||||
#(-> % :attrs :name)
|
||||
#(safe-name (-> % :attrs :name) :sql)
|
||||
(insertable-properties e))))
|
||||
'result
|
||||
(list
|
||||
|
|
Loading…
Reference in a new issue