lots of fixes to sorting and adding dates on checks.
This commit is contained in:
@@ -50,20 +50,33 @@
|
||||
(map db->clj)
|
||||
(map data->fields)))
|
||||
|
||||
#_(defn add-sort-by [q sort-by asc]
|
||||
(def all-keys #{:company-id :vendor-id :id :status :date :s3-uuid :s3-key :s3-url :check-number :memo :amount :paid-to :bank-account-id})
|
||||
|
||||
(defn add-sort-by [q sort-by asc]
|
||||
(println sort-by)
|
||||
(let [sort-by-key (keyword sort-by)]
|
||||
(cond (all-keys sort-by-key)
|
||||
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
|
||||
(cond (nil? sort-by)
|
||||
(helpers/merge-order-by q [:date])
|
||||
|
||||
(= :date sort-by-key)
|
||||
(helpers/merge-order-by q [:date (when-not asc :desc)])
|
||||
|
||||
(all-keys sort-by-key)
|
||||
(helpers/merge-order-by q
|
||||
[sort-by-key (when-not asc :desc)]
|
||||
[:date])
|
||||
|
||||
(= :vendor sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :checks.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
(= :company sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :checks.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
:else
|
||||
q)))
|
||||
@@ -82,7 +95,7 @@
|
||||
(defn get-graphql [{:keys [start sort-by asc id limit] :as args :or {limit 20}}]
|
||||
(query
|
||||
(cond-> (base-graphql args)
|
||||
#_#_(not (nil? sort-by) ) (add-sort-by sort-by asc)
|
||||
true (add-sort-by sort-by asc)
|
||||
true (assoc :limit limit)
|
||||
start (assoc :offset start))))
|
||||
|
||||
|
||||
@@ -95,18 +95,28 @@
|
||||
|
||||
(defn add-sort-by [q sort-by asc]
|
||||
(let [sort-by-key (keyword sort-by)]
|
||||
(cond (all-keys sort-by-key)
|
||||
(helpers/merge-order-by q [sort-by-key (when-not asc :desc)])
|
||||
(cond (nil? sort-by)
|
||||
(helpers/merge-order-by q [:date])
|
||||
|
||||
(= :date sort-by-key)
|
||||
(helpers/merge-order-by q [:date (when-not asc :desc)])
|
||||
|
||||
(all-keys sort-by-key)
|
||||
(helpers/merge-order-by q
|
||||
[sort-by-key (when-not asc :desc)]
|
||||
[:date])
|
||||
|
||||
(= :vendor sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:vendors :v] [:= :v.id :invoices.vendor-id] )
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]))
|
||||
(helpers/merge-order-by [:v.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
(= :company sort-by-key)
|
||||
(-> q
|
||||
(helpers/merge-left-join [:companies :c] [:= :c.id :invoices.company-id] )
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]))
|
||||
(helpers/merge-order-by [:c.name (when-not asc :desc)]
|
||||
[:date]))
|
||||
|
||||
:else
|
||||
q)))
|
||||
@@ -123,7 +133,7 @@
|
||||
(defn get-graphql [{:keys [start sort-by asc limit] :as args :or {limit 20}}]
|
||||
(query
|
||||
(cond-> (base-graphql args)
|
||||
(not (nil? sort-by) ) (add-sort-by sort-by asc)
|
||||
true (add-sort-by sort-by asc)
|
||||
true (assoc :limit limit)
|
||||
start (assoc :offset start))))
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
[auto-ap.db.invoices :as invoices]
|
||||
[auto-ap.utils :refer [by]]
|
||||
[auto-ap.db.companies :as companies]
|
||||
[auto-ap.time :refer [parse normal-date]]))
|
||||
[auto-ap.time :refer [parse normal-date iso-date]]))
|
||||
|
||||
(defn get-vendor-for-check [context args value]
|
||||
(->graphql
|
||||
@@ -49,6 +49,7 @@
|
||||
:s3-key nil
|
||||
:s3-url nil
|
||||
:check-number (:check_number args)
|
||||
:date (parse (:date args) iso-date)
|
||||
:amount (:amount args)
|
||||
:bank-account-id (:bank_account_id args)
|
||||
:vendor-id (:vendor-id invoice)
|
||||
|
||||
@@ -74,10 +74,11 @@
|
||||
|
||||
|
||||
[[:cell {:colspan 6 :leading 50} [:spacer]]
|
||||
[:cell {:colspan 6 :rowspan 2} (when (:signature-file company)
|
||||
[:cell {:colspan 6 :rowspan 2} (if (:signature-file company)
|
||||
[:image { :top-margin 90 :xscale 0.30 :yscale 0.30 :align :center}
|
||||
|
||||
(:signature-file company)])]]
|
||||
(:signature-file company)]
|
||||
[:spacer])]]
|
||||
|
||||
[[:cell {:size 9 } "MEMO"]
|
||||
[:cell {:colspan 5} memo [:line {:line-width 0.15 :color [50 50 50]}]]
|
||||
@@ -193,6 +194,7 @@
|
||||
:memo memo
|
||||
:vendor-id (:id vendor)
|
||||
:company-id (:id company)
|
||||
:date (time/now)
|
||||
:pdf-data {:vendor vendor
|
||||
:paid-to (:name vendor)
|
||||
:amount (reduce + 0 (map (comp invoice-amounts :id) invoices))
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
"Vendor"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width percentage-size :cursor "pointer"}
|
||||
:sort-key "invoice-number"
|
||||
:sort-key "check-number"
|
||||
:sort-by sort-by
|
||||
:asc asc}
|
||||
"Check #"]
|
||||
@@ -127,7 +127,7 @@
|
||||
"Date"]
|
||||
[sorted-column {:on-sort opc
|
||||
:style {:width "8em" :cursor "pointer"}
|
||||
:sort-key "total"
|
||||
:sort-key "amount"
|
||||
:sort-by sort-by
|
||||
:asc asc}
|
||||
"Amount"]
|
||||
|
||||
Reference in New Issue
Block a user