diff --git a/models/review.go b/models/review.go index 522fe5886c372..7ea780cc6e095 100644 --- a/models/review.go +++ b/models/review.go @@ -388,7 +388,7 @@ func GetReviewersByIssueID(issueID int64) (reviews []*Review, err error) { } // Get latest review of each reviwer, sorted in order they were made - if err := sess.SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND type in (?, ?, ?) GROUP BY issue_id, reviewer_id) ORDER BY review.updated_unix ASC", + if err := sess.SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND type in (?, ?, ?) AND original_author_id = 0 GROUP BY issue_id, reviewer_id) ORDER BY review.updated_unix ASC", issueID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest). Find(&reviewsUnfiltered); err != nil { return nil, err @@ -405,6 +405,18 @@ func GetReviewersByIssueID(issueID int64) (reviews []*Review, err error) { } } + reviewsUnfiltered = []*Review{} + + // Get latest review of each reviwer, sorted in order they were made + if err := sess.SQL("SELECT * FROM review WHERE id IN (SELECT max(id) as id FROM review WHERE issue_id = ? AND type in (?, ?, ?) AND original_author_id <> 0 GROUP BY issue_id, original_author_id) ORDER BY review.updated_unix ASC", + issueID, ReviewTypeApprove, ReviewTypeReject, ReviewTypeRequest). + Find(&reviewsUnfiltered); err != nil { + return nil, err + } + + // Load reviewer and skip if user is deleted + reviews = append(reviews, reviewsUnfiltered...) + return reviews, nil } diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index 57ab4966a31e1..4a8238fa678cf 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -706,6 +706,7 @@ migrate.failed = Migration failed: %v migrate.lfs_mirror_unsupported = Mirroring LFS objects is not supported - use 'git lfs fetch --all' and 'git lfs push --all' instead. migrate.migrate_items_options = When migrating from github, input a username and migration options will be displayed. migrated_from = Migrated from %[2]s +migrated_from_nolink = Migrated from %s migrated_from_fake = Migrated From %[1]s migrate.migrating = Migrating from %s ... migrate.migrating_failed = Migrating from %s failed. diff --git a/templates/repo/issue/view_content/pull.tmpl b/templates/repo/issue/view_content/pull.tmpl index a5d753ac09a04..61106331f4c21 100644 --- a/templates/repo/issue/view_content/pull.tmpl +++ b/templates/repo/issue/view_content/pull.tmpl @@ -14,20 +14,22 @@ {{else}}grey{{end}}"> {{$canChoose := false}} - {{if eq .Type 4}} - {{if or (eq .ReviewerID $.SignedUserID) $.Permission.IsAdmin}} - {{$canChoose = true}} - {{end}} - {{else}} - {{if and (or $.IsIssuePoster $.CanChooseReviewer) (not (eq $.SignedUserID .ReviewerID))}} - {{$canChoose = true}} + {{if not .OriginalAuthor }} + {{if eq .Type 4}} + {{if or (eq .ReviewerID $.SignedUserID) $.Permission.IsAdmin}} + {{$canChoose = true}} + {{end}} + {{else}} + {{if and (or $.IsIssuePoster $.CanChooseReviewer) (not (eq $.SignedUserID .ReviewerID))}} + {{$canChoose = true}} + {{end}} {{end}} - {{end}} - {{if $canChoose }} - - {{svg "octicon-sync" 16}} - + {{if $canChoose }} + + {{svg "octicon-sync" 16}} + + {{end}} {{end}} {{svg (printf "octicon-%s" .Type.Icon) 16}} @@ -36,10 +38,17 @@ {{end}} - - - - {{.Reviewer.Name}} + {{if not .OriginalAuthor }} + + + + {{end}} + + {{if .OriginalAuthor }} + {{ .OriginalAuthor }} {{if $.Repository.OriginalURL}}({{$.i18n.Tr "repo.migrated_from" $.Repository.OriginalURL $.Repository.GetOriginalURLHostname | Safe }}){{end}} + {{else}} + {{.Reviewer.Name}} + {{end}} {{if eq .Type 1}} {{$.i18n.Tr "repo.issues.review.approve" $createdStr | Safe}} {{else if eq .Type 2}} diff --git a/templates/repo/issue/view_content/sidebar.tmpl b/templates/repo/issue/view_content/sidebar.tmpl index bcc69a48b86b7..454d5ea6e892c 100644 --- a/templates/repo/issue/view_content/sidebar.tmpl +++ b/templates/repo/issue/view_content/sidebar.tmpl @@ -27,7 +27,7 @@ {{$notReviewed := true}} {{range $.PullReviewers}} - {{if eq .ReviewerID $ReviewerID }} + {{if and (eq .ReviewerID $ReviewerID) (not .OriginalAuthor) }} {{$notReviewed = false }} {{if eq .Type 4 }} {{$checked = true}} @@ -59,7 +59,11 @@
{{range .PullReviewers}}
-  {{.Reviewer.GetDisplayName}} + {{if .OriginalAuthor}} + {{ .OriginalAuthor }} + {{else}} +  {{.Reviewer.GetDisplayName}} + {{end}} {{$canChoose := false}} - {{if eq .Type 4}} - {{if or (eq .ReviewerID $.SignedUserID) $.Permission.IsAdmin}} - {{$canChoose = true}} - {{end}} - {{else}} - {{if and (or $.IsIssuePoster $.CanChooseReviewer) (not (eq $.SignedUserID .ReviewerID))}} - {{$canChoose = true}} + {{if not .OriginalAuthor}} + {{if eq .Type 4}} + {{if or (eq .ReviewerID $.SignedUserID) $.Permission.IsAdmin}} + {{$canChoose = true}} + {{end}} + {{else}} + {{if and (or $.IsIssuePoster $.CanChooseReviewer) (not (eq $.SignedUserID .ReviewerID))}} + {{$canChoose = true}} + {{end}} {{end}} {{end}}