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,
    }
예제 #3
0
    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()
예제 #4
0
    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()
예제 #5
0
	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')