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):
|
||||
"""Extended queryset for SiteSettings model."""
|
||||
|
||||
|
|
@ -135,6 +151,7 @@ class SiteSettings(ProjectBaseMixin):
|
|||
verbose_name=_('Config'))
|
||||
ad_config = models.TextField(blank=True, null=True, default=None,
|
||||
verbose_name=_('AD config'))
|
||||
currency = models.ForeignKey(Currency, on_delete=models.PROTECT, null=True, default=None)
|
||||
|
||||
objects = SiteSettingsQuerySet.as_manager()
|
||||
|
||||
|
|
@ -257,18 +274,6 @@ class AwardType(models.Model):
|
|||
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):
|
||||
"""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):
|
||||
"""Site settings serializer."""
|
||||
|
||||
published_features = SiteFeatureSerializer(source='published_sitefeatures',
|
||||
many=True, allow_null=True)
|
||||
currency = CurrencySerializer()
|
||||
# todo: remove this
|
||||
country_code = serializers.CharField(source='subdomain', read_only=True)
|
||||
|
||||
|
|
@ -63,6 +76,7 @@ class SiteSettingsSerializer(serializers.ModelSerializer):
|
|||
'config',
|
||||
'ad_config',
|
||||
'published_features',
|
||||
'currency'
|
||||
)
|
||||
|
||||
|
||||
|
|
@ -114,17 +128,6 @@ class AwardSerializer(AwardBaseSerializer):
|
|||
fields = AwardBaseSerializer.Meta.fields + ['award_type', ]
|
||||
|
||||
|
||||
class CurrencySerializer(serializers.ModelSerializer):
|
||||
"""Currency serializer"""
|
||||
|
||||
class Meta:
|
||||
model = models.Currency
|
||||
fields = [
|
||||
'id',
|
||||
'name'
|
||||
]
|
||||
|
||||
|
||||
class CarouselListSerializer(serializers.ModelSerializer):
|
||||
"""Serializer for retrieving list of carousel items."""
|
||||
model_name = serializers.CharField()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user