diff --git a/README.md b/README.md index f14c4c1ba..0501d7efb 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,9 @@ There are 5 ways to install Gogs: ## Contributors -The [core team](http://gogs.io/team) of this project. See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for full list of contributors. +- The [core team](http://gogs.io/team) of this project. +- See [contributors page](https://github.com/gogits/gogs/graphs/contributors) for full list of contributors. +- See [TRANSLATORS](conf/locale/TRANSLATORS) for full list of translators. ## License diff --git a/README_ZH.md b/README_ZH.md index 7adc5dc56..6facfeb80 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -68,7 +68,9 @@ Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自 ## 贡献成员 -本项目的 [开发团队](http://gogs.io/team)。您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取完整的贡献者列表。 +- 本项目的 [开发团队](http://gogs.io/team)。 +- 您可以通过查看 [贡献者页面](https://github.com/gogits/gogs/graphs/contributors) 获取完整的贡献者列表。 +- 您可以通过查看 [TRANSLATORS](conf/locale/TRANSLATORS) 文件获取完整的翻译人员列表。 ## 授权许可 diff --git a/conf/locale/TRANSLATORS b/conf/locale/TRANSLATORS new file mode 100644 index 000000000..a07e7d5e8 --- /dev/null +++ b/conf/locale/TRANSLATORS @@ -0,0 +1,3 @@ +# This file lists all individuals having contributed content to the translation. + +Thomas Fanninger \ No newline at end of file diff --git a/conf/locale/locale_en-US.ini b/conf/locale/locale_en-US.ini index f82e834c2..d798f23ec 100644 --- a/conf/locale/locale_en-US.ini +++ b/conf/locale/locale_en-US.ini @@ -208,6 +208,7 @@ enable_custom_avatar_helper = Enable this to disable fetch from Gravatar choose_new_avatar = Choose new avatar update_avatar = Update Avatar Setting uploaded_avatar_not_a_image = Uploaded file is not a image. +no_custom_avatar_available = No custom avatar available, cannot enable it. update_avatar_success = Your avatar setting has been updated successfully. change_password = Change Password diff --git a/gogs.go b/gogs.go index 402765986..60e53fb4e 100644 --- a/gogs.go +++ b/gogs.go @@ -17,7 +17,7 @@ import ( "github.com/gogits/gogs/modules/setting" ) -const APP_VER = "0.5.8.1121 Beta" +const APP_VER = "0.5.8.1122 Beta" func init() { runtime.GOMAXPROCS(runtime.NumCPU()) diff --git a/models/user.go b/models/user.go index b0cc2ae15..9eead462e 100644 --- a/models/user.go +++ b/models/user.go @@ -140,10 +140,14 @@ func (u *User) ValidtePassword(passwd string) bool { return u.Passwd == newUser.Passwd } +// CustomAvatarPath returns user custom avatar file path. +func (u *User) CustomAvatarPath() string { + return filepath.Join(setting.AvatarUploadPath, com.ToStr(u.Id)) +} + // UploadAvatar saves custom avatar for user. // FIXME: splite uploads to different subdirs in case we have massive users. func (u *User) UploadAvatar(data []byte) error { - savePath := filepath.Join(setting.AvatarUploadPath, com.ToStr(u.Id)) u.UseCustomAvatar = true img, _, err := image.Decode(bytes.NewReader(data)) @@ -164,7 +168,7 @@ func (u *User) UploadAvatar(data []byte) error { } os.MkdirAll(setting.AvatarUploadPath, os.ModePerm) - fw, err := os.Create(savePath) + fw, err := os.Create(u.CustomAvatarPath()) if err != nil { sess.Rollback() return err diff --git a/routers/user/setting.go b/routers/user/setting.go index 7aeb34972..304ddd362 100644 --- a/routers/user/setting.go +++ b/routers/user/setting.go @@ -89,9 +89,6 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) { defer ctx.Redirect(setting.AppSubUrl + "/user/settings") ctx.User.UseCustomAvatar = form.Enable - if err := models.UpdateUser(ctx.User); err != nil { - ctx.Flash.Error(err.Error()) - } if form.Avatar != nil { fr, err := form.Avatar.Open() @@ -113,7 +110,19 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) { ctx.Flash.Error(err.Error()) return } + } else { + // In case no avatar at all. + if form.Enable && !com.IsFile(ctx.User.CustomAvatarPath()) { + ctx.Flash.Error(ctx.Tr("settings.no_custom_avatar_available")) + return + } } + + if err := models.UpdateUser(ctx.User); err != nil { + ctx.Flash.Error(err.Error()) + return + } + ctx.Flash.Success(ctx.Tr("settings.update_avatar_success")) } diff --git a/templates/.VERSION b/templates/.VERSION index 5de719a00..d2d39a126 100644 --- a/templates/.VERSION +++ b/templates/.VERSION @@ -1 +1 @@ -0.5.8.1121 Beta \ No newline at end of file +0.5.8.1122 Beta \ No newline at end of file