|
|
|
@ -1049,13 +1049,14 @@ func viewSettings(app *App, u *User, w http.ResponseWriter, r *http.Request) err |
|
|
|
|
enableOauthSlack := app.Config().SlackOauth.ClientID != "" |
|
|
|
|
enableOauthWriteAs := app.Config().WriteAsOauth.ClientID != "" |
|
|
|
|
enableOauthGitLab := app.Config().GitlabOauth.ClientID != "" |
|
|
|
|
enableOauthGeneric := app.Config().GenericOauth.ClientID != "" |
|
|
|
|
|
|
|
|
|
oauthAccounts, err := app.db.GetOauthAccounts(r.Context(), u.ID) |
|
|
|
|
if err != nil { |
|
|
|
|
log.Error("Unable to get oauth accounts for settings: %s", err) |
|
|
|
|
return impart.HTTPError{http.StatusInternalServerError, "Unable to retrieve user data. The humans have been alerted."} |
|
|
|
|
} |
|
|
|
|
for _, oauthAccount := range oauthAccounts { |
|
|
|
|
for idx, oauthAccount := range oauthAccounts { |
|
|
|
|
switch oauthAccount.Provider { |
|
|
|
|
case "slack": |
|
|
|
|
enableOauthSlack = false |
|
|
|
@ -1063,10 +1064,14 @@ func viewSettings(app *App, u *User, w http.ResponseWriter, r *http.Request) err |
|
|
|
|
enableOauthWriteAs = false |
|
|
|
|
case "gitlab": |
|
|
|
|
enableOauthGitLab = false |
|
|
|
|
case "generic": |
|
|
|
|
oauthAccounts[idx].DisplayName = app.Config().GenericOauth.DisplayName |
|
|
|
|
oauthAccounts[idx].AllowLogout = app.Config().GenericOauth.AllowLogout |
|
|
|
|
enableOauthGeneric = false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
displayOauthSection := enableOauthSlack || enableOauthWriteAs || enableOauthGitLab || len(oauthAccounts) > 0 |
|
|
|
|
displayOauthSection := enableOauthSlack || enableOauthWriteAs || enableOauthGitLab || enableOauthGeneric || len(oauthAccounts) > 0 |
|
|
|
|
|
|
|
|
|
obj := struct { |
|
|
|
|
*UserPage |
|
|
|
@ -1080,6 +1085,8 @@ func viewSettings(app *App, u *User, w http.ResponseWriter, r *http.Request) err |
|
|
|
|
OauthWriteAs bool |
|
|
|
|
OauthGitLab bool |
|
|
|
|
GitLabDisplayName string |
|
|
|
|
OauthGeneric bool |
|
|
|
|
OauthGenericDisplayName string |
|
|
|
|
}{ |
|
|
|
|
UserPage: NewUserPage(app, r, u, "Account Settings", flashes), |
|
|
|
|
Email: fullUser.EmailClear(app.keys), |
|
|
|
@ -1092,6 +1099,8 @@ func viewSettings(app *App, u *User, w http.ResponseWriter, r *http.Request) err |
|
|
|
|
OauthWriteAs: enableOauthWriteAs, |
|
|
|
|
OauthGitLab: enableOauthGitLab, |
|
|
|
|
GitLabDisplayName: config.OrDefaultString(app.Config().GitlabOauth.DisplayName, gitlabDisplayName), |
|
|
|
|
OauthGeneric: enableOauthGeneric, |
|
|
|
|
OauthGenericDisplayName: config.OrDefaultString(app.Config().GenericOauth.DisplayName, genericOauthDisplayName), |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
showUserPage(w, "settings", obj) |
|
|
|
|