diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index a65c362b15d58fc841105c2c2a883d278721a61f..945a00ad300fa1f20db562a8838f21d653d7f6bb 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -331,12 +331,7 @@ public class WikiMainController extends BasicController implements CloneableCont JSAndCSSComponent js = new JSAndCSSComponent("js", new String[] { "js/openolat/wiki.js" }, null); content.put("js", js); - List<VFSItem> mediaFiles = wiki.getMediaFileList(); - Collections.sort(mediaFiles, new WikiFileComparator(getLocale())); - editContent.contextPut("fileList", mediaFiles); - List<String> allPages = wiki.getListOfAllPageNames(); - Collections.sort(allPages, new WikiPageNameComparator(getLocale())); - editContent.contextPut("linkList", allPages); + updateFileAndLinkList(wiki); tabs.addTab(translate("tab.edit"), editContent); @@ -371,6 +366,15 @@ public class WikiMainController extends BasicController implements CloneableCont // set pageId to the latest used this.pageId = page.getPageId(); } + + private void updateFileAndLinkList(Wiki wiki) { + List<VFSItem> mediaFiles = wiki.getMediaFileList(); + Collections.sort(mediaFiles, new WikiFileComparator(getLocale())); + editContent.contextPut("fileList", mediaFiles); + List<String> allPages = wiki.getListOfAllPageNames(); + Collections.sort(allPages, new WikiPageNameComparator(getLocale())); + editContent.contextPut("linkList", allPages); + } private void updateWikiMenu(Wiki wiki) { Collection<String> links = wiki.getListOfAllPageNames(); @@ -569,7 +573,7 @@ public class WikiMainController extends BasicController implements CloneableCont ************************************************************************/ if (command.equals(ACTION_EDIT_MENU)) { page = wiki.getPage(WikiPage.WIKI_MENU_PAGE); - editContent.contextPut("linkList", wiki.getListOfAllPageNames()); + updateFileAndLinkList(wiki); tryToSetEditLock(page, ureq, ores); updatePageContext(ureq, page); tabs.setSelectedPane(ureq, 2); @@ -582,7 +586,7 @@ public class WikiMainController extends BasicController implements CloneableCont openLastChangesPage(ureq, wiki); } else if (source == editMenuButton) { page = wiki.getPage(WikiPage.WIKI_MENU_PAGE); - editContent.contextPut("linkList", wiki.getListOfAllPageNames()); + updateFileAndLinkList(wiki); tryToSetEditLock(page, ureq, ores); updatePageContext(ureq, page); // wikiEditForm.setPage(page); @@ -645,8 +649,7 @@ public class WikiMainController extends BasicController implements CloneableCont * tabbed pane change to edit tab **********************************************************************/ wikiEditForm.resetUpdateComment(); - editContent.contextPut("linkList", wiki.getListOfAllPageNames()); - editContent.contextPut("fileList", wiki.getMediaFileList()); + updateFileAndLinkList(wiki); // try to edit acquire lock for this page tryToSetEditLock(page, ureq, ores); } else if (command.equals(TabbedPaneChangedEvent.TAB_CHANGED) && compName.equals("vc_versions")) { @@ -891,7 +894,7 @@ public class WikiMainController extends BasicController implements CloneableCont if (event.getCommand().equals(FolderEvent.UPLOAD_EVENT)) { FolderEvent fEvent = (FolderEvent) event; createMediaMetadataFile(fEvent.getFilename(), ureq.getIdentity().getKey()); - editContent.contextPut("fileList", wiki.getMediaFileList()); + updateFileAndLinkList(wiki); } cmc.deactivate(); cleanUp(); @@ -932,7 +935,7 @@ public class WikiMainController extends BasicController implements CloneableCont TableMultiSelectEvent tmse = (TableMultiSelectEvent) event; if (tmse.getAction().equals(ACTION_DELETE_MEDIAS)) { deleteMediaFile(mediaFilesTableModel.getObjects(tmse.getSelection()), ureq); - editContent.contextPut("fileList", wiki.getMediaFileList()); + updateFileAndLinkList(wiki); } } } else if (source == archiveWikiDialogCtr) {