diff options
author | Unknown <joe2010xtmf@163.com> | 2014-05-14 13:04:57 -0400 |
---|---|---|
committer | Unknown <joe2010xtmf@163.com> | 2014-05-14 13:04:57 -0400 |
commit | b70db618547b2167cac7e35be5405fb385512f30 (patch) | |
tree | 6e9c5a6f9240c983a2336472121e116707676a44 /models | |
parent | 16bddd593a9c4cd075d5e4ad8ed69c049223aef1 (diff) | |
download | gitea-b70db618547b2167cac7e35be5405fb385512f30.tar.gz gitea-b70db618547b2167cac7e35be5405fb385512f30.zip |
Fix #185
Diffstat (limited to 'models')
-rw-r--r-- | models/issue.go | 2 | ||||
-rw-r--r-- | models/repo.go | 24 |
2 files changed, 23 insertions, 3 deletions
diff --git a/models/issue.go b/models/issue.go index 3d3e433a42..7dd69267ae 100644 --- a/models/issue.go +++ b/models/issue.go @@ -167,6 +167,8 @@ type IssueUser struct { Uid int64 // User ID. IssueId int64 RepoId int64 + MilestoneId int64 + Labels string `xorm:"TEXT"` IsRead bool IsAssigned bool IsMentioned bool diff --git a/models/repo.go b/models/repo.go index 4382bd7dc5..0594c6c6f3 100644 --- a/models/repo.go +++ b/models/repo.go @@ -676,15 +676,33 @@ func DeleteRepository(userId, repoId int64, userName string) (err error) { sess.Rollback() return err } - if _, err = sess.Delete(&Issue{RepoId: repoId}); err != nil { + if _, err = sess.Delete(&IssueUser{RepoId: repoId}); err != nil { sess.Rollback() return err } - if _, err = sess.Delete(&IssueUser{RepoId: repoId}); err != nil { + if _, err = sess.Delete(&Milestone{RepoId: repoId}); err != nil { sess.Rollback() return err } - if _, err = sess.Delete(&Milestone{RepoId: repoId}); err != nil { + if _, err = sess.Delete(&Release{RepoId: repoId}); err != nil { + sess.Rollback() + return err + } + + // Delete comments. + if err = orm.Iterate(&Issue{RepoId: repoId}, func(idx int, bean interface{}) error { + issue := bean.(*Issue) + if _, err = sess.Delete(&Comment{IssueId: issue.Id}); err != nil { + sess.Rollback() + return err + } + return nil + }); err != nil { + sess.Rollback() + return err + } + + if _, err = sess.Delete(&Issue{RepoId: repoId}); err != nil { sess.Rollback() return err } |