def handle(self, *fixture_labels, **options): mode = options.get('populate') if mode is not None: with auto_populate(mode): return super(Command, self).handle(*fixture_labels, **options) else: return super(Command, self).handle(*fixture_labels, **options)
def get_or_create(self, *args, **kwargs): """ Allows to override population mode with a ``populate`` method. """ with auto_populate(self._populate_mode): return super(MultilingualQuerySet, self).get_or_create(*args, **kwargs)
def handle(self, *args, **options): logger.addHandler(logging.StreamHandler(self.stdout)) logger.setLevel(logging.DEBUG) if options["delete"]: logger.info("Deleting data from DB") for model in [ Application, Platform, Category, ApplicationPlatformSupport, ApplicationLanguageSupport, ApplicationScreenshot, ]: model.objects.all().delete() if options["cache"]: logger.info("Installing download cache") import requests_cache requests_cache.install_cache("legacy_import") logger.info("Importing legacy data") with auto_populate("default"): import_legacy_data() logger.info("All done")
def handle(self, *fixture_labels, **options): if hasattr(self, 'locale'): from django.utils import translation translation.activate(self.locale) mode = options.get('populate') if mode is not None: with auto_populate(mode): return super(Command, self).handle(*fixture_labels, **options) else: return super(Command, self).handle(*fixture_labels, **options)
def handle(self, *fixture_labels, **options): if self.can_import_settings and hasattr(self, 'locale'): from django.utils import translation translation.activate(self.locale) mode = options.get('populate') if mode is not None: with auto_populate(mode): return super(Command, self).handle(*fixture_labels, **options) else: return super(Command, self).handle(*fixture_labels, **options)
def test_submit_button_text(self): """ Test that Form.button_text has its value displayed properly without being translated back to the default language. """ from collections import OrderedDict from django.urls import reverse from django.utils.translation import activate, get_language from django.utils.translation import gettext as _ from modeltranslation.utils import auto_populate default_language = get_language() code_list = OrderedDict(settings.LANGUAGES) del code_list[default_language] for c in code_list: try: activate(c) except: # noqa pass else: break return with auto_populate(True): form = Form.objects.create( title="Form button_text", status=CONTENT_STATUS_PUBLISHED ) form.fields.create( label="Field test", field_type=fields.TEXT, required=True, visible=True ) submit_text = _("Submit") form.button_text = submit_text form.save() # Client session still uses default language response = self.client.get(form.get_absolute_url()) activate(default_language) # Default language contains the default translation for Submit self.assertContains(response, _("Submit")) # Language used for form creation contains its own translation self.client.post(reverse("set_language"), data={"language": c}) response = self.client.get(form.get_absolute_url()) self.client.post(reverse("set_language"), data={"language": default_language}) self.assertContains(response, submit_text)
def test_submit_button_text(self): """ Test that Form.button_text has its value displayed properly without being translated back to the default language. """ from collections import OrderedDict from django.core.urlresolvers import reverse from django.utils.translation import (get_language, activate, ugettext as _) from modeltranslation.utils import auto_populate default_language = get_language() code_list = OrderedDict(settings.LANGUAGES) del code_list[default_language] for c in code_list: try: activate(c) except: pass else: break return with auto_populate(True): form = Form.objects.create(title="Form button_text", status=CONTENT_STATUS_PUBLISHED) form.fields.create(label="Field test", field_type=fields.TEXT, required=True, visible=True) submit_text = _("Submit") form.button_text = submit_text form.save() # Client session still uses default language response = self.client.get(form.get_absolute_url()) activate(default_language) # Default language contains the default translation for Submit self.assertContains(response, _("Submit")) # Language used for form creation contains its own translation self.client.post(reverse('set_language'), data={'language': c}) response = self.client.get(form.get_absolute_url()) self.client.post(reverse('set_language'), data={'language': default_language}) self.assertContains(response, submit_text)
def render(self, context): with auto_populate(True): try: key = self.key.resolve(context) except AttributeError: key = self.key[1:-1] snippet = Snippet.objects.get_from_cache(key=key) if snippet is None: output = self.nodelist.render(context) s = Snippet(key = key, text = output) s.save() return output if self.template: if self.safe: context.autoescape = False return mark_safe(template.Template(snippet.text).render(context)) return template.Template(snippet.text).render(context) if self.safe: return mark_safe(snippet.text) return conditional_escape(snippet.text)
def get_or_create(self, **kwargs): """ Allows to override population mode with a ``populate`` method. """ with auto_populate(self._populate_mode): return super(MultilingualQuerySet, self).get_or_create(**kwargs)