108 lines
3.9 KiB
Python
108 lines
3.9 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.10.1 on 2016-10-21 09:07
|
|
from __future__ import unicode_literals
|
|
|
|
from django.db import migrations, models
|
|
|
|
import openslides.utils.models
|
|
|
|
|
|
def add_projection_defaults(apps, schema_editor):
|
|
"""
|
|
Adds projectiondefaults for messages and countdowns.
|
|
"""
|
|
Projector = apps.get_model('core', 'Projector')
|
|
ProjectionDefault = apps.get_model('core', 'ProjectionDefault')
|
|
# the default projector (pk=1) is always available.
|
|
default_projector = Projector.objects.get(pk=1)
|
|
|
|
projectiondefaults = []
|
|
# It is possible that already some projectiondefaults exist if this
|
|
# is a database created with an older version of OS.
|
|
if not ProjectionDefault.objects.all().exists():
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='agenda_all_items',
|
|
display_name='Agenda',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='topics',
|
|
display_name='Topics',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='agenda_list_of_speakers',
|
|
display_name='List of speakers',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='agenda_current_list_of_speakers',
|
|
display_name='Current list of speakers',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='motions',
|
|
display_name='Motions',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='motionBlocks',
|
|
display_name='Motion Blocks',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='assignments',
|
|
display_name='Elections',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='users',
|
|
display_name='Participants',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='mediafiles',
|
|
display_name='Files',
|
|
projector=default_projector))
|
|
|
|
# Now, these are new projectiondefaults
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='messages',
|
|
display_name='Messages',
|
|
projector=default_projector))
|
|
projectiondefaults.append(ProjectionDefault(
|
|
name='countdowns',
|
|
display_name='Countdowns',
|
|
projector=default_projector))
|
|
|
|
# Create all new projectiondefaults
|
|
ProjectionDefault.objects.bulk_create(projectiondefaults)
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('core', '0007_manage_chat_permission'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Countdown',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('description', models.CharField(max_length=256, blank=True)),
|
|
('running', models.BooleanField(default=False)),
|
|
('default_time', models.PositiveIntegerField(default=60)),
|
|
('countdown_time', models.FloatField(default=60)),
|
|
],
|
|
options={
|
|
'default_permissions': (),
|
|
},
|
|
bases=(openslides.utils.models.RESTModelMixin, models.Model),
|
|
),
|
|
migrations.CreateModel(
|
|
name='ProjectorMessage',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('message', models.TextField(blank=True)),
|
|
],
|
|
options={
|
|
'default_permissions': (),
|
|
},
|
|
bases=(openslides.utils.models.RESTModelMixin, models.Model),
|
|
),
|
|
migrations.RunPython(add_projection_defaults),
|
|
]
|