virtual agendas: allow direct relation from agenda to timeperiod (#40058)
This commit is contained in:
parent
55f6d0e47d
commit
3aba16e82b
|
@ -0,0 +1,33 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.18 on 2020-02-26 13:27
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('agendas', '0039_booking_delays'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='timeperiod',
|
||||
name='agenda',
|
||||
field=models.ForeignKey(
|
||||
null=True,
|
||||
on_delete=django.db.models.deletion.CASCADE,
|
||||
related_name='excluded_timeperiods',
|
||||
to='agendas.Agenda',
|
||||
),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='timeperiod',
|
||||
name='desk',
|
||||
field=models.ForeignKey(
|
||||
null=True, on_delete=django.db.models.deletion.CASCADE, to='agendas.Desk'
|
||||
),
|
||||
),
|
||||
]
|
|
@ -326,7 +326,10 @@ class TimePeriod(models.Model):
|
|||
weekday = models.IntegerField(_('Week day'), choices=WEEKDAYS_LIST)
|
||||
start_time = models.TimeField(_('Start'))
|
||||
end_time = models.TimeField(_('End'))
|
||||
desk = models.ForeignKey('Desk', on_delete=models.CASCADE)
|
||||
desk = models.ForeignKey('Desk', on_delete=models.CASCADE, null=True)
|
||||
agenda = models.ForeignKey(
|
||||
Agenda, on_delete=models.CASCADE, null=True, related_name='excluded_timeperiods'
|
||||
)
|
||||
|
||||
class Meta:
|
||||
ordering = ['weekday', 'start_time']
|
||||
|
@ -338,6 +341,11 @@ class TimePeriod(models.Model):
|
|||
date_format(self.end_time, 'TIME_FORMAT'),
|
||||
)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if self.agenda:
|
||||
assert self.agenda.kind == 'virtual', "a time peŕiod can only reference a virtual agenda"
|
||||
super(TimePeriod, self).save(*args, **kwargs)
|
||||
|
||||
@property
|
||||
def weekday_str(self):
|
||||
return WEEKDAYS[self.weekday]
|
||||
|
|
Loading…
Reference in New Issue