This commit is contained in:
Unknwon 2014-11-22 10:22:53 -05:00
parent 8ea7ba3afa
commit dc53270da9
8 changed files with 30 additions and 9 deletions

View File

@ -77,7 +77,9 @@ There are 5 ways to install Gogs:
## Contributors ## 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 ## License

View File

@ -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
conf/locale/TRANSLATORS Normal file
View File

@ -0,0 +1,3 @@
# This file lists all individuals having contributed content to the translation.
Thomas Fanninger <gogs.thomas@fanninger.at>

View File

@ -208,6 +208,7 @@ enable_custom_avatar_helper = Enable this to disable fetch from Gravatar
choose_new_avatar = Choose new avatar choose_new_avatar = Choose new avatar
update_avatar = Update Avatar Setting update_avatar = Update Avatar Setting
uploaded_avatar_not_a_image = Uploaded file is not a image. 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. update_avatar_success = Your avatar setting has been updated successfully.
change_password = Change Password change_password = Change Password

View File

@ -17,7 +17,7 @@ import (
"github.com/gogits/gogs/modules/setting" "github.com/gogits/gogs/modules/setting"
) )
const APP_VER = "0.5.8.1121 Beta" const APP_VER = "0.5.8.1122 Beta"
func init() { func init() {
runtime.GOMAXPROCS(runtime.NumCPU()) runtime.GOMAXPROCS(runtime.NumCPU())

View File

@ -140,10 +140,14 @@ func (u *User) ValidtePassword(passwd string) bool {
return u.Passwd == newUser.Passwd 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. // UploadAvatar saves custom avatar for user.
// FIXME: splite uploads to different subdirs in case we have massive users. // FIXME: splite uploads to different subdirs in case we have massive users.
func (u *User) UploadAvatar(data []byte) error { func (u *User) UploadAvatar(data []byte) error {
savePath := filepath.Join(setting.AvatarUploadPath, com.ToStr(u.Id))
u.UseCustomAvatar = true u.UseCustomAvatar = true
img, _, err := image.Decode(bytes.NewReader(data)) img, _, err := image.Decode(bytes.NewReader(data))
@ -164,7 +168,7 @@ func (u *User) UploadAvatar(data []byte) error {
} }
os.MkdirAll(setting.AvatarUploadPath, os.ModePerm) os.MkdirAll(setting.AvatarUploadPath, os.ModePerm)
fw, err := os.Create(savePath) fw, err := os.Create(u.CustomAvatarPath())
if err != nil { if err != nil {
sess.Rollback() sess.Rollback()
return err return err

View File

@ -89,9 +89,6 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) {
defer ctx.Redirect(setting.AppSubUrl + "/user/settings") defer ctx.Redirect(setting.AppSubUrl + "/user/settings")
ctx.User.UseCustomAvatar = form.Enable ctx.User.UseCustomAvatar = form.Enable
if err := models.UpdateUser(ctx.User); err != nil {
ctx.Flash.Error(err.Error())
}
if form.Avatar != nil { if form.Avatar != nil {
fr, err := form.Avatar.Open() fr, err := form.Avatar.Open()
@ -113,7 +110,19 @@ func SettingsAvatar(ctx *middleware.Context, form auth.UploadAvatarForm) {
ctx.Flash.Error(err.Error()) ctx.Flash.Error(err.Error())
return 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")) ctx.Flash.Success(ctx.Tr("settings.update_avatar_success"))
} }

View File

@ -1 +1 @@
0.5.8.1121 Beta 0.5.8.1122 Beta