tenant view only shows sites the user should be able to see
[plstackapi.git] / planetstack / core / xoslib / static / js / xosDeveloper_datatables.js
1 /* This is an example that uses xoslib + datatables to display the developer
2 \r   view.
3 \r
4 \r   For an example that uses xoslib + marionette, see xosDeveloper.js
5 \r*/
6 \r
7 \rfunction updateSliceTable(data) {
8 \r    $('#developerView').html( '<table cellpadding="0" cellspacing="0" border="0" class="display" id="dynamicusersliceinfo"></table>' );
9     var actualEntries = [];
10
11     for (rowkey in data.models) {
12         row = data.models[rowkey];
13         slicename = row.get("name");
14         sliceid = row.get("id");
15         role = row.get("sliceInfo").roles[0] || "";
16         slivercount = row.get("sliceInfo").sliverCount;
17         sitecount = row.get("sliceInfo").siteCount;
18         backendHtml = row.get("backendHtml")
19
20         //if (! role) {
21         //    continue;
22         //}
23
24         if (! row.get("current_user_can_see") ) {
25             continue;
26         }
27
28         actualEntries.push([backendHtml + ' <a href="/admin/core/slice/' + sliceid + '">' + slicename + '</a>',
29                             role, slivercount, sitecount]);
30     }
31     oTable = $('#dynamicusersliceinfo').dataTable( {
32         "bJQueryUI": true,
33         "aaData":  actualEntries ,
34         "bStateSave": true,
35         "aoColumns": [
36             { "sTitle": "Slice" },
37             { "sTitle": "Privilege" , sClass: "alignCenter"},
38             { "sTitle": "Number of Slivers" , sClass: "alignCenter"},
39             { "sTitle": "Number of Sites" , sClass: "alignCenter"},
40         ]
41     } );
42 }
43
44 $(document).ready(function(){
45     xos.slicesPlus.on("change", function() { /*console.log("change");*/ updateSliceTable(xos.slicesPlus); });
46     xos.slicesPlus.on("remove", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
47     xos.slicesPlus.on("sort", function() { /*console.log("sort");*/ updateSliceTable(xos.slicesPlus); });
48
49     xos.slicesPlus.startPolling();
50 });
51