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?
|
: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
|
||||||
|
@ -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]
|
||||||
|
@ -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])]
|
||||||
|
@ -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])))}))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user