Ember temp commit
This commit is contained in:
+28
-20
@@ -1,15 +1,16 @@
|
||||
class List
|
||||
include SimplyStored::Couch
|
||||
include ActiveModel::SerializerSupport
|
||||
per_page_method :limit_value #kaminari
|
||||
|
||||
|
||||
property :state, default: 'active' # active, #closed
|
||||
property :needs_help, type: :boolean, default: false
|
||||
property :needs_payment, type: :boolean, default: false
|
||||
property :closed_at, type: Time
|
||||
property :join_requests, type: Array, default: []
|
||||
property :price, type: Float
|
||||
property :is_payed, type: :boolean, default: false
|
||||
property :payed_at, type: Time
|
||||
property :is_paid, type: :boolean, default: false
|
||||
property :paid_at, type: Time
|
||||
|
||||
has_many :orders, dependent: :destroy
|
||||
belongs_to :table
|
||||
@@ -121,11 +122,6 @@ class List
|
||||
database.view(for_supplier_view({startkey: [supplier.id, range.last], endkey: [supplier.id, range.first], include_docs: true, reduce: false, descending: true}.merge(options)))
|
||||
end
|
||||
|
||||
def mark_as_payed
|
||||
self.is_payed = true
|
||||
self.payed_at = Time.now
|
||||
end
|
||||
|
||||
def close!
|
||||
orders.include_relation(:product_orders)
|
||||
set_price
|
||||
@@ -142,6 +138,16 @@ class List
|
||||
end
|
||||
end
|
||||
|
||||
def needs_help!
|
||||
self.needs_help = true
|
||||
if save
|
||||
for user_id in user_ids
|
||||
broadcast_user user_id, 'list_needs_help', id: id
|
||||
end
|
||||
broadcast_supplier(supplier_id, 'list_needs_help', id: id)
|
||||
end
|
||||
end
|
||||
|
||||
def is_helped!
|
||||
self.needs_help = false
|
||||
if save
|
||||
@@ -162,6 +168,18 @@ class List
|
||||
end
|
||||
end
|
||||
|
||||
def is_paid!
|
||||
self.is_paid = true
|
||||
self.paid_at ||= Time.now
|
||||
if save
|
||||
for user_id in user_ids
|
||||
broadcast_user user_id, 'list_is_paid', id: id
|
||||
end
|
||||
broadcast_supplier supplier_id, 'list_is_paid', id: id
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
def move_to_table! to_table
|
||||
UserTableMove.create list: self, from_table_id: table_id, to_table: to_table
|
||||
from_table = self.table_id.try(:dup)
|
||||
@@ -180,16 +198,6 @@ class List
|
||||
end
|
||||
end
|
||||
|
||||
def needs_help!
|
||||
self.needs_help = true
|
||||
if save
|
||||
for user_id in user_ids
|
||||
broadcast_user user_id, 'list_needs_help', id: id
|
||||
end
|
||||
broadcast_supplier(supplier_id, 'list_needs_help', id: id)
|
||||
end
|
||||
end
|
||||
|
||||
def approve_join_request_for_user!(user)
|
||||
if join_requests.include?(user.id)
|
||||
join_requests.delete(user.id)
|
||||
@@ -271,8 +279,8 @@ class List
|
||||
for user_id in user_ids
|
||||
broadcast_user user_id, 'new_order', order: order.with_products_as_json, total_amount: price
|
||||
end
|
||||
broadcast_supplier supplier.id, 'new_order', order.with_products_as_json
|
||||
broadcast_supplier supplier.id, 'list_update', with_info_as_json
|
||||
broadcast_supplier supplier.id, 'list_update', list: with_info_as_json
|
||||
broadcast_supplier supplier.id, 'new_order', order: order.with_products_as_json
|
||||
order
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user