diff --git a/conf/locale/locale_de-DE.ini b/conf/locale/locale_de-DE.ini
index 4a076d97d2..53e71d853f 100755
--- a/conf/locale/locale_de-DE.ini
+++ b/conf/locale/locale_de-DE.ini
@@ -164,6 +164,7 @@ unable_verify_ssh_key=Gogs kann deinen SSH-Schlüssel nicht verifizieren, nimmt
auth_failed=Authentifizierung fehlgeschlagen: %v
still_own_repo=Dein Konto besitzt noch Repositorys. Diese müssen zuerst gelöscht oder übertragen werden.
+still_has_org=Ihr Konto noch Mitgliedschaft in der Organisation, Sie nach links oder löschen Sie sie zuerst.
org_still_own_repo=Diese Organisation besitzt noch Repositorys. Diese müssen zuerst gelöscht oder übertragen werden.
still_own_user=Diese Authentifizierung wird noch von einigen Benutzern genutzt. Entferne diese zuvor und lösche erneut.
@@ -184,6 +185,7 @@ profile=Profil
password=Passwort
ssh_keys=SSH-Schlüssel
social=Soziale Konten
+applications=Anwendungen
orgs=Organisationen
delete=Konto löschen
uid=Uid
@@ -224,6 +226,16 @@ social_desc=Dies ist eine Liste verknüpfter sozialer Konten. Entferne alle Verk
unbind=Verknüpfung entfernen
unbind_success=Die Verknüpfung zum sozialen Konto wurde entfernt.
+manage_access_token=Verwaltung persönlicher Zugangs-Tokens
+generate_new_token=Neues Token erzeugen
+tokens_desc=Die von dir erzeugten Tokens können zum Zugriff auf die Gogs-API verwendet werden.
+new_token_desc=Momentan erlaubt jedes Token vollen Zugriff auf dein Konto.
+token_name=Token-Name
+generate_token=Token erzeugen
+generate_token_succees=Neues Zugangs-Token wurde erstellt! Bitte kopiere dein persönliches Zugangs-Token jetzt. Du wirst es später nicht mehr anzeigen können!
+delete_token=Löschen
+delete_token_success=Persönliches Zugangs-Token wurde gelöscht! Vergiss nicht, auch deine Anwendungen zu aktualisieren.
+
delete_account=Konto löschen
delete_prompt=Diese Aktion wird dein Konto dauerhaft löschen und kann NICHT rückgängig gemacht werden!
confirm_delete_account=Löschen
@@ -496,9 +508,11 @@ users.update_profile_success=Kontoprofil aktualisiert
users.edit_account=Konto bearbeiten
users.is_activated=Dieses Konto ist aktiviert
users.is_admin=Dieses Konto hat Administratorrechte
+users.allow_git_hook=Dieses Konto verfügt über Berechtigungen zum Erstellen von Git hooks
users.update_profile=Kontoprofil aktualisieren
users.delete_account=Dieses Konto löschen
users.still_own_repo=Dieses Konto besitzt noch Repositorys. Diese müssen zuerst gelöscht oder übertragen werden.
+users.still_has_org=Dieses Konto noch Mitgliedschaft in der Organisation, Sie nach links oder löschen Sie sie zuerst.
orgs.org_manage_panel=Organisationenverwaltung
orgs.name=Name
diff --git a/conf/locale/locale_en-US.ini b/conf/locale/locale_en-US.ini
index 4f1442d205..a061bcb21c 100644
--- a/conf/locale/locale_en-US.ini
+++ b/conf/locale/locale_en-US.ini
@@ -508,6 +508,7 @@ users.update_profile_success = Account profile has been successfully updated.
users.edit_account = Edit Account
users.is_activated = This account is activated
users.is_admin = This account has administrator permissions
+users.allow_git_hook = This account has permissions to create Git hooks
users.update_profile = Update Account Profile
users.delete_account = Delete This Account
users.still_own_repo = This account still have ownership of repository, you have to delete or transfer them first.
diff --git a/conf/locale/locale_fr-CA.ini b/conf/locale/locale_fr-CA.ini
index 40057ef2d8..5ebe53e016 100755
--- a/conf/locale/locale_fr-CA.ini
+++ b/conf/locale/locale_fr-CA.ini
@@ -164,6 +164,7 @@ unable_verify_ssh_key=Gogs n'a pu vérifier la validité de votre clé SSH, mêm
auth_failed=Échec d'authentification : %s
still_own_repo=Votre compte comporte toujours des propriétés de Référentiel. Vous devez d'abord les supprimer ou les transférer.
+still_has_org=Votre compte a toujours membres de l'organisation, vous avez à gauche ou supprimez tout d'abord.
org_still_own_repo=Cette organisation comporte toujours des propriétés de Référentiel. Vous devez d'abord les supprimer ou les transférer.
still_own_user=Cette authentification a déjà servi à d'autres utilisateurs. Veuillez les déplacer puis supprimez à nouveau.
@@ -184,6 +185,7 @@ profile=Profil
password=Mot de Passe
ssh_keys=Clés SSH
social=Réseaux Sociaux
+applications=Applications
orgs=Organisations
delete=Supprimer le Compte
uid=ID d'Utilisateur
@@ -224,6 +226,16 @@ social_desc=Ceci est la liste des comptes de réseaux sociaux associés. Supprim
unbind=Dissocier
unbind_success=Compte de réseau social dissocié.
+manage_access_token=Gérer les jetons d'accès personnels
+generate_new_token=Générer le nouveau jeton
+tokens_desc=Jetons, que vous avez généré qui peuvent être utilisés pour accéder à l'API Gogs.
+new_token_desc=Comme pour l'instant, chaque jeton aura un accès complet à votre compte.
+token_name=Nom du jeton
+generate_token=Générer le jeton
+generate_token_succees=Nouveau jeton d'accès a été généré avec succès ! Assurez-vous de copier votre nouveau jeton d'accès personnel maintenant. Vous ne serez pas en mesure de le revoir !
+delete_token=Supprimer
+delete_token_success=Jeton d'accès personnelle a été supprimée avec succès ! N'oubliez pas de mettre à jour vos applications aussi bien.
+
delete_account=Supprimer le Compte
delete_prompt=Votre compte sera supprimé définitivement et cette opération est IRRÉVERSIBLE !
confirm_delete_account=Confirmer la suppression
@@ -496,9 +508,11 @@ users.update_profile_success=Profil mis à jour avec succès.
users.edit_account=Modifier le Compte
users.is_activated=Ce compte est activé
users.is_admin=Ce compte possède un niveau d'accès administrateur
+users.allow_git_hook=Ce compte dispose des autorisations pour créer des crochets de Git
users.update_profile=Mettre le profil à jour
users.delete_account=Supprimer ce Compte
users.still_own_repo=Ce compte comporte toujours des propriétés de Référentiel. Vous devez d'abord les supprimer ou les transférer.
+users.still_has_org=Ce compte a toujours membres de l'organisation, vous avez à gauche ou supprimez tout d'abord.
orgs.org_manage_panel=Gestion des Organisations
orgs.name=Nom
diff --git a/conf/locale/locale_nl-NL.ini b/conf/locale/locale_nl-NL.ini
index 3dce2bcafb..ab93b8e021 100755
--- a/conf/locale/locale_nl-NL.ini
+++ b/conf/locale/locale_nl-NL.ini
@@ -164,6 +164,7 @@ unable_verify_ssh_key=Gogs kan niet controleren of uw SSH-sleutel, maar wij gaan
auth_failed=Verificatie mislukt: %v
still_own_repo=Uw account heeft nog een eigendom op een repositorie. U moet deze eerst verwijderen of overdragen.
+still_has_org=Uw account nog steeds lidmaatschap van organisatie, u hebt naar links of hen eerst verwijderen.
org_still_own_repo=De organisatie heeft nog eigendomen op repositories. U moet deze eerst verwijderen of overdragen.
still_own_user=Deze authenticatie methode wordt nog gebruikt door sommige gebruikers. U moet hen eerst verplaatsen of verwijderen.
@@ -184,6 +185,7 @@ profile=Profiel
password=Wachtwoord
ssh_keys=SSH-sleutels
social=Sociale netwerk-accounts
+applications=Toepassingen
orgs=Organisaties
delete=Verwijder account
uid=uid
@@ -224,6 +226,16 @@ social_desc=Dit is een lijst van de bijbehorende sociale accounts koppelingen, V
unbind=Loskoppelen
unbind_success=Sociaal account is ontkoppeld.
+manage_access_token=Persoonlijke toegangstokens beheren
+generate_new_token=Nieuwe Token genereren
+tokens_desc=Tokens u hebt gegenereerd die kunnen worden gebruikt voor toegang tot de API Gogs.
+new_token_desc=Zoals voor nu, moet elke token zal hebben volledige toegang tot uw account.
+token_name=Symbolische naam
+generate_token=Token genereren
+generate_token_succees=Nieuwe toegangstoken is met succes gegenereerd! Zorg ervoor dat uw nieuwe persoonlijke toegangstoken nu kopiëren. U zal niet zitten kundig voor zien het weer!
+delete_token=Verwijderen
+delete_token_success=Persoonlijke toegangstoken is met succes verwijderd! Vergeet niet uw toepassingen ook wilt bijwerken.
+
delete_account=Verwijder uw account
delete_prompt=Deze handeling zal uw account definitief verwijderen, u kunt dit NIET terug draaien!
confirm_delete_account=Bevestig verwijdering
@@ -496,9 +508,11 @@ users.update_profile_success=Profiel is succesvol bijgewerkt.
users.edit_account=Bewerk account
users.is_activated=Dit account is geactiveerd
users.is_admin=Dit account heeft beheerdersrechten
+users.allow_git_hook=Deze account beschikt over machtigingen voor het maken van Git haken
users.update_profile=Account profiel bijwerken
users.delete_account=Dit account verwijderen
users.still_own_repo=Dit account is nog steeds eigendom van een repositorie. U moet deze repositorie eerst verwijderen of overdragen.
+users.still_has_org=Deze account nog steeds lidmaatschap van organisatie, u hebt naar links of hen eerst verwijderen.
orgs.org_manage_panel=Organisaties beheren
orgs.name=Naam
diff --git a/conf/locale/locale_zh-CN.ini b/conf/locale/locale_zh-CN.ini
index d22be191a0..bf1b21a427 100755
--- a/conf/locale/locale_zh-CN.ini
+++ b/conf/locale/locale_zh-CN.ini
@@ -164,6 +164,7 @@ unable_verify_ssh_key=Gogs 无法验证您输入的 SSH 密钥,但我们假设
auth_failed=授权验证失败:%v
still_own_repo=您的帐户仍然是某些仓库的拥有者,您必须先转移或删除它们才能执行删除帐户操作!
+still_has_org=您的帐户仍旧是某些组织的成员,您必须先离开或删除组织。
org_still_own_repo=该组织仍然是某些仓库的拥有者,您必须先转移或删除它们才能执行删除组织操作!
still_own_user=该授权认证依旧被部分用户使用,请先删除该部分用户后再试!
@@ -184,6 +185,7 @@ profile=个人信息
password=修改密码
ssh_keys=管理 SSH 密钥
social=社交帐号绑定
+applications=管理授权应用
orgs=管理组织
delete=删除帐户
uid=用户 ID
@@ -224,6 +226,16 @@ social_desc=以下是与您帐户所关联的社交帐号,如果您发现有
unbind=解除绑定
unbind_success=社交帐号解除绑定成功!
+manage_access_token=管理个人操作令牌
+generate_new_token=生成新的令牌
+tokens_desc=您可以使用这些已生成的令牌来操作 Gogs API。
+new_token_desc=目前为止,任何令牌都对您的帐户拥有完整的操作权限。
+token_name=令牌名称
+generate_token=生成令牌
+generate_token_succees=新的操作令牌生成成功!您必须立即复制到一个安全的地方,因为该令牌只会显示一次!
+delete_token=删除令牌
+delete_token_success=个人操作令牌删除成功!请更新与该令牌有关的所有应用。
+
delete_account=删除当前帐户
delete_prompt=删除操作会永久清除您的帐户信息,并且 不可恢复!
confirm_delete_account=确认删除帐户
@@ -482,7 +494,7 @@ dashboard.last_gc_pause=上次 GC 暂停时间
dashboard.gc_times=GC 执行次数
users.user_manage_panel=用户管理面板
-users.new_account=您尝试添加到团队的仓库不存在,请先创建仓库!
+users.new_account=创建新的帐户
users.name=用户名
users.activated=已激活
users.admin=管理员
@@ -496,9 +508,11 @@ users.update_profile_success=该用户信息更新成功!
users.edit_account=编辑用户信息
users.is_activated=该用户已被激活
users.is_admin=该用户具有管理员权限
+users.allow_git_hook=该帐户具有创建 Git 钩子的权限
users.update_profile=更新用户信息
users.delete_account=删除该用户
users.still_own_repo=该帐户仍然是某些仓库的拥有者,您必须先转移或删除它们才能执行删除帐户操作!
+users.still_has_org=该帐户仍旧是某些组织的成员,您必须先使其离开或删除组织。
orgs.org_manage_panel=组织管理面板
orgs.name=组织名称
diff --git a/conf/locale/locale_zh-HK.ini b/conf/locale/locale_zh-HK.ini
index 8cd2c50f00..25974e7d00 100755
--- a/conf/locale/locale_zh-HK.ini
+++ b/conf/locale/locale_zh-HK.ini
@@ -164,6 +164,7 @@ unable_verify_ssh_key=Gogs 無法驗證您輸入的 SSH 密鑰,但我們假設
auth_failed=授權驗證失敗:%v
still_own_repo=您的帳戶仍然是某些倉庫的擁有者,您必須先轉移或刪除它們才能執行刪除帳戶操作!
+still_has_org=您的帳戶仍舊是某些組織的成員,您必須先離開或刪除組織。
org_still_own_repo=該組織仍然是某些倉庫的擁有者,您必須先轉移或刪除它們才能執行刪除組織操作!
still_own_user=該授權認證依舊被部分用戶使用,請先刪除該部分用戶後再試!
@@ -184,6 +185,7 @@ profile=個人信息
password=修改密碼
ssh_keys=管理 SSH 密鑰
social=社交帳號綁定
+applications=管理授權應用
orgs=管理組織
delete=刪除帳戶
uid=用戶 ID
@@ -224,6 +226,16 @@ social_desc=以下是與您帳戶所關聯的社交帳號,如果您發現有
unbind=解除綁定
unbind_success=社交帳號解除綁定成功!
+manage_access_token=管理個人操作令牌
+generate_new_token=生成新的令牌
+tokens_desc=您可以使用這些已生成的令牌來操作 Gogs API。
+new_token_desc=目前為止,任何令牌都對您的帳戶擁有完整的操作權限。
+token_name=令牌名稱
+generate_token=生成令牌
+generate_token_succees=新的操作令牌生成成功!您必須立即復製到一個安全的地方,因為該令牌只會顯示一次!
+delete_token=删除令牌
+delete_token_success=個人操作令牌刪除成功!請更新與該令牌有關的所有應用。
+
delete_account=刪除當前帳戶
delete_prompt=刪除操作會永久清除您的帳戶信息,並且 不可恢復!
confirm_delete_account=確認刪除帳戶
@@ -496,9 +508,11 @@ users.update_profile_success=該用戶信息更新成功!
users.edit_account=編輯用戶信息
users.is_activated=該用戶已被激活
users.is_admin=該用戶具有管理員權限
+users.allow_git_hook=該帳戶具有創建 Git 鉤子的權限
users.update_profile=更新用戶信息
users.delete_account=刪除該用戶
users.still_own_repo=該帳戶仍然是某些倉庫的擁有者,您必須先轉移或刪除它們才能執行刪除帳戶操作!
+users.still_has_org=該帳戶仍舊是某些組織的成員,您必須先使其離開或刪除組織。
orgs.org_manage_panel=組織管理面版
orgs.name=組織名稱
diff --git a/gogs.go b/gogs.go
index 01cee6138a..e432295555 100644
--- a/gogs.go
+++ b/gogs.go
@@ -17,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/setting"
)
-const APP_VER = "0.5.8.1116 Beta"
+const APP_VER = "0.5.8.1117 Beta"
func init() {
runtime.GOMAXPROCS(runtime.NumCPU())
diff --git a/models/user.go b/models/user.go
index 7038e075f8..31f4a289ff 100644
--- a/models/user.go
+++ b/models/user.go
@@ -67,6 +67,7 @@ type User struct {
Website string
IsActive bool
IsAdmin bool
+ AllowGitHook bool
Rands string `xorm:"VARCHAR(10)"`
Salt string `xorm:"VARCHAR(10)"`
Created time.Time `xorm:"CREATED"`
diff --git a/modules/auth/admin.go b/modules/auth/admin.go
index 60ea3a3cc2..6fec6ce73e 100644
--- a/modules/auth/admin.go
+++ b/modules/auth/admin.go
@@ -11,14 +11,15 @@ import (
)
type AdminEditUserForm struct {
- Email string `form:"email" binding:"Required;Email;MaxSize(50)"`
- Passwd string `form:"password"`
- Website string `form:"website" binding:"MaxSize(50)"`
- Location string `form:"location" binding:"MaxSize(50)"`
- Avatar string `form:"avatar" binding:"Required;Email;MaxSize(50)"`
- Active bool `form:"active"`
- Admin bool `form:"admin"`
- LoginType int `form:"login_type"`
+ Email string `form:"email" binding:"Required;Email;MaxSize(50)"`
+ Passwd string `form:"password"`
+ Website string `form:"website" binding:"MaxSize(50)"`
+ Location string `form:"location" binding:"MaxSize(50)"`
+ Avatar string `form:"avatar" binding:"Required;Email;MaxSize(50)"`
+ Active bool `form:"active"`
+ Admin bool `form:"admin"`
+ AllowGitHook bool `form:"allow_git_hook"`
+ LoginType int `form:"login_type"`
}
func (f *AdminEditUserForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go
index 2d311d2131..0aae122d22 100644
--- a/modules/middleware/repo.go
+++ b/modules/middleware/repo.go
@@ -454,7 +454,7 @@ func RequireTrueOwner() macaron.Handler {
// GitHookService checks if repsitory Git hooks service has been enabled.
func GitHookService() macaron.Handler {
return func(ctx *Context) {
- if !setting.Service.EnableGitHooks {
+ if !ctx.User.AllowGitHook && !ctx.User.IsAdmin {
ctx.Handle(404, "GitHookService", nil)
return
}
diff --git a/modules/setting/setting.go b/modules/setting/setting.go
index 6b1b9fed4c..0f293b6905 100644
--- a/modules/setting/setting.go
+++ b/modules/setting/setting.go
@@ -285,7 +285,6 @@ var Service struct {
LdapAuth bool
ActiveCodeLives int
ResetPwdCodeLives int
- EnableGitHooks bool
}
func newService() {
@@ -295,7 +294,6 @@ func newService() {
Service.RequireSignInView = Cfg.MustBool("service", "REQUIRE_SIGNIN_VIEW")
Service.EnableCacheAvatar = Cfg.MustBool("service", "ENABLE_CACHE_AVATAR")
Service.EnableReverseProxyAuth = Cfg.MustBool("service", "ENABLE_REVERSE_PROXY_AUTHENTICATION")
- Service.EnableGitHooks = Cfg.MustBool("service", "ENABLE_GIT_HOOKS")
}
var logLevels = map[string]string{
diff --git a/routers/admin/users.go b/routers/admin/users.go
index ac33fd62b1..0a1056f3bd 100644
--- a/routers/admin/users.go
+++ b/routers/admin/users.go
@@ -174,7 +174,7 @@ func EditUserPost(ctx *middleware.Context, form auth.AdminEditUserForm) {
return
}
- // NOTE: need password length check?
+ // FIXME: need password length check
if len(form.Passwd) > 0 {
u.Passwd = form.Passwd
u.Salt = models.GetUserSalt()
@@ -191,6 +191,7 @@ func EditUserPost(ctx *middleware.Context, form auth.AdminEditUserForm) {
u.AvatarEmail = form.Avatar
u.IsActive = form.Active
u.IsAdmin = form.Admin
+ u.AllowGitHook = form.AllowGitHook
if err := models.UpdateUser(u); err != nil {
ctx.Handle(500, "UpdateUser", err)
return
diff --git a/routers/repo/http.go b/routers/repo/http.go
index 0ce83cef4d..2dc66449da 100644
--- a/routers/repo/http.go
+++ b/routers/repo/http.go
@@ -14,9 +14,9 @@ import (
"os"
"os/exec"
"path"
-
"path/filepath"
"regexp"
+ "runtime"
"strconv"
"strings"
"time"
@@ -184,6 +184,7 @@ func Http(ctx *middleware.Context) {
handler := HttpBackend(&config)
handler(ctx.Resp, ctx.Req.Request)
+ runtime.GC()
}
type route struct {
diff --git a/templates/.VERSION b/templates/.VERSION
index 78403f16c7..43806b4f3a 100644
--- a/templates/.VERSION
+++ b/templates/.VERSION
@@ -1 +1 @@
-0.5.8.1116 Beta
\ No newline at end of file
+0.5.8.1117 Beta
\ No newline at end of file
diff --git a/templates/admin/user/edit.tmpl b/templates/admin/user/edit.tmpl
index 1d4cf806f1..317349935e 100644
--- a/templates/admin/user/edit.tmpl
+++ b/templates/admin/user/edit.tmpl
@@ -56,15 +56,19 @@
{{.i18n.Tr "admin.users.is_activated"}}
-
-
-
- {{.i18n.Tr "admin.users.is_admin"}}
+
+
+
+ {{.i18n.Tr "admin.users.is_admin"}}
+
+
+
+ {{.i18n.Tr "admin.users.allow_git_hook"}}