@@ -93,6 +93,16 @@ func (issue *Issue) loadRepo(e Engine) (err error) { | |||||
return nil | return nil | ||||
} | } | ||||
// GetPullRequest returns the issue pull request | |||||
func (issue *Issue) GetPullRequest() (pr *PullRequest, err error) { | |||||
if !issue.IsPull { | |||||
return nil, fmt.Errorf("Issue is not a pull request") | |||||
} | |||||
pr, err = getPullRequestByIssueID(x, issue.ID) | |||||
return | |||||
} | |||||
func (issue *Issue) loadAttributes(e Engine) (err error) { | func (issue *Issue) loadAttributes(e Engine) (err error) { | ||||
if err := issue.loadRepo(e); err != nil { | if err := issue.loadRepo(e); err != nil { | ||||
return err | return err | ||||
@@ -953,9 +963,9 @@ func Issues(opts *IssuesOptions) ([]*Issue, error) { | |||||
switch opts.IsPull { | switch opts.IsPull { | ||||
case util.OptionalBoolTrue: | case util.OptionalBoolTrue: | ||||
sess.And("issue.is_pull=?",true) | |||||
sess.And("issue.is_pull=?", true) | |||||
case util.OptionalBoolFalse: | case util.OptionalBoolFalse: | ||||
sess.And("issue.is_pull=?",false) | |||||
sess.And("issue.is_pull=?", false) | |||||
} | } | ||||
sortIssuesSession(sess, opts.SortType) | sortIssuesSession(sess, opts.SortType) | ||||
@@ -1780,4 +1790,3 @@ func DeleteMilestoneByRepoID(repoID, id int64) error { | |||||
} | } | ||||
return sess.Commit() | return sess.Commit() | ||||
} | } | ||||
@@ -2726,17 +2726,16 @@ footer .ui.language .menu { | |||||
.user.notification table tr { | .user.notification table tr { | ||||
cursor: pointer; | cursor: pointer; | ||||
} | } | ||||
.user.notification .octicon-issue-opened, | |||||
.user.notification .octicon-git-pull-request { | |||||
.user.notification .octicon.green { | |||||
color: #21ba45; | color: #21ba45; | ||||
} | } | ||||
.user.notification .octicon-issue-closed { | |||||
.user.notification .octicon.red { | |||||
color: #d01919; | color: #d01919; | ||||
} | } | ||||
.user.notification .octicon-git-merge { | |||||
.user.notification .octicon.purple { | |||||
color: #a333c8; | color: #a333c8; | ||||
} | } | ||||
.user.notification .octicon-pin { | |||||
.user.notification .octicon.blue { | |||||
color: #2185d0; | color: #2185d0; | ||||
} | } | ||||
.dashboard { | .dashboard { | ||||
@@ -99,17 +99,19 @@ | |||||
} | } | ||||
} | } | ||||
.octicon-issue-opened, .octicon-git-pull-request { | |||||
color: #21ba45; | |||||
} | |||||
.octicon-issue-closed { | |||||
color: #d01919; | |||||
} | |||||
.octicon-git-merge { | |||||
color: #a333c8; | |||||
} | |||||
.octicon-pin { | |||||
color: #2185d0; | |||||
.octicon { | |||||
&.green { | |||||
color: #21ba45; | |||||
} | |||||
&.red { | |||||
color: #d01919; | |||||
} | |||||
&.purple { | |||||
color: #a333c8; | |||||
} | |||||
&.blue { | |||||
color: #2185d0; | |||||
} | |||||
} | } | ||||
} | } | ||||
} | } |
@@ -40,15 +40,19 @@ | |||||
<i class="blue octicon octicon-pin"></i> | <i class="blue octicon octicon-pin"></i> | ||||
{{else if $issue.IsPull}} | {{else if $issue.IsPull}} | ||||
{{if $issue.IsClosed}} | {{if $issue.IsClosed}} | ||||
<i class="octicon octicon-git-merge"></i> | |||||
{{if $issue.GetPullRequest.HasMerged}} | |||||
<i class="purple octicon octicon-git-merge"></i> | |||||
{{else}} | |||||
<i class="red octicon octicon-git-pull-request"></i> | |||||
{{end}} | |||||
{{else}} | {{else}} | ||||
<i class="octicon octicon-git-pull-request"></i> | |||||
<i class="green octicon octicon-git-pull-request"></i> | |||||
{{end}} | {{end}} | ||||
{{else}} | {{else}} | ||||
{{if $issue.IsClosed}} | {{if $issue.IsClosed}} | ||||
<i class="octicon octicon-issue-closed"></i> | |||||
<i class="red octicon octicon-issue-closed"></i> | |||||
{{else}} | {{else}} | ||||
<i class="octicon octicon-issue-opened"></i> | |||||
<i class="green octicon octicon-issue-opened"></i> | |||||
{{end}} | {{end}} | ||||
{{end}} | {{end}} | ||||
</td> | </td> | ||||