diff --git a/app/assets/stylesheets/admin/reports.css.scss b/app/assets/stylesheets/admin/reports.css.scss new file mode 100644 index 0000000000..aab6be0c0f --- /dev/null +++ b/app/assets/stylesheets/admin/reports.css.scss @@ -0,0 +1,7 @@ +.report__message { + margin-top: 2em; + border: 1px solid #cee1f4; + border-radius: .5em; + padding: .5em; + text-align: center; +} diff --git a/app/controllers/spree/admin/reports_controller_decorator.rb b/app/controllers/spree/admin/reports_controller_decorator.rb index 2af21ddac3..657c6b6bb8 100644 --- a/app/controllers/spree/admin/reports_controller_decorator.rb +++ b/app/controllers/spree/admin/reports_controller_decorator.rb @@ -17,6 +17,8 @@ require 'open_food_network/orders_and_fulfillments_report' Spree::Admin::ReportsController.class_eval do include Spree::ReportsHelper + helper_method :render_content? + before_filter :cache_search_state # Fetches user's distributors, suppliers and order_cycles before_filter :load_data, only: [:customers, :products_and_inventory, :order_cycle_management, :packing] diff --git a/app/views/spree/admin/reports/_table.html.haml b/app/views/spree/admin/reports/_table.html.haml index d0c4af8a5d..7d0d9aaef7 100644 --- a/app/views/spree/admin/reports/_table.html.haml +++ b/app/views/spree/admin/reports/_table.html.haml @@ -1,21 +1,25 @@ - column_partials ||= {} -%br -%br -%table{id: id} - %thead - %tr - - @header.each do |heading| - %th= heading - %tbody - - @table.each do |row| +- if render_content? + %br + %br + %table{id: id} + %thead %tr - - row.each_with_index do |cell_value, column_index| - %td - - partial = column_partials[column_index] - - if partial - = render partial, value: cell_value - - else - = cell_value - - if @table.empty? - %tr - %td{colspan: @header.count}= t(:none) + - @header.each do |heading| + %th= heading + %tbody + - @table.each do |row| + %tr + - row.each_with_index do |cell_value, column_index| + %td + - partial = column_partials[column_index] + - if partial + = render partial, value: cell_value + - else + = cell_value + - if @table.empty? + %tr + %td{colspan: @header.count}= t(:none) +- else + %p.report__message + = t(".select_and_search") diff --git a/config/locales/en.yml b/config/locales/en.yml index 2a38a62e36..707579765a 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -2598,6 +2598,8 @@ See the %{link} to find out more about %{sitename}'s features and to start using display_as: display_as: Display As reports: + table: + select_and_search: "Select filters and click on SEARCH to access your data." bulk_coop: bulk_coop_supplier_report: 'Bulk Co-op - Totals by Supplier' bulk_coop_allocation: 'Bulk Co-op - Allocation' diff --git a/spec/features/admin/reports_spec.rb b/spec/features/admin/reports_spec.rb index 31be0bd499..3435d487e6 100644 --- a/spec/features/admin/reports_spec.rb +++ b/spec/features/admin/reports_spec.rb @@ -39,6 +39,8 @@ feature %q{ scenario "customers report" do click_link "Mailing List" expect(page).to have_select('report_type', selected: 'Mailing List') + expect(page).to have_content "click on SEARCH" + click_button "Search" rows = find("table#listing_customers").all("thead tr") table = rows.map { |r| r.all("th").map { |c| c.text.strip } } @@ -51,6 +53,7 @@ feature %q{ click_link "Addresses" expect(page).to have_select('report_type', selected: 'Addresses') + click_button "Search" rows = find("table#listing_customers").all("thead tr") table = rows.map { |r| r.all("th").map { |c| c.text.strip } } expect(table.sort).to eq([ @@ -67,6 +70,7 @@ feature %q{ scenario "payment method report" do click_link "Payment Methods Report" + click_button "Search" rows = find("table#listing_ocm_orders").all("thead tr") table = rows.map { |r| r.all("th").map { |c| c.text.strip } } expect(table.sort).to eq([ @@ -76,6 +80,7 @@ feature %q{ scenario "delivery report" do click_link "Delivery Report" + click_button "Search" rows = find("table#listing_ocm_orders").all("thead tr") table = rows.map { |r| r.all("th").map { |c| c.text.strip } } expect(table.sort).to eq([ @@ -148,6 +153,7 @@ feature %q{ login_to_admin_section click_link 'Reports' click_link 'Orders And Distributors' + click_button 'Search' expect(page).to have_content 'Order date' end @@ -156,6 +162,7 @@ feature %q{ login_to_admin_section click_link 'Reports' click_link 'Bulk Co-Op' + click_button 'Search' expect(page).to have_content 'Supplier' end @@ -164,6 +171,7 @@ feature %q{ login_to_admin_section click_link 'Reports' click_link 'Payment Reports' + click_button 'Search' expect(page).to have_content 'Payment State' end