Unknown 10 năm trước cách đây
mục cha
commit
9100786beb
3 tập tin đã thay đổi với 22 bổ sung10 xóa
  1. 8 0
      models/repo.go
  2. 4 4
      routers/repo/issue.go
  3. 10 6
      routers/user/home.go

+ 8 - 0
models/repo.go

@@ -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 {

+ 4 - 4
routers/repo/issue.go

@@ -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
 	}

+ 10 - 6
routers/user/home.go

@@ -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
 		}