Makes groups possible
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
(defn maybe-add-x-clients [headers]
|
||||
(if (or (and (sequential? (:selected-clients @re-frame.db/app-db)) (every? int? (:selected-clients @re-frame.db/app-db)))
|
||||
(and (sequential? (:selected-clients @re-frame.db/app-db)) (every? string? (:selected-clients @re-frame.db/app-db)))
|
||||
(and (sequential? (:selected-clients @re-frame.db/app-db)) (= :group (first (:selected-clients @re-frame.db/app-db))))
|
||||
(keyword? (:selected-clients @re-frame.db/app-db)))
|
||||
(assoc headers "x-clients" (pr-str (:selected-clients @re-frame.db/app-db)))
|
||||
headers))
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
|
||||
(defn client-query []
|
||||
(cond-> [:id :name :code :email :locations :feature-flags
|
||||
(cond-> [:id :name :code :email :locations :feature-flags :groups
|
||||
[:emails [:id :email :description]]
|
||||
[:bank-accounts [:id :code :bank-name :name :type :visible
|
||||
:locations :include-in-reports :current-balance
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
(fn [[selected-clients user clients]]
|
||||
(println "SELECTED" selected-clients
|
||||
"USER" user
|
||||
"CLIENTS" clients)
|
||||
"CLIENTS" (count clients))
|
||||
|
||||
(cond (= :mine selected-clients)
|
||||
(sort-by :name
|
||||
(sort-by :name
|
||||
(:user/clients user))
|
||||
|
||||
(or (and (sequential? selected-clients)
|
||||
@@ -58,6 +58,15 @@
|
||||
(nil? selected-clients))
|
||||
clients
|
||||
|
||||
(= :group (and (sequential? selected-clients)
|
||||
(first selected-clients)))
|
||||
(let [group (second selected-clients)]
|
||||
(filterv
|
||||
(fn [c]
|
||||
(println "GROUP" group (:groups c))
|
||||
((set (:groups c)) group))
|
||||
clients))
|
||||
|
||||
(sequential? selected-clients)
|
||||
(filter (comp (set (map coerce-string-version selected-clients)) coerce-string-version :id)
|
||||
clients)
|
||||
|
||||
@@ -86,13 +86,13 @@
|
||||
clients
|
||||
(if-let [exact-match (first (filter
|
||||
(fn [client]
|
||||
(= (str/lower-case (:code client)) (str/lower-case client-search)))
|
||||
(= (str/lower-case (or (:code client) "INVALID")) (str/lower-case client-search)))
|
||||
clients))]
|
||||
[exact-match]
|
||||
(filter
|
||||
(fn [client]
|
||||
(or
|
||||
(str/includes? (str/lower-case (:code client)) (str/lower-case client-search))
|
||||
(str/includes? (str/lower-case (or (:code client) "INVALID")) (str/lower-case client-search))
|
||||
(str/includes? (str/lower-case (:name client)) (str/lower-case client-search))))
|
||||
clients)))))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user