From 4c05452774bd96746d19691078e83a38f92a5618 Mon Sep 17 00:00:00 2001 From: Bryce Date: Fri, 18 Oct 2024 21:34:29 -0700 Subject: [PATCH] makes more changes. --- src/clj/auto_ap/ssr/components/inputs.clj | 8 +++- src/clj/auto_ap/ssr/ledger/balance_sheet.clj | 49 +++++++++++--------- 2 files changed, 33 insertions(+), 24 deletions(-) diff --git a/src/clj/auto_ap/ssr/components/inputs.clj b/src/clj/auto_ap/ssr/components/inputs.clj index b0be9838..b2302254 100644 --- a/src/clj/auto_ap/ssr/components/inputs.clj +++ b/src/clj/auto_ap/ssr/components/inputs.clj @@ -99,8 +99,6 @@ [:ul.dropdown-contents {:class "bg-gray-100 dark:bg-gray-600 ring-1" "@keydown.escape" "tippy.hide(); value = {value: '', label: '' }; " :x-destroy "if ($refs.input) {$refs.input.focus();}"} - - [:input {:type "text" :autofocus true :class (-> (:class params) @@ -266,6 +264,12 @@ (assoc :type "hidden" "x-bind:value" "v"))]] + [:template {:x-if "value.size == 0"} + [:input (-> params + (dissoc :class :value-fn :content-fn :placeholder :x-model) + (assoc :type "hidden" + :value "" + ))]] [:div.flex.w-full.justify-items-stretch (multi-typeahead-selected-pill- params) [:div {:class "w-3 h-3 m-1 inline ml-1 justify-self-end text-gray-500 self-center"} diff --git a/src/clj/auto_ap/ssr/ledger/balance_sheet.clj b/src/clj/auto_ap/ssr/ledger/balance_sheet.clj index 4782742e..d2dc1a62 100644 --- a/src/clj/auto_ap/ssr/ledger/balance_sheet.clj +++ b/src/clj/auto_ap/ssr/ledger/balance_sheet.clj @@ -284,7 +284,7 @@ (defn maybe-trim-clients [request client ] (if (= :all client) - (cond-> {:client (take 5 (:clients request))} + (cond-> {:client (take 20 (:clients request))} (> (count (:clients request)) 20) (assoc :warning "You requested a report with more than 20 clients. This report will only contain the first 20.")) {:client client})) @@ -303,8 +303,8 @@ :table report :warning (not-empty (str/join "\n " (filter not-empty [warning (:warning report)])))} ))))]) -(defn form* [request] - (let [params (merge (:query-params request) (:form-params request) {})] +(defn form* [request & children] + (let [params (:query-params request)] (fc/start-form params (:form-errors request) @@ -348,10 +348,11 @@ (com/button {:color :primary :class "w-32"} "Run") (com/button {:formaction (bidi.bidi/path-for ssr-routes/only-routes ::route/export-balance-sheet) } "Export PDF")]]] ] - (balance-sheet* request)]))) + children]))) (defn form [request] - (html-response (form* request) + (html-response (form* request + (balance-sheet* request)) :headers {"hx-retarget" "#balance-sheet-form" "hx-push-url" (str "?" (:query-string request))})) @@ -404,24 +405,27 @@ (defn print-balance-sheet [request] (let [uuid (str (UUID/randomUUID)) + {:keys [client warning]} (maybe-trim-clients request (:client (:query-params request))) + request (assoc-in request [:query-params :client] client) pdf-data (make-balance-sheet-pdf request (:report (get-report request))) name (balance-sheet-args->name request) key (str "reports/balance-sheet/" uuid "/" name ".pdf") url (str "https://" (:data-bucket env) "/" key)] - (s3/put-object :bucket-name (:data-bucket env/env) + (println "CLIENT IS" client) + (s3/put-object :bucket-name (:data-bucket env/env) :key key :input-stream (io/make-input-stream pdf-data {}) :metadata {:content-length (count pdf-data) :content-type "application/pdf"}) @(dc/transact conn - [{:report/name name - :report/client (map :db/id (:client (:query-params request))) - :report/key key - :report/url url - :report/creator (:user (:identity request)) - :report/created (java.util.Date.)}]) + [{:report/name name + :report/client (map :db/id client) + :report/key key + :report/url url + :report/creator (:user (:identity request)) + :report/created (java.util.Date.)}]) {:report/name name - :report/url url })) + :report/url url})) ;; TODO PRINT WARNING (defn export [request] @@ -431,16 +435,17 @@ {} "Ready!" (com/modal-body {} - [:div.flex.flex-col.mt-4.space-y-4.items-center - [:a {:href (:report/url (print-balance-sheet request))} - [:div.w-24.h-24.bg-green-50.rounded-full.p-4.text-green-300 {:class " hover:scale-110 transition duration-100"} + (let [bs (print-balance-sheet request)] + [:div.flex.flex-col.mt-4.space-y-4.items-center + [:a {:href (:report/url bs)} + [:div.w-24.h-24.bg-green-50.rounded-full.p-4.text-green-300 {:class " hover:scale-110 transition duration-100"} - svg/download]] - [:span.text-gray-800 - "Click " - (com/link {:href (:report/url (print-balance-sheet request))} "here") - " to download"] - ]) + svg/download]] + [:span.text-gray-800 + "Click " + (com/link {:href (:report/url bs)} "here") + " to download"] + ])) nil)) :headers (-> {} (assoc "hx-retarget" ".modal-stack")