fixes a couple loading issues, starts on report rendering.

This commit is contained in:
2024-10-11 00:19:29 -07:00
parent 0fe2d2a84b
commit 046b70d593
9 changed files with 192 additions and 80 deletions

View File

@@ -6,7 +6,6 @@
observable-query pull-many remove-nils]]
[auto-ap.datomic.accounts :as d-accounts]
[auto-ap.datomic.accounts :as a]
[auto-ap.graphql.checks :as gq-checks]
[auto-ap.graphql.utils :refer [assert-admin assert-can-see-client
exception->notification
extract-client-ids notify-if-locked]]
@@ -24,17 +23,17 @@
[auto-ap.ssr.form-cursor :as fc]
[auto-ap.ssr.grid-page-helper :as helper :refer [wrap-apply-sort]]
[auto-ap.ssr.hx :as hx]
[auto-ap.ssr.ledger.balance-sheet :as balance-sheet]
[auto-ap.ssr.nested-form-params :refer [wrap-nested-form-params]]
[auto-ap.ssr.pos.common :refer [date-range-field*]]
[auto-ap.ssr.svg :as svg]
[auto-ap.ssr.ui :refer [base-page]]
[auto-ap.ssr.utils
:refer [apply-middleware-to-all-handlers clj-date-schema
dissoc-nil-transformer entity-id html-response
main-transformer modal-response money ref->enum-schema
strip wrap-form-4xx-2 wrap-implied-route-param
wrap-merge-prior-hx wrap-schema-decode
wrap-schema-enforce]]
entity-id html-response main-transformer money
ref->enum-schema strip wrap-form-4xx-2
wrap-implied-route-param wrap-merge-prior-hx
wrap-schema-decode wrap-schema-enforce]]
[auto-ap.time :as atime]
[auto-ap.utils :refer [dollars-0? dollars=]]
[bidi.bidi :as bidi]
@@ -49,7 +48,6 @@
[hiccup2.core :as hiccup]
[iol-ion.utils :refer [by random-tempid]]
[malli.core :as mc]
[malli.transform :as mt]
[slingshot.slingshot :refer [throw+]]))
@@ -306,6 +304,7 @@
:journal-entry/client [:client/name :client/code :db/id]
:journal-entry/line-items [:journal-entry-line/debit
:journal-entry-line/location
:journal-entry-line/running-balance
:journal-entry-line/credit
{:journal-entry-line/account [:account/name :db/id :account/numeric-code
:bank-account/name :bank-account/numeric-code
@@ -417,13 +416,17 @@
(:bank-account/name (:journal-entry-line/account jel)))]]
(list
(if account-name
[:div.text-left
(:journal-entry-line/location jel) ": "
(or (:account/numeric-code account) (:bank-account/numeric-code account))
" - " account-name]
[:div.text-left (com/pill {:color :yellow} "Unassigned")])
[:div.text-right (format "$%,.2f" (key jel))]))
(if account-name
[:div {:x-data "popper()" }
[:div.text-left.underline.cursor-pointer {:x-ref "source"}
(:journal-entry-line/location jel) ": "
(or (:account/numeric-code account) (:bank-account/numeric-code account))
" - " account-name]
(com/tooltip {:x-bind "tooltip" :class "absolute"}
"Running Balance: " (some->> (:journal-entry-line/running-balance jel)
(format "$%,.2f")))]
[:div.text-left (com/pill {:color :yellow} "Unassigned")])
[:div.text-right.text-underline (format "$%,.2f" (key jel))]))
(when-not (= 1 (count lines))
[:div.col-span-2 (com/pill {:color :primary} "Total: " (->> lines
@@ -703,12 +706,11 @@
[:div.p-2
(cond (seq (fc/field-errors))
[:div
{ :x-popper (hx/json {:source "$refs.button"
:tooltip "$refs.tooltip"})}
{ :x-data "popper()"}
[:div.w-8.h-8.bg-red-50.rounded-full.p-2.text-red-300.flex.items-start
{ :x-ref "button"}
{ :x-ref "source"}
svg/alert]
(com/tooltip {:x-ref "tooltip"}
(com/tooltip {:x-bind "tooltip"}
[:span (pr-str (fc/field-errors))])]
:else
nil)
@@ -1197,34 +1199,38 @@
:headers {"hx-trigger" (hx/json { "notification" (pr-str (import-ledger request))})}))
(def key->handler
(apply-middleware-to-all-handlers
(->
{::route/all-page (-> (helper/page-route grid-page :parse-query-params? false)
(wrap-implied-route-param :external? false))
::route/external-page (-> (helper/page-route grid-page :parse-query-params? false)
(wrap-implied-route-param :external? true))
::route/table (helper/table-route grid-page :parse-query-params? false)
::route/external-import-page external-import-page
::route/bank-account-filter bank-account-filter
::route/external-import-parse (-> external-import-parse
(wrap-schema-enforce :form-schema parse-form-schema)
(wrap-form-4xx-2 external-import-parse)
(wrap-schema-decode :form-schema parse-form-schema))
::route/external-import-import (-> external-import-import
(merge
(apply-middleware-to-all-handlers
(->
{::route/all-page (-> (helper/page-route grid-page :parse-query-params? false)
(wrap-implied-route-param :external? false))
::route/external-page (-> (helper/page-route grid-page :parse-query-params? false)
(wrap-implied-route-param :external? true))
::route/table (helper/table-route grid-page :parse-query-params? false)
::route/external-import-page external-import-page
::route/bank-account-filter bank-account-filter
::route/external-import-parse (-> external-import-parse
(wrap-schema-enforce :form-schema parse-form-schema)
(wrap-form-4xx-2 external-import-parse)
#_(wrap-schema-decode :form-schema parse-form-schema)
(wrap-nested-form-params))})
(fn [h]
(-> h
(wrap-copy-qp-pqp)
(wrap-apply-sort grid-page)
(wrap-ensure-bank-account-belongs)
(wrap-merge-prior-hx)
(wrap-external-from-route)
(wrap-schema-enforce :query-schema query-schema)
(wrap-schema-enforce :hx-schema query-schema)
(wrap-must {:activity :import :subject :ledger})
(wrap-client-redirect-unauthenticated)))))
(wrap-schema-decode :form-schema parse-form-schema))
::route/external-import-import (-> external-import-import
(wrap-schema-enforce :form-schema parse-form-schema)
(wrap-form-4xx-2 external-import-parse)
#_(wrap-schema-decode :form-schema parse-form-schema)
(wrap-nested-form-params))})
(fn [h]
(-> h
(wrap-copy-qp-pqp)
(wrap-apply-sort grid-page)
(wrap-ensure-bank-account-belongs)
(wrap-merge-prior-hx)
(wrap-external-from-route)
(wrap-schema-enforce :query-schema query-schema)
(wrap-schema-enforce :hx-schema query-schema)
(wrap-must {:activity :import :subject :ledger})
(wrap-client-redirect-unauthenticated))))
balance-sheet/key->handler))