Skip to content
Snippets Groups Projects
Commit 3b27dbf6 authored by srosse's avatar srosse
Browse files

OO-4058: prevent duplicate element owner roles during upgrade

parent e7f47347
No related branches found
No related tags found
No related merge requests found
...@@ -152,7 +152,9 @@ public class OLATUpgrade_13_3_0 extends OLATUpgrade { ...@@ -152,7 +152,9 @@ public class OLATUpgrade_13_3_0 extends OLATUpgrade {
List<Identity> managers = groupDao.getMembers(group, CurriculumRoles.curriculummanager.name()); List<Identity> managers = groupDao.getMembers(group, CurriculumRoles.curriculummanager.name());
for(Identity manager:managers) { for(Identity manager:managers) {
groupDao.removeMembership(group, manager, CurriculumRoles.curriculummanager.name()); groupDao.removeMembership(group, manager, CurriculumRoles.curriculummanager.name());
groupDao.addMembershipOneWay(group, manager, CurriculumRoles.curriculumowner.name()); if(groupDao.getMembership(group, manager, CurriculumRoles.curriculumowner.name()) == null) {
groupDao.addMembershipOneWay(group, manager, CurriculumRoles.curriculumowner.name());
}
} }
dbInstance.commitAndCloseSession(); dbInstance.commitAndCloseSession();
migrateCurriculumElementsRoles(curriculum); migrateCurriculumElementsRoles(curriculum);
...@@ -167,13 +169,17 @@ public class OLATUpgrade_13_3_0 extends OLATUpgrade { ...@@ -167,13 +169,17 @@ public class OLATUpgrade_13_3_0 extends OLATUpgrade {
List<Identity> managers = groupDao.getMembers(group, CurriculumRoles.curriculummanager.name()); List<Identity> managers = groupDao.getMembers(group, CurriculumRoles.curriculummanager.name());
for(Identity manager:managers) { for(Identity manager:managers) {
groupDao.removeMembership(group, manager, CurriculumRoles.curriculummanager.name()); groupDao.removeMembership(group, manager, CurriculumRoles.curriculummanager.name());
groupDao.addMembershipOneWay(group, manager, CurriculumRoles.curriculumowner.name()); if(groupDao.getMembership(group, manager, CurriculumRoles.curriculumelementowner.name()) == null) {
groupDao.addMembershipOneWay(group, manager, CurriculumRoles.curriculumelementowner.name());
}
} }
List<Identity> owners = groupDao.getMembers(group, CurriculumRoles.curriculumowner.name()); List<Identity> owners = groupDao.getMembers(group, CurriculumRoles.curriculumowner.name());
for(Identity owner:owners) { for(Identity owner:owners) {
groupDao.removeMembership(group, owner, CurriculumRoles.curriculumelementowner.name()); groupDao.removeMembership(group, owner, CurriculumRoles.curriculumowner.name());
groupDao.addMembershipOneWay(group, owner, CurriculumRoles.curriculumelementowner.name()); if(groupDao.getMembership(group, owner, CurriculumRoles.curriculumelementowner.name()) == null) {
groupDao.addMembershipOneWay(group, owner, CurriculumRoles.curriculumelementowner.name());
}
} }
dbInstance.commitAndCloseSession(); dbInstance.commitAndCloseSession();
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment