From c25813182c7b98f0fce32d6b955a6629c805fea5 Mon Sep 17 00:00:00 2001
From: a1012112796 <1012112796@qq.com>
Date: Fri, 7 May 2021 19:59:01 +0800
Subject: [PATCH] not show `ref-in-new-issue` pop when issue was disabled
 (#15761)

fix #15718

Signed-off-by: a1012112796 <1012112796@qq.com>
---
 templates/repo/view_file.tmpl | 16 +++++++++-------
 web_src/js/index.js           | 14 ++++++++++++++
 2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/templates/repo/view_file.tmpl b/templates/repo/view_file.tmpl
index 5798ec875cbf1..b42283e23ee04 100644
--- a/templates/repo/view_file.tmpl
+++ b/templates/repo/view_file.tmpl
@@ -111,15 +111,17 @@
 						{{end}}
 					</tbody>
 				</table>
-				<div class="code-view-menu-list ui fluid popup transition hidden">
-					<div class="ui column relaxed equal height">
-						<div class="column">
-							<div class="ui link list">
-								<a class="item ref-in-new-issue" href="{{.RepoLink}}/issues/new?body={{URLJoin AppUrl .RepoLink}}/src/commit/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.issues.context.reference_issue"}}</a>
+					{{if $.Permission.CanRead $.UnitTypeIssues}}
+						<div class="code-view-menu-list ui fluid popup transition hidden">
+							<div class="ui column relaxed equal height">
+								<div class="column">
+									<div class="ui link list">
+										<a class="item ref-in-new-issue" href="{{.RepoLink}}/issues/new?body={{URLJoin AppUrl .RepoLink}}/src/commit/{{.CommitID}}/{{EscapePound .TreePath}}">{{.i18n.Tr "repo.issues.context.reference_issue"}}</a>
+									</div>
+								</div>
 							</div>
 						</div>
-					</div>
-				</div>
+					{{end}}
 				{{end}}
 			{{end}}
 		</div>
diff --git a/web_src/js/index.js b/web_src/js/index.js
index 53843a6d22764..2d9f7f4cafc86 100644
--- a/web_src/js/index.js
+++ b/web_src/js/index.js
@@ -2208,6 +2208,10 @@ function searchRepositories() {
 }
 
 function showCodeViewMenu() {
+  if ($('.code-view-menu-list').length === 0) {
+    return;
+  }
+
   // Get clicked tr
   const $code_tr = $('.code-view td.lines-code.active').parent();
 
@@ -2873,6 +2877,11 @@ function selectRange($list, $select, $from) {
 
       // add hashchange to permalink
       const $issue = $('a.ref-in-new-issue');
+
+      if ($issue.length === 0) {
+        return;
+      }
+
       const matched = $issue.attr('href').match(/%23L\d+$|%23L\d+-L\d+$/);
       if (matched) {
         $issue.attr('href', $issue.attr('href').replace($issue.attr('href').substr(matched.index), `%23L${a}-L${b}`));
@@ -2888,6 +2897,11 @@ function selectRange($list, $select, $from) {
 
   // add hashchange to permalink
   const $issue = $('a.ref-in-new-issue');
+
+  if ($issue.length === 0) {
+    return;
+  }
+
   const matched = $issue.attr('href').match(/%23L\d+$|%23L\d+-L\d+$/);
   if (matched) {
     $issue.attr('href', $issue.attr('href').replace($issue.attr('href').substr(matched.index), `%23${$select.attr('rel')}`));