makes plaid really usable, allowing choosing on bank screen, and searchable on vendors page.

This commit is contained in:
Bryce
2023-07-22 21:33:06 -07:00
parent ff2d64fee5
commit dfd1af77c4
15 changed files with 101 additions and 21 deletions

View File

@@ -78,7 +78,7 @@
(re-frame/reg-event-fx
::save
[with-user with-is-admin? (forms/triggers-loading ::vendor-form) (forms/in-form ::vendor-form)]
(fn [{:keys [user is-admin?] {{:keys [name hidden print-as terms invoice-reminder-schedule primary-contact automatically-paid-when-due schedule-payment-dom secondary-contact address default-account terms-overrides account-overrides id legal-entity-name legal-entity-tin legal-entity-tin-type legal-entity-first-name legal-entity-last-name legal-entity-middle-name legal-entity-1099-type] :as data} :data} :db} _]
(fn [{:keys [user is-admin?] {{:keys [name hidden print-as terms invoice-reminder-schedule plaid-merchant primary-contact automatically-paid-when-due schedule-payment-dom secondary-contact address default-account terms-overrides account-overrides id legal-entity-name legal-entity-tin legal-entity-tin-type legal-entity-first-name legal-entity-last-name legal-entity-middle-name legal-entity-1099-type] :as data} :data} :db} _]
(if (m/validate schema data)
(let [query [:upsert-vendor
{:vendor (cond-> {:id id
@@ -114,6 +114,7 @@
:automatically-paid-when-due (mapv
(comp :id :client)
automatically-paid-when-due)
:plaid-merchant (:id plaid-merchant)
:legal-entity-name legal-entity-name
:legal-entity-first-name legal-entity-first-name
:legal-entity-middle-name legal-entity-middle-name
@@ -179,8 +180,18 @@
"Print Checks As"
[:input.input]]
(when is-admin?
[form-builder/raw-field-v2 {:field :hidden}
[com/checkbox {:label "Hidden"}]])
[:<>
[form-builder/raw-field-v2 {:field :hidden}
[com/checkbox {:label "Hidden"}]]
[form-builder/field-v2 {:field :plaid-merchant
:required? false}
"Plaid merchant"
[search-backed-typeahead {:search-query (fn [i]
[:search_plaid_merchants
{:query i}
[:name :id]])
:style {:width "19em"}}]]])
[form-builder/section {:title "Terms"}
[form-builder/field-v2 {:field :terms}