fix(ssr): fix Client Review (requires-feedback) status in bulk-code dialog

The bulk-code "Requires Feedback" option submitted "requires_feedback"
(underscore), which decoded to an enum keyword not present in the
schema (idents use a hyphen), so selecting it failed validation. Use
the hyphenated value and relabel the option, the reconciliation report
header to "Client Review" to unify with the sidebar terminology.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-18 10:38:00 -07:00
parent ec4f88b7fc
commit c09d85ede6
2 changed files with 39 additions and 39 deletions

View File

@@ -28,7 +28,7 @@
(com/data-grid-header {} "Synced count") (com/data-grid-header {} "Synced count")
(com/data-grid-header {} "Approved transactions") (com/data-grid-header {} "Approved transactions")
(com/data-grid-header {} "Unapproved transactions") (com/data-grid-header {} "Unapproved transactions")
(com/data-grid-header {} "Requires feedback transactions") (com/data-grid-header {} "Client Review transactions")
(com/data-grid-header {} "Missing transactions")]) (com/data-grid-header {} "Missing transactions")])
#_#_:thead-params {:class "sticky top-0 z-50"}} #_#_:thead-params {:class "sticky top-0 z-50"}}
(for [row report] (for [row report]
@@ -84,18 +84,18 @@
(com/validated-field {:label "Start" (com/validated-field {:label "Start"
:errors (fc/field-errors)} :errors (fc/field-errors)}
[:div {:class "w-64"} [:div {:class "w-64"}
(com/date-input {:name (fc/field-name) (com/date-input {:name (fc/field-name)
:class "w-64" :class "w-64"
:value (some-> (fc/field-value) :value (some-> (fc/field-value)
(atime/unparse-local atime/normal-date))})])) (atime/unparse-local atime/normal-date))})]))
(fc/with-field :end-date (fc/with-field :end-date
(com/validated-field {:label "End" (com/validated-field {:label "End"
:errors (fc/field-errors)} :errors (fc/field-errors)}
[:div {:class "w-64"} [:div {:class "w-64"}
(com/date-input {:name (fc/field-name) (com/date-input {:name (fc/field-name)
:class "w-64" :class "w-64"
:value (some-> (fc/field-value) :value (some-> (fc/field-value)
(atime/unparse-local atime/normal-date))})])) (atime/unparse-local atime/normal-date))})]))
(com/button {:color :primary :class "self-center w-24"} "Run")])] (com/button {:color :primary :class "self-center w-24"} "Run")])]
(if report (if report
(report* {:request request :report report}) (report* {:request request :report report})
@@ -104,15 +104,15 @@
(defn page [request] (defn page [request]
(base-page (base-page
request request
(com/page {:nav com/company-aside-nav (com/page {:nav com/company-aside-nav
:client-selection (:client-selection request) :client-selection (:client-selection request)
:client (:client request) :client (:client request)
:clients (:clients request) :clients (:clients request)
:identity (:identity request) :identity (:identity request)
:app-params {:hx-get (bidi/path-for ssr-routes/only-routes :company-reconciliation-report) :app-params {:hx-get (bidi/path-for ssr-routes/only-routes :company-reconciliation-report)
:hx-trigger "clientSelected from:body" :hx-trigger "clientSelected from:body"
:hx-select "#app-contents" :hx-select "#app-contents"
:hx-swap "outerHTML swap:300ms"}} :hx-swap "outerHTML swap:300ms"}}
(com/breadcrumbs {} (com/breadcrumbs {}
[:a {:href (bidi/path-for ssr-routes/only-routes :company)} [:a {:href (bidi/path-for ssr-routes/only-routes :company)}
"My Company"] "My Company"]
@@ -133,7 +133,7 @@
(defn get-report-data [start-date end-date client-ids] (defn get-report-data [start-date end-date client-ids]
(let [client-codes (map first (dc/q '[:find ?cc :in $ [?c ...] :where [?c :client/code ?cc]] (dc/db conn) client-ids))] (let [client-codes (map first (dc/q '[:find ?cc :in $ [?c ...] :where [?c :client/code ?cc]] (dc/db conn) client-ids))]
(for [[ib ba c] (seq (apply get-intuit-bank-accounts (dc/db conn) client-codes)) (for [[ib ba c] (seq (apply get-intuit-bank-accounts (dc/db conn) client-codes))
:let [raw-transactions (get-transactions (atime/unparse-local start-date atime/iso-date) :let [raw-transactions (get-transactions (atime/unparse-local start-date atime/iso-date)
(atime/unparse-local end-date atime/iso-date) (atime/unparse-local end-date atime/iso-date)
ib) ib)

View File

@@ -185,28 +185,28 @@
:hx-target "#account-entries" :hx-target "#account-entries"
:hx-swap "innerHTML" :hx-swap "innerHTML"
:hx-include "closest form"} :hx-include "closest form"}
(fc/with-field :vendor (fc/with-field :vendor
(com/validated-field {:label "Vendor" (com/validated-field {:label "Vendor"
:errors (fc/field-errors)} :errors (fc/field-errors)}
(com/typeahead {:name (fc/field-name) (com/typeahead {:name (fc/field-name)
:placeholder "Search for vendor..." :placeholder "Search for vendor..."
:url (bidi/path-for ssr-routes/only-routes :vendor-search) :url (bidi/path-for ssr-routes/only-routes :vendor-search)
:value (fc/field-value) :value (fc/field-value)
:content-fn (fn [c] (pull-attr (dc/db conn) :vendor/name c))})))] :content-fn (fn [c] (pull-attr (dc/db conn) :vendor/name c))})))]
;; Status field ;; Status field
[:div [:div
(fc/with-field :approval-status (fc/with-field :approval-status
(com/validated-field {:label "Status" (com/validated-field {:label "Status"
:errors (fc/field-errors)} :errors (fc/field-errors)}
(com/select {:name (fc/field-name) (com/select {:name (fc/field-name)
:value (some-> (fc/field-value) :value (some-> (fc/field-value)
name) name)
:options [["" "No Change"] :options [["" "No Change"]
["approved" "Approved"] ["approved" "Approved"]
["unapproved" "Unapproved"] ["unapproved" "Unapproved"]
["suppressed" "Suppressed"] ["suppressed" "Suppressed"]
["requires_feedback" "Requires Feedback"]]})))] ["requires-feedback" "Client Review"]]})))]
;; Accounts section ;; Accounts section
[:div.col-span-2.pt-4 [:div.col-span-2.pt-4
@@ -219,10 +219,10 @@
(com/data-grid {:headers [(com/data-grid-header {} "Account") (com/data-grid {:headers [(com/data-grid-header {} "Account")
(com/data-grid-header {:class "w-32"} "Location") (com/data-grid-header {:class "w-32"} "Location")
(com/data-grid-header {:class "w-16"} "%") (com/data-grid-header {:class "w-16"} "%")
(com/data-grid-header {:class "w-16"})]} (com/data-grid-header {:class "w-16"})]}
(fc/cursor-map #(transaction-account-row* {:value %})) (fc/cursor-map #(transaction-account-row* {:value %}))
(com/data-grid-new-row {:colspan 4 (com/data-grid-new-row {:colspan 4
:hx-get (bidi/path-for ssr-routes/only-routes :hx-get (bidi/path-for ssr-routes/only-routes
::route/bulk-code-new-account) ::route/bulk-code-new-account)
:row-offset 0 :row-offset 0
@@ -357,10 +357,10 @@
{:errors (fc/field-errors)} {:errors (fc/field-errors)}
(com/data-grid {:headers [(com/data-grid-header {} "Account") (com/data-grid {:headers [(com/data-grid-header {} "Account")
(com/data-grid-header {:class "w-32"} "Location") (com/data-grid-header {:class "w-32"} "Location")
(com/data-grid-header {:class "w-16"} "%") (com/data-grid-header {:class "w-16"} "%")
(com/data-grid-header {:class "w-16"})]} (com/data-grid-header {:class "w-16"})]}
(fc/cursor-map #(transaction-account-row* {:value %})) (fc/cursor-map #(transaction-account-row* {:value %}))
(com/data-grid-new-row {:colspan 4 (com/data-grid-new-row {:colspan 4
:hx-get (bidi/path-for ssr-routes/only-routes :hx-get (bidi/path-for ssr-routes/only-routes
::route/bulk-code-new-account) ::route/bulk-code-new-account)
:row-offset 0 :row-offset 0