summaryrefslogtreecommitdiffstats
path: root/models/user.go
diff options
context:
space:
mode:
authorUnknwon <u@gogs.io>2016-02-05 14:11:53 -0500
committerUnknwon <u@gogs.io>2016-02-05 14:11:53 -0500
commitf8182ac5216153f9ac6dbfe31437b03ddadbf286 (patch)
treea18bc6c2e250fc4b39f85c0427ab3b5ddb9b21c3 /models/user.go
parent4e96a4a62b1bfbe07bc97e75478c1289f6b4d5a9 (diff)
downloadgitea-f8182ac5216153f9ac6dbfe31437b03ddadbf286.tar.gz
gitea-f8182ac5216153f9ac6dbfe31437b03ddadbf286.zip
#2558 delete local wiki copy when rename repo and user
Diffstat (limited to 'models/user.go')
-rw-r--r--models/user.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/models/user.go b/models/user.go
index 23ed5ae8d2..09ad74d76d 100644
--- a/models/user.go
+++ b/models/user.go
@@ -598,11 +598,19 @@ func ChangeUserName(u *User, newUserName string) (err error) {
return ErrUserAlreadyExist{newUserName}
}
- err = ChangeUsernameInPullRequests(u.Name, newUserName)
- if err != nil {
+ if err = ChangeUsernameInPullRequests(u.Name, newUserName); err != nil {
return fmt.Errorf("ChangeUsernameInPullRequests: %v", err)
}
+ // Delete all local copies of repository wiki that user owns.
+ if err = x.Where("owner_id=?", u.Id).Iterate(new(Repository), func(idx int, bean interface{}) error {
+ repo := bean.(*Repository)
+ RemoveAllWithNotice("Delete repository wiki local copy", repo.LocalWikiPath())
+ return nil
+ }); err != nil {
+ return fmt.Errorf("Delete repository wiki local copy: %v", err)
+ }
+
return os.Rename(UserPath(u.Name), UserPath(newUserName))
}