mirror of
https://github.com/SectorLabs/django-localized-fields.git
synced 2025-10-29 18:18:57 +03:00
Merge branch 'master' into hstore_extension
This commit is contained in:
@@ -5,6 +5,7 @@ from django.db.utils import IntegrityError
|
||||
|
||||
from .field import LocalizedField
|
||||
from ..value import LocalizedValue, LocalizedIntegerValue
|
||||
from ..forms import LocalizedIntegerFieldForm
|
||||
|
||||
|
||||
class LocalizedIntegerField(LocalizedField):
|
||||
@@ -63,6 +64,15 @@ class LocalizedIntegerField(LocalizedField):
|
||||
|
||||
return prepped_value
|
||||
|
||||
def formfield(self, **kwargs):
|
||||
"""Gets the form field associated with this field."""
|
||||
defaults = {
|
||||
'form_class': LocalizedIntegerFieldForm
|
||||
}
|
||||
|
||||
defaults.update(kwargs)
|
||||
return super().formfield(**defaults)
|
||||
|
||||
@staticmethod
|
||||
def _convert_localized_value(value: LocalizedValue) -> LocalizedIntegerValue:
|
||||
"""Converts from :see:LocalizedValue to :see:LocalizedIntegerValue."""
|
||||
|
||||
@@ -6,9 +6,9 @@ from django.core.exceptions import ValidationError
|
||||
from django.forms.widgets import FILE_INPUT_CONTRADICTION
|
||||
|
||||
from .value import LocalizedValue, LocalizedStringValue, \
|
||||
LocalizedFileValue
|
||||
LocalizedFileValue, LocalizedIntegerValue
|
||||
from .widgets import LocalizedFieldWidget, LocalizedCharFieldWidget, \
|
||||
LocalizedFileWidget
|
||||
LocalizedFileWidget, AdminLocalizedIntegerFieldWidget
|
||||
|
||||
|
||||
class LocalizedFieldForm(forms.MultiValueField):
|
||||
@@ -79,6 +79,14 @@ class LocalizedTextFieldForm(LocalizedFieldForm):
|
||||
value_class = LocalizedStringValue
|
||||
|
||||
|
||||
class LocalizedIntegerFieldForm(LocalizedFieldForm):
|
||||
"""Form for a localized integer field, allows editing
|
||||
the field in multiple languages."""
|
||||
|
||||
widget = AdminLocalizedIntegerFieldWidget
|
||||
value_class = LocalizedIntegerValue
|
||||
|
||||
|
||||
class LocalizedFileFieldForm(LocalizedFieldForm, forms.FileField):
|
||||
"""Form for a localized file field, allows editing
|
||||
the field in multiple languages."""
|
||||
|
||||
@@ -228,3 +228,9 @@ class LocalizedIntegerValue(LocalizedValue):
|
||||
return self.default_value
|
||||
|
||||
return int(value)
|
||||
|
||||
def __str__(self) -> str:
|
||||
"""Returns string representation of value"""
|
||||
|
||||
value = self.translate()
|
||||
return str(value) if value is not None else None
|
||||
|
||||
@@ -120,3 +120,7 @@ class AdminLocalizedCharFieldWidget(AdminLocalizedFieldWidget):
|
||||
|
||||
class AdminLocalizedFileFieldWidget(AdminLocalizedFieldWidget):
|
||||
widget = widgets.AdminFileWidget
|
||||
|
||||
|
||||
class AdminLocalizedIntegerFieldWidget(AdminLocalizedFieldWidget):
|
||||
widget = widgets.AdminIntegerFieldWidget
|
||||
|
||||
Reference in New Issue
Block a user