fix(user): restore organizations tab on user profile (#39577) (#39581)

Backport #39577

Fixes #39572

The shared user cards template calls the User-only `IsTypeBot` method.
The profile organizations tab passed `*organization.Organization` values
to that template, so `/{username}?tab=organizations` returned a 500
error.

Organizations are now converted to Users before rendering.

Co-authored-by: Zettat123 <zettat123@gmail.com>
This commit is contained in:
Giteabot
2026-10-04 15:51:14 +08:00
committed by GitHub
co-authored by Zettat123
parent 99ac787400
commit 3ee1924069
2 changed files with 6 additions and 1 deletions
+5 -1
View File
@@ -274,7 +274,11 @@ func prepareUserProfileTabData(ctx *context.Context, profileDbRepo *repo_model.R
ctx.ServerError("GetUserOrganizations", err)
return
}
ctx.Data["Cards"] = orgs
cards := make([]*user_model.User, 0, len(orgs))
for _, org := range orgs {
cards = append(cards, org.AsUser())
}
ctx.Data["Cards"] = cards // user_cards needs User-only methods
total = count
default: // default to "repositories"
repos, count, err = repo_model.SearchRepository(ctx, repo_model.SearchRepoOptions{
+1
View File
@@ -172,6 +172,7 @@ func testLinksAsUser(t *testing.T) {
"/user2",
"/user2?tab=stars",
"/user2?tab=activity",
"/user2?tab=organizations",
"/user/settings",
"/user/settings/account",
"/user/settings/security",