chnage image field to image_url in establishments

This commit is contained in:
Dmitriy Kuzmenko 2019-09-19 17:18:08 +03:00
parent 20fe40010c
commit 2164e30aef
11 changed files with 66 additions and 5 deletions

View File

@ -148,6 +148,7 @@ class ChangeEmailSerializer(serializers.ModelSerializer):
class ConfirmEmailSerializer(serializers.ModelSerializer): class ConfirmEmailSerializer(serializers.ModelSerializer):
"""Confirm user email serializer""" """Confirm user email serializer"""
x = serializers.CharField(default=None)
class Meta: class Meta:
"""Meta class""" """Meta class"""
@ -161,12 +162,14 @@ class ConfirmEmailSerializer(serializers.ModelSerializer):
email_confirmed = self.instance.email_confirmed email_confirmed = self.instance.email_confirmed
if email_confirmed: if email_confirmed:
raise utils_exceptions.EmailConfirmedError() raise utils_exceptions.EmailConfirmedError()
return attrs return attrs
def update(self, instance, validated_data): def update(self, instance, validated_data):
""" """
Override update method Override update method
""" """
# Send verification link on user email for change email address # Send verification link on user email for change email address
if settings.USE_CELERY: if settings.USE_CELERY:
tasks.confirm_new_email_address.delay(instance.id) tasks.confirm_new_email_address.delay(instance.id)

View File

@ -54,6 +54,7 @@ class CommentInline(GenericTabularInline):
@admin.register(models.Establishment) @admin.register(models.Establishment)
class EstablishmentAdmin(admin.ModelAdmin): class EstablishmentAdmin(admin.ModelAdmin):
"""Establishment admin.""" """Establishment admin."""
list_display = ['id', '__str__', 'image_tag', ]
inlines = [ inlines = [
AwardInline, MetaDataContentInline, AwardInline, MetaDataContentInline,
ContactPhoneInline, ContactEmailInline, ContactPhoneInline, ContactEmailInline,

View File

@ -0,0 +1,17 @@
# Generated by Django 2.2.4 on 2019-09-19 11:17
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('establishment', '0020_merge_20190917_1415'),
]
operations = [
migrations.RemoveField(
model_name='establishment',
name='image',
),
]

View File

@ -0,0 +1,18 @@
# Generated by Django 2.2.4 on 2019-09-19 11:19
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('establishment', '0021_remove_establishment_image'),
]
operations = [
migrations.AddField(
model_name='establishment',
name='image_url',
field=models.URLField(blank=True, default=None, null=True, verbose_name='Image URL path'),
),
]

View File

@ -14,7 +14,7 @@ from phonenumber_field.modelfields import PhoneNumberField
from location.models import Address from location.models import Address
from collection.models import Collection from collection.models import Collection
from review.models import Review from review.models import Review
from utils.models import (ProjectBaseMixin, ImageMixin, TJSONField, from utils.models import (ProjectBaseMixin, ImageMixin, TJSONField, URLImageMixin,
TranslatedFieldsMixin, BaseAttributes) TranslatedFieldsMixin, BaseAttributes)
@ -225,7 +225,7 @@ class EstablishmentQuerySet(models.QuerySet):
return self.filter(address__coordinates__distance_lte=(center, Distance(**kwargs))) return self.filter(address__coordinates__distance_lte=(center, Distance(**kwargs)))
class Establishment(ProjectBaseMixin, ImageMixin, TranslatedFieldsMixin): class Establishment(ProjectBaseMixin, URLImageMixin, TranslatedFieldsMixin):
"""Establishment model.""" """Establishment model."""
name = models.CharField(_('name'), max_length=255, default='') name = models.CharField(_('name'), max_length=255, default='')

View File

@ -30,7 +30,8 @@ class EstablishmentListCreateSerializer(EstablishmentBaseSerializer):
'toque_number', 'toque_number',
'type_id', 'type_id',
'type', 'type',
'socials' 'socials',
'image_url'
] ]

View File

@ -20,4 +20,5 @@ urlpatterns = [
path('phones/<int:pk>/', views.PhonesRUDView.as_view(), name='phones-rud'), path('phones/<int:pk>/', views.PhonesRUDView.as_view(), name='phones-rud'),
path('emails/', views.EmailListCreateView.as_view(), name='emails'), path('emails/', views.EmailListCreateView.as_view(), name='emails'),
path('emails/<int:pk>/', views.EmailRUDView.as_view(), name='emails-rud'), path('emails/<int:pk>/', views.EmailRUDView.as_view(), name='emails-rud'),
] ]

View File

@ -113,3 +113,4 @@ class AddressSerializer(serializers.ModelSerializer):
setattr(instance, 'geo_lat', float(0)) setattr(instance, 'geo_lat', float(0))
setattr(instance, 'geo_lon', float(0)) setattr(instance, 'geo_lon', float(0))
return super().to_representation(instance) return super().to_representation(instance)

View File

@ -1 +1 @@
from search_indexes.signals import update_document from search_indexes.signals import update_document

View File

@ -24,7 +24,7 @@ def update_document(sender, **kwargs):
for establishment in establishments: for establishment in establishments:
registry.update(establishment) registry.update(establishment)
if model_name == 'Address': if model_name == 'address':
establishments = Establishment.objects.filter( establishments = Establishment.objects.filter(
address=instance) address=instance)
for establishment in establishments: for establishment in establishments:

View File

@ -181,6 +181,25 @@ class SVGImageMixin(models.Model):
abstract = True abstract = True
class URLImageMixin(models.Model):
"""URl for image and special methods."""
image_url = models.URLField(verbose_name=_('Image URL path'),
blank=True, null=True, default=None)
class Meta:
abstract = True
def image_tag(self):
if self.image_url:
return mark_safe(
f'<a href="{self.image_url}"><img src="{self.image_url}" height="50"/>')
else:
return None
image_tag.short_description = _('Image')
image_tag.allow_tags = True
class PlatformMixin(models.Model): class PlatformMixin(models.Model):
"""Platforms""" """Platforms"""