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.
71 lines
1.3 KiB
71 lines
1.3 KiB
class BulkUploadErrorRowComponent < ViewComponent::Base |
|
attr_reader :bulk_upload_errors |
|
|
|
def initialize(bulk_upload_errors:) |
|
@bulk_upload_errors = sorted_errors(bulk_upload_errors) |
|
|
|
super |
|
end |
|
|
|
def row |
|
bulk_upload_errors.first.row |
|
end |
|
|
|
def tenant_code |
|
bulk_upload_errors.first.tenant_code |
|
end |
|
|
|
def tenant_code_html |
|
return if tenant_code.blank? |
|
|
|
content_tag :span, class: "govuk-!-margin-left-3" do |
|
"Tenant code: #{tenant_code}" |
|
end |
|
end |
|
|
|
def purchaser_code |
|
bulk_upload_errors.first.purchaser_code |
|
end |
|
|
|
def purchaser_code_html |
|
return if purchaser_code.blank? |
|
|
|
content_tag :span, class: "govuk-!-margin-left-3" do |
|
"Purchaser code: #{purchaser_code}" |
|
end |
|
end |
|
|
|
def property_ref |
|
bulk_upload_errors.first.property_ref |
|
end |
|
|
|
def property_ref_html |
|
return if property_ref.blank? |
|
|
|
content_tag :span, class: "govuk-!-margin-left-3" do |
|
"Property reference: #{property_ref}" |
|
end |
|
end |
|
|
|
def question_for_field(field) |
|
bulk_upload.prefix_namespace::RowParser.question_for_field(field.to_sym) |
|
end |
|
|
|
def bulk_upload |
|
bulk_upload_errors.first.bulk_upload |
|
end |
|
|
|
def lettings? |
|
bulk_upload.log_type == "lettings" |
|
end |
|
|
|
def sales? |
|
bulk_upload.log_type == "sales" |
|
end |
|
|
|
private |
|
|
|
def sorted_errors(errors) |
|
errors.sort_by { |e| e.cell.rjust(3, "0") } |
|
end |
|
end
|
|
|