End of day commit

This commit is contained in:
2014-07-21 20:31:11 +02:00
parent 2fec0b3bb6
commit 8ca59c4e38
27 changed files with 258 additions and 94 deletions
+6 -3
View File
@@ -268,10 +268,14 @@ class List
end
end
def relevant_orders
orders.reject(&:cancelled?)
end
# Store the final list price in a property
def set_price
list_total = 0.0
for order in orders
for order in relevant_orders
order_total = 0.0
for product_order in order.product_orders
order_total += (product_order.quantity * product_order.price).round(2)
@@ -408,8 +412,7 @@ class List
@with_info_as_json = hl
end
private
# should not be private, called from order as well
def broadcast_users(message, content = {})
for user_id in Array.wrap(user_ids)
broadcast_user user_id, message, content
+22
View File
@@ -106,6 +106,28 @@ class Order
end
end
def cancel!
original_state = state.inquiry
self.state = 'cancelled' if placed? || active?
if save
broadcast_options = {id: id}
if original_state.placed?
reduced_count = supplier.decrement_orders_placed_count!
broadcast_options[:orders_placed_count] = reduced_count
elsif original_state.active?
reduced_count = supplier.decrement_orders_in_process_count!
broadcast_options[:orders_in_process_count] = reduced_count
end
list.broadcast_users 'order_cancelled', broadcast_options
broadcast_supplier supplier_id, 'order_cancelled', broadcast_options
end
end
def cancelled?
state == 'cancelled'
end
#TODO fix me
def close!
self.state = 'closed' if placed? || active?
if save