Skip to content

Commit cda4a8a

Browse files
committed
Separate function for forced update added
Fixes: f92d339 Related: #18466 (comment) Author-Change-Id: IB#1105051
1 parent b3c084c commit cda4a8a

File tree

15 files changed

+34
-29
lines changed

15 files changed

+34
-29
lines changed

cmd/admin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ func runChangePassword(c *cli.Context) error {
471471
return err
472472
}
473473

474-
if err = user_model.UpdateUserCols(db.DefaultContext, user, false, "passwd", "passwd_hash_algo", "salt"); err != nil {
474+
if err = user_model.UpdateUserCols(db.DefaultContext, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
475475
return err
476476
}
477477

models/repo.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ func CreateRepository(ctx context.Context, doer, u *user_model.User, repo *repo_
508508

509509
// Remember visibility preference.
510510
u.LastRepoVisibility = repo.IsPrivate
511-
if err = user_model.UpdateUserColsEngine(db.GetEngine(ctx), u, false, "last_repo_visibility"); err != nil {
511+
if err = user_model.UpdateUserColsEngine(db.GetEngine(ctx), u, "last_repo_visibility"); err != nil {
512512
return fmt.Errorf("updateUser: %v", err)
513513
}
514514

models/user/email_address.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,7 @@ func updateActivation(e db.Engine, email *EmailAddress, activate bool) error {
303303
if _, err := e.ID(email.ID).Cols("is_activated").Update(email); err != nil {
304304
return err
305305
}
306-
return UpdateUserColsEngine(e, user, false, "rands")
306+
return UpdateUserColsEngine(e, user, "rands")
307307
}
308308

309309
// MakeEmailPrimary sets primary email address of given user.
@@ -513,7 +513,7 @@ func ActivateUserEmail(userID int64, email string, activate bool) (err error) {
513513
if user.Rands, err = GetUserSalt(); err != nil {
514514
return fmt.Errorf("unable to generate salt: %v", err)
515515
}
516-
if err = UpdateUserColsEngine(sess, &user, false, "is_active", "rands"); err != nil {
516+
if err = UpdateUserColsEngine(sess, &user, "is_active", "rands"); err != nil {
517517
return fmt.Errorf("unable to updateUserCols() for user ID: %d: %v", userID, err)
518518
}
519519
}

models/user/user.go

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -206,13 +206,13 @@ func (u *User) SetLastLogin() {
206206
// UpdateUserDiffViewStyle updates the users diff view style
207207
func UpdateUserDiffViewStyle(u *User, style string) error {
208208
u.DiffViewStyle = style
209-
return UpdateUserCols(db.DefaultContext, u, false, "diff_view_style")
209+
return UpdateUserCols(db.DefaultContext, u, "diff_view_style")
210210
}
211211

212212
// UpdateUserTheme updates a users' theme irrespective of the site wide theme
213213
func UpdateUserTheme(u *User, themeName string) error {
214214
u.Theme = themeName
215-
return UpdateUserCols(db.DefaultContext, u, false, "theme")
215+
return UpdateUserCols(db.DefaultContext, u, "theme")
216216
}
217217

218218
// GetEmail returns an noreply email, if the user has set to keep his
@@ -502,7 +502,7 @@ func (u *User) EmailNotifications() string {
502502
// SetEmailNotifications sets the user's email notification preference
503503
func SetEmailNotifications(u *User, set string) error {
504504
u.EmailNotificationsPreference = set
505-
if err := UpdateUserCols(db.DefaultContext, u, false, "email_notifications_preference"); err != nil {
505+
if err := UpdateUserCols(db.DefaultContext, u, "email_notifications_preference"); err != nil {
506506
log.Error("SetEmailNotifications: %v", err)
507507
return err
508508
}
@@ -908,13 +908,18 @@ func UpdateUser(u *User, emailChanged bool) error {
908908
}
909909

910910
// UpdateUserCols update user according special columns
911-
func UpdateUserCols(ctx context.Context, u *User, force bool, cols ...string) error {
912-
return updateUserCols(db.GetEngine(ctx), u, force, cols...)
911+
func UpdateUserCols(ctx context.Context, u *User, cols ...string) error {
912+
return updateUserCols(db.GetEngine(ctx), u, false, cols...)
913+
}
914+
915+
// UpdateForceUserCols force update user according special columns.
916+
func UpdateForceUserCols(ctx context.Context, u *User, cols ...string) error {
917+
return updateUserCols(db.GetEngine(ctx), u, true, cols...)
913918
}
914919

915920
// UpdateUserColsEngine update user according special columns
916-
func UpdateUserColsEngine(e db.Engine, u *User, force bool, cols ...string) error {
917-
return updateUserCols(e, u, force, cols...)
921+
func UpdateUserColsEngine(e db.Engine, u *User, cols ...string) error {
922+
return updateUserCols(e, u, false, cols...)
918923
}
919924

920925
func updateUserCols(e db.Engine, u *User, force bool, cols ...string) error {

routers/api/v1/org/org.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ func Edit(ctx *context.APIContext) {
346346
if form.RepoAdminChangeTeamAccess != nil {
347347
org.RepoAdminChangeTeamAccess = *form.RepoAdminChangeTeamAccess
348348
}
349-
if err := user_model.UpdateUserCols(db.DefaultContext, org.AsUser(), false,
349+
if err := user_model.UpdateUserCols(db.DefaultContext, org.AsUser(),
350350
"full_name", "description", "website", "location",
351351
"visibility", "repo_admin_change_team_access",
352352
); err != nil {

routers/web/auth/auth.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ func resetLocale(ctx *context.Context, u *user_model.User) error {
107107
// If the user does not have a locale set, we save the current one.
108108
if len(u.Language) == 0 {
109109
u.Language = ctx.Locale.Language()
110-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "language"); err != nil {
110+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
111111
return err
112112
}
113113
}
@@ -333,7 +333,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember bool, o
333333
// If the user does not have a locale set, we save the current one.
334334
if len(u.Language) == 0 {
335335
u.Language = ctx.Locale.Language()
336-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "language"); err != nil {
336+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "language"); err != nil {
337337
ctx.ServerError("UpdateUserCols Language", fmt.Errorf("Error updating user language [user: %d, locale: %s]", u.ID, u.Language))
338338
return setting.AppSubURL + "/"
339339
}
@@ -350,7 +350,7 @@ func handleSignInFull(ctx *context.Context, u *user_model.User, remember bool, o
350350

351351
// Register last login
352352
u.SetLastLogin()
353-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "last_login_unix"); err != nil {
353+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "last_login_unix"); err != nil {
354354
ctx.ServerError("UpdateUserCols", err)
355355
return setting.AppSubURL + "/"
356356
}
@@ -603,7 +603,7 @@ func handleUserCreated(ctx *context.Context, u *user_model.User, gothUser *goth.
603603
u.IsAdmin = true
604604
u.IsActive = true
605605
u.SetLastLogin()
606-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "is_admin", "is_active", "last_login_unix"); err != nil {
606+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_active", "last_login_unix"); err != nil {
607607
ctx.ServerError("UpdateUser", err)
608608
return
609609
}
@@ -724,7 +724,7 @@ func handleAccountActivation(ctx *context.Context, user *user_model.User) {
724724
ctx.ServerError("UpdateUser", err)
725725
return
726726
}
727-
if err := user_model.UpdateUserCols(db.DefaultContext, user, false, "is_active", "rands"); err != nil {
727+
if err := user_model.UpdateUserCols(db.DefaultContext, user, "is_active", "rands"); err != nil {
728728
if user_model.IsErrUserNotExist(err) {
729729
ctx.NotFound("UpdateUserCols", err)
730730
} else {

routers/web/auth/oauth.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
10211021
cols = append(cols, "is_admin", "is_restricted")
10221022
}
10231023

1024-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, cols...); err != nil {
1024+
if err := user_model.UpdateUserCols(db.DefaultContext, u, cols...); err != nil {
10251025
ctx.ServerError("UpdateUserCols", err)
10261026
return
10271027
}
@@ -1048,7 +1048,7 @@ func handleOAuth2SignIn(ctx *context.Context, source *auth.Source, u *user_model
10481048

10491049
changed := setUserGroupClaims(source, u, &gothUser)
10501050
if changed {
1051-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "is_admin", "is_restricted"); err != nil {
1051+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "is_admin", "is_restricted"); err != nil {
10521052
ctx.ServerError("UpdateUserCols", err)
10531053
return
10541054
}

routers/web/auth/password.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ func ResetPasswdPost(ctx *context.Context) {
232232
return
233233
}
234234
u.MustChangePassword = false
235-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
235+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "rands", "salt"); err != nil {
236236
ctx.ServerError("UpdateUser", err)
237237
return
238238
}
@@ -327,7 +327,7 @@ func MustChangePasswordPost(ctx *context.Context) {
327327

328328
u.MustChangePassword = false
329329

330-
if err := user_model.UpdateUserCols(db.DefaultContext, u, false, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
330+
if err := user_model.UpdateUserCols(db.DefaultContext, u, "must_change_password", "passwd", "passwd_hash_algo", "salt"); err != nil {
331331
ctx.ServerError("UpdateUser", err)
332332
return
333333
}

routers/web/user/setting/account.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func AccountPost(ctx *context.Context) {
7676
ctx.ServerError("UpdateUser", err)
7777
return
7878
}
79-
if err := user_model.UpdateUserCols(db.DefaultContext, ctx.User, false, "salt", "passwd_hash_algo", "passwd"); err != nil {
79+
if err := user_model.UpdateUserCols(db.DefaultContext, ctx.User, "salt", "passwd_hash_algo", "passwd"); err != nil {
8080
ctx.ServerError("UpdateUser", err)
8181
return
8282
}

routers/web/user/setting/profile.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ func UpdateAvatarSetting(ctx *context.Context, form *forms.AvatarForm, ctxUser *
187187
}
188188
}
189189

190-
if err := user_model.UpdateUserCols(db.DefaultContext, ctxUser, false, "avatar", "avatar_email", "use_custom_avatar"); err != nil {
190+
if err := user_model.UpdateUserCols(db.DefaultContext, ctxUser, "avatar", "avatar_email", "use_custom_avatar"); err != nil {
191191
return fmt.Errorf("UpdateUser: %v", err)
192192
}
193193

services/auth/auth.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ func handleSignIn(resp http.ResponseWriter, req *http.Request, sess SessionStore
140140
if len(user.Language) == 0 {
141141
lc := middleware.Locale(resp, req)
142142
user.Language = lc.Language()
143-
if err := user_model.UpdateUserCols(db.DefaultContext, user, false, "language"); err != nil {
143+
if err := user_model.UpdateUserCols(db.DefaultContext, user, "language"); err != nil {
144144
log.Error(fmt.Sprintf("Error updating user language [user: %d, locale: %s]", user.ID, user.Language))
145145
return
146146
}

services/auth/source/db/authenticate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func Authenticate(user *user_model.User, login, password string) (*user_model.Us
2727
if err := user.SetPassword(password); err != nil {
2828
return nil, err
2929
}
30-
if err := user_model.UpdateUserCols(db.DefaultContext, user, false, "passwd", "passwd_hash_algo", "salt"); err != nil {
30+
if err := user_model.UpdateUserCols(db.DefaultContext, user, "passwd", "passwd_hash_algo", "salt"); err != nil {
3131
return nil, err
3232
}
3333
}

services/auth/source/ldap/source_authenticate.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (source *Source) Authenticate(user *user_model.User, userName, password str
5050
cols = append(cols, "is_restricted")
5151
}
5252
if len(cols) > 0 {
53-
err = user_model.UpdateUserCols(db.DefaultContext, user, false, cols...)
53+
err = user_model.UpdateUserCols(db.DefaultContext, user, cols...)
5454
if err != nil {
5555
return nil, err
5656
}

services/auth/source/ldap/source_sync.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error {
154154
}
155155
usr.IsActive = true
156156

157-
err = user_model.UpdateUserCols(db.DefaultContext, usr, true, "full_name", "email", "is_admin", "is_restricted", "is_active")
157+
err = user_model.UpdateForceUserCols(db.DefaultContext, usr, "full_name", "email", "is_admin", "is_restricted", "is_active")
158158
if err != nil {
159159
log.Error("SyncExternalUsers[%s]: Error updating user %s: %v", source.authSource.Name, usr.Name, err)
160160
}
@@ -195,7 +195,7 @@ func (source *Source) Sync(ctx context.Context, updateExisting bool) error {
195195
log.Trace("SyncExternalUsers[%s]: Deactivating user %s", source.authSource.Name, usr.Name)
196196

197197
usr.IsActive = false
198-
err = user_model.UpdateUserCols(db.DefaultContext, usr, true, "is_active")
198+
err = user_model.UpdateForceUserCols(db.DefaultContext, usr, "is_active")
199199
if err != nil {
200200
log.Error("SyncExternalUsers[%s]: Error deactivating user %s: %v", source.authSource.Name, usr.Name, err)
201201
}

services/user/user.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func UploadAvatar(u *user_model.User, data []byte) error {
139139
// Otherwise, if any of the users delete his avatar
140140
// Other users will lose their avatars too.
141141
u.Avatar = fmt.Sprintf("%x", md5.Sum([]byte(fmt.Sprintf("%d-%x", u.ID, md5.Sum(data)))))
142-
if err = user_model.UpdateUserCols(ctx, u, false, "use_custom_avatar", "avatar"); err != nil {
142+
if err = user_model.UpdateUserCols(ctx, u, "use_custom_avatar", "avatar"); err != nil {
143143
return fmt.Errorf("updateUser: %v", err)
144144
}
145145

0 commit comments

Comments
 (0)