generated from coulomb/repo-seed
116 lines
7.1 KiB
Python
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'],
|
|
},
|
|
),
|
|
]
|