From a502d96a860456ec5e8c96761db70f7cabb74751 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 30 Apr 2016 04:19:14 -0400
Subject: [PATCH] Merge pull request #1073 from gitblit/1062-DocEditorUpdates

---
 src/main/java/com/gitblit/wicket/pages/EditFilePage.java |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/EditFilePage.java b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java
index 378f2a3..dbf8a79 100644
--- a/src/main/java/com/gitblit/wicket/pages/EditFilePage.java
+++ b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java
@@ -17,6 +17,7 @@
 
 
 import java.io.IOException;
+import java.text.MessageFormat;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -51,7 +52,7 @@
 import com.gitblit.wicket.MarkupProcessor.MarkupDocument;
 import com.gitblit.wicket.WicketUtils;
 
-@CacheControl(LastModified.BOOT)
+@CacheControl(LastModified.REPOSITORY)
 public class EditFilePage extends RepositoryPage {
 
 	public EditFilePage(final PageParameters params) {
@@ -95,12 +96,10 @@
 
 		Fragment fragment;
 		String displayedCommitId = commit.getId().getName();
-		MarkupDocument markupDoc = processor.parse(repositoryName, displayedCommitId, documentPath, markupText);
-		logger.info("Loading Edit File page: " + displayedCommitId);
 
-		if (currentUser.canEdit(getRepositoryModel())) {
+		if (currentUser.canEdit(getRepositoryModel()) && JGitUtils.isTip(getRepository(), objectId.toString())) {
 			
-			final Model<String> documentContent = new Model<String>(markupDoc.markup);
+			final Model<String> documentContent = new Model<String>(markupText);
 			final Model<String> commitMessage = new Model<String>("Document update");
 			final Model<String> commitIdAtLoad = new Model<String>(displayedCommitId);
 			
@@ -112,7 +111,6 @@
 
 				@Override
 				protected void onSubmit() {
-					
 					final Repository repository = getRepository();
 					final String document = documentContent.getObject();
 					final String message = commitMessage.getObject();
@@ -125,7 +123,7 @@
 					try {			
 						ObjectId docAtLoad = getRepository().resolve(commitIdAtLoad.getObject());
 						
-						logger.info("Commiting Edit File page: " + commitIdAtLoad.getObject());
+						logger.trace("Commiting Edit File page: " + commitIdAtLoad.getObject());
 						
 						DirCache index = DirCache.newInCore();
 						DirCacheBuilder builder = index.builder();
@@ -156,12 +154,12 @@
 					}
 				
 					if (success == false) {
-						EditFilePage.this.error("Unable to commit document " + path, false);
+						getSession().error(MessageFormat.format(getString("gb.fileNotMergeable"),path));
 						return;
 					}
 					
+					getSession().info(MessageFormat.format(getString("gb.fileCommitted"),path));
 					setResponsePage(EditFilePage.class, params);
-					return;
 				}
 			};
 
@@ -181,6 +179,7 @@
 	        
 		} else {
 			
+			MarkupDocument markupDoc = processor.parse(repositoryName, displayedCommitId, documentPath, markupText);
 			final Model<String> documentContent = new Model<String>(markupDoc.html);
 			
 			fragment = new Fragment("doc", "plainContent", this);
@@ -197,12 +196,12 @@
 		fragment.add(new ExternalLink("rawLink", rawUrl));
 
 		add(fragment);
-        
+     
 	}
 
 	@Override
 	protected String getPageName() {
-		return getString("gb.docs");
+		return getString("gb.editFile");
 	}
 
 	@Override
@@ -212,7 +211,7 @@
 
 	@Override
 	protected Class<? extends BasePage> getRepoNavPageClass() {
-		return DocsPage.class;
+		return EditFilePage.class;
 	}
 	
 	

--
Gitblit v1.9.1