forgejo/templates/admin/packages/list.tmpl
KN4CK3R 41c76ad714
Add support for Vagrant packages (#20930)
* Add support for Vagrant boxes.

* Add authentication.

* Add tests.

* Add integration tests.

* Add docs.

* Add icons.

* Update routers/api/packages/api.go

Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: 6543 <6543@obermui.de>
2022-08-29 15:04:45 +08:00

101 lines
4.7 KiB
Handlebars

{{template "base/head" .}}
<div class="page-content admin user">
{{template "admin/navbar" .}}
<div class="ui container">
{{template "base/alert" .}}
<h4 class="ui top attached header">
{{.locale.Tr "admin.packages.package_manage_panel"}} ({{.locale.Tr "admin.total" .Total}}, {{.locale.Tr "admin.packages.total_size" (FileSize .TotalBlobSize)}})
</h4>
<div class="ui attached segment">
<form class="ui form ignore-dirty">
<div class="ui fluid action input">
<input name="q" value="{{.Query}}" placeholder="{{.locale.Tr "explore.search"}}..." autofocus>
<select class="ui dropdown" name="type">
<option value="">{{.locale.Tr "packages.filter.type"}}</option>
<option value="all">{{.locale.Tr "packages.filter.type.all"}}</option>
<option value="composer" {{if eq .PackageType "composer"}}selected="selected"{{end}}>Composer</option>
<option value="conan" {{if eq .PackageType "conan"}}selected="selected"{{end}}>Conan</option>
<option value="container" {{if eq .PackageType "container"}}selected="selected"{{end}}>Container</option>
<option value="generic" {{if eq .PackageType "generic"}}selected="selected"{{end}}>Generic</option>
<option value="helm" {{if eq .PackageType "helm"}}selected="selected"{{end}}>Helm</option>
<option value="maven" {{if eq .PackageType "maven"}}selected="selected"{{end}}>Maven</option>
<option value="npm" {{if eq .PackageType "npm"}}selected="selected"{{end}}>npm</option>
<option value="nuget" {{if eq .PackageType "nuget"}}selected="selected"{{end}}>NuGet</option>
<option value="pub" {{if eq .PackageType "pub"}}selected="selected"{{end}}>Pub</option>
<option value="pypi" {{if eq .PackageType "pypi"}}selected="selected"{{end}}>PyPi</option>
<option value="rubygems" {{if eq .PackageType "rubygems"}}selected="selected"{{end}}>RubyGems</option>
<option value="vagrant" {{if eq .PackageType "vagrant"}}selected="selected"{{end}}>Vagrant</option>
</select>
<button class="ui primary button">{{.locale.Tr "explore.search"}}</button>
</div>
</form>
</div>
<div class="ui attached table segment">
<table class="ui very basic striped table unstackable">
<thead>
<tr>
<th>ID</th>
<th>{{.locale.Tr "admin.packages.owner"}}</th>
<th>{{.locale.Tr "admin.packages.type"}}</th>
<th data-sortt-asc="alphabetically" data-sortt-desc="reversealphabetically">
{{.locale.Tr "admin.packages.name"}}
{{SortArrow "alphabetically" "reversealphabetically" .SortType false}}
</th>
<th data-sortt-asc="highestversion" data-sortt-desc="lowestversion">
{{.locale.Tr "admin.packages.version"}}
{{SortArrow "highestversion" "lowestversion" .SortType false}}
</th>
<th>{{.locale.Tr "admin.packages.creator"}}</th>
<th>{{.locale.Tr "admin.packages.repository"}}</th>
<th>{{.locale.Tr "admin.packages.size"}}</th>
<th data-sortt-asc="oldest" data-sortt-desc="newest">
{{.locale.Tr "admin.packages.published"}}
{{SortArrow "oldest" "newest" .SortType true}}
</th>
<th>{{.locale.Tr "admin.notices.op"}}</th>
</tr>
</thead>
<tbody>
{{range .PackageDescriptors}}
<tr>
<td>{{.Version.ID}}</td>
<td>
<a href="{{.Owner.HomeLink}}">{{.Owner.Name}}</a>
{{if .Owner.Visibility.IsPrivate}}
<span class="text gold">{{svg "octicon-lock"}}</span>
{{end}}
</td>
<td>{{.Package.Type.Name}}</td>
<td class="text truncate email">{{.Package.Name}}</td>
<td><a href="{{.FullWebLink}}" class="text truncate email">{{.Version.Version}}</a></td>
<td><a href="{{.Creator.HomeLink}}">{{.Creator.Name}}</a></td>
<td>
{{if .Repository}}
<a href="{{.Repository.Link}}">{{.Repository.Name}}</a>
{{end}}
</td>
<td>{{FileSize .CalculateBlobSize}}</td>
<td><span title="{{.Version.CreatedUnix.FormatLong}}">{{.Version.CreatedUnix.FormatShort}}</span></td>
<td><a class="delete-button" href="" data-url="{{$.Link}}/delete?page={{$.Page.Paginater.Current}}&sort={{$.SortType}}" data-id="{{.Version.ID}}" data-name="{{.Package.Name}}" data-data-version="{{.Version.Version}}">{{svg "octicon-trash"}}</a></td>
</tr>
{{end}}
</tbody>
</table>
</div>
{{template "base/paginate" .}}
</div>
</div>
<div class="ui small basic delete modal">
<div class="ui icon header">
{{svg "octicon-trash"}}
{{.locale.Tr "packages.settings.delete"}}
</div>
<div class="content">
{{.locale.Tr "packages.settings.delete.notice" `<span class="name"></span>` `<span class="dataVersion"></span>` | Safe}}
</div>
{{template "base/delete_modal_actions" .}}
</div>
{{template "base/footer" .}}