update country time_format and __str__ method
This commit is contained in:
parent
383032b2af
commit
04afd4d913
|
|
@ -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."""
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user