From d9a308d4bcf810bd30d111abaacf0e13f5f143cc Mon Sep 17 00:00:00 2001
From: Alexander van Amesfoort <amesfoort@astron.nl>
Date: Fri, 31 Mar 2017 12:55:43 +0000
Subject: [PATCH] Task #9939: RA assigner: restore logic to also (check specs
 and) insert task if status is approved. Patch by Adriaan Renting.

---
 SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
index 602e06b037b..e398802dfb6 100755
--- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
+++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
@@ -130,7 +130,7 @@ class ResourceAssigner():
 
         otdb_id = specification_tree['otdb_id']
         status = specification_tree.get('state', '').lower()
-        if status != 'prescheduled':
+        if status not in ['approved', 'prescheduled']:  # For approved we only do a few checks and put it in the RADB
             logger.warn('skipping specification for task otdb_id=%s, because status=%s (not prescheduled)', otdb_id, status)
             return
 
@@ -233,6 +233,10 @@ class ResourceAssigner():
         taskId = result['task_id']
         logger.info('doAssignment: inserted specification (id=%s) and task (id=%s)' % (specificationId, taskId))
 
+        if status != 'prescheduled':  # should only happen for approved
+            logger.info('skipping resource assignment for task otdb_id=%s, because status=%s' % (otdb_id, status))
+            return
+
         task = None
         try:
             task = self.radbrpc.getTask(taskId)
-- 
GitLab