7 Commits
v4.3 ... v4.4

Author SHA1 Message Date
Swen Kooij
d14859a45b Bump version number to 4.4 2017-06-29 18:56:33 +03:00
Swen Kooij
cb7fda5abc Merge branch 'master' of https://github.com/SectorLabs/django-localized-fields 2017-06-29 18:52:23 +03:00
Swen Kooij
9000635f1f Open README as UTF-8 2017-06-29 18:51:53 +03:00
Swen Kooij
dabeb3b79f Merge pull request #24 from MELScience/ff_value_to_string
Added `value_to_string` method
2017-06-27 10:49:17 +03:00
seroy
0b4bb7295e Added value_to_string method 2017-06-26 18:27:03 +03:00
seroy
2b34b6751e Added test for value_to_string method 2017-06-26 18:08:15 +03:00
Swen Kooij
32696f4e1e Add test that confirms slug is re-computed when value changes 2017-06-26 14:01:25 +03:00
4 changed files with 34 additions and 2 deletions

View File

@@ -1,3 +1,4 @@
import json
import datetime import datetime
import posixpath import posixpath
@@ -149,3 +150,11 @@ class LocalizedFileField(LocalizedField):
defaults['required'] = False defaults['required'] = False
defaults.update(kwargs) defaults.update(kwargs)
return super().formfield(**defaults) return super().formfield(**defaults)
def value_to_string(self, obj):
value = self.value_from_object(obj)
if isinstance(value, LocalizedFileValue):
return json.dumps({k: v.name for k, v
in value.__dict__.items()})
else:
return super().value_to_string(obj)

View File

@@ -2,12 +2,12 @@ import os
from setuptools import find_packages, setup from setuptools import find_packages, setup
with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme: with open(os.path.join(os.path.dirname(__file__), 'README.rst'), encoding='utf-8') as readme:
README = readme.read() README = readme.read()
setup( setup(
name='django-localized-fields', name='django-localized-fields',
version='4.3', version='4.4',
packages=find_packages(exclude=['tests']), packages=find_packages(exclude=['tests']),
include_package_data=True, include_package_data=True,
license='MIT License', license='MIT License',

View File

@@ -2,6 +2,7 @@ import os
import shutil import shutil
import tempfile as sys_tempfile import tempfile as sys_tempfile
import pickle import pickle
import json
from django import forms from django import forms
from django.test import TestCase, override_settings from django.test import TestCase, override_settings
@@ -118,6 +119,20 @@ class LocalizedFileFieldTestCase(TestCase):
filename = field.generate_filename(instance, 'test', 'en') filename = field.generate_filename(instance, 'test', 'en')
assert filename == 'en_test' assert filename == 'en_test'
@classmethod
@override_settings(LANGUAGES=(('en', 'English'),))
def test_value_to_string(cls):
"""Tests whether the :see:LocalizedFileField
class's :see:value_to_string function works properly."""
temp_file = File(tempfile.NamedTemporaryFile())
instance = cls.FileFieldModel()
field = cls.FileFieldModel._meta.get_field('file')
field.upload_to = ''
instance.file.en.save('testfilename', temp_file)
expected_value_to_string = json.dumps({'en': 'testfilename'})
assert field.value_to_string(instance) == expected_value_to_string
@staticmethod @staticmethod
def test_get_prep_value(): def test_get_prep_value():
"""Tests whether the :see:get_prep_value function returns correctly """Tests whether the :see:get_prep_value function returns correctly

View File

@@ -81,6 +81,14 @@ class LocalizedSlugFieldTestCase(TestCase):
assert old_slug_en == obj.slug.en assert old_slug_en == obj.slug.en
assert old_slug_nl != obj.slug.nl assert old_slug_nl != obj.slug.nl
@classmethod
def test_unique_slug_update(cls):
obj = cls.Model.objects.create(title={settings.LANGUAGE_CODE: 'mytitle'})
assert obj.slug.get() == 'mytitle'
obj.title.set(settings.LANGUAGE_CODE, 'othertitle')
obj.save()
assert obj.slug.get() == 'othertitle'
@classmethod @classmethod
def test_unique_slug_unique_max_retries(cls): def test_unique_slug_unique_max_retries(cls):
"""Tests whether the unique slug implementation doesn't """Tests whether the unique slug implementation doesn't