fix: use server options from DB too (#616)

License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: bb60ec81f56f5d761ef76b2c1e26bbe83210f434 [formerly b28f83c65e0934e138a1710549f52e0f66a158e0] [formerly 7138a3215ceb144afa0ea45be2315f30b052109f [formerly 72069207c6bb0664c7b270096f6916cce76ebeb1]]
Former-commit-id: 0fb7ae6353f786edd93a9166141bfa446dd3dbf9 [formerly 5cb07e8c96a7cfca1aec5843123e1abc4ca8578a]
Former-commit-id: 914c0348516f072a9ccce4e105327feaaddb4cc0
This commit is contained in:
Henrique Dias
2019-01-08 14:07:55 +00:00
committed by GitHub
parent 66d485f639
commit 870b5b4079
19 changed files with 270 additions and 179 deletions

View File

@@ -76,53 +76,53 @@ func addUserFlags(flags *pflag.FlagSet) {
flags.String("viewMode", string(users.ListViewMode), "view mode for users")
}
func getViewMode(cmd *cobra.Command) users.ViewMode {
viewMode := users.ViewMode(mustGetString(cmd, "viewMode"))
func getViewMode(flags *pflag.FlagSet) users.ViewMode {
viewMode := users.ViewMode(mustGetString(flags, "viewMode"))
if viewMode != users.ListViewMode && viewMode != users.MosaicViewMode {
checkErr(errors.New("view mode must be \"" + string(users.ListViewMode) + "\" or \"" + string(users.MosaicViewMode) + "\""))
}
return viewMode
}
func getUserDefaults(cmd *cobra.Command, defaults *settings.UserDefaults, all bool) {
func getUserDefaults(flags *pflag.FlagSet, defaults *settings.UserDefaults, all bool) {
visit := func(flag *pflag.Flag) {
switch flag.Name {
case "scope":
defaults.Scope = mustGetString(cmd, flag.Name)
defaults.Scope = mustGetString(flags, flag.Name)
case "locale":
defaults.Locale = mustGetString(cmd, flag.Name)
defaults.Locale = mustGetString(flags, flag.Name)
case "viewMode":
defaults.ViewMode = getViewMode(cmd)
defaults.ViewMode = getViewMode(flags)
case "perm.admin":
defaults.Perm.Admin = mustGetBool(cmd, flag.Name)
defaults.Perm.Admin = mustGetBool(flags, flag.Name)
case "perm.execute":
defaults.Perm.Execute = mustGetBool(cmd, flag.Name)
defaults.Perm.Execute = mustGetBool(flags, flag.Name)
case "perm.create":
defaults.Perm.Create = mustGetBool(cmd, flag.Name)
defaults.Perm.Create = mustGetBool(flags, flag.Name)
case "perm.rename":
defaults.Perm.Rename = mustGetBool(cmd, flag.Name)
defaults.Perm.Rename = mustGetBool(flags, flag.Name)
case "perm.modify":
defaults.Perm.Modify = mustGetBool(cmd, flag.Name)
defaults.Perm.Modify = mustGetBool(flags, flag.Name)
case "perm.delete":
defaults.Perm.Delete = mustGetBool(cmd, flag.Name)
defaults.Perm.Delete = mustGetBool(flags, flag.Name)
case "perm.share":
defaults.Perm.Share = mustGetBool(cmd, flag.Name)
defaults.Perm.Share = mustGetBool(flags, flag.Name)
case "perm.download":
defaults.Perm.Download = mustGetBool(cmd, flag.Name)
defaults.Perm.Download = mustGetBool(flags, flag.Name)
case "commands":
commands, err := cmd.Flags().GetStringSlice(flag.Name)
commands, err := flags.GetStringSlice(flag.Name)
checkErr(err)
defaults.Commands = commands
case "sorting.by":
defaults.Sorting.By = mustGetString(cmd, flag.Name)
defaults.Sorting.By = mustGetString(flags, flag.Name)
case "sorting.asc":
defaults.Sorting.Asc = mustGetBool(cmd, flag.Name)
defaults.Sorting.Asc = mustGetBool(flags, flag.Name)
}
}
if all {
cmd.Flags().VisitAll(visit)
flags.VisitAll(visit)
} else {
cmd.Flags().Visit(visit)
flags.Visit(visit)
}
}