mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-10-31 22:28:05 +01:00 
			
		
		
		
	Add show more organizations icon in user's profile (#32986)
				
					
				
			Close #32952 # ⚠️ Doc update is required   ------ ⚠️This PR refuses to be cherry-picked by any forked projects without any mentions. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
							parent
							
								
									550abdbc24
								
							
						
					
					
						commit
						7bb7ba1b5b
					
				| @ -1339,6 +1339,9 @@ LEVEL = Info | ||||
| ;; Number of repos that are displayed on one page | ||||
| ;REPO_PAGING_NUM = 15 | ||||
| 
 | ||||
| ;; Number of orgs that are displayed on profile page | ||||
| ;ORG_PAGING_NUM = 15 | ||||
| 
 | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | ||||
| ;[ui.meta] | ||||
|  | ||||
| @ -63,6 +63,7 @@ var UI = struct { | ||||
| 	} `ini:"ui.admin"` | ||||
| 	User struct { | ||||
| 		RepoPagingNum int | ||||
| 		OrgPagingNum  int | ||||
| 	} `ini:"ui.user"` | ||||
| 	Meta struct { | ||||
| 		Author      string | ||||
| @ -127,8 +128,10 @@ var UI = struct { | ||||
| 	}, | ||||
| 	User: struct { | ||||
| 		RepoPagingNum int | ||||
| 		OrgPagingNum  int | ||||
| 	}{ | ||||
| 		RepoPagingNum: 15, | ||||
| 		OrgPagingNum:  15, | ||||
| 	}, | ||||
| 	Meta: struct { | ||||
| 		Author      string | ||||
|  | ||||
| @ -649,6 +649,7 @@ joined_on = Joined on %s | ||||
| repositories = Repositories | ||||
| activity = Public Activity | ||||
| followers = Followers | ||||
| show_more = Show More | ||||
| starred = Starred Repositories | ||||
| watched = Watched Repositories | ||||
| code = Code | ||||
|  | ||||
| @ -61,11 +61,20 @@ func PrepareContextForProfileBigAvatar(ctx *context.Context) { | ||||
| 	orgs, err := db.Find[organization.Organization](ctx, organization.FindOrgOptions{ | ||||
| 		UserID:         ctx.ContextUser.ID, | ||||
| 		IncludePrivate: showPrivate, | ||||
| 		ListOptions: db.ListOptions{ | ||||
| 			Page: 1, | ||||
| 			// query one more results (without a separate counting) to see whether we need to add the "show more orgs" link | ||||
| 			PageSize: setting.UI.User.OrgPagingNum + 1, | ||||
| 		}, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		ctx.ServerError("FindOrgs", err) | ||||
| 		return | ||||
| 	} | ||||
| 	if len(orgs) > setting.UI.User.OrgPagingNum { | ||||
| 		orgs = orgs[:setting.UI.User.OrgPagingNum] | ||||
| 		ctx.Data["ShowMoreOrgs"] = true | ||||
| 	} | ||||
| 	ctx.Data["Orgs"] = orgs | ||||
| 	ctx.Data["HasOrgsVisible"] = organization.HasOrgsVisible(ctx, orgs, ctx.Doer) | ||||
| 
 | ||||
|  | ||||
| @ -12,6 +12,7 @@ import ( | ||||
| 
 | ||||
| 	activities_model "code.gitea.io/gitea/models/activities" | ||||
| 	"code.gitea.io/gitea/models/db" | ||||
| 	"code.gitea.io/gitea/models/organization" | ||||
| 	"code.gitea.io/gitea/models/renderhelper" | ||||
| 	repo_model "code.gitea.io/gitea/models/repo" | ||||
| 	user_model "code.gitea.io/gitea/models/user" | ||||
| @ -256,6 +257,21 @@ func prepareUserProfileTabData(ctx *context.Context, showPrivate bool, profileDb | ||||
| 				ctx.Data["ProfileReadme"] = profileContent | ||||
| 			} | ||||
| 		} | ||||
| 	case "organizations": | ||||
| 		orgs, count, err := db.FindAndCount[organization.Organization](ctx, organization.FindOrgOptions{ | ||||
| 			UserID:         ctx.ContextUser.ID, | ||||
| 			IncludePrivate: showPrivate, | ||||
| 			ListOptions: db.ListOptions{ | ||||
| 				Page:     page, | ||||
| 				PageSize: pagingNum, | ||||
| 			}, | ||||
| 		}) | ||||
| 		if err != nil { | ||||
| 			ctx.ServerError("GetUserOrganizations", err) | ||||
| 			return | ||||
| 		} | ||||
| 		ctx.Data["Cards"] = orgs | ||||
| 		total = int(count) | ||||
| 	default: // default to "repositories" | ||||
| 		repos, count, err = repo_model.SearchRepository(ctx, &repo_model.SearchRepoOptions{ | ||||
| 			ListOptions: db.ListOptions{ | ||||
| @ -294,31 +310,7 @@ func prepareUserProfileTabData(ctx *context.Context, showPrivate bool, profileDb | ||||
| 	} | ||||
| 
 | ||||
| 	pager := context.NewPagination(total, pagingNum, page, 5) | ||||
| 	pager.SetDefaultParams(ctx) | ||||
| 	pager.AddParamString("tab", tab) | ||||
| 	if tab != "followers" && tab != "following" && tab != "activity" && tab != "projects" { | ||||
| 		pager.AddParamString("language", language) | ||||
| 	} | ||||
| 	if tab == "activity" { | ||||
| 		if ctx.Data["Date"] != nil { | ||||
| 			pager.AddParamString("date", fmt.Sprint(ctx.Data["Date"])) | ||||
| 		} | ||||
| 	} | ||||
| 	if archived.Has() { | ||||
| 		pager.AddParamString("archived", fmt.Sprint(archived.Value())) | ||||
| 	} | ||||
| 	if fork.Has() { | ||||
| 		pager.AddParamString("fork", fmt.Sprint(fork.Value())) | ||||
| 	} | ||||
| 	if mirror.Has() { | ||||
| 		pager.AddParamString("mirror", fmt.Sprint(mirror.Value())) | ||||
| 	} | ||||
| 	if template.Has() { | ||||
| 		pager.AddParamString("template", fmt.Sprint(template.Value())) | ||||
| 	} | ||||
| 	if private.Has() { | ||||
| 		pager.AddParamString("private", fmt.Sprint(private.Value())) | ||||
| 	} | ||||
| 	pager.AddParamFromRequest(ctx.Req) | ||||
| 	ctx.Data["Page"] = pager | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -92,6 +92,9 @@ | ||||
| 					</li> | ||||
| 					{{end}} | ||||
| 				{{end}} | ||||
| 					{{if .ShowMoreOrgs}} | ||||
| 						<li><a class="tw-align-center" href="{{.ContextUser.HomeLink}}?tab=organizations" data-tooltip-content="{{ctx.Locale.Tr "user.show_more"}}">{{svg "octicon-kebab-horizontal" 28 "icon tw-p-1"}}</a></li> | ||||
| 					{{end}} | ||||
| 				</ul> | ||||
| 			</li> | ||||
| 			{{end}} | ||||
|  | ||||
| @ -27,6 +27,8 @@ | ||||
| 					{{template "repo/user_cards" .}} | ||||
| 				{{else if eq .TabName "overview"}} | ||||
| 					<div id="readme_profile" class="markup">{{.ProfileReadme}}</div> | ||||
| 				{{else if eq .TabName "organizations"}} | ||||
| 					{{template "repo/user_cards" .}} | ||||
| 				{{else}} | ||||
| 					{{template "shared/repo_search" .}} | ||||
| 					{{template "explore/repo_list" .}} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user