1
0
Fork 0
forked from forgejo/forgejo

Add commit statuses reports on pull request view (#6845)

* Add commit statuses reports on pull view

* Add some translations

* improve the UI

* fix fmt

* fix tests

* add a new test git repo to fix tests

* fix bug when headRepo or headBranch missing

* fix tests

* fix tests

* fix consistency

* fix tests

* fix tests

* change the test repo

* fix tests

* fix tests

* fix migration

* keep db size consistency

* fix translation

* change commit hash status table unique index

* remove unused table

* use char instead varchar

* make hashCommitStatusContext private

* split merge section with status check on pull view ui

* fix tests; fix arc-green theme on pull ui
This commit is contained in:
Lunny Xiao 2019-06-30 15:57:59 +08:00 committed by zeripath
parent 1e46eedce7
commit ff85dd3e12
23 changed files with 237 additions and 86 deletions

View file

@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/repofiles"
api "code.gitea.io/gitea/modules/structs"
)
@ -57,17 +58,12 @@ func NewCommitStatus(ctx *context.APIContext, form api.CreateStatusOption) {
Description: form.Description,
Context: form.Context,
}
if err := models.NewCommitStatus(ctx.Repo.Repository, ctx.User, sha, status); err != nil {
ctx.Error(500, "NewCommitStatus", err)
if err := repofiles.CreateCommitStatus(ctx.Repo.Repository, ctx.User, sha, status); err != nil {
ctx.Error(500, "CreateCommitStatus", err)
return
}
newStatus, err := models.GetCommitStatus(ctx.Repo.Repository, sha, status)
if err != nil {
ctx.Error(500, "GetCommitStatus", err)
return
}
ctx.JSON(201, newStatus.APIFormat())
ctx.JSON(201, status.APIFormat())
}
// GetCommitStatuses returns all statuses for any given commit hash
@ -140,6 +136,7 @@ func getCommitStatuses(ctx *context.APIContext, sha string) {
statuses, err := models.GetCommitStatuses(repo, sha, page)
if err != nil {
ctx.Error(500, "GetCommitStatuses", fmt.Errorf("GetCommitStatuses[%s, %s, %d]: %v", repo.FullName(), sha, page, err))
return
}
apiStatuses := make([]*api.Status, 0, len(statuses))