Review fixes
This commit is contained in:
parent
beb031d0b6
commit
33478580aa
|
|
@ -14,10 +14,8 @@ from django.utils.translation import gettext_lazy as _
|
||||||
from phonenumber_field.modelfields import PhoneNumberField
|
from phonenumber_field.modelfields import PhoneNumberField
|
||||||
|
|
||||||
from collection.models import Collection
|
from collection.models import Collection
|
||||||
from main.models import MetaDataContent
|
from main.models import Award, MetaDataContent
|
||||||
from location.models import Address
|
from location.models import Address
|
||||||
from collection.models import Collection
|
|
||||||
from main.models import Award
|
|
||||||
from review.models import Review
|
from review.models import Review
|
||||||
from utils.models import (ProjectBaseMixin, TJSONField, URLImageMixin,
|
from utils.models import (ProjectBaseMixin, TJSONField, URLImageMixin,
|
||||||
TranslatedFieldsMixin, BaseAttributes)
|
TranslatedFieldsMixin, BaseAttributes)
|
||||||
|
|
@ -335,9 +333,9 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def vintage_year(self):
|
def vintage_year(self):
|
||||||
review_qs = self.reviews.by_status(Review.READY)
|
last_review = self.reviews.by_status(Review.READY).last()
|
||||||
if review_qs.exists():
|
if last_review:
|
||||||
return review_qs.last().vintage
|
return last_review.vintage
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def best_price_menu(self):
|
def best_price_menu(self):
|
||||||
|
|
@ -367,10 +365,8 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def the_most_recent_award(self):
|
def the_most_recent_award(self):
|
||||||
awards = Award.objects.filter(Q(establishment=self) | Q(employees__establishments=self))
|
return Award.objects.filter(Q(establishment=self) | Q(employees__establishments=self)).latest(
|
||||||
if awards:
|
field_name='vintage_year')
|
||||||
return awards.latest(field_name='vintage_year')
|
|
||||||
return {}
|
|
||||||
|
|
||||||
|
|
||||||
class Position(BaseAttributes, TranslatedFieldsMixin):
|
class Position(BaseAttributes, TranslatedFieldsMixin):
|
||||||
|
|
|
||||||
|
|
@ -198,8 +198,8 @@ class EstablishmentDetailSerializer(EstablishmentListSerializer):
|
||||||
menu = MenuSerializers(source='menu_set', many=True, read_only=True)
|
menu = MenuSerializers(source='menu_set', many=True, read_only=True)
|
||||||
best_price_menu = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
best_price_menu = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||||
best_price_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
best_price_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||||
|
|
||||||
vintage_year = serializers.ReadOnlyField()
|
vintage_year = serializers.ReadOnlyField()
|
||||||
|
|
||||||
class Meta(EstablishmentListSerializer.Meta):
|
class Meta(EstablishmentListSerializer.Meta):
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -318,9 +318,9 @@ class Carousel(models.Model):
|
||||||
@property
|
@property
|
||||||
def vintage_year(self):
|
def vintage_year(self):
|
||||||
if hasattr(self.content_object, 'reviews'):
|
if hasattr(self.content_object, 'reviews'):
|
||||||
review_qs = self.content_object.reviews.by_status(Review.READY)
|
last_review = self.content_object.reviews.by_status(Review.READY).last()
|
||||||
if review_qs.exists():
|
if last_review:
|
||||||
return review_qs.last().vintage
|
return last_review.vintage
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def toque_number(self):
|
def toque_number(self):
|
||||||
|
|
@ -342,6 +342,11 @@ class Carousel(models.Model):
|
||||||
if hasattr(self.content_object, 'slug'):
|
if hasattr(self.content_object, 'slug'):
|
||||||
return self.content_object.slug
|
return self.content_object.slug
|
||||||
|
|
||||||
|
@property
|
||||||
|
def the_most_recent_award(self):
|
||||||
|
if hasattr(self.content_object, 'the_most_recent_award'):
|
||||||
|
return self.content_object.the_most_recent_award
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def model_name(self):
|
def model_name(self):
|
||||||
return self.content_object.__class__.__name__
|
return self.content_object.__class__.__name__
|
||||||
|
|
|
||||||
|
|
@ -142,7 +142,7 @@ class CarouselListSerializer(serializers.ModelSerializer):
|
||||||
image = serializers.URLField(source='image_url')
|
image = serializers.URLField(source='image_url')
|
||||||
awards = AwardBaseSerializer(many=True)
|
awards = AwardBaseSerializer(many=True)
|
||||||
vintage_year = serializers.IntegerField()
|
vintage_year = serializers.IntegerField()
|
||||||
last_award = serializers.SerializerMethodField()
|
last_award = AwardBaseSerializer(source='the_most_recent_award', allow_null=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
"""Meta class."""
|
"""Meta class."""
|
||||||
|
|
@ -160,11 +160,6 @@ class CarouselListSerializer(serializers.ModelSerializer):
|
||||||
'slug',
|
'slug',
|
||||||
]
|
]
|
||||||
|
|
||||||
def get_last_award(self, obj):
|
|
||||||
if isinstance(obj.content_object, Establishment):
|
|
||||||
award = obj.content_object.the_most_recent_award
|
|
||||||
return AwardBaseSerializer().to_representation(award) if award else None
|
|
||||||
return None
|
|
||||||
|
|
||||||
class PageSerializer(serializers.ModelSerializer):
|
class PageSerializer(serializers.ModelSerializer):
|
||||||
page_name = serializers.CharField()
|
page_name = serializers.CharField()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user