From 16874a504fc40813f9ffc0e74e68e1026f2e940c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20K=C3=BCnsem=C3=B6ller?=
 <jkuensem@physik.uni-bielefeld.de>
Date: Fri, 6 Jul 2018 10:46:01 +0000
Subject: [PATCH] Task LSMR-13: Added work request relation + blueprint models

---
 .../src/lsmr/lsmrapp/models/specification.py  | 27 +++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py b/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py
index d35948aed89..13d95ceb4a9 100644
--- a/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py
+++ b/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py
@@ -194,3 +194,30 @@ class Run(SystemDefinedCommon):
     do_cancel = BooleanField()
     template = ForeignKey(RunTemplate, on_delete=SET_NULL, null=True)
     blueprint = ForeignKey(RunBlueprint, related_name='related_runs', on_delete=CASCADE)
+
+
+class WorkRequestBlueprint(UserDefinedCommon):
+    # todo
+    pass
+
+
+class WorkRequest(SystemDefinedCommon):
+    # todo
+    pass
+
+
+class WorkRequestRelationBlueprint(UserDefinedCommon):
+    selection_doc = JSONField()
+    dataformat = CharField(max_length=30,
+                           choices=[(item.name, item.value) for item in DataformatChoice])
+    producer = ForeignKey(WorkRequestBlueprint, related_name='work_request_relation_blueprint_producer', on_delete=CASCADE)
+    consumer = ForeignKey(WorkRequestBlueprint, related_name='work_request_relation_blueprint_consumer', on_delete=CASCADE)
+
+class WorkRequestRelation(SystemDefinedCommon):
+    selection_doc = JSONField()
+    dataformat = CharField(max_length=30,
+                           choices=[(item.name, item.value) for item in DataformatChoice])
+    producer = ForeignKey(WorkRequest, related_name='work_request_relation_producer', on_delete=CASCADE)
+    consumer = ForeignKey(WorkRequest, related_name='work_request_relation_consumer', on_delete=CASCADE)
+
+
-- 
GitLab