summaryrefslogtreecommitdiffstats
path: root/templates/user/settings/security.tmpl
blob: b7cd222b304106793ab50301756537463cb1d80b (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
71
72
73
74
75
76
77
78
79
{{template "base/head" .}}
<div class="user settings password">
	{{template "user/settings/navbar" .}}
	<div class="ui container">
		{{template "base/alert" .}}
		<h4 class="ui top attached header">
			{{.i18n.Tr "settings.password"}}
		</h4>
		<div class="ui attached segment">
			{{if or (.SignedUser.IsLocal) (.SignedUser.IsOAuth2)}}
			<form class="ui form" action="{{.Link}}?tp=password" method="post">
				{{.CsrfTokenHtml}}
				{{if .SignedUser.IsPasswordSet}}
				<div class="required field {{if .Err_OldPassword}}error{{end}}">
					<label for="old_password">{{.i18n.Tr "settings.old_password"}}</label>
					<input id="old_password" name="old_password" type="password" autocomplete="off" autofocus required>
				</div>
				{{end}}
				<div class="required field {{if .Err_Password}}error{{end}}">
					<label for="password">{{.i18n.Tr "settings.new_password"}}</label>
					<input id="password" name="password" type="password" autocomplete="off" required>
				</div>
				<div class="required field {{if .Err_Password}}error{{end}}">
					<label for="retype">{{.i18n.Tr "settings.retype_new_password"}}</label>
					<input id="retype" name="retype" type="password" autocomplete="off" required>
				</div>

				<div class="field">
					<button class="ui green button">{{$.i18n.Tr "settings.change_password"}}</button>
					<a href="{{AppSubUrl}}/user/forgot_password?email={{.Email}}">{{.i18n.Tr "auth.forgot_password"}}</a>
				</div>
			</form>
			{{else}}
			<div class="ui info message">
				<p class="text left">{{$.i18n.Tr "settings.password_change_disabled"}}</p>
			</div>
			{{end}}
		</div>
		<br/>

		<h4 class="ui top attached header">
			{{.i18n.Tr "settings.twofa"}}
		</h4>
		<div class="ui attached segment">
			<p>{{.i18n.Tr "settings.twofa_desc"}}</p>
			{{if .TwofaEnrolled}}
			<p>{{$.i18n.Tr "settings.twofa_is_enrolled" | Str2html }}</p>
			<form class="ui form" action="{{.Link}}/two_factor/regenerate_scratch" method="post" enctype="multipart/form-data">
				{{.CsrfTokenHtml}}
				<p>{{.i18n.Tr "settings.regenerate_scratch_token_desc"}}</p>
				<button class="ui blue button">{{$.i18n.Tr "settings.twofa_scratch_token_regenerate"}}</button>
			</form>
			<form class="ui form" action="{{.Link}}/two_factor/disable" method="post" enctype="multipart/form-data" id="disable-form">
				{{.CsrfTokenHtml}}
				<p>{{.i18n.Tr "settings.twofa_disable_note"}}</p>
				<div class="ui red button delete-button" data-type="form" data-form="#disable-form">{{$.i18n.Tr "settings.twofa_disable"}}</div>
			</form>
			{{else}}
			<p>{{.i18n.Tr "settings.twofa_not_enrolled"}}</p>
			<div class="inline field">
				<a class="ui green button" href="{{.Link}}/two_factor/enroll">{{$.i18n.Tr "settings.twofa_enroll"}}</a>
			</div>
			{{end}}
		</div>
	</div>
</div>

<div class="ui small basic delete modal">
	<div class="ui icon header">
		<i class="trash icon"></i>
		{{.i18n.Tr "settings.twofa_disable"}}
	</div>
	<div class="content">
		<p>{{.i18n.Tr "settings.twofa_disable_desc"}}</p>
	</div>
	{{template "base/delete_modal_actions" .}}
</div>

{{template "base/footer" .}}