From 821526d6316f7093553153747ea6e8b994755d54 Mon Sep 17 00:00:00 2001 From: Anatoly Date: Fri, 20 Dec 2019 12:36:11 +0300 Subject: [PATCH] remove incorrect check for establishment, set schedule attr property as blank=True, refactored timetable model --- .../migrations/0068_auto_20191220_0914.py | 18 +++++++++++++++ apps/establishment/models.py | 8 +------ apps/timetable/models.py | 22 ++++++++++++++----- 3 files changed, 35 insertions(+), 13 deletions(-) create mode 100644 apps/establishment/migrations/0068_auto_20191220_0914.py diff --git a/apps/establishment/migrations/0068_auto_20191220_0914.py b/apps/establishment/migrations/0068_auto_20191220_0914.py new file mode 100644 index 00000000..d3c4f9ab --- /dev/null +++ b/apps/establishment/migrations/0068_auto_20191220_0914.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2019-12-20 09:14 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('establishment', '0067_auto_20191122_1244'), + ] + + operations = [ + migrations.AlterField( + model_name='establishment', + name='schedule', + field=models.ManyToManyField(blank=True, related_name='schedule', to='timetable.Timetable', verbose_name='Establishment schedule'), + ), + ] diff --git a/apps/establishment/models.py b/apps/establishment/models.py index 8162aab1..8aaf345b 100644 --- a/apps/establishment/models.py +++ b/apps/establishment/models.py @@ -483,7 +483,7 @@ class Establishment(GalleryModelMixin, ProjectBaseMixin, URLImageMixin, booking = models.URLField(blank=True, null=True, default=None, max_length=255, verbose_name=_('Booking URL')) is_publish = models.BooleanField(default=False, verbose_name=_('Publish status')) - schedule = models.ManyToManyField(to='timetable.Timetable', + schedule = models.ManyToManyField(to='timetable.Timetable', blank=True, verbose_name=_('Establishment schedule'), related_name='schedule') # holidays_from = models.DateTimeField(verbose_name=_('Holidays from'), @@ -532,12 +532,6 @@ class Establishment(GalleryModelMixin, ProjectBaseMixin, URLImageMixin, def __str__(self): return f'id:{self.id}-{self.name}' - def clean_fields(self, exclude=None): - super().clean_fields(exclude) - if self.purchased_products.filter(product_type__index_name='souvenir').exists(): - raise ValidationError( - _('Only souvenirs.')) - def delete(self, using=None, keep_parents=False): """Overridden delete method""" # Delete all related companies diff --git a/apps/timetable/models.py b/apps/timetable/models.py index 90a6ae38..07e52807 100644 --- a/apps/timetable/models.py +++ b/apps/timetable/models.py @@ -35,6 +35,22 @@ class Timetable(ProjectBaseMixin): opening_at = models.TimeField(verbose_name=_('Opening time'), null=True) closed_at = models.TimeField(verbose_name=_('Closed time'), null=True) + class Meta: + """Meta class.""" + verbose_name = _('Timetable') + verbose_name_plural = _('Timetables') + ordering = ['weekday'] + + def __str__(self): + """Overridden str dunder.""" + return f'{self.get_weekday_display()} ' \ + f'(closed_at - {self.closed_at_str}, ' \ + f'opening_at - {self.opening_at_str}, ' \ + f'opening_time - {self.opening_time}, ' \ + f'ending_time - {self.ending_time}, ' \ + f'works_at_noon - {self.works_at_noon}, ' \ + f'works_at_afternoon: {self.works_at_afternoon})' + @property def closed_at_str(self): return str(self.closed_at) if self.closed_at else None @@ -58,9 +74,3 @@ class Timetable(ProjectBaseMixin): @property def works_at_afternoon(self): return bool(self.ending_time and self.ending_time > self.NOON) - - class Meta: - """Meta class.""" - verbose_name = _('Timetable') - verbose_name_plural = _('Timetables') - ordering = ['weekday']