Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion coldfront/core/user/views_/request_hub_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,11 +144,19 @@ def get_faculty_storage_allocation_request(self):
status__name__in=complete_status_names, *args
).order_by('-request_time')

# Add requested_amount_tb to each request for template display
# Add amounts to each request for template display
for request in fsa_request_list_pending:
request.requested_amount_tb = request.requested_amount_gb // 1000
request.approved_amount_tb = (
request.approved_amount_gb // 1000
if request.approved_amount_gb else None
)
for request in fsa_request_list_complete:
request.requested_amount_tb = request.requested_amount_gb // 1000
request.approved_amount_tb = (
request.approved_amount_gb // 1000
if request.approved_amount_gb else None
)

fsa_request_obj.num = self.paginators
fsa_request_obj.pending_queryset = self.create_paginator(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<th scope="col">Project</th>
<th scope="col">PI Name</th>
<th scope="col">PI Email</th>
<th scope="col">Requested Amount (TB)</th>
<th scope="col">Amount (TB)</th>
<th scope="col">Status</th>
</tr>
</thead>
Expand All @@ -22,7 +22,7 @@
<td>{{ request_obj.project.name }}</td>
<td>{{ request_obj.pi.first_name }} {{ request_obj.pi.last_name }}</td>
<td>{{ request_obj.pi.email }}</td>
<td>{{ request_obj.requested_amount_tb }} TB</td>
<td>{{ request_obj.approved_amount_tb|default:request_obj.requested_amount_tb }} TB</td>
{% with request_status=request_obj.status.name %}
<td>
{% include 'faculty_storage_allocations/approval/fsa_request_status_badge.html' with status=request_status %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1076,3 +1076,52 @@ def test_list_filters_by_status(
fsa_requests = list(response.context['fsa_requests'])
assert request1 in fsa_requests
assert request2 not in fsa_requests

def test_list_includes_both_requested_and_approved_amounts_in_context(
self, client, test_project, test_pi, test_user
):
"""Test list view includes both requested_amount_tb and approved_amount_tb in context."""
# Create request with only requested amount (no approved amount)
request1 = create_fsa_request(
status='Under Review',
project=test_project,
requester=test_user,
pi=test_pi,
requested_amount_gb=2000
)

# Create request with approved amount different from requested
request2 = create_fsa_request(
status='Approved - Complete',
project=test_project,
requester=test_user,
pi=test_pi,
requested_amount_gb=5000
)
request2.approved_amount_gb = 3000
request2.save()

superuser = User.objects.create_superuser(
username='admin',
email='[email protected]',
password='adminpass'
)
client.force_login(superuser)

url = reverse('faculty-storage-allocation-request-list')
response = client.get(url)

# Get the requests from the paginated context
fsa_requests = list(response.context['fsa_requests'])

# Find our requests in the list
req1_in_list = next(r for r in fsa_requests if r.pk == request1.pk)
req2_in_list = next(r for r in fsa_requests if r.pk == request2.pk)

# Request 1: no approved amount, should show requested amount
assert req1_in_list.requested_amount_tb == 2
assert req1_in_list.approved_amount_tb is None

# Request 2: has approved amount, should show approved amount
assert req2_in_list.requested_amount_tb == 5
assert req2_in_list.approved_amount_tb == 3