mirror of
https://github.com/mattermost/mattermost.git
synced 2025-02-25 18:55:24 -06:00
Mm 42465 (#19771)
* when plugins are disabled, still allow onboarding to complete
This commit is contained in:
@@ -914,4 +914,20 @@ func TestCompleteOnboarding(t *testing.T) {
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
t.Run("as a system admin when plugins are disabled", func(t *testing.T) {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.PluginSettings.Enable = false
|
||||
})
|
||||
|
||||
t.Cleanup(func() {
|
||||
th.App.UpdateConfig(func(cfg *model.Config) {
|
||||
*cfg.PluginSettings.Enable = true
|
||||
})
|
||||
})
|
||||
|
||||
resp, err := th.SystemAdminClient.CompleteOnboarding(req)
|
||||
require.NoError(t, err)
|
||||
CheckOKStatus(t, resp)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -14,10 +14,23 @@ import (
|
||||
"github.com/mattermost/mattermost-server/v6/store"
|
||||
)
|
||||
|
||||
func (a *App) markAdminOnboardingComplete(c *request.Context) *model.AppError {
|
||||
firstAdminCompleteSetupObj := model.System{
|
||||
Name: model.SystemFirstAdminSetupComplete,
|
||||
Value: "true",
|
||||
}
|
||||
|
||||
if err := a.Srv().Store.System().SaveOrUpdate(&firstAdminCompleteSetupObj); err != nil {
|
||||
return model.NewAppError("setFirstAdminCompleteSetup", "api.error_set_first_admin_complete_setup", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnboardingRequest) *model.AppError {
|
||||
pluginsEnvironment := a.Channels().GetPluginsEnvironment()
|
||||
if pluginsEnvironment == nil {
|
||||
return model.NewAppError("CompleteOnboarding", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
|
||||
return a.markAdminOnboardingComplete(c)
|
||||
}
|
||||
|
||||
pluginContext := pluginContext(c)
|
||||
@@ -55,16 +68,7 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo
|
||||
}(pluginID)
|
||||
}
|
||||
|
||||
firstAdminCompleteSetupObj := model.System{
|
||||
Name: model.SystemFirstAdminSetupComplete,
|
||||
Value: "true",
|
||||
}
|
||||
|
||||
if err := a.Srv().Store.System().SaveOrUpdate(&firstAdminCompleteSetupObj); err != nil {
|
||||
return model.NewAppError("setFirstAdminCompleteSetup", "api.error_set_first_admin_complete_setup", nil, err.Error(), http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
return nil
|
||||
return a.markAdminOnboardingComplete(c)
|
||||
}
|
||||
|
||||
func (a *App) GetOnboarding() (*model.System, *model.AppError) {
|
||||
|
||||
Reference in New Issue
Block a user