diff --git a/api/serializers/declaration.py b/api/serializers/declaration.py index ab62e1eb..a3744fb1 100644 --- a/api/serializers/declaration.py +++ b/api/serializers/declaration.py @@ -248,6 +248,8 @@ class Meta: "type", "type_display", "name", + "size", + "extension", ) read_only_fields = ("file",) diff --git a/data/models/declaration.py b/data/models/declaration.py index c976051a..66ec19ca 100644 --- a/data/models/declaration.py +++ b/data/models/declaration.py @@ -1,12 +1,14 @@ import json import logging from datetime import timedelta +from pathlib import Path from django.conf import settings from django.core.exceptions import ValidationError from django.db import models from django.db.models import Case, F, Q, Value, When from django.db.models.functions import Coalesce +from django.template.defaultfilters import filesizeformat from dateutil.relativedelta import relativedelta from djangorestframework_camel_case.render import CamelCaseJSONRenderer @@ -809,6 +811,20 @@ class AttachmentType(models.TextChoices): def has_pdf_extension(self): return self.file and self.file.url.endswith(".pdf") + @property + def size(self): + try: + return self.file and self.file.size and filesizeformat(self.file.size) + except Exception as _: + return "" + + @property + def extension(self): + try: + return self.file and self.file.name and Path(self.file.size).suffix + except Exception as _: + return "" + @property def type_display(self): return self.get_type_display() or "Type inconnu" diff --git a/frontend/src/components/DeclarationSummary/index.vue b/frontend/src/components/DeclarationSummary/index.vue index 32249026..4c57d56a 100644 --- a/frontend/src/components/DeclarationSummary/index.vue +++ b/frontend/src/components/DeclarationSummary/index.vue @@ -7,6 +7,26 @@ :allowChange="allowArticleChange" class="mb-2" /> +