Skip to content

Commit

Permalink
Fix add authentication page
Browse files Browse the repository at this point in the history
There is a regression in go-gitea#16199 whereby the add authentication page
fails to react to the change in selected type.

This is due to the String() method on the LoginSourceType which is ameliorated
with an Int() function being added.

Following on from this there are a few other related bugs.

Fix go-gitea#16541

Signed-off-by: Andrew Thornton <art27@cantab.net>
  • Loading branch information
zeripath committed Jul 24, 2021
1 parent d717c69 commit 44554d5
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 5 deletions.
9 changes: 9 additions & 0 deletions models/login_source.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,11 @@ func (typ LoginType) String() string {
return LoginNames[typ]
}

// String returns the string name of the LoginType
func (typ LoginType) Int() int {
return int(typ)
}

// LoginNames contains the name of LoginType values.
var LoginNames = map[LoginType]string{
LoginLDAP: "LDAP (via BindDN)",
Expand Down Expand Up @@ -218,6 +223,10 @@ func CreateLoginSource(source *LoginSource) error {
return nil
}

if settable, ok := source.Cfg.(LoginSourceSettable); ok {
settable.SetLoginSource(source)
}

registerableSource, ok := source.Cfg.(RegisterableSource)
if !ok {
return nil
Expand Down
5 changes: 5 additions & 0 deletions services/auth/source/ldap/security_protocol.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ func (s SecurityProtocol) String() string {
return SecurityProtocolNames[s]
}

// String returns the name of the SecurityProtocol
func (s SecurityProtocol) Int() int {
return int(s)
}

// SecurityProtocolNames contains the name of SecurityProtocol values.
var SecurityProtocolNames = map[SecurityProtocol]string{
SecurityProtocolUnencrypted: "Unencrypted",
Expand Down
4 changes: 2 additions & 2 deletions templates/admin/auth/edit.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<input type="hidden" name="id" value="{{.Source.ID}}">
<div class="inline field">
<label>{{$.i18n.Tr "admin.auths.auth_type"}}</label>
<input type="hidden" id="auth_type" name="type" value="{{.Source.Type}}">
<input type="hidden" id="auth_type" name="type" value="{{.Source.Type.Int}}">
<span>{{.Source.TypeName}}</span>
</div>
<div class="required inline field {{if .Err_Name}}error{{end}}">
Expand All @@ -31,7 +31,7 @@
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
<div class="menu">
{{range .SecurityProtocols}}
<div class="item" data-value="{{.Type}}">{{.Name}}</div>
<div class="item" data-value="{{.Type.Int}}">{{.Name}}</div>
{{end}}
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions templates/admin/auth/new.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@
<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}}">
<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}}">{{.Name}}</div>
<div class="item" data-value="{{.Type.Int}}">{{.Name}}</div>
{{end}}
</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion templates/admin/auth/source/ldap.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
{{svg "octicon-triangle-down" 14 "dropdown icon"}}
<div class="menu">
{{range .SecurityProtocols}}
<div class="item" data-value="{{.Type}}">{{.Name}}</div>
<div class="item" data-value="{{.Type.Int}}">{{.Name}}</div>
{{end}}
</div>
</div>
Expand Down

0 comments on commit 44554d5

Please sign in to comment.