]> source.dussan.org Git - gitea.git/commitdiff
Add `must-change-password` cli parameter (#27626)
authorKN4CK3R <admin@oldschoolhack.me>
Sat, 3 Feb 2024 17:53:27 +0000 (18:53 +0100)
committerGitHub <noreply@github.com>
Sat, 3 Feb 2024 17:53:27 +0000 (19:53 +0200)
This PR adds a new `must-change-password` parameter to the
`change-password` cli command.
We already have the `must-change-password` command but it feels natural
to have this integrated into the `change-password` cli command.

---------

Co-authored-by: 6543 <6543@obermui.de>
cmd/admin_user_change_password.go
docs/content/administration/command-line.en-us.md

index eebbfb3b6710d62fa07cb04473d3294a987f5ce9..22764318fdbb38eb1afec26f0ba4956f677415ca 100644 (file)
@@ -32,6 +32,10 @@ var microcmdUserChangePassword = &cli.Command{
                        Value:   "",
                        Usage:   "New password to set for user",
                },
+               &cli.BoolFlag{
+                       Name:  "must-change-password",
+                       Usage: "User must change password",
+               },
        },
 }
 
@@ -69,7 +73,11 @@ func runChangePassword(c *cli.Context) error {
                return err
        }
 
-       if err = user_model.UpdateUserCols(ctx, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
+       if c.IsSet("must-change-password") {
+               user.MustChangePassword = c.Bool("must-change-password")
+       }
+
+       if err = user_model.UpdateUserCols(ctx, user, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
                return err
        }
 
index a52b93d344cd01d5afbaeb93d5959203ef71ef80..5049df35e050479d3d83e6bf560422ef56c0b5ca 100644 (file)
@@ -95,6 +95,7 @@ Admin operations:
       - Options:
         - `--username value`, `-u value`: Username. Required.
         - `--password value`, `-p value`: New password. Required.
+        - `--must-change-password`: If provided, the user is required to choose a new password after the login. Optional.
       - Examples:
         - `gitea admin user change-password --username myname --password asecurepassword`
     - `must-change-password`: