Skip to content

Commit d3f415d

Browse files
committed
split Propfile README to a new tab overview
like user profile, add a new overviw tab to show profile READEME when it is exist. Signed-off-by: a1012112796 <[email protected]>
1 parent 4e7b067 commit d3f415d

File tree

6 files changed

+63
-34
lines changed

6 files changed

+63
-34
lines changed

routers/web/org/home.go

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"code.gitea.io/gitea/models/organization"
1313
repo_model "code.gitea.io/gitea/models/repo"
1414
"code.gitea.io/gitea/modules/base"
15-
"code.gitea.io/gitea/modules/git"
1615
"code.gitea.io/gitea/modules/log"
1716
"code.gitea.io/gitea/modules/markup"
1817
"code.gitea.io/gitea/modules/markup/markdown"
@@ -100,10 +99,35 @@ func Home(ctx *context.Context) {
10099
private := ctx.FormOptionalBool("private")
101100
ctx.Data["IsPrivate"] = private
102101

102+
err := shared_user.LoadHeaderCount(ctx)
103+
if err != nil {
104+
ctx.ServerError("LoadHeaderCount", err)
105+
return
106+
}
107+
108+
opts := &organization.FindOrgMembersOpts{
109+
OrgID: org.ID,
110+
PublicOnly: ctx.Org.PublicMemberOnly,
111+
ListOptions: db.ListOptions{Page: 1, PageSize: 25},
112+
}
113+
members, _, err := organization.FindOrgMembers(ctx, opts)
114+
if err != nil {
115+
ctx.ServerError("FindOrgMembers", err)
116+
return
117+
}
118+
ctx.Data["Members"] = members
119+
ctx.Data["Teams"] = ctx.Org.Teams
120+
ctx.Data["DisableNewPullMirrors"] = setting.Mirror.DisableNewPull
121+
ctx.Data["ShowMemberAndTeamTab"] = ctx.Org.IsMember || len(members) > 0
122+
123+
prepareOrgProfileReadme(ctx)
124+
if ctx.Written() {
125+
return
126+
}
127+
103128
var (
104129
repos []*repo_model.Repository
105130
count int64
106-
err error
107131
)
108132
repos, count, err = repo_model.SearchRepository(ctx, &repo_model.SearchRepoOptions{
109133
ListOptions: db.ListOptions{
@@ -128,49 +152,32 @@ func Home(ctx *context.Context) {
128152
return
129153
}
130154

131-
opts := &organization.FindOrgMembersOpts{
132-
OrgID: org.ID,
133-
PublicOnly: ctx.Org.PublicMemberOnly,
134-
ListOptions: db.ListOptions{Page: 1, PageSize: 25},
135-
}
136-
members, _, err := organization.FindOrgMembers(ctx, opts)
137-
if err != nil {
138-
ctx.ServerError("FindOrgMembers", err)
139-
return
140-
}
141-
142155
ctx.Data["Repos"] = repos
143156
ctx.Data["Total"] = count
144-
ctx.Data["Members"] = members
145-
ctx.Data["Teams"] = ctx.Org.Teams
146-
ctx.Data["DisableNewPullMirrors"] = setting.Mirror.DisableNewPull
147157
ctx.Data["PageIsViewRepositories"] = true
148158

149-
err = shared_user.LoadHeaderCount(ctx)
150-
if err != nil {
151-
ctx.ServerError("LoadHeaderCount", err)
152-
return
153-
}
154-
155159
pager := context.NewPagination(int(count), setting.UI.User.RepoPagingNum, page, 5)
156160
pager.SetDefaultParams(ctx)
157161
pager.AddParamString("language", language)
158162
ctx.Data["Page"] = pager
159163

160-
ctx.Data["ShowMemberAndTeamTab"] = ctx.Org.IsMember || len(members) > 0
161-
162-
profileDbRepo, profileGitRepo, profileReadmeBlob, profileClose := shared_user.FindUserProfileReadme(ctx, ctx.Doer)
163-
defer profileClose()
164-
prepareOrgProfileReadme(ctx, profileGitRepo, profileDbRepo, profileReadmeBlob)
165-
166164
ctx.HTML(http.StatusOK, tplOrgHome)
167165
}
168166

169-
func prepareOrgProfileReadme(ctx *context.Context, profileGitRepo *git.Repository, profileDbRepo *repo_model.Repository, profileReadme *git.Blob) {
167+
func prepareOrgProfileReadme(ctx *context.Context) {
168+
profileDbRepo, profileGitRepo, profileReadme, profileClose := shared_user.FindUserProfileReadme(ctx, ctx.Doer)
169+
defer profileClose()
170+
ctx.Data["HasProfileReadme"] = profileReadme != nil
171+
170172
if profileGitRepo == nil || profileReadme == nil {
171173
return
172174
}
173175

176+
viewRepositorys := ctx.FormOptionalBool("view_repositorys")
177+
if viewRepositorys.Value() {
178+
return
179+
}
180+
174181
if bytes, err := profileReadme.GetBlobContent(setting.UI.MaxDisplayFileSize); err != nil {
175182
log.Error("failed to GetBlobContent: %v", err)
176183
} else {
@@ -190,4 +197,7 @@ func prepareOrgProfileReadme(ctx *context.Context, profileGitRepo *git.Repositor
190197
ctx.Data["ProfileReadme"] = profileContent
191198
}
192199
}
200+
201+
ctx.Data["PageIsViewOverview"] = true
202+
ctx.HTML(http.StatusOK, tplOrgHome)
193203
}

routers/web/org/members.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ func Members(ctx *context.Context) {
5454
return
5555
}
5656

57-
err = shared_user.LoadHeaderCount(ctx)
57+
err = shared_user.RenderOrgHeader(ctx)
5858
if err != nil {
59-
ctx.ServerError("LoadHeaderCount", err)
59+
ctx.ServerError("RenderOrgHeader", err)
6060
return
6161
}
6262

routers/web/org/teams.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,9 @@ func Teams(ctx *context.Context) {
5959
}
6060
ctx.Data["Teams"] = ctx.Org.Teams
6161

62-
err := shared_user.LoadHeaderCount(ctx)
62+
err := shared_user.RenderOrgHeader(ctx)
6363
if err != nil {
64-
ctx.ServerError("LoadHeaderCount", err)
64+
ctx.ServerError("RenderOrgHeader", err)
6565
return
6666
}
6767

routers/web/shared/user/header.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,3 +162,15 @@ func LoadHeaderCount(ctx *context.Context) error {
162162

163163
return nil
164164
}
165+
166+
func RenderOrgHeader(ctx *context.Context) error {
167+
if err := LoadHeaderCount(ctx); err != nil {
168+
return err
169+
}
170+
171+
_, _, profileReadmeBlob, profileClose := FindUserProfileReadme(ctx, ctx.Doer)
172+
defer profileClose()
173+
ctx.Data["HasProfileReadme"] = profileReadmeBlob != nil
174+
175+
return nil
176+
}

templates/org/home.tmpl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@
88
{{if .ProfileReadme}}
99
<div id="readme_profile" class="markup">{{.ProfileReadme}}</div>
1010
{{end}}
11+
{{if .PageIsViewRepositories}}
1112
{{template "shared/repo_search" .}}
1213
{{template "explore/repo_list" .}}
1314
{{template "base/paginate" .}}
15+
{{end}}
1416
</div>
1517

1618
{{if .ShowMemberAndTeamTab}}

templates/org/menu.tmpl

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
<div class="ui container">
22
<overflow-menu class="ui secondary pointing tabular borderless menu tw-mb-4">
33
<div class="overflow-menu-items">
4-
<a class="{{if .PageIsViewRepositories}}active {{end}}item" href="{{$.Org.HomeLink}}">
4+
{{if .HasProfileReadme}}
5+
<a class="{{if .PageIsViewOverview}}active {{end}}item" href="{{$.Org.HomeLink}}">
6+
{{svg "octicon-info"}} {{ctx.Locale.Tr "user.overview"}}
7+
</a>
8+
{{end}}
9+
<a class="{{if .PageIsViewRepositories}}active {{end}}item" href="{{$.Org.HomeLink}}{{if .HasProfileReadme}}?view_repositorys=true{{end}}">
510
{{svg "octicon-repo"}} {{ctx.Locale.Tr "user.repositories"}}
611
{{if .RepoCount}}
712
<div class="ui small label">{{.RepoCount}}</div>

0 commit comments

Comments
 (0)