[% BLOCK recurse -%]
[% INCLUDE print_line item=item %]
[% IF nodes.$item.children.defined -%]
<ul>
[% FOREACH kidtype IN nodes.$item.children.keys -%]
[%- FOREACH kid IN nodes.$item.children.$kidtype -%]
[%- IF kid -%]
[% INCLUDE recurse item=kid %]
[%- END -%]
[%- END -%]
[%- END -%]
</ul>
[% END -%]
</li>
[%- END -%]
[% BLOCK print_line -%]
<li>
[% IF nodes.$item.children.defined -%]
<span><i class="icon-minus-sign text-info"></i>
[%- ELSE -%]
<span><i class="icon-leaf"></i>
[%- END -%]
<a href="[% uri_for('/report/moduleinventory') | none %]?description=[% nodes.$item.module.description | uri %]">[% nodes.$item.module.description -%]</a>
[%- IF nodes.$item.module.name -%]
<a href="[% uri_for('/report/moduleinventory') | none %]?name=[% nodes.$item.module.name | uri %]">([% nodes.$item.module.name %])</a>
[%- END -%]
[%- IF nodes.$item.module.fw_ver -%]
fw: [% nodes.$item.module.fw_ver %]
[%- END -%]
[%- IF nodes.$item.module.hw_ver -%]
hw: [% nodes.$item.module.hw_ver %]
[%- END -%]
[%- IF nodes.$item.module.sw_ver -%]
sw: [% nodes.$item.module.sw_ver %]
[%- END -%]
[%- IF nodes.$item.module.serial -%]
<a href="[% uri_for('/report/moduleinventory') | none %]?serial=[% nodes.$item.module.serial | uri %]">[serial: [% nodes.$item.module.serial %]]</a>
[%- END -%]
[%- IF nodes.$item.module.type -%]
/ <a href="[% uri_for('/report/moduleinventory') | none %]?type=[% nodes.$item.module.type | uri %]">[% nodes.$item.module.type %]</a>
[%- END -%]
[%- IF nodes.$item.module.model -%]
/ <a href="[% uri_for('/report/moduleinventory') | none %]?model=[% nodes.$item.module.model | uri %]">[% nodes.$item.module.model %]</a>
[%- END -%]
[%- IF nodes.$item.module.fru -%]
<b>[FRU]</b>
[%- END -%]
</span>
[%- END -%]
<div class="tree">
<ul>
[% FOREACH module IN nodes.root %]
[% INCLUDE recurse item=module %]
[%- END -%]
</ul>
</div>
<script type="text/javascript">
[%+ INCLUDE 'js/bootstrap-tree.js' -%]
</script>