|
|
|
@ -6,429 +6,145 @@
|
|
|
|
|
# movies = Movie.create([{ name: 'Star Wars' }, { name: 'Lord of the Rings' }]) |
|
|
|
|
# Character.create(name: 'Luke', movie: movies.first) |
|
|
|
|
|
|
|
|
|
# rubocop:disable Rails/Output |
|
|
|
|
def create_data_protection_confirmation(user) |
|
|
|
|
DataProtectionConfirmation.find_or_create_by!( |
|
|
|
|
organisation: user.organisation, |
|
|
|
|
confirmed: true, |
|
|
|
|
data_protection_officer: user, |
|
|
|
|
signed_at: Time.zone.local(2019, 1, 1), |
|
|
|
|
data_protection_officer_email: user.email, |
|
|
|
|
data_protection_officer_name: user.name, |
|
|
|
|
) |
|
|
|
|
def find_or_create_user(organisation, email, role) |
|
|
|
|
case role |
|
|
|
|
when :data_provider |
|
|
|
|
FactoryBot.create(:user, :if_unique, :data_provider, email: , organisation: , password: ENV["REVIEW_APP_USER_PASSWORD"]) |
|
|
|
|
when :data_coordinator |
|
|
|
|
FactoryBot.create(:user, :if_unique, :data_coordinator, :data_protection_officer, :with_dsa, email: , organisation: , password: ENV["REVIEW_APP_USER_PASSWORD"]) |
|
|
|
|
when :support |
|
|
|
|
FactoryBot.create(:user, :if_unique, :support, email: , organisation: , password: ENV["REVIEW_APP_USER_PASSWORD"]) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
unless Rails.env.test? |
|
|
|
|
stock_owner1 = Organisation.find_or_create_by!( |
|
|
|
|
name: "Stock Owner 1", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) |
|
|
|
|
stock_owner2 = Organisation.find_or_create_by!( |
|
|
|
|
name: "Stock Owner 2", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) |
|
|
|
|
managing_agent1 = Organisation.find_or_create_by!( |
|
|
|
|
name: "Managing Agent 1 (PRP)", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "PRP", |
|
|
|
|
) |
|
|
|
|
managing_agent2 = Organisation.find_or_create_by!( |
|
|
|
|
name: "Managing Agent 2", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) |
|
|
|
|
if LocalAuthority.count.zero? |
|
|
|
|
la_path = "config/local_authorities_data/initial_local_authorities.csv" |
|
|
|
|
service = Imports::LocalAuthoritiesService.new(path: la_path) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
org = Organisation.find_or_create_by!( |
|
|
|
|
name: "MHCLG", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) do |
|
|
|
|
info = "Seeded MHCLG Organisation" |
|
|
|
|
if Rails.env.development? |
|
|
|
|
pp info |
|
|
|
|
else |
|
|
|
|
Rails.logger.info info |
|
|
|
|
if LaRentRange.count.zero? |
|
|
|
|
Dir.glob("config/rent_range_data/*.csv").each do |path| |
|
|
|
|
start_year = File.basename(path, ".csv") |
|
|
|
|
service = Imports::RentRangesService.new(start_year:, path:) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
standalone_owns_stock = Organisation.find_or_create_by!( |
|
|
|
|
name: "Standalone Owns Stock 1 Ltd", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) |
|
|
|
|
if LaSaleRange.count.zero? |
|
|
|
|
Dir.glob("config/sale_range_data/*.csv").each do |path| |
|
|
|
|
start_year = File.basename(path, ".csv") |
|
|
|
|
service = Imports::SaleRangesService.new(start_year:, path:) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
all_rent_periods = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] |
|
|
|
|
|
|
|
|
|
standalone_no_stock = Organisation.find_or_create_by!( |
|
|
|
|
name: "Standalone No Stock 1 Ltd", |
|
|
|
|
mhclg = FactoryBot.create( |
|
|
|
|
:organisation, |
|
|
|
|
:if_unique, |
|
|
|
|
name: "MHCLG", |
|
|
|
|
address_line1: "2 Marsham Street", |
|
|
|
|
address_line2: "London", |
|
|
|
|
postcode: "SW1P 4DF", |
|
|
|
|
holds_own_stock: false, |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Provider Owns Stock", |
|
|
|
|
email: "provider.owner1@example.com", |
|
|
|
|
organisation: standalone_owns_stock, |
|
|
|
|
role: "data_provider", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Coordinator Owns Stock", |
|
|
|
|
email: "coordinator.owner1@example.com", |
|
|
|
|
organisation: standalone_owns_stock, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Provider No Stock", |
|
|
|
|
email: "provider.nostock@example.com", |
|
|
|
|
organisation: standalone_no_stock, |
|
|
|
|
role: "data_provider", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Coordinator No Stock", |
|
|
|
|
email: "coordinator.nostock@example.com", |
|
|
|
|
organisation: standalone_no_stock, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Stock owner 1", |
|
|
|
|
email: "stock_owner1_dpo@example.com", |
|
|
|
|
organisation: stock_owner1, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Stock owner 2", |
|
|
|
|
email: "stock_owner2_dpo@example.com", |
|
|
|
|
organisation: stock_owner2, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Managing agent 1", |
|
|
|
|
email: "managing_agent1_dpo@example.com", |
|
|
|
|
organisation: managing_agent1, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Managing agent 2", |
|
|
|
|
email: "managing_agent2_dpo@example.com", |
|
|
|
|
organisation: managing_agent2, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: stock_owner1, |
|
|
|
|
child_organisation: org, |
|
|
|
|
) |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: stock_owner2, |
|
|
|
|
child_organisation: org, |
|
|
|
|
) |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: org, |
|
|
|
|
child_organisation: managing_agent1, |
|
|
|
|
) |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: org, |
|
|
|
|
child_organisation: managing_agent2, |
|
|
|
|
rent_periods: all_rent_periods, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
if Rails.env.development? || Rails.env.review? |
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Provider", |
|
|
|
|
email: "provider@example.com", |
|
|
|
|
organisation: org, |
|
|
|
|
role: "data_provider", |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Coordinator", |
|
|
|
|
email: "coordinator@example.com", |
|
|
|
|
organisation: org, |
|
|
|
|
role: "data_coordinator", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
user.is_dpo = true |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
support_user = User.find_or_create_by!( |
|
|
|
|
name: "Support", |
|
|
|
|
email: "support@example.com", |
|
|
|
|
organisation: org, |
|
|
|
|
role: "support", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
pp "Seeded dummy users" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
if (Rails.env.development? || Rails.env.review?) && SalesLog.count.zero? |
|
|
|
|
SalesLog.find_or_create_by!( |
|
|
|
|
assigned_to: support_user, |
|
|
|
|
owning_organisation: org, |
|
|
|
|
managing_organisation: org, |
|
|
|
|
saledate: Time.zone.today, |
|
|
|
|
purchid: "1", |
|
|
|
|
ownershipsch: 1, |
|
|
|
|
type: 2, |
|
|
|
|
jointpur: 1, |
|
|
|
|
jointmore: 1, |
|
|
|
|
stock_owner1 = FactoryBot.create(:organisation, :if_unique, :la, :holds_own_stock, name: "Stock Owner 1", rent_periods: all_rent_periods) |
|
|
|
|
stock_owner2 = FactoryBot.create(:organisation, :if_unique, :la, :holds_own_stock, name: "Stock Owner 2", rent_periods: all_rent_periods.sample(5)) |
|
|
|
|
managing_agent1 = FactoryBot.create(:organisation, :if_unique, :prp, :holds_own_stock, name: "Managing Agent 1 (PRP)", rent_periods: all_rent_periods) |
|
|
|
|
managing_agent2 = FactoryBot.create(:organisation, :if_unique, :la, :holds_own_stock, name: "Managing Agent 2", rent_periods: all_rent_periods.sample(5)) |
|
|
|
|
standalone_owns_stock = FactoryBot.create(:organisation, :if_unique, :la, :holds_own_stock, name: "Standalone Owns Stock 1 Ltd", rent_periods: all_rent_periods) |
|
|
|
|
standalone_no_stock = FactoryBot.create(:organisation, :if_unique, :la, :does_not_own_stock, name: "Standalone No Stock 1 Ltd", rent_periods: all_rent_periods) |
|
|
|
|
|
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: stock_owner1, |
|
|
|
|
child_organisation: mhclg, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
SalesLog.find_or_create_by!( |
|
|
|
|
assigned_to: support_user, |
|
|
|
|
owning_organisation: org, |
|
|
|
|
managing_organisation: org, |
|
|
|
|
saledate: Time.zone.today, |
|
|
|
|
purchid: "1", |
|
|
|
|
ownershipsch: 2, |
|
|
|
|
type: 9, |
|
|
|
|
jointpur: 1, |
|
|
|
|
jointmore: 1, |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: stock_owner2, |
|
|
|
|
child_organisation: mhclg, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
SalesLog.find_or_create_by!( |
|
|
|
|
assigned_to: support_user, |
|
|
|
|
owning_organisation: org, |
|
|
|
|
managing_organisation: org, |
|
|
|
|
saledate: Time.zone.today, |
|
|
|
|
purchid: "1", |
|
|
|
|
ownershipsch: 3, |
|
|
|
|
type: 10, |
|
|
|
|
companybuy: 1, |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: mhclg, |
|
|
|
|
child_organisation: managing_agent1, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
pp "Seeded a sales log of each type" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
if Rails.env.development? || Rails.env.review? |
|
|
|
|
dummy_org = Organisation.find_or_create_by!( |
|
|
|
|
name: "FooBar LTD", |
|
|
|
|
address_line1: "Higher Kingston", |
|
|
|
|
address_line2: "Yeovil", |
|
|
|
|
postcode: "BA21 4AT", |
|
|
|
|
holds_own_stock: true, |
|
|
|
|
other_stock_owners: "None", |
|
|
|
|
managing_agents_label: "None", |
|
|
|
|
provider_type: "LA", |
|
|
|
|
OrganisationRelationship.find_or_create_by!( |
|
|
|
|
parent_organisation: mhclg, |
|
|
|
|
child_organisation: managing_agent2, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
pp "Seeded dummy FooBar LTD organisation" |
|
|
|
|
provider = find_or_create_user(mhclg, "provider@example.com", :data_provider) |
|
|
|
|
coordinator = find_or_create_user(mhclg, "coordinator@example.com", :data_coordinator) |
|
|
|
|
support = find_or_create_user(mhclg, "support@example.com", :support) |
|
|
|
|
|
|
|
|
|
User.find_or_create_by!( |
|
|
|
|
name: "Dummy user", |
|
|
|
|
email: "dummy_org@example.com", |
|
|
|
|
organisation: dummy_org, |
|
|
|
|
role: "data_provider", |
|
|
|
|
is_dpo: true, |
|
|
|
|
) do |user| |
|
|
|
|
user.password = ENV["REVIEW_APP_USER_PASSWORD"] |
|
|
|
|
user.confirmed_at = Time.zone.now |
|
|
|
|
create_data_protection_confirmation(user) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
stock_owner1 = find_or_create_user(stock_owner1, "stock_owner1_dpo@example.com", :data_coordinator) |
|
|
|
|
stock_owner2 = find_or_create_user(stock_owner2, "stock_owner2_dpo@example.com", :data_coordinator) |
|
|
|
|
|
|
|
|
|
if (Rails.env.development? || Rails.env.review?) && Scheme.count.zero? |
|
|
|
|
scheme1 = Scheme.create!( |
|
|
|
|
service_name: "Beulahside Care", |
|
|
|
|
sensitive: 0, |
|
|
|
|
registered_under_care_act: 1, |
|
|
|
|
support_type: 2, |
|
|
|
|
scheme_type: 4, |
|
|
|
|
intended_stay: "M", |
|
|
|
|
primary_client_group: "O", |
|
|
|
|
has_other_client_group: 1, |
|
|
|
|
secondary_client_group: "H", |
|
|
|
|
owning_organisation: org, |
|
|
|
|
arrangement_type: "D", |
|
|
|
|
confirmed: true, |
|
|
|
|
created_at: Time.zone.now, |
|
|
|
|
) |
|
|
|
|
managing_agent1 = find_or_create_user(managing_agent1, "managing_agent1_dpo@example.com", :data_coordinator) |
|
|
|
|
managing_agent2 = find_or_create_user(managing_agent2, "managing_agent2_dpo@example.com", :data_coordinator) |
|
|
|
|
|
|
|
|
|
scheme2 = Scheme.create!( |
|
|
|
|
service_name: "Abdullahview Point", |
|
|
|
|
sensitive: 0, |
|
|
|
|
registered_under_care_act: 1, |
|
|
|
|
support_type: 2, |
|
|
|
|
scheme_type: 5, |
|
|
|
|
intended_stay: "S", |
|
|
|
|
primary_client_group: "D", |
|
|
|
|
secondary_client_group: "E", |
|
|
|
|
has_other_client_group: 1, |
|
|
|
|
owning_organisation: org, |
|
|
|
|
arrangement_type: "D", |
|
|
|
|
confirmed: true, |
|
|
|
|
created_at: Time.zone.now, |
|
|
|
|
) |
|
|
|
|
provider_owner1 = find_or_create_user(standalone_owns_stock, "provider.owner1@example.com", :data_provider) |
|
|
|
|
coordinator_owner1 = find_or_create_user(standalone_owns_stock, "coordinator.owner1@example.com", :data_coordinator) |
|
|
|
|
|
|
|
|
|
Scheme.create!( |
|
|
|
|
service_name: "Caspermouth Center", |
|
|
|
|
sensitive: 1, |
|
|
|
|
registered_under_care_act: 1, |
|
|
|
|
support_type: 4, |
|
|
|
|
scheme_type: 7, |
|
|
|
|
intended_stay: "X", |
|
|
|
|
primary_client_group: "G", |
|
|
|
|
has_other_client_group: 1, |
|
|
|
|
secondary_client_group: "R", |
|
|
|
|
owning_organisation: dummy_org, |
|
|
|
|
arrangement_type: "D", |
|
|
|
|
confirmed: true, |
|
|
|
|
created_at: Time.zone.now, |
|
|
|
|
) |
|
|
|
|
find_or_create_user(standalone_no_stock, "provider.nostock@example.com", :data_provider) |
|
|
|
|
find_or_create_user(standalone_no_stock, "coordinator.nostock@example.com", :data_coordinator) |
|
|
|
|
|
|
|
|
|
Location.create!( |
|
|
|
|
scheme: scheme1, |
|
|
|
|
location_code: "E09000033", |
|
|
|
|
location_admin_district: "Westminster", |
|
|
|
|
postcode: "CU193AA", |
|
|
|
|
name: "Rectory Road", |
|
|
|
|
type_of_unit: 4, |
|
|
|
|
units: 1, |
|
|
|
|
mobility_type: "N", |
|
|
|
|
) |
|
|
|
|
if Scheme.count.zero? |
|
|
|
|
scheme1 = FactoryBot.create(:scheme, service_name: "Beulahside Care", owning_organisation: mhclg) |
|
|
|
|
scheme2 = FactoryBot.create(:scheme, service_name: "Abdullahview Point", owning_organisation: mhclg) |
|
|
|
|
scheme3 = FactoryBot.create(:scheme, :created_now, owning_organisation: mhclg) |
|
|
|
|
scheme4 = FactoryBot.create(:scheme, owning_organisation: stock_owner1) |
|
|
|
|
|
|
|
|
|
Location.create!( |
|
|
|
|
scheme: scheme1, |
|
|
|
|
location_code: "E09000033", |
|
|
|
|
location_admin_district: "Westminster", |
|
|
|
|
postcode: "DM250DC", |
|
|
|
|
name: "Smithy Lane", |
|
|
|
|
type_of_unit: 1, |
|
|
|
|
units: 1, |
|
|
|
|
mobility_type: "W", |
|
|
|
|
) |
|
|
|
|
[scheme1, scheme2, scheme3, scheme4].each do |scheme| |
|
|
|
|
FactoryBot.create(:location, scheme:) |
|
|
|
|
end |
|
|
|
|
[scheme2, scheme3].each do |scheme| |
|
|
|
|
FactoryBot.create_list(3, :location, scheme:) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
Location.create!( |
|
|
|
|
scheme: scheme2, |
|
|
|
|
location_code: "E09000033", |
|
|
|
|
location_admin_district: "Westminster", |
|
|
|
|
postcode: "YX130WP", |
|
|
|
|
name: "Smithy Lane", |
|
|
|
|
type_of_unit: 2, |
|
|
|
|
units: 1, |
|
|
|
|
mobility_type: "W", |
|
|
|
|
) |
|
|
|
|
pp "Seeded dummy schemes" |
|
|
|
|
end |
|
|
|
|
users_with_logs = [support, coordinator, provider, provider_owner1, coordinator_owner1, managing_agent1, managing_agent2, stock_owner1, stock_owner2] |
|
|
|
|
|
|
|
|
|
if LocalAuthority.count.zero? |
|
|
|
|
la_path = "config/local_authorities_data/initial_local_authorities.csv" |
|
|
|
|
service = Imports::LocalAuthoritiesService.new(path: la_path) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
if SalesLog.count.zero? |
|
|
|
|
users_with_logs.each do |user| |
|
|
|
|
FactoryBot.create(:sales_log, :shared_ownership_setup_complete, assigned_to: user) |
|
|
|
|
FactoryBot.create(:sales_log, :discounted_ownership_setup_complete, assigned_to: user) |
|
|
|
|
FactoryBot.create(:sales_log, :outright_sale_setup_complete, assigned_to: user) |
|
|
|
|
FactoryBot.create(:sales_log, :completed, assigned_to: user) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
if (Rails.env.development? || Rails.env.review?) && LocalAuthorityLink.count.zero? |
|
|
|
|
links_data_paths = ["config/local_authorities_data/local_authority_links_2023.csv", "config/local_authorities_data/local_authority_links_2022.csv"] |
|
|
|
|
links_data_paths.each do |path| |
|
|
|
|
service = Imports::LocalAuthorityLinksService.new(path:) |
|
|
|
|
service.call |
|
|
|
|
FactoryBot.create(:sales_log, :completed, assigned_to: managing_agent1, owning_organisation: mhclg) |
|
|
|
|
FactoryBot.create(:sales_log, :completed, assigned_to: provider, owning_organisation: stock_owner1) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
pp "Seeded local authority links" |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
if LaRentRange.count.zero? |
|
|
|
|
Dir.glob("config/rent_range_data/*.csv").each do |path| |
|
|
|
|
start_year = File.basename(path, ".csv") |
|
|
|
|
service = Imports::RentRangesService.new(start_year:, path:) |
|
|
|
|
service.call |
|
|
|
|
if LettingsLog.count.zero? |
|
|
|
|
users_with_logs.each do |user| |
|
|
|
|
FactoryBot.create(:lettings_log, :setup_completed, assigned_to: user) |
|
|
|
|
FactoryBot.create(:lettings_log, :completed, assigned_to: user) |
|
|
|
|
if user.organisation.owned_schemes.any? |
|
|
|
|
scheme = user.organisation.owned_schemes.first |
|
|
|
|
FactoryBot.create(:lettings_log, :setup_completed, :sh, scheme:, location: scheme.locations.first, assigned_to: user) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
FactoryBot.create(:lettings_log, :completed, assigned_to: managing_agent1, owning_organisation: mhclg) |
|
|
|
|
FactoryBot.create(:lettings_log, :completed, assigned_to: provider, owning_organisation: stock_owner1) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
if LaSaleRange.count.zero? |
|
|
|
|
Dir.glob("config/sale_range_data/*.csv").each do |path| |
|
|
|
|
start_year = File.basename(path, ".csv") |
|
|
|
|
service = Imports::SaleRangesService.new(start_year:, path:) |
|
|
|
|
service.call |
|
|
|
|
if LocalAuthorityLink.count.zero? |
|
|
|
|
links_data_paths = ["config/local_authorities_data/local_authority_links_2023.csv", "config/local_authorities_data/local_authority_links_2022.csv"] |
|
|
|
|
links_data_paths.each do |path| |
|
|
|
|
service = Imports::LocalAuthorityLinksService.new(path:) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
@ -438,4 +154,3 @@ if LocalAuthority.count.zero?
|
|
|
|
|
service = Imports::LocalAuthoritiesService.new(path:) |
|
|
|
|
service.call |
|
|
|
|
end |
|
|
|
|
# rubocop:enable Rails/Output |
|
|
|
|