From f3a2c64a83d8be091adf6d2911bb8cdfec8f07bf Mon Sep 17 00:00:00 2001
From: jazairi <16103405+jazairi@users.noreply.github.com>
Date: Wed, 29 Jul 2026 10:40:03 -0700
Subject: [PATCH] Remove summary table from report dashboard
Why these changes are being introduced:
The report summary table is extremely inefficient
and probably not very useful.
Relevant ticket(s):
- [ETD-623](https://mitlibraries.atlassian.net/browse/ETD-623)
How this addresses that need:
This removes the summary table, so the report
index view just lists links to the individual
reports.
Side effects of this change:
- Link sidebar has been removed from the
dashboard, as it is now redundant.
- The report dashboard is now a visual design
abomination, but that feels better than a million
N+1 queries.
---
app/controllers/report_controller.rb | 6 +--
app/views/report/index.html.erb | 51 ++++++----------------
test/controllers/report_controller_test.rb | 22 +++-------
3 files changed, 21 insertions(+), 58 deletions(-)
diff --git a/app/controllers/report_controller.rb b/app/controllers/report_controller.rb
index d1f4074f..807861f2 100644
--- a/app/controllers/report_controller.rb
+++ b/app/controllers/report_controller.rb
@@ -88,11 +88,7 @@ def holds_by_source
@list = filter_holds_by_source term_filtered
end
- def index
- report = Report.new
- @terms = Thesis.pluck(:grad_date).uniq.sort
- @data = report.index_data
- end
+ def index; end
def term
term = params[:graduation] ? params[:graduation].to_s : 'all'
diff --git a/app/views/report/index.html.erb b/app/views/report/index.html.erb
index 347a19f9..411b4790 100644
--- a/app/views/report/index.html.erb
+++ b/app/views/report/index.html.erb
@@ -2,44 +2,19 @@
-
Thesis dashboard
+
Report dashboard
-
-
The tables below summarize information about the thesis records which have been supplied to this application across academic terms.
-
Click on a column heading to see more detailed information about the theses from that term.
<%= link_to("Theses submitted by students", report_student_submitted_theses_path) %>
+
<%= link_to("Thesis information by term", report_term_path) %>
+
-
-
diff --git a/test/controllers/report_controller_test.rb b/test/controllers/report_controller_test.rb
index bf639be9..1f652adc 100644
--- a/test/controllers/report_controller_test.rb
+++ b/test/controllers/report_controller_test.rb
@@ -49,20 +49,20 @@ def create_thesis_with_whodunnit(user)
end
# ~~~~~~~~~~~~~~~~~~~~ Report dashboard ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- test 'summary report exists' do
+ test 'report dashboard exists' do
sign_in users(:admin)
get report_index_path
assert_response :success
end
- test 'anonymous users are prompted to log in by summary report' do
+ test 'anonymous users are prompted to log in by report dashboard' do
# Note that nobody is signed in.
get report_index_path
assert_response :redirect
assert_redirected_to '/login'
end
- test 'basic users cannot see summary report' do
+ test 'basic users cannot see report dashboard' do
sign_in users(:basic)
get report_index_path
assert_redirected_to '/'
@@ -70,7 +70,7 @@ def create_thesis_with_whodunnit(user)
assert_select 'div.alert', text: 'Not authorized.', count: 1
end
- test 'submitters cannot see summary report' do
+ test 'submitters cannot see report dashboard' do
sign_in users(:transfer_submitter)
get report_index_path
assert_redirected_to '/'
@@ -78,32 +78,24 @@ def create_thesis_with_whodunnit(user)
assert_select 'div.alert', text: 'Not authorized.', count: 1
end
- test 'processors can see summary report' do
+ test 'processors can see report dashboard' do
sign_in users(:processor)
get report_index_path
assert_response :success
end
- test 'thesis_admins can see summary report' do
+ test 'thesis_admins can see report dashboard' do
sign_in users(:thesis_admin)
get report_index_path
assert_response :success
end
- test 'admins can see summary report' do
+ test 'admins can see report dashboard' do
sign_in users(:admin)
get report_index_path
assert_response :success
end
- # ~~~~ Dashboard features
-
- test 'summary report has links to term-specific pages for all terms' do
- sign_in users(:processor)
- get report_index_path
- assert_select 'table:first-of-type thead a', count: Thesis.pluck(:grad_date).uniq.count
- end
-
# ~~~~~~~~~~~~~~~~~~~~ Report empty theses ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
test 'empty theses report exists' do
sign_in users(:admin)