192 lines
6.5 KiB
Python
192 lines
6.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.10.4 on 2016-12-11 21:23
|
|
from __future__ import unicode_literals
|
|
|
|
import django.db.models.deletion
|
|
import jsonfield.fields
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
|
|
import openslides.utils.models
|
|
|
|
|
|
def change_label_of_state(apps, schema_editor):
|
|
"""
|
|
Changes the label of former state "commited a bill" to "refered to committee".
|
|
"""
|
|
# 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")
|
|
|
|
try:
|
|
state = State.objects.get(name="commited a bill")
|
|
except State.DoesNotExist:
|
|
# State does not exists, there is nothing to change.
|
|
pass
|
|
else:
|
|
state.name = "refered to committee"
|
|
state.action_word = "Refer to committee"
|
|
state.save(skip_autoupdate=True)
|
|
|
|
|
|
def add_recommendation_labels(apps, schema_editor):
|
|
"""
|
|
Adds recommendation labels to some of the built-in states.
|
|
"""
|
|
# 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")
|
|
|
|
name_label_map = {
|
|
"accepted": "Acceptance",
|
|
"rejected": "Rejection",
|
|
"not decided": "No decision",
|
|
"permitted": "Permission",
|
|
"adjourned": "Adjournment",
|
|
"not concerned": "No concernment",
|
|
"refered to committee": "Referral to committee",
|
|
"rejected (not authorized)": "Rejection (not authorized)",
|
|
}
|
|
for state in State.objects.all():
|
|
if name_label_map.get(state.name):
|
|
state.recommendation_label = name_label_map[state.name]
|
|
state.save(skip_autoupdate=True)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
("motions", "0001_initial"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name="MotionBlock",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.AutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("title", models.CharField(max_length=255)),
|
|
],
|
|
options={"default_permissions": ()},
|
|
bases=(openslides.utils.models.RESTModelMixin, models.Model),
|
|
),
|
|
migrations.CreateModel(
|
|
name="MotionChangeRecommendation",
|
|
fields=[
|
|
(
|
|
"id",
|
|
models.AutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name="ID",
|
|
),
|
|
),
|
|
("rejected", models.BooleanField(default=False)),
|
|
("type", models.PositiveIntegerField(default=0)),
|
|
("line_from", models.PositiveIntegerField()),
|
|
("line_to", models.PositiveIntegerField()),
|
|
("text", models.TextField(blank=True)),
|
|
("creation_time", models.DateTimeField(auto_now=True)),
|
|
(
|
|
"author",
|
|
models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to=settings.AUTH_USER_MODEL,
|
|
),
|
|
),
|
|
(
|
|
"motion_version",
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.CASCADE,
|
|
related_name="change_recommendations",
|
|
to="motions.MotionVersion",
|
|
),
|
|
),
|
|
],
|
|
options={"default_permissions": ()},
|
|
bases=(openslides.utils.models.RESTModelMixin, models.Model),
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name="motion",
|
|
options={
|
|
"default_permissions": (),
|
|
"ordering": ("identifier",),
|
|
"permissions": (
|
|
("can_see", "Can see motions"),
|
|
("can_create", "Can create motions"),
|
|
("can_support", "Can support motions"),
|
|
("can_see_and_manage_comments", "Can see and manage comments"),
|
|
("can_manage", "Can manage motions"),
|
|
),
|
|
"verbose_name": "Motion",
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name="motion",
|
|
name="comments",
|
|
field=jsonfield.fields.JSONField(null=True),
|
|
),
|
|
migrations.AddField(
|
|
model_name="motion",
|
|
name="origin",
|
|
field=models.CharField(blank=True, max_length=255),
|
|
),
|
|
migrations.AddField(
|
|
model_name="motion",
|
|
name="recommendation",
|
|
field=models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
related_name="+",
|
|
to="motions.State",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="state",
|
|
name="recommendation_label",
|
|
field=models.CharField(max_length=255, null=True),
|
|
),
|
|
migrations.AddField(
|
|
model_name="state",
|
|
name="show_recommendation_extension_field",
|
|
field=models.BooleanField(default=False),
|
|
),
|
|
migrations.AddField(
|
|
model_name="state",
|
|
name="show_state_extension_field",
|
|
field=models.BooleanField(default=False),
|
|
),
|
|
migrations.AlterField(
|
|
model_name="motion",
|
|
name="state",
|
|
field=models.ForeignKey(
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
related_name="+",
|
|
to="motions.State",
|
|
),
|
|
),
|
|
migrations.AddField(
|
|
model_name="motion",
|
|
name="motion_block",
|
|
field=models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.SET_NULL,
|
|
to="motions.MotionBlock",
|
|
),
|
|
),
|
|
migrations.RunPython(change_label_of_state),
|
|
migrations.RunPython(add_recommendation_labels),
|
|
]
|