Browse Source

feat: update routing and hidden in check answers methods

pull/1815/head
natdeanlewissoftwire 3 years ago
parent
commit
83fc524058
  1. 2
      app/models/form/lettings/pages/stock_owner.rb
  2. 2
      app/models/form/lettings/questions/stock_owner.rb
  3. 23
      app/models/form/sales/pages/organisation.rb
  4. 2
      app/models/form/sales/questions/owning_organisation_id.rb

2
app/models/form/lettings/pages/stock_owner.rb

@ -14,7 +14,7 @@ class Form::Lettings::Pages::StockOwner < ::Form::Page
return false unless current_user return false unless current_user
return true if current_user.support? return true if current_user.support?
stock_owners = current_user.organisation.stock_owners stock_owners = current_user.organisation.stock_owners + current_user.organisation.absorbed_organisations.where(holds_own_stock: true)
if current_user.organisation.holds_own_stock? if current_user.organisation.holds_own_stock?
if current_user.organisation.absorbed_organisations.any?(&:holds_own_stock?) if current_user.organisation.absorbed_organisations.any?(&:holds_own_stock?)

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

@ -49,7 +49,7 @@ class Form::Lettings::Questions::StockOwner < ::Form::Question
def hidden_in_check_answers?(_log, user = nil) def hidden_in_check_answers?(_log, user = nil)
return false if user.support? return false if user.support?
stock_owners = user.organisation.stock_owners stock_owners = user.organisation.stock_owners + user.organisation.absorbed_organisations.where(holds_own_stock: true)
if user.organisation.holds_own_stock? if user.organisation.holds_own_stock?
stock_owners.count.zero? stock_owners.count.zero?

23
app/models/form/sales/pages/organisation.rb

@ -10,7 +10,26 @@ class Form::Sales::Pages::Organisation < ::Form::Page
] ]
end end
def routed_to?(_log, current_user) def routed_to?(log, current_user)
!!current_user&.support? || current_user&.organisation&.absorbed_organisations.present? return false unless current_user
return true if current_user.support?
stock_owners = current_user.organisation.stock_owners + current_user.organisation.absorbed_organisations.where(holds_own_stock: true)
if current_user.organisation.holds_own_stock?
if current_user.organisation.absorbed_organisations.any?(&:holds_own_stock?)
return true
end
return true if stock_owners.count >= 1
log.update!(owning_organisation: current_user.organisation)
else
return false if stock_owners.count.zero?
return true if stock_owners.count > 1
log.update!(owning_organisation: stock_owners.first)
end
false
end end
end end

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

@ -48,7 +48,7 @@ class Form::Sales::Questions::OwningOrganisationId < ::Form::Question
def hidden_in_check_answers?(_log, user = nil) def hidden_in_check_answers?(_log, user = nil)
return false if user.support? return false if user.support?
stock_owners = user.organisation.stock_owners stock_owners = user.organisation.stock_owners + user.organisation.absorbed_organisations.where(holds_own_stock: true)
if user.organisation.holds_own_stock? if user.organisation.holds_own_stock?
stock_owners.count.zero? stock_owners.count.zero?

Loading…
Cancel
Save