| | |
| | | |
| | | |
| | | import java.io.IOException; |
| | | import java.text.MessageFormat; |
| | | import java.util.HashSet; |
| | | import java.util.List; |
| | | import java.util.Set; |
| | |
| | | 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) { |
| | |
| | | Fragment fragment; |
| | | String displayedCommitId = commit.getId().getName(); |
| | | MarkupDocument markupDoc = processor.parse(repositoryName, displayedCommitId, documentPath, markupText); |
| | | logger.info("Loading Edit File page: " + displayedCommitId); |
| | | logger.trace("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> commitMessage = new Model<String>("Document update"); |
| | |
| | | |
| | | @Override |
| | | protected void onSubmit() { |
| | | |
| | | final Repository repository = getRepository(); |
| | | final String document = documentContent.getObject(); |
| | | final String message = commitMessage.getObject(); |
| | |
| | | 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(); |
| | |
| | | } |
| | | |
| | | 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; |
| | | } |
| | | }; |
| | | |
| | |
| | | |
| | | @Override |
| | | protected String getPageName() { |
| | | return getString("gb.docs"); |
| | | return getString("gb.editFile"); |
| | | } |
| | | |
| | | @Override |
| | |
| | | |
| | | @Override |
| | | protected Class<? extends BasePage> getRepoNavPageClass() { |
| | | return DocsPage.class; |
| | | return EditFilePage.class; |
| | | } |
| | | |
| | | |