@@ -1038,25 +1038,26 @@ func deleteUser(e *xorm.Session, u *User) error {
1038
1038
& EmailAddress {UID : u .ID },
1039
1039
& UserOpenID {UID : u .ID },
1040
1040
& Reaction {UserID : u .ID },
1041
+ & TeamUser {UID : u .ID },
1042
+ & Collaboration {UserID : u .ID },
1043
+ & Stopwatch {UserID : u .ID },
1041
1044
); err != nil {
1042
1045
return fmt .Errorf ("deleteBeans: %v" , err )
1043
1046
}
1044
1047
1045
1048
// ***** START: PublicKey *****
1046
- keys := make ([]* PublicKey , 0 , 10 )
1047
- if err = e .Find (& keys , & PublicKey {OwnerID : u .ID }); err != nil {
1048
- return fmt .Errorf ("get all public keys: %v" , err )
1049
- }
1050
-
1051
- keyIDs := make ([]int64 , len (keys ))
1052
- for i := range keys {
1053
- keyIDs [i ] = keys [i ].ID
1054
- }
1055
- if err = deletePublicKeys (e , keyIDs ... ); err != nil {
1049
+ if _ , err = e .Delete (& PublicKey {OwnerID : u .ID }); err != nil {
1056
1050
return fmt .Errorf ("deletePublicKeys: %v" , err )
1057
1051
}
1052
+ rewriteAllPublicKeys (e )
1058
1053
// ***** END: PublicKey *****
1059
1054
1055
+ // ***** START: GPGPublicKey *****
1056
+ if _ , err = e .Delete (& GPGKey {OwnerID : u .ID }); err != nil {
1057
+ return fmt .Errorf ("deleteGPGKeys: %v" , err )
1058
+ }
1059
+ // ***** END: GPGPublicKey *****
1060
+
1060
1061
// Clear assignee.
1061
1062
if err = clearAssigneeByUserID (e , u .ID ); err != nil {
1062
1063
return fmt .Errorf ("clear assignee: %v" , err )
@@ -1110,6 +1111,7 @@ func DeleteUser(u *User) (err error) {
1110
1111
if err = sess .Commit (); err != nil {
1111
1112
return err
1112
1113
}
1114
+ sess .Close ()
1113
1115
1114
1116
return RewriteAllPublicKeys ()
1115
1117
}
0 commit comments