Compare commits

...

9 Commits

Author SHA1 Message Date
Tomeamis
8006acca6d
Merge 046151ef90 into 55d5a74bb3 2024-09-20 08:48:31 +08:00
GiteaBot
55d5a74bb3 [skip ci] Updated translations via Crowdin 2024-09-20 00:29:58 +00:00
Tomáš Ženčák
046151ef90 Fix error string 2024-02-02 11:07:43 +01:00
Tomeamis
5229f6012e
Merge branch 'main' into main 2024-02-02 11:06:18 +01:00
Tomáš Ženčák
754ce8ee61 Simplify, fix logic error 2024-02-02 11:04:59 +01:00
Tomáš Ženčák
a352455b81 Use ctx.Org.Organization.IsOwnedBy 2024-02-01 14:46:45 +01:00
Tomeamis
0421028556
Merge branch 'main' into main 2023-12-19 12:57:18 +01:00
Tomeamis
f4b715cac7
Merge branch 'main' into main 2023-12-06 12:22:17 +01:00
Tomáš Ženčák
d718e3f68c Allow admins and org owners to change org member public status 2023-11-29 13:09:09 +01:00
2 changed files with 21 additions and 6 deletions

View File

@ -1731,6 +1731,7 @@ issues.dependency.add_error_dep_not_same_repo=Ambas as questões têm que estar
issues.review.self.approval=Não pode aprovar o seu próprio pedido de integração.
issues.review.self.rejection=Não pode solicitar modificações sobre o seu próprio pedido de integração.
issues.review.approve=aprovou estas modificações %s
issues.review.comment=reviu %s
issues.review.dismissed=descartou a revisão de %s %s
issues.review.dismissed_label=Descartada
issues.review.left_comment=deixou um comentário

View File

@ -236,9 +236,16 @@ func PublicizeMember(ctx *context.APIContext) {
if ctx.Written() {
return
}
if userToPublicize.ID != ctx.Doer.ID {
ctx.Error(http.StatusForbidden, "", "Cannot publicize another member")
return
if userToPublicize.ID != ctx.Doer.ID && !ctx.Doer.IsAdmin {
isOwner, err := ctx.Org.Organization.IsOwnedBy(ctx, ctx.Doer.ID)
if err != nil {
ctx.Error(http.StatusInternalServerError, "IsOwnedBy", err)
return
}
if !isOwner {
ctx.Error(http.StatusForbidden, "", "Cannot publicize another member")
return
}
}
err := organization.ChangeOrgUserStatus(ctx, ctx.Org.Organization.ID, userToPublicize.ID, true)
if err != nil {
@ -278,9 +285,16 @@ func ConcealMember(ctx *context.APIContext) {
if ctx.Written() {
return
}
if userToConceal.ID != ctx.Doer.ID {
ctx.Error(http.StatusForbidden, "", "Cannot conceal another member")
return
if userToConceal.ID != ctx.Doer.ID && !ctx.Doer.IsAdmin {
isOwner, err := ctx.Org.Organization.IsOwnedBy(ctx, ctx.Doer.ID)
if err != nil {
ctx.Error(http.StatusInternalServerError, "IsOwnedBy", err)
return
}
if !isOwner {
ctx.Error(http.StatusForbidden, "", "Cannot conceal another member")
return
}
}
err := organization.ChangeOrgUserStatus(ctx, ctx.Org.Organization.ID, userToConceal.ID, false)
if err != nil {