From 1ac8f6fb83b4fc3c05949f10494f325bbc65a6a7 Mon Sep 17 00:00:00 2001
From: Harshit Bansal <harshitbansal2015@gmail.com>
Date: Wed, 16 Jan 2019 03:01:35 +0530
Subject: [PATCH] Don't list an issue on its own dependency list UI. (#5658)

Fixes: #4684.
---
 public/js/index.js                             | 8 +++++++-
 templates/repo/issue/view_content/sidebar.tmpl | 2 +-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/public/js/index.js b/public/js/index.js
index 70cad04e943..c69cb753d49 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -2810,14 +2810,19 @@ function deleteDependencyModal(id, type) {
 
 function initIssueList() {
     var repolink = $('#repolink').val();
-    $('.new-dependency-drop-list')
+    $('#new-dependency-drop-list')
         .dropdown({
             apiSettings: {
                 url: suburl + '/api/v1/repos/' + repolink + '/issues?q={query}',
                 onResponse: function(response) {
                     var filteredResponse = {'success': true, 'results': []};
+                    var currIssueId = $('#new-dependency-drop-list').data('issue-id');
                     // Parse the response from the api to work with our dropdown
                     $.each(response, function(index, issue) {
+                        // Don't list current issue in the dependency list.
+                        if(issue.id === currIssueId) {
+                            return;
+                        }
                         filteredResponse.results.push({
                             'name'  : '#' + issue.number + '&nbsp;' + htmlEncode(issue.title),
                             'value' : issue.id
@@ -2825,6 +2830,7 @@ function initIssueList() {
                     });
                     return filteredResponse;
                 },
+                cache: false,
             },
 
             fullTextSearch: true
diff --git a/templates/repo/issue/view_content/sidebar.tmpl b/templates/repo/issue/view_content/sidebar.tmpl
index ee8ed0e1a1e..8d5df5d748c 100644
--- a/templates/repo/issue/view_content/sidebar.tmpl
+++ b/templates/repo/issue/view_content/sidebar.tmpl
@@ -321,7 +321,7 @@
 						<form method="POST" action="{{$.RepoLink}}/issues/{{.Issue.Index}}/dependency/add" id="addDependencyForm">
 							{{$.CsrfTokenHtml}}
 							<div class="ui fluid action input">
-								<div class="ui search selection dropdown new-dependency-drop-list" style="min-width: 13.9rem;border-radius: 4px 0 0 4px;border-right: 0;white-space: nowrap;">
+								<div class="ui search selection dropdown" id="new-dependency-drop-list" data-issue-id="{{.Issue.ID}}" style="min-width: 13.9rem;border-radius: 4px 0 0 4px;border-right: 0;white-space: nowrap;">
 									<input name="newDependency" type="hidden">
 									<i class="dropdown icon"></i>
 									<input type="text" class="search">