From 06b5b09d0299c04465607a3aed78288bc486e649 Mon Sep 17 00:00:00 2001
From: rw-bsi
Date: Sat, 6 Jun 2026 17:03:58 +0100
Subject: [PATCH 1/3] remove thousands separator
---
.../templates/admin/restart_processing_intermediate.html | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/backend/apps/ifc_validation/templates/admin/restart_processing_intermediate.html b/backend/apps/ifc_validation/templates/admin/restart_processing_intermediate.html
index afcc014a..5ad9cae0 100644
--- a/backend/apps/ifc_validation/templates/admin/restart_processing_intermediate.html
+++ b/backend/apps/ifc_validation/templates/admin/restart_processing_intermediate.html
@@ -23,11 +23,11 @@
{% for val_request in val_requests %}
-
-
+
+
-
+
{% endfor %}
From 7307708919ff746003d929d5dc0bf58a580f9b92 Mon Sep 17 00:00:00 2001
From: rw-bsi
Date: Sat, 6 Jun 2026 19:24:36 +0100
Subject: [PATCH 2/3] added Django management command
---
.../management/commands/revalidate_request.py | 53 +++++++++++++++++++
1 file changed, 53 insertions(+)
create mode 100644 backend/apps/ifc_validation/management/commands/revalidate_request.py
diff --git a/backend/apps/ifc_validation/management/commands/revalidate_request.py b/backend/apps/ifc_validation/management/commands/revalidate_request.py
new file mode 100644
index 00000000..777cfe0d
--- /dev/null
+++ b/backend/apps/ifc_validation/management/commands/revalidate_request.py
@@ -0,0 +1,53 @@
+import logging
+
+from django.core.management.base import BaseCommand
+
+from apps.ifc_validation_models.models import ValidationRequest
+from apps.ifc_validation_models.decorators import requires_django_user_context
+from apps.ifc_validation.tasks.task_runner import ifc_file_validation_task
+
+logger = logging.getLogger(__name__)
+
+
+class Command(BaseCommand):
+
+ help = (
+ 'Revalidate a specific Validation Request by its ID. This command resets the status of the request and re-queues it for validation.',
+ 'Note: archived or deleted requests cannot be revalidated.'
+ )
+
+ def add_arguments(self, parser):
+
+ parser.add_argument(
+ '--validation_request_id', '-id',
+ type=int,
+ required=True,
+ help='ID of the Validation Request to revalidate.'
+ )
+
+
+ @requires_django_user_context
+ def handle(self, *args, **options):
+ id = options['validation_request_id']
+
+ try:
+ request = ValidationRequest.objects.get(id=id)
+ except ValidationRequest.DoesNotExist:
+ logger.error(f"Validation Request with id={id} not found.")
+ return
+
+ # don't requeue deleted/archived requests
+ if request.deleted:
+ logger.warning(f"Validation Request with id={id} is deleted and cannot be revalidated.")
+ return
+
+ if request.file == None or request.file_removed:
+ logger.warning(f"Validation Request with id={id} is archived and cannot be revalidated.")
+ return
+
+ # reset status and requeue for validation
+ request.mark_as_pending(reason='Resubmitted for processing via Django Management Command')
+ if request.model:
+ request.model.reset_status()
+ ifc_file_validation_task.delay(request.id, request.file_name)
+ logger.info(f"Task 'ifc_file_validation_task' re-submitted for id:{request.id} file_name: {request.file_name}")
\ No newline at end of file
From 971ec417530f7619ef3716fc2edcf63fba89ae1e Mon Sep 17 00:00:00 2001
From: rw-bsi
Date: Tue, 9 Jun 2026 11:01:50 +0100
Subject: [PATCH 3/3] remove from other admin pages
---
.../templates/admin/assign_company_intermediate.html | 6 +++---
.../templates/admin/hard_delete_intermediate.html | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/backend/apps/ifc_validation/templates/admin/assign_company_intermediate.html b/backend/apps/ifc_validation/templates/admin/assign_company_intermediate.html
index 3c852e3d..34e5e9b2 100644
--- a/backend/apps/ifc_validation/templates/admin/assign_company_intermediate.html
+++ b/backend/apps/ifc_validation/templates/admin/assign_company_intermediate.html
@@ -31,13 +31,13 @@
{% for users in detected_users.items %}
{% if users.0 == company.pk %}
{% for user in users.1 %}
-
-
+
+
{% endfor %}
{% endif %}
{% endfor %}
-
+
{% endfor %}
diff --git a/backend/apps/ifc_validation/templates/admin/hard_delete_intermediate.html b/backend/apps/ifc_validation/templates/admin/hard_delete_intermediate.html
index a6f1ead4..f79bc866 100644
--- a/backend/apps/ifc_validation/templates/admin/hard_delete_intermediate.html
+++ b/backend/apps/ifc_validation/templates/admin/hard_delete_intermediate.html
@@ -23,7 +23,7 @@
{{ val_request }}
-
+
{% endfor %}