Browse Source

Move methods to controller

CLDC-3857-Add-new-questions-to-organisation-setup
Manny Dinssa 1 month ago
parent
commit
2762d20ca9
  1. 15
      app/controllers/organisations_controller.rb
  2. 19
      app/helpers/organisations_helper.rb

15
app/controllers/organisations_controller.rb

@ -91,7 +91,7 @@ class OrganisationsController < ApplicationController
selected_rent_periods = rent_period_params[:rent_periods].compact_blank selected_rent_periods = rent_period_params[:rent_periods].compact_blank
@organisation = Organisation.new(org_params) @organisation = Organisation.new(org_params)
if @organisation.save if @organisation.save
@organisation.update(group: helpers.assign_group_number(@organisation.id, org_params[:group_member_id])) if org_params[:group_member] @organisation.update(group: assign_group_number(@organisation.id, org_params[:group_member_id])) if org_params[:group_member]
OrganisationRentPeriod.transaction do OrganisationRentPeriod.transaction do
selected_rent_periods.each { |period| OrganisationRentPeriod.create!(organisation: @organisation, rent_period: period) } selected_rent_periods.each { |period| OrganisationRentPeriod.create!(organisation: @organisation, rent_period: period) }
end end
@ -129,7 +129,7 @@ class OrganisationsController < ApplicationController
def update def update
if (current_user.data_coordinator? && org_params[:active].nil?) || current_user.support? if (current_user.data_coordinator? && org_params[:active].nil?) || current_user.support?
if org_params[:group_member] && org_params[:group_member_id] if org_params[:group_member] && org_params[:group_member_id]
@organisation.group = helpers.assign_group_number(@organisation.id, org_params[:group_member_id]) @organisation.group = assign_group_number(@organisation.id, org_params[:group_member_id])
end end
if @organisation.update(org_params) if @organisation.update(org_params)
case org_params[:active] case org_params[:active]
@ -390,6 +390,17 @@ private
end end
end end
def assign_group_number(current_org_id, selected_org_id)
selected_org = Organisation.find_by(id: selected_org_id)
if selected_org&.group.present?
selected_org.group
else
next_group_number = next_available_group_number
selected_org.update!(group_member: true, group_member_id: current_org_id, group: next_group_number) if selected_org
next_group_number
end
end
def next_available_group_number def next_available_group_number
Organisation.maximum(:group).to_i + 1 Organisation.maximum(:group).to_i + 1
end end

19
app/helpers/organisations_helper.rb

@ -94,10 +94,6 @@ module OrganisationsHelper
" (GROUP#{org.oldest_group_member&.group})" " (GROUP#{org.oldest_group_member&.group})"
end end
def group_organisation_options_group(org)
org.oldest_group_member&.group || next_available_group_number
end
def profit_status_options(provider_type = nil) def profit_status_options(provider_type = nil)
null_option = [OpenStruct.new(id: "", name: "Select an option")] null_option = [OpenStruct.new(id: "", name: "Select an option")]
profit_statuses = Organisation::PROFIT_STATUS.map do |key, _value| profit_statuses = Organisation::PROFIT_STATUS.map do |key, _value|
@ -113,19 +109,4 @@ module OrganisationsHelper
null_option + profit_statuses null_option + profit_statuses
end end
def assign_group_number(current_org_id, selected_org_id)
selected_org = Organisation.find_by(id: selected_org_id)
if selected_org&.group.present?
selected_org.group
else
next_group_number = next_available_group_number
selected_org.update!(group_member: true, group_member_id: current_org_id, group: next_group_number) if selected_org
next_group_number
end
end
def next_available_group_number
Organisation.maximum(:group).to_i + 1
end
end end

Loading…
Cancel
Save