summaryrefslogtreecommitdiffstats
path: root/modules-available/rebootcontrol/templates/status-reboot.html
blob: 349718457b7b6be74d7a347abeb06b97c0ccd4a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<h3>{{action}} – {{timestamp_s}}</h3>

{{#locations}}
<div class="loc">{{name}}</div>
{{/locations}}
<div class="clearfix slx-space"></div>

<table class="table table-hover stupidtable" id="dataTable">
	<thead>
		<tr>
			<th data-sort="string">{{lang_client}}</th>
			<th data-sort="ipv4">{{lang_ip}}</th>
			<th data-sort="string">
				{{lang_status}}
			</th>
		</tr>
	</thead>

	<tbody>
	{{#clients}}
		<tr>
			<td><a href="?do=statistics&amp;uuid={{machineuuid}}">{{hostname}}{{^hostname}}{{machineuuid}}{{/hostname}}</a></td>
			<td>{{clientip}}</td>
			<td>
				<span id="status-{{machineuuid}}" class="machineuuid" data-uuid="{{machineuuid}}"></span>
				<span id="text-{{machineuuid}}"></span>
			</td>
		</tr>
	{{/clients}}
	</tbody>
</table>

<div data-tm-id="{{id}}" data-tm-log="error" data-tm-callback="updateStatus"></div>

<script type="application/javascript">
	statusStrings = {
		"CONNECTING" : "{{lang_connecting}}",
		"REBOOTING" : "{{lang_rebooting}}",
		"REBOOT_AT" : "{{lang_rebootAt}}",
		"ONLINE" : "{{lang_online}}",
		"ERROR" : "{{lang_error}}",
		"SHUTDOWN" : "{{lang_shutdown}}",
		"SHUTDOWN_AT" : "{{lang_shutdownAt}}",
		"AUTH_FAIL" : "{{lang_authFail}}"
	};

	function updateStatus(task) {
		if (!task || !task.data || !task.data.clientStatus)
			return;
		stillActive = 25;
		var clientStatus = task.data.clientStatus;
		for (var uuid in clientStatus) {
			if (!clientStatus.hasOwnProperty(uuid))
				continue;
			var $s = $("#text-" + uuid);
			var status = clientStatus[uuid];
			if ($s.data('state') === status)
				continue;
			$s.data('state', status);
			var text = statusStrings[status];
			if (status === 'SHUTDOWN_AT' || status === 'REBOOT_AT') {
				text += ' ' + task.data.time;
			}
			$s.text(text);
			if (status === 'CONNECTING' || status === 'REBOOTING') {
				$s.append('<span class="glyphicon glyphicon-hourglass"></span>');
			}
		}
	}
</script>