Unknwon 10 years ago
parent
commit
dc53270da9
8 changed files with 30 additions and 9 deletions
  1. 3 1
      README.md
  2. 3 1
      README_ZH.md
  3. 3 0
      conf/locale/TRANSLATORS
  4. 1 0
      conf/locale/locale_en-US.ini
  5. 1 1
      gogs.go
  6. 6 2
      models/user.go
  7. 12 3
      routers/user/setting.go
  8. 1 1
      templates/.VERSION

+ 3 - 1
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
 

+ 3 - 1
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) 文件获取完整的翻译人员列表。
 
 ## 授权许可
 

+ 3 - 0
conf/locale/TRANSLATORS

@@ -0,0 +1,3 @@
+# This file lists all individuals having contributed content to the translation.
+
+Thomas Fanninger <[email protected]>

+ 1 - 0
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

+ 1 - 1
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())

+ 6 - 2
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

+ 12 - 3
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"))
 }
 

+ 1 - 1
templates/.VERSION

@@ -1 +1 @@
-0.5.8.1121 Beta
+0.5.8.1122 Beta