From 70876882355b58f835c1991b07d016c71623992b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= <sybren@stuvel.eu>
Date: Fri, 27 Jan 2017 12:07:45 +0100
Subject: [PATCH] Server: added task status colour to depsgraph view

---
 packages/flamenco/flamenco/jobs/routes.py    |  2 ++
 packages/flamenco/flamenco/tasks/__init__.py | 11 +++++++++++
 2 files changed, 13 insertions(+)

diff --git a/packages/flamenco/flamenco/jobs/routes.py b/packages/flamenco/flamenco/jobs/routes.py
index 47397802..f4da8bd7 100644
--- a/packages/flamenco/flamenco/jobs/routes.py
+++ b/packages/flamenco/flamenco/jobs/routes.py
@@ -80,6 +80,7 @@ def view_job_depsgraph(project, job_id):
 
     if request.is_xhr:
         from flask import jsonify
+        from flamenco.tasks import COLOR_FOR_TASK_STATUS
 
         # Return the vis.js nodes and edges as JSON
         tasks = current_flamenco.task_manager.tasks_for_job(job_id)
@@ -96,6 +97,7 @@ def view_job_depsgraph(project, job_id):
                 'id': task_id,
                 'label': task['name'],
                 'shape': 'box',
+                'color': COLOR_FOR_TASK_STATUS[task['status']],
             })
             if task.parents:
                 for parent in task.parents:
diff --git a/packages/flamenco/flamenco/tasks/__init__.py b/packages/flamenco/flamenco/tasks/__init__.py
index d9c98b70..7a8e9f7c 100644
--- a/packages/flamenco/flamenco/tasks/__init__.py
+++ b/packages/flamenco/flamenco/tasks/__init__.py
@@ -9,6 +9,17 @@ from pillar.web.system_util import pillar_api
 
 from pillarsdk.exceptions import ResourceNotFound
 
+# Keep this synced with _config.sass
+COLOR_FOR_TASK_STATUS = {
+    'queued': '#b4bbaa',
+    'canceled': '#999',
+    'failed': '#ff8080',
+    'claimedbymanager': '#d1c5d3',
+    'processing': '#ffbe00',
+    'active': '#00ceff',
+    'completed': '#bbe151',
+}
+
 
 @attr.s
 class TaskManager(object):
-- 
GitLab