diff --git a/models/migrations/v69.go b/models/migrations/v69.go index 4e2e19986..8d964688a 100644 --- a/models/migrations/v69.go +++ b/models/migrations/v69.go @@ -21,6 +21,7 @@ func moveTeamUnitsToTeamUnitTable(x *xorm.Engine) error { // TeamUnit see models/org_team.go type TeamUnit struct { ID int64 `xorm:"pk autoincr"` + OrgID int64 `xorm:"INDEX"` TeamID int64 `xorm:"UNIQUE(s)"` Type int `xorm:"UNIQUE(s)"` } @@ -59,6 +60,7 @@ func moveTeamUnitsToTeamUnitTable(x *xorm.Engine) error { var units = make([]TeamUnit, 0, len(unitTypes)) for _, tp := range unitTypes { units = append(units, TeamUnit{ + OrgID: team.OrgID, TeamID: team.ID, Type: tp, }) diff --git a/models/org.go b/models/org.go index eacecb4f1..23f6c58bf 100644 --- a/models/org.go +++ b/models/org.go @@ -163,6 +163,7 @@ func CreateOrganization(org, owner *User) (err error) { var units = make([]TeamUnit, 0, len(allRepUnitTypes)) for _, tp := range allRepUnitTypes { units = append(units, TeamUnit{ + OrgID: org.ID, TeamID: t.ID, Type: tp, }) @@ -251,6 +252,7 @@ func deleteOrg(e *xorm.Session, u *User) error { &Team{OrgID: u.ID}, &OrgUser{OrgID: u.ID}, &TeamUser{OrgID: u.ID}, + &TeamUnit{OrgID: u.ID}, ); err != nil { return fmt.Errorf("deleteBeans: %v", err) } diff --git a/models/org_team.go b/models/org_team.go index 69de84891..3b37f936f 100644 --- a/models/org_team.go +++ b/models/org_team.go @@ -726,6 +726,7 @@ func GetTeamsWithAccessToRepo(orgID, repoID int64, mode AccessMode) ([]*Team, er // TeamUnit describes all units of a repository type TeamUnit struct { ID int64 `xorm:"pk autoincr"` + OrgID int64 `xorm:"INDEX"` TeamID int64 `xorm:"UNIQUE(s)"` Type UnitType `xorm:"UNIQUE(s)"` } diff --git a/routers/org/teams.go b/routers/org/teams.go index 76a2b9fda..87bfb8596 100644 --- a/routers/org/teams.go +++ b/routers/org/teams.go @@ -185,7 +185,8 @@ func NewTeamPost(ctx *context.Context, form auth.CreateTeamForm) { var units = make([]*models.TeamUnit, 0, len(form.Units)) for _, tp := range form.Units { units = append(units, &models.TeamUnit{ - Type: tp, + OrgID: ctx.Org.Organization.ID, + Type: tp, }) } t.Units = units @@ -273,6 +274,7 @@ func EditTeamPost(ctx *context.Context, form auth.CreateTeamForm) { var units = make([]models.TeamUnit, 0, len(form.Units)) for _, tp := range form.Units { units = append(units, models.TeamUnit{ + OrgID: t.OrgID, TeamID: t.ID, Type: tp, })