aboutsummaryrefslogtreecommitdiffstats
path: root/templates/admin/auth/new.tmpl
blob: 6addc50d09c26acc391b0ea4e522e9ffb0e9ba8a (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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
{{template "base/head" .}}
<div class="page-content admin new authentication">
	{{template "admin/navbar" .}}
	<div class="ui container">
		{{template "base/alert" .}}
		<h4 class="ui top attached header">
			{{.i18n.Tr "admin.auths.new"}}
		</h4>
		<div class="ui attached segment">
			<form class="ui form" action="{{.Link}}" method="post">
				{{.CsrfTokenHtml}}
				<!-- Types and name -->
				<div class="inline required field {{if .Err_Type}}error{{end}}">
					<label>{{.i18n.Tr "admin.auths.auth_type"}}</label>
					<div class="ui selection type dropdown">
						<input type="hidden" id="auth_type" name="type" value="{{.type.Int}}">
						<div class="text">{{.CurrentTypeName}}</div>
						{{svg "octicon-triangle-down" 14 "dropdown icon"}}
						<div class="menu">
							{{range .AuthSources}}
								<div class="item" data-value="{{.Type.Int}}">{{.Name}}</div>
							{{end}}
						</div>
					</div>
				</div>
				<div class="required inline field {{if .Err_Name}}error{{end}}">
					<label for="name">{{.i18n.Tr "admin.auths.auth_name"}}</label>
					<input id="name" name="name" value="{{.name}}" autofocus required>
				</div>

				<!-- LDAP and DLDAP -->
				{{ template "admin/auth/source/ldap" . }}

				<!-- SMTP -->
				{{ template "admin/auth/source/smtp" . }}

				<!-- PAM -->
				<div class="pam required field {{if not (eq .type 4)}}hide{{end}}">
					<label for="pam_service_name">{{.i18n.Tr "admin.auths.pam_service_name"}}</label>
					<input id="pam_service_name" name="pam_service_name" value="{{.pam_service_name}}" />
					<label for="pam_email_domain">{{.i18n.Tr "admin.auths.pam_email_domain"}}</label>
					<input id="pam_email_domain" name="pam_email_domain" value="{{.pam_email_domain}}">
				</div>

				<!-- OAuth2 -->
				{{ template "admin/auth/source/oauth" . }}

				<!-- SSPI -->
				{{ template "admin/auth/source/sspi" . }}

				<div class="ldap field">
					<div class="ui checkbox">
						<label><strong>{{.i18n.Tr "admin.auths.attributes_in_bind"}}</strong></label>
						<input name="attributes_in_bind" type="checkbox" {{if .attributes_in_bind}}checked{{end}}>
					</div>
				</div>
				<div class="smtp inline field {{if not (eq .type 3)}}hide{{end}}">
					<div class="ui checkbox">
						<label><strong>{{.i18n.Tr "admin.auths.enable_tls"}}</strong></label>
						<input name="tls" type="checkbox" {{if .tls}}checked{{end}}>
					</div>
				</div>
				<div class="has-tls inline field {{if not .HasTLS}}hide{{end}}">
					<div class="ui checkbox">
						<label><strong>{{.i18n.Tr "admin.auths.skip_tls_verify"}}</strong></label>
						<input name="skip_verify" type="checkbox" {{if .skip_verify}}checked{{end}}>
					</div>
				</div>
				<div class="ldap inline field {{if not (eq .type 2)}}hide{{end}}">
					<div class="ui checkbox">
						<label><strong>{{.i18n.Tr "admin.auths.syncenabled"}}</strong></label>
						<input name="is_sync_enabled" type="checkbox" {{if .is_sync_enabled}}checked{{end}}>
					</div>
				</div>
				<div class="inline field">
					<div class="ui checkbox">
						<label><strong>{{.i18n.Tr "admin.auths.activated"}}</strong></label>
						<input name="is_active" type="checkbox" {{if .is_active}}checked{{end}}>
					</div>
				</div>

				<div class="field">
					<button class="ui green button">{{.i18n.Tr "admin.auths.new"}}</button>
				</div>
			</form>
		</div>

		<h4 class="ui top attached header">
			{{.i18n.Tr "admin.auths.tips"}}
		</h4>
		<div class="ui attached segment">
			<h5>GMail Settings:</h5>
			<p>Host: smtp.gmail.com, Port: 587, Enable TLS Encryption: true</p>

			<h5>{{.i18n.Tr "admin.auths.tips.oauth2.general"}}:</h5>
			<p>{{.i18n.Tr "admin.auths.tips.oauth2.general.tip"}}</p>

			<h5 class="ui top attached header">{{.i18n.Tr "admin.auths.tip.oauth2_provider"}}</h5>
			<div class="ui attached segment">
				<li>Bitbucket</li>
				<span>{{.i18n.Tr "admin.auths.tip.bitbucket"}}</span>
				<li>Dropbox</li>
				<span>{{.i18n.Tr "admin.auths.tip.dropbox"}}</span>
				<li>Facebook</li>
				<span>{{.i18n.Tr "admin.auths.tip.facebook"}}</span>
				<li>GitHub</li>
				<span>{{.i18n.Tr "admin.auths.tip.github"}}</span>
				<li>GitLab</li>
				<span>{{.i18n.Tr "admin.auths.tip.gitlab"}}</span>
				<li>Google</li>
				<span>{{.i18n.Tr "admin.auths.tip.google_plus"}}</span>
				<li>OpenID Connect</li>
				<span>{{.i18n.Tr "admin.auths.tip.openid_connect"}}</span>
				<li>Twitter</li>
				<span>{{.i18n.Tr "admin.auths.tip.twitter"}}</span>
				<li>Discord</li>
				<span>{{.i18n.Tr "admin.auths.tip.discord"}}</span>
				<li>Gitea</li>
				<span>{{.i18n.Tr "admin.auths.tip.gitea"}}</span>
				<li>Nextcloud</li>
				<span>{{.i18n.Tr "admin.auths.tip.nextcloud"}}</span>
				<li>Yandex</li>
				<span>{{.i18n.Tr "admin.auths.tip.yandex"}}</span>
				<li>Mastodon</li>
				<span>{{.i18n.Tr "admin.auths.tip.mastodon"}}</span>
			</div>
		</div>
	</div>
</div>
{{template "base/footer" .}}