Esempio n. 1
0
    def read(self, request, name):

        try:
            theme_info = get_theme_metadata(name)
        except ValueError:
            raise Http404

        desc = {
            "name": name,
            "label": theme_info.label,
            "baseurl": get_absolute_static_url("theme/%s/" % name, request),
            "templates": {}
        }

        for template_id in get_templates('classic'):
            template_file = template_id + '.html'
            try:
                template = get_template("%s:%s" % (name, template_file))
            except TemplateDoesNotExist:
                template = get_template(template_file)
            desc["templates"][template_id] = template.render({})

        return HttpResponse(json.dumps(desc, cls=LazyEncoder, sort_keys=True),
                            'application/json')
Esempio n. 2
0
    def read(self, request, name):

        context = RequestContext(request)
        try:
            theme_info = get_theme_metadata(name)
        except ValueError:
            raise Http404

        desc = {
            "name": name,
            "label": theme_info.label,
            "baseurl": get_absolute_static_url("theme/%s/" % name, request),
            "templates": {}
        }

        for template_id in get_templates('classic'):
            template_file = template_id + '.html'
            try:
                template = get_template("%s:%s" % (name, template_file))
            except TemplateDoesNotExist:
                template = get_template(template_file)
            desc["templates"][template_id] = template.render(context)

        return HttpResponse(json.dumps(desc, cls=LazyEncoder, sort_keys=True), 'application/json')
Esempio n. 3
0
 def test_get_theme_metadata_default(self):
     metadata = get_theme_metadata(DEFAULT_THEME)
     self.assertEqual(metadata.name, DEFAULT_THEME)
     self.assertIsNone(metadata.parent)
Esempio n. 4
0
 def test_get_theme_metadata(self):
     metadata = get_theme_metadata('custommodtheme')
     self.assertEqual(metadata.name, 'custommodtheme')
     self.assertEqual(metadata.parent, 'customtheme')
     self.assertEqual(metadata.label, 'My Custom Theme')
Esempio n. 5
0
from wirecloud.platform.core.models import *
from wirecloud.platform.context.models import *
from wirecloud.platform.iwidget.models import *
from wirecloud.platform.markets.models import *
from wirecloud.platform.preferences.models import *
from wirecloud.platform.widget.models import *
from wirecloud.platform.wiring.models import *
from wirecloud.platform.workspace.models import *

# TODO search a better way of implementing this

# Currently, Django doesn't support using translation catalogues from external
# modules, so we have to add the theme translation paths to the LOCALE_PATHS
# setting

from django.conf import settings
from wirecloud.platform.themes import get_available_themes, get_theme_dir, get_theme_metadata

if type(settings.LOCALE_PATHS) != list:
    settings.LOCALE_PATHS = list(settings.LOCALE_PATHS)

for theme in get_available_themes():
    theme_dir = get_theme_dir(get_theme_metadata(theme), 'locale')
    if theme_dir not in settings.LOCALE_PATHS:
        settings.LOCALE_PATHS.insert(0, theme_dir)
Esempio n. 6
0
 def test_get_theme_metadata_default(self):
     metadata = get_theme_metadata(DEFAULT_THEME)
     self.assertEqual(metadata.name, DEFAULT_THEME)
     self.assertIsNone(metadata.parent)
Esempio n. 7
0
 def test_get_theme_metadata(self):
     metadata = get_theme_metadata('custommodtheme')
     self.assertEqual(metadata.name, 'custommodtheme')
     self.assertEqual(metadata.parent, 'customtheme')
     self.assertEqual(metadata.label, 'My Custom Theme')