0001-manager-add-stop_datetime-on-event-37352.patch
chrono/agendas/migrations/0044_auto_20200526_1933.py | ||
---|---|---|
1 |
# -*- coding: utf-8 -*- |
|
2 |
# Generated by Django 1.11.18 on 2020-05-26 17:33 |
|
3 |
from __future__ import unicode_literals |
|
4 | ||
5 |
from django.db import migrations, models |
|
6 | ||
7 | ||
8 |
class Migration(migrations.Migration): |
|
9 | ||
10 |
dependencies = [ |
|
11 |
('agendas', '0043_booking_user_external_id'), |
|
12 |
] |
|
13 | ||
14 |
operations = [ |
|
15 |
migrations.AlterModelOptions( |
|
16 |
name='event', |
|
17 |
options={'ordering': ['agenda', 'start_datetime', 'stop_datetime', 'label']}, |
|
18 |
), |
|
19 |
migrations.AddField( |
|
20 |
model_name='event', |
|
21 |
name='stop_datetime', |
|
22 |
field=models.DateTimeField(blank=True, null=True, verbose_name='Date/time'), |
|
23 |
), |
|
24 |
] |
chrono/agendas/models.py | ||
---|---|---|
633 | 633 |
'slug': self.slug, |
634 | 634 |
'duration': self.duration, |
635 | 635 |
} |
636 | 636 | |
637 | 637 | |
638 | 638 |
class Event(models.Model): |
639 | 639 |
agenda = models.ForeignKey(Agenda, on_delete=models.CASCADE) |
640 | 640 |
start_datetime = models.DateTimeField(_('Date/time')) |
641 |
stop_datetime = models.DateTimeField(_('Ending date/time'), null=True, blank=True) |
|
641 | 642 |
places = models.PositiveIntegerField(_('Places')) |
642 | 643 |
waiting_list_places = models.PositiveIntegerField(_('Places in waiting list'), default=0) |
643 | 644 |
label = models.CharField( |
644 | 645 |
_('Label'), |
645 | 646 |
max_length=150, |
646 | 647 |
null=True, |
647 | 648 |
blank=True, |
648 | 649 |
help_text=_('Optional label to identify this date.'), |
... | ... | |
653 | 654 |
) |
654 | 655 |
pricing = models.CharField(_('Pricing'), max_length=150, null=True, blank=True) |
655 | 656 |
url = models.CharField(_('URL'), max_length=200, null=True, blank=True) |
656 | 657 |
full = models.BooleanField(default=False) |
657 | 658 |
meeting_type = models.ForeignKey(MeetingType, null=True, on_delete=models.CASCADE) |
658 | 659 |
desk = models.ForeignKey('Desk', null=True, on_delete=models.CASCADE) |
659 | 660 | |
660 | 661 |
class Meta: |
661 |
ordering = ['agenda', 'start_datetime', 'label'] |
|
662 |
ordering = ['agenda', 'start_datetime', 'stop_datetime', 'label']
|
|
662 | 663 |
unique_together = ('agenda', 'slug') |
663 | 664 | |
664 | 665 |
def __str__(self): |
665 | 666 |
if self.label: |
666 | 667 |
return self.label |
667 | 668 |
return date_format(localtime(self.start_datetime), format='DATETIME_FORMAT') |
668 | 669 | |
669 | 670 |
def save(self, *args, **kwargs): |
chrono/manager/forms.py | ||
---|---|---|
68 | 68 | |
69 | 69 | |
70 | 70 |
class NewEventForm(forms.ModelForm): |
71 | 71 |
class Meta: |
72 | 72 |
model = Event |
73 | 73 |
widgets = { |
74 | 74 |
'agenda': forms.HiddenInput(), |
75 | 75 |
'start_datetime': DateTimeWidget(), |
76 |
'stop_datetime': DateTimeWidget(), |
|
76 | 77 |
} |
77 | 78 |
exclude = ['full', 'meeting_type', 'desk', 'slug'] |
78 | 79 | |
79 | 80 | |
80 | 81 |
class EventForm(forms.ModelForm): |
81 | 82 |
class Meta: |
82 | 83 |
model = Event |
83 | 84 |
widgets = { |
84 | 85 |
'agenda': forms.HiddenInput(), |
85 | 86 |
'start_datetime': DateTimeWidget(), |
87 |
'stop_datetime': DateTimeWidget(), |
|
86 | 88 |
} |
87 | 89 |
exclude = ['full', 'meeting_type', 'desk'] |
88 | 90 | |
89 | 91 | |
90 | 92 |
class NewMeetingTypeForm(forms.ModelForm): |
91 | 93 |
class Meta: |
92 | 94 |
model = MeetingType |
93 | 95 |
widgets = { |
94 |
- |