Browse Source

editor: redirect to new pull request page after create new branch

Unknwon 8 years ago
parent
commit
5895d43574
4 changed files with 33 additions and 9 deletions
  1. 1 1
      gogs.go
  2. 12 0
      modules/auth/repo_form.go
  3. 19 7
      routers/repo/editor.go
  4. 1 1
      templates/.VERSION

+ 1 - 1
gogs.go

@@ -16,7 +16,7 @@ import (
 	"github.com/gogits/gogs/modules/setting"
 )
 
-const APP_VER = "0.9.162.0220"
+const APP_VER = "0.9.163.0220"
 
 func init() {
 	setting.AppVer = APP_VER

+ 12 - 0
modules/auth/repo_form.go

@@ -327,6 +327,10 @@ func (f *EditRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) b
 	return validate(errs, ctx.Data, f, ctx.Locale)
 }
 
+func (f *EditRepoFileForm) IsNewBrnach() bool {
+	return f.CommitChoice == "commit-to-new-branch"
+}
+
 type EditPreviewDiffForm struct {
 	Content string
 }
@@ -356,6 +360,10 @@ func (f *UploadRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors)
 	return validate(errs, ctx.Data, f, ctx.Locale)
 }
 
+func (f *UploadRepoFileForm) IsNewBrnach() bool {
+	return f.CommitChoice == "commit-to-new-branch"
+}
+
 type RemoveUploadFileForm struct {
 	File string `binding:"Required;MaxSize(50)"`
 }
@@ -381,3 +389,7 @@ type DeleteRepoFileForm struct {
 func (f *DeleteRepoFileForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
 	return validate(errs, ctx.Data, f, ctx.Locale)
 }
+
+func (f *DeleteRepoFileForm) IsNewBrnach() bool {
+	return f.CommitChoice == "commit-to-new-branch"
+}

+ 19 - 7
routers/repo/editor.go

@@ -135,7 +135,7 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo
 	lastCommit := form.LastCommit
 	form.LastCommit = ctx.Repo.Commit.ID.String()
 
-	if form.CommitChoice == "commit-to-new-branch" {
+	if form.IsNewBrnach() {
 		branchName = form.NewBranchName
 	}
 
@@ -279,7 +279,11 @@ func editFilePost(ctx *context.Context, form auth.EditRepoFileForm, isNewFile bo
 		return
 	}
 
-	ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + template.EscapePound(form.TreePath))
+	if form.IsNewBrnach() {
+		ctx.Redirect(ctx.Repo.RepoLink + "/compare/" + oldBranchName + "..." + form.NewBranchName)
+	} else {
+		ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + template.EscapePound(form.TreePath))
+	}
 }
 
 func EditFilePost(ctx *context.Context, form auth.EditRepoFileForm) {
@@ -336,7 +340,7 @@ func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) {
 	oldBranchName := ctx.Repo.BranchName
 	branchName := oldBranchName
 
-	if form.CommitChoice == "commit-to-new-branch" {
+	if form.IsNewBrnach() {
 		branchName = form.NewBranchName
 	}
 	ctx.Data["commit_summary"] = form.CommitSummary
@@ -378,8 +382,12 @@ func DeleteFilePost(ctx *context.Context, form auth.DeleteRepoFileForm) {
 		return
 	}
 
-	ctx.Flash.Success(ctx.Tr("repo.editor.file_delete_success", ctx.Repo.TreePath))
-	ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName)
+	if form.IsNewBrnach() {
+		ctx.Redirect(ctx.Repo.RepoLink + "/compare/" + oldBranchName + "..." + form.NewBranchName)
+	} else {
+		ctx.Flash.Success(ctx.Tr("repo.editor.file_delete_success", ctx.Repo.TreePath))
+		ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName)
+	}
 }
 
 func renderUploadSettings(ctx *context.Context) {
@@ -417,7 +425,7 @@ func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) {
 	oldBranchName := ctx.Repo.BranchName
 	branchName := oldBranchName
 
-	if form.CommitChoice == "commit-to-new-branch" {
+	if form.IsNewBrnach() {
 		branchName = form.NewBranchName
 	}
 
@@ -495,7 +503,11 @@ func UploadFilePost(ctx *context.Context, form auth.UploadRepoFileForm) {
 		return
 	}
 
-	ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + form.TreePath)
+	if form.IsNewBrnach() {
+		ctx.Redirect(ctx.Repo.RepoLink + "/compare/" + oldBranchName + "..." + form.NewBranchName)
+	} else {
+		ctx.Redirect(ctx.Repo.RepoLink + "/src/" + branchName + "/" + form.TreePath)
+	}
 }
 
 func UploadFileToServer(ctx *context.Context) {

+ 1 - 1
templates/.VERSION

@@ -1 +1 @@
-0.9.162.0220
+0.9.163.0220