Browse Source

Make uploading organisation search and filter by the bulk upload organisation id

pull/2666/head
Manny Dinssa 2 years ago
parent
commit
9ed5ef9c80
  1. 2
      app/components/bulk_upload_summary_component.html.erb
  2. 8
      app/models/bulk_upload.rb

2
app/components/bulk_upload_summary_component.html.erb

@ -9,7 +9,7 @@
</header>
<div class="govuk-!-margin-bottom-2">
<p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Uploaded by: <%= bulk_upload.user.name %> (<%= bulk_upload.user.email %>)</p>
<p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Uploading organisation: <%= bulk_upload.user.organisation.name %></p>
<p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Uploading organisation: <%= bulk_upload.organisation.name %></p>
<p class="govuk-hint govuk-!-font-size-16 govuk-!-margin-bottom-1">Time of upload: <%= bulk_upload.created_at.to_formatted_s(:govuk_date_and_time) %></p>
</div>
<p class="govuk-body govuk-!-margin-bottom-3">

8
app/models/bulk_upload.rb

@ -15,7 +15,7 @@ class BulkUpload < ApplicationRecord
scope :search_by_filename, ->(filename) { where("filename ILIKE ?", "%#{filename}%") }
scope :search_by_user_name, ->(name) { where(user_id: User.where("name ILIKE ?", "%#{name}%").select(:id)) }
scope :search_by_user_email, ->(email) { where(user_id: User.where("email ILIKE ?", "%#{email}%").select(:id)) }
scope :search_by_organisation_name, ->(name) { where(user_id: User.joins(:organisation).where("organisations.name ILIKE ?", "%#{name}%").select(:id)) }
scope :search_by_organisation_name, ->(name) { where(organisation_id: Organisation.where("name ILIKE ?", "%#{name}%").select(:id)) }
scope :search_by, lambda { |param|
search_by_filename(param)
@ -34,7 +34,7 @@ class BulkUpload < ApplicationRecord
scope :filter_by_uploaded_by, ->(user_id, _user = nil) { where(user_id:) }
scope :filter_by_user_text_search, ->(param, _user = nil) { where(user_id: User.search_by(param).select(:id)) }
scope :filter_by_user, ->(user_id, _user = nil) { user_id.present? ? where(user_id:) : all }
scope :filter_by_uploading_organisation, ->(organisation_id, _user = nil) { where(user_id: User.where(organisation_id:).select(:id)) }
scope :filter_by_uploading_organisation, ->(organisation_id, _user = nil) { where(organisation_id:) }
def completed?
incomplete_logs = logs.where.not(status: "completed")
@ -151,6 +151,10 @@ class BulkUpload < ApplicationRecord
User.find_by(id: moved_user_id)&.name
end
def organisation
Organisation.find_by(id: organisation_id)
end
private
def generate_identifier

Loading…
Cancel
Save