dashboard: fixed javascript error if no slice
[unfold.git] / portal / templates / home-view.html
1 {% extends "layout.html" %}
2 {% load portal_filters %}
3
4 {% block content %}
5 <div class="row" id="home-dashboard">
6         <ul class="nav nav-tabs">
7           <li class="active"><a class="home-tab" data-panel="user" href="#">USER</a></li>
8           <li><a class="home-tab" data-panel="manager" href="#">MANAGER</a></li>
9         </ul>
10         <div class="home-panel" id="user">
11                 <table>
12                         <tr>
13                                 <td>ACCOUNT</td>
14                                 <td>SLICES</td>
15                                 <td>SUPPORT</td>
16                         </tr>
17                         <tr>
18                                 <td><a href="/portal/account/"><img src="{{ STATIC_URL }}img/icon_user_color.png" alt="" /></a></td>
19                                 <td><a href="#"><img src="{{ STATIC_URL }}img/icon_slices.png" alt="" /></a></td>
20                                 <td><a href="/portal/support"><img src="{{ STATIC_URL }}img/icon_support.png" alt="" /></a></td>
21                         </tr>
22                         <tr>
23                                 {% if person %}
24                                 <td class="logged-in">
25                                         <button id="logoutbtn" type="button" class="btn btn-default" data-username="{{ username }}"><span class="glyphicon glyphicon-off"></span> Logout</button>
26                                         <div>
27                                         {% if person.last_name %}
28                                                 {{person.first_name}} {{person.last_name}}<br />
29                                         {% endif %}
30                                         <span class="label">Email:</span> <a href='/portal/account/'>{{person.email}}</a>
31                                 </div>
32                                 {% else %}
33                                 <td>
34                                         {% widget '_widget-login-user.html' %}
35                                 {% endif %}
36                                 </td>
37                                 <td>
38                                 {% if person %}
39                                         <button id="slicerequestbtn" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Request Slice</button>
40                                         <div id="home-slice-list"><img src="{{ STATIC_URL }}img/loading.gif" alt="Loading Slices" /></div>
41                                 {% else %}
42                                 {% endif %}
43                                 </td>
44                                 <td class="support">
45                                         <button id="ticketbtn" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Create Ticket</button>
46                                         <div>
47                                                 <a href="/portal/contact">Contact</a> <br />
48                                                 <a href="/portal/support/documentation">Documentation</a>
49                                         </div>
50                                 </td>
51                         </tr>
52                 </table>
53         </div>
54         <div class="home-panel" id="manager">
55                 <table>
56                         <tr>
57                                 <td>INSTITUTION</td>
58                                 <td>SLICES</td>
59                                 <td>REQUESTS</td>
60                         </tr>
61                         <tr>
62                                 <td><a href="/portal/institution"><img src="{{ STATIC_URL }}img/icon_authority_color.png" alt="" /></a></td>
63                                 <td><a href="/portal/institution#slices"><img src="{{ STATIC_URL }}img/icon_slices.png" alt="" /></a></td>
64                                 <td><a href="/portal/validate"><img src="{{ STATIC_URL }}img/icon_testbed_color.png" alt="" /></a></td>
65                         </tr>
66                         <tr>
67                                 {% if person %}
68                                 <td class="logged-in">
69                                         <button id="logoutbtn" type="button" class="btn btn-default" data-username="{{ username }}"><span class="glyphicon glyphicon-off"></span> Logout</button>
70                                 {% else %}
71                                 <td>
72                                         {% widget '_widget-login-manager.html' %}
73                                 {% endif %}
74                                 </td>
75                                 <td>
76                                         {% if person %}
77                                     <button id="slicerequestbtn" type="button" class="btn btn-default"><span class="glyphicon glyphicon-plus"></span> Create Slice</button>
78                                         {% endif %}
79                                 </td>
80                                 <td class="support">
81                                         {% if person %}
82                                     <button id="validaterequestbtn" type="button" class="btn btn-default"><span class="glyphicon glyphicon-ok"></span> Validate Requests</button>
83                                         {% endif %}
84                                 </td>
85                         </tr>
86                 </table>
87         </div>
88 </div>
89 <script>
90         $(document).ready(function() {
91                 $('a.home-tab').click(function() {
92                         $('ul.nav-tabs li').removeClass('active');
93                         $(this).parent().addClass('active');
94                         $('div.home-panel').hide();
95                         $('div#'+$(this).data('panel')).show();
96                 });
97                 $('button#validaterequestbtn').click(function() {
98                         window.location="/portal/validate/";
99                 });
100                 $('button#ticketbtn').click(function() {
101                         window.location="/portal/contact/";
102                 });
103                 $('button#slicerequestbtn').click(function() {
104                         window.location="/portal/slice_request/";
105                 });
106                 
107                 {% if person %}
108         $.post("/rest/user/",{'filters':{'user_hrn':'$user_hrn'}}, function( data ) {
109                   var items = [];
110           if(data.length > 0){
111                   $.each( data[0].slices, function(i, val) {
112                         items.push( "<li><a href=\"/slice/"+val+"\">" + val + "</a></li>" );
113                   });
114                   
115                   $("div#home-slice-list").html($( "<ul/>", { html: items.join( "" ) }));
116                   }else{
117                   $("div#home-slice-list").html("no slice");
118           } 
119                 });
120                 {% endif %}
121         });
122 </script>
123 {% endblock %}