diff --git a/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java b/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java index b97f3e58bd..b64a67060c 100644 --- a/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java +++ b/notes-service/src/main/java/org/exoplatform/wiki/service/impl/NoteServiceImpl.java @@ -2077,14 +2077,15 @@ private List getBreadCrumb(List list, private String getNoteTitleWithTraduction(Page note, Identity userIdentity, String source, String lang) throws WikiException, IllegalAccessException { - if (userIdentity == null || StringUtils.isEmpty(lang)) { + if (userIdentity == null) { return note.getTitle(); } Page page = getNoteByIdAndLang(Long.valueOf(note.getId()), userIdentity, source, lang); - if (page != null) { + if (page != null && page.getLang() != null) { return page.getTitle(); } - return note.getTitle(); + Page publishedVersion = getPublishedVersionByPageIdAndLang(Long.valueOf(note.getId()), null); + return Objects.requireNonNullElse(publishedVersion, note).getTitle(); } private String getDraftNameSuffix(long clientTime) { diff --git a/notes-service/src/main/java/org/exoplatform/wiki/storage/EntityConverter.java b/notes-service/src/main/java/org/exoplatform/wiki/storage/EntityConverter.java index c5919c1d26..f302a77d14 100644 --- a/notes-service/src/main/java/org/exoplatform/wiki/storage/EntityConverter.java +++ b/notes-service/src/main/java/org/exoplatform/wiki/storage/EntityConverter.java @@ -325,6 +325,7 @@ public static PageHistory convertPageVersionEntityToPageHistory(PageVersionEntit pageHistory.setUpdatedDate(pageVersionEntity.getUpdatedDate()); pageHistory.setLang(pageVersionEntity.getLang()); pageHistory.setTitle(pageVersionEntity.getTitle()); + pageHistory.setName(pageVersionEntity.getName()); buildNotePageMetadata(pageHistory, false, String.valueOf(pageVersionEntity.getPage().getId())); if (StringUtils.isNotBlank(pageHistory.getAuthor())) { Identity identity = ExoContainerContext.getService(IdentityManager.class) diff --git a/notes-service/src/main/java/org/exoplatform/wiki/tree/utils/TreeUtils.java b/notes-service/src/main/java/org/exoplatform/wiki/tree/utils/TreeUtils.java index 2ef068ff17..839f44b0e9 100644 --- a/notes-service/src/main/java/org/exoplatform/wiki/tree/utils/TreeUtils.java +++ b/notes-service/src/main/java/org/exoplatform/wiki/tree/utils/TreeUtils.java @@ -294,8 +294,13 @@ private static void encodeWikiTreeNode(JsonNodeData nodeData, Locale locale, Ide } else { if (!nodeData.isDraftPage()) { Page page = noteService.getNoteByIdAndLang(Long.valueOf(nodeData.getNoteId()), identity, "", locale.getLanguage()); - if (page != null) { + if (page != null && page.getLang() != null) { nodeData.setName(page.getTitle()); + return; + } + Page publishedVersion = noteService.getPublishedVersionByPageIdAndLang(Long.valueOf(nodeData.getNoteId()), null); + if (publishedVersion != null) { + nodeData.setName(publishedVersion.getTitle()); } } } diff --git a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue b/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue index 3711b5aa53..63a7971495 100644 --- a/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue +++ b/notes-webapp/src/main/webapp/vue-app/notes/components/NotesOverview.vue @@ -1057,6 +1057,7 @@ export default { restoreVersion(version) { const note = { id: this.note.id, + name: version.name, title: version.title, content: version.content, updatedDate: version.updatedDate,