Feature/currency sign
This commit is contained in:
parent
883f94c80a
commit
81bd7b4912
37
apps/main/migrations/0022_auto_20191023_1113.py
Normal file
37
apps/main/migrations/0022_auto_20191023_1113.py
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-10-23 11:13
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
import utils.models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('main', '0021_auto_20191023_0924'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='currency',
|
||||||
|
name='sign',
|
||||||
|
field=models.CharField(default='?', max_length=1, verbose_name='sign'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='currency',
|
||||||
|
name='slug',
|
||||||
|
field=models.SlugField(default='?', max_length=255, unique=True),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='sitesettings',
|
||||||
|
name='currency',
|
||||||
|
field=models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.PROTECT, to='main.Currency'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='currency',
|
||||||
|
name='name',
|
||||||
|
field=utils.models.TJSONField(blank=True, default=None, help_text='{"en-GB":"some text"}', null=True, verbose_name='name'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -106,6 +106,22 @@ from utils.querysets import ContentTypeQuerySetMixin
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
|
class Currency(models.Model, TranslatedFieldsMixin):
|
||||||
|
"""Currency model."""
|
||||||
|
name = TJSONField(
|
||||||
|
_('name'), null=True, blank=True,
|
||||||
|
default=None, help_text='{"en-GB":"some text"}')
|
||||||
|
sign = models.CharField(_('sign'), max_length=1)
|
||||||
|
slug = models.SlugField(max_length=255, unique=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
verbose_name = _('currency')
|
||||||
|
verbose_name_plural = _('currencies')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'{self.name}'
|
||||||
|
|
||||||
|
|
||||||
class SiteSettingsQuerySet(models.QuerySet):
|
class SiteSettingsQuerySet(models.QuerySet):
|
||||||
"""Extended queryset for SiteSettings model."""
|
"""Extended queryset for SiteSettings model."""
|
||||||
|
|
||||||
|
|
@ -135,6 +151,7 @@ class SiteSettings(ProjectBaseMixin):
|
||||||
verbose_name=_('Config'))
|
verbose_name=_('Config'))
|
||||||
ad_config = models.TextField(blank=True, null=True, default=None,
|
ad_config = models.TextField(blank=True, null=True, default=None,
|
||||||
verbose_name=_('AD config'))
|
verbose_name=_('AD config'))
|
||||||
|
currency = models.ForeignKey(Currency, on_delete=models.PROTECT, null=True, default=None)
|
||||||
|
|
||||||
objects = SiteSettingsQuerySet.as_manager()
|
objects = SiteSettingsQuerySet.as_manager()
|
||||||
|
|
||||||
|
|
@ -257,18 +274,6 @@ class AwardType(models.Model):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
class Currency(models.Model):
|
|
||||||
"""Currency model."""
|
|
||||||
name = models.CharField(_('name'), max_length=50)
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
verbose_name = _('currency')
|
|
||||||
verbose_name_plural = _('currencies')
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return f'{self.name}'
|
|
||||||
|
|
||||||
|
|
||||||
class CarouselQuerySet(models.QuerySet):
|
class CarouselQuerySet(models.QuerySet):
|
||||||
"""Carousel QuerySet."""
|
"""Carousel QuerySet."""
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,11 +40,24 @@ class SiteFeatureSerializer(serializers.ModelSerializer):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class CurrencySerializer(serializers.ModelSerializer):
|
||||||
|
"""Currency serializer"""
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = models.Currency
|
||||||
|
fields = [
|
||||||
|
'id',
|
||||||
|
'name_translated',
|
||||||
|
'sign'
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
class SiteSettingsSerializer(serializers.ModelSerializer):
|
class SiteSettingsSerializer(serializers.ModelSerializer):
|
||||||
"""Site settings serializer."""
|
"""Site settings serializer."""
|
||||||
|
|
||||||
published_features = SiteFeatureSerializer(source='published_sitefeatures',
|
published_features = SiteFeatureSerializer(source='published_sitefeatures',
|
||||||
many=True, allow_null=True)
|
many=True, allow_null=True)
|
||||||
|
currency = CurrencySerializer()
|
||||||
# todo: remove this
|
# todo: remove this
|
||||||
country_code = serializers.CharField(source='subdomain', read_only=True)
|
country_code = serializers.CharField(source='subdomain', read_only=True)
|
||||||
|
|
||||||
|
|
@ -63,6 +76,7 @@ class SiteSettingsSerializer(serializers.ModelSerializer):
|
||||||
'config',
|
'config',
|
||||||
'ad_config',
|
'ad_config',
|
||||||
'published_features',
|
'published_features',
|
||||||
|
'currency'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -114,17 +128,6 @@ class AwardSerializer(AwardBaseSerializer):
|
||||||
fields = AwardBaseSerializer.Meta.fields + ['award_type', ]
|
fields = AwardBaseSerializer.Meta.fields + ['award_type', ]
|
||||||
|
|
||||||
|
|
||||||
class CurrencySerializer(serializers.ModelSerializer):
|
|
||||||
"""Currency serializer"""
|
|
||||||
|
|
||||||
class Meta:
|
|
||||||
model = models.Currency
|
|
||||||
fields = [
|
|
||||||
'id',
|
|
||||||
'name'
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
class CarouselListSerializer(serializers.ModelSerializer):
|
class CarouselListSerializer(serializers.ModelSerializer):
|
||||||
"""Serializer for retrieving list of carousel items."""
|
"""Serializer for retrieving list of carousel items."""
|
||||||
model_name = serializers.CharField()
|
model_name = serializers.CharField()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user