<!-- 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><input type="text" name="template" value="<%= template %>"></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><input type="text" name="owner" value="<%= owner %>"></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>

<!-- 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><input type="text" name="site" value="<%= site %>"></td></tr>
  <tr><td>Deployment:</td><td><input type="text" name="deployment" value="<%= deployment %>"></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>

<!-- SlicDeployment -->

<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><input type="text" name="image" value="<%= image %>"></td></tr>
  <tr><td>Creator:</td><td><input type="text" name="creator" value="<%= creator %>"></td></tr>
  <tr><td>Slice:</td><td><input type="text" name="slice" value="<%= slice %>"></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><input type="text" name="site" value="<%= site %>"></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: User</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>
