#1419: 500 when visit a issue with issue/comments of deleted user
This commit is contained in:
parent
e4d6b5d488
commit
30b428bf0e
5 changed files with 28 additions and 7 deletions
|
@ -119,6 +119,10 @@ func (u *User) HomeLink() string {
|
|||
// AvatarLink returns user gravatar link.
|
||||
func (u *User) AvatarLink() string {
|
||||
defaultImgUrl := setting.AppSubUrl + "/img/avatar_default.jpg"
|
||||
if u.Id == -1 {
|
||||
return defaultImgUrl
|
||||
}
|
||||
|
||||
imgPath := path.Join(setting.AvatarUploadPath, com.ToStr(u.Id))
|
||||
switch {
|
||||
case u.UseCustomAvatar:
|
||||
|
@ -321,6 +325,15 @@ func GetUserSalt() string {
|
|||
return base.GetRandomString(10)
|
||||
}
|
||||
|
||||
// NewFakeUser creates and returns a fake user for someone has deleted his/her account.
|
||||
func NewFakeUser() *User {
|
||||
return &User{
|
||||
Id: -1,
|
||||
Name: "Someone",
|
||||
LowerName: "someone",
|
||||
}
|
||||
}
|
||||
|
||||
// CreateUser creates record of a new user.
|
||||
func CreateUser(u *User) (err error) {
|
||||
if err = IsUsableName(u.Name); err != nil {
|
||||
|
@ -546,6 +559,7 @@ func DeleteUser(u *User) error {
|
|||
&Collaboration{UserID: u.Id},
|
||||
&EmailAddress{Uid: u.Id},
|
||||
&Watch{UserID: u.Id},
|
||||
&IssueUser{UID: u.Id},
|
||||
); err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -563,11 +577,16 @@ func DeleteUser(u *User) error {
|
|||
return err
|
||||
}
|
||||
for _, key := range keys {
|
||||
if err = DeletePublicKey(key); err != nil {
|
||||
if err = deletePublicKey(sess, key); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
// Clear assignee.
|
||||
if _, err = sess.Exec("UPDATE `issue` SET assignee_id=0 WHERE assignee_id=?", u.Id); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if _, err = sess.Delete(u); err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue