Merge branch 'develop' of ssh://gl.id-east.ru:222/gm/gm-backend into develop
This commit is contained in:
commit
32439c9db6
18
apps/account/migrations/0037_auto_20200206_1447.py
Normal file
18
apps/account/migrations/0037_auto_20200206_1447.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Generated by Django 2.2.7 on 2020-02-06 14:47
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('account', '0036_auto_20200205_1457'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='role',
|
||||
name='role',
|
||||
field=models.PositiveIntegerField(choices=[(1, 'Standard user'), (2, 'Moderator'), (3, 'Country admin'), (4, 'Content page manager'), (5, 'Establishment manager'), (6, 'Review manager'), (7, 'Restaurant inspector'), (8, 'Sales man'), (9, 'Winery & Wine inspector'), (10, 'Seller'), (11, 'Distillery & Liquor inspector'), (12, 'Producer & Food inspector'), (13, 'Establishment administrator'), (14, 'Artisan inspector')], verbose_name='Role'),
|
||||
),
|
||||
]
|
||||
|
|
@ -66,10 +66,10 @@ class Role(ProjectBaseMixin):
|
|||
(REVIEW_MANAGER, _('Review manager')),
|
||||
(RESTAURANT_INSPECTOR, _('Restaurant inspector')),
|
||||
(SALES_MAN, _('Sales man')),
|
||||
(WINERY_WINE_INSPECTOR, _('Winery and wine inspector')),
|
||||
(WINERY_WINE_INSPECTOR, _('Winery & Wine inspector')),
|
||||
(SELLER, _('Seller')),
|
||||
(DISTILLERY_LIQUOR_INSPECTOR, _('Distillery & Liquor inspector')),
|
||||
(PRODUCER_FOOD_INSPECTOR, _('Producer food inspector')),
|
||||
(PRODUCER_FOOD_INSPECTOR, _('Producer & Food inspector')),
|
||||
(ESTABLISHMENT_ADMINISTRATOR, _('Establishment administrator')),
|
||||
(ARTISAN_INSPECTOR, _('Artisan inspector')),
|
||||
)
|
||||
|
|
|
|||
|
|
@ -15,7 +15,8 @@ from establishment import models, serializers as model_serializers
|
|||
from establishment.models import ContactEmail, ContactPhone, EstablishmentEmployee
|
||||
from establishment.serializers.common import ContactPhonesSerializer
|
||||
from gallery.models import Image
|
||||
from location.serializers import AddressDetailSerializer, TranslatedField
|
||||
from location.serializers import AddressDetailSerializer, TranslatedField, AddressBaseSerializer, \
|
||||
AddressEstablishmentSerializer
|
||||
from main import models as main_models
|
||||
from main.models import Currency
|
||||
from main.serializers import AwardSerializer
|
||||
|
|
@ -57,9 +58,10 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria
|
|||
address_id = serializers.PrimaryKeyRelatedField(
|
||||
source='address',
|
||||
queryset=models.Address.objects.all(),
|
||||
write_only=True
|
||||
write_only=True,
|
||||
required=False,
|
||||
)
|
||||
address = AddressDetailSerializer(read_only=True, allow_null=True)
|
||||
address = AddressEstablishmentSerializer(allow_null=True)
|
||||
transliterated_name = serializers.CharField(
|
||||
required=False, allow_null=True, allow_blank=True
|
||||
)
|
||||
|
|
@ -164,7 +166,17 @@ class EstablishmentListCreateSerializer(model_serializers.EstablishmentBaseSeria
|
|||
)
|
||||
validated_data['slug'] = slug
|
||||
|
||||
if 'address' in validated_data:
|
||||
address_fields = validated_data.pop('address')
|
||||
address_instance = get_object_or_404(models.Address, id=address_fields['id'] or None)
|
||||
address_id = getattr(address_instance, 'id')
|
||||
|
||||
models.Address.objects.filter(id=address_id).update(**address_fields)
|
||||
|
||||
validated_data['address_id'] = address_id
|
||||
|
||||
instance = super().create(validated_data)
|
||||
|
||||
phones_handler(phones_list, instance)
|
||||
emails_handler(emails_list, instance)
|
||||
return instance
|
||||
|
|
|
|||
|
|
@ -207,6 +207,27 @@ class AddressBaseSerializer(serializers.ModelSerializer):
|
|||
return attrs
|
||||
|
||||
|
||||
class AddressEstablishmentSerializer(AddressBaseSerializer):
|
||||
"""Address serializer."""
|
||||
|
||||
id = serializers.IntegerField(required=True)
|
||||
street_name_1 = serializers.CharField(required=False, default='')
|
||||
street_name_2 = serializers.CharField(required=False, default='')
|
||||
number = serializers.IntegerField(required=False, default=0)
|
||||
postal_code = serializers.CharField(required=False, default='')
|
||||
|
||||
class Meta(AddressBaseSerializer.Meta):
|
||||
"""Meta class."""
|
||||
|
||||
fields = AddressBaseSerializer.Meta.fields + (
|
||||
'id',
|
||||
'street_name_1',
|
||||
'street_name_2',
|
||||
'number',
|
||||
'postal_code',
|
||||
)
|
||||
|
||||
|
||||
class AddressDetailSerializer(AddressBaseSerializer):
|
||||
"""Address serializer."""
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user