Skip to content

Commit

Permalink
Deduplicate BU forms
Browse files Browse the repository at this point in the history
  • Loading branch information
kosiakkatrina committed Dec 16, 2024
1 parent 5e0f3eb commit f325687
Show file tree
Hide file tree
Showing 21 changed files with 362 additions and 655 deletions.
10 changes: 5 additions & 5 deletions app/controllers/bulk_upload_lettings_logs_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ def have_choice_of_year?
def form
@form ||= case params[:id]
when "year"
Forms::BulkUploadLettings::Year.new(form_params)
Forms::BulkUploadForm::Year.new(form_params.merge(log_type: "lettings"))
when "prepare-your-file"
Forms::BulkUploadLettings::PrepareYourFile.new(form_params)
Forms::BulkUploadForm::PrepareYourFile.new(form_params.merge(log_type: "lettings"))
when "guidance"
Forms::BulkUploadLettings::Guidance.new(form_params.merge(referrer: params[:referrer]))
Forms::BulkUploadForm::Guidance.new(form_params.merge(referrer: params[:referrer], log_type: "lettings"))
when "upload-your-file"
Forms::BulkUploadLettings::UploadYourFile.new(form_params.merge(current_user:))
Forms::BulkUploadForm::UploadYourFile.new(form_params.merge(current_user:, log_type: "lettings"))
when "checking-file"
Forms::BulkUploadLettings::CheckingFile.new(form_params)
Forms::BulkUploadForm::CheckingFile.new(form_params.merge(log_type: "lettings"))
else
raise "Page not found for path #{params[:id]}"
end
Expand Down
10 changes: 5 additions & 5 deletions app/controllers/bulk_upload_sales_logs_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -58,15 +58,15 @@ def have_choice_of_year?
def form
@form ||= case params[:id]
when "year"
Forms::BulkUploadSales::Year.new(form_params)
Forms::BulkUploadForm::Year.new(form_params.merge(log_type: "sales"))
when "prepare-your-file"
Forms::BulkUploadSales::PrepareYourFile.new(form_params)
Forms::BulkUploadForm::PrepareYourFile.new(form_params.merge(log_type: "sales"))
when "guidance"
Forms::BulkUploadSales::Guidance.new(form_params.merge(referrer: params[:referrer]))
Forms::BulkUploadForm::Guidance.new(form_params.merge(referrer: params[:referrer], log_type: "sales"))
when "upload-your-file"
Forms::BulkUploadSales::UploadYourFile.new(form_params.merge(current_user:))
Forms::BulkUploadForm::UploadYourFile.new(form_params.merge(current_user:, log_type: "sales"))
when "checking-file"
Forms::BulkUploadSales::CheckingFile.new(form_params)
Forms::BulkUploadForm::CheckingFile.new(form_params.merge(log_type: "sales"))
else
raise "Page not found for path #{params[:id]}"
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
module Forms
module BulkUploadLettings
module BulkUploadForm
class CheckingFile
include ActiveModel::Model
include ActiveModel::Attributes
include Rails.application.routes.url_helpers

attribute :log_type
attribute :year, :integer
attribute :organisation_id, :integer

def view_path
"bulk_upload_lettings_logs/forms/checking_file"
"bulk_upload_#{log_type}_logs/forms/checking_file"
end

def back_path
if organisation_id.present?
lettings_logs_organisation_path(organisation_id)
send("#{log_type}_logs_organisation_path", organisation_id)
else
bulk_upload_lettings_log_path(id: "start")
send("bulk_upload_#{log_type}_log_path", id: "start")
end
end

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
module Forms
module BulkUploadLettings
module BulkUploadForm
class Guidance
include ActiveModel::Model
include ActiveModel::Attributes
include Rails.application.routes.url_helpers
include CollectionTimeHelper

attribute :log_type
attribute :year, :integer
attribute :referrer
attribute :organisation_id, :integer
Expand All @@ -23,7 +24,7 @@ def view_path
def back_path
case referrer
when "prepare-your-file"
bulk_upload_lettings_log_path(id: "prepare-your-file", form: { year:, organisation_id: }.compact)
send("bulk_upload_#{log_type}_log_path", id: "prepare-your-file", form: { year:, organisation_id: }.compact)
when "home"
root_path
else
Expand Down
Original file line number Diff line number Diff line change
@@ -1,42 +1,43 @@
module Forms
module BulkUploadSales
module BulkUploadForm
class PrepareYourFile
include ActiveModel::Model
include ActiveModel::Attributes
include Rails.application.routes.url_helpers

attribute :log_type
attribute :year, :integer
attribute :organisation_id, :integer

def view_path
case year
when 2023
"bulk_upload_sales_logs/forms/prepare_your_file_2023"
"bulk_upload_#{log_type}_logs/forms/prepare_your_file_2023"
when 2024
"bulk_upload_sales_logs/forms/prepare_your_file_2024"
"bulk_upload_#{log_type}_logs/forms/prepare_your_file_2024"
end
end

