@@ -591,19 +591,23 @@ func (u *User) IsMailable() bool {
591
591
return u .IsActive
592
592
}
593
593
594
- // IsUserExist checks if given user name exist,
595
- // the user name should be noncased unique.
596
- // If uid is presented, then check will rule out that one,
597
- // it is used when update a user name in settings page.
598
- func IsUserExist (uid int64 , name string ) (bool , error ) {
594
+ func isUserExist (e Engine , uid int64 , name string ) (bool , error ) {
599
595
if len (name ) == 0 {
600
596
return false , nil
601
597
}
602
- return x .
598
+ return e .
603
599
Where ("id!=?" , uid ).
604
600
Get (& User {LowerName : strings .ToLower (name )})
605
601
}
606
602
603
+ // IsUserExist checks if given user name exist,
604
+ // the user name should be noncased unique.
605
+ // If uid is presented, then check will rule out that one,
606
+ // it is used when update a user name in settings page.
607
+ func IsUserExist (uid int64 , name string ) (bool , error ) {
608
+ return isUserExist (x , uid , name )
609
+ }
610
+
607
611
// GetUserSalt returns a random user salt token.
608
612
func GetUserSalt () (string , error ) {
609
613
return base .GetRandomString (10 )
@@ -659,24 +663,30 @@ func CreateUser(u *User) (err error) {
659
663
return err
660
664
}
661
665
662
- isExist , err := IsUserExist (0 , u .Name )
666
+ sess := x .NewSession ()
667
+ defer sess .Close ()
668
+ if err = sess .Begin (); err != nil {
669
+ return err
670
+ }
671
+
672
+ isExist , err := isUserExist (sess , 0 , u .Name )
663
673
if err != nil {
664
674
return err
665
675
} else if isExist {
666
676
return ErrUserAlreadyExist {u .Name }
667
677
}
668
678
669
679
u .Email = strings .ToLower (u .Email )
670
- has , err := x .
680
+ isExist , err = sess .
671
681
Where ("email=?" , u .Email ).
672
682
Get (new (User ))
673
683
if err != nil {
674
684
return err
675
- } else if has {
685
+ } else if isExist {
676
686
return ErrEmailAlreadyUsed {u .Email }
677
687
}
678
688
679
- isExist , err = IsEmailUsed ( u .Email )
689
+ isExist , err = isEmailUsed ( sess , u .Email )
680
690
if err != nil {
681
691
return err
682
692
} else if isExist {
@@ -698,12 +708,6 @@ func CreateUser(u *User) (err error) {
698
708
u .AllowCreateOrganization = setting .Service .DefaultAllowCreateOrganization
699
709
u .MaxRepoCreation = - 1
700
710
701
- sess := x .NewSession ()
702
- defer sess .Close ()
703
- if err = sess .Begin (); err != nil {
704
- return err
705
- }
706
-
707
711
if _ , err = sess .Insert (u ); err != nil {
708
712
return err
709
713
} else if err = os .MkdirAll (UserPath (u .Name ), os .ModePerm ); err != nil {
0 commit comments