<!-- Error and Success templates -->

<script type="text/template" id="xos-error-template">
  <button id="close-error-box">Close Error Message</button>
  <h3>An error has occurred.</h3>
  <table class="test-error-table">
  <tr><td>Code:</td><td><%= status %></td></tr>
  <tr><td>Message:</td><td><%= statusText %></td></tr>
  </table>
</script>

<script type="text/template" id="xos-success-template">
  <button id="close-success-box">Close Success Message</button>
  <h3>Success!</h3>
  <table class="test-success-table">
  <tr><td>Code:</td><td><%= status %></td></tr>
  <tr><td>Message:</td><td><%= statusText %></td></tr>
  </table>
</script>

<script type="text/template" id="xos-navbutton">
  <button class="btn btn-default btn-xosnav" onclick="<%= router %>.navigate('<%= routeUrl %>', {trigger: true})"><%= name %></button><br>
</script>

<!-- Deployment -->

<script type="text/template" id="xosAdmin-deployment-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>backend</th>
     <th>admin_tenant</th>
     <th># sites</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-deployment-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= backend_type %></td>
  <td><%= admin_tenant %></td>
  <td><%= sites.length %></td>
</script>

<script type="text/template" id="xosAdmin-deployment-detail-template">
  <h3>Detail View: Deployment</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>Backend:</td><td><input type="text" name="backend_type" value="<%= backend_type %>"></td></tr>
  <tr><td>Admin Tenant:</td><td><input type="text" name="admin_tenant" value="<%= admin_tenant %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Image -->

<script type="text/template" id="xosAdmin-image-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>disk_format</th>
     <th>container_format</th>
     <th>path</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-image-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= disk_format %></td>
  <td><%= container_format %></td>
  <td><%= path %></td>
</script>

<script type="text/template" id="xosAdmin-image-detail-template">
  <h3>Detail View: Image</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>Disk Format:</td><td><input type="text" name="backend_type" value="<%= disk_format %>"></td></tr>
  <tr><td>Container Format:</td><td><input type="text" name="admin_tenant" value="<%= container_format %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- NetworkTemplate -->

<script type="text/template" id="xosAdmin-networkTemplate-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>description</th>
     <th>visibility</th>
     <th>translation</th>
     <th>sharedNetworkName</th>
     <th>sharedNetworkId</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-networkTemplate-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= description %></td>
  <td><%= visibility %></td>
  <td><%= translation %></td>
  <td><%= sharedNetworkName %></td>
  <td><%= sharedNetworkId %></td>
</script>

<script type="text/template" id="xosAdmin-networkTemplate-detail-template">
  <h3>Detail View: NetworkTemplate</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>description:</td><td><input type="text" name="description" value="<%= description %>"></td></tr>
  <tr><td>Visibility:</td><td><input type="text" name="visibility" value="<%= visibility %>"></td></tr>
  <tr><td>Translation:</td><td><input type="text" name="translation" value="<%= translation %>"></td></tr>
  <tr><td>Shared Network Name:</td><td><input type="text" name="sharedNetworkName" value="<%= sharedNetworkName %>"></td></tr>
  <tr><td>Shared Network Id:</td><td><input type="text" name="sharedNetworkId" value="<%= sharedNetworkId %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Network -->

<script type="text/template" id="xosAdmin-network-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>template</th>
     <th>ports</th>
     <th>labels</th>
     <th>owner</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-network-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= idToName(template,"networkTemplates","name") %></td>
  <td><%= ports %></td>
  <td><%= labels %></td>
  <td><%= idToName(owner,"slices","name") %></td>
</script>

<script type="text/template" id="xosAdmin-network-detail-template">
  <h3>Detail View: Network</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>Template:</td><td><%= idToSelect("template",template,"networkTemplates","name") %></td></tr>
  <tr><td>Ports:</td><td><input type="text" name="ports" value="<%= ports %>"></td></tr>
  <tr><td>Labels:</td><td><input type="text" name="labels" value="<%= labels %>"></td></tr>
  <tr><td>Owner:</td><td><%= idToSelect("owner",owner,"slices","name") %></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- NetworkSliver -->

<script type="text/template" id="xosAdmin-networkSliver-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>network</th>
     <th>sliver</th>
     <th>ip</th>
     <th>port_id</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-networkSliver-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= idToName(network,"networks","name") %></td>
  <td><%= idToName(sliver,"slivers","name") %></td>
  <td><%= ip %></td>
  <td><%= port_id %></td>
</script>

<script type="text/template" id="xosAdmin-networkSliver-detail-template">
  <h3>Detail View: Network</h3>
  <form>
  <table>
  <tr><td>Network:</td><td><input type="text" name="network" value="<%= network %>"></td></tr>
  <tr><td>Sliver:</td><td><input type="text" name="sliver" value="<%= sliver %>"></td></tr>
  <tr><td>Ip:</td><td><input type="text" name="ip" value="<%= ip %>"></td></tr>
  <tr><td>Port_id:</td><td><input type="text" name="port_id" value="<%= port_id %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- NetworkDeployment -->

