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?
)))
(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}
:recurrence (some-> recurrence t/make-rule)
:notes notes
@ -88,10 +88,10 @@
(-> order :orders/recurrence nil?)
(update-non-recurring tx order updates)
(= :all update-type)
(= "all" action-type)
(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)
:else ; single item modified

View File

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

View File

@ -105,7 +105,11 @@
:order-edit
[order-form @(re-frame/subscribe [::subs/editted-order])]
;; 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 []
(let [{:keys [event]} @(re-frame/subscribe [::subs/order-type-edit])]

View File

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