forked from gitea/gitea
Fix 404 error when leaving the last private org team (#24322)
If the user only belongs to one org team and the org is private, leaving the org team will redirect to `ctx.Org.OrgLink + "/teams/"` which is inaccessible. So we need to check whether the user still belongs to the org.
This commit is contained in:
parent
f1a4330306
commit
df9a62b5f9
|
@ -86,9 +86,17 @@ func TeamsAction(ctx *context.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
redirect := ctx.Org.OrgLink + "/teams/"
|
||||||
|
if isOrgMember, err := org_model.IsOrganizationMember(ctx, ctx.Org.Organization.ID, ctx.Doer.ID); err != nil {
|
||||||
|
ctx.ServerError("IsOrganizationMember", err)
|
||||||
|
return
|
||||||
|
} else if !isOrgMember {
|
||||||
|
redirect = setting.AppSubURL + "/"
|
||||||
|
}
|
||||||
ctx.JSON(http.StatusOK,
|
ctx.JSON(http.StatusOK,
|
||||||
map[string]interface{}{
|
map[string]interface{}{
|
||||||
"redirect": ctx.Org.OrgLink + "/teams/",
|
"redirect": redirect,
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
case "remove":
|
case "remove":
|
||||||
|
|
Loading…
Reference in New Issue