|
|
|
class Form::Lettings::Pages::StockOwner < ::Form::Page
|
|
|
|
def initialize(id, hsh, subsection)
|
|
|
|
super
|
|
|
|
@id = "stock_owner"
|
|
|
|
end
|
|
|
|
|
|
|
|
def questions
|
|
|
|
@questions ||= [
|
|
|
|
Form::Lettings::Questions::StockOwner.new(nil, nil, self),
|
|
|
|
]
|
|
|
|
end
|
|
|
|
|
|
|
|
def routed_to?(log, current_user)
|
|
|
|
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?
|
|
|
|
return true if current_user.organisation.absorbed_organisations.any?(&:holds_own_stock?)
|
|
|
|
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
|