Index: main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/ApogeeSynchronizationManager.java =================================================================== --- main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/ApogeeSynchronizationManager.java (revision 55766) +++ main/plugin-odf-sync/src/org/ametys/plugins/odfsync/apogee/ApogeeSynchronizationManager.java (working copy) @@ -207,14 +207,14 @@ // Structure hasChanges = synchronizeSubStructure(report, program.getChildren(), logger) || hasChanges; - // Copy the synchronized values into the translations. - synchronizeTranslations(program, report, logger); - // Save changes if (program.needsSave()) { applyChanges(program); } + + // Copy the synchronized values into the translations. + synchronizeTranslations(program, report, logger); } } catch (Throwable t) @@ -349,13 +349,13 @@ // Course list hasChanges = synchronizeCourseListContainer (course, syncCode, report, logger) || hasChanges; - // Copy the synchronized values into the translations. - synchronizeTranslations(course, report, logger); - if (course.needsSave()) { applyChanges(course); } + + // Copy the synchronized values into the translations. + synchronizeTranslations(course, report, logger); } } catch (Exception e) @@ -739,14 +739,14 @@ // Course lists hasChanges = synchronizeCourseListContainer (container, code, report, logger) || hasChanges; - // Copy the synchronized values into the translations. - synchronizeTranslations(container, report, logger); - // Save changes if (container.needsSave()) { container.saveChanges(); } + + // Copy the synchronized values into the translations. + synchronizeTranslations(container, report, logger); } report.info("Synchronisation du conteneur " + code + " terminé"); @@ -799,13 +799,13 @@ // OrgUnits hasChanges = _synchroHelper.synchronizeSubProgramOrgUnits(subProgram, remoteSubProgram, report, getLogger(), false) || hasChanges; - // Copy the synchronized values into the translations. - synchronizeTranslations(subProgram, report, logger); - if (subProgram.needsSave()) { subProgram.saveChanges(); } + + // Copy the synchronized values into the translations. + synchronizeTranslations(subProgram, report, logger); } report.info("Synchronisation du parcours " + code + " terminé");