From c5f444534db13562a1a9208e290fcf09ef89ca10 Mon Sep 17 00:00:00 2001
From: Jorrit Schaap <schaap@astron.nl>
Date: Fri, 9 Nov 2018 14:32:39 +0000
Subject: [PATCH] SW-44: return proper defaults

---
 SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
index a50df7fec4a..e45cd617831 100644
--- a/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
+++ b/SAS/ResourceAssignment/ResourceAssignmentDatabase/radb.py
@@ -1779,9 +1779,12 @@ and/or claim_statuses.
             if isinstance(resource_ids, int): # just a single id
                 conditions.append('resource_id = %s')
                 qargs.append(resource_ids)
+                usages_per_resource[resource_ids] = {} # append default empty result dict
             elif resource_ids: #assume a list/enumerable of id's
                 conditions.append('resource_id in %s')
                 qargs.append(tuple(resource_ids))
+                for resource_id in resource_ids:
+                    usages_per_resource[resource_id] = {} # append default empty result dict
 
         if claim_statuses is not None:
             if isinstance(claim_statuses, basestring):
@@ -1799,6 +1802,10 @@ and/or claim_statuses.
             conditions.append('status_id in %s')
             qargs.append(tuple(claim_status_ids))
 
+        for rcs in self.getResourceClaimStatuses():
+            for resource_id, result_dict in usages_per_resource.items():
+                result_dict[rcs['id']] = [] # add default empty list for each requested resource_id for each known status
+
         if conditions:
             query += ' WHERE ' + ' AND '.join(conditions)
 
-- 
GitLab