Mm 42465 (#19771)
* when plugins are disabled, still allow onboarding to complete
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
b5e78a0ce1
Коммит
3531432738
@@ -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"
|
"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 {
|
func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnboardingRequest) *model.AppError {
|
||||||
pluginsEnvironment := a.Channels().GetPluginsEnvironment()
|
pluginsEnvironment := a.Channels().GetPluginsEnvironment()
|
||||||
if pluginsEnvironment == nil {
|
if pluginsEnvironment == nil {
|
||||||
return model.NewAppError("CompleteOnboarding", "app.plugin.disabled.app_error", nil, "", http.StatusNotImplemented)
|
return a.markAdminOnboardingComplete(c)
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginContext := pluginContext(c)
|
pluginContext := pluginContext(c)
|
||||||
@@ -55,16 +68,7 @@ func (a *App) CompleteOnboarding(c *request.Context, request *model.CompleteOnbo
|
|||||||
}(pluginID)
|
}(pluginID)
|
||||||
}
|
}
|
||||||
|
|
||||||
firstAdminCompleteSetupObj := model.System{
|
return a.markAdminOnboardingComplete(c)
|
||||||
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) GetOnboarding() (*model.System, *model.AppError) {
|
func (a *App) GetOnboarding() (*model.System, *model.AppError) {
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user