From 28893b9695810a5a9964e7980c9fad741f4436df Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Mon, 7 Sep 2020 11:25:59 +0200 Subject: [PATCH] flows/transfer: fix missing unique fields for PolicyBinding --- passbook/flows/transfer/exporter.py | 2 +- passbook/policies/api.py | 2 +- passbook/policies/models.py | 2 +- swagger.yaml | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/passbook/flows/transfer/exporter.py b/passbook/flows/transfer/exporter.py index f0fa3bad38..9617e42865 100644 --- a/passbook/flows/transfer/exporter.py +++ b/passbook/flows/transfer/exporter.py @@ -52,7 +52,7 @@ class FlowExporter: yield FlowBundleEntry.from_model(policy) bindings = PolicyBinding.objects.filter(target__in=pbm_uuids).select_related() for binding in bindings: - yield FlowBundleEntry.from_model(binding) + yield FlowBundleEntry.from_model(binding, "policy", "target", "order") def walk_stage_prompts(self) -> Iterator[FlowBundleEntry]: """Walk over all prompts associated with any PromptStages""" diff --git a/passbook/policies/api.py b/passbook/policies/api.py index 27fd129ace..f2b272c577 100644 --- a/passbook/policies/api.py +++ b/passbook/policies/api.py @@ -12,7 +12,7 @@ class PolicyBindingSerializer(ModelSerializer): class Meta: model = PolicyBinding - fields = ["policy", "target", "enabled", "order", "timeout"] + fields = ["pk", "policy", "target", "enabled", "order", "timeout"] class PolicyBindingViewSet(ModelViewSet): diff --git a/passbook/policies/models.py b/passbook/policies/models.py index 6933af07b9..f3f0297777 100644 --- a/passbook/policies/models.py +++ b/passbook/policies/models.py @@ -44,7 +44,7 @@ class PolicyBinding(SerializerModel): enabled = models.BooleanField(default=True) policy = InheritanceForeignKey("Policy", on_delete=models.CASCADE, related_name="+") - target = models.ForeignKey( + target = InheritanceForeignKey( PolicyBindingModel, on_delete=models.CASCADE, related_name="+" ) negate = models.BooleanField( diff --git a/swagger.yaml b/swagger.yaml index 0aafac34ab..3c7ff6776e 100755 --- a/swagger.yaml +++ b/swagger.yaml @@ -6243,6 +6243,11 @@ definitions: - order type: object properties: + pk: + title: Policy binding uuid + type: string + format: uuid + readOnly: true policy: title: Policy type: string