diff --git a/app/frontend/styles/application.scss b/app/frontend/styles/application.scss index 03a6ab6f2..2bd4fc487 100644 --- a/app/frontend/styles/application.scss +++ b/app/frontend/styles/application.scss @@ -44,6 +44,7 @@ $govuk-breakpoints: ( @import "search"; @import "sub-navigation"; @import "errors"; +@import "log-list"; // App utilities .app-\!-colour-muted { @@ -52,7 +53,7 @@ $govuk-breakpoints: ( } .app-\!-colour-red { - color: govuk-colour("red"); + color: govuk-colour("red") !important; } .app-\!-font-tabular { diff --git a/app/helpers/filters_helper.rb b/app/helpers/filters_helper.rb index 51472b299..f27b9eb7e 100644 --- a/app/helpers/filters_helper.rb +++ b/app/helpers/filters_helper.rb @@ -11,6 +11,17 @@ module FiltersHelper selected_filters[filter].include?(value.to_s) end + def any_filter_selected? + return false unless session[:logs_filters] + + selected_filters = JSON.parse(session[:logs_filters]) + filter_selected?("user", "yours") || + selected_filters["organisation"]&.present? || + selected_filters["status"]&.compact_blank&.any? || + selected_filters["years"]&.compact_blank&.any? || + selected_filters["bulk_upload_id"]&.compact_blank&.any? + end + def status_filters { "not_started" => "Not started", diff --git a/app/helpers/log_list_helper.rb b/app/helpers/log_list_helper.rb new file mode 100644 index 000000000..e5d705066 --- /dev/null +++ b/app/helpers/log_list_helper.rb @@ -0,0 +1,9 @@ +module LogListHelper + def display_delete_logs? + if @current_user.data_provider? + filter_selected?("user", "yours") + else + any_filter_selected? || @searched.present? + end + end +end diff --git a/app/views/logs/_log_list.html.erb b/app/views/logs/_log_list.html.erb index e92186d4d..a6b97c3f4 100644 --- a/app/views/logs/_log_list.html.erb +++ b/app/views/logs/_log_list.html.erb @@ -1,11 +1,20 @@

+
+
<%= render(SearchResultCaptionComponent.new(searched:, count: pagy.count, item_label:, total_count:, item: "logs", path: request.path)) %> <% if logs&.any? %> <%= govuk_link_to "Download (CSV)", csv_download_url, type: "text/csv", class: "govuk-!-margin-right-4" %> <% if @current_user.support? %> - <%= govuk_link_to "Download (CSV, codes only)", csv_codes_only_download_url, type: "text/csv" %> + <%= govuk_link_to "Download (CSV, codes only)", csv_codes_only_download_url, type: "text/csv", class: "govuk-!-margin-right-4" %> <% end %> <% end %> +
+
+ <% if display_delete_logs? %> + <%= govuk_link_to "Delete logs", "#", class: "app-!-colour-red" %> + <% end %> +
+

<% logs.map do |log| %> <%= render(LogSummaryComponent.new(current_user:, log:)) %>