def multilingual(request): """ Returns context variables containing information about available languages. """ codes = sorted(get_all()) return {'ML_LANGUAGE': get_active(), # DEPRECATED context #TODO: LANGUAGE_CODES, LANGUAGE_CODES_AND_NAMES available in i18n context processor 'LANGUAGE_CODES': codes, 'LANGUAGE_CODES_AND_NAMES': get_dict(), 'DEFAULT_LANGUAGE_CODE': get_settings_default()}
def multilingual(request): """ Returns context variables containing information about available languages. """ codes = sorted(get_all()) return { "ML_LANGUAGE": get_active(), # DEPRECATED context # TODO: LANGUAGE_CODES, LANGUAGE_CODES_AND_NAMES available in i18n context processor "LANGUAGE_CODES": codes, "LANGUAGE_CODES_AND_NAMES": get_dict(), "DEFAULT_LANGUAGE_CODE": get_settings_default(), "ADMIN_MEDIA_URL": settings.ADMIN_MEDIA_PREFIX, }
def change_view(self, request, object_id, extra_context=None): """ Lock language over change_view and add extra_context """ try: lock(request.POST.get("language", request.GET.get("language", get_active()))) model = self.model opts = model._meta context = { "title": _("Add %s for language %s") % (force_unicode(opts.verbose_name), force_unicode(get_dict()[get_active()])) } context.update(extra_context or {}) return super(MultilingualModelAdmin, self).change_view(request, object_id, context) finally: release()
def add_view(self, request, form_url='', extra_context=None): """ Lock language over 'add' view and update context. """ try: lock(request.POST.get('ml_admin_language', request.GET.get('ml_admin_language', get_active()))) model = self.model opts = model._meta context = { 'title': _('Add %s for language %s') % ( force_unicode(opts.verbose_name), force_unicode(get_dict()[get_active()]) ), } context.update(extra_context or {}) return super(MultilingualModelAdmin, self).add_view(request, form_url=form_url, extra_context=context) finally: release()
def add_view(self, request, form_url='', extra_context=None): """ Lock language over add_view and add extra_context """ try: lock_language= request.POST.get('language', request.GET.get('language', get_active())) edit_lock(lock_language) model = self.model opts = model._meta context = { 'title': _('Add %s for language %s') % ( force_unicode(opts.verbose_name), force_unicode(get_dict()[get_active()]) ), 'ML_LOCK_LANGUAGE': lock_language, } context.update(extra_context or {}) return super(MultilingualModelAdmin, self).add_view(request, form_url, context) finally: edit_release()
def change_view(self, request, object_id, **kwargs): """ Lock language over change_view and add extra_context """ # In Django 1.4 number of arguments have changed. extra_context = kwargs.get('extra_context') try: lock(request.POST.get('language', request.GET.get('language', get_active()))) model = self.model opts = model._meta context = { 'title': _('Change %s for language %s') % ( force_unicode(opts.verbose_name), force_unicode(get_dict()[get_active()]) ), } context.update(extra_context or {}) kwargs['extra_context'] = context return super(MultilingualModelAdmin, self).change_view(request, object_id, **kwargs) finally: release()
def test01_basics(self): self.assertEqual(languages.get_dict(), SortedDict(self.LANGUAGES)) self.assertEqual(languages.get_all(), ['cs', 'en', 'en-us']) self.assertEqual(languages.get_settings_default(), 'cs') self.assertEqual(languages.get_active(), 'cs')
def test_get_dict(self): result = SortedDict((('cs', u'Čeština'), ('en', u'English'), ('en-us', u'American'), ('fr', u'Français'))) self.assertEqual(languages.get_dict(), result)
def test_basics(self): self.assertEqual(languages.get_dict(), SortedDict((('cs', u'Čeština'), ('en', u'English'), ('en-us', u'American english')))) self.assertEqual(languages.get_all(), ['cs', 'en', 'en-us']) self.assertEqual(languages.get_settings_default(), 'cs') self.assertEqual(languages.get_active(), 'cs')