foodsoft/db/seeds/seed_helper.rb
JuliusR 661fab0e0c fix small.{en,nl}.seeds.rb
this handles problems unveiled by 18ed8934d916962b3271645eec6f5f8965f6722e
2020-10-14 19:08:45 +02:00

28 lines
1 KiB
Ruby

# only works properly for open orders, at the moment
def seed_group_orders
Order.all.each do |order|
noas = order.order_articles.count
Ordergroup.all.each do |og|
# 20% of the order-ordergroup combinations don't order
next if rand(10) < 2
# order 3..12 times a random article
go = og.group_orders.create!(order: order, updated_by_user_id: 1)
(3+rand(10)).times do
goa = go.group_order_articles.find_or_create_by!(order_article: order.order_articles.offset(rand(noas)).first)
unit_quantity = goa.order_article.price.unit_quantity
goa.update_quantities rand([4, 2*unit_quantity+2].max), rand(unit_quantity)
end
end
# update totals
order.order_articles.map(&:update_results!)
order.group_orders.map(&:update_price!)
end
end
def seed_order(options={})
options[:article_ids] ||= (options[:supplier]||Supplier.find(options[:supplier_id])).articles.map(&:id)
options[:created_by_user_id] ||= 1
options[:updated_by_user_id] ||= 1
Order.create! options
end