diff --git a/coldfront/core/user/views_/request_hub_views.py b/coldfront/core/user/views_/request_hub_views.py
index 60764a19f0..05bda7c824 100644
--- a/coldfront/core/user/views_/request_hub_views.py
+++ b/coldfront/core/user/views_/request_hub_views.py
@@ -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(
diff --git a/coldfront/plugins/faculty_storage_allocations/templates/faculty_storage_allocations/approval/fsa_request_list_table.html b/coldfront/plugins/faculty_storage_allocations/templates/faculty_storage_allocations/approval/fsa_request_list_table.html
index 7cadc6fc0a..4a4a7c731b 100644
--- a/coldfront/plugins/faculty_storage_allocations/templates/faculty_storage_allocations/approval/fsa_request_list_table.html
+++ b/coldfront/plugins/faculty_storage_allocations/templates/faculty_storage_allocations/approval/fsa_request_list_table.html
@@ -7,7 +7,7 @@
Project |
PI Name |
PI Email |
- Requested Amount (TB) |
+ Amount (TB) |
Status |
@@ -22,7 +22,7 @@
{{ request_obj.project.name }} |
{{ request_obj.pi.first_name }} {{ request_obj.pi.last_name }} |
{{ request_obj.pi.email }} |
- {{ request_obj.requested_amount_tb }} TB |
+ {{ request_obj.approved_amount_tb|default:request_obj.requested_amount_tb }} TB |
{% with request_status=request_obj.status.name %}
{% include 'faculty_storage_allocations/approval/fsa_request_status_badge.html' with status=request_status %}
diff --git a/coldfront/plugins/faculty_storage_allocations/tests/pytest/test_views/test_approval_views_integration.py b/coldfront/plugins/faculty_storage_allocations/tests/pytest/test_views/test_approval_views_integration.py
index 79589c68b8..07d0c9ddc6 100644
--- a/coldfront/plugins/faculty_storage_allocations/tests/pytest/test_views/test_approval_views_integration.py
+++ b/coldfront/plugins/faculty_storage_allocations/tests/pytest/test_views/test_approval_views_integration.py
@@ -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='admin@test.com',
+ 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
|