init
This commit is contained in:
24
templates/package/shared/cargo.tmpl
Normal file
24
templates/package/shared/cargo.tmpl
Normal file
@ -0,0 +1,24 @@
|
||||
<h4 class="ui top attached header">
|
||||
{{ctx.Locale.Tr "packages.owner.settings.cargo.title"}}
|
||||
</h4>
|
||||
<div class="ui attached segment">
|
||||
<div class="ui form">
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cargo.initialize.description"}}</label>
|
||||
</div>
|
||||
<form class="field" action="{{.Link}}/cargo/initialize" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "packages.owner.settings.cargo.initialize"}}</button>
|
||||
</form>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cargo.rebuild.description"}}</label>
|
||||
</div>
|
||||
<form class="field" action="{{.Link}}/cargo/rebuild" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
<button class="ui primary button">{{ctx.Locale.Tr "packages.owner.settings.cargo.rebuild"}}</button>
|
||||
</form>
|
||||
<div class="field">
|
||||
<label>{{ctx.Locale.Tr "packages.registry.documentation" "Cargo" "https://docs.gitea.com/usage/packages/cargo/"}}</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
73
templates/package/shared/cleanup_rules/edit.tmpl
Normal file
73
templates/package/shared/cleanup_rules/edit.tmpl
Normal file
@ -0,0 +1,73 @@
|
||||
<h4 class="ui top attached header">{{if .IsEditRule}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.edit"}}{{else}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.add"}}{{end}}</h4>
|
||||
<div class="ui attached segment">
|
||||
<form class="ui form" action="{{.Link}}" method="post">
|
||||
{{.CsrfTokenHtml}}
|
||||
<input name="id" type="hidden" value="{{.CleanupRule.ID}}">
|
||||
<div class="field">
|
||||
<div class="ui checkbox">
|
||||
<label>{{ctx.Locale.Tr "enabled"}}</label>
|
||||
<input type="checkbox" name="enabled" {{if .CleanupRule.Enabled}}checked{{end}}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="{{if .IsEditRule}}disabled {{end}}field {{if .Err_Type}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.filter.type"}}</label>
|
||||
<select class="ui selection dropdown" name="type">
|
||||
{{range $type := .AvailableTypes}}
|
||||
<option{{if eq $.CleanupRule.Type $type}} selected="selected"{{end}} value="{{$type}}">{{$type.Name}}</option>
|
||||
{{end}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="field">
|
||||
<div class="ui checkbox">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.pattern_full_match"}}</label>
|
||||
<input type="checkbox" name="match_full_name" {{if .CleanupRule.MatchFullName}}checked{{end}}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.title"}}</p>
|
||||
<div class="field {{if .Err_KeepCount}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count"}}:</label>
|
||||
<select class="ui selection dropdown" name="keep_count">
|
||||
<option{{if eq .CleanupRule.KeepCount 0}} selected="selected"{{end}} value="0"></option>
|
||||
<option{{if eq .CleanupRule.KeepCount 1}} selected="selected"{{end}} value="1">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.1"}}</option>
|
||||
<option{{if eq .CleanupRule.KeepCount 5}} selected="selected"{{end}} value="5">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" 5}}</option>
|
||||
<option{{if eq .CleanupRule.KeepCount 10}} selected="selected"{{end}} value="10">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" 10}}</option>
|
||||
<option{{if eq .CleanupRule.KeepCount 25}} selected="selected"{{end}} value="25">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" 25}}</option>
|
||||
<option{{if eq .CleanupRule.KeepCount 50}} selected="selected"{{end}} value="50">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" 50}}</option>
|
||||
<option{{if eq .CleanupRule.KeepCount 100}} selected="selected"{{end}} value="100">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" 100}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field {{if .Err_KeepPattern}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern"}}:</label>
|
||||
<input name="keep_pattern" type="text" value="{{.CleanupRule.KeepPattern}}">
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern.container"}}</p>
|
||||
</div>
|
||||
<div class="divider"></div>
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.title"}}</p>
|
||||
<div class="field {{if .Err_RemoveDays}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.days"}}:</label>
|
||||
<select class="ui selection dropdown" name="remove_days">
|
||||
<option{{if eq .CleanupRule.RemoveDays 0}} selected="selected"{{end}} value="0"></option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 7}} selected="selected"{{end}} value="7">{{ctx.Locale.Tr "tool.days" 7}}</option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 14}} selected="selected"{{end}} value="14">{{ctx.Locale.Tr "tool.days" 14}}</option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 30}} selected="selected"{{end}} value="30">{{ctx.Locale.Tr "tool.days" 30}}</option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 60}} selected="selected"{{end}} value="60">{{ctx.Locale.Tr "tool.days" 60}}</option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 90}} selected="selected"{{end}} value="90">{{ctx.Locale.Tr "tool.days" 90}}</option>
|
||||
<option{{if eq .CleanupRule.RemoveDays 180}} selected="selected"{{end}} value="180">{{ctx.Locale.Tr "tool.days" 180}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="field {{if .Err_RemovePattern}}error{{end}}">
|
||||
<label>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.pattern"}}:</label>
|
||||
<input name="remove_pattern" type="text" value="{{.CleanupRule.RemovePattern}}">
|
||||
</div>
|
||||
<div class="field">
|
||||
{{if .IsEditRule}}
|
||||
<button class="ui primary button" name="action" value="save">{{ctx.Locale.Tr "save"}}</button>
|
||||
<button class="ui red button" name="action" value="remove">{{ctx.Locale.Tr "remove"}}</button>
|
||||
<a class="ui button" href="{{.Link}}/preview">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview"}}</a>
|
||||
{{else}}
|
||||
<button class="ui primary button" name="action" value="save">{{ctx.Locale.Tr "add"}}</button>
|
||||
{{end}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
56
templates/package/shared/cleanup_rules/list.tmpl
Normal file
56
templates/package/shared/cleanup_rules/list.tmpl
Normal file
@ -0,0 +1,56 @@
|
||||
<h4 class="ui top attached header">
|
||||
{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.title"}}
|
||||
<div class="ui right">
|
||||
<a class="ui primary tiny button" href="{{.Link}}/rules/add">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.add"}}</a>
|
||||
</div>
|
||||
</h4>
|
||||
<div class="ui attached segment">
|
||||
<div class="flex-list">
|
||||
{{range .CleanupRules}}
|
||||
<div class="flex-item">
|
||||
<div class="flex-item-leading">
|
||||
{{svg .Type.SVGName 32}}
|
||||
</div>
|
||||
<div class="flex-item-main">
|
||||
<div class="flex-item-title">
|
||||
<a class="item" href="{{$.Link}}/rules/{{.ID}}">{{.Type.Name}}</a>
|
||||
</div>
|
||||
<div class="flex-item-body">
|
||||
<i>{{if .Enabled}}{{ctx.Locale.Tr "enabled"}}{{else}}{{ctx.Locale.Tr "disabled"}}{{end}}</i>
|
||||
</div>
|
||||
{{if .KeepCount}}
|
||||
<div class="flex-item-body">
|
||||
<i>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count"}}:</i> {{if eq .KeepCount 1}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.1"}}{{else}}{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.count.n" .KeepCount}}{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{if .KeepPattern}}
|
||||
<div class="flex-item-body">
|
||||
<i>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.keep.pattern"}}:</i> {{StringUtils.EllipsisString .KeepPattern 100}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{if .RemoveDays}}
|
||||
<div class="flex-item-body">
|
||||
<i>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.days"}}:</i> {{ctx.Locale.Tr "tool.days" .RemoveDays}}
|
||||
</div>
|
||||
{{end}}
|
||||
{{if .RemovePattern}}
|
||||
<div class="flex-item-body">
|
||||
<i>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.remove.pattern"}}:</i> {{StringUtils.EllipsisString .RemovePattern 100}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="flex-item-trailing">
|
||||
<div class="ui dropdown tiny basic button">
|
||||
{{svg "octicon-kebab-horizontal"}}
|
||||
<div class="menu">
|
||||
<a class="item" href="{{$.Link}}/rules/{{.ID}}">{{ctx.Locale.Tr "edit"}}</a>
|
||||
<a class="item" href="{{$.Link}}/rules/{{.ID}}/preview">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview"}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="item">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.none"}}</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
34
templates/package/shared/cleanup_rules/preview.tmpl
Normal file
34
templates/package/shared/cleanup_rules/preview.tmpl
Normal file
@ -0,0 +1,34 @@
|
||||
<h4 class="ui top attached header">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview"}}</h4>
|
||||
<div class="ui attached segment">
|
||||
<p>{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview.overview" (len .VersionsToRemove)}}</p>
|
||||
</div>
|
||||
<div class="ui attached table segment">
|
||||
<table class="ui very basic striped table unstackable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.type"}}</th>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.name"}}</th>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.version"}}</th>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.creator"}}</th>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.size"}}</th>
|
||||
<th>{{ctx.Locale.Tr "admin.packages.published"}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{range .VersionsToRemove}}
|
||||
<tr>
|
||||
<td>{{.Package.Type.Name}}</td>
|
||||
<td>{{.Package.Name}}</td>
|
||||
<td><a href="{{.VersionWebLink}}">{{.Version.Version}}</a></td>
|
||||
<td><a href="{{.Creator.HomeLink}}">{{.Creator.Name}}</a></td>
|
||||
<td>{{FileSize .CalculateBlobSize}}</td>
|
||||
<td>{{DateTime "short" .Version.CreatedUnix}}</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
<tr>
|
||||
<td colspan="6">{{ctx.Locale.Tr "packages.owner.settings.cleanuprules.preview.none"}}</td>
|
||||
</tr>
|
||||
{{end}}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
57
templates/package/shared/list.tmpl
Normal file
57
templates/package/shared/list.tmpl
Normal file
@ -0,0 +1,57 @@
|
||||
{{template "base/alert" .}}
|
||||
{{if .HasPackages}}
|
||||
<form class="ui form ignore-dirty">
|
||||
<div class="ui small fluid action input">
|
||||
{{template "shared/search/input" dict "Value" .Query "Placeholder" (ctx.Locale.Tr "search.package_kind")}}
|
||||
<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>
|
||||
{{end}}
|
||||
<div>
|
||||
{{range .PackageDescriptors}}
|
||||
<div class="flex-list">
|
||||
<div class="flex-item">
|
||||
<div class="flex-item-main">
|
||||
<div class="flex-item-title">
|
||||
<a href="{{.VersionWebLink}}">{{.Package.Name}}</a>
|
||||
<span class="ui label">{{svg .Package.Type.SVGName 16}} {{.Package.Type.Name}}</span>
|
||||
</div>
|
||||
<div class="flex-item-body">
|
||||
{{$timeStr := TimeSinceUnix .Version.CreatedUnix ctx.Locale}}
|
||||
{{$hasRepositoryAccess := false}}
|
||||
{{if .Repository}}
|
||||
{{$hasRepositoryAccess = index $.RepositoryAccessMap .Repository.ID}}
|
||||
{{end}}
|
||||
{{if $hasRepositoryAccess}}
|
||||
{{ctx.Locale.Tr "packages.published_by_in" $timeStr .Creator.HomeLink .Creator.GetDisplayName .Repository.Link .Repository.FullName}}
|
||||
{{else}}
|
||||
{{ctx.Locale.Tr "packages.published_by" $timeStr .Creator.HomeLink .Creator.GetDisplayName}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
{{if not .HasPackages}}
|
||||
<div class="empty-placeholder">
|
||||
{{svg "octicon-package" 48}}
|
||||
<h2>{{ctx.Locale.Tr "packages.empty"}}</h2>
|
||||
{{if and .Repository .CanWritePackages}}
|
||||
{{$packagesUrl := URLJoin .Owner.HomeLink "-" "packages"}}
|
||||
<p>{{ctx.Locale.Tr "packages.empty.repo" $packagesUrl}}</p>
|
||||
{{end}}
|
||||
<p>{{ctx.Locale.Tr "packages.empty.documentation" "https://docs.gitea.com/usage/packages/overview/"}}</p>
|
||||
</div>
|
||||
{{else}}
|
||||
<p class="tw-py-4">{{ctx.Locale.Tr "packages.filter.no_result"}}</p>
|
||||
{{end}}
|
||||
{{end}}
|
||||
{{template "base/paginate" .}}
|
||||
</div>
|
37
templates/package/shared/versionlist.tmpl
Normal file
37
templates/package/shared/versionlist.tmpl
Normal file
@ -0,0 +1,37 @@
|
||||
<p><a href="{{.PackageDescriptor.PackageWebLink}}">{{.PackageDescriptor.Package.Name}}</a> / <strong>{{ctx.Locale.Tr "packages.versions"}}</strong></p>
|
||||
<form class="ui form ignore-dirty">
|
||||
<div class="ui small fluid action input">
|
||||
{{template "shared/search/input" dict "Value" .Query "Placeholder" (ctx.Locale.Tr "search.package_kind")}}
|
||||
<select class="ui small dropdown" name="sort">
|
||||
<option value="version_asc"{{if eq .Sort "version_asc"}} selected="selected"{{end}}>{{ctx.Locale.Tr "filter.string.asc"}}</option>
|
||||
<option value="version_desc"{{if eq .Sort "version_desc"}} selected="selected"{{end}}>{{ctx.Locale.Tr "filter.string.desc"}}</option>
|
||||
<option value="created_asc"{{if eq .Sort "created_asc"}} selected="selected"{{end}}>{{ctx.Locale.Tr "repo.issues.filter_sort.oldest"}}</option>
|
||||
<option value="created_desc"{{if or (eq .Sort "") (eq .Sort "created_desc")}} selected="selected"{{end}}>{{ctx.Locale.Tr "repo.issues.filter_sort.latest"}}</option>
|
||||
</select>
|
||||
{{if eq .PackageDescriptor.Package.Type "container"}}
|
||||
<select class="ui small dropdown" name="tagged">
|
||||
{{$isTagged := or (eq .Tagged "") (eq .Tagged "tagged")}}
|
||||
<option value="tagged"{{if $isTagged}} selected="selected"{{end}}>{{ctx.Locale.Tr "packages.filter.container.tagged"}}</option>
|
||||
<option value="untagged"{{if not $isTagged}} selected="selected"{{end}}>{{ctx.Locale.Tr "packages.filter.container.untagged"}}</option>
|
||||
</select>
|
||||
{{end}}
|
||||
{{template "shared/search/button"}}
|
||||
</div>
|
||||
</form>
|
||||
<div>
|
||||
{{range .PackageDescriptors}}
|
||||
<div class="flex-list">
|
||||
<div class="flex-item">
|
||||
<div class="flex-item-main">
|
||||
<a class="flex-item-title" href="{{.VersionWebLink}}">{{.Version.LowerVersion}}</a>
|
||||
<div class="flex-item-body">
|
||||
{{ctx.Locale.Tr "packages.published_by" (TimeSinceUnix .Version.CreatedUnix ctx.Locale) .Creator.HomeLink .Creator.GetDisplayName}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{else}}
|
||||
<p class="tw-py-4">{{ctx.Locale.Tr "packages.filter.no_result"}}</p>
|
||||
{{end}}
|
||||
{{template "base/paginate" .}}
|
||||
</div>
|
Reference in New Issue
Block a user