From 74e703f58daff2aded07a969410f988cff9ada9b Mon Sep 17 00:00:00 2001 From: Chris Duarte Date: Thu, 22 Mar 2018 06:53:43 -0700 Subject: Timezone feature (#8185) * Add supported timezones into config Remove Timezone list creation in favor of timezone from configs Add Timezone field to Users table Clean up format of SupportedTimezones in config * Remove unwanted change * Add test for updating user timezone * Add empty map[string]string if Timezone is null * Add EnableTimezoneSelection config * Revert back to map[string]string for ClientConfig * Refactor SupportedTimezones into timezones.json * Include timezones.json in TestConfigFlag * Add timezone api endpoint * Bump varchar size to 256 and setMaxSize in user_store * Refactor LoadConfig to LoadConfig and LoadTimezoneConfig * Remove unnecessary argument in LoadConfig, mail_test * Add test for timezone endpoint * Add license header * Refactor timezones endpoint to system.go * Add system base route to timezone endpoint * db timezone upgrade in db v4.9 * Avoid saving SupportedTimezones to config.json * Add timezonePath support in config * Remove EnableTimezoneSelection from config * Use return statement without return parameter * Refactor test for SupportedTimezones * Check for supportedTimezone != nil instead of using len * Decouple SupportedTimezones out of Config * Fix failing test * Add LastTeamIconUpdate back in upgrade.go * Write timezone config in config_flag_test * Add code fallback for default timezone support --- cmd/commands/config_flag_test.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'cmd') diff --git a/cmd/commands/config_flag_test.go b/cmd/commands/config_flag_test.go index 8d284ab73..7ea0d5153 100644 --- a/cmd/commands/config_flag_test.go +++ b/cmd/commands/config_flag_test.go @@ -11,6 +11,7 @@ import ( "github.com/stretchr/testify/require" + "encoding/json" "github.com/mattermost/mattermost-server/cmd" "github.com/mattermost/mattermost-server/utils" ) @@ -26,6 +27,11 @@ func TestConfigFlag(t *testing.T) { configPath := filepath.Join(dir, "foo.json") require.NoError(t, ioutil.WriteFile(configPath, []byte(config.ToJson()), 0600)) + timezones := utils.LoadTimezones("timezones.json") + tzConfigPath := filepath.Join(dir, "timezones.json") + timezoneData, _ := json.Marshal(timezones) + require.NoError(t, ioutil.WriteFile(tzConfigPath, timezoneData, 0600)) + i18n, ok := utils.FindDir("i18n") require.True(t, ok) require.NoError(t, utils.CopyDir(i18n, filepath.Join(dir, "i18n"))) -- cgit v1.2.3-1-g7c22 From 87762ae62eb887dfb3fd0957040919aede46f7d4 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Thu, 22 Mar 2018 15:33:02 -0400 Subject: Improved bulkload error handling (#8491) * log the config file path used by the server on startup * return an err if the bulk import command fails * log the underlying errors that occur when importing The code assumed all errors meant a missing resource, but it's possible something else is at fault. Including the error helps pinpoint that more readily. --- cmd/commands/import.go | 1 + 1 file changed, 1 insertion(+) (limited to 'cmd') diff --git a/cmd/commands/import.go b/cmd/commands/import.go index 4058d175a..c572ec53a 100644 --- a/cmd/commands/import.go +++ b/cmd/commands/import.go @@ -130,6 +130,7 @@ func bulkImportCmdF(command *cobra.Command, args []string) error { if lineNumber != 0 { cmd.CommandPrettyPrintln(fmt.Sprintf("Error occurred on data file line %v", lineNumber)) } + return err } else { if apply { cmd.CommandPrettyPrintln("Finished Bulk Import.") -- cgit v1.2.3-1-g7c22