lots of new features.
This commit is contained in:
BIN
resources/sushi-confidential.jpg
Normal file
BIN
resources/sushi-confidential.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
@@ -96,6 +96,13 @@
|
||||
{:bank-account/type [*]}]}]}]
|
||||
ids)
|
||||
(map #(update % :journal-entry/date c/from-date))
|
||||
(filter (fn [je]
|
||||
(every?
|
||||
(fn [jel]
|
||||
(let [include-in-reports (-> jel :journal-entry-line/account :bank-account/include-in-reports)]
|
||||
(or (nil? include-in-reports)
|
||||
(true? include-in-reports))))
|
||||
(:journal-entry/line-items je))))
|
||||
(group-by :db/id))]
|
||||
(->> ids
|
||||
(map results)
|
||||
|
||||
@@ -71,6 +71,21 @@
|
||||
(seq vs) (conj {:db/id e
|
||||
a vs})))})}]])
|
||||
|
||||
(defn add-include-in-reports [conn]
|
||||
(let [existing-accounts (->> (d/query {:query {:find ['?e]
|
||||
:in ['$]
|
||||
:where ['[?e :bank-account/name]]}
|
||||
:args [(d/db conn)]})
|
||||
|
||||
(transduce
|
||||
(comp
|
||||
(map first)
|
||||
(map (fn [bank-account]
|
||||
{:db/id bank-account :bank-account/include-in-reports true})))
|
||||
conj
|
||||
[]))]
|
||||
[existing-accounts]))
|
||||
|
||||
(defn -main [& args]
|
||||
(println "Creating database ..." uri)
|
||||
(doto (d/create-database uri) println)
|
||||
@@ -257,7 +272,13 @@
|
||||
:db/doc "An identifier for this forcasted transaction, e.g., 'RENT'"
|
||||
:db/valueType :db.type/string
|
||||
:db/cardinality :db.cardinality/one}]]}
|
||||
:auto-ap/add-manager-schema {:txes [[{:db/ident :user-role/manager}]]}}
|
||||
:auto-ap/add-manager-schema {:txes [[{:db/ident :user-role/manager}]]}
|
||||
:auto-ap/add-include-in-reports1 {:txes [[{:db/ident :bank-account/include-in-reports
|
||||
:db/doc "Whether to include this bank account in balance sheet, etc."
|
||||
:db/valueType :db.type/boolean
|
||||
:db/cardinality :db.cardinality/one}]]
|
||||
:depends-on [:auto-ap/add-manager-schema]}
|
||||
:auto-ap/migrate-include-in-reports {:txes-fn `add-include-in-reports :depends-on [:auto-ap/add-include-in-reports1] }}
|
||||
]
|
||||
(println "Conforming database...")
|
||||
(c/ensure-conforms conn norms-map)
|
||||
|
||||
@@ -85,6 +85,7 @@
|
||||
:number {:type 'String}
|
||||
:sort_order {:type 'Int}
|
||||
:visible {:type 'Boolean}
|
||||
:include_in_reports {:type 'Boolean}
|
||||
:routing {:type 'String}
|
||||
:code {:type 'String}
|
||||
:check_number {:type 'Int}
|
||||
@@ -531,6 +532,7 @@
|
||||
:number {:type 'String}
|
||||
:check_number {:type 'Int}
|
||||
:visible {:type 'Boolean}
|
||||
:include_in_reports {:type 'Boolean}
|
||||
:sort_order {:type 'Int}
|
||||
:name {:type 'String}
|
||||
:bank_code {:type 'String}
|
||||
|
||||
@@ -51,6 +51,7 @@
|
||||
:bank-account/bank-name (:bank_name %)
|
||||
:bank-account/bank-code (:bank_code %)
|
||||
:bank-account/routing (:routing %)
|
||||
:bank-account/include-in-reports (:include_in_reports %)
|
||||
|
||||
:bank-account/name (:name %)
|
||||
:bank-account/visible (:visible %)
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
:id (str (:db/id account) "-" location)
|
||||
:numeric-code (or (:account/numeric-code account)
|
||||
(and (#{:bank-account-type/check} (:db/ident (:bank-account/type account)))
|
||||
1100)
|
||||
11100)
|
||||
(and (#{:bank-account-type/credit} (:db/ident (:bank-account/type account)))
|
||||
2800))
|
||||
28000))
|
||||
:account-type (or (:db/ident (:account/type account))
|
||||
({:bank-account-type/check :asset
|
||||
:bank-account-type/credit :liability}
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
(->> (g-tr/run-transaction-rule context {:transaction_rule_id transaction_rule_id
|
||||
:count Integer/MAX_VALUE} nil)
|
||||
|
||||
(filter #(not (:transaction/payment %)))
|
||||
(filter #(not (:payment %)))
|
||||
(map :id ))
|
||||
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
:graphql {:token token
|
||||
:query-obj {:venia/queries [[:client
|
||||
|
||||
[:id :name :code :email :matches :locations [:location-matches [:location :match]] [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id :locations] ]
|
||||
[:id :name :code :email :matches :locations [:location-matches [:location :match]] [:bank-accounts [:id :code :number :bank-name :bank-code :check-number :name :routing :type :sort-order :visible :yodlee-account-id :locations :include-in-reports] ]
|
||||
[:address [:street1 :street2 :city :state :zip]]]]
|
||||
[:vendor
|
||||
[: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
|
||||
@@ -71,7 +71,7 @@
|
||||
(fn [{:keys [db]} [_ token user]]
|
||||
{:graphql {:token token
|
||||
:query-obj {:venia/queries [[:client
|
||||
[:id :name :code :matches :locations [:location-matches [:location :match]] [: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 :locations] ]]]
|
||||
[:id :name :code :matches :locations [:location-matches [:location :match]] [: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 :locations :include-in-reports] ]]]
|
||||
[:vendor
|
||||
[: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 :applicability :id [:client-overrides [:name [:client [:name :id]]]]]]]}
|
||||
|
||||
@@ -75,10 +75,9 @@
|
||||
[:a.navbar-item {:class [(active-when ap = :payments)]
|
||||
:href (bidi/path-for routes/routes :payments)}
|
||||
"Payments" ]
|
||||
(when (not= "manager" (:user/role @user))
|
||||
[:a.navbar-item {:class [(active-when ap = :transactions)]
|
||||
:href (bidi/path-for routes/routes :transactions)}
|
||||
"Transactions" ])
|
||||
[:a.navbar-item {:class [(active-when ap = :transactions)]
|
||||
:href (bidi/path-for routes/routes :transactions)}
|
||||
"Transactions" ]
|
||||
|
||||
(when (not= "manager" (:user/role @user))
|
||||
[:a.navbar-item {:class [(active-when ap = :ledger)]
|
||||
|
||||
@@ -50,10 +50,11 @@
|
||||
:city (:city (:address new-client-data))
|
||||
:state (:state (:address new-client-data))
|
||||
:zip (:zip (:address new-client-data))}
|
||||
:bank-accounts (map (fn [{:keys [number name check-number type id code bank-name routing bank-code new? sort-order visible yodlee-account-id locations]}]
|
||||
:bank-accounts (map (fn [{:keys [number name check-number include-in-reports type id code bank-name routing bank-code new? sort-order visible yodlee-account-id locations]}]
|
||||
{:number number
|
||||
:name name
|
||||
:check-number check-number
|
||||
:include-in-reports include-in-reports
|
||||
:type type
|
||||
:id id
|
||||
:sort-order sort-order
|
||||
@@ -415,7 +416,16 @@
|
||||
[:ul
|
||||
(for [location locations]
|
||||
^{:key location} [:li location ])]
|
||||
[:i "This account applies to all locations"])]])
|
||||
[:i "This account applies to all locations"])]
|
||||
[:div.field
|
||||
[:label.checkbox
|
||||
[bind-field
|
||||
[:input {:type "checkbox"
|
||||
:field [:bank-accounts sort-order :include-in-reports]
|
||||
:event change-event
|
||||
:subscription new-client}]]
|
||||
" Include in reports"]
|
||||
]])
|
||||
|
||||
(when active?
|
||||
[:footer.card-footer
|
||||
|
||||
@@ -162,15 +162,13 @@
|
||||
params @(re-frame/subscribe [::params]) ;; Keep to make sure it doens'nt get disposed
|
||||
ap @(re-frame/subscribe [::subs/active-page])
|
||||
user (re-frame/subscribe [::subs/user])]
|
||||
(if (not= "manager" (:user/role @user))
|
||||
[side-bar-layout
|
||||
{:side-bar [side-bar/side-bar]
|
||||
:main [:div ^{:key approval-status}
|
||||
[content]]
|
||||
:bottom [:div
|
||||
[manual/modal {:import-completed [::manual-import-completed ]}]]
|
||||
:right-side-bar [appearing-side-bar
|
||||
{:visible? transaction-bar-active?}
|
||||
[edit/form {:edit-completed [::edit-completed]}]]}]
|
||||
[:div "Not authorized"])))}))
|
||||
[side-bar-layout
|
||||
{:side-bar [side-bar/side-bar]
|
||||
:main [:div ^{:key approval-status}
|
||||
[content]]
|
||||
:bottom [:div
|
||||
[manual/modal {:import-completed [::manual-import-completed ]}]]
|
||||
:right-side-bar [appearing-side-bar
|
||||
{:visible? transaction-bar-active?}
|
||||
[edit/form {:edit-completed [::edit-completed]}]]}]))}))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user