diff --git a/src/main/java/org/olat/modules/wiki/WikiMainController.java b/src/main/java/org/olat/modules/wiki/WikiMainController.java index a627077e6eb107aabb8d7c598dac8d7f5fa709cb..bff3bf040e67eacaa91ee0a400e66ac084808e90 100644 --- a/src/main/java/org/olat/modules/wiki/WikiMainController.java +++ b/src/main/java/org/olat/modules/wiki/WikiMainController.java @@ -330,12 +330,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); @@ -370,6 +365,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(); @@ -567,7 +571,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); @@ -580,7 +584,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); @@ -643,8 +647,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")) { @@ -889,7 +892,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(); @@ -930,7 +933,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) {