You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
995 B
54 lines
995 B
class BulkUpload < ApplicationRecord |
|
enum log_type: { lettings: "lettings", sales: "sales" } |
|
|
|
belongs_to :user |
|
|
|
has_many :bulk_upload_errors, dependent: :destroy |
|
|
|
has_many :lettings_logs |
|
has_many :sales_logs |
|
|
|
after_initialize :generate_identifier, unless: :identifier |
|
|
|
def year_combo |
|
"#{year}/#{year - 2000 + 1}" |
|
end |
|
|
|
def logs |
|
if lettings? |
|
lettings_logs |
|
else |
|
sales_logs |
|
end |
|
end |
|
|
|
def form |
|
@form ||= if lettings? |
|
FormHandler.instance.lettings_form_for_start_year(year) |
|
else |
|
FormHandler.instance.sales_form_for_start_year(year) |
|
end |
|
end |
|
|
|
def columns_with_errors |
|
bulk_upload_errors |
|
.select(:col) |
|
.distinct(:col) |
|
.pluck(:col) |
|
.sort_by { |col| col.rjust(2, "0") } |
|
end |
|
|
|
def general_needs? |
|
needstype == 1 |
|
end |
|
|
|
def supported_housing? |
|
needstype == 2 |
|
end |
|
|
|
private |
|
|
|
def generate_identifier |
|
self.identifier ||= SecureRandom.uuid |
|
end |
|
end
|
|
|