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)
Esempio n. 2
0
 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)
Esempio n. 3
0
    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")
Esempio n. 4
0
 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)
Esempio n. 5
0
    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)
Esempio n. 6
0
    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)
Esempio n. 7
0
    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)
Esempio n. 8
0
    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)
Esempio n. 9
0
    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)