dev_pods = []
for resource in resources:
- dev_pod = (resource, None)
+ booking_utilization = resource.get_booking_utilization(weeks=4)
+ total = booking_utilization['booked_seconds'] + booking_utilization['available_seconds']
+ try:
+ utilization_percentage = "%d%%" % (float(booking_utilization['booked_seconds']) /
+ total * 100)
+ except (ValueError, ZeroDivisionError):
+ return ""
+
+ dev_pod = (resource, None, utilization_percentage)
for booking in bookings:
if booking.resource == resource:
- dev_pod = (resource, booking)
+ dev_pod = (resource, booking, utilization_percentage)
dev_pods.append(dev_pod)
context = super(DevelopmentPodsView, self).get_context_data(**kwargs)
<th>Booked by</th>
<th>Booked until</th>
<th>Purpose</th>
+ <th>Utilization</th>
<th>Status</th>
<th></th>
+ <th></th>
</tr>
</thead>
<tbody>
- {% for pod, booking in dev_pods %}
+ {% for pod, booking, utilization in dev_pods %}
<tr>
<th>
<a href={% url 'dashboard:resource' resource_id=pod.id %}>{{ pod.name }}</a>
<th>
{{ booking.purpose }}
</th>
+ <th>
+ {{ utilization }}
+ </th>
<th style="background-color:{{ pod.slave.status | jenkins_status_color }}">
{{ pod.slave.status }}
</th>
Book
</a>
</th>
+ <th>
+ <a href="{% url 'dashboard:resource' resource_id=pod.id %}" class="btn btn-primary">
+ Info
+ </a>
+ </th>
</tr>
{% endfor %}
</tbody>
$(document).ready(function () {
$('#table').DataTable({
columnDefs: [
- {type: 'status', targets: 5}
+ {type: 'status', targets: 6}
],
- "order": [[5, "asc"]]
+ "order": [[6, "asc"]]
});
});
</script>