Projet

Général

Profil

0001-manager-add-stop_datetime-on-event-37352.patch

Nicolas Roche, 26 mai 2020 20:25

Télécharger (4,04 ko)

Voir les différences:

Subject: [PATCH 1/2] manager: add stop_datetime on event (#37352)

 .../migrations/0044_auto_20200526_1933.py     | 24 +++++++++++++++++++
 chrono/agendas/models.py                      |  3 ++-
 chrono/manager/forms.py                       |  2 ++
 3 files changed, 28 insertions(+), 1 deletion(-)
 create mode 100644 chrono/agendas/migrations/0044_auto_20200526_1933.py
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
-