very easy to lookup customized accounts.

This commit is contained in:
2022-04-10 21:46:58 -07:00
parent 53de49d758
commit b4d5b7fde6
5 changed files with 87 additions and 57 deletions

View File

@@ -1,22 +1,19 @@
(ns auto-ap.views.pages.admin.rules.form
(:require [auto-ap.entities.transaction-rule :as entity]
[auto-ap.events :as events]
[auto-ap.forms :as forms]
[auto-ap.subs :as subs]
[auto-ap.views.components.button-radio :refer [button-radio]]
[auto-ap.utils :refer [dollars=]]
[auto-ap.views.components.dropdown :refer [drop-down]]
[auto-ap.views.components.expense-accounts-field :as expense-accounts-field :refer [expense-accounts-field recalculate-amounts]]
[auto-ap.views.components.expense-accounts-field :as expense-accounts-field :refer [expense-accounts-field]]
[auto-ap.views.components.layouts :as layouts]
[auto-ap.views.components.typeahead :refer [typeahead-v3]]
[auto-ap.views.pages.admin.rules.common :refer [default-read]]
[auto-ap.views.pages.admin.rules.results-modal :as results-modal]
[auto-ap.views.utils :refer [date->str date-picker dispatch-event standard with-user]]
[cljs-time.core :as c]
[auto-ap.views.utils :refer [dispatch-event with-user]]
[clojure.spec.alpha :as s]
[clojure.string :as str]
[re-frame.core :as re-frame]
[auto-ap.status :as status]))
[auto-ap.status :as status]
[vimsical.re-frame.cofx.inject :as inject]))
;; SUBS
@@ -45,7 +42,7 @@
(re-frame/reg-sub
::can-submit
:<- [::forms/form ::form]
(fn [{:keys [data status]} _]
(fn [{:keys [data]} _]
(s/valid? ::entity/transaction-rule data)))
(re-frame/reg-sub
@@ -188,23 +185,23 @@
(re-frame/reg-event-fx
::saving
[with-user (forms/triggers-loading ::form) (forms/in-form ::form)]
(fn [{:keys [user] {:keys [data]} :db} [_ params]]
[with-user (forms/triggers-loading ::form) (forms/in-form ::form) (re-frame/inject-cofx ::inject/sub [::query])]
(fn [{:keys [user] ::keys [query]} _]
{:graphql
{:token user
:query-obj @(re-frame/subscribe [::query])
:query-obj query
:on-success (fn [result]
[::updated (:upsert-transaction-rule result)])
:on-error [::forms/save-error ::form]}}))
(re-frame/reg-event-fx
::test-clicked
[with-user (forms/triggers-loading ::form) (forms/in-form ::form)]
(fn [{:keys [user] {:keys [data]} :db} [_ params]]
[with-user (forms/triggers-loading ::form) (forms/in-form ::form) (re-frame/inject-cofx ::inject/sub [::test-query])]
(fn [{:keys [user] ::keys [test-query]} _]
{:graphql
{:token user
:owns-state {:single ::test}
:query-obj @(re-frame/subscribe [::test-query])
:query-obj test-query
:on-success [::succeeded-test]
:on-error [::forms/save-error ::form]}}))
@@ -218,7 +215,7 @@
(re-frame/reg-event-fx
::succeeded-test
[(forms/triggers-stop-loading ::form)]
(fn [{:keys [db]} [_ result]]
(fn [_ [_ result]]
{:dispatch [::results-modal/opening (:test-transaction-rule result) nil false]}))
@@ -233,13 +230,12 @@
(defn form [{:keys [can-change-amount?] :as params}]
(defn form [params]
[layouts/side-bar {:on-close (dispatch-event [::forms/form-closing ::form ])}
(let [{:keys [data active? error id]} @(re-frame/subscribe [::forms/form ::form])
(let [{:keys [data id]} @(re-frame/subscribe [::forms/form ::form])
{:keys [form-inline field raw-field error-notification submit-button ]} rule-form
default-note @(re-frame/subscribe [::default-note])
test-state @(re-frame/subscribe [::status/single ::test])
exists? (:id data)]
test-state @(re-frame/subscribe [::status/single ::test])]
^{:key id}
(form-inline (assoc params :title "New Transaction Rule")
[:<>
@@ -315,8 +311,6 @@
:precision 0
:step "1"}])]]]]
[:h2.title.is-4 "Outcomes"]
(field "Assign Vendor"