diff --git a/src/clj/auto_ap/handler.clj b/src/clj/auto_ap/handler.clj index 55abf001..fd82a493 100644 --- a/src/clj/auto_ap/handler.clj +++ b/src/clj/auto_ap/handler.clj @@ -49,11 +49,18 @@ :headers {"Content-Type" "application/edn"}}) (POST "/pdf-upload" {{ files "file"} :params :as params} - (let [{:keys [filename tempfile]} files] + (let [{:keys [filename tempfile]} files + existing-invoices (invoices/get-all)] + (println existing-invoices) (invoices/insert-multi! - (for [{:keys [total date invoice-number customer-identifier] :as row} + (for [{:keys [total date invoice-number customer-identifier vendor] :as row} (parse/parse-file (.getPath tempfile))] - (assoc row :imported false))) + (assoc row + :imported false + :potential-duplicate (boolean (seq (filter #(and (= vendor (:vendor %)) + (= invoice-number (:invoice-number %))) + existing-invoices))) + ))) {:status 200 :body (pr-str (invoices/get-pending)) :headers {"Content-Type" "application/edn"}})) diff --git a/src/cljs/auto_ap/views.cljs b/src/cljs/auto_ap/views.cljs index 740fa923..867e5ef8 100644 --- a/src/cljs/auto_ap/views.cljs +++ b/src/cljs/auto_ap/views.cljs @@ -112,15 +112,18 @@ [:th "Customer"] [:th "Invoice #"] [:th "Date"] - [:th "Amount"]]] - [:tbody (for [{:keys [vendor customer-identifier invoice-number date total id] :as i} @invoices] + [:th "Amount"] + [:th]]] + [:tbody (for [{:keys [vendor potential-duplicate customer-identifier invoice-number date total id] :as i} @invoices] ^{:key (str customer-identifier "-" invoice-number "-" date "-" total "-" id)} - [:tr + [:tr [:td vendor] [:td customer-identifier] [:td invoice-number] [:td date] - [:td total]])]] + [:td total] + [:td (when potential-duplicate + [:i.icon.fa.fa-warning {:title "potential duplicate"}])]])]] [:span "No pending invoices"]))] (if (and (seq @invoices) (not (:loading @status))) [:div.card-footer @@ -279,4 +282,3 @@ [:a {:class "icon", :href "https://github.com/dansup/bulma-templates"} [:i {:class "fa fa-github"}]]]]]] [:div#dz-hidden]])) -