# Generated by Django 5.2.5 on 2025-09-24 16:58
import django.core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('input', '0098_add_eliterature_and_software_proxies'),
]
operations = [
migrations.CreateModel(
name='ProjectRequest',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('realname', models.CharField(default='', help_text='Bitte gib deinen Vornamen und deinen Nachnamen ein.', max_length=200, null=True, verbose_name='Realname')),
('email', models.EmailField(help_text='Bitte gib deine E-Mail-Adresse ein, damit dich
Wikimedia Deutschland bei Rückfragen oder für
die Zusage kontaktieren kann.', max_length=200, null=True, verbose_name='E-Mail-Adresse')),
('granted', models.BooleanField(null=True, verbose_name='bewilligt')),
('granted_date', models.DateField(null=True, verbose_name='bewilligt am')),
('survey_mail_date', models.DateField(blank=True, null=True, verbose_name='Umfragemail wurde verschickt am')),
('mail_state', models.CharField(choices=[('NONE', 'noch keine Mail versendet'), ('INF', 'die Benachrichtigung zur Projektabschlussmail wurde versendet'), ('CLOSE', 'die Projektabschlussmail wurde versendet'), ('END', 'alle automatischen Mails, auch surveyMail, wurden versendet')], default='NONE', max_length=6)),
('survey_mail_send', models.BooleanField(default=False, verbose_name='Keine Umfragemail schicken')),
('name', models.CharField(max_length=200, verbose_name='Name des Projekts')),
('description', models.TextField(max_length=500, verbose_name='Kurzbeschreibung des Projekts')),
('categories', models.JSONField(default=list, verbose_name='Projektkategorie')),
('categories_other', models.CharField(blank=True, max_length=200, null=True, verbose_name='Projektkategorie: Sonstiges (kurz)')),
('wikimedia_projects', models.JSONField(default=list, verbose_name='Wikimedia Projekt(e)')),
('wikimedia_other', models.CharField(blank=True, max_length=200, null=True, verbose_name='Wikimedia-Projekt: Anderes (kurz)')),
('start', models.DateField(verbose_name='Startdatum')),
('end', models.DateField(verbose_name='Erwartetes Projektende')),
('participants_estimated', models.IntegerField(validators=[django.core.validators.MinValueValidator(0)], verbose_name='Teilnehmende angefragt')),
('page', models.URLField(blank=True, max_length=2000, null=True, verbose_name='Link zur Projektseite')),
('group', models.CharField(blank=True, max_length=2000, null=True, verbose_name='Mitorganisierende')),
('location', models.CharField(blank=True, max_length=2000, null=True, verbose_name='Ort/Adresse/Location')),
('cost', models.IntegerField(validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1000)], verbose_name='Kosten (EUR, ganzzahlig)')),
('insurance', models.BooleanField(default=False, verbose_name='Haftpflichtversicherung gewünscht?')),
('notes', models.TextField(blank=True, max_length=2000, null=True, verbose_name='Anmerkungen')),
('decision', models.CharField(choices=[('OPEN', 'offen'), ('APPROVED', 'bewilligt'), ('DECLINED', 'abgelehnt')], default='OPEN', max_length=10)),
('decision_date', models.DateField(blank=True, null=True)),
('decided_by', models.CharField(blank=True, max_length=100, null=True, verbose_name='Entschieden von')),
],
options={
'verbose_name': 'Projektförderungs-Antrag (< 1000 EUR)',
'verbose_name_plural': 'Projects_requested',
},
),
migrations.CreateModel(
name='ProjectsDeclined',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('original_request_id', models.IntegerField()),
('name', models.CharField(max_length=200)),
('realname', models.CharField(max_length=200)),
('email', models.EmailField(max_length=254)),
('decision_date', models.DateField()),
('reason', models.TextField(blank=True, null=True)),
],
options={
'verbose_name_plural': 'Projects_declined',
},
),
]