diff --git a/pkg/models/project.go b/pkg/models/project.go index 1399235782f..fa1a49eef20 100644 --- a/pkg/models/project.go +++ b/pkg/models/project.go @@ -915,17 +915,6 @@ func (p *Project) Create(s *xorm.Session, a web.Auth) (err error) { // @Router /projects/{id} [delete] func (p *Project) Delete(s *xorm.Session, a web.Auth) (err error) { - fullList, err := GetProjectSimpleByID(s, p.ID) - if err != nil { - return - } - - // Delete the project - _, err = s.ID(p.ID).Delete(&Project{}) - if err != nil { - return - } - // Delete all tasks on that project // Using the loop to make sure all related entities to all tasks are properly deleted as well. tasks, _, _, err := getRawTasksForProjects(s, []*Project{p}, a, &taskOptions{}) @@ -940,13 +929,24 @@ func (p *Project) Delete(s *xorm.Session, a web.Auth) (err error) { } } - err = fullList.DeleteBackgroundFileIfExists() + fullProject, err := GetProjectSimpleByID(s, p.ID) + if err != nil { + return + } + + err = fullProject.DeleteBackgroundFileIfExists() + if err != nil { + return + } + + // Delete the project + _, err = s.ID(p.ID).Delete(&Project{}) if err != nil { return } return events.Dispatch(&ProjectDeletedEvent{ - Project: p, + Project: fullProject, Doer: a, }) } diff --git a/pkg/models/user_delete.go b/pkg/models/user_delete.go index bfba53a00ff..c4caa42debf 100644 --- a/pkg/models/user_delete.go +++ b/pkg/models/user_delete.go @@ -136,8 +136,8 @@ func DeleteUser(s *xorm.Session, u *user.User) (err error) { return err } - for _, l := range projectsToDelete { - err = l.Delete(s, u) + for _, p := range projectsToDelete { + err = p.Delete(s, u) if err != nil { return err }