transfer tags with translations
This commit is contained in:
parent
ca6a57f012
commit
ad21b6eb24
|
|
@ -8,6 +8,7 @@ from gallery.models import Image
|
|||
from news.models import NewsType, News
|
||||
from rating.models import ViewCount
|
||||
from tag.models import TagCategory, Tag
|
||||
from translation.models import SiteInterfaceDictionary
|
||||
from transfer.models import PageTexts, PageCounters, PageMetadata
|
||||
from transfer.serializers.news import NewsSerializer
|
||||
|
||||
|
|
@ -144,7 +145,9 @@ def add_tags():
|
|||
)
|
||||
if created:
|
||||
text_value = ' '.join(new_tag.value.split('_'))
|
||||
new_tag.label = {'en-GB': text_value}
|
||||
translation = SiteInterfaceDictionary(page={'en-GB': text_value}, keywords=f'tag.{new_tag.category}.{new_tag.value}')
|
||||
translation.save()
|
||||
new_tag.translation = translation
|
||||
new_tag.save()
|
||||
|
||||
news = News.objects.filter(old_id=old_id).first()
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ from transfer.mixins import TransferSerializerMixin
|
|||
from django.conf import settings
|
||||
from functools import reduce
|
||||
from gallery.models import Image
|
||||
from translation.models import SiteInterfaceDictionary
|
||||
|
||||
|
||||
class WineColorSerializer(TransferSerializerMixin):
|
||||
|
|
@ -21,6 +22,7 @@ class WineColorSerializer(TransferSerializerMixin):
|
|||
name = serializers.CharField(allow_null=True)
|
||||
order_number = serializers.IntegerField(allow_null=True)
|
||||
|
||||
|
||||
class Meta:
|
||||
model = tag_models.Tag
|
||||
fields = (
|
||||
|
|
@ -31,8 +33,11 @@ class WineColorSerializer(TransferSerializerMixin):
|
|||
|
||||
def validate(self, attrs):
|
||||
value = attrs.pop('name')
|
||||
translation = SiteInterfaceDictionary(text={settings.FALLBACK_LOCALE: value},
|
||||
keywords=f'tag.{self.CATEGORY_INDEX_NAME}.{slugify(value)}')
|
||||
translation.save()
|
||||
attrs['old_id'] = attrs.pop('id', None)
|
||||
attrs['label'] = {settings.FALLBACK_LOCALE: value}
|
||||
attrs['translation'] = translation
|
||||
attrs['value'] = slugify(value)
|
||||
attrs['priority'] = attrs.pop('order_number')
|
||||
attrs['category'] = self.tag_category
|
||||
|
|
@ -55,8 +60,11 @@ class WineTypeSerializer(TransferSerializerMixin):
|
|||
|
||||
def validate(self, attrs):
|
||||
value = attrs.pop('name')
|
||||
translation = SiteInterfaceDictionary(text={settings.FALLBACK_LOCALE: value},
|
||||
keywords=f'tag.{self.CATEGORY_INDEX_NAME}.{slugify(value)}')
|
||||
translation.save()
|
||||
attrs['old_id'] = attrs.pop('id', None)
|
||||
attrs['label'] = {settings.FALLBACK_LOCALE: value}
|
||||
attrs['translation'] = translation
|
||||
attrs['value'] = slugify(value)
|
||||
attrs['category'] = self.tag_category
|
||||
return attrs
|
||||
|
|
@ -76,8 +84,11 @@ class WineBottlesProducedSerializer(TransferSerializerMixin):
|
|||
|
||||
def validate(self, attrs):
|
||||
value = attrs.pop('bottles_produced')
|
||||
translation = SiteInterfaceDictionary(text={settings.FALLBACK_LOCALE: value},
|
||||
keywords=f'tag.{self.CATEGORY_INDEX_NAME}.{slugify(value)}')
|
||||
translation.save()
|
||||
parsed_value = self.parsed_value(value)
|
||||
attrs['label'] = {settings.FALLBACK_LOCALE: parsed_value}
|
||||
attrs['translation'] = translation
|
||||
attrs['value'] = slugify(parsed_value)
|
||||
attrs['category'] = self.tag_category
|
||||
return attrs
|
||||
|
|
|
|||
|
|
@ -64,8 +64,11 @@ class CepageTagSerializer(TransferSerializerMixin):
|
|||
def validate(self, attrs):
|
||||
|
||||
name = attrs.pop('name')
|
||||
|
||||
attrs['label'] = {settings.FALLBACK_LOCALE: name}
|
||||
value = attrs.pop('bottles_produced')
|
||||
translation = SiteInterfaceDictionary(text={settings.FALLBACK_LOCALE: value},
|
||||
keywords=f'tag.{self.CATEGORY_INDEX_NAME}.{slugify(value)}')
|
||||
translation.save()
|
||||
attrs['translation'] = translation
|
||||
attrs['value'] = slugify(name)
|
||||
attrs['category'] = self.tag_category
|
||||
return attrs
|
||||
|
|
|
|||
|
|
@ -58,12 +58,12 @@ class SiteInterfaceDictionaryManager(LocaleManagerMixin):
|
|||
if tag.translation:
|
||||
tag.translation.text = translations
|
||||
tag.translation.page = 'tag'
|
||||
tag.translation.keywords = f'tag-{tag.pk}'
|
||||
tag.translation.keywords = f'tag.{tag.category.index_name}.{tag.value}'
|
||||
else:
|
||||
trans = SiteInterfaceDictionary({
|
||||
'text': translations,
|
||||
'page': 'tag',
|
||||
'keywords': f'tag-{tag.pk}'
|
||||
'keywords': f'tag.{tag.category.index_name}.{tag.value}'
|
||||
})
|
||||
trans.save()
|
||||
tag.translation = trans
|
||||
|
|
@ -77,12 +77,12 @@ class SiteInterfaceDictionaryManager(LocaleManagerMixin):
|
|||
if tag_category.translation:
|
||||
tag_category.translation.text = translations
|
||||
tag_category.translation.page = 'tag'
|
||||
tag_category.translation.keywords = f'tag_category-{tag_category.pk}'
|
||||
tag_category.translation.keywords = f'tag.{tag_category.category.index_name}'
|
||||
else:
|
||||
trans = SiteInterfaceDictionary({
|
||||
'text': translations,
|
||||
'page': 'tag',
|
||||
'keywords': f'tag_category-{tag_category.pk}'
|
||||
'keywords': f'tag.{tag_category.category.index_name}'
|
||||
})
|
||||
trans.save()
|
||||
tag_category.translation = trans
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user