diff --git a/cmd/config.go b/cmd/config.go index d16bffde..54e06720 100644 --- a/cmd/config.go +++ b/cmd/config.go @@ -99,6 +99,9 @@ func printSettings(s *types.Settings, auther types.Auther) { fmt.Fprintf(w, "\tScope:\t%s\n", s.Defaults.Scope) fmt.Fprintf(w, "\tLocale:\t%s\n", s.Defaults.Locale) fmt.Fprintf(w, "\tView mode:\t%s\n", s.Defaults.ViewMode) + fmt.Fprintf(w, "\tSorting:\n") + fmt.Fprintf(w, "\t\tBy:\t%s\n", s.Defaults.Sorting.By) + fmt.Fprintf(w, "\t\tAsc:\t%t\n", s.Defaults.Sorting.Asc) fmt.Fprintf(w, "\tPermissions:\n") fmt.Fprintf(w, "\t\tAdmin:\t%t\n", s.Defaults.Perm.Admin) fmt.Fprintf(w, "\t\tExecute:\t%t\n", s.Defaults.Perm.Execute) diff --git a/cmd/users.go b/cmd/users.go index f5d67754..577b9467 100644 --- a/cmd/users.go +++ b/cmd/users.go @@ -73,6 +73,8 @@ func addUserFlags(cmd *cobra.Command) { cmd.Flags().Bool("perm.delete", true, "delete perm for users") cmd.Flags().Bool("perm.share", true, "share perm for users") cmd.Flags().Bool("perm.download", true, "download perm for users") + cmd.Flags().String("sorting.by", "name", "sorting mode (name, size or modified)") + cmd.Flags().Bool("sorting.asc", false, "sorting by ascending order") cmd.Flags().Bool("lockPassword", false, "lock password") cmd.Flags().String("scope", "", "scope for users") cmd.Flags().String("locale", "en", "locale for users") @@ -116,6 +118,10 @@ func getUserDefaults(cmd *cobra.Command, defaults *types.UserDefaults, all bool) commands, err := cmd.Flags().GetStringSlice("perm.commands") checkErr(err) defaults.Perm.Commands = commands + case "sorting.by": + defaults.Sorting.By = mustGetString(cmd, "sorting.by") + case "sorting.asc": + defaults.Sorting.Asc = mustGetBool(cmd, "sorting.asc") } } diff --git a/cmd/users_new.go b/cmd/users_new.go index 2a505bc9..f27b1346 100644 --- a/cmd/users_new.go +++ b/cmd/users_new.go @@ -43,6 +43,7 @@ var usersNewCmd = &cobra.Command{ Locale: settings.Defaults.Locale, ViewMode: settings.Defaults.ViewMode, Perm: settings.Defaults.Perm, + Sorting: settings.Defaults.Sorting, } err = ust.Save(user) diff --git a/cmd/users_update.go b/cmd/users_update.go index 9d716404..dcf1f1ee 100644 --- a/cmd/users_update.go +++ b/cmd/users_update.go @@ -20,7 +20,7 @@ var usersUpdateCmd = &cobra.Command{ Short: "Updates an existing user", Long: `Updates an existing user. Set the flags for the options you want to change.`, - Args: usernameOrIDRequired, + Args: usernameOrIDRequired, Run: func(cmd *cobra.Command, args []string) { db := getDB() defer db.Close() @@ -46,12 +46,14 @@ options you want to change.`, Locale: user.Locale, ViewMode: user.ViewMode, Perm: user.Perm, + Sorting: user.Sorting, } getUserDefaults(cmd, &defaults, false) user.Scope = defaults.Scope user.Locale = defaults.Locale user.ViewMode = defaults.ViewMode user.Perm = defaults.Perm + user.Sorting = defaults.Sorting user.LockPassword = mustGetBool(cmd, "lockPassword") if user.Username != username && username != "" { diff --git a/types/settings.go b/types/settings.go index 6e965546..a1eb0854 100644 --- a/types/settings.go +++ b/types/settings.go @@ -38,6 +38,6 @@ type UserDefaults struct { Scope string `json:"scope"` Locale string `json:"locale"` ViewMode ViewMode `json:"viewMode"` - Sorting Sorting `json:"sorting"` // TODO: add to cli + Sorting Sorting `json:"sorting"` Perm Permissions `json:"perm"` }