<#-- Display related macros --> <#macro startPage pageTitle> <#include "page-header.ftl"> <#macro endPage> <#include "page-footer.ftl"> <#macro startTabs>
<#macro endTabs>
<#macro tab name, url, isSelected> <#if isSelected == "true"> ${name} <#else> ${name} <#-- Highlights every other row--> <#macro indexedRows count> <#if (count%2>0)> <#else> <#-- Convenience method--> <#macro rows count> <#call indexedRows count="${count}"> <#-- User feedback macros --> <#macro error(text)>

${text}

<#macro done(text)>

${text}

<#macro info(text)>

${text}

<#macro warn(text)>

${text}

<#macro errorMessage(caption, message)>

${caption}

${message}

<#macro errorMessageMultiple(caption, message, errors)>

${caption}

${message} <#if errors?exists> <@s.iterator id="e" value="errors"> <#assign e = stack.findString('top') /> <#call error(e)>

<#macro warningMessage(caption, message)>

${caption}

${message}

<#macro infoMessage(caption, message)>

${caption}

${message}

<#macro doneMessage(caption, message)>

${caption}

${message}