mulit edit

This commit is contained in:
Daniel O'Connell 2022-04-20 20:31:05 +02:00
parent 30348c38cf
commit 935b6f9cd9
4 changed files with 12 additions and 8 deletions

View File

@ -75,7 +75,7 @@
:else nil ;; FIXME: What should happen if an invalid date is provided? :else nil ;; FIXME: What should happen if an invalid date is provided?
))) )))
(defn upsert-order! [tx user-id customer-id {:keys [id day notes update-type order-date recurrence]}] (defn upsert-order! [tx user-id customer-id {:keys [id day notes action-type order-date recurrence] :as bla}]
(let [updates (assoc? {:customer_id customer-id} (let [updates (assoc? {:customer_id customer-id}
:recurrence (some-> recurrence t/make-rule) :recurrence (some-> recurrence t/make-rule)
:notes notes :notes notes
@ -88,10 +88,10 @@
(-> order :orders/recurrence nil?) (-> order :orders/recurrence nil?)
(update-non-recurring tx order updates) (update-non-recurring tx order updates)
(= :all update-type) (= "all" action-type)
(do (sql/update! tx :orders (set-dates order updates) {:id id}) id) (do (sql/update! tx :orders (set-dates order updates) {:id id}) id)
(= :from-here update-type) (= "from-here" action-type)
(update-from-date tx user-id order-date order updates) (update-from-date tx user-id order-date order updates)
:else ; single item modified :else ; single item modified

View File

@ -1,4 +1,5 @@
(ns chicken-master.time (ns chicken-master.time
(:require [clojure.set :as set])
(:import [java.time Instant LocalDate ZoneOffset] (:import [java.time Instant LocalDate ZoneOffset]
[java.time.format DateTimeFormatter] [java.time.format DateTimeFormatter]
[java.sql Timestamp] [java.sql Timestamp]
@ -95,7 +96,7 @@
(-> rule (-> rule
(RecurrenceRule.) (RecurrenceRule.)
(.getFreq) (.getFreq)
((clojure.set/map-invert freq-units)))) ((set/map-invert freq-units))))
(defn get-interval [rule] (.getInterval (RecurrenceRule. rule))) (defn get-interval [rule] (.getInterval (RecurrenceRule. rule)))
(defn set-interval [rule interval] (defn set-interval [rule interval]

View File

@ -105,7 +105,11 @@
:order-edit :order-edit
[order-form @(re-frame/subscribe [::subs/editted-order])] [order-form @(re-frame/subscribe [::subs/editted-order])]
;; On success ;; On success
:on-submit (fn [form] (re-frame/dispatch [::event/save-order (format-raw-order form)])))) :on-submit (fn [form]
(let [order @(re-frame/subscribe [::subs/editted-order])
event [::event/save-order (format-raw-order form)]]
(re-frame/dispatch [::event/change-order-type (:id order) event])
:close-modal))))
(defn choose-order-type [] (defn choose-order-type []
(let [{:keys [event]} @(re-frame/subscribe [::subs/order-type-edit])] (let [{:keys [event]} @(re-frame/subscribe [::subs/order-type-edit])]

View File

@ -78,8 +78,6 @@
(re-frame/reg-event-fx (re-frame/reg-event-fx
::change-order-type ::change-order-type
(fn [{db :db} [_ id event]] (fn [{db :db} [_ id event]]
(prn "changing" (-> db :orders (get id)))
(prn event)
(if (-> db :orders (get id) :recurrence) (if (-> db :orders (get id) :recurrence)
{:db (assoc db :order-type-edit {:show true :order (-> db :orders (get id)) :event event})} {:db (assoc db :order-type-edit {:show true :order (-> db :orders (get id)) :event event})}
{:db db :dispatch event}))) {:db db :dispatch event})))
@ -123,10 +121,11 @@
(re-frame/reg-event-fx (re-frame/reg-event-fx
::save-order ::save-order
(fn [{{order :order-edit} :db} [_ form]] (fn [{{order :order-edit} :db} [_ form action-type]]
{:dispatch [::hide-modal :order-edit] {:dispatch [::hide-modal :order-edit]
:http-xhrio (http-post "orders" :http-xhrio (http-post "orders"
(merge (merge
{:action-type action-type}
(select-keys order [:id :day :hour :state :order-date]) (select-keys order [:id :day :hour :state :order-date])
(select-keys form [:id :day :hour :state :who :notes :products :recurrence])))})) (select-keys form [:id :day :hour :state :who :notes :products :recurrence])))}))