Example #1
0
 def render(self, context):
     """
     Rendu de tout les éléments du formulaire indiqué
     
     :type context: object ``django.template.Context``
     :param context: Objet du contexte du tag.
     
     :rtype: string
     :return: Le rendu généré pour le tag capturé.
     """
     html = ''
     parser_kwargs = {}
     active_page_instance = None
     
     # Résolution des arguments
     page_var = resolve_string_or_variable(self.page_var_name, context)
     # Template par défaut selon le mode (arborescence/plat)
     if not self.flat_mode:
         self.template_path = settings.DOCUMENTS_PAGE_TREEMENU
     else:
         self.template_path = settings.DOCUMENTS_PAGE_FLATMENU
     # Custom template if any
     if self.template_path_varname:
         self.template_path = resolve_string_or_variable(self.template_path_varname, context)
     
     # Transmet au contexte du tag l'instance de la page courante si elle est présente 
     # dans le contexte de la page
     if 'page_instance' in context:
         active_page_instance = context['page_instance']
     
     return self.build(context, page_var, active_page_instance)
Example #2
0
 def render(self, context):
     """
     TODO: Lever une exception de template évident quand le setting demandé n'existe 
           pas.
     
     :type context: object ``django.template.Context``
     :param context: Objet du contexte du tag.
     
     :rtype: string
     :return: Le rendu généré pour le tag capturé.
     """
     html = ''
     parser_kwargs = {}
     content_render = toc_render = navigation_render = None
     
     # Résolution des arguments
     instance = resolve_string_or_variable(self.insert_instance_varname, context)
     
     setting_key = resolve_string_or_variable(self.setting_key_varname, context)
     if setting_key:
         parser_kwargs['setting_key'] = setting_key
     
     title_level = resolve_string_or_variable(self.title_level_varname, context)
     if title_level:
         parser_kwargs['initial_header_level'] = title_level
     
     content_render = mark_safe( get_render_with_cache(instance, **parser_kwargs) )
     #if self.with_toc:
         #toc_render = mark_safe( get_toc_with_cache(instance, **parser_kwargs) )
     if self.with_navigation and isinstance(instance, Page):
         navigation = instance.get_descendants(include_self=False).filter(visible=True)
     
     context.update({
         #'document_toc': toc_render,
         'document_navigation': navigation,
         'document_render': content_render,
     })
     
     return ''
Example #3
0
 def render(self, context):
     """
     TODO: Lever une exception de template évident quand le setting demandé n'existe 
           pas.
     
     :type context: object ``django.template.Context``
     :param context: Objet du contexte du tag.
     
     :rtype: string
     :return: Le rendu généré pour le tag capturé.
     """
     html = ''
     parser_kwargs = {}
     
     # Résolution de l'instance du formulaire
     self.insert_instance = resolve_string_or_variable(self.insert_instance_varname, context)
     
     self.setting_key = resolve_string_or_variable(self.setting_key_varname, context)
     if self.setting_key:
         parser_kwargs['setting_key'] = self.setting_key
     
     self.title_level = resolve_string_or_variable(self.title_level_varname, context)
     if self.title_level:
         parser_kwargs['initial_header_level'] = self.title_level
     
     # Réception d'un slug pour récupérer l'instance
     if isinstance(self.insert_instance, basestring):
         try:
             instance = Insert.objects.get(slug=self.insert_instance, visible=True)
         except Insert.DoesNotExist:
             return ''
         else:
             self.insert_instance = instance
     
     html = get_render_with_cache(self.insert_instance, **parser_kwargs)
     
     return mark_safe(html)