From e5dd1593726f2fd1539cb263b21b3eb295645a7f Mon Sep 17 00:00:00 2001 From: Anatoliy Tomilov Date: Tue, 3 Nov 2020 15:40:02 +0500 Subject: [PATCH] [bookmarks] Compilation inherit author and access rules from parent category. MAPSME-15206 --- map/bookmark_manager.cpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/map/bookmark_manager.cpp b/map/bookmark_manager.cpp index efb191b64d..517b33bd82 100644 --- a/map/bookmark_manager.cpp +++ b/map/bookmark_manager.cpp @@ -2992,12 +2992,6 @@ void BookmarkManager::CreateCategories(KMLDataCollection && dataCollection, bool group->SetFileName(fileName); group->SetServerId(fileData.m_serverId); - for (auto const & [compilationId, compilation] : compilations) - { - UNUSED_VALUE(compilationId); - compilation->SetParentId(groupId); - } - // Restore sensitive info from the cache. auto const cacheIt = m_restoringCache.find(fileName); if (cacheIt != m_restoringCache.end() && @@ -3009,6 +3003,15 @@ void BookmarkManager::CreateCategories(KMLDataCollection && dataCollection, bool group->EnableAutoSave(autoSave); } + for (auto const & [compilationId, compilation] : compilations) + { + UNUSED_VALUE(compilationId); + compilation->SetParentId(groupId); + auto const & categoryData = group->GetCategoryData(); + compilation->SetAccessRules(categoryData.m_accessRules); + compilation->SetAuthor(categoryData.m_authorName, categoryData.m_authorId); + } + for (auto & bmData : fileData.m_bookmarksData) { auto const compilationIds = bmData.m_compilations; @@ -3018,7 +3021,7 @@ void BookmarkManager::CreateCategories(KMLDataCollection && dataCollection, bool for (auto const c : compilationIds) { auto const it = compilations.find(c); - if (it == compilations.cend()) + if (it == compilations.end()) { LOG(LERROR, ("Incorrect compilation id", c, "into", fileName)); continue;