Add vendor pre-population for bulk code and individual edit forms

- Add vendor-changed HTMX handlers for both bulk code and individual edit
- Pre-populate default account at 100% when vendor is selected and no accounts exist
- Fix render-accounts-section to render from step-params correctly
- Change bulk code vendor-changed from hx-get to hx-post to include form data
- Add routes for vendor-changed endpoints
- Update e2e tests to cover vendor pre-population
- Run lein cljfmt fix across codebase
This commit is contained in:
2026-05-21 14:45:19 -07:00
parent 8bd0cee1b1
commit ba87805d4c
210 changed files with 8694 additions and 9627 deletions

View File

@@ -53,59 +53,59 @@
(defn seed-test-data [conn]
(let [tx-result @(dc/transact conn
[(assoc (test-client :db/id "client-id"
:client/code "TEST"
:client/locations ["DT"])
:client/bank-accounts [(test-bank-account :db/id "bank-account-id")])
{:db/id "account-id"
:account/name "Test Account"
:account/type :account-type/expense
:account/numeric-code 50000
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "account-id-2"
:account/name "Second Account"
:account/type :account-type/expense
:account/numeric-code 50001
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "account-id-fixed-loc"
:account/name "Fixed Location Account"
:account/type :account-type/expense
:account/numeric-code 50002
:account/applicability :account-applicability/global
:account/location "DT"
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "ap-account-id"
:account/name "Accounts Payable"
:db/ident :account/accounts-payable
:account/numeric-code 21000
:account/account-set "default"
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "vendor-id"
:vendor/name "Test Vendor"
:vendor/default-account "account-id"}
(test-transaction :db/id "transaction-id"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 100.0
:transaction/description-original "Test transaction"
:transaction/approval-status :transaction-approval-status/unapproved)
(test-transaction :db/id "transaction-id-2"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 200.0
:transaction/description-original "Second transaction"
:transaction/approval-status :transaction-approval-status/unapproved)
(test-transaction :db/id "transaction-id-3"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 300.0
:transaction/description-original "Third transaction"
:transaction/approval-status :transaction-approval-status/unapproved)])
tempids (:tempids tx-result)
tx-entity-id (get tempids "transaction-id")]
[(assoc (test-client :db/id "client-id"
:client/code "TEST"
:client/locations ["DT"])
:client/bank-accounts [(test-bank-account :db/id "bank-account-id")])
{:db/id "account-id"
:account/name "Test Account"
:account/type :account-type/expense
:account/numeric-code 50000
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "account-id-2"
:account/name "Second Account"
:account/type :account-type/expense
:account/numeric-code 50001
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "account-id-fixed-loc"
:account/name "Fixed Location Account"
:account/type :account-type/expense
:account/numeric-code 50002
:account/applicability :account-applicability/global
:account/location "DT"
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "ap-account-id"
:account/name "Accounts Payable"
:db/ident :account/accounts-payable
:account/numeric-code 21000
:account/account-set "default"
:account/applicability :account-applicability/global
:account/default-allowance {:db/ident :allowance/allowed}}
{:db/id "vendor-id"
:vendor/name "Test Vendor"
:vendor/default-account "account-id"}
(test-transaction :db/id "transaction-id"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 100.0
:transaction/description-original "Test transaction"
:transaction/approval-status :transaction-approval-status/unapproved)
(test-transaction :db/id "transaction-id-2"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 200.0
:transaction/description-original "Second transaction"
:transaction/approval-status :transaction-approval-status/unapproved)
(test-transaction :db/id "transaction-id-3"
:transaction/client "client-id"
:transaction/bank-account "bank-account-id"
:transaction/amount 300.0
:transaction/description-original "Third transaction"
:transaction/approval-status :transaction-approval-status/unapproved)])
tempids (:tempids tx-result)
tx-entity-id (get tempids "transaction-id")]
(println "Test transaction entity ID:" tx-entity-id)
(reset! test-account-ids
{:test-account (get tempids "account-id")