Unknown 10 years ago
parent
commit
33ec0632ff
4 changed files with 12 additions and 2 deletions
  1. 5 0
      modules/middleware/repo.go
  2. 3 0
      routers/repo/setting.go
  3. 1 2
      routers/user/home.go
  4. 3 0
      templates/repo/setting.tmpl

+ 5 - 0
modules/middleware/repo.go

@@ -99,6 +99,11 @@ func RepoAssignment(redirect bool, args ...bool) martini.Handler {
 			return
 		}
 
+		// Check if the mirror repository owner(mirror repository doesn't have access).
+		if !ctx.Repo.IsOwner && repo.OwnerId == ctx.User.Id {
+			ctx.Repo.IsOwner = true
+		}
+
 		// Check access.
 		if repo.IsPrivate && !ctx.Repo.IsOwner {
 			if ctx.User == nil {

+ 3 - 0
routers/repo/setting.go

@@ -83,6 +83,9 @@ func SettingPost(ctx *middleware.Context, form auth.RepoSettingForm) {
 		if len(ctx.Repo.Repository.Name) == 0 || ctx.Repo.Repository.Name != ctx.Query("repository") {
 			ctx.RenderWithErr("Please make sure you entered repository name is correct.", "repo/setting", nil)
 			return
+		} else if ctx.Repo.Repository.IsMirror {
+			ctx.Error(404)
+			return
 		}
 
 		newOwner := ctx.Query("owner")

+ 1 - 2
routers/user/home.go

@@ -235,8 +235,7 @@ func Issues(ctx *middleware.Context) {
 			return
 		}
 
-		err = issues[i].Repo.GetOwner()
-		if err != nil {
+		if err = issues[i].Repo.GetOwner(); err != nil {
 			ctx.Handle(500, "user.Issues(GetOwner)", err)
 			return
 		}

+ 3 - 0
templates/repo/setting.tmpl

@@ -88,6 +88,7 @@
                 Danger Zone
             </div>
             
+            {{if not .Repository.IsMirror}}
             <div class="panel-body">
                 <button type="button" class="btn btn-default pull-right" href="#transfer-repository-modal" data-toggle="modal">
                     Transfer ownership 
@@ -137,6 +138,8 @@
                     </div>
                 </div>
             </div>
+            {{end}}
+            
             <hr>
             <div class="panel-body">
                 <button type="button" class="btn btn-default pull-right" href="#delete-repository-modal" data-toggle="modal">