update country time_format and __str__ method

This commit is contained in:
evgeniy-st 2019-11-01 11:34:48 +03:00
parent 383032b2af
commit 04afd4d913

View File

@ -7,7 +7,8 @@ from django.dispatch import receiver
from django.utils.translation import gettext_lazy as _
from translation.models import Language
from utils.models import ProjectBaseMixin, SVGImageMixin, TranslatedFieldsMixin, TJSONField
from utils.models import (ProjectBaseMixin, SVGImageMixin, TJSONField,
TranslatedFieldsMixin, get_current_locale)
class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
@ -15,11 +16,11 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
STR_FIELD_NAME = 'name'
TWENTEEN_HOURS_FORMAT_COUNTRIES = [
'ca', # Canada
'au', # Australia
'us', # USA
'nz', # New Zeland
TWELVE_HOURS_FORMAT_COUNTRIES = [
'ca', # Canada
'au', # Australia
'us', # USA
'nz', # New Zealand
]
name = TJSONField(null=True, blank=True, default=None,
@ -32,7 +33,9 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
@property
def time_format(self):
return 'hh:mmA' if self.code.lower() in self.TWENTEEN_HOURS_FORMAT_COUNTRIES else 'hh:mm'
if self.code.lower() not in self.TWELVE_HOURS_FORMAT_COUNTRIES:
return 'hh:mm'
return 'hh:mmA'
@property
def country_id(self):
@ -44,6 +47,14 @@ class Country(TranslatedFieldsMixin, SVGImageMixin, ProjectBaseMixin):
verbose_name_plural = _('Countries')
verbose_name = _('Country')
def __str__(self):
str_name = self.code
if isinstance(self.name, dict):
translated_name = self.name.get(get_current_locale())
if translated_name:
str_name = translated_name
return str_name
class Region(models.Model):
"""Region model."""