def __init__(self, *args, **kwargs): logging.info(">> AdminSiteForm") super(AdminSiteForm, self).__init__(*args, **kwargs) self.fields['site_name'].initial = ConfigData.get_configdata('SITE_NAME') self.fields['meta_description'].initial = ConfigData.get_configdata('SITE_DESCRIPTION') self.fields['meta_keywords'].initial = ConfigData.get_configdata('SITE_KEYWORDS') self.fields['theme'].widget = forms.Select(choices=Theme.get_choices()) self.fields['theme'].initial = Theme.get_active().uuid
def get_global_vars(): params = getattr(settings, 'GLOBALS') params.update({'SITE_NAME':ConfigData.get_configdata('SITE_NAME'), 'SITE_DESCRIPTION':ConfigData.get_configdata('SITE_DESCRIPTION'), 'SITE_KEYWORDS':ConfigData.get_configdata('SITE_KEYWORDS'), 'MEDIA_URL':settings.MEDIA_URL, 'DOMAIN':settings.DOMAIN, 'THEME_MEDIA_URL':settings.THEME_URL + Theme.get_active().directory_name + '/'}) return params
def get_template_sources(template_name, template_dirs=None): from common.models import Theme active_theme = Theme.get_active() if not active_theme: check_themes() for themes_dir in get_theme_root_dirs(template_dirs): active_theme_dir = safe_join(themes_dir, active_theme.directory_name) try: yield safe_join(active_theme_dir, template_name) except UnicodeDecodeError: raise except ValueError: pass
def check_themes(): """ check themes found in file system and compare with registered one in database """ # first disable all themes for theme in Theme.all(): theme.installed = False theme.put() # now look for all themes in filesystem and enable them for theme_dir, theme_path in get_theme_dirs(): #theme, created = Theme.objects.get_or_create(directory_name=theme_dir) create_from_fs(theme_path) active_theme = Theme.get_active() if not active_theme: ref = Theme.get(directory_name=settings.DEFAULT_THEME) ref.active = True ref.put()