Skip to content

Commit 857a458

Browse files
committed
Add a --fullname arg to gitea admin user create.
1 parent 21b43fc commit 857a458

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

cmd/admin_user_create.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ var microcmdUserCreate = &cli.Command{
8181
Name: "restricted",
8282
Usage: "Make a restricted user account",
8383
},
84+
&cli.StringFlag{
85+
Name: "fullname",
86+
Usage: `The full, human-readable name of the user`,
87+
},
8488
},
8589
}
8690

@@ -180,6 +184,11 @@ func runCreateUser(c *cli.Context) error {
180184
restricted = optional.Some(c.Bool("restricted"))
181185
}
182186

187+
var fullName string
188+
if c.IsSet("fullname") {
189+
fullName = c.String("fullname")
190+
}
191+
183192
// default user visibility in app.ini
184193
visibility := setting.Service.DefaultUserVisibilityMode
185194

@@ -191,6 +200,7 @@ func runCreateUser(c *cli.Context) error {
191200
Passwd: password,
192201
MustChangePassword: mustChangePassword,
193202
Visibility: visibility,
203+
FullName: fullName,
194204
}
195205

196206
overwriteDefault := &user_model.CreateUserOverwriteOptions{

cmd/admin_user_create_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,4 +117,31 @@ func TestAdminUserCreate(t *testing.T) {
117117
assert.Equal(t, 0, unittest.GetCount(t, &auth_model.AccessToken{}))
118118
assert.ErrorContains(t, err, "access token does not have any permission")
119119
})
120+
121+
createUserN := func(name string, args []string) error {
122+
cmd := []string{"./gitea", "admin", "user", "create", "--username", name, "--email", name + "@gitea.local"}
123+
cmd = append(cmd, args...)
124+
return app.Run(cmd)
125+
}
126+
t.Run("UserFields", func(t *testing.T) {
127+
reset()
128+
assert.NoError(t, createUserN("uA", []string{"--random-password", "--fullname", "First Last"}))
129+
u := unittest.AssertExistsAndLoadBean(t, &user_model.User{LowerName: "ua"})
130+
assert.Equal(t, "First Last", u.FullName)
131+
assert.Equal(t, "uA", u.Name)
132+
assert.Equal(t, "ua", u.LowerName)
133+
assert.Equal(t, "[email protected]", u.Email)
134+
135+
assert.NoError(t, createUserN("uB", []string{"--random-password", "--fullname", "First O'Last"}))
136+
u = unittest.AssertExistsAndLoadBean(t, &user_model.User{LowerName: "ub"})
137+
assert.Equal(t, "First O'Last", u.FullName)
138+
139+
assert.NoError(t, createUserN("uC", []string{"--random-password", "--fullname", "First Middle Last"}))
140+
u = unittest.AssertExistsAndLoadBean(t, &user_model.User{LowerName: "uc"})
141+
assert.Equal(t, "First Middle Last", u.FullName)
142+
143+
assert.NoError(t, createUserN("uD", []string{"--random-password", "--fullname", ""}))
144+
u = unittest.AssertExistsAndLoadBean(t, &user_model.User{LowerName: "ud"})
145+
assert.Empty(t, u.FullName)
146+
})
120147
}

0 commit comments

Comments
 (0)