{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin user")}} <div class="admin-setting-content"> <h4 class="ui top attached header"> {{ctx.Locale.Tr "admin.packages.package_manage_panel"}} ({{ctx.Locale.Tr "admin.total" .TotalCount}}, {{ctx.Locale.Tr "admin.packages.total_size" (FileSize .TotalBlobSize)}}, {{ctx.Locale.Tr "admin.packages.unreferenced_size" (FileSize .TotalUnreferencedBlobSize)}}) <div class="ui right"> <form method="post" action="{{AppSubUrl}}/admin/packages/cleanup"> {{.CsrfTokenHtml}} <button class="ui primary tiny button">{{ctx.Locale.Tr "admin.packages.cleanup"}}</button> </form> </div> </h4> <div class="ui attached segment"> <form class="ui form ignore-dirty"> <div class="ui small fluid action input"> {{template "shared/search/input" dict "Value" .Query}} <select class="ui small dropdown" name="type"> <option value="">{{ctx.Locale.Tr "packages.filter.type"}}</option> <option value="all">{{ctx.Locale.Tr "packages.filter.type.all"}}</option> {{range $type := .AvailableTypes}} <option{{if eq $.PackageType $type}} selected="selected"{{end}} value="{{$type}}">{{$type.Name}}</option> {{end}} </select> {{template "shared/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>{{ctx.Locale.Tr "admin.packages.owner"}}</th> <th>{{ctx.Locale.Tr "admin.packages.type"}}</th> <th data-sortt-asc="name_asc" data-sortt-desc="name_desc"> {{ctx.Locale.Tr "admin.packages.name"}} {{SortArrow "name_asc" "name_desc" .SortType false}} </th> <th data-sortt-asc="version_desc" data-sortt-desc="version_asc"> {{ctx.Locale.Tr "admin.packages.version"}} {{SortArrow "version_desc" "version_asc" .SortType false}} </th> <th>{{ctx.Locale.Tr "admin.packages.creator"}}</th> <th>{{ctx.Locale.Tr "admin.packages.repository"}}</th> <th>{{ctx.Locale.Tr "admin.packages.size"}}</th> <th data-sortt-asc="created_asc" data-sortt-desc="created_desc"> {{ctx.Locale.Tr "admin.packages.published"}} {{SortArrow "created_asc" "created_desc" .SortType true}} </th> <th>{{ctx.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="gt-ellipsis tw-max-w-48">{{.Package.Name}}</td> <td class="gt-ellipsis tw-max-w-48"><a href="{{.VersionWebLink}}">{{.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>{{DateTime "short" .Version.CreatedUnix}}</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 class="ui g-modal-confirm delete modal"> <div class="header"> {{svg "octicon-trash"}} {{ctx.Locale.Tr "packages.settings.delete"}} </div> <div class="content"> {{ctx.Locale.Tr "packages.settings.delete.notice" (`<span class="name"></span>`|SafeHTML) (`<span class="dataVersion"></span>`|SafeHTML)}} </div> {{template "base/modal_actions_confirm" .}} </div> {{template "admin/layout_footer" .}}