mirror of
https://github.com/mruwnik/chicken-master.git
synced 2025-06-08 21:34:43 +02:00
mulit edit
This commit is contained in:
parent
30348c38cf
commit
935b6f9cd9
@ -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
|
||||
|
@ -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]
|
||||
|
@ -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])]
|
||||
|
@ -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])))}))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user