stages/prompt: promptstage based on PolicyBindingModel

This commit is contained in:
Jens Langhammer
2020-05-14 13:51:22 +02:00
parent 9859c5db0a
commit a7a839a29c
4 changed files with 172 additions and 45 deletions

View File

@ -1,4 +1,4 @@
# Generated by Django 3.0.5 on 2020-05-10 14:03
# Generated by Django 3.0.5 on 2020-05-14 11:46
import uuid
@ -11,7 +11,8 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("passbook_flows", "0003_auto_20200509_1258"),
("passbook_flows", "0005_auto_20200512_1158"),
("passbook_policies", "0003_auto_20200508_1642"),
]
operations = [
@ -42,6 +43,7 @@ class Migration(migrations.Migration):
("e-mail", "Email"),
("password", "Password"),
("number", "Number"),
("hidden", "Hidden"),
],
max_length=100,
),
@ -49,20 +51,29 @@ class Migration(migrations.Migration):
("required", models.BooleanField(default=True)),
("placeholder", models.TextField()),
],
options={"abstract": False,},
options={"verbose_name": "Prompt", "verbose_name_plural": "Prompts",},
),
migrations.CreateModel(
name="PromptStage",
fields=[
(
"stage_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
to="passbook_flows.Stage",
),
),
(
"policybindingmodel_ptr",
models.OneToOneField(
auto_created=True,
on_delete=django.db.models.deletion.CASCADE,
parent_link=True,
primary_key=True,
serialize=False,
to="passbook_flows.Stage",
to="passbook_policies.PolicyBindingModel",
),
),
("fields", models.ManyToManyField(to="passbook_stages_prompt.Prompt")),
@ -71,6 +82,6 @@ class Migration(migrations.Migration):
"verbose_name": "Prompt Stage",
"verbose_name_plural": "Prompt Stages",
},
bases=("passbook_flows.stage",),
bases=("passbook_policies.policybindingmodel", "passbook_flows.stage"),
),
]

View File

@ -1,31 +0,0 @@
# Generated by Django 3.0.5 on 2020-05-10 16:48
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("passbook_stages_prompt", "0001_initial"),
]
operations = [
migrations.AlterModelOptions(
name="prompt",
options={"verbose_name": "Prompt", "verbose_name_plural": "Prompts"},
),
migrations.AlterField(
model_name="prompt",
name="type",
field=models.CharField(
choices=[
("text", "Text"),
("e-mail", "Email"),
("password", "Password"),
("number", "Number"),
("hidden", "Hidden"),
],
max_length=100,
),
),
]

View File

@ -5,6 +5,7 @@ from django.utils.translation import gettext_lazy as _
from passbook.flows.models import Stage
from passbook.lib.models import UUIDModel
from passbook.policies.models import PolicyBindingModel
class FieldTypes(models.TextChoices):
@ -78,7 +79,7 @@ class Prompt(UUIDModel):
verbose_name_plural = _("Prompts")
class PromptStage(Stage):
class PromptStage(PolicyBindingModel, Stage):
"""Prompt Stage, pointing to multiple prompts"""
fields = models.ManyToManyField(Prompt)