From db50cf929730579c3671d5901aba5350abfe9434 Mon Sep 17 00:00:00 2001
From: Vermaas <vermaas@astron.nl>
Date: Fri, 23 Feb 2024 12:25:39 +0100
Subject: [PATCH] bugfix SDC-1235

---
 atdb/taskdatabase/models.py                        | 14 ++++++++++++--
 .../taskdatabase/templates/taskdatabase/index.html |  2 +-
 2 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/atdb/taskdatabase/models.py b/atdb/taskdatabase/models.py
index 49e9aaae..954f70e1 100644
--- a/atdb/taskdatabase/models.py
+++ b/atdb/taskdatabase/models.py
@@ -2,6 +2,7 @@ from django.db import models
 from django.urls import reverse
 from django.utils import timezone
 from django.utils.timezone import datetime, timedelta
+from django.core.exceptions import MultipleObjectsReturned
 from django.conf import settings
 import json
 import logging
@@ -609,11 +610,20 @@ class Monitor(models.Model):
         # in the LatestMonitor, and update if it is newer.
         try:
             latestMonitor = LatestMonitor.objects.get(name=self.name,hostname=self.hostname)
+
+        except MultipleObjectsReturned as e:
+            # it has happened that latest_monitoring objects failed to delete, 
+            # which leads to a growing database and failure of the 'Hold' button on the Monitoring screen.
+            LatestMonitor.objects.all().delete()
+        
+        try:
             # carry over the metadata, if possible
             latest_metadata = latestMonitor.metadata
             latestMonitor.delete()
-        except:
-            pass
+
+        except Exception as error:
+            print(error)
+            
 
         # this combination of name and hostname didn't yet exist, create it.
         metadata = self.metadata
diff --git a/atdb/taskdatabase/templates/taskdatabase/index.html b/atdb/taskdatabase/templates/taskdatabase/index.html
index 35a46bfd..ca199e45 100644
--- a/atdb/taskdatabase/templates/taskdatabase/index.html
+++ b/atdb/taskdatabase/templates/taskdatabase/index.html
@@ -31,7 +31,7 @@
             {% include 'taskdatabase/pagination.html' %}
         </div>
     </div>
-    <p class="footer"> Version 22 Feb 2024
+    <p class="footer"> Version 23 Feb 2024
 </div>
 
 {% include 'taskdatabase/refresh.html' %}
-- 
GitLab