remove team-units if org gets deleted

This commit is contained in:
David Schneiderbauer 2018-06-18 13:14:17 +02:00
parent d7b0a496b6
commit f5a346581f
No known key found for this signature in database
GPG Key ID: 576113B2803B3EAB
4 changed files with 8 additions and 1 deletions

View File

@ -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,
})

View File

@ -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)
}

View File

@ -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)"`
}

View File

@ -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,
})