<#macro subjectsList items default_value exclude_value depth> <#if items?has_content> <#list items as subject> <#if exclude_value="${subject.id}"> <#else> <#assign child_subjects_list = subject.getChilds(plugin) /> <#if child_subjects_list?has_content> <@subjectsList items=child_subjects_list default_value=default_value exclude_value=exclude_value depth=depth+1 /> <#macro themesList items default_value exclude_value depth> <#if items?has_content> <#list items as theme> <#if exclude_value="${theme.id}"> <#else> <#assign child_themes_list = theme.getChilds(plugin) /> <#if child_themes_list?has_content> <@themesList items=child_themes_list default_value=default_value exclude_value=exclude_value depth=depth+1 /> <#macro commonListTable items depth jspRef paramId> <#if items?has_content> <#list items as subject> <@indentation depth=depth /> ${subject.text} (#i18n{helpdesk.commonList.labelId} : ${subject.id})  - ${subject.questions?size} #i18n{helpdesk.commonList.labelQuestion} <#if subject.idOrder > 0> <#else> <#if items?seq_index_of(subject) != items?size-1> <#else> <#if subject.idOrder == 0 && subject.idParent > 0> <#else> <#assign child_subjects_list = subject.getChilds(plugin) /> <#if child_subjects_list?has_content> <@commonListTable items=child_subjects_list depth=depth+1 jspRef=jspRef paramId=paramId /> <#macro indentation depth> <#if depth > 0> <#list 1..depth as i>