Browse Source

Seed merging organisations

merge-orgs-demo-branch
Kat 1 year ago
parent
commit
32a58f8d3c
  1. 492
      db/seeds.rb

492
db/seeds.rb

@ -19,38 +19,48 @@ def create_data_protection_confirmation(user)
end end
unless Rails.env.test? unless Rails.env.test?
stock_owner1 = Organisation.find_or_create_by!( absorbing_organisation = Organisation.find_or_create_by!(
name: "Stock Owner 1", name: "Absorbing organisation",
address_line1: "2 Marsham Street", address_line1: "Absorbing organisation address line 1",
address_line2: "London", address_line2: "Absorbing organisation address line 2",
postcode: "SW1P 4DF", postcode: "SW1P 4DF",
holds_own_stock: true, holds_own_stock: false,
other_stock_owners: "None", other_stock_owners: "None",
managing_agents_label: "None", managing_agents_label: "None",
provider_type: "LA", provider_type: "LA",
) ) do
stock_owner2 = Organisation.find_or_create_by!( info = "Seeded Absorbing organisation Organisation"
name: "Stock Owner 2", if Rails.env.development?
address_line1: "2 Marsham Street", pp info
address_line2: "London", else
postcode: "SW1P 4DF", Rails.logger.info info
end
end
merging_organisation1 = Organisation.find_or_create_by!(
name: "Merging organisation 1",
address_line1: "Merging organisation 1 address line 1",
address_line2: "Merging organisation 1 address line 2",
postcode: "BA21 4AT",
holds_own_stock: true, holds_own_stock: true,
other_stock_owners: "None", other_stock_owners: "None",
managing_agents_label: "None", managing_agents_label: "None",
provider_type: "LA", provider_type: "PRP",
) )
managing_agent1 = Organisation.find_or_create_by!(
name: "Managing Agent 1 (PRP)", merging_organisation2 = Organisation.find_or_create_by!(
address_line1: "2 Marsham Street", name: "Merging organisation 2",
address_line2: "London", address_line1: "Merging organisation 2 address line 1",
postcode: "SW1P 4DF", address_line2: "Merging organisation 2 address line 2",
postcode: "BA21 4AT",
holds_own_stock: true, holds_own_stock: true,
other_stock_owners: "None", other_stock_owners: "None",
managing_agents_label: "None", managing_agents_label: "None",
provider_type: "PRP", provider_type: "PRP",
) )
managing_agent2 = Organisation.find_or_create_by!(
name: "Managing Agent 2", absorbing_organisation_stock_owner = Organisation.find_or_create_by!(
name: "Absorbing organisation Stock Owner",
address_line1: "2 Marsham Street", address_line1: "2 Marsham Street",
address_line2: "London", address_line2: "London",
postcode: "SW1P 4DF", postcode: "SW1P 4DF",
@ -60,8 +70,8 @@ unless Rails.env.test?
provider_type: "LA", provider_type: "LA",
) )
org = Organisation.find_or_create_by!( absorbing_organisation_managing_agent = Organisation.find_or_create_by!(
name: "DLUHC", name: "Absorbing organisation Managing Agent",
address_line1: "2 Marsham Street", address_line1: "2 Marsham Street",
address_line2: "London", address_line2: "London",
postcode: "SW1P 4DF", postcode: "SW1P 4DF",
@ -69,17 +79,10 @@ unless Rails.env.test?
other_stock_owners: "None", other_stock_owners: "None",
managing_agents_label: "None", managing_agents_label: "None",
provider_type: "LA", provider_type: "LA",
) do )
info = "Seeded DLUHC Organisation"
if Rails.env.development?
pp info
else
Rails.logger.info info
end
end
standalone_owns_stock = Organisation.find_or_create_by!( merging_organisation1_stock_owner = Organisation.find_or_create_by!(
name: "Standalone Owns Stock 1 Ltd", name: "Merging organisation 1 Stock Owner",
address_line1: "2 Marsham Street", address_line1: "2 Marsham Street",
address_line2: "London", address_line2: "London",
postcode: "SW1P 4DF", postcode: "SW1P 4DF",
@ -89,46 +92,65 @@ unless Rails.env.test?
provider_type: "LA", provider_type: "LA",
) )
standalone_no_stock = Organisation.find_or_create_by!( merging_organisation2_managing_agent = Organisation.find_or_create_by!(
name: "Standalone No Stock 1 Ltd", name: "Merging organisation 2 Managing Agent",
address_line1: "2 Marsham Street", address_line1: "2 Marsham Street",
address_line2: "London", address_line2: "London",
postcode: "SW1P 4DF", postcode: "SW1P 4DF",
holds_own_stock: false, holds_own_stock: true,
other_stock_owners: "None", other_stock_owners: "None",
managing_agents_label: "None", managing_agents_label: "None",
provider_type: "LA", provider_type: "PRP",
)
# organisation relationships
OrganisationRelationship.find_or_create_by!(
parent_organisation: absorbing_organisation,
child_organisation: absorbing_organisation_managing_agent,
)
OrganisationRelationship.find_or_create_by!(
parent_organisation: absorbing_organisation_stock_owner,
child_organisation: absorbing_organisation,
) )
OrganisationRelationship.find_or_create_by!(
parent_organisation: merging_organisation1_stock_owner,
child_organisation: merging_organisation1,
)
OrganisationRelationship.find_or_create_by!(
parent_organisation: merging_organisation2,
child_organisation: merging_organisation2_managing_agent,
)
# users
User.find_or_create_by!( User.find_or_create_by!(
name: "Provider Owns Stock", name: "Absorbing organisation Provider",
email: "provider.owner1@example.com", email: "provider@example.com",
organisation: standalone_owns_stock, organisation: org,
role: "data_provider", role: "data_provider",
is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
create_data_protection_confirmation(user)
end end
User.find_or_create_by!( User.find_or_create_by!(
name: "Coordinator Owns Stock", name: "Absorbing organisation Coordinator",
email: "coordinator.owner1@example.com", email: "coordinator@example.com",
organisation: standalone_owns_stock, organisation: org,
role: "data_coordinator", role: "data_coordinator",
is_dpo: true, is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
user.is_dpo = true
create_data_protection_confirmation(user) create_data_protection_confirmation(user)
end end
User.find_or_create_by!( User.find_or_create_by!(
name: "Provider No Stock", name: "Absorbing organisation Support",
email: "provider.nostock@example.com", email: "support@example.com",
organisation: standalone_no_stock, organisation: org,
role: "data_provider", role: "support",
is_dpo: true, is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
@ -136,269 +158,201 @@ unless Rails.env.test?
create_data_protection_confirmation(user) create_data_protection_confirmation(user)
end end
User.find_or_create_by!( merging_organisation1_provider = User.find_or_create_by!(
name: "Coordinator No Stock", name: "Merging organisation 1 Provider",
email: "coordinator.nostock@example.com", email: "merging_organisation1_provider@example.com",
organisation: standalone_no_stock, organisation: org,
role: "data_coordinator", role: "data_provider",
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
end end
User.find_or_create_by!( User.find_or_create_by!(
name: "Stock owner 1", name: "Merging organisation 1 Coordinator",
email: "stock_owner1_dpo@example.com", email: "merging_organisation1_coordinator@example.com",
organisation: stock_owner1, organisation: org,
role: "data_coordinator", role: "data_coordinator",
is_dpo: true, is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
user.is_dpo = true
create_data_protection_confirmation(user) create_data_protection_confirmation(user)
end end
User.find_or_create_by!( User.find_or_create_by!(
name: "Stock owner 2", name: "Merging organisation 2 Provider",
email: "stock_owner2_dpo@example.com", email: "merging_organisation2_provider@example.com",
organisation: stock_owner2, organisation: org,
role: "data_coordinator", role: "data_provider",
is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
create_data_protection_confirmation(user)
end end
User.find_or_create_by!( User.find_or_create_by!(
name: "Managing agent 1", name: "Merging organisation 2 Coordinator",
email: "managing_agent1_dpo@example.com", email: "merging_organisation2_coordinator@example.com",
organisation: managing_agent1, organisation: org,
role: "data_coordinator", role: "data_coordinator",
is_dpo: true, is_dpo: true,
) do |user| ) do |user|
user.password = "password" user.password = "password"
user.confirmed_at = Time.zone.now user.confirmed_at = Time.zone.now
user.is_dpo = true
create_data_protection_confirmation(user) create_data_protection_confirmation(user)
end end
User.find_or_create_by!( # sales logs
name: "Managing agent 2",
email: "managing_agent2_dpo@example.com", SalesLog.find_or_create_by!(
organisation: managing_agent2, created_by: merging_organisation1_provider,
role: "data_coordinator", owning_organisation: merging_organisation1,
is_dpo: true, managing_organisation: merging_organisation1,
) do |user| saledate: Date.new(2023, 4, 1),
user.password = "password" purchid: "Merging organisation 1 sale date before merge",
user.confirmed_at = Time.zone.now ownershipsch: 1,
create_data_protection_confirmation(user) type: 2,
end jointpur: 1,
jointmore: 1,
)
OrganisationRelationship.find_or_create_by!( SalesLog.find_or_create_by!(
parent_organisation: stock_owner1, created_by: merging_organisation1_provider,
child_organisation: org, owning_organisation: merging_organisation1,
managing_organisation: merging_organisation1,
saledate: Date.new(2023, 12, 1),
purchid: "Merging organisation 1 sale date after merge",
ownershipsch: 2,
type: 9,
jointpur: 1,
jointmore: 1,
) )
OrganisationRelationship.find_or_create_by!(
parent_organisation: stock_owner2, # lettings logs
child_organisation: org,
LettingsLog.find_or_create_by!(
created_by: merging_organisation1_provider,
owning_organisation: merging_organisation1,
managing_organisation: merging_organisation1,
startdate: Date.new(2023, 4, 1),
propcode: "Merging organisation 1 start date before merge",
renewal: 1,
rent_type: 1,
) )
OrganisationRelationship.find_or_create_by!(
parent_organisation: org, LettingsLog.find_or_create_by!(
child_organisation: managing_agent1, created_by: merging_organisation1_provider,
owning_organisation: merging_organisation1,
managing_organisation: merging_organisation1,
startdate: Date.new(2023, 12, 1),
propcode: "Merging organisation 1 start date after merge",
renewal: 1,
rent_type: 1,
) )
OrganisationRelationship.find_or_create_by!(
parent_organisation: org, LettingsLog.find_or_create_by!(
child_organisation: managing_agent2, created_by: merging_organisation2_provider,
owning_organisation: merging_organisation2,
managing_organisation: merging_organisation2,
startdate: Date.new(2023, 4, 1),
propcode: "Merging organisation 2 start date before merge",
renewal: 1,
rent_type: 1,
) )
if Rails.env.development? || Rails.env.review? LettingsLog.find_or_create_by!(
User.find_or_create_by!( created_by: merging_organisation2_provider,
name: "Provider", owning_organisation: merging_organisation2,
email: "provider@example.com", managing_organisation: merging_organisation2,
organisation: org, startdate: Date.new(2023, 12, 1),
role: "data_provider", propcode: "Merging organisation 2 start date after merge",
) do |user| renewal: 1,
user.password = "password" rent_type: 1,
user.confirmed_at = Time.zone.now )
end
User.find_or_create_by!( # schemes
name: "Coordinator", scheme1 = Scheme.create!(
email: "coordinator@example.com", service_name: "Merging organisation 1 scheme",
organisation: org, sensitive: 0,
role: "data_coordinator", registered_under_care_act: 1,
is_dpo: true, support_type: 2,
) do |user| scheme_type: 4,
user.password = "password" intended_stay: "M",
user.confirmed_at = Time.zone.now primary_client_group: "O",
user.is_dpo = true has_other_client_group: 1,
create_data_protection_confirmation(user) secondary_client_group: "H",
end owning_organisation: merging_organisation1,
arrangement_type: "D",
confirmed: true,
created_at: Time.zone.now,
)
support_user = User.find_or_create_by!( scheme2 = Scheme.create!(
name: "Support", service_name: "Merging organisation 2 scheme",
email: "support@example.com", sensitive: 0,
organisation: org, registered_under_care_act: 1,
role: "support", support_type: 2,
is_dpo: true, scheme_type: 5,
) do |user| intended_stay: "S",
user.password = "password" primary_client_group: "D",
user.confirmed_at = Time.zone.now secondary_client_group: "E",
create_data_protection_confirmation(user) has_other_client_group: 1,
end owning_organisation: merging_organisation2,
arrangement_type: "D",
confirmed: true,
created_at: Time.zone.now,
)
pp "Seeded dummy users" Scheme.create!(
end service_name: "Absorbing organisation scheme",
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: absorbing_organisation,
arrangement_type: "D",
confirmed: true,
created_at: Time.zone.now,
)
if (Rails.env.development? || Rails.env.review?) && SalesLog.count.zero? Location.create!(
SalesLog.find_or_create_by!( scheme: scheme1,
created_by: support_user, location_code: "E09000033",
owning_organisation: org, location_admin_district: "Westminster",
managing_organisation: org, postcode: "CU193AA",
saledate: Date.new(2023, 4, 1), name: "Rectory Road",
purchid: "1", type_of_unit: 4,
ownershipsch: 1, units: 1,
type: 2, mobility_type: "N",
jointpur: 1, )
jointmore: 1,
)
SalesLog.find_or_create_by!(
created_by: support_user,
owning_organisation: org,
managing_organisation: org,
saledate: Date.new(2023, 4, 1),
purchid: "1",
ownershipsch: 2,
type: 9,
jointpur: 1,
jointmore: 1,
)
SalesLog.find_or_create_by!(
created_by: support_user,
owning_organisation: org,
managing_organisation: org,
saledate: Date.new(2023, 4, 1),
purchid: "1",
ownershipsch: 3,
type: 10,
companybuy: 1,
)
pp "Seeded a sales log of each type"
end
if Rails.env.development? || Rails.env.review? Location.create!(
dummy_org = Organisation.find_or_create_by!( scheme: scheme1,
name: "FooBar LTD", location_code: "E09000033",
address_line1: "Higher Kingston", location_admin_district: "Westminster",
address_line2: "Yeovil", postcode: "DM250DC",
postcode: "BA21 4AT", name: "Smithy Lane",
holds_own_stock: true, type_of_unit: 1,
other_stock_owners: "None", units: 1,
managing_agents_label: "None", mobility_type: "W",
provider_type: "LA", )
)
pp "Seeded dummy FooBar LTD organisation"
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 = "password"
user.confirmed_at = Time.zone.now
create_data_protection_confirmation(user)
end
end
if (Rails.env.development? || Rails.env.review?) && Scheme.count.zero? Location.create!(
scheme1 = Scheme.create!( scheme: scheme2,
service_name: "Beulahside Care", location_code: "E09000033",
sensitive: 0, location_admin_district: "Westminster",
registered_under_care_act: 1, postcode: "YX130WP",
support_type: 2, name: "Smithy Lane",
scheme_type: 4, type_of_unit: 2,
intended_stay: "M", units: 1,
primary_client_group: "O", mobility_type: "W",
has_other_client_group: 1, )
secondary_client_group: "H",
owning_organisation: org,
arrangement_type: "D",
confirmed: true,
created_at: Time.zone.now,
)
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,
)
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,
)
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",
)
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",
)
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
if LocalAuthority.count.zero? if LocalAuthority.count.zero?
la_path = "config/local_authorities_data/initial_local_authorities.csv" la_path = "config/local_authorities_data/initial_local_authorities.csv"

Loading…
Cancel
Save