forked from beba/foerderbarometer
78 lines
3.1 KiB
Python
78 lines
3.1 KiB
Python
# Generated by Django 5.2.5 on 2025-10-15 13:02
|
|
from functools import partial
|
|
|
|
from django.db import migrations, models
|
|
|
|
from input.utils.migrations import get_queryset
|
|
|
|
DEFAULT_PROJECT_CATEGORIES = [
|
|
'Erstellung und Weiterentwicklung von Inhalten für die Wikimedia-Projekte',
|
|
'Aufklärung über die Wikimedia-Projekte',
|
|
'Formate zur Ansprache, Gewinnung und Bindung von Ehrenamtlichen für die Wikimedia-Projekte',
|
|
'Beteiligung von Menschen, die einen erschwerten Zugang zum Engagement in den Wikimedia-Projekten haben',
|
|
'Vernetzung und Austausch innerhalb der Communitys oder zwischen den Communitys und externen Partner*innen',
|
|
'Vermittlung von Kompetenzen, die die ehrenamtliche Arbeit stärken',
|
|
'Stärkung einer respektvollen, konstruktiven Kommunikationskultur und der Wertschätzung in den Wikimedia-Projekten',
|
|
'Verbesserung der Selbstorganisation in Bezug auf interne Regeln, Strukturen und Prozesse der Wikimedia-Projektcommunitys',
|
|
'Ehrenamtliche Aktivitäten, die der Erstellung, Pflege und Weiterentwicklung von Tools oder sonstigen technischen Verbesserungen dienen',
|
|
]
|
|
|
|
DEFAULT_WIKIMEDIA_PROJECTS = [
|
|
'Wikipedia',
|
|
'Wikimedia Commons',
|
|
'Wikidata',
|
|
]
|
|
|
|
|
|
def create_default_objs(model, defaults, apps, schema_editor):
|
|
queryset = get_queryset(apps, schema_editor, 'input', model)
|
|
|
|
queryset.bulk_create([
|
|
queryset.model(name=name, order=order * 10)
|
|
for order, name in enumerate(defaults, 1)
|
|
])
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('input', '0099_add_terms_accepted'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='ProjectCategory',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=200, verbose_name='Name')),
|
|
('order', models.PositiveIntegerField(verbose_name='Reihenfolge')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Projektkategorie',
|
|
'verbose_name_plural': 'Projektkategorien',
|
|
'ordering': ['order'],
|
|
},
|
|
),
|
|
migrations.RunPython(
|
|
code=partial(create_default_objs, 'ProjectCategory', DEFAULT_PROJECT_CATEGORIES),
|
|
reverse_code=migrations.RunPython.noop,
|
|
),
|
|
migrations.CreateModel(
|
|
name='WikimediaProject',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=200, verbose_name='Name')),
|
|
('order', models.PositiveIntegerField(verbose_name='Reihenfolge')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Wikimedia-Projekt',
|
|
'verbose_name_plural': 'Wikimedia-Projekte',
|
|
'ordering': ['order'],
|
|
},
|
|
),
|
|
migrations.RunPython(
|
|
code=partial(create_default_objs, 'WikimediaProject', DEFAULT_WIKIMEDIA_PROJECTS),
|
|
reverse_code=migrations.RunPython.noop,
|
|
),
|
|
]
|