diff --git a/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py b/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py index 13d95ceb4a94fa58f649e6443cddb22e28eac303..d78f3ca483e89ef7644609e472c38f088755c663 100644 --- a/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py +++ b/SAS/LSMR/src/lsmr/lsmrapp/models/specification.py @@ -192,18 +192,23 @@ class RunBlueprint(UserDefinedCommon): class Run(SystemDefinedCommon): requirements_doc = JSONField() do_cancel = BooleanField() - template = ForeignKey(RunTemplate, on_delete=SET_NULL, null=True) - blueprint = ForeignKey(RunBlueprint, related_name='related_runs', on_delete=CASCADE) + template = ForeignKey('RunTemplate', on_delete=SET_NULL, null=True) + blueprint = ForeignKey('RunBlueprint', related_name='related_runs', on_delete=CASCADE) class WorkRequestBlueprint(UserDefinedCommon): - # todo - pass + requirements_doc = JSONField() + copies = ForeignKey('WorkRequestBlueprint', related_name="copied_from", on_delete=SET_NULL, null=True) + copy_reason = CharField(max_length=30, + choices= + [(item.name, item.value) for item in CopyReasonChoice]) class WorkRequest(SystemDefinedCommon): - # todo - pass + requirements_doc = JSONField() + do_cancel = BooleanField() + template = ForeignKey('WorkRequestTemplate', on_delete=SET_NULL, null=True) + blueprint = ForeignKey('WorkRequestBlueprint', related_name='related_work_requests', on_delete=CASCADE) class WorkRequestRelationBlueprint(UserDefinedCommon): @@ -213,6 +218,7 @@ class WorkRequestRelationBlueprint(UserDefinedCommon): 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, diff --git a/SAS/LSMR/src/lsmr/lsmrapp/serializers/specification.py b/SAS/LSMR/src/lsmr/lsmrapp/serializers/specification.py index 2bd2ef47ad2e15d0405b153a0e96074833e84e0b..c9fe8a5bf236750b136c09bdc60aba8f086b6601 100644 --- a/SAS/LSMR/src/lsmr/lsmrapp/serializers/specification.py +++ b/SAS/LSMR/src/lsmr/lsmrapp/serializers/specification.py @@ -70,3 +70,15 @@ class RunSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = models.Run fields = '__all__' + + +class WorkRequestBlueprintSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = models.WorkRequestBlueprintSerializer + fields = '__all__' + + +class WorkRequestSerializer(serializers.HyperlinkedModelSerializer): + class Meta: + model = models.WorkRequestSerializer + fields = '__all__'