]> source.dussan.org Git - gitea.git/commitdiff
Fix #185
authorUnknown <joe2010xtmf@163.com>
Wed, 14 May 2014 12:51:04 +0000 (08:51 -0400)
committerUnknown <joe2010xtmf@163.com>
Wed, 14 May 2014 12:51:04 +0000 (08:51 -0400)
models/repo.go
routers/repo/issue.go
routers/user/home.go

index 6e27a0cc125cb9845985f36fabccd1126186a00a..295b9af35f3566ecd7f530c4e097a83aa7923c62 100644 (file)
@@ -676,6 +676,14 @@ func DeleteRepository(userId, repoId int64, userName string) (err error) {
                sess.Rollback()
                return err
        }
+       if _, err = sess.Delete(&Issue{RepoId: repoId}); err != nil {
+               sess.Rollback()
+               return err
+       }
+       if _, err = sess.Delete(&IssueUser{RepoId: repoId}); err != nil {
+               sess.Rollback()
+               return err
+       }
 
        rawSql := "UPDATE `user` SET num_repos = num_repos - 1 WHERE id = ?"
        if _, err = sess.Exec(rawSql, userId); err != nil {
index 8a894aa8c0c068270a5f0dfddcd66b1106b3a261..3e19724c38ca0b3da14389a83d52169754860dac 100644 (file)
@@ -337,18 +337,18 @@ func UpdateAssignee(ctx *middleware.Context) {
                return
        }
 
-       idx, err := base.StrTo(ctx.Query("issue")).Int64()
+       issueId, err := base.StrTo(ctx.Query("issue")).Int64()
        if err != nil {
                ctx.Error(404)
                return
        }
 
-       issue, err := models.GetIssueByIndex(ctx.Repo.Repository.Id, idx)
+       issue, err := models.GetIssueById(issueId)
        if err != nil {
                if err == models.ErrIssueNotExist {
-                       ctx.Handle(404, "issue.UpdateAssignee", err)
+                       ctx.Handle(404, "issue.UpdateAssignee(GetIssueById)", err)
                } else {
-                       ctx.Handle(500, "issue.UpdateAssignee(GetIssueByIndex)", err)
+                       ctx.Handle(500, "issue.UpdateAssignee(GetIssueById)", err)
                }
                return
        }
index a7a36b4bd70d4f94214fbf95d6a1fffee35ed533..2a2401c58f98babfc8f4545447cb01523042e4ea 100644 (file)
@@ -221,18 +221,23 @@ func Issues(ctx *middleware.Context) {
                issues[i], err = models.GetIssueById(ius[i].IssueId)
                if err != nil {
                        if err == models.ErrIssueNotExist {
-                               log.Error("user.Issues(#%d): issue not exist", ius[i].IssueId)
+                               log.Warn("user.Issues(GetIssueById #%d): issue not exist", ius[i].IssueId)
                                continue
                        } else {
-                               ctx.Handle(500, "user.Issues(GetIssue)", err)
+                               ctx.Handle(500, fmt.Sprintf("user.Issues(GetIssueById #%d)", ius[i].IssueId), err)
                                return
                        }
                }
 
                issues[i].Repo, err = models.GetRepositoryById(issues[i].RepoId)
                if err != nil {
-                       ctx.Handle(500, "user.Issues(GetRepositoryById)", err)
-                       return
+                       if err == models.ErrRepoNotExist {
+                               log.Warn("user.Issues(GetRepositoryById #%d): repository not exist", issues[i].RepoId)
+                               continue
+                       } else {
+                               ctx.Handle(500, fmt.Sprintf("user.Issues(GetRepositoryById #%d)", issues[i].RepoId), err)
+                               return
+                       }
                }
 
                if err = issues[i].Repo.GetOwner(); err != nil {
@@ -240,8 +245,7 @@ func Issues(ctx *middleware.Context) {
                        return
                }
 
-               issues[i].Poster, err = models.GetUserById(issues[i].PosterId)
-               if err != nil {
+               if err = issues[i].GetPoster(); err != nil {
                        ctx.Handle(500, "user.Issues(GetUserById)", err)
                        return
                }