summaryrefslogtreecommitdiffstats
path: root/models
diff options
context:
space:
mode:
authorUnknown <joe2010xtmf@163.com>2014-05-14 13:04:57 -0400
committerUnknown <joe2010xtmf@163.com>2014-05-14 13:04:57 -0400
commitb70db618547b2167cac7e35be5405fb385512f30 (patch)
tree6e9c5a6f9240c983a2336472121e116707676a44 /models
parent16bddd593a9c4cd075d5e4ad8ed69c049223aef1 (diff)
downloadgitea-b70db618547b2167cac7e35be5405fb385512f30.tar.gz
gitea-b70db618547b2167cac7e35be5405fb385512f30.zip
Fix #185
Diffstat (limited to 'models')
-rw-r--r--models/issue.go2
-rw-r--r--models/repo.go24
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
}