Rename pharos-dashboard and pharos-validator
[pharos-tools.git] / dashboard / src / templates / dashboard / resource_detail.html
1 {% load jenkins_filters %}
2
3 <div class="row">
4     <div class="col-lg-3">
5         <div class="panel panel-default">
6             <div class="panel-heading">
7                 Jenkins Utilization
8                 <div class="pull-right">
9                     <div class="form-group">
10                         <select onchange="loadChartData('{{ resource.id }}_jenkins_utilization', this.value);">
11                             <option value="{% url 'dashboard:jenkins_utilization' resource_id=resource.id weeks=1 %}">
12                                 Last Week
13                             </option>
14                             <option value="{% url 'dashboard:jenkins_utilization' resource_id=resource.id weeks=4 %}">
15                                 Last Month
16                             </option>
17                         </select>
18                     </div>
19                 </div>
20             </div>
21             <div class="panel-body">
22                 <div class="flot-chart">
23                     <div class="flot-chart-content"
24                          id="{{ resource.id }}_jenkins_utilization"></div>
25                 </div>
26             </div>
27         </div>
28     </div>
29
30     <div class="col-lg-9">
31         <div class="panel panel-default">
32             <div class="panel-heading">
33                 Status
34             </div>
35             <div class="panel-body">
36                 <div class="list-group pre-scrollable">
37                     {% for status in resource.resourcestatus_set.all %}
38                         <a href="#" class="list-group-item">
39                             <i class="fa fa-info fa-fw"></i> {{ status.title }}
40                             <span class="pull-right text-muted small">
41                                 <em>{{ status.timestamp }}</em>
42                             </span>
43                         </a>
44                     {% endfor %}
45                 </div>
46             </div>
47         </div>
48     </div>
49     <div class="col-lg-9">
50         <div class="panel panel-default">
51             <div class="panel-heading">
52                 Servers
53             </div>
54             <div class="panel-body">
55                 <div class="dataTables_wrapper">
56                     <table class="table table-striped table-bordered table-hover"
57                            id="{{ resource.id }}_server_table" cellspacing="0"
58                            width="100%">
59                         {% include "dashboard/server_table.html" %}
60                     </table>
61                 </div>
62             </div>
63         </div>
64     </div>
65 </div>
66 <div class="row">
67     <div class="col-lg-3">
68         <div class="panel panel-default">
69             <div class="panel-heading">
70                 Booking Utilization
71                 <div class="pull-right">
72                     <div class="form-group">
73                         <select onchange="loadChartData('{{ resource.id }}_booking_utilization', this.value);">
74                             <option value="{% url 'dashboard:booking_utilization' resource_id=resource.id weeks=-4 %}">
75                                 Last Month
76                             </option>
77                             <option value="{% url 'dashboard:booking_utilization' resource_id=resource.id weeks=-1 %}">
78                                 Last Week
79                             </option>
80                             <option value="{% url 'dashboard:booking_utilization' resource_id=resource.id weeks=1 %}">
81                                 Next Week
82                             </option>
83                             <option selected="selected"
84                                     value="{% url 'dashboard:booking_utilization' resource_id=resource.id weeks=4 %}">
85                                 Next Month
86                             </option>
87                         </select>
88                     </div>
89                 </div>
90             </div>
91             <div class="panel-body">
92                 <div class="flot-chart">
93                     <div class="flot-chart-content"
94                          id="{{ resource.id }}_booking_utilization"></div>
95                 </div>
96             </div>
97         </div>
98     </div>
99     <div class="col-lg-9">
100         <div class="panel panel-default">
101             <div class="panel-heading">
102                 Bookings
103             </div>
104             <div class="panel-body">
105                 <div class="dataTables_wrapper">
106                     <table class="table table-striped table-bordered table-hover"
107                            id="{{ resource.id }}_bookings_table" cellspacing="0"
108                            width="100%">
109                         {% include "booking/booking_table.html" %}
110                     </table>
111                 </div>
112             </div>
113         </div>
114     </div>
115 </div>
116 <div class="row">
117     <div class="col-lg-3">
118         <div class="panel panel-default">
119             <div class="panel-heading">
120                 Contact
121             </div>
122             <div class="panel-body">
123                 <p>
124                     <b>Lab Owner: </b>
125                     {{ resource.owner.username }}
126                 </p>
127                 <p>
128                     <b>Email: </b>
129                     {{ resource.owner.email }}
130                 </p>
131                 <p>
132                     <a href="{% url 'booking:create' resource_id=resource.id %}" class="btn
133                     btn-primary">
134                         Booking
135                     </a>
136                     <a href="{{ resource.url }}" class="btn
137                     btn-primary">
138                         OPNFV Wiki
139                     </a>
140                 </p>
141             </div>
142         </div>
143     </div>
144     <div class="col-lg-3">
145         <div class="panel panel-default">
146             <div class="panel-heading">
147                 Jenkins Status
148             </div>
149             <div class="panel-body">
150                 <p>
151                     <b>Slave Name: </b>
152                     <a target='_blank'
153                        href={{ resource.slave.url }}>{{ resource.slave.name }}</a>
154                 </p>
155                 <p>
156                     <b>Status: </b>
157                     {{ resource.slave.status }}
158                 </p>
159                 <p>
160                     <b>Last Job: </b>
161                     <a href="{{ resource.slave.last_job_url }}">
162                         {{ resource.slave.last_job_name }}
163                     </a>
164                 </p>
165             </div>
166         </div>
167     </div>
168     <div class="col-lg-6">
169         <div class="panel panel-default">
170             <div class="panel-heading">
171                 VPN Users
172             </div>
173             <div class="panel-body">
174                 <div class="dataTables_wrapper">
175                     <table class="table table-striped table-bordered table-hover"
176                            id="{{ resource.id }}_vpn_user_table" cellspacing="0"
177                            width="100%">
178                         <thead>
179                         <tr>
180                             <th>User</th>
181                             <th>Email</th>
182                             <th>Company</th>
183                         </tr>
184                         </thead>
185                         <tbody>
186                         {% for user in resource.vpn_users.all %}
187                             <tr>
188                                 <td>
189                                     {{ user.username }}
190                                 </td>
191                                 <td>
192                                     {{ user.email }}
193                                 </td>
194                                 <td>
195                                     {{ user.userprofile.company }}
196                                 </td>
197                             </tr>
198                         {% endfor %}
199                     </table>
200                     </tbody>
201                 </div>
202             </div>
203         </div>
204     </div>
205 </div>