<script type="text/template" id="xosAdmin-networkDeployment-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>network</th>
     <th>deployment</th>
     <th>net_id</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-networkDeployment-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= idToName(network,"networks","name") %></td>
  <td><%= idToName(deployment,"deployments","name") %></td>
  <td><%= net_id %></td>
</script>

<script type="text/template" id="xosAdmin-networkDeployment-detail-template">
  <h3>Detail View: Network</h3>
  <form>
  <table>
  <tr><td>Network:</td><td><input type="text" name="network" value="<%= network %>"></td></tr>
  <tr><td>Sliver:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>
  <tr><td>Ip:</td><td><input type="text" name="net_id" value="<%= net_id %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Node -->

<script type="text/template" id="xosAdmin-node-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>site</th>
     <th>deployment</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-node-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= idToName(site,"sites","name") %></td>
  <td><%= idToName(deployment,"deployments","name") %></td>
</script>

<script type="text/template" id="xosAdmin-node-detail-template">
  <h3>Detail View: Node</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>Site:</td><td><%= idToSelect("site",site,"sites","name") %></td></tr>
  <tr><td>Deployment:</td><td><%= idToSelect("deployment",deployment,"deployments","name") %></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- SliceRole -->

<script type="text/template" id="xosAdmin-sliceRole-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>role</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-sliceRole-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= role %></td>
</script>

<script type="text/template" id="xosAdmin-sliceRole-detail-template">
  <h3>Detail View: Service</h3>
  <form>
  <table>
  <tr><td>Role:</td><td><input type="text" name="role" value="<%= role %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Service -->

<script type="text/template" id="xosAdmin-service-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>description</th>
     <th>enabled</th>
     <th>versionNumber</th>
     <th>published</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-service-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= description %></td>
  <td><%= enabled %></td>
  <td><%= versionNumber %></td>
  <td><%= published %></td>
</script>

<script type="text/template" id="xosAdmin-service-detail-template">
  <h3>Detail View: Service</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>description:</td><td><input type="text" name="description" value="<%= description %>"></td></tr>
  <tr><td>Version Number:</td><td><input type="text" name="versionNumber" value="<%= versionNumber %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Site -->

<script type="text/template" id="xosAdmin-site-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>url</th>
     <th>enabled</th>
     <th>login_base</th>
     <th>is_public</th>
     <th>abbreviated_name</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-site-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= site_url %></td>
  <td><%= enabled %></td>
  <td><%= login_base %></td>
  <td><%= is_public %></td>
  <td><%= abbreviated_name %></td>
</script>

<script type="text/template" id="xosAdmin-site-detail-template">
  <h3>Detail View: Site</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>url:</td><td><input type="text" name="site_url" value="<%= site_url %>"></td></tr>
  <tr><td>login_base:</td><td><input type="text" name="login_base" value="<%= login_base %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Slice -->

<script type="text/template" id="xosAdmin-slice-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>enabled</th>
     <th>omf_friendly</th>
     <th>description</th>
     <th>slice_url</th>
     <th>site</th>
     <th>max_slivers</th>
     <th>service</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-slice-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= enabled %></td>
  <td><%= omf_friendly %></td>
  <td><%= description %></td>
  <td><%= slice_url %></td>
  <td><%= idToName(site,"sites","name") %></td>
  <td><%= max_slivers %></td>
  <td><%= idToName(service,"services","name") %></td>
</script>

<script type="text/template" id="xosAdmin-slice-detail-template">
  <h3>Detail View: Slice</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>Enabled:</td><td><input type="checkbox" name="enabled" <% if (enabled) print("checked"); %>></td></tr>
  <tr><td>Description:</td><td><input type="text" name="description" value="<%= description %>"></td></tr>
  <tr><td>Url:</td><td><input type="text" name="slice_url" value="<%= slice_url %>"></td></tr>
  <tr><td>Max Slivers:</td><td><input type="text" name="max_slivers" value="<%= max_slivers %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- SliceDeployment -->

<script type="text/template" id="xosAdmin-sliceDeployment-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>slice</th>
     <th>deployment</th>
     <th>tenant_id</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-sliceDeployment-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= idToName(slice,"slices","name") %></td>
  <td><%= idToName(deployment,"deployments","name") %></td>
  <td><%= tenant_id %></td>
</script>

<script type="text/template" id="xosAdmin-sliceDeployment-detail-template">
  <h3>Detail View: Slice Deployment</h3>
  <form>
  <table>
  <tr><td>Slice:</td><td><input type="text" name="slice" value="<%= slice %>"></td></tr>
  <tr><td>Deployment:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>
  <tr><td>Tenant Id:</td><td><input type="text" name="tenant_id" value="<%= tenant_id %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- SlicePrivilege -->

