From 62898f4892b020b9bcf1b310830451f8bc57ba5a Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Wed, 2 May 2018 19:09:12 +0100 Subject: MM-10424: Migrate PostEditTimeLimit config setting. (#8702) --- app/app.go | 8 ++++++++ app/app_test.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/app/app.go b/app/app.go index b31f67d6b..2cdf333c1 100644 --- a/app/app.go +++ b/app/app.go @@ -560,6 +560,14 @@ func (a *App) DoAdvancedPermissionsMigration() { return } + config := a.Config() + if *config.ServiceSettings.AllowEditPost == model.ALLOW_EDIT_POST_ALWAYS { + *config.ServiceSettings.PostEditTimeLimit = -1 + if err := a.SaveConfig(config, true); err != nil { + mlog.Error("Failed to update config in Advanced Permissions Phase 1 Migration.", mlog.String("error", err.Error())) + } + } + system := model.System{ Name: ADVANCED_PERMISSIONS_MIGRATION_KEY, Value: "true", diff --git a/app/app_test.go b/app/app_test.go index ccf7faeeb..cb6917073 100644 --- a/app/app_test.go +++ b/app/app_test.go @@ -426,4 +426,32 @@ func TestDoAdvancedPermissionsMigration(t *testing.T) { assert.Nil(t, err) assert.Equal(t, permissions, role.Permissions) } + + // Check that the config setting for "always" and "time_limit" edit posts is updated correctly. + th.ResetRoleMigration() + + config := th.App.GetConfig() + *config.ServiceSettings.AllowEditPost = "always" + *config.ServiceSettings.PostEditTimeLimit = 300 + th.App.SaveConfig(config, false) + + th.App.DoAdvancedPermissionsMigration() + config = th.App.GetConfig() + assert.Equal(t, -1, *config.ServiceSettings.PostEditTimeLimit) + + th.ResetRoleMigration() + + config = th.App.GetConfig() + *config.ServiceSettings.AllowEditPost = "time_limit" + *config.ServiceSettings.PostEditTimeLimit = 300 + th.App.SaveConfig(config, false) + + th.App.DoAdvancedPermissionsMigration() + config = th.App.GetConfig() + assert.Equal(t, 300, *config.ServiceSettings.PostEditTimeLimit) + + config = th.App.GetConfig() + *config.ServiceSettings.AllowEditPost = "always" + *config.ServiceSettings.PostEditTimeLimit = 300 + th.App.SaveConfig(config, false) } -- cgit v1.2.3-1-g7c22