Major supplier refactor making the whole system work better
This commit is contained in:
@@ -142,6 +142,7 @@ class List
|
||||
set_price # should not be needed, but extra secure
|
||||
orders.map(&:close!) # close the connected orders
|
||||
self.state = 'closed'
|
||||
self.is_helped! if needs_help?
|
||||
self.user_requests_closing = false # if a user requested closing, not needed anymore
|
||||
self.closed_at = Time.now
|
||||
if save
|
||||
|
||||
+7
-1
@@ -129,7 +129,13 @@ class Order
|
||||
|
||||
#TODO fix me
|
||||
def close!
|
||||
self.state = 'closed' if placed? || active?
|
||||
|
||||
if placed? || active?
|
||||
decrement_counter = placed? ? 'placed' : 'in_process'
|
||||
self.state = 'closed'
|
||||
supplier.public_send "decrement_orders_#{decrement_counter}_count!"
|
||||
end
|
||||
|
||||
if save
|
||||
broadcast_user user.id, 'order_closed', id: id if user
|
||||
broadcast_supplier supplier_id, 'order_closed', id: id
|
||||
|
||||
@@ -58,6 +58,8 @@ class Supplier
|
||||
# Set all known counters to zero
|
||||
Qwaiter::Couchbase.flush_counters!
|
||||
|
||||
Qwaiter::Counter.connection.flush if Qwaiter::Counter.connection.respond_to?(:flush)
|
||||
|
||||
spec = Order.by_supplier_id_and_state(reduce: true, group_level: 2)
|
||||
reset_order_counters_with_spec spec
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user