From 9ee9f298f42d739f79e003e9a55526d49e02163e Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Thu, 14 Apr 2016 18:13:43 +0000
Subject: [PATCH] Task #8887: do not set status to claimed for allocated claims

---
 SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
index e2c038f8aa8..2dabbf96e02 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
+++ b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
@@ -685,7 +685,7 @@ class RADatabase:
         (resource_claim_id, type_id, value, sap_id)
         VALUES {values}
         RETURNING id;'''.format(values=insert_values)
-        
+
         ids = [x['id'] for x in self._executeQuery(query, fetch=_FETCH_ALL)]
 
         if [x for x in ids if x < 0]:
@@ -1088,6 +1088,7 @@ class RADatabase:
         claimsStatuses = self.getResourceClaimStatuses()
         conflistStatusId = next(cs['id'] for cs in claimsStatuses if cs['name'] == 'conflict')
         claimedStatusId = next(cs['id'] for cs in claimsStatuses if cs['name'] == 'claimed')
+        allocatedStatusId = next(cs['id'] for cs in claimsStatuses if cs['name'] == 'allocated')
 
         # 'result' dict for new statuses for claims
         newClaimStatuses = {conflistStatusId:[], claimedStatusId:[]}
@@ -1124,7 +1125,7 @@ class RADatabase:
 
             if totalOtherClaimSize + claimSize >= resource['available_capacity']:
                 newClaimStatuses[conflistStatusId].append(claim_id)
-            else:
+            elif claim['status_id'] != allocatedStatusId:
                 newClaimStatuses[claimedStatusId].append(claim_id)
 
         if newClaimStatuses:
-- 
GitLab