8ec395b290295fd28ef08a0bb01ce31bacbfc0e6
[unfold.git] / portal / templates / institution.html
1 {% extends "layout_wide.html" %}
2
3 {% block head %} 
4 <script type="text/javascript" src="{{STATIC_URL}}/js/institution.js"></script>
5 {% endblock head %}
6
7 {% block content %}
8 <div class="container">
9         <div class="row">
10                 <div class="col-md-12">
11                         <ul class="nav nav-tabs nav-section">
12                                 <li class="active"><a href="#info"><img src="{{ STATIC_URL }}icons/authority-xs.png" alt="Institution" /> Institution {{user_details.parent_authority}}</a></li>
13                                 <li><a href="#users">Users</a></li>
14                                 <li><a href="#slices">Slices</a></li>
15                         </ul>
16             </div>
17         </div>
18 </div>
19 <div class="container tab-content">
20         <div class="tab-pane active row" id="info">
21                 <div class="col-md-12">
22                         <div id="authority-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Authority" /></div>
23                     <div id="authority-tab-loaded" style="display:none;">
24                         <div id="authority-data"></div>
25                     </div>
26            </div>
27         </div>
28         
29         <div class="tab-pane row" id="users" data-authority="{{user_details.parent_authority}}">
30                 <div class="col-md-12">
31                         <table class="table"><tr><td><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></td></tr></table>
32                         {%if 'is_pi'  in pi %}  
33                         <div>
34                                 <button id="deleteusers" type="button" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span> Delete Users</button>
35                         </div>
36                         {%endif%}
37                 </div>
38         </div>
39         <div class="tab-pane row" id="slices">
40                 {%if 'is_pi'  in pi %}
41                 <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> create slice</button>
42                 {%else%}
43                 <button id="createslice" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> request slice</button>
44                 {%endif%}
45             <div id="slice-tab-loading"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
46             <div id="slice-tab-loaded" style="display:none;">
47                 <table id="slice-tab">
48                     <tr>
49                         <th>+/-</th>
50                         <th>slice_hrn</th>
51                         <th>users</th>
52                         <th>url</th>
53                         <th>nodes</th>
54                         <th>expiration</th>
55                     </tr>
56                 </table>
57                 <br>
58                         {%if 'is_pi'  in pi %}
59                 <div>
60                     <button id="renewslices" type="button" class="btn btn-default"><span class="glyphicon glyphicon-refresh"></span> Renew Slices</button>
61                     <button id="deleteslices" type="button" class="btn btn-default"><span class="glyphicon glyphicon-remove"></span> Delete Slices</button>
62                 </div>
63                         {%endif%} 
64             </div>
65         </div>
66 </div>
67 <script>
68     $(document).ready(function() {
69         {% if person %}
70         {% if user_details.parent_authority %}
71         
72         $.post("/rest/authority/",{'filters':{'authority_hrn':'{{user_details.parent_authority}}'}}, function( data ) {
73             var authority_data = [];
74             var onelab_data = [];
75                         /* 'city','enabled','legal','longitude','onelab_membership','address','parent_authority','slice','user','country',
76             'tech','abbreviated_name','url','postcode','description','scientific','authority_hrn','latitude','name'     */
77             $.each( data, function( key, val ) {
78                 authority_row = "<img src='{{ STATIC_URL }}img/institutions/{{user_details.parent_authority}}.gif' alt='' /><br>";
79                 authority_row += "<br>";
80                 authority_row += "<b>authority:</b> "+val.authority_hrn+"<br>";
81                 authority_data.push(authority_row);
82             });
83             $("div#authority-data").html(authority_data.join( "" ));
84             $("div#onelab-data").html(onelab_data.join( "" ));
85             $("div#authority-tab-loaded").css("display","block");
86             $("div#authority-tab-loading").css("display","none");
87          });
88
89         $.post("/rest/slice/",{'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
90             var list_slices = [];
91             var table_slices = [];
92             /* "slice_hrn", "slice_description", "slice_type", "parent_authority", "created", "nodes", "slice_url", "slice_last_updated", "users", "slice_urn", "slice_expires" */
93             $.each( data, function( key, val ) {
94                 list_slices.push( "<li><a href=\"portal/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></li>" );
95                 if(val.nodes=="undefined" || val.nodes==null){
96                     nodes_length=0;
97                 }else{
98                     nodes_length=val.nodes.length;
99                 }
100                 if(val.users=="undefined" || val.users==null){
101                     users_length=0;
102                 }else{
103                     users_length=val.users.length;
104                 }
105
106                 if(val.slice_url=="undefined" || val.slice_url==null){
107                     slice_url="";
108                 }else{
109                     slice_url="<a href='"+val.slice_url+"' target='_blank'>"+val.slice_url+"</a>";
110                 }
111                 
112                 slice_row = "<tr id='"+val.slice_hrn+"'>";
113                 slice_row += "<td><input type='checkbox' class='slice' id='"+val.slice_hrn+"'></td>";
114                 slice_row += "<td><a href=\"/slice/"+val.slice_hrn+"\">" + val.slice_hrn + "</a></td>";
115                 slice_row += "<td>"+users_length+"</td>";
116                 slice_row += "<td>"+slice_url+"</td>";
117                 slice_row += "<td>"+nodes_length+"</td>";
118                 slice_row += "<td>"+val.slice_expires+"</td>";
119                 slice_row += "</tr>";
120                 table_slices.push(slice_row);
121                 
122             });
123            
124             /* $("div#slice-list").html($( "<ul/>", { html: list_slices.join( "" ) })); */
125             $("table#slice-tab tr:last").after(table_slices.join( "" ));
126             $("div#slice-tab-loaded").css("display","block");
127             $("div#slice-tab-loading").css("display","none");
128         });
129                 
130                 
131         // $.post("/rest/user/",{'filters':{'parent_authority':'{{user_details.parent_authority}}'}}, function( data ) {
132             // var list_users = [];
133             // var table_users = [];
134                         // /* Available fields
135                         // user_gid, user_enabled, slices, pi_authorities, keys, parent_authority, user_first_name,
136                         // user_urn, user_last_name, user_phone, user_hrn, user_email, user_type
137                         // */
138             // $.each( data, function( key, val ) {
139                 // list_users.push( "<li><a href=\"portal/user/"+val.user_email+"\">" + val.user_email + "</a></li>" );
140 // 
141                 // user_row = "<tr id='"+val.user_hrn+"'>";
142                 // user_row += "<td><input type='checkbox' class='user' id='"+val.user_hrn+"'></td>";
143                 // user_row += "<td>"+val.user_email+"</td>";
144                 // user_row += "<td>"+val.user_hrn+"</td>";
145                 // user_row += "<td>"+val.user_first_name+"</td>";
146                 // user_row += "<td>"+val.user_last_name+"</td>";
147                                 // user_row += "<td>"+val.user_enabled+"</td>";
148                 // user_row += "</tr>";
149                 // table_users.push(user_row);
150 //                 
151             // });
152             // $("table#user-tab tr:last").after(table_users.join( "" ));
153             // $("div#user-tab-loaded").css("display","block");
154             // $("div#user-tab-loading").css("display","none");
155          // });
156          {% endif %}
157          {% endif %}
158     });
159
160
161 </script>
162 {% endblock %}