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 collection.models import Collection
|
||||
from main.models import MetaDataContent
|
||||
from main.models import Award, MetaDataContent
|
||||
from location.models import Address
|
||||
from collection.models import Collection
|
||||
from main.models import Award
|
||||
from review.models import Review
|
||||
from utils.models import (ProjectBaseMixin, TJSONField, URLImageMixin,
|
||||
TranslatedFieldsMixin, BaseAttributes)
|
||||
|
|
@ -335,9 +333,9 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
|
||||
@property
|
||||
def vintage_year(self):
|
||||
review_qs = self.reviews.by_status(Review.READY)
|
||||
if review_qs.exists():
|
||||
return review_qs.last().vintage
|
||||
last_review = self.reviews.by_status(Review.READY).last()
|
||||
if last_review:
|
||||
return last_review.vintage
|
||||
|
||||
@property
|
||||
def best_price_menu(self):
|
||||
|
|
@ -367,10 +365,8 @@ class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
|
|||
|
||||
@property
|
||||
def the_most_recent_award(self):
|
||||
awards = Award.objects.filter(Q(establishment=self) | Q(employees__establishments=self))
|
||||
if awards:
|
||||
return awards.latest(field_name='vintage_year')
|
||||
return {}
|
||||
return Award.objects.filter(Q(establishment=self) | Q(employees__establishments=self)).latest(
|
||||
field_name='vintage_year')
|
||||
|
||||
|
||||
class Position(BaseAttributes, TranslatedFieldsMixin):
|
||||
|
|
|
|||
|
|
@ -198,8 +198,8 @@ class EstablishmentDetailSerializer(EstablishmentListSerializer):
|
|||
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_carte = serializers.DecimalField(max_digits=14, decimal_places=2, read_only=True)
|
||||
|
||||
vintage_year = serializers.ReadOnlyField()
|
||||
|
||||
class Meta(EstablishmentListSerializer.Meta):
|
||||
"""Meta class."""
|
||||
|
||||
|
|
|
|||
|
|
@ -318,9 +318,9 @@ class Carousel(models.Model):
|
|||
@property
|
||||
def vintage_year(self):
|
||||
if hasattr(self.content_object, 'reviews'):
|
||||
review_qs = self.content_object.reviews.by_status(Review.READY)
|
||||
if review_qs.exists():
|
||||
return review_qs.last().vintage
|
||||
last_review = self.content_object.reviews.by_status(Review.READY).last()
|
||||
if last_review:
|
||||
return last_review.vintage
|
||||
|
||||
@property
|
||||
def toque_number(self):
|
||||
|
|
@ -342,6 +342,11 @@ class Carousel(models.Model):
|
|||
if hasattr(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
|
||||
def model_name(self):
|
||||
return self.content_object.__class__.__name__
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ class CarouselListSerializer(serializers.ModelSerializer):
|
|||
image = serializers.URLField(source='image_url')
|
||||
awards = AwardBaseSerializer(many=True)
|
||||
vintage_year = serializers.IntegerField()
|
||||
last_award = serializers.SerializerMethodField()
|
||||
last_award = AwardBaseSerializer(source='the_most_recent_award', allow_null=True)
|
||||
|
||||
class Meta:
|
||||
"""Meta class."""
|
||||
|
|
@ -160,11 +160,6 @@ class CarouselListSerializer(serializers.ModelSerializer):
|
|||
'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):
|
||||
page_name = serializers.CharField()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user