diff --git a/openslides/motions/migrations/0021_state_access_level.py b/openslides/motions/migrations/0021_state_access_level_1.py similarity index 53% rename from openslides/motions/migrations/0021_state_access_level.py rename to openslides/motions/migrations/0021_state_access_level_1.py index c621faf2d..8900e6c3d 100644 --- a/openslides/motions/migrations/0021_state_access_level.py +++ b/openslides/motions/migrations/0021_state_access_level_1.py @@ -3,21 +3,8 @@ from django.db import migrations, models -def transform_required_permission_to_see_field(apps, schema_editor): - """ - Sets new access_level of states to EXTENDED_MANAGERS_AND_SUBMITTER - if required_permission_to_see is given - """ - # We get the model from the versioned app registry; - # if we directly import it, it will be the wrong version. - State = apps.get_model("motions", "State") - for state in State.objects.all(): - if state.required_permission_to_see: - state.access_level = 1 - state.save(skip_autoupdate=True) - - class Migration(migrations.Migration): + """ Note: this is a combined migration to execute code in a seperate transaction """ dependencies = [("motions", "0020_auto_20190119_1425")] @@ -37,7 +24,5 @@ class Migration(migrations.Migration): ], default=0, ), - ), - migrations.RunPython(transform_required_permission_to_see_field), - migrations.RemoveField(model_name="state", name="required_permission_to_see"), + ) ] diff --git a/openslides/motions/migrations/0021_state_access_level_2.py b/openslides/motions/migrations/0021_state_access_level_2.py new file mode 100644 index 000000000..0552e118b --- /dev/null +++ b/openslides/motions/migrations/0021_state_access_level_2.py @@ -0,0 +1,24 @@ +# Generated by Django 2.1.5 on 2019-02-01 11:58 + +from django.db import migrations + + +def transform_required_permission_to_see_field(apps, schema_editor): + """ + Sets new access_level of states to EXTENDED_MANAGERS_AND_SUBMITTER + if required_permission_to_see is given + """ + # We get the model from the versioned app registry; + # if we directly import it, it will be the wrong version. + State = apps.get_model("motions", "State") + for state in State.objects.all(): + if state.required_permission_to_see: + state.access_level = 1 + state.save(skip_autoupdate=True) + + +class Migration(migrations.Migration): + + dependencies = [("motions", "0021_state_access_level_1")] + + operations = [migrations.RunPython(transform_required_permission_to_see_field)] diff --git a/openslides/motions/migrations/0021_state_access_level_3.py b/openslides/motions/migrations/0021_state_access_level_3.py new file mode 100644 index 000000000..9de4d5fd2 --- /dev/null +++ b/openslides/motions/migrations/0021_state_access_level_3.py @@ -0,0 +1,12 @@ +# Generated by Django 2.1.5 on 2019-02-01 11:58 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [("motions", "0021_state_access_level_2")] + + operations = [ + migrations.RemoveField(model_name="state", name="required_permission_to_see") + ]