aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCirno the Strongest <1447794+CirnoT@users.noreply.github.com>2020-06-05 13:41:06 +0200
committerGitHub <noreply@github.com>2020-06-05 14:41:06 +0300
commit5acba4609a8eb060d91faf42c771da1a62c0170b (patch)
tree71febdaaebad925165b24cb61633ade5355caedf
parentf761a37a0f024ea54c4eee9cbae22377616e84e0 (diff)
downloadgitea-5acba4609a8eb060d91faf42c771da1a62c0170b.tar.gz
gitea-5acba4609a8eb060d91faf42c771da1a62c0170b.zip
Add internal-repo octicon for public repos of private org (#11529)
* Show multiple octicons on repo list * fix mixed spaces/tabs * Internal repo octicon * show internal icon in dashboard repolist * swagger * fix icon for normal repo on repo page * don't expose owner visibility directly; provide internal in repo api * fix icons for forks and mirrors Co-authored-by: Lauris BH <lauris@nix.lv>
-rw-r--r--models/repo.go1
-rw-r--r--modules/structs/repo.go1
-rw-r--r--templates/explore/repo_list.tmpl2
-rw-r--r--templates/repo/header.tmpl6
-rw-r--r--templates/swagger/v1_json.tmpl4
-rw-r--r--templates/user/dashboard/repolist.tmpl2
-rw-r--r--web_src/js/index.js2
7 files changed, 17 insertions, 1 deletions
diff --git a/models/repo.go b/models/repo.go
index dceeeb89e9..fd2e75a0ea 100644
--- a/models/repo.go
+++ b/models/repo.go
@@ -405,6 +405,7 @@ func (repo *Repository) innerAPIFormat(e Engine, mode AccessMode, isParent bool)
AllowRebaseMerge: allowRebaseMerge,
AllowSquash: allowSquash,
AvatarURL: repo.avatarLink(e),
+ Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
}
}
diff --git a/modules/structs/repo.go b/modules/structs/repo.go
index 832d330e74..2ff1a1ec26 100644
--- a/modules/structs/repo.go
+++ b/modules/structs/repo.go
@@ -88,6 +88,7 @@ type Repository struct {
AllowRebaseMerge bool `json:"allow_rebase_explicit"`
AllowSquash bool `json:"allow_squash_merge"`
AvatarURL string `json:"avatar_url"`
+ Internal bool `json:"internal"`
}
// CreateRepoOption options when creating repository
diff --git a/templates/explore/repo_list.tmpl b/templates/explore/repo_list.tmpl
index 37bd38c5fa..61ef056afc 100644
--- a/templates/explore/repo_list.tmpl
+++ b/templates/explore/repo_list.tmpl
@@ -11,6 +11,8 @@
</a>
{{if .IsPrivate}}
<span class="middle text gold">{{svg "octicon-lock" 16}}</span>
+ {{else if and (not .IsMirror) (not .IsFork) (.Owner.Visibility.IsPrivate) }}
+ <span class="text gold">{{svg "octicon-internal-repo" 16}}</span>
{{else if .IsFork}}
<span class="middle">{{svg "octicon-repo-forked" 16}}</span>
{{else if .IsMirror}}
diff --git a/templates/repo/header.tmpl b/templates/repo/header.tmpl
index 4daaa201d0..2faaafa442 100644
--- a/templates/repo/header.tmpl
+++ b/templates/repo/header.tmpl
@@ -14,6 +14,12 @@
{{else}}
{{if .IsPrivate}}
{{svg "octicon-lock" 32}}
+ {{else if and (not .IsMirror) (not .IsFork) (.Owner)}}
+ {{if .Owner.Visibility.IsPrivate}}
+ {{svg "octicon-internal-repo" 32}}
+ {{else}}
+ {{svg "octicon-repo" 32}}
+ {{end}}
{{else if .IsMirror}}
{{svg "octicon-repo-clone" 32}}
{{else if .IsFork}}
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index d90fafd75f..456d41b9d4 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -14056,6 +14056,10 @@
"type": "boolean",
"x-go-name": "IgnoreWhitespaceConflicts"
},
+ "internal": {
+ "type": "boolean",
+ "x-go-name": "Internal"
+ },
"internal_tracker": {
"$ref": "#/definitions/InternalTracker"
},
diff --git a/templates/user/dashboard/repolist.tmpl b/templates/user/dashboard/repolist.tmpl
index 93dda77d24..4bae23ab1b 100644
--- a/templates/user/dashboard/repolist.tmpl
+++ b/templates/user/dashboard/repolist.tmpl
@@ -101,7 +101,7 @@
</div>
<div class="ui attached table segment">
<ul class="repo-owner-name-list">
- <li v-for="repo in repos" :class="{'private': repo.private}">
+ <li v-for="repo in repos" :class="{'private': repo.private || repo.internal}">
<a :href="suburl + '/' + repo.full_name">
<svg :class="'svg ' + repoClass(repo)" width="16" height="16" aria-hidden="true"><use :xlink:href="'#' + repoClass(repo)" /></svg>
<strong class="text truncate item-name">${repo.full_name}</strong>
diff --git a/web_src/js/index.js b/web_src/js/index.js
index fa32c64c33..bd3f5da7f4 100644
--- a/web_src/js/index.js
+++ b/web_src/js/index.js
@@ -2962,6 +2962,8 @@ function initVueComponents() {
return `octicon-repo-template${repo.private ? '-private' : ''}`;
} if (repo.private) {
return 'octicon-lock';
+ } if (repo.internal) {
+ return 'octicon-internal-repo';
}
return 'octicon-repo';
}