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 before_action :set_session_filters, if: :current_user
def index def index
extract_bulk_upload_from_session_filters
respond_to do |format| respond_to do |format|
format.html do format.html do
all_logs = current_user.lettings_logs all_logs = current_user.lettings_logs
@ -109,6 +111,11 @@ class LettingsLogsController < LogsController
private 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 def permitted_log_params
params.require(:lettings_log).permit(LettingsLog.editable_fields) params.require(:lettings_log).permit(LettingsLog.editable_fields)
end end

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

@ -22,21 +22,24 @@
<% end %> <% end %>
<div class="app-filter-layout" data-controller="filter-layout"> <div class="app-filter-layout" data-controller="filter-layout">
<div class="govuk-button-group app-filter-toggle govuk-!-margin-bottom-6"> <% unless @bulk_upload %>
<% if current_page?(controller: 'lettings_logs', action: 'index') %> <div class="govuk-button-group app-filter-toggle govuk-!-margin-bottom-6">
<%= govuk_button_to "Create a new lettings log", lettings_logs_path, class: "govuk-!-margin-right-6" %> <% if current_page?(controller: 'lettings_logs', action: 'index') %>
<% end %> <%= 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') %> <% 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" %> <%= govuk_button_to "Create a new sales log", sales_logs_path, class: "govuk-!-margin-right-6" %>
<% end %> <% end %>
<% if FeatureToggle.bulk_upload_logs? %> <% 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 %> <%= govuk_button_link_to "Upload #{log_type_for_controller(controller)} logs in bulk", bulk_upload_path_for_controller(controller, id: "start"), secondary: true %>
<% end %> <% end %>
</div> </div>
<% end %>
<%= render partial: "log_filters" %> <%= render partial: "log_filters" %>
<div class="app-filter-layout__content"> <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) %> <%= 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") %> <%= 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}" get "/lettings-logs?bulk_upload_id[]=#{bulk_upload.id}"
expect(page).to have_content("With logs from bulk upload") expect(page).to have_content("With logs from bulk upload")
end 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 end
context "with bulk upload that belongs to another user" do context "with bulk upload that belongs to another user" do
@ -448,6 +453,11 @@ RSpec.describe LettingsLogsController, type: :request do
get "/lettings-logs" get "/lettings-logs"
expect(page).not_to have_content("With logs from bulk upload") expect(page).not_to have_content("With logs from bulk upload")
end 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 end
end end

Loading…
Cancel
Save