summaryrefslogtreecommitdiffhomepage
path: root/modules/luci-mod-system/luasrc/view/admin_system/password.htm
blob: db35fb01e8e958e470b05919ce04b06989a28584 (plain)
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
<%+header%>

<script type="application/javascript">//<![CDATA[
	function submitPassword(ev) {
		var pw1 = document.body.querySelector('[name="pw1"]'),
		    pw2 = document.body.querySelector('[name="pw2"]');

		if (!pw1.value.length || !pw2.value.length)
			return;

		if (pw1.value === pw2.value) {
			showModal('<%:Change login password%>',
				E('p', { class: 'spinning' }, '<%:Changing password…%>'));

			(new XHR()).post('<%=url("admin/system/admin/password/json")%>',
				{ token: '<%=token%>', password: pw1.value },
				function() {
					showModal('<%:Change login password%>', [
						E('div', _('The system password has been successfully changed.')),
						E('div', { 'class': 'right' },
							E('div', { class: 'btn', click: hideModal }, '<%:Dismiss%>'))
					]);

					pw1.value = pw2.value = '';
				});
		}
		else {
			showModal('<%:Change login password%>', [
				E('div', { class: 'alert-message warning' },
					_('Given password confirmation did not match, password not changed!')),
				E('div', { 'class': 'right' },
					E('div', { class: 'btn', click: hideModal }, '<%:Dismiss%>'))
			]);
		}
	}
//]]></script>

<input type="password" aria-hidden="true" style="position:absolute; left:-10000px" />

<div class="cbi-map">
	<h2><%:Router Password%></h2>

	<div class="cbi-section-descr">
		<%:Changes the administrator password for accessing the device%>
	</div>

	<div class="cbi-section-node">
		<div class="cbi-value">
			<label class="cbi-value-title" for="image"><%:Password%></label>
			<div class="cbi-value-field">
				<input type="password" name="pw1" /><!--
				--><button class="cbi-button cbi-button-neutral" title="<%:Reveal/hide password%>" aria-label="<%:Reveal/hide password%>" onclick="var e = this.previousElementSibling; e.type = (e.type === 'password') ? 'text' : 'password'">∗</button>
			</div>
		</div>

		<div class="cbi-value">
			<label class="cbi-value-title" for="image"><%:Confirmation%></label>
			<div class="cbi-value-field">
				<input type="password" name="pw2" onkeydown="if (event.keyCode === 13) submitPassword(event)" /><!--
				--><button class="cbi-button cbi-button-neutral" title="<%:Reveal/hide password%>" aria-label="<%:Reveal/hide password%>" onclick="var e = this.previousElementSibling; e.type = (e.type === 'password') ? 'text' : 'password'">∗</button>
			</div>
		</div>
	</div>
</div>

<div class="cbi-page-actions">
	<button class="btn cbi-button-apply" onclick="submitPassword(event)"><%:Save%></button>
</div>

<%+footer%>