Files
vergabe-teilnahme/vergabe_teilnahme/apps/bibliothek/migrations/0001_initial.py
2026-05-08 14:26:48 +02:00

116 lines
7.1 KiB
Python

# Generated by Django 6.0.5 on 2026-05-08 10:33
import django.db.models.deletion
from django.conf import settings
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='Entscheidungsregel',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('regelname', models.CharField(max_length=300)),
('beschreibung', models.TextField(blank=True)),
('kategorie', models.CharField(choices=[('ausschlusskriterium', 'Ausschlusskriterium'), ('frist', 'Fristlage'), ('referenz', 'Referenzanforderung'), ('wirtschaftlichkeit', 'Wirtschaftlichkeit'), ('ressourcen', 'Ressourcenverfügbarkeit'), ('sonstiges', 'Sonstiges')], max_length=30)),
('gewichtung', models.DecimalField(decimal_places=2, default=1.0, max_digits=5)),
('bewertungslogik', models.TextField(blank=True)),
('schwellenwert', models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True)),
('empfehlung', models.CharField(choices=[('teilnehmen', 'Teilnehmen'), ('nicht_teilnehmen', 'Nicht teilnehmen'), ('pruefen', 'Prüfen')], max_length=20)),
('begruendung', models.TextField(blank=True)),
('gueltig_von', models.DateField(blank=True, null=True)),
('gueltig_bis', models.DateField(blank=True, null=True)),
('aktiv', models.BooleanField(default=True)),
('verantwortlicher', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Entscheidungsregel',
'verbose_name_plural': 'Entscheidungsregeln',
'ordering': ['regelname'],
},
),
migrations.CreateModel(
name='Leistungsblatt',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('produktfunktion', models.CharField(max_length=300)),
('beschreibung', models.TextField(blank=True)),
('leistungsumfang', models.TextField(blank=True)),
('grenzen_ausschluesse', models.TextField(blank=True)),
('technische_voraussetzungen', models.TextField(blank=True)),
('typische_nachweise', models.TextField(blank=True)),
('version', models.CharField(default='1.0', max_length=20)),
('eigentuemer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Leistungsblatt',
'verbose_name_plural': 'Leistungsblätter',
'ordering': ['produktfunktion'],
},
),
migrations.CreateModel(
name='Nachweis',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('titel', models.CharField(max_length=300)),
('kurzbeschreibung', models.TextField(blank=True)),
('dokumenttyp', models.CharField(blank=True, max_length=100)),
('kategorie', models.CharField(blank=True, max_length=100)),
('datei', models.FileField(blank=True, null=True, upload_to='nachweise/%Y/')),
('version', models.CharField(default='1.0', max_length=20)),
('status', models.CharField(default='aktiv', max_length=20)),
('gueltig_ab', models.DateField(blank=True, null=True)),
('gueltig_bis', models.DateField(blank=True, null=True)),
('freigabestatus', models.CharField(choices=[('intern_freigegeben', 'Intern freigegeben'), ('extern_freigegeben', 'Extern freigegeben'), ('eingeschraenkt', 'Eingeschränkt'), ('nicht_freigegeben', 'Nicht freigegeben')], default='intern_freigegeben', max_length=30)),
('letzte_pruefung', models.DateField(blank=True, null=True)),
('zugehoerige_standards', models.TextField(blank=True)),
('vertraulichkeit', models.CharField(choices=[('intern', 'Intern'), ('streng_vertraulich', 'Streng vertraulich'), ('oeffentlich', 'Öffentlich')], default='intern', max_length=20)),
('sprache', models.CharField(default='de', max_length=5)),
('fuer_oeffentliche', models.BooleanField(default=True)),
('fuer_privatwirtschaftliche', models.BooleanField(default=True)),
('eigentuemer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='eigene_nachweise', to=settings.AUTH_USER_MODEL)),
],
options={
'verbose_name': 'Nachweis',
'verbose_name_plural': 'Nachweise',
'ordering': ['titel'],
},
),
migrations.CreateModel(
name='Referenz',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('referenztitel', models.CharField(max_length=400)),
('kunde', models.CharField(max_length=300)),
('branche', models.CharField(blank=True, max_length=200)),
('oeffentlich_oder_privat', models.CharField(blank=True, max_length=20)),
('leistungsbeschreibung', models.TextField(blank=True)),
('eingesetzte_produkte', models.TextField(blank=True)),
('projektzeitraum', models.CharField(blank=True, max_length=100)),
('vertragsvolumen', models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True)),
('ansprechpartner_referenzkunde', models.CharField(blank=True, max_length=200)),
('freigabestatus_verwendung', models.CharField(choices=[('freigegeben', 'Freigegeben'), ('eingeschraenkt', 'Eingeschränkt'), ('nicht_freigegeben', 'Nicht freigegeben')], default='freigegeben', max_length=30)),
('vertraulichkeit', models.CharField(default='intern', max_length=20)),
('whitepaper', models.FileField(blank=True, null=True, upload_to='referenzen/')),
('kurzfassung', models.TextField(blank=True)),
('langfassung', models.TextField(blank=True)),
('verwendbar_fuer_ausschreibungen', models.BooleanField(default=True)),
('einschraenkungen_verwendung', models.TextField(blank=True)),
('leistungsblaetter', models.ManyToManyField(blank=True, to='bibliothek.leistungsblatt')),
],
options={
'verbose_name': 'Referenz',
'verbose_name_plural': 'Referenzen',
'ordering': ['referenztitel'],
},
),
]