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>
This commit is contained in:
		
							parent
							
								
									f761a37a0f
								
							
						
					
					
						commit
						5acba4609a
					
				
					 7 changed files with 17 additions and 1 deletions
				
			
		|  | @ -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, | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
|  |  | |||
|  | @ -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
 | ||||
|  |  | |||
|  | @ -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}} | ||||
|  |  | |||
|  | @ -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}} | ||||
|  |  | |||
|  | @ -14056,6 +14056,10 @@ | |||
|           "type": "boolean", | ||||
|           "x-go-name": "IgnoreWhitespaceConflicts" | ||||
|         }, | ||||
|         "internal": { | ||||
|           "type": "boolean", | ||||
|           "x-go-name": "Internal" | ||||
|         }, | ||||
|         "internal_tracker": { | ||||
|           "$ref": "#/definitions/InternalTracker" | ||||
|         }, | ||||
|  |  | |||
|  | @ -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> | ||||
|  |  | |||
|  | @ -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'; | ||||
|       } | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue