Deadline u hodnocení
This commit is contained in:
parent
342c791700
commit
e33a80b16d
2 changed files with 38 additions and 0 deletions
35
seminar/migrations/0104_hodnoceni_deadline_body.py
Normal file
35
seminar/migrations/0104_hodnoceni_deadline_body.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Generated by Django 3.2.15 on 2022-10-01 09:28
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
from logging import getLogger
|
||||
|
||||
log = getLogger(__name__)
|
||||
|
||||
def prirad_deadliny(apps, schema_editor):
|
||||
Hodnoceni = apps.get_model('seminar', 'Hodnoceni')
|
||||
Deadline = apps.get_model('seminar', 'Deadline')
|
||||
|
||||
for h in Hodnoceni.objects.all():
|
||||
d = Deadline.objects.filter(deadline__gte=h.reseni.cas_doruceni).first()
|
||||
h.deadline_body = d
|
||||
h.save()
|
||||
|
||||
if h.cislo_body and int(h.deadline_body.cislo.poradi) + 1 != int(h.cislo_body.poradi[0]):
|
||||
log.error(f"Hodnocení {h.id} se špatně změnilo číslo z {h.cislo_body} na {h.deadline_body.cislo}")
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('seminar', '0103_deadline'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='hodnoceni',
|
||||
name='deadline_body',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='hodnoceni', to='seminar.deadline', verbose_name='deadline pro body'),
|
||||
),
|
||||
migrations.RunPython(prirad_deadliny, migrations.RunPython.noop),
|
||||
]
|
|
@ -101,6 +101,9 @@ class Hodnoceni(bm.SeminarModelBase):
|
|||
cislo_body = models.ForeignKey(am.Cislo, verbose_name='číslo pro body',
|
||||
related_name='hodnoceni', blank=True, null=True, on_delete=models.PROTECT)
|
||||
|
||||
deadline_body = models.ForeignKey(am.Deadline, verbose_name='deadline pro body',
|
||||
related_name='hodnoceni', blank=True, null=True, on_delete=models.PROTECT)
|
||||
|
||||
reseni = models.ForeignKey(Reseni, verbose_name='řešení', on_delete=models.CASCADE)
|
||||
|
||||
problem = models.ForeignKey(am.Problem, verbose_name='problém',
|
||||
|
|
Loading…
Reference in a new issue