Added short weekday to model
This commit is contained in:
parent
67ab06022f
commit
660a46b895
|
|
@ -153,6 +153,7 @@ class EstablishmentDocument(Document):
|
||||||
'id': fields.IntegerField(attr='id'),
|
'id': fields.IntegerField(attr='id'),
|
||||||
'weekday': fields.IntegerField(attr='weekday'),
|
'weekday': fields.IntegerField(attr='weekday'),
|
||||||
'weekday_display': fields.KeywordField(attr='get_weekday_display'),
|
'weekday_display': fields.KeywordField(attr='get_weekday_display'),
|
||||||
|
'weekday_display_short': fields.KeywordField(attr='weekday_display_short'),
|
||||||
'closed_at': fields.KeywordField(attr='closed_at_str'),
|
'closed_at': fields.KeywordField(attr='closed_at_str'),
|
||||||
'opening_at': fields.KeywordField(attr='opening_at_str'),
|
'opening_at': fields.KeywordField(attr='opening_at_str'),
|
||||||
'closed_at_indexing': fields.DateField(),
|
'closed_at_indexing': fields.DateField(),
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from datetime import datetime, time
|
from datetime import datetime, time, date, timedelta
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
@ -53,6 +53,13 @@ class Timetable(ProjectBaseMixin):
|
||||||
f'works_at_noon - {self.works_at_noon}, ' \
|
f'works_at_noon - {self.works_at_noon}, ' \
|
||||||
f'works_at_afternoon: {self.works_at_afternoon})'
|
f'works_at_afternoon: {self.works_at_afternoon})'
|
||||||
|
|
||||||
|
@property
|
||||||
|
def weekday_display_short(self):
|
||||||
|
"""Translated short day of the week"""
|
||||||
|
monday = date(2020, 1, 6)
|
||||||
|
with_weekday = monday + timedelta(days=self.weekday)
|
||||||
|
return _(with_weekday.strftime("%a"))
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def closed_at_str(self):
|
def closed_at_str(self):
|
||||||
return str(self.closed_at) if self.closed_at else None
|
return str(self.closed_at) if self.closed_at else None
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ class ScheduleRUDSerializer(serializers.ModelSerializer):
|
||||||
'dinner_end', 'opening_at', 'closed_at']
|
'dinner_end', 'opening_at', 'closed_at']
|
||||||
|
|
||||||
weekday_display = serializers.CharField(source='get_weekday_display', read_only=True)
|
weekday_display = serializers.CharField(source='get_weekday_display', read_only=True)
|
||||||
weekday_display_short = serializers.SerializerMethodField(read_only=True)
|
weekday_display_short = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
lunch_start = serializers.TimeField(required=False)
|
lunch_start = serializers.TimeField(required=False)
|
||||||
lunch_end = serializers.TimeField(required=False)
|
lunch_end = serializers.TimeField(required=False)
|
||||||
|
|
@ -43,12 +43,6 @@ class ScheduleRUDSerializer(serializers.ModelSerializer):
|
||||||
'establishment_id'
|
'establishment_id'
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_weekday_display_short(self, obj: Timetable):
|
|
||||||
"""Translated short day of the week"""
|
|
||||||
monday = datetime.date(2020, 1, 6)
|
|
||||||
with_weekday = monday + datetime.timedelta(days=obj.weekday)
|
|
||||||
return _(with_weekday.strftime("%a"))
|
|
||||||
|
|
||||||
def validate(self, attrs):
|
def validate(self, attrs):
|
||||||
"""Override validate method"""
|
"""Override validate method"""
|
||||||
establishment_pk = self.context.get('request') \
|
establishment_pk = self.context.get('request') \
|
||||||
|
|
@ -102,7 +96,7 @@ class ScheduleCreateSerializer(ScheduleRUDSerializer):
|
||||||
class TimetableSerializer(serializers.ModelSerializer):
|
class TimetableSerializer(serializers.ModelSerializer):
|
||||||
"""Serailzier for Timetable model."""
|
"""Serailzier for Timetable model."""
|
||||||
weekday_display = serializers.CharField(source='get_weekday_display', read_only=True)
|
weekday_display = serializers.CharField(source='get_weekday_display', read_only=True)
|
||||||
weekday_display_short = serializers.SerializerMethodField(read_only=True)
|
weekday_display_short = serializers.CharField(read_only=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Timetable
|
model = Timetable
|
||||||
|
|
@ -112,9 +106,3 @@ class TimetableSerializer(serializers.ModelSerializer):
|
||||||
'weekday_display_short',
|
'weekday_display_short',
|
||||||
'works_at_noon',
|
'works_at_noon',
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_weekday_display_short(self, obj: Timetable):
|
|
||||||
"""Translated short day of the week"""
|
|
||||||
monday = datetime.date(2020, 1, 6)
|
|
||||||
with_weekday = monday + datetime.timedelta(days=obj.weekday)
|
|
||||||
return _(with_weekday.strftime("%a"))
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user