]> source.dussan.org Git - gitea.git/commitdiff
Bug: 500 when transfer repository to collaborator
authorUnknwon <joe2010xtmf@163.com>
Mon, 29 Sep 2014 08:04:48 +0000 (04:04 -0400)
committerUnknwon <joe2010xtmf@163.com>
Mon, 29 Sep 2014 08:04:48 +0000 (04:04 -0400)
gogs.go
models/repo.go
templates/.VERSION
templates/repo/sidebar.tmpl

diff --git a/gogs.go b/gogs.go
index e7bbb01877b423ffd27668f038e275de31109345..e7615c9b2ba331a722ecc269b4dff2ab51185d3a 100644 (file)
--- a/gogs.go
+++ b/gogs.go
@@ -17,7 +17,7 @@ import (
        "github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.5.4.0928 Beta"
+const APP_VER = "0.5.4.0929 Beta"
 
 func init() {
        runtime.GOMAXPROCS(runtime.NumCPU())
index a157b0012a375fa4c0f3fa7730f864d7d5c81c39..a79c2491cede4a7d261db77df986daa8da5d4b54 100644 (file)
@@ -678,17 +678,25 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
                        return fmt.Errorf("fail to delete current accesses: %v", err)
                }
        } else {
+               // Delete current owner access.
                if _, err = sess.Where("repo_name=?", oldRepoLink).And("user_name=?", owner.LowerName).
-                       Update(&Access{UserName: newUser.LowerName}); err != nil {
+                       Delete(new(Access)); err != nil {
                        sess.Rollback()
-                       return err
+                       return fmt.Errorf("fail to delete access(owner): %v", err)
+               }
+               // In case new owner has access.
+               if _, err = sess.Where("repo_name=?", oldRepoLink).And("user_name=?", newUser.LowerName).
+                       Delete(new(Access)); err != nil {
+                       sess.Rollback()
+                       return fmt.Errorf("fail to delete access(new user): %v", err)
                }
        }
 
+       // Change accesses to new repository path.
        if _, err = sess.Where("repo_name=?", oldRepoLink).
                Update(&Access{RepoName: path.Join(newUser.LowerName, repo.LowerName)}); err != nil {
                sess.Rollback()
-               return err
+               return fmt.Errorf("fail to update access(change reponame): %v", err)
        }
 
        // Update repository.
@@ -754,7 +762,7 @@ func TransferOwnership(u *User, newOwner string, repo *Repository) error {
                }
                if _, err = sess.Insert(access); err != nil {
                        sess.Rollback()
-                       return err
+                       return fmt.Errorf("fail to insert access: %v", err)
                }
        }
 
index 583b3b81ba6819ed1d20cfec01801e8f687eac08..2d0d24c2ed88fac15e90a9f2b6cbe6218d6bc37f 100644 (file)
@@ -1 +1 @@
-0.5.4.0928 Beta
\ No newline at end of file
+0.5.4.0929 Beta
\ No newline at end of file
index d43e36063d824670ef4430d43b14e5a59fab37ca..7a00dbb8c3a39291a8d6a707e2776a40d2bd5947 100644 (file)
         <!-- <li>
             <a class="radius" href="#"><i class="octicon octicon-organization"></i>contributors <span class="num right label label-gray label-radius">43</span></a>
         </li> -->
+        {{if .IsRepositoryTrueOwner}}
         <li class="border-bottom"></li>
         <li>
             <a class="radius" href="{{.RepoLink}}/settings"><i class="octicon octicon-tools"></i>{{.i18n.Tr "repo.settings"}}</a>
         </li>
+        {{end}}
     </ul>
 </div>
\ No newline at end of file