Browse Source

hide log creation button when viewing bulk upload

- this affects the logs index page filtering logs from a specific bulk
  upload
pull/1223/head
Phil Lee 3 years ago
parent
commit
0d89332556
  1. 7
      app/controllers/lettings_logs_controller.rb
  2. 25
      app/views/logs/index.html.erb
  3. 10
      spec/requests/lettings_logs_controller_spec.rb

7
app/controllers/lettings_logs_controller.rb

@ -4,6 +4,8 @@ class LettingsLogsController < LogsController
before_action :set_session_filters, if: :current_user
def index
extract_bulk_upload_from_session_filters
respond_to do |format|
format.html do
all_logs = current_user.lettings_logs
@ -109,6 +111,11 @@ class LettingsLogsController < LogsController
private
def extract_bulk_upload_from_session_filters
id = ((@session_filters["bulk_upload_id"] || []).reject(&:blank?))[0]
@bulk_upload = current_user.bulk_uploads.find_by(id:)
end
def permitted_log_params
params.require(:lettings_log).permit(LettingsLog.editable_fields)
end

25
app/views/logs/index.html.erb

@ -22,21 +22,24 @@
<% end %>
<div class="app-filter-layout" data-controller="filter-layout">
<div class="govuk-button-group app-filter-toggle govuk-!-margin-bottom-6">
<% if current_page?(controller: 'lettings_logs', action: 'index') %>
<%= govuk_button_to "Create a new lettings log", lettings_logs_path, class: "govuk-!-margin-right-6" %>
<% end %>
<% unless @bulk_upload %>
<div class="govuk-button-group app-filter-toggle govuk-!-margin-bottom-6">
<% if current_page?(controller: 'lettings_logs', action: 'index') %>
<%= govuk_button_to "Create a new lettings log", lettings_logs_path, class: "govuk-!-margin-right-6" %>
<% end %>
<% if FeatureToggle.sales_log_enabled? && current_page?(controller: 'sales_logs', action: 'index') %>
<%= govuk_button_to "Create a new sales log", sales_logs_path, class: "govuk-!-margin-right-6" %>
<% end %>
<% if FeatureToggle.sales_log_enabled? && current_page?(controller: 'sales_logs', action: 'index') %>
<%= govuk_button_to "Create a new sales log", sales_logs_path, class: "govuk-!-margin-right-6" %>
<% end %>
<% if FeatureToggle.bulk_upload_logs? %>
<%= govuk_button_link_to "Upload #{log_type_for_controller(controller)} logs in bulk", bulk_upload_path_for_controller(controller, id: "start"), secondary: true %>
<% end %>
</div>
<% if FeatureToggle.bulk_upload_logs? %>
<%= govuk_button_link_to "Upload #{log_type_for_controller(controller)} logs in bulk", bulk_upload_path_for_controller(controller, id: "start"), secondary: true %>
<% end %>
</div>
<% end %>
<%= render partial: "log_filters" %>
<div class="app-filter-layout__content">
<%= render SearchComponent.new(current_user:, search_label: "Search by log ID, tenant code, property reference or postcode", value: @searched) %>
<%= govuk_section_break(visible: true, size: "m") %>

10
spec/requests/lettings_logs_controller_spec.rb

@ -422,6 +422,11 @@ RSpec.describe LettingsLogsController, type: :request do
get "/lettings-logs?bulk_upload_id[]=#{bulk_upload.id}"
expect(page).to have_content("With logs from bulk upload")
end
it "hides button to create a new log" do
get "/lettings-logs?bulk_upload_id[]=#{bulk_upload.id}"
expect(page).not_to have_content("Create a new lettings log")
end
end
context "with bulk upload that belongs to another user" do
@ -448,6 +453,11 @@ RSpec.describe LettingsLogsController, type: :request do
get "/lettings-logs"
expect(page).not_to have_content("With logs from bulk upload")
end
it "displays button to create a new log" do
get "/lettings-logs"
expect(page).to have_content("Create a new lettings log")
end
end
end
end

Loading…
Cancel
Save