mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Repository avatars (#6986)
* Repository avatars - first variant of code from old work for gogs - add migration 87 - add new option in app.ini - add en-US locale string - add new class in repository.less * Add changed index.css, remove unused template name * Update en-us doc about configuration options * Add comments to new functions, add new option to docker app.ini * Add comment for lint * Remove variable, not needed * Fix formatting * Update swagger api template * Check if avatar exists * Fix avatar link/path checks * Typo * TEXT column can't have a default value * Fixes: - remove old avatar file on upload - use ID in name of avatar file - users may upload same files - add simple tests * Fix fmt check * Generate PNG instead of "static" GIF * More informative comment * Fix error message * Update avatar upload checks: - add file size check - add new option - update config docs - add new string to en-us locale * Fixes: - use FileHEader field for check file size - add new test - upload big image * Fix formatting * Update comments * Update log message * Removed wrong style - not needed * Use Sync2 to migrate * Update repos list view - bigger avatar - fix html blocks alignment * A little adjust avatar size * Use small icons for explore/repo list * Use new cool avatar preparation func by @lafriks * Missing changes for new function * Remove unused import, move imports * Missed new option definition in app.ini Add file size check in user/profile avatar upload * Use smaller field length for Avatar * Use session to update repo DB data, update DeleteAvatar - use session too * Fix err variable definition * As suggested @lafriks - return as soon as possible, code readability
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							d7494046ac
						
					
				
				
					commit
					3fd18838aa
				
			@@ -2,6 +2,7 @@
 | 
			
		||||
	{{range .Repos}}
 | 
			
		||||
		<div class="item">
 | 
			
		||||
			<div class="ui header">
 | 
			
		||||
				<img class="ui avatar image" src="{{.RelAvatarLink}}">
 | 
			
		||||
				<a class="name" href="{{.Link}}">
 | 
			
		||||
					{{if or $.PageIsExplore $.PageIsProfileStarList }}{{if .Owner}}{{.Owner.Name}} / {{end}}{{end}}{{.Name}}
 | 
			
		||||
					{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}}
 | 
			
		||||
@@ -14,7 +15,7 @@
 | 
			
		||||
					<span><i class="octicon octicon-repo-clone"></i></span>
 | 
			
		||||
				{{else if .Owner}}
 | 
			
		||||
					{{if .Owner.Visibility.IsPrivate}}
 | 
			
		||||
			          <span class="text gold"><i class="octicon octicon-lock"></i></span>
 | 
			
		||||
					<span class="text gold"><i class="octicon octicon-lock"></i></span>
 | 
			
		||||
					{{end}}
 | 
			
		||||
				{{end}}
 | 
			
		||||
				<div class="ui right metas">
 | 
			
		||||
@@ -22,15 +23,17 @@
 | 
			
		||||
					<span class="text grey"><i class="octicon octicon-git-branch"></i> {{.NumForks}}</span>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
			{{if .DescriptionHTML}}<p class="has-emoji">{{.DescriptionHTML}}</p>{{end}}
 | 
			
		||||
			{{if .Topics }}
 | 
			
		||||
				<div class="ui tags">
 | 
			
		||||
				{{range .Topics}}
 | 
			
		||||
					{{if ne . "" }}<a href="{{AppSubUrl}}/explore/repos?q={{.}}&topic=1"><div class="ui small label topic">{{.}}</div></a>{{end}}
 | 
			
		||||
			<div class="description">
 | 
			
		||||
				{{if .DescriptionHTML}}<p class="has-emoji">{{.DescriptionHTML}}</p>{{end}}
 | 
			
		||||
				{{if .Topics }}
 | 
			
		||||
					<div class="ui tags">
 | 
			
		||||
					{{range .Topics}}
 | 
			
		||||
						{{if ne . "" }}<a href="{{AppSubUrl}}/explore/repos?q={{.}}&topic=1"><div class="ui small label topic">{{.}}</div></a>{{end}}
 | 
			
		||||
					{{end}}
 | 
			
		||||
					</div>
 | 
			
		||||
				{{end}}
 | 
			
		||||
				</div>
 | 
			
		||||
			{{end}}
 | 
			
		||||
			<p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSinceUnix .UpdatedUnix $.i18n.Lang}}</p>
 | 
			
		||||
				<p class="time">{{$.i18n.Tr "org.repo_updated"}} {{TimeSinceUnix .UpdatedUnix $.i18n.Lang}}</p>
 | 
			
		||||
			</div>
 | 
			
		||||
		</div>
 | 
			
		||||
	{{else}}
 | 
			
		||||
	<div>
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,11 @@
 | 
			
		||||
	<div class="ui container">
 | 
			
		||||
		<div class="repo-header">
 | 
			
		||||
			<div class="ui huge breadcrumb repo-title">
 | 
			
		||||
				{{if .RelAvatarLink}}
 | 
			
		||||
				<img class="ui avatar image" src="{{.RelAvatarLink}}">
 | 
			
		||||
				{{else}}
 | 
			
		||||
				<i class="mega-octicon octicon-{{if .IsPrivate}}lock{{else if .IsMirror}}repo-clone{{else if .IsFork}}repo-forked{{else}}repo{{end}}"></i>
 | 
			
		||||
				{{end}}
 | 
			
		||||
				<a href="{{AppSubUrl}}/{{.Owner.Name}}">{{.Owner.Name}}</a>
 | 
			
		||||
				<div class="divider"> / </div>
 | 
			
		||||
				<a href="{{$.RepoLink}}">{{.Name}}</a>
 | 
			
		||||
 
 | 
			
		||||
@@ -41,6 +41,22 @@
 | 
			
		||||
					<button class="ui green button">{{$.i18n.Tr "repo.settings.update_settings"}}</button>
 | 
			
		||||
				</div>
 | 
			
		||||
			</form>
 | 
			
		||||
 | 
			
		||||
			<div class="ui divider"></div>
 | 
			
		||||
 | 
			
		||||
			<form class="ui form" action="{{.Link}}/avatar" method="post" enctype="multipart/form-data">
 | 
			
		||||
				{{.CsrfTokenHtml}}
 | 
			
		||||
				<div class="inline field">
 | 
			
		||||
					<label for="avatar">{{.i18n.Tr "settings.choose_new_avatar"}}</label>
 | 
			
		||||
					<input name="avatar" type="file" >
 | 
			
		||||
				</div>
 | 
			
		||||
 | 
			
		||||
				<div class="field">
 | 
			
		||||
					<button class="ui green button">{{$.i18n.Tr "settings.update_avatar"}}</button>
 | 
			
		||||
					<a class="ui red button delete-post" data-request-url="{{.Link}}/avatar/delete" data-done-url="{{.Link}}">{{$.i18n.Tr "settings.delete_current_avatar"}}</a>
 | 
			
		||||
				</div>
 | 
			
		||||
			</form>
 | 
			
		||||
 | 
			
		||||
		</div>
 | 
			
		||||
 | 
			
		||||
		{{if .Repository.IsMirror}}
 | 
			
		||||
 
 | 
			
		||||
@@ -9066,6 +9066,10 @@
 | 
			
		||||
          "type": "boolean",
 | 
			
		||||
          "x-go-name": "Archived"
 | 
			
		||||
        },
 | 
			
		||||
        "avatar_url": {
 | 
			
		||||
          "type": "string",
 | 
			
		||||
          "x-go-name": "AvatarURL"
 | 
			
		||||
        },
 | 
			
		||||
        "clone_url": {
 | 
			
		||||
          "type": "string",
 | 
			
		||||
          "x-go-name": "CloneURL"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user