|
29 | 29 | </div> |
30 | 30 |
|
31 | 31 | <!-- LDAP and DLDAP --> |
32 | | - <div class="ldap dldap field {{if not (or (eq .type 2) (eq .type 5))}}hide{{end}}"> |
33 | | - <div class="inline required field {{if .Err_SecurityProtocol}}error{{end}}"> |
34 | | - <label>{{.i18n.Tr "admin.auths.security_protocol"}}</label> |
35 | | - <div class="ui selection security-protocol dropdown"> |
36 | | - <input type="hidden" id="security_protocol" name="security_protocol" value="{{.security_protocol}}"> |
37 | | - <div class="text">{{.CurrentSecurityProtocol}}</div> |
38 | | - <i class="dropdown icon"></i> |
39 | | - <div class="menu"> |
40 | | - {{range .SecurityProtocols}} |
41 | | - <div class="item" data-value="{{.Type}}">{{.Name}}</div> |
42 | | - {{end}} |
43 | | - </div> |
44 | | - </div> |
45 | | - </div> |
46 | | - <div class="required field"> |
47 | | - <label for="host">{{.i18n.Tr "admin.auths.host"}}</label> |
48 | | - <input id="host" name="host" value="{{.host}}" placeholder="e.g. mydomain.com"> |
49 | | - </div> |
50 | | - <div class="required field"> |
51 | | - <label for="port">{{.i18n.Tr "admin.auths.port"}}</label> |
52 | | - <input id="port" name="port" value="{{.port}}" placeholder="e.g. 636"> |
53 | | - </div> |
54 | | - <div class="ldap field {{if not (eq .type 2)}}hide{{end}}"> |
55 | | - <label for="bind_dn">{{.i18n.Tr "admin.auths.bind_dn"}}</label> |
56 | | - <input id="bind_dn" name="bind_dn" value="{{.bind_dn}}" placeholder="e.g. cn=Search,dc=mydomain,dc=com"> |
57 | | - </div> |
58 | | - <input class="fake" type="password"> |
59 | | - <div class="ldap field {{if not (eq .type 2)}}hide{{end}}"> |
60 | | - <label for="bind_password">{{.i18n.Tr "admin.auths.bind_password"}}</label> |
61 | | - <input id="bind_password" name="bind_password" type="password" value="{{.bind_password}}"> |
62 | | - <p class="help text red">{{.i18n.Tr "admin.auths.bind_password_helper"}}</p> |
63 | | - </div> |
64 | | - <div class="ldap required field {{if not (eq .type 2)}}hide{{end}}"> |
65 | | - <label for="user_base">{{.i18n.Tr "admin.auths.user_base"}}</label> |
66 | | - <input id="user_base" name="user_base" value="{{.user_base}}" placeholder="e.g. ou=Users,dc=mydomain,dc=com"> |
67 | | - </div> |
68 | | - <div class="dldap required field {{if not (eq .type 5)}}hide{{end}}"> |
69 | | - <label for="user_dn">{{.i18n.Tr "admin.auths.user_dn"}}</label> |
70 | | - <input id="user_dn" name="user_dn" value="{{.user_dn}}" placeholder="e.g. uid=%s,ou=Users,dc=mydomain,dc=com"> |
71 | | - </div> |
72 | | - <div class="required field"> |
73 | | - <label for="filter">{{.i18n.Tr "admin.auths.filter"}}</label> |
74 | | - <input id="filter" name="filter" value="{{.filter}}" placeholder="e.g. (&(objectClass=posixAccount)(uid=%s))"> |
75 | | - </div> |
76 | | - <div class="field"> |
77 | | - <label for="admin_filter">{{.i18n.Tr "admin.auths.admin_filter"}}</label> |
78 | | - <input id="admin_filter" name="admin_filter" value="{{.admin_filter}}"> |
79 | | - </div> |
80 | | - <div class="field"> |
81 | | - <label for="attribute_username">{{.i18n.Tr "admin.auths.attribute_username"}}</label> |
82 | | - <input id="attribute_username" name="attribute_username" value="{{.attribute_username}}" placeholder="{{.i18n.Tr "admin.auths.attribute_username_placeholder"}}"> |
83 | | - </div> |
84 | | - <div class="field"> |
85 | | - <label for="attribute_name">{{.i18n.Tr "admin.auths.attribute_name"}}</label> |
86 | | - <input id="attribute_name" name="attribute_name" value="{{.attribute_name}}"> |
87 | | - </div> |
88 | | - <div class="field"> |
89 | | - <label for="attribute_surname">{{.i18n.Tr "admin.auths.attribute_surname"}}</label> |
90 | | - <input id="attribute_surname" name="attribute_surname" value="{{.attribute_surname}}"> |
91 | | - </div> |
92 | | - <div class="required field"> |
93 | | - <label for="attribute_mail">{{.i18n.Tr "admin.auths.attribute_mail"}}</label> |
94 | | - <input id="attribute_mail" name="attribute_mail" value="{{.attribute_mail}}" placeholder="e.g. mail"> |
95 | | - </div> |
96 | | - </div> |
| 32 | + {{ template "admin/auth/source/ldap" . }} |
97 | 33 |
|
98 | 34 | <!-- SMTP --> |
99 | | - <div class="smtp field {{if not (eq .type 3)}}hide{{end}}"> |
100 | | - <div class="inline required field"> |
101 | | - <label>{{.i18n.Tr "admin.auths.smtp_auth"}}</label> |
102 | | - <div class="ui selection type dropdown"> |
103 | | - <input type="hidden" id="smtp_auth" name="smtp_auth" value="{{.smtp_auth}}"> |
104 | | - <div class="text">{{.smtp_auth}}</div> |
105 | | - <i class="dropdown icon"></i> |
106 | | - <div class="menu"> |
107 | | - {{range .SMTPAuths}} |
108 | | - <div class="item" data-value="{{.}}">{{.}}</div> |
109 | | - {{end}} |
110 | | - </div> |
111 | | - </div> |
112 | | - </div> |
113 | | - <div class="required field"> |
114 | | - <label for="smtp_host">{{.i18n.Tr "admin.auths.smtphost"}}</label> |
115 | | - <input id="smtp_host" name="smtp_host" value="{{.smtp_host}}"> |
116 | | - </div> |
117 | | - <div class="required field"> |
118 | | - <label for="smtp_port">{{.i18n.Tr "admin.auths.smtpport"}}</label> |
119 | | - <input id="smtp_port" name="smtp_port" value="{{.smtp_port}}"> |
120 | | - </div> |
121 | | - <div class="field"> |
122 | | - <label for="allowed_domains">{{.i18n.Tr "admin.auths.allowed_domains"}}</label> |
123 | | - <input id="allowed_domains" name="allowed_domains" value="{{.allowed_domains}}"> |
124 | | - <p class="help">{{.i18n.Tr "admin.auths.allowed_domains_helper"}}</p> |
125 | | - </div> |
126 | | - </div> |
| 35 | + {{ template "admin/auth/source/smtp" . }} |
127 | 36 |
|
128 | 37 | <!-- PAM --> |
129 | 38 | <div class="pam required field {{if not (eq .type 4)}}hide{{end}}"> |
|
132 | 41 | </div> |
133 | 42 |
|
134 | 43 | <!-- OAuth2 --> |
135 | | - <div class="oauth2 field {{if not (eq .type 6)}}hide{{end}}"> |
136 | | - <div class="inline required field"> |
137 | | - <label>{{.i18n.Tr "admin.auths.oauth2_provider"}}</label> |
138 | | - <div class="ui selection type dropdown"> |
139 | | - <input type="hidden" id="oauth2_provider" name="oauth2_provider" value="{{.oauth2_provider}}"> |
140 | | - <div class="text">{{.oauth2_provider}}</div> |
141 | | - <i class="dropdown icon"></i> |
142 | | - <div class="menu"> |
143 | | - {{range $key, $value := .OAuth2Providers}} |
144 | | - <div class="item" data-value="{{$key}}">{{$value.DisplayName}}</div> |
145 | | - {{end}} |
146 | | - </div> |
147 | | - </div> |
148 | | - </div> |
149 | | - <div class="required field"> |
150 | | - <label for="oauth2_key">{{.i18n.Tr "admin.auths.oauth2_clientID"}}</label> |
151 | | - <input id="oauth2_key" name="oauth2_key" value="{{.oauth2_key}}"> |
152 | | - </div> |
153 | | - <div class="required field"> |
154 | | - <label for="oauth2_secret">{{.i18n.Tr "admin.auths.oauth2_clientSecret"}}</label> |
155 | | - <input id="oauth2_secret" name="oauth2_secret" value="{{.oauth2_secret}}"> |
156 | | - </div> |
157 | | - </div> |
| 44 | + {{ template "admin/auth/source/oauth" . }} |
158 | 45 |
|
159 | 46 | <div class="ldap field"> |
160 | 47 | <div class="ui checkbox"> |
|
0 commit comments