0006-virtual-agendas-allow-direct-relation-from-agenda-to.patch
chrono/agendas/migrations/0040_timeperiod_agenda.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# Generated by Django 1.11.18 on 2020-02-26 13:27 |
|
3 |
from __future__ import unicode_literals |
|
4 | ||
5 |
from django.db import migrations, models |
|
6 |
import django.db.models.deletion |
|
7 | ||
8 | ||
9 |
class Migration(migrations.Migration): |
|
10 | ||
11 |
dependencies = [ |
|
12 |
('agendas', '0039_booking_delays'), |
|
13 |
] |
|
14 | ||
15 |
operations = [ |
|
16 |
migrations.AddField( |
|
17 |
model_name='timeperiod', |
|
18 |
name='agenda', |
|
19 |
field=models.ForeignKey( |
|
20 |
null=True, |
|
21 |
on_delete=django.db.models.deletion.CASCADE, |
|
22 |
related_name='excluded_timeperiods', |
|
23 |
to='agendas.Agenda', |
|
24 |
), |
|
25 |
), |
|
26 |
migrations.AlterField( |
|
27 |
model_name='timeperiod', |
|
28 |
name='desk', |
|
29 |
field=models.ForeignKey( |
|
30 |
null=True, on_delete=django.db.models.deletion.CASCADE, to='agendas.Desk' |
|
31 |
), |
|
32 |
), |
|
33 |
] |
chrono/agendas/models.py | ||
---|---|---|
298 | 298 |
weekday = models.IntegerField(_('Week day'), choices=WEEKDAYS_LIST) |
299 | 299 |
start_time = models.TimeField(_('Start')) |
300 | 300 |
end_time = models.TimeField(_('End')) |
301 |
desk = models.ForeignKey('Desk', on_delete=models.CASCADE) |
|
301 |
desk = models.ForeignKey('Desk', on_delete=models.CASCADE, null=True) |
|
302 |
agenda = models.ForeignKey( |
|
303 |
Agenda, on_delete=models.CASCADE, null=True, related_name='excluded_timeperiods' |
|
304 |
) |
|
302 | 305 | |
303 | 306 |
class Meta: |
304 | 307 |
ordering = ['weekday', 'start_time'] |
... | ... | |
310 | 313 |
date_format(self.end_time, 'TIME_FORMAT'), |
311 | 314 |
) |
312 | 315 | |
316 |
def save(self, *args, **kwargs): |
|
317 |
if self.agenda: |
|
318 |
assert self.agenda.kind == 'virtual', "a time peŕiod can only reference a virtual agenda" |
|
319 |
super(TimePeriod, self).save(*args, **kwargs) |
|
320 | ||
313 | 321 |
@property |
314 | 322 |
def weekday_str(self): |
315 | 323 |
return WEEKDAYS[self.weekday] |
316 |
- |