* ui: show 'owner' tag for real owner
Signed-off-by: a101211279
<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>
tags/v1.15.0-dev
return | 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 | // IsUserRepoAdmin return true if user has admin right of a repo | ||||
func IsUserRepoAdmin(repo *Repository, user *User) (bool, error) { | func IsUserRepoAdmin(repo *Repository, user *User) (bool, error) { | ||||
return isUserRepoAdmin(x, repo, user) | return isUserRepoAdmin(x, repo, user) |
return models.CommentTagNone, err | return models.CommentTagNone, err | ||||
} | } | ||||
if perm.IsOwner() { | 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 | return models.CommentTagWriter, nil | ||||
} | } | ||||
</div> | </div> | ||||
<div class="comment-header-right actions df ac"> | <div class="comment-header-right actions df ac"> | ||||
{{if not $.Repository.IsArchived}} | {{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="ui basic label"> | <div class="ui basic label"> | ||||
{{$.i18n.Tr "repo.issues.poster"}} | {{$.i18n.Tr "repo.issues.poster"}} | ||||
</div> | </div> |