<script type="text/template" id="xosAdmin-slicePrivilege-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>user</th>
     <th>slice</th>
     <th>role</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>

<script type="text/template" id="xosAdmin-slicePrivilege-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= idToName(user,"users","username") %></td>
  <td><%= idToName(slice,"slices","name") %></td>
  <td><%= idToName(role,"sliceRoles","role") %></td>
</script>

<script type="text/template" id="xosAdmin-slicePrivilege-detail-template">
  <h3>Detail View: Slice Privilege</h3>
  <form>
  <table>
  <tr><td>User:</td><td><input type="text" name="user" value="<%= user %>"></td></tr>
  <tr><td>Slice:</td><td><input type="text" name="slice" value="<%= slice %>"></td></tr>
  <tr><td>Role:</td><td><input type="text" name="role" value="<%= role %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- Sliver -->

<script type="text/template" id="xosAdmin-sliver-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>name</th>
     <th>instance_id</th>
     <th>instance_name</th>
     <th>image</th>
     <th>creator</th>
     <th>slice</th>
     <th>node</th>
     <th>deploymentNetwork</th>
     <th>flavor</th>
     <th>userData</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-sliver-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= name %></td>
  <td><%= instance_id %></td>
  <td><%= instance_name %></td>
  <td><%= idToName(image,"images","name") %></td>
  <td><%= idToName(creator,"users","name") %></td>
  <td><%= idToName(slice,"slices","name") %></td>
  <td><%= idToName(node,"nodes","name") %></td>
  <td><%= idToName(deploymentNetwork,"deployments","name") %></td>
  <td><%= flavor %></td>
  <td><%= userData %></td>
</script>

<script type="text/template" id="xosAdmin-sliver-detail-template">
  <h3>Detail View: Sliver</h3>
  <form>
  <table>
  <tr><td>Name:</td><td><input type="text" name="name" value="<%= name %>"></td></tr>
  <tr><td>instance_id:</td><td><input type="text" name="instance_id" value="<%= instance_id %>"></td></tr>
  <tr><td>instance_name:</td><td><input type="text" name="instance_name" value="<%= instance_name %>"></td></tr>
  <tr><td>Image:</td><td><%= idToSelect("image",image,"images","name") %></td></tr>
  <tr><td>Creator:</td><td><%= idToSelect("creator",creator,"users","username") %></td></tr>
  <tr><td>Slice:</td><td><%= idToSelect("deploymentNetwork",deploymentNetwork,"deployments","name") %></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- User -->

<script type="text/template" id="xosAdmin-user-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>username</th>
     <th>firstname</th>
     <th>lastname</th>
     <th>phone</th>
     <th>user_url</th>
     <th>site</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-user-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td class="objectLink"><%= username %></td>
  <td><%= firstname %></td>
  <td><%= lastname %></td>
  <td><%= phone %></td>
  <td><%= user_url %></td>
  <td><%= idToName(site,"sites","name") %></td>
</script>

<script type="text/template" id="xosAdmin-user-detail-template">
  <h3>Detail View: User</h3>
  <form>
  <table>
  <tr><td>User Name:</td><td><input type="text" name="username" value="<%= username %>"></td></tr>
  <tr><td>First Name:</td><td><input type="text" name="firstname" value="<%= firstname %>"></td></tr>
  <tr><td>Last Name:</td><td><input type="text" name="lastname" value="<%= lastname %>"></td></tr>
  <tr><td>Phone:</td><td><input type="text" name="phone" value="<%= phone %>"></td></tr>
  <tr><td>Url:</td><td><input type="text" name="user_url" value="<%= user_url %>"></td></tr>
  <tr><td>Site:</td><td><%= idToSelect("site",site,"sites","name") %></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>

<!-- UserDeployments -->

<script type="text/template" id="xosAdmin-userDeployment-list-template">
  <h3><%= title %></h3>
  <table class="test-table">
  <thead><tr>
     <th>id</th>
     <th>user</th>
     <th>deployment</th>
     <th>kuser_id</th>
  </tr></thead>
  <tbody></tbody>
  </table>
</script>


<script type="text/template" id="xosAdmin-userDeployment-listitem-template">
  <td class="objectLink"><%= id %></td>
  <td><%= idToName(user,"users","username") %></td>
  <td><%= idToName(deployment,"deployments","name") %></td>
  <td><%= kuser_id %></td>
</script>

<script type="text/template" id="xosAdmin-userDeployment-detail-template">
  <h3>Detail View: UserDeployment</h3>
  <form>
  <table>
  <tr><td>User:</td><td><input type="text" name="user" value="<%= user %>"></td></tr>
  <tr><td>Deployment:</td><td><input type="text" name="deployment" value="<%= deployment %>"></td></tr>
  <tr><td>kuser_id:</td><td><input type="text" name="kuser_id" value="<%= kuser_id %>"></td></tr>
  <tr><td colspan=2><button class="btn js-submit">Save</button></td></tr>
  </table>
  </form>
</script>
