1
0
Fork 0
forked from forgejo/forgejo

Use a standalone struct name for Organization (#17632)

* Use a standalone struct name for Organization

* recover unnecessary change

* make the code readable

* Fix template failure

* Fix template failure

* Move HasMemberWithUserID to org

* Fix test

* Remove unnecessary user type check

* Fix test

Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
Lunny Xiao 2021-11-19 19:41:40 +08:00 committed by GitHub
parent a09b40de8d
commit 7a03473159
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 335 additions and 259 deletions

View file

@ -6,6 +6,7 @@
package models
import (
"context"
"errors"
"fmt"
"sort"
@ -17,7 +18,6 @@ import (
"code.gitea.io/gitea/modules/setting"
"xorm.io/builder"
"xorm.io/xorm"
)
const ownerTeamName = "Owners"
@ -872,7 +872,8 @@ func AddTeamMember(team *Team, userID int64) error {
return sess.Commit()
}
func removeTeamMember(e *xorm.Session, team *Team, userID int64) error {
func removeTeamMember(ctx context.Context, team *Team, userID int64) error {
e := db.GetEngine(ctx)
isMember, err := isTeamMember(e, team.OrgID, team.ID, userID)
if err != nil || !isMember {
return err
@ -926,7 +927,7 @@ func removeTeamMember(e *xorm.Session, team *Team, userID int64) error {
}); err != nil {
return err
} else if count == 0 {
return removeOrgUser(e, team.OrgID, userID)
return removeOrgUser(ctx, team.OrgID, userID)
}
return nil
@ -934,15 +935,15 @@ func removeTeamMember(e *xorm.Session, team *Team, userID int64) error {
// RemoveTeamMember removes member from given team of given organization.
func RemoveTeamMember(team *Team, userID int64) error {
sess := db.NewSession(db.DefaultContext)
defer sess.Close()
if err := sess.Begin(); err != nil {
ctx, committer, err := db.TxContext()
if err != nil {
return err
}
if err := removeTeamMember(sess, team, userID); err != nil {
defer committer.Close()
if err := removeTeamMember(ctx, team, userID); err != nil {
return err
}
return sess.Commit()
return committer.Commit()
}
// IsUserInTeams returns if a user in some teams