]> source.dussan.org Git - gitea.git/commitdiff
fix 500 when delete orgnization and resolved #486
authorLunny Xiao <xiaolunwen@gmail.com>
Tue, 27 Dec 2016 02:02:14 +0000 (10:02 +0800)
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>
Tue, 27 Dec 2016 11:00:12 +0000 (12:00 +0100)
models/org.go
models/user.go

index b302288ca5c527afe07058d66c3ce337a697b359..43a3e094f108689bb35211e1b6b05a2fbef2939e 100644 (file)
@@ -213,12 +213,9 @@ func Organizations(opts *SearchUserOptions) ([]*User, error) {
 
 // DeleteOrganization completely and permanently deletes everything of organization.
 func DeleteOrganization(org *User) (err error) {
-       if err := DeleteUser(org); err != nil {
-               return err
-       }
-
        sess := x.NewSession()
-       defer sessionRelease(sess)
+       defer sess.Close()
+
        if err = sess.Begin(); err != nil {
                return err
        }
@@ -235,7 +232,11 @@ func DeleteOrganization(org *User) (err error) {
                return fmt.Errorf("deleteUser: %v", err)
        }
 
-       return sess.Commit()
+       if err = sess.Commit(); err != nil {
+               return err
+       }
+
+       return RewriteAllPublicKeys()
 }
 
 // ________                ____ ___
index 803cb3b03e2d1745daa1edbc25d40fa879323a5f..d48397ef7e125d8b8d5d91ed28d22e9ab2baf070 100644 (file)
@@ -891,8 +891,10 @@ func deleteUser(e *xorm.Session, u *User) error {
        }
 
        avatarPath := u.CustomAvatarPath()
-       if err := os.Remove(avatarPath); err != nil {
-               return fmt.Errorf("Fail to remove %s: %v", avatarPath, err)
+       if com.IsExist(avatarPath) {
+               if err := os.Remove(avatarPath); err != nil {
+                       return fmt.Errorf("Fail to remove %s: %v", avatarPath, err)
+               }
        }
 
        return nil