Browse Source

feat: update log org question selections

pull/1789/head
natdeanlewissoftwire 3 years ago
parent
commit
ee528596f5
  1. 6
      app/models/form/lettings/questions/managing_organisation.rb
  2. 6
      app/models/form/lettings/questions/stock_owner.rb
  3. 4
      app/models/form/sales/pages/organisation.rb
  4. 2
      app/models/form/sales/questions/owning_organisation_id.rb
  5. 2
      app/models/form/sales/subsections/setup.rb
  6. 2
      app/models/validations/setup_validations.rb
  7. 2
      spec/models/form/sales/pages/organisation_spec.rb
  8. 2
      spec/models/form/sales/questions/owning_organisation_id_spec.rb

6
app/models/form/lettings/questions/managing_organisation.rb

@ -28,10 +28,10 @@ class Form::Lettings::Questions::ManagingOrganisation < ::Form::Question
end
orgs = if user.support?
log.owning_organisation
log.owning_organisation.managing_agents
else
user.organisation
end.managing_agents.pluck(:id, :name).to_h
user.organisation.managing_agents + user.organisation.absorbed_organisations
end.pluck(:id, :name).to_h
opts.merge(orgs)
end

6
app/models/form/lettings/questions/stock_owner.rb

@ -23,13 +23,13 @@ class Form::Lettings::Questions::StockOwner < ::Form::Question
answer_opts[user.organisation.id] = "#{user.organisation.name} (Your organisation)"
end
stock_owners_answer_options = if user.support?
user_answer_options = if user.support?
Organisation.where(holds_own_stock: true)
else
user.organisation.stock_owners
user.organisation.stock_owners + user.organisation.absorbed_organisations
end.pluck(:id, :name).to_h
answer_opts.merge(stock_owners_answer_options)
answer_opts.merge(user_answer_options)
end
def displayed_answer_options(log, user = nil)

4
app/models/form/common/pages/organisation.rb → app/models/form/sales/pages/organisation.rb

@ -1,4 +1,4 @@
class Form::Common::Pages::Organisation < ::Form::Page
class Form::Sales::Pages::Organisation < ::Form::Page
def initialize(id, hsh, subsection)
super
@id = "organisation"
@ -6,7 +6,7 @@ class Form::Common::Pages::Organisation < ::Form::Page
def questions
@questions ||= [
Form::Common::Questions::OwningOrganisationId.new(nil, nil, self),
Form::Sales::Questions::OwningOrganisationId.new(nil, nil, self),
]
end

2
app/models/form/common/questions/owning_organisation_id.rb → app/models/form/sales/questions/owning_organisation_id.rb

@ -1,4 +1,4 @@
class Form::Common::Questions::OwningOrganisationId < ::Form::Question
class Form::Sales::Questions::OwningOrganisationId < ::Form::Question
def initialize(id, hsh, page)
super
@id = "owning_organisation_id"

2
app/models/form/sales/subsections/setup.rb

@ -7,7 +7,7 @@ class Form::Sales::Subsections::Setup < ::Form::Subsection
def pages
@pages ||= [
Form::Common::Pages::Organisation.new(nil, nil, self),
Form::Sales::Pages::Organisation.new(nil, nil, self),
Form::Sales::Pages::CreatedBy.new(nil, nil, self),
Form::Sales::Pages::SaleDate.new(nil, nil, self),
Form::Sales::Pages::PurchaserCode.new(nil, nil, self),

2
app/models/validations/setup_validations.rb

@ -41,7 +41,7 @@ module Validations::SetupValidations
def validate_organisation(record)
created_by, managing_organisation, owning_organisation = record.values_at("created_by", "managing_organisation", "owning_organisation")
unless [created_by, managing_organisation, owning_organisation].any?(&:blank?) || created_by.organisation == managing_organisation || created_by.organisation == owning_organisation
unless [created_by, managing_organisation, owning_organisation].any?(&:blank?) || created_by.organisation.absorbed_organisations << created_by.organisation & [managing_organisation, owning_organisation]
record.errors.add :created_by, I18n.t("validations.setup.created_by.invalid")
record.errors.add :owning_organisation_id, I18n.t("validations.setup.owning_organisation.invalid")
record.errors.add :managing_organisation_id, I18n.t("validations.setup.managing_organisation.invalid")

2
spec/models/form/common/pages/organisation_spec.rb → spec/models/form/sales/pages/organisation_spec.rb

@ -1,6 +1,6 @@
require "rails_helper"
RSpec.describe Form::Common::Pages::Organisation, type: :model do
RSpec.describe Form::Sales::Pages::Organisation, type: :model do
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }

2
spec/models/form/common/questions/owning_organisation_id_spec.rb → spec/models/form/sales/questions/owning_organisation_id_spec.rb

@ -1,6 +1,6 @@
require "rails_helper"
RSpec.describe Form::Common::Questions::OwningOrganisationId, type: :model do
RSpec.describe Form::Sales::Questions::OwningOrganisationId, type: :model do
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
Loading…
Cancel
Save