Fix 653
This commit is contained in:
parent
8ea7ba3afa
commit
dc53270da9
8 changed files with 30 additions and 9 deletions
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
3
conf/locale/TRANSLATORS
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# This file lists all individuals having contributed content to the translation.
|
||||||
|
|
||||||
|
Thomas Fanninger <gogs.thomas@fanninger.at>
|
|
@ -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
|
||||||
|
|
2
gogs.go
2
gogs.go
|
@ -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())
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.5.8.1121 Beta
|
0.5.8.1122 Beta
|
Reference in a new issue