invoices can be payed again

This commit is contained in:
Bryce Covert
2020-08-12 10:04:53 -07:00
parent 255a73dc30
commit 27a66f11f1
3 changed files with 61 additions and 42 deletions

View File

@@ -92,20 +92,11 @@
(fn [{:keys [db]} [_ invoice]]
{:db db}))
(defn row [{:keys [invoice check-boxes checked on-check-changed selected-client overrides expense-event ]}]
(defn row [{:keys [invoice check-boxes checked selected-client overrides expense-event ]}]
(let [{:keys [client payments expense-accounts invoice-number date due total outstanding-balance id vendor checkable?] :as i} invoice
accounts-by-id @(re-frame/subscribe [::subs/accounts-by-id client])
account->name #(:name (accounts-by-id (:id %)))]
[grid/row {:class (:class i)}
(when check-boxes
[grid/cell {}
[:input.checkbox (cond-> {:type "checkbox"
:checked (if (get checked id)
"checked"
"")
:on-change (fn [x e] (when on-check-changed
(on-check-changed id i)))}
(boolean? checkable?) (assoc :disabled (not checkable?))) ]])
[grid/row {:class (:class i) :id id :checkable? checkable?}
(when-not selected-client
[grid/cell {}
(if-let [client-override (:client overrides)]
@@ -184,7 +175,7 @@
[buttons/fa-icon {:icon "fa-undo"
:event [::unvoid-invoice i]}])]]]))
(defn invoice-table [{:keys [id invoice-page status vendors check-boxes checked on-check-changed expense-event overrides]}]
(defn invoice-table [{:keys [id invoice-page status vendors check-boxes on-check-changed expense-event overrides]}]
(let [selected-client @(re-frame/subscribe [::subs/client])
{:keys [sort]} @(re-frame/subscribe [::table-params])
{:keys [invoices outstanding]} invoice-page
@@ -207,14 +198,14 @@
[[] nil]
(:invoices invoice-page))
[[(:invoices invoice-page)]])]
^{:key (str @(re-frame/subscribe [::table-params]))}
[grid/grid {:on-params-change (fn [p]
(re-frame/dispatch [::params-changed p]))
:on-check-changed on-check-changed
:params @(re-frame/subscribe [::table-params])
:checked (:checked invoice-page)
:status status
;; TODO checkboxes
:column-count (if selected-client 8 9)}
:check-boxes? check-boxes
:column-count (if selected-client 7 8)}
[grid/controls invoice-page
[:div.level-item
"Outstanding " (nf outstanding)]]
@@ -223,8 +214,6 @@
[grid/table {:fullwidth true}
[grid/header {}
[grid/row {}
(when check-boxes
[grid/header-cell {:style {:width "22px"}}])
(when-not selected-client
[grid/sortable-header-cell {:sort-key "client" :sort-name "Client"} "Client"])
[grid/sortable-header-cell {:sort-key "vendor" :sort-name "Vendor"}
@@ -246,8 +235,6 @@
(for [{:keys [client payments expense-accounts invoice-number date due total outstanding-balance id vendor] :as i} invoices]
^{:key id}
[row {:invoice i
:check-boxes check-boxes
:checked checked
:selected-client selected-client
:overrides overrides
:expense-event expense-event}])]])]))