diff --git a/apps/tag/management/commands/add_tags_translation.py b/apps/tag/management/commands/add_tags_translation.py new file mode 100644 index 00000000..34041c19 --- /dev/null +++ b/apps/tag/management/commands/add_tags_translation.py @@ -0,0 +1,30 @@ +from django.core.management.base import BaseCommand + +from establishment.models import Establishment, EstablishmentType +from transfer import models as legacy +from tag.models import Tag, TagCategory + + +class Command(BaseCommand): + help = 'Add tags translation from old db to new db' + + def handle(self, *args, **kwargs): + translation = legacy.MetadatumAliases.objects.all() + # Humanisation for default values + + tags = Tag.objects.all() + for tag in tags: + value = tag.label + for k, v in value.items(): + sp = v.split('_') + v = ' '.join([sp[0].capitalize()] + sp[1:]) + tag.label[k] = v + tag.save() + + for trans in translation: + tag = Tag.objects.filter(value=trans.value).first() + if tag: + tag.label.update( + {trans.locale: trans.meta_alias} + ) + tag.save() \ No newline at end of file diff --git a/apps/tag/serializers.py b/apps/tag/serializers.py index f9bab992..8416ffcd 100644 --- a/apps/tag/serializers.py +++ b/apps/tag/serializers.py @@ -12,9 +12,8 @@ from utils.serializers import TranslatedField class TagBaseSerializer(serializers.ModelSerializer): """Serializer for model Tag.""" - # todo: refactor this - # label_translated = TranslatedField() - label_translated = serializers.CharField(source='value', read_only=True, allow_null=True) + label_translated = TranslatedField() + # label_translated = serializers.CharField(source='value', read_only=True, allow_null=True) index_name = serializers.CharField(source='value', read_only=True, allow_null=True) class Meta: diff --git a/apps/transfer/models.py b/apps/transfer/models.py index f4a1ade5..599445c2 100644 --- a/apps/transfer/models.py +++ b/apps/transfer/models.py @@ -972,3 +972,18 @@ class CarouselElements(MigrateMixin): class Meta: managed = False db_table = 'carousel_elements' + + +class MetadatumAliases(MigrateMixin): + """MetadatumAliases model.""" + using = 'legacy' + + meta_alias = models.CharField(max_length=255, blank=True, null=True) + value = models.CharField(max_length=255, blank=True, null=True) + locale = models.CharField(max_length=255, blank=True, null=True) + created_at = models.DateTimeField() + updated_at = models.DateTimeField() + + class Meta: + managed = False + db_table = 'metadatum_aliases'