update site feautures

This commit is contained in:
evgeniy-st 2019-08-26 18:12:15 +03:00
parent 5edcd0afe9
commit f33fa21c0c
3 changed files with 50 additions and 15 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 2.2.4 on 2019-08-26 14:47
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('main', '0006_auto_20190822_1118'),
]
operations = [
migrations.AddField(
model_name='sitefeature',
name='main',
field=models.BooleanField(default=False, verbose_name='Main'),
),
]

View File

@ -133,6 +133,10 @@ class SiteSettings(ProjectBaseMixin):
return self.feature_set.filter(sitefeature__site_settings=self,
sitefeature__published=True)
@property
def published_sitefeatures(self):
return self.sitefeature_set.filter(published=True)
@property
def site_url(self):
return methods.site_url(schema=settings.SCHEMA_URI,
@ -168,6 +172,7 @@ class SiteFeature(ProjectBaseMixin):
site_settings = models.ForeignKey(SiteSettings, on_delete=models.CASCADE)
feature = models.ForeignKey(Feature, on_delete=models.PROTECT)
published = models.BooleanField(default=False, verbose_name=_('Published'))
main = models.BooleanField(default=False, verbose_name=_('Main'))
objects = SiteFeatureQuerySet.as_manager()

View File

@ -16,11 +16,23 @@ class FeatureSerializer(serializers.ModelSerializer):
)
class SiteFeatureSerializer(serializers.ModelSerializer):
id = serializers.IntegerField(source='feature.id')
slug = serializers.CharField(source='feature.slug')
class Meta:
"""Meta class."""
model = models.SiteFeature
fields = ('main',
'id',
'slug')
class SiteSettingsSerializer(serializers.ModelSerializer):
"""Site settings serializer."""
published_features = FeatureSerializer(many=True, allow_null=None)
published_features = SiteFeatureSerializer(many=True, allow_null=True)
#todo: remove this
country_code = serializers.CharField(source='subdomain', read_only=True)
@ -42,16 +54,16 @@ class SiteSettingsSerializer(serializers.ModelSerializer):
)
class SiteFeatureSerializer(serializers.ModelSerializer):
"""Site feature serializer."""
class Meta:
"""Meta class."""
model = models.SiteFeature
fields = (
'id',
'published',
'site_settings',
'feature',
)
# class SiteFeatureSerializer(serializers.ModelSerializer):
# """Site feature serializer."""
#
# class Meta:
# """Meta class."""
#
# model = models.SiteFeature
# fields = (
# 'id',
# 'published',
# 'site_settings',
# 'feature',
# )