[% 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>