Manuel Bustillo
91bbae1c63
All checks were successful
Check usage of free licenses / check-licenses (pull_request) Successful in 59s
Add copyright notice / copyright_notice (pull_request) Successful in 2m21s
Run unit tests / unit_tests (pull_request) Successful in 3m2s
Build Nginx-based docker image / build-static-assets (pull_request) Successful in 25m17s
88 lines
3.6 KiB
Ruby
88 lines
3.6 KiB
Ruby
# Copyright (C) 2024 Manuel Bustillo
|
|
|
|
# Copyright (C) 2024-2025 LibreWeddingPlanner contributors
|
|
|
|
NUMBER_OF_GUESTS = 50
|
|
|
|
ActsAsTenant.without_tenant do
|
|
TablesArrangement.delete_all
|
|
Expense.delete_all
|
|
Guest.delete_all
|
|
Group.delete_all
|
|
|
|
Wedding.delete_all
|
|
end
|
|
|
|
wedding = Wedding.create!(slug: :default)
|
|
|
|
ActsAsTenant.with_tenant(wedding) do
|
|
Expense.create!(name: 'Photographer', amount: 3000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Country house', amount: 6000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Catering', amount: 200, pricing_type: 'per_person')
|
|
Expense.create!(name: 'Flowers', amount: 500, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Band', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Wedding planner', amount: 2000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Dress', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Suit', amount: 500, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Rings', amount: 1000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Makeup', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Hair', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Transportation', amount: 3000, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Invitations', amount: 200, pricing_type: 'fixed')
|
|
Expense.create!(name: 'Cake', amount: 500, pricing_type: 'fixed')
|
|
|
|
Group.create!(name: "Jim's guests", icon: 'pi pi-heart').tap do |parent|
|
|
parent.children.create!(name: "Jim's family", icon: 'pi pi-users').tap do |family|
|
|
family.children.create!(name: "Jim's close family", icon: 'pi pi-home')
|
|
family.children.create!(name: "Jim's cousins", icon: 'pi pi-home')
|
|
family.children.create!(name: "Jim's relatives", icon: 'pi pi-home')
|
|
end
|
|
parent.children.create!(name: "Jim's friends", icon: 'pi pi-bullseye')
|
|
parent.children.create!(name: "Jim's work", icon: 'pi pi-desktop').tap do |work|
|
|
work.children.create!(name: "Jim's besties at work", icon: 'pi pi-briefcase')
|
|
end
|
|
end
|
|
|
|
Group.create!(name: "Pam's guests", icon: 'pi pi-heart-fill').tap do |parent|
|
|
parent.children.create!(name: "Pam's family", icon: 'pi pi-users').tap do |family|
|
|
family.children.create!(name: "Pam's close family", icon: 'pi pi-home')
|
|
family.children.create!(name: "Pam's cousins", icon: 'pi pi-home')
|
|
family.children.create!(name: "Pam's relatives", icon: 'pi pi-home')
|
|
end
|
|
parent.children.create!(name: "Pam's friends", icon: 'pi pi-bullseye')
|
|
parent.children.create!(name: "Pam's work", icon: 'pi pi-desktop').tap do |work|
|
|
work.children.create!(name: "Pam's besties at work", icon: 'pi pi-briefcase')
|
|
end
|
|
end
|
|
|
|
Group.create!(name: 'Common guests', icon: 'pi pi-users').tap do |parent|
|
|
parent.children.create!(name: 'College friends', icon: 'pi pi-calculator')
|
|
parent.children.create!(name: 'High school friends', icon: 'pi pi-crown')
|
|
parent.children.create!(name: 'Childhood friends', icon: 'pi pi-envelope')
|
|
end
|
|
|
|
groups = Group.all
|
|
|
|
NUMBER_OF_GUESTS.times do
|
|
Guest.create!(
|
|
name: Faker::Name.name,
|
|
phone: Faker::PhoneNumber.cell_phone,
|
|
group: groups.sample,
|
|
status: Guest.statuses.keys.sample
|
|
)
|
|
end
|
|
|
|
ActiveJob.perform_all_later(3.times.map { TableSimulatorJob.new(wedding.id) })
|
|
|
|
'red'.paint.palette.triad(as: :hex).zip(Group.roots).each { |(color, group)| group.update!(color: color.paint.desaturate(40)) }
|
|
|
|
Group.roots.each(&:colorize_children)
|
|
|
|
User.create!(
|
|
email: 'development@example.com',
|
|
confirmed_at: Time.zone.now,
|
|
password: 'supersecretpassword',
|
|
password_confirmation: 'supersecretpassword',
|
|
)
|
|
end
|