diff --git a/models/team_list_delete.go b/models/team_list_delete.go new file mode 100644 index 00000000..45748924 --- /dev/null +++ b/models/team_list_delete.go @@ -0,0 +1,24 @@ +package models + +// Delete deletes a team <-> list relation based on the list & team id +func (tl *TeamList) Delete() (err error) { + + // Check if the list exists + _, err = GetListByID(tl.ListID) + if err != nil { + return + } + + // Check if the team exists + _, err = GetTeamByID(tl.TeamID) + if err != nil { + return + } + + // Delete the relation + _, err = x.Where("team_id = ?", tl.TeamID). + And("list_id = ?", tl.ListID). + Delete(TeamList{}) + + return +} diff --git a/models/team_list_rights.go b/models/team_list_rights.go index 089af7a4..ba34afec 100644 --- a/models/team_list_rights.go +++ b/models/team_list_rights.go @@ -1,7 +1,13 @@ package models -// CanCreate checks if the use can create a team <-> list relation +// CanCreate checks if the user can create a team <-> list relation func (tl *TeamList) CanCreate(user *User) bool { l, _ := GetListByID(tl.ListID) return l.IsAdmin(user) } + +// CanDelete checks if the user can delete a team <-> list relation +func (tl *TeamList) CanDelete(user *User) bool { + l, _ := GetListByID(tl.ListID) + return l.IsAdmin(user) +} \ No newline at end of file