コード例 #1
0
ファイル: theme_tags.py プロジェクト: BakethemPie/tendenci
 def render(self, context):
     try:
         template_name = self.template_name.resolve(context)
         theme = context['THEME']
         theme_template = get_theme_template(template_name, theme=theme)
         try:
             t = get_template(theme_template)
         except TemplateDoesNotExist:
             t = get_default_template(template_name)
         return t.render(context)
     except:
         if settings.TEMPLATE_DEBUG:
             raise
         return ''
コード例 #2
0
ファイル: theme_tags.py プロジェクト: BakethemPie/tendenci
 def render(self, context):
     theme = context['THEME']
     theme_template = get_theme_template(self.template_path, theme=theme)
     try:
         try:
             t = get_template(theme_template)
         except TemplateDoesNotExist:
             t = get_default_template(self.template_path)
         self.template = t
     except:
         if settings.TEMPLATE_DEBUG:
             raise
         self.template = None
     if self.template:
         return self.template.render(context)
     else:
         return ''
コード例 #3
0
ファイル: theme_tags.py プロジェクト: BakethemPie/tendenci
 def get_parent(self, context):
     if self.parent_name_expr:
         self.parent_name = self.parent_name_expr.resolve(context)
     parent = self.parent_name
     if not parent:
         error_msg = "Invalid template name in 'extends' tag: %r." % parent
         if self.parent_name_expr:
             error_msg += " Got this from the '%s' variable." % self.parent_name_expr.token
         raise TemplateSyntaxError(error_msg)
     if hasattr(parent, 'render'):
         return parent # parent is a Template object
     theme = context['THEME']
     theme_template = get_theme_template(parent, theme=theme)
     try:
         template = get_template(theme_template)
     except TemplateDoesNotExist:
         #to be sure that we not are loading the active theme's template
         template = get_default_template(parent)
     return template
コード例 #4
0
ファイル: theme_tags.py プロジェクト: BakethemPie/tendenci
    def render(self, context):
        context['setting_name'] = unicode(self.template_name).replace('MODULE_THEME_','').lower()
        try:
            setting_value = self.template_name.resolve(context)
        except VariableDoesNotExist:
            setting_value = None

        if setting_value:
            # First try to render this as a box
            user = AnonymousUser()
            if 'user' in context:
                if isinstance(context['user'], User):
                    user = context['user']
            try:
                filters = get_query_filters(user, 'boxes.view_box')
                box = Box.objects.filter(filters).filter(pk=setting_value)
                context['box'] = box[0]
                template = get_template('theme_includes/box.html')
                return template.render(context)
            except:
                # Otherwise try to render a template
                try:
                    template_name = os.path.join('theme_includes',setting_value)
                    theme = context['THEME']
                    theme_template = get_theme_template(template_name, theme=theme)
                    try:
                        t = get_template(theme_template)
                    except TemplateDoesNotExist:
                        t = get_default_template(template_name)
                    return t.render(context)
                except:
                    if settings.TEMPLATE_DEBUG:
                        raise
                    return ''
        else:
            return ''