Refactor case size rendering logic for efficiency and update user uploads field choices
This commit is contained in:
+3
-24
@@ -161,30 +161,9 @@ class CaseTable(SelectionTable):
|
|||||||
return "No collections"
|
return "No collections"
|
||||||
|
|
||||||
def render_case_size(self, value, record):
|
def render_case_size(self, value, record):
|
||||||
# Prefer cached case-level value, then model helper.
|
value = record.get_total_series_images_size()
|
||||||
if value is None:
|
|
||||||
try:
|
|
||||||
value = record.get_total_series_images_size()
|
|
||||||
except Exception:
|
|
||||||
value = None
|
|
||||||
|
|
||||||
# If still missing, fall back to summing per-series sizes.
|
return filesizeformat(value)
|
||||||
if value is None:
|
|
||||||
computed_total = 0
|
|
||||||
try:
|
|
||||||
for series in record.series.all():
|
|
||||||
series_size = series.total_image_size
|
|
||||||
if series_size is None:
|
|
||||||
try:
|
|
||||||
series_size = series.get_total_image_size(refresh=True)
|
|
||||||
except Exception:
|
|
||||||
series_size = 0
|
|
||||||
computed_total += int(series_size or 0)
|
|
||||||
except Exception:
|
|
||||||
computed_total = 0
|
|
||||||
value = computed_total
|
|
||||||
|
|
||||||
return filesizeformat(int(value or 0))
|
|
||||||
|
|
||||||
associated_cases = tables.Column(
|
associated_cases = tables.Column(
|
||||||
verbose_name="Associated Cases", accessor="pk", orderable=False
|
verbose_name="Associated Cases", accessor="pk", orderable=False
|
||||||
@@ -195,7 +174,7 @@ class CaseTable(SelectionTable):
|
|||||||
)
|
)
|
||||||
|
|
||||||
case_size = tables.Column(
|
case_size = tables.Column(
|
||||||
verbose_name="Case size", accessor="total_images_series_size"
|
verbose_name="Case size", accessor="pk"
|
||||||
)
|
)
|
||||||
|
|
||||||
edit = tables.LinkColumn(
|
edit = tables.LinkColumn(
|
||||||
|
|||||||
@@ -3461,6 +3461,7 @@ def user_uploads(
|
|||||||
"size": 8,
|
"size": 8,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
field.widget.choices = field.choices
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
|||||||
Reference in New Issue
Block a user