diff --git a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java index f09979c..84e9f13 100644 --- a/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java +++ b/src/main/java/eu/dnetlib/uoaadmintools/controllers/CommunityController.java @@ -72,6 +72,7 @@ public class CommunityController { subscriberService.updatePid(old_pid, new_pid); layoutService.updatePid(old_pid, new_pid); notificationsService.updatePid(old_pid, new_pid); + menuService.updatePid(old_pid, new_pid); } return portalResponse; diff --git a/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java b/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java index bd0c83b..e43423d 100644 --- a/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java +++ b/src/main/java/eu/dnetlib/uoaadmintools/services/MenuService.java @@ -2,6 +2,7 @@ package eu.dnetlib.uoaadmintools.services; import eu.dnetlib.uoaadmintools.dao.MenuDAO; import eu.dnetlib.uoaadmintools.dao.MenuItemDAO; +import eu.dnetlib.uoaadmintools.entities.Notifications; import eu.dnetlib.uoaadmintools.entities.menu.*; import eu.dnetlib.uoaadmintoolslibrary.handlers.ContentNotFoundException; import eu.dnetlib.uoaadmintoolslibrary.handlers.MismatchingContentException; @@ -372,4 +373,23 @@ public class MenuService { return menuDAO.save(menu); } + + public void updatePid(String old_pid, String new_pid) { + log.debug("menu service: updatePid"); + Menu menu = menuDAO.findByPortalPid(old_pid); + if(menu != null) { + menu.setPortalPid(new_pid); + menuDAO.save(menu); + log.debug("menu saved!"); + } + + List menuItems = menuItemDAO.findByPortalPid(old_pid); + if(menuItems != null) { + menuItems.forEach(menuItem -> { + menuItem.setPortalPid(new_pid); + menuItemDAO.save(menuItem); + log.debug("menuItem saved!"); + }); + } + } }