]> source.dussan.org Git - gitea.git/commitdiff
Mirror fix on transfer repo
authorUnknwon <joe2010xtmf@163.com>
Fri, 26 Sep 2014 02:36:07 +0000 (22:36 -0400)
committerUnknwon <joe2010xtmf@163.com>
Fri, 26 Sep 2014 02:36:07 +0000 (22:36 -0400)
models/action.go
models/repo.go
routers/repo/setting.go
templates/user/dashboard/dashboard.tmpl
templates/user/dashboard/feeds.tmpl

index 46500a926056a7694c12ae5782f1a9d06520cd5e..3fb33f939a0fd5a5219e8cd1636d79929a1778f1 100644 (file)
@@ -350,10 +350,18 @@ func NewRepoAction(u *User, repo *Repository) (err error) {
 
 // TransferRepoAction adds new action for transfering repository.
 func TransferRepoAction(u, newUser *User, repo *Repository) (err error) {
-       if err = NotifyWatchers(&Action{ActUserId: u.Id, ActUserName: u.Name, ActEmail: u.Email,
-               OpType: TRANSFER_REPO, RepoId: repo.Id, RepoUserName: newUser.Name,
-               RepoName:  repo.Name,
-               IsPrivate: repo.IsPrivate}); err != nil {
+       action := &Action{
+               ActUserId:    u.Id,
+               ActUserName:  u.Name,
+               ActEmail:     u.Email,
+               OpType:       TRANSFER_REPO,
+               RepoId:       repo.Id,
+               RepoUserName: newUser.Name,
+               RepoName:     repo.Name,
+               IsPrivate:    repo.IsPrivate,
+               Content:      path.Join(repo.Owner.LowerName, repo.LowerName),
+       }
+       if err = NotifyWatchers(action); err != nil {
                log.Error(4, "NotifyWatchers: %d/%s", u.Id, repo.Name)
                return err
        }
index 8e7ab96ba67aa4886a48cc2342359bde305e3710..a157b0012a375fa4c0f3fa7730f864d7d5c81c39 100644 (file)
@@ -669,22 +669,23 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
                return err
        }
 
-       curRepoLink := path.Join(u.LowerName, repo.LowerName)
+       owner := repo.Owner
+       oldRepoLink := path.Join(owner.LowerName, repo.LowerName)
        // Delete all access first if current owner is an organization.
-       if u.IsOrganization() {
-               if _, err = sess.Where("repo_name=?", curRepoLink).Delete(new(Access)); err != nil {
+       if owner.IsOrganization() {
+               if _, err = sess.Where("repo_name=?", oldRepoLink).Delete(new(Access)); err != nil {
                        sess.Rollback()
                        return fmt.Errorf("fail to delete current accesses: %v", err)
                }
        } else {
-               if _, err = sess.Where("repo_name=?", curRepoLink).And("user_name=?", u.LowerName).
+               if _, err = sess.Where("repo_name=?", oldRepoLink).And("user_name=?", owner.LowerName).
                        Update(&Access{UserName: newUser.LowerName}); err != nil {
                        sess.Rollback()
                        return err
                }
        }
 
-       if _, err = sess.Where("repo_name=?", curRepoLink).
+       if _, err = sess.Where("repo_name=?", oldRepoLink).
                Update(&Access{RepoName: path.Join(newUser.LowerName, repo.LowerName)}); err != nil {
                sess.Rollback()
                return err
@@ -703,7 +704,7 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
                return err
        }
 
-       if _, err = sess.Exec("UPDATE `user` SET num_repos = num_repos - 1 WHERE id = ?", u.Id); err != nil {
+       if _, err = sess.Exec("UPDATE `user` SET num_repos = num_repos - 1 WHERE id = ?", owner.Id); err != nil {
                sess.Rollback()
                return err
        }
@@ -758,7 +759,7 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
        }
 
        // Change repository directory name.
-       if err = os.Rename(RepoPath(u.Name, repo.Name), RepoPath(newUser.Name, repo.Name)); err != nil {
+       if err = os.Rename(RepoPath(owner.Name, repo.Name), RepoPath(newUser.Name, repo.Name)); err != nil {
                sess.Rollback()
                return err
        }
@@ -767,14 +768,8 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
                return err
        }
 
-       // Add watch of new owner to repository.
-       if !newUser.IsOrganization() {
-               if err = WatchRepo(newUser.Id, repo.Id, true); err != nil {
-                       log.Error(4, "WatchRepo", err)
-               }
-       }
-       if err = WatchRepo(u.Id, repo.Id, false); err != nil {
-               log.Error(4, "WatchRepo2", err)
+       if err = WatchRepo(newUser.Id, repo.Id, true); err != nil {
+               log.Error(4, "WatchRepo", err)
        }
 
        if err = TransferRepoAction(u, newUser, repo); err != nil {
index 137d104f9d79f53cdf0e65af00a6efc8d0f0ed3e..17ea3a441c685e52bf7465078d6703ced6bcae78 100644 (file)
@@ -112,7 +112,7 @@ func SettingsPost(ctx *middleware.Context, form auth.RepoSettingForm) {
                } else if !isExist {
                        ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_owner_name"), SETTINGS_OPTIONS, nil)
                        return
-               } else if err = models.TransferOwnership(ctx.Repo.Owner, newOwner, ctx.Repo.Repository); err != nil {
+               } else if err = models.TransferOwnership(ctx.User, newOwner, ctx.Repo.Repository); err != nil {
                        if err == models.ErrRepoAlreadyExist {
                                ctx.RenderWithErr(ctx.Tr("repo.settings.new_owner_has_same_repo"), SETTINGS_OPTIONS, nil)
                        } else {
index b14b79e3204629ba48516515257d41457082536d..02c0102e42f049b4361737a0c0b2043a6d451f8f 100644 (file)
@@ -5,48 +5,7 @@
     <div id="dashboard" class="container">
         {{template "ng/base/alert" .}}
         <div id="dashboard-news" class="left grid-2-3">
-            {{range .Feeds}}
-            <div class="news clear">
-                <div class="avatar left">
-                    <img class="avatar-30" src="{{AvatarLink .GetActEmail}}" alt="">
-                </div>
-                <div class="content left {{if eq .GetOpType 5}}push-news{{end}} grid-4-5">
-                    <p class="text-bold">
-                        <a href="{{AppSubUrl}}/{{.GetActUserName}}">{{.GetActUserName}}</a>
-                        {{if eq .GetOpType 1}}
-                        {{$.i18n.Tr "action.create_repo" AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
-                        {{else if eq .GetOpType 5}}
-                        {{$.i18n.Tr "action.commit_repo" AppSubUrl .GetRepoLink .GetBranch .GetBranch AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
-                        {{else if eq .GetOpType 6}}
-                        {{ $index := index .GetIssueInfos 0}}
-                        {{$.i18n.Tr "action.create_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
-                        {{else if eq .GetOpType 8}}
-                        {{$.i18n.Tr "action.transfer_repo" .GetRepoName AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
-                        {{else if eq .GetOpType 10}}
-                        {{ $index := index .GetIssueInfos 0}}
-                        {{$.i18n.Tr "action.comment_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
-                        {{end}}
-                    </p>
-                    {{if eq .GetOpType 5}}
-                    <div class="news-content content">
-                        <ul class="list-no-style">
-                            {{ $push := ActionContent2Commits .}}
-                            {{ $repoLink := .GetRepoLink}}
-                            {{range $push.Commits}}
-                            <li><img class="avatar-16" src="{{AvatarLink .AuthorEmail}}?s=16"> <a href="{{AppSubUrl}}/{{$repoLink}}/commit/{{.Sha1}}">{{ShortSha .Sha1}}</a> <span class="text-truncate grid-4-5">{{.Message}}</span></li>
-                            {{end}}
-                        </ul>
-                    </div>
-                    {{else if eq .GetOpType 6}}
-                    <p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
-                    {{else if eq .GetOpType 10}}
-                    <p class="news-content comment-news">{{index .GetIssueInfos 1}}</p>
-                    {{end}}
-                    <p class="news-time text-italic">{{TimeSince .GetCreate $.i18n.Lang}}</p>
-                </div>
-                <i class="mega-octicon octicon-{{ActionIcon .GetOpType}} right"></i>
-            </div>
-            {{end}}
+            {{template "user/dashboard/feeds" .}}
         </div>
         <div class="right grid-1-3" id="dashboard-sidebar">
             <ul id="dashboard-sidebar-menu" class="menu menu-line">
index 3eb8036162c2ddee46d4c4c848904987d37b93ef..4c05440b1ed1a86ea15f5eae8c0d17ce3b945966 100644 (file)
@@ -14,7 +14,7 @@
             {{ $index := index .GetIssueInfos 0}}
             {{$.i18n.Tr "action.create_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}
             {{else if eq .GetOpType 8}}
-            {{$.i18n.Tr "action.transfer_repo" .GetRepoName AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
+            {{$.i18n.Tr "action.transfer_repo" .GetContent AppSubUrl .GetRepoLink .GetRepoLink | Str2html}}
             {{else if eq .GetOpType 10}}
             {{ $index := index .GetIssueInfos 0}}
             {{$.i18n.Tr "action.comment_issue" AppSubUrl .GetRepoLink $index .GetRepoLink $index | Str2html}}