gitforge/templates/org/team/repositories.tmpl
Antonin Delpeuch 7eebf5642c fix: paginate list of repositories in a team (#12549)
Follow-up to #12103 / !12447, which added pagination for lists of team members. @mahlzahn has [noticed](https://codeberg.org/forgejo/forgejo/issues/12103#issuecomment-14454947) that the same problem applies to the list of repositories controlled by a team, so this PR adds pagination for that too.

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/12549
Reviewed-by: Robert Wolff <mahlzahn@posteo.de>
2026-05-14 22:30:56 +02:00

85 lines
3.3 KiB
Go HTML Template

{{template "base/head" .}}
<div role="main" aria-label="{{.Title}}" class="page-content organization teams">
{{template "org/header" .}}
<div class="ui container">
{{template "base/alert" .}}
<div class="ui stackable grid">
{{template "org/team/sidebar" .}}
<div class="ui ten wide column">
{{template "org/team/navbar" .}}
{{$canAddRemove := and $.IsOrganizationOwner (not $.Team.IncludesAllRepositories)}}
{{if $canAddRemove}}
<div class="ui attached segment tw-flex tw-flex-wrap tw-gap-2">
<form class="ui form ignore-dirty tw-flex-1 tw-flex" action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/repo/add" method="post">
<div id="search-repo-box" data-uid="{{.Org.ID}}" class="ui search">
<div class="ui input">
<input class="prompt" name="repo_name" placeholder="{{ctx.Locale.Tr "search.repo_kind"}}" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" required>
</div>
</div>
<button class="ui primary button tw-ml-2">{{ctx.Locale.Tr "add"}}</button>
</form>
<div class="tw-inline-block">
<button class="ui primary button show-modal" data-modal="#addall-repos-modal">{{ctx.Locale.Tr "add_all"}}</button>
<button class="ui red button show-modal" data-modal="#removeall-repos-modal">{{ctx.Locale.Tr "remove_all"}}</button>
</div>
</div>
{{end}}
<div class="ui attached segment">
<div class="flex-list">
{{range .Team.Repos}}
<div class="flex-item tw-items-center">
<div class="flex-item-leading">
{{template "repo/icon" .}}
</div>
<div class="flex-item-main">
<a class="flex-item-title text primary" href="{{$.Org.HomeLink}}/{{.Name | PathEscape}}">
{{$.Org.Name}}/{{.Name}}
</a>
</div>
<div class="flex-item-trailing">
{{if $canAddRemove}}
<form method="post" action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/repo/remove">
<button type="submit" class="ui red small button" name="repoid" value="{{.ID}}">{{ctx.Locale.Tr "remove"}}</button>
</form>
{{end}}
</div>
</div>
{{else}}
<div class="flex-item">
<span class="text grey tw-italic">{{ctx.Locale.Tr "org.teams.repos.none"}}</span>
</div>
{{end}}
</div>
{{template "base/paginate" .}}
</div>
</div>
</div>
</div>
</div>
<dialog id="addall-repos-modal">
<article>
<header>{{ctx.Locale.Tr "teams.add_all_repos.modal.header"}}</header>
<div class="content">
<span>{{ctx.Locale.Tr "org.teams.add_all_repos_desc"}}</span>
</div>
<form class="ui form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/repo/addall" method="post">
{{template "base/modal_actions_confirm" .}}
</form>
</article>
</dialog>
<dialog id="removeall-repos-modal">
<article>
<header>{{ctx.Locale.Tr "teams.remove_all_repos.modal.header"}}</header>
<div class="content">
<span>{{ctx.Locale.Tr "org.teams.remove_all_repos_desc"}}</span>
</div>
<form class="ui form" action="{{$.OrgLink}}/teams/{{$.Team.LowerName | PathEscape}}/action/repo/removeall" method="post">
{{template "base/modal_actions_confirm" .}}
</form>
</article>
</dialog>
{{template "base/footer" .}}