fixing vendors
This commit is contained in:
@@ -12,7 +12,7 @@
|
|||||||
[clj-time.core :as time]
|
[clj-time.core :as time]
|
||||||
[clj-time.coerce :as coerce]))
|
[clj-time.coerce :as coerce]))
|
||||||
|
|
||||||
(def uri "datomic:sql://invoices?jdbc:postgresql://database:5432/datomic?user=datomic&password=datomic")
|
(def uri "datomic:sql://invoices-backup?jdbc:postgresql://database:5432/datomic?user=datomic&password=datomic")
|
||||||
|
|
||||||
(defn create-database []
|
(defn create-database []
|
||||||
(d/create-database uri))
|
(d/create-database uri))
|
||||||
|
|||||||
@@ -120,8 +120,9 @@
|
|||||||
:requires [:auto-ap/add-account-to-vendor]}
|
:requires [:auto-ap/add-account-to-vendor]}
|
||||||
:auto-ap/add-credit-bank-account {:txes add-general-ledger/add-credit-bank-account
|
:auto-ap/add-credit-bank-account {:txes add-general-ledger/add-credit-bank-account
|
||||||
:requires [:auto-ap/add-location-to-transaction]}
|
:requires [:auto-ap/add-location-to-transaction]}
|
||||||
|
:auto-ap/add-hidden-to-vendor {:txes-fn `add-general-ledger/add-hidden-to-vendor :requires [:auto-ap/add-credit-bank-account]}
|
||||||
:auto-ap/convert-vendors {:txes-fn `add-general-ledger/convert-vendors
|
:auto-ap/convert-vendors {:txes-fn `add-general-ledger/convert-vendors
|
||||||
:requires [:auto-ap/add-location-to-transaction]}
|
:requires [:auto-ap/add-hidden-to-vendor]}
|
||||||
:auto-ap/convert-invoices {:txes-fn `add-general-ledger/convert-invoices
|
:auto-ap/convert-invoices {:txes-fn `add-general-ledger/convert-invoices
|
||||||
:requires [:auto-ap/convert-vendors]}
|
:requires [:auto-ap/convert-vendors]}
|
||||||
|
|
||||||
@@ -129,6 +130,8 @@
|
|||||||
:auto-ap/add-external-id-to-ledger {:txes add-general-ledger/add-external-id-to-ledger :requires [:auto-ap/add-yodlee-merchant2]}
|
:auto-ap/add-external-id-to-ledger {:txes add-general-ledger/add-external-id-to-ledger :requires [:auto-ap/add-yodlee-merchant2]}
|
||||||
:auto-ap/add-exclude-to-transaction {:txes add-general-ledger/add-exclude-to-transaction :requires [:auto-ap/add-external-id-to-ledger]}
|
:auto-ap/add-exclude-to-transaction {:txes add-general-ledger/add-exclude-to-transaction :requires [:auto-ap/add-external-id-to-ledger]}
|
||||||
:auto-ap/convert-transactions {:txes-fn `add-general-ledger/convert-transactions :requires [:auto-ap/add-external-id-to-ledger]}
|
:auto-ap/convert-transactions {:txes-fn `add-general-ledger/convert-transactions :requires [:auto-ap/add-external-id-to-ledger]}
|
||||||
|
|
||||||
|
|
||||||
#_#_:auto-ap/bulk-load-invoice-ledger3 {:txes-fn `add-general-ledger/bulk-load-invoice-ledger :requires [:auto-ap/convert-transactions]}
|
#_#_:auto-ap/bulk-load-invoice-ledger3 {:txes-fn `add-general-ledger/bulk-load-invoice-ledger :requires [:auto-ap/convert-transactions]}
|
||||||
#_#_:auto-ap/bulk-load-transaction-ledger3 {:txes-fn `add-general-ledger/bulk-load-transaction-ledger :requires [:auto-ap/convert-transactions]}
|
#_#_:auto-ap/bulk-load-transaction-ledger3 {:txes-fn `add-general-ledger/bulk-load-transaction-ledger :requires [:auto-ap/convert-transactions]}
|
||||||
|
|
||||||
|
|||||||
@@ -308,6 +308,21 @@
|
|||||||
(def add-credit-bank-account
|
(def add-credit-bank-account
|
||||||
[[{:db/ident :bank-account-type/credit}]])
|
[[{:db/ident :bank-account-type/credit}]])
|
||||||
|
|
||||||
|
(defn add-hidden-to-vendor [conn]
|
||||||
|
[[{:db/ident :vendor/hidden
|
||||||
|
:db/valueType :db.type/boolean
|
||||||
|
:db/cardinality :db.cardinality/one
|
||||||
|
:db/doc "Whether or not to exclude the vendor"}]
|
||||||
|
(let [vendors (d/query {:query {:find '[?v]
|
||||||
|
:in '[$]
|
||||||
|
:where ['[?v :vendor/name]]}
|
||||||
|
:args [(d/db conn)]})]
|
||||||
|
(mapv
|
||||||
|
(fn [[v ]]
|
||||||
|
{:db/id v
|
||||||
|
:vendor/hidden false})
|
||||||
|
vendors))])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(defn reset-ledger [conn]
|
(defn reset-ledger [conn]
|
||||||
|
|||||||
@@ -90,6 +90,7 @@
|
|||||||
{:fields {:id {:type :id}
|
{:fields {:id {:type :id}
|
||||||
:name {:type 'String}
|
:name {:type 'String}
|
||||||
:code {:type 'String}
|
:code {:type 'String}
|
||||||
|
:hidden {:type 'Boolean}
|
||||||
|
|
||||||
:print_as {:type 'String}
|
:print_as {:type 'String}
|
||||||
:primary_contact {:type :contact}
|
:primary_contact {:type :contact}
|
||||||
@@ -429,6 +430,7 @@
|
|||||||
:name {:type 'String}
|
:name {:type 'String}
|
||||||
:code {:type 'String}
|
:code {:type 'String}
|
||||||
|
|
||||||
|
:hidden {:type 'Boolean}
|
||||||
:print_as {:type 'String}
|
:print_as {:type 'String}
|
||||||
:primary_contact {:type :add_contact}
|
:primary_contact {:type :add_contact}
|
||||||
:secondary_contact {:type :add_contact}
|
:secondary_contact {:type :add_contact}
|
||||||
|
|||||||
@@ -8,13 +8,14 @@
|
|||||||
[clojure.set :as set]))
|
[clojure.set :as set]))
|
||||||
|
|
||||||
|
|
||||||
(defn upsert-vendor [context {{:keys [id name code print_as primary_contact secondary_contact address default_account_id invoice_reminder_schedule] :as in} :vendor} value]
|
(defn upsert-vendor [context {{:keys [id name hidden code print_as primary_contact secondary_contact address default_account_id invoice_reminder_schedule] :as in} :vendor} value]
|
||||||
(let [_ (println default_account_id)
|
(let [_ (println default_account_id)
|
||||||
transaction [(remove-nils #:vendor {:db/id (if id
|
transaction [(remove-nils #:vendor {:db/id (if id
|
||||||
id
|
id
|
||||||
"vendor")
|
"vendor")
|
||||||
:name name
|
:name name
|
||||||
:code code
|
:code code
|
||||||
|
:hidden hidden
|
||||||
:print-as print_as
|
:print-as print_as
|
||||||
:default-account default_account_id
|
:default-account default_account_id
|
||||||
:invoice-reminder-schedule (keyword invoice_reminder_schedule)
|
:invoice-reminder-schedule (keyword invoice_reminder_schedule)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
#(not (str/blank? %))))
|
#(not (str/blank? %))))
|
||||||
|
|
||||||
(s/def ::name ::required-identifier)
|
(s/def ::name ::required-identifier)
|
||||||
|
(s/def ::hidden boolean?)
|
||||||
(s/def ::print-as (s/nilable string?))
|
(s/def ::print-as (s/nilable string?))
|
||||||
|
|
||||||
(s/def ::invoice-reminder-schedule (s/nilable #{"Weekly" "Never" nil}))
|
(s/def ::invoice-reminder-schedule (s/nilable #{"Weekly" "Never" nil}))
|
||||||
@@ -21,7 +22,8 @@
|
|||||||
(s/def ::code (s/nilable string?))
|
(s/def ::code (s/nilable string?))
|
||||||
|
|
||||||
(s/def ::vendor (s/keys :req-un [::name
|
(s/def ::vendor (s/keys :req-un [::name
|
||||||
::default-account-id]
|
::default-account-id
|
||||||
|
::hidden]
|
||||||
:opt-un [::code
|
:opt-un [::code
|
||||||
::id
|
::id
|
||||||
::print-as
|
::print-as
|
||||||
|
|||||||
@@ -45,11 +45,11 @@
|
|||||||
[:id :name :code :email :locations [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id] ]
|
[:id :name :code :email :locations [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id] ]
|
||||||
[:address [:street1 :street2 :city :state :zip]]]]
|
[:address [:street1 :street2 :city :state :zip]]]]
|
||||||
[:vendor
|
[:vendor
|
||||||
[:id :name [:default-account [:name :id :location]] [:primary-contact [:name :phone :email :id]] [:secondary-contact [:id :name :phone :email]] :print-as :invoice-reminder-schedule :code]]
|
[:id :name :hidden [:default-account [:name :id :location]] [:primary-contact [:name :phone :email :id]] [:secondary-contact [:id :name :phone :email]] :print-as :invoice-reminder-schedule :code]]
|
||||||
[:accounts [:numeric-code :location :name :type :account_set :id]]]}
|
[:accounts [:numeric-code :location :name :type :account_set :id]]]}
|
||||||
:on-success [::received-initial]}}))))
|
:on-success [::received-initial]}}))))
|
||||||
(def vendor-query
|
(def vendor-query
|
||||||
[:id :name [:default-account [:name :id :location]]
|
[:id :name :hidden [:default-account [:name :id :location]]
|
||||||
[:primary-contact [:name :phone :email :id]]
|
[:primary-contact [:name :phone :email :id]]
|
||||||
[:secondary-contact [:id :name :phone :email]]
|
[:secondary-contact [:id :name :phone :email]]
|
||||||
:print-as :invoice-reminder-schedule :code
|
:print-as :invoice-reminder-schedule :code
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
:query-obj {:venia/queries [[:client
|
:query-obj {:venia/queries [[:client
|
||||||
[:id :name :code [:address [:street1 :street2 :city :state :zip]] [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id] ]]]
|
[:id :name :code [:address [:street1 :street2 :city :state :zip]] [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id] ]]]
|
||||||
[:vendor
|
[:vendor
|
||||||
[:id :name [:default-account [:name :id :location]] [:primary-contact [:name :phone :email :id]] [:secondary-contact [:id :name :phone :email]] :print-as :invoice-reminder-schedule :code]]
|
[:id :name :hidden [:default-account [:name :id :location]] [:primary-contact [:name :phone :email :id]] [:secondary-contact [:id :name :phone :email]] :print-as :invoice-reminder-schedule :code]]
|
||||||
[:accounts [:numeric-code :name :location :type :account_set :id]]]}
|
[:accounts [:numeric-code :name :location :type :account_set :id]]]}
|
||||||
|
|
||||||
:on-success [::received-initial]}
|
:on-success [::received-initial]}
|
||||||
@@ -221,6 +221,14 @@
|
|||||||
vendor-query]}]}
|
vendor-query]}]}
|
||||||
:on-success [::save-complete]
|
:on-success [::save-complete]
|
||||||
:on-error [::save-error]}))))
|
:on-error [::save-error]}))))
|
||||||
|
|
||||||
|
(re-frame/reg-event-db
|
||||||
|
::save-error
|
||||||
|
(fn [db [_ vendor]]
|
||||||
|
(-> db
|
||||||
|
(assoc-in [:modal-state :auto-ap.views.main/user-editing-vendor :error] true)
|
||||||
|
(assoc-in [:modal-state :auto-ap.views.main/user-editing-vendor :saving?] false))))
|
||||||
|
|
||||||
(re-frame/reg-event-fx
|
(re-frame/reg-event-fx
|
||||||
::save-complete
|
::save-complete
|
||||||
(fn [{:keys [db]} [_ vendor]]
|
(fn [{:keys [db]} [_ vendor]]
|
||||||
|
|||||||
@@ -81,6 +81,7 @@
|
|||||||
(re-frame/reg-event-db
|
(re-frame/reg-event-db
|
||||||
::save-error
|
::save-error
|
||||||
(fn [db [_ vendor]]
|
(fn [db [_ vendor]]
|
||||||
|
(println "ERROR?")
|
||||||
(-> db
|
(-> db
|
||||||
(assoc-in [:admin :vendor :error] true)
|
(assoc-in [:admin :vendor :error] true)
|
||||||
(assoc-in [:admin :vendor :saving?] false))))
|
(assoc-in [:admin :vendor :saving?] false))))
|
||||||
|
|||||||
@@ -98,7 +98,7 @@
|
|||||||
(re-frame/reg-sub
|
(re-frame/reg-sub
|
||||||
::vendors
|
::vendors
|
||||||
(fn [db]
|
(fn [db]
|
||||||
(vals (:vendors db))))
|
(filter #(not (:hidden %)) (vals (:vendors db)))))
|
||||||
|
|
||||||
(re-frame/reg-sub
|
(re-frame/reg-sub
|
||||||
::vendors-by-id
|
::vendors-by-id
|
||||||
@@ -128,7 +128,11 @@
|
|||||||
(re-frame/reg-sub
|
(re-frame/reg-sub
|
||||||
::user-editing-vendor
|
::user-editing-vendor
|
||||||
(fn [db]
|
(fn [db]
|
||||||
(-> db :user-editing-vendor)))
|
(update (-> db :user-editing-vendor)
|
||||||
|
:hidden
|
||||||
|
#(if (nil? %)
|
||||||
|
false
|
||||||
|
%))))
|
||||||
|
|
||||||
(re-frame/reg-sub
|
(re-frame/reg-sub
|
||||||
::user
|
::user
|
||||||
|
|||||||
@@ -45,6 +45,17 @@
|
|||||||
:spec ::entity/print-as
|
:spec ::entity/print-as
|
||||||
:event change-event
|
:event change-event
|
||||||
:subscription vendor}]]]]
|
:subscription vendor}]]]]
|
||||||
|
|
||||||
|
[horizontal-field
|
||||||
|
[:label.label "Hidden"]
|
||||||
|
[:div.control
|
||||||
|
[bind-field
|
||||||
|
[:input {:type "checkbox"
|
||||||
|
:field :hidden
|
||||||
|
:spec ::entity/hidden
|
||||||
|
:event change-event
|
||||||
|
:subscription vendor}]]]]
|
||||||
|
|
||||||
[:h2.subtitle "Expense Accounts"]
|
[:h2.subtitle "Expense Accounts"]
|
||||||
[horizontal-field
|
[horizontal-field
|
||||||
[:label.label "Default"]
|
[:label.label "Default"]
|
||||||
|
|||||||
Reference in New Issue
Block a user