@@ -173,6 +173,8 @@ COOKIE_REMEMBER_NAME = gitea_incredible | |||
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER | |||
; Sets the minimum password length for new Users | |||
MIN_PASSWORD_LENGTH = 6 | |||
; True when users are allowed to import local server paths | |||
IMPORT_LOCAL_PATHS = false | |||
[service] | |||
ACTIVE_CODE_LIVE_MINUTES = 180 |
@@ -233,6 +233,9 @@ func (u *User) CanEditGitHook() bool { | |||
// CanImportLocal returns true if user can migrate repository by local path. | |||
func (u *User) CanImportLocal() bool { | |||
if !setting.ImportLocalPaths { | |||
return false | |||
} | |||
return u.IsAdmin || u.AllowImportLocal | |||
} | |||
@@ -114,6 +114,7 @@ var ( | |||
CookieRememberName string | |||
ReverseProxyAuthUser string | |||
MinPasswordLength int | |||
ImportLocalPaths bool | |||
// Database settings | |||
UseSQLite3 bool | |||
@@ -712,6 +713,7 @@ please consider changing to GITEA_CUSTOM`) | |||
CookieRememberName = sec.Key("COOKIE_REMEMBER_NAME").MustString("gitea_incredible") | |||
ReverseProxyAuthUser = sec.Key("REVERSE_PROXY_AUTHENTICATION_USER").MustString("X-WEBAUTH-USER") | |||
MinPasswordLength = sec.Key("MIN_PASSWORD_LENGTH").MustInt(6) | |||
ImportLocalPaths = sec.Key("IMPORT_LOCAL_PATHS").MustBool(false) | |||
sec = Cfg.Section("attachment") | |||
AttachmentPath = sec.Key("PATH").MustString(path.Join(AppDataPath, "attachments")) | |||
@@ -897,11 +899,11 @@ func newLogService() { | |||
useConsole := false | |||
for _, mode := range LogModes { | |||
if mode == "console" { | |||
if mode == "console" { | |||
useConsole = true | |||
} | |||
} | |||
if (!useConsole) { | |||
if !useConsole { | |||
log.DelLogger("console") | |||
} | |||
@@ -425,7 +425,8 @@ migrate_type = Migration Type | |||
migrate_type_helper = This repository will be a <span class="text blue">mirror</span> | |||
migrate_repo = Migrate Repository | |||
migrate.clone_address = Clone Address | |||
migrate.clone_address_desc = This can be a HTTP/HTTPS/GIT URL or local server path. | |||
migrate.clone_address_desc = This can be a HTTP/HTTPS/GIT URL | |||
migrate.clone_local_path = or local server path | |||
migrate.permission_denied = You are not allowed to import local repositories. | |||
migrate.invalid_local_path = Invalid local path, it does not exist or not a directory. | |||
migrate.failed = Migration failed: %v |
@@ -384,7 +384,8 @@ migrate_type=Migratie type | |||
migrate_type_helper=Deze repository zal een <span class="text blue">kopie</span> zijn | |||
migrate_repo=Migreer repository | |||
migrate.clone_address=Kloon adres | |||
migrate.clone_address_desc=Dit kan een HTTP/HTTPS/GIT URL zijn of een lokaal pad. | |||
migrate.clone_address_desc=Dit kan een HTTP/HTTPS/GIT URL zijn | |||
migrate.clone_local_path =of een lokaal pad | |||
migrate.permission_denied=U bent niet gemachtigd om deze lokale repositories te importeren. | |||
migrate.invalid_local_path=Ongeldig lokaal pad, het pad bestaat niet of het is geen map. | |||
migrate.failed=Migratie is mislukt: %v |
@@ -12,7 +12,7 @@ | |||
<div class="inline required field {{if .Err_CloneAddr}}error{{end}}"> | |||
<label for="clone_addr">{{.i18n.Tr "repo.migrate.clone_address"}}</label> | |||
<input id="clone_addr" name="clone_addr" value="{{.clone_addr}}" autofocus required> | |||
<span class="help">{{.i18n.Tr "repo.migrate.clone_address_desc"}}</span> | |||
<span class="help">{{.i18n.Tr "repo.migrate.clone_address_desc"}}{{if .ContextUser.CanImportLocal}} {{.i18n.Tr "repo.migrate.clone_local_path"}}{{end}}</span> | |||
</div> | |||
<div class="ui accordion optional field"> | |||
<div class="title {{if .Err_Auth}}text red active{{end}}"> |