summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Goldberg <george@gberg.me>2018-05-02 19:09:12 +0100
committerDerrick Anderson <derrick@andersonwebstudio.com>2018-05-02 14:09:11 -0400
commit62898f4892b020b9bcf1b310830451f8bc57ba5a (patch)
treea6e75819ed4241817fb1bd857b9ad6bfb81950fd
parentd6537deb3ddace25b693932ae503b4fbdbe02935 (diff)
downloadchat-62898f4892b020b9bcf1b310830451f8bc57ba5a.tar.gz
chat-62898f4892b020b9bcf1b310830451f8bc57ba5a.tar.bz2
chat-62898f4892b020b9bcf1b310830451f8bc57ba5a.zip
MM-10424: Migrate PostEditTimeLimit config setting. (#8702)
-rw-r--r--app/app.go8
-rw-r--r--app/app_test.go28
2 files changed, 36 insertions, 0 deletions
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)
}