def back_path
if have_choice_of_year?
Rails.application.routes.url_helpers.bulk_upload_sales_log_path(id: "year", form: { year: }.compact)
Rails.application.routes.url_helpers.send("bulk_upload_#{log_type}_log_path", id: "year", form: { year: }.compact)
elsif organisation_id.present?
sales_logs_organisation_path(organisation_id)
send("#{log_type}_logs_organisation_path", organisation_id)
else
Rails.application.routes.url_helpers.sales_logs_path
Rails.application.routes.url_helpers.send("#{log_type}_logs_path")
end
end

def next_path
bulk_upload_sales_log_path(id: "upload-your-file", form: { year:, organisation_id: }.compact)
send("bulk_upload_#{log_type}_log_path", id: "upload-your-file", form: { year:, organisation_id: }.compact)
end

def template_path
download_mandatory_collection_resource_path(year:, log_type: "sales", resource_type: "bulk_upload_template")
download_mandatory_collection_resource_path(year:, log_type:, resource_type: "bulk_upload_template")
end

def specification_path
download_mandatory_collection_resource_path(year:, log_type: "sales", resource_type: "bulk_upload_specification")
download_mandatory_collection_resource_path(year:, log_type:, resource_type: "bulk_upload_specification")
end

def year_combo
Expand All @@ -52,7 +53,7 @@ def save!
def have_choice_of_year?
return true if FeatureToggle.allow_future_form_use?

FormHandler.instance.sales_in_crossover_period?
FormHandler.instance.send("#{log_type}_in_crossover_period?")
end
end
end
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
require "shellwords"

module Forms
module BulkUploadLettings
module BulkUploadForm
class UploadYourFile
include ActiveModel::Model
include ActiveModel::Attributes
include Rails.application.routes.url_helpers

attribute :log_type
attribute :year, :integer
attribute :needstype, :integer
attribute :file
attribute :current_user
attribute :organisation_id, :integer
Expand All @@ -18,27 +18,26 @@ class UploadYourFile
validate :validate_file_size

def view_path
"bulk_upload_lettings_logs/forms/upload_your_file"
"bulk_upload_#{log_type}_logs/forms/upload_your_file"
end

def back_path
bulk_upload_lettings_log_path(id: "prepare-your-file", form: { year:, needstype:, organisation_id: }.compact)
send("bulk_upload_#{log_type}_log_path", id: "prepare-your-file", form: { year:, organisation_id: }.compact)
end

def year_combo
"#{year} to #{year + 1}"
end

def next_path
bulk_upload_lettings_log_path(id: "checking-file", form: { year:, organisation_id: }.compact)
send("bulk_upload_#{log_type}_log_path", id: "checking-file", form: { year:, organisation_id: }.compact)
end

def save!
bulk_upload = BulkUpload.create!(
user: current_user,
log_type: BulkUpload.log_types[:lettings],
log_type: BulkUpload.log_types[log_type.to_sym],
year:,
needstype:,
filename: file.original_filename,
organisation_id: (organisation_id if current_user.support?) || current_user.organisation_id,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
module Forms
module BulkUploadLettings
module BulkUploadForm
class Year
include ActiveModel::Model
include ActiveModel::Attributes
include Rails.application.routes.url_helpers

attribute :log_type
attribute :year, :integer
attribute :organisation_id, :integer

validates :year, presence: true

def view_path
"bulk_upload_lettings_logs/forms/year"
"bulk_upload_#{log_type}_logs/forms/year"
end

def options
Expand All @@ -22,14 +23,14 @@ def options

def back_path
if organisation_id.present?
lettings_logs_organisation_path(organisation_id)
send("#{log_type}_logs_organisation_path", organisation_id)
else
lettings_logs_path
send("#{log_type}_logs_path")
end
end

def next_path
bulk_upload_lettings_log_path(id: "prepare-your-file", form: { year:, organisation_id: }.compact)
send("bulk_upload_#{log_type}_log_path", id: "prepare-your-file", form: { year:, organisation_id: }.compact)
end

def save!
Expand All @@ -40,9 +41,9 @@ def save!

def possible_years
[
FormHandler.instance.lettings_forms["current_lettings"].start_date.year,
(FormHandler.instance.previous_lettings_form.start_date.year if FormHandler.instance.lettings_in_crossover_period?),
(FormHandler.instance.next_lettings_form.start_date.year if FeatureToggle.allow_future_form_use?),
FormHandler.instance.send("#{log_type}_forms")["current_#{log_type}"].start_date.year,
(FormHandler.instance.send("previous_#{log_type}_form").start_date.year if FormHandler.instance.send("#{log_type}_in_crossover_period?")),
(FormHandler.instance.send("next_#{log_type}_form").start_date.year if FeatureToggle.allow_future_form_use?),
].compact
end
end
Expand Down
60 changes: 0 additions & 60 deletions app/models/forms/bulk_upload_lettings/prepare_your_file.rb

This file was deleted.

32 changes: 0 additions & 32 deletions app/models/forms/bulk_upload_sales/checking_file.rb

This file was deleted.

Loading

0 comments on commit f325687

Please sign in to comment.