mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	* ui: show 'owner' tag for real owner Signed-off-by: a1012112796 <1012112796@qq.com> * Update custom/conf/app.example.ini * simplify logic fix logic fix a small bug about original author * remove system manager tag Co-authored-by: techknowlogick <techknowlogick@gitea.io> Co-authored-by: Lauris BH <lauris@nix.lv>
This commit is contained in:
		@@ -271,6 +271,27 @@ func getUserRepoPermission(e Engine, repo *Repository, user *User) (perm Permiss
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsUserRealRepoAdmin check if this user is real repo admin
 | 
			
		||||
func IsUserRealRepoAdmin(repo *Repository, user *User) (bool, error) {
 | 
			
		||||
	if repo.OwnerID == user.ID {
 | 
			
		||||
		return true, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	sess := x.NewSession()
 | 
			
		||||
	defer sess.Close()
 | 
			
		||||
 | 
			
		||||
	if err := repo.getOwner(sess); err != nil {
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	accessMode, err := accessLevel(sess, user, repo)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return false, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return accessMode >= AccessModeAdmin, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// IsUserRepoAdmin return true if user has admin right of a repo
 | 
			
		||||
func IsUserRepoAdmin(repo *Repository, user *User) (bool, error) {
 | 
			
		||||
	return isUserRepoAdmin(x, repo, user)
 | 
			
		||||
 
 | 
			
		||||
@@ -979,8 +979,27 @@ func commentTag(repo *models.Repository, poster *models.User, issue *models.Issu
 | 
			
		||||
		return models.CommentTagNone, err
 | 
			
		||||
	}
 | 
			
		||||
	if perm.IsOwner() {
 | 
			
		||||
		return models.CommentTagOwner, nil
 | 
			
		||||
	} else if perm.CanWrite(models.UnitTypeCode) {
 | 
			
		||||
		if !poster.IsAdmin {
 | 
			
		||||
			return models.CommentTagOwner, nil
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		ok, err := models.IsUserRealRepoAdmin(repo, poster)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return models.CommentTagNone, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ok {
 | 
			
		||||
			return models.CommentTagOwner, nil
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if ok, err = repo.IsCollaborator(poster.ID); ok && err == nil {
 | 
			
		||||
			return models.CommentTagWriter, nil
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return models.CommentTagNone, err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if perm.CanWrite(models.UnitTypeCode) {
 | 
			
		||||
		return models.CommentTagWriter, nil
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@
 | 
			
		||||
					</div>
 | 
			
		||||
					<div class="header-right actions df ac">
 | 
			
		||||
						{{if not $.Repository.IsArchived}}
 | 
			
		||||
							{{if eq .PosterID .Issue.PosterID }}
 | 
			
		||||
							{{if or (and (eq .PosterID .Issue.PosterID) (eq .Issue.OriginalAuthorID 0)) (eq .Issue.OriginalAuthorID .OriginalAuthorID) }}
 | 
			
		||||
								<div class="item tag">
 | 
			
		||||
									{{$.i18n.Tr "repo.issues.poster"}}
 | 
			
		||||
								</div>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user