mirror of
https://github.com/go-gitea/gitea.git
synced 2026-05-16 10:27:36 +02:00
refactor repo settings for LimitSize and new gitea, size can be entered in XX YY where YY is the MiB MB etc
This commit is contained in:
parent
56d388e111
commit
4bda9b8d91
@ -15,6 +15,7 @@ import (
|
||||
repo_model "code.gitea.io/gitea/models/repo"
|
||||
unit_model "code.gitea.io/gitea/models/unit"
|
||||
user_model "code.gitea.io/gitea/models/user"
|
||||
"code.gitea.io/gitea/modules/base"
|
||||
"code.gitea.io/gitea/modules/git"
|
||||
"code.gitea.io/gitea/modules/gitrepo"
|
||||
"code.gitea.io/gitea/modules/indexer/code"
|
||||
@ -213,18 +214,28 @@ func handleSettingsPostUpdate(ctx *context.Context) {
|
||||
repo.Website = form.Website
|
||||
repo.IsTemplate = form.Template
|
||||
|
||||
if form.RepoSizeLimit < 0 {
|
||||
var repoSizeLimit int64
|
||||
var err error
|
||||
if form.RepoSizeLimit != "" {
|
||||
repoSizeLimit, err = base.GetFileSize(form.RepoSizeLimit)
|
||||
if err != nil {
|
||||
ctx.Data["Err_RepoSizeLimit"] = true
|
||||
ctx.RenderWithErr(ctx.Tr("repo.form.invalid_repo_size_limit"), tplSettingsOptions, &form)
|
||||
return
|
||||
}
|
||||
}
|
||||
if repoSizeLimit < 0 {
|
||||
ctx.Data["Err_RepoSizeLimit"] = true
|
||||
ctx.RenderWithErr(ctx.Tr("repo.form.repo_size_limit_negative"), tplSettingsOptions, &form)
|
||||
return
|
||||
}
|
||||
|
||||
if !ctx.Doer.IsAdmin && repo.SizeLimit != form.RepoSizeLimit {
|
||||
if !ctx.Doer.IsAdmin && repo.SizeLimit != repoSizeLimit {
|
||||
ctx.Data["Err_RepoSizeLimit"] = true
|
||||
ctx.RenderWithErr(ctx.Tr("repo.form.repo_size_limit_only_by_admins"), tplSettingsOptions, &form)
|
||||
return
|
||||
}
|
||||
repo.SizeLimit = form.RepoSizeLimit
|
||||
repo.SizeLimit = repoSizeLimit
|
||||
|
||||
if err := repo_service.UpdateRepository(ctx, repo, false); err != nil {
|
||||
ctx.ServerError("UpdateRepository", err)
|
||||
|
||||
@ -113,7 +113,7 @@ type RepoSettingForm struct {
|
||||
PushMirrorInterval string
|
||||
Template bool
|
||||
EnablePrune bool
|
||||
RepoSizeLimit int64
|
||||
RepoSizeLimit string
|
||||
|
||||
// Advanced settings
|
||||
EnableCode bool
|
||||
|
||||
@ -13,18 +13,18 @@
|
||||
<input name="repo_name" value="{{.Repository.Name}}" data-repo-name="{{.Repository.Name}}" required>
|
||||
</div>
|
||||
<div class="inline field">
|
||||
<label>{{ctx.locale.Tr "repo.repo_size"}}</label>
|
||||
<label>{{ctx.Locale.Tr "repo.repo_size"}}</label>
|
||||
<span {{if .Err_RepoSize}}class="ui text red"{{end}} {{if not (eq .Repository.Size 0)}} data-tooltip-content="{{.Repository.SizeDetailsString}}"{{end}}>{{FileSize .Repository.Size}}
|
||||
{{if and .ActualSizeLimit .EnableSizeLimit}}
|
||||
/{{FileSize .ActualSizeLimit}}
|
||||
/ {{FileSize .ActualSizeLimit}}
|
||||
{{end}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="field {{if .Err_RepoSizeLimit}}error{{end}}" {{if not .IsAdmin}}style="display:none;"{{end}}>
|
||||
<label for="repo_size_limit">{{.locale.Tr "repo.repo_size_limit"}}</label>
|
||||
<label for="repo_size_limit">{{ctx.Locale.Tr "repo.repo_size_limit"}}</label>
|
||||
<input id="repo_size_limit" name="repo_size_limit"
|
||||
{{if not .EnableSizeLimit}}class="ui text light grey"{{end}}
|
||||
type="number" value="{{.Repository.SizeLimit}}" data-repo-size-limit="{{.Repository.SizeLimit}}">
|
||||
type="text" value="{{if .Repository.SizeLimit}}{{FileSize .Repository.SizeLimit}}{{end}}">
|
||||
</div>
|
||||
<div class="inline field">
|
||||
<label>{{ctx.Locale.Tr "repo.template"}}</label>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user