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)
|
||||
|
||||
|
||||
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):
|
||||
"""Country model."""
|
||||
|
||||
|
|
@ -29,8 +36,11 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
|
|||
low_price = models.IntegerField(default=25, verbose_name=_('Low price'))
|
||||
high_price = models.IntegerField(default=50, verbose_name=_('High price'))
|
||||
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)
|
||||
|
||||
objects = CountryQuerySet.as_manager()
|
||||
|
||||
@property
|
||||
def time_format(self):
|
||||
if self.code.lower() not in self.TWELVE_HOURS_FORMAT_COUNTRIES:
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ class CountryViewMixin(generics.GenericAPIView):
|
|||
|
||||
serializer_class = serializers.CountrySerializer
|
||||
permission_classes = (permissions.AllowAny,)
|
||||
queryset = models.Country.objects.all()
|
||||
queryset = models.Country.objects.active()
|
||||
|
||||
|
||||
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):
|
||||
"""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:
|
||||
"""Filter by locale"""
|
||||
return self.filter(locale=locale)
|
||||
|
|
@ -27,6 +31,8 @@ class Language(models.Model):
|
|||
|
||||
old_id = models.IntegerField(null=True, blank=True, default=None)
|
||||
|
||||
is_active = models.BooleanField(_('is active'), default=True)
|
||||
|
||||
objects = LanguageQuerySet.as_manager()
|
||||
|
||||
class Meta:
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ from utils.views import JWTGenericViewMixin
|
|||
class LanguageViewMixin(generics.GenericAPIView):
|
||||
"""Mixin for Language views"""
|
||||
|
||||
queryset = models.Language.objects.all()
|
||||
queryset = models.Language.objects.active()
|
||||
serializer_class = serializers.LanguageSerializer
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user