mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 05:11:41 +01:00 
			
		
		
		
	Fix remove team member issue (#3566)
Put sess.Commit() out of the RemoveOrgUser function Add an empty line to separate import packages
This commit is contained in:
		
							parent
							
								
									19bf4ddf80
								
							
						
					
					
						commit
						2d1c5c3756
					
				| @ -436,8 +436,7 @@ func AddOrgUser(orgID, uid int64) error { | ||||
| 	return sess.Commit() | ||||
| } | ||||
| 
 | ||||
| // RemoveOrgUser removes user from given organization. | ||||
| func RemoveOrgUser(orgID, userID int64) error { | ||||
| func removeOrgUser(sess *xorm.Session, orgID, userID int64) error { | ||||
| 	ou := new(OrgUser) | ||||
| 
 | ||||
| 	has, err := x. | ||||
| @ -473,12 +472,6 @@ func RemoveOrgUser(orgID, userID int64) error { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	sess := x.NewSession() | ||||
| 	defer sess.Close() | ||||
| 	if err := sess.Begin(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 
 | ||||
| 	if _, err := sess.ID(ou.ID).Delete(ou); err != nil { | ||||
| 		return err | ||||
| 	} else if _, err = sess.Exec("UPDATE `user` SET num_members=num_members-1 WHERE id=?", orgID); err != nil { | ||||
| @ -520,6 +513,19 @@ func RemoveOrgUser(orgID, userID int64) error { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| // RemoveOrgUser removes user from given organization. | ||||
| func RemoveOrgUser(orgID, userID int64) error { | ||||
| 	sess := x.NewSession() | ||||
| 	defer sess.Close() | ||||
| 	if err := sess.Begin(); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if err := removeOrgUser(sess, orgID, userID); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return sess.Commit() | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -10,6 +10,8 @@ import ( | ||||
| 	"strings" | ||||
| 
 | ||||
| 	"code.gitea.io/gitea/modules/log" | ||||
| 
 | ||||
| 	"github.com/go-xorm/xorm" | ||||
| ) | ||||
| 
 | ||||
| const ownerTeamName = "Owners" | ||||
| @ -521,7 +523,7 @@ func AddTeamMember(team *Team, userID int64) error { | ||||
| 	return sess.Commit() | ||||
| } | ||||
| 
 | ||||
| func removeTeamMember(e Engine, team *Team, userID int64) error { | ||||
| func removeTeamMember(e *xorm.Session, team *Team, userID int64) error { | ||||
| 	isMember, err := isTeamMember(e, team.OrgID, team.ID, userID) | ||||
| 	if err != nil || !isMember { | ||||
| 		return err | ||||
| @ -558,6 +560,16 @@ func removeTeamMember(e Engine, team *Team, userID int64) error { | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	// Check if the user is a member of any team in the organization. | ||||
| 	if count, err := e.Count(&TeamUser{ | ||||
| 		UID:   userID, | ||||
| 		OrgID: team.OrgID, | ||||
| 	}); err != nil { | ||||
| 		return err | ||||
| 	} else if count == 0 { | ||||
| 		return removeOrgUser(e, team.OrgID, userID) | ||||
| 	} | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user