add active flag for languages and Countries
This commit is contained in:
parent
5718955ba8
commit
141bddc0db
18
apps/location/migrations/0026_country_is_active.py
Normal file
18
apps/location/migrations/0026_country_is_active.py
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-11-14 19:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('location', '0025_auto_20191114_0809'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='country',
|
||||||
|
name='is_active',
|
||||||
|
field=models.BooleanField(default=True, verbose_name='is active'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -11,6 +11,13 @@ from utils.models import (ProjectBaseMixin, SVGImageMixin, TJSONField,
|
||||||
TranslatedFieldsMixin, get_current_locale)
|
TranslatedFieldsMixin, get_current_locale)
|
||||||
|
|
||||||
|
|
||||||
|
class CountryQuerySet(models.QuerySet):
|
||||||
|
"""Country queryset."""
|
||||||
|
def active(self, switcher=True):
|
||||||
|
"""Filter only active users."""
|
||||||
|
return self.filter(is_active=switcher)
|
||||||
|
|
||||||
|
|
||||||
class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
||||||
"""Country model."""
|
"""Country model."""
|
||||||
|
|
||||||
|
|
@ -29,8 +36,11 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
||||||
low_price = models.IntegerField(default=25, verbose_name=_('Low price'))
|
low_price = models.IntegerField(default=25, verbose_name=_('Low price'))
|
||||||
high_price = models.IntegerField(default=50, verbose_name=_('High price'))
|
high_price = models.IntegerField(default=50, verbose_name=_('High price'))
|
||||||
languages = models.ManyToManyField(Language, verbose_name=_('Languages'))
|
languages = models.ManyToManyField(Language, verbose_name=_('Languages'))
|
||||||
|
is_active = models.BooleanField(_('is active'), default=True)
|
||||||
old_id = models.IntegerField(null=True, blank=True, default=None)
|
old_id = models.IntegerField(null=True, blank=True, default=None)
|
||||||
|
|
||||||
|
objects = CountryQuerySet.as_manager()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def time_format(self):
|
def time_format(self):
|
||||||
if self.code.lower() not in self.TWELVE_HOURS_FORMAT_COUNTRIES:
|
if self.code.lower() not in self.TWELVE_HOURS_FORMAT_COUNTRIES:
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ class CountryViewMixin(generics.GenericAPIView):
|
||||||
|
|
||||||
serializer_class = serializers.CountrySerializer
|
serializer_class = serializers.CountrySerializer
|
||||||
permission_classes = (permissions.AllowAny,)
|
permission_classes = (permissions.AllowAny,)
|
||||||
queryset = models.Country.objects.all()
|
queryset = models.Country.objects.active()
|
||||||
|
|
||||||
|
|
||||||
class RegionViewMixin(generics.GenericAPIView):
|
class RegionViewMixin(generics.GenericAPIView):
|
||||||
|
|
|
||||||
18
apps/translation/migrations/0007_language_is_active.py
Normal file
18
apps/translation/migrations/0007_language_is_active.py
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 2.2.4 on 2019-11-14 19:47
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('translation', '0006_language_old_id'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='language',
|
||||||
|
name='is_active',
|
||||||
|
field=models.BooleanField(default=True, verbose_name='is active'),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
@ -8,6 +8,10 @@ from utils.models import ProjectBaseMixin, LocaleManagerMixin
|
||||||
class LanguageQuerySet(models.QuerySet):
|
class LanguageQuerySet(models.QuerySet):
|
||||||
"""QuerySet for model Language"""
|
"""QuerySet for model Language"""
|
||||||
|
|
||||||
|
def active(self, switcher=True):
|
||||||
|
"""Filter only active users."""
|
||||||
|
return self.filter(is_active=switcher)
|
||||||
|
|
||||||
def by_locale(self, locale: str) -> models.QuerySet:
|
def by_locale(self, locale: str) -> models.QuerySet:
|
||||||
"""Filter by locale"""
|
"""Filter by locale"""
|
||||||
return self.filter(locale=locale)
|
return self.filter(locale=locale)
|
||||||
|
|
@ -27,6 +31,8 @@ class Language(models.Model):
|
||||||
|
|
||||||
old_id = models.IntegerField(null=True, blank=True, default=None)
|
old_id = models.IntegerField(null=True, blank=True, default=None)
|
||||||
|
|
||||||
|
is_active = models.BooleanField(_('is active'), default=True)
|
||||||
|
|
||||||
objects = LanguageQuerySet.as_manager()
|
objects = LanguageQuerySet.as_manager()
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ from utils.views import JWTGenericViewMixin
|
||||||
class LanguageViewMixin(generics.GenericAPIView):
|
class LanguageViewMixin(generics.GenericAPIView):
|
||||||
"""Mixin for Language views"""
|
"""Mixin for Language views"""
|
||||||
|
|
||||||
queryset = models.Language.objects.all()
|
queryset = models.Language.objects.active()
|
||||||
serializer_class = serializers.LanguageSerializer
|
serializer_class = serializers.LanguageSerializer
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user