···4646 </button>4747 {{ end }}48484949- {{ if and $isPullAuthor $isPushAllowed $isOpen $isLastRound }}4949+ {{ if and (or $isPullAuthor $isPushAllowed) $isOpen $isLastRound }}5050 <button 5151 hx-post="/{{ .RepoInfo.FullName }}/pulls/{{ .Pull.PullId }}/close"5252 hx-swap="none"···5656 </button>5757 {{ end }}58585959- {{ if and $isPullAuthor $isPushAllowed $isClosed $isLastRound }}5959+ {{ if and (or $isPullAuthor $isPushAllowed) $isClosed $isLastRound }}6060 <button 6161 hx-post="/{{ .RepoInfo.FullName }}/pulls/{{ .Pull.PullId }}/reopen"6262 hx-swap="none"
+13-10
appview/state/pull.go
···136136 }137137 }138138139139- resp, err := ksClient.MergeCheck([]byte(pull.LatestPatch()), pull.OwnerDid, f.RepoName, pull.TargetBranch)139139+ resp, err := ksClient.MergeCheck([]byte(pull.LatestPatch()), f.OwnerDid(), f.RepoName, pull.TargetBranch)140140 if err != nil {141141 log.Println("failed to check for mergeability:", err)142142- switch resp.StatusCode {143143- case 400:144144- return types.MergeCheckResponse{145145- Error: "failed to check merge status: does this knot support PRs?",146146- }147147- default:148148- return types.MergeCheckResponse{149149- Error: "failed to check merge status: this knot is unreachable",150150- }142142+ return types.MergeCheckResponse{143143+ Error: "failed to check merge status",144144+ }145145+ }146146+ switch resp.StatusCode {147147+ case 404:148148+ return types.MergeCheckResponse{149149+ Error: "failed to check merge status: this knot does not support PRs",150150+ }151151+ case 400:152152+ return types.MergeCheckResponse{153153+ Error: "failed to check merge status: does this knot support PRs?",151154 }152155 }153156