Skip to content

Commit 6822aeb

Browse files
authored
Display the data sponsor and data manager in the dashboard listing (#2247)
Closes #2236 <img width="1036" height="675" alt="Screenshot 2025-11-25 at 3 07 41 PM" src="https://github.com/user-attachments/assets/3b6a2189-7f71-4b17-97e5-e66c8fed3cb3" />
1 parent 990acfb commit 6822aeb

File tree

4 files changed

+34
-0
lines changed

4 files changed

+34
-0
lines changed

app/assets/stylesheets/_dashboard.scss

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,18 @@
201201
align-items: center;
202202
gap: 1rem;
203203

204+
.data-sponsor {
205+
text-transform: none;
206+
}
207+
208+
.data-manager {
209+
text-transform: none;
210+
}
211+
212+
.netid-large {
213+
text-transform: none;
214+
}
215+
204216
.path {
205217
display: flex;
206218
align-items: center;

app/models/user.rb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,13 @@ def display_name_safe
9797
[given_name, family_name, "(#{uid})"].compact.join(" ")
9898
end
9999

100+
# Return the display name if it exists, otherwise return the uid
101+
# @return [String]
102+
def display_name_only_safe
103+
return uid if given_name.blank? && family_name.blank?
104+
[given_name, family_name].compact.join(" ")
105+
end
106+
100107
# Is this user eligible to be a data sponsor in this environment?
101108
# @return [Boolean]
102109
def eligible_sponsor?

app/views/dashboard/_project_list_view.html.erb

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@
44
<div class="title">
55
<a class="click-row" href="<%= project_path(project.id) %>" tabindex="0" ><%= project.title %></a>
66
</div>
7+
<div class="summary">
8+
<span class="data-sponsor"><b>Data Sponsor:</b> <%= project.data_sponsor.display_name_only_safe %></span>
9+
<span class="netid-large"><%= project.data_sponsor.uid %></span>
10+
|
11+
<span class="data-manager"><b>Data Manager:</b> <%= project.data_manager.display_name_only_safe %></span>
12+
<span class="netid-large"><%= project.data_manager.uid %></span>
13+
</div>
714
<div class="summary">
815
<div class="path"> <%= project.path %></div>
916
</div>

spec/system/dashboard_spec.rb

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,18 @@
5858

5959
expect(page).to have_content "Sponsor"
6060
expect(page).to have_content "project 111"
61+
expect(page).to have_content "Data Sponsor: #{current_user.display_name_only_safe}\n#{current_user.uid}"
62+
expect(page).to have_content "Data Manager: #{other_user.display_name_only_safe}\n#{other_user.uid}"
63+
6164
expect(page).to have_content "Data Manager"
6265
expect(page).to have_content "project 222"
66+
expect(page).to have_content "Data Sponsor: #{other_user.display_name_only_safe}\n#{other_user.uid}"
67+
expect(page).to have_content "Data Manager: #{current_user.display_name_only_safe}\n#{current_user.uid}"
68+
6369
expect(page).to have_content "Data User"
6470
expect(page).to have_content "project 333"
71+
expect(page).to have_content "Data Sponsor: #{other_user.display_name_only_safe}\n#{other_user.uid}"
72+
expect(page).to have_content "Data Manager: #{other_user.display_name_only_safe}\n#{other_user.uid}"
6573
end
6674

6775
it "shows the latests downloads available" do

0 commit comments

Comments
 (0)