Skip to content

Commit

Permalink
Fix on PageOrgUnit - extensionDelta is now merged with other changes …
Browse files Browse the repository at this point in the history
…made to Org. Unit and all changes are saved in one model operation, not 2.
  • Loading branch information
Erik Suta committed Sep 17, 2014
1 parent 4494855 commit 7253a77
Showing 1 changed file with 8 additions and 10 deletions.
Expand Up @@ -632,26 +632,24 @@ private void savePerformed(AjaxRequestTarget target) {
inducementPanel.handleAssignmentDeltas(delta, inducementDef, OrgType.F_INDUCEMENT);
}

//TODO - improve this mess with extensionDeltas
ObjectDelta extensionDelta = saveExtension(result);
ObjectDelta extDelta = null;

if(!isEditing() && extensionDelta != null){
extDelta = delta.getObjectToAdd().diff(extensionDelta.getObjectToAdd());
}

if(delta != null){
if(extensionDelta != null){
for(ItemDelta itemDelta: (List<ItemDelta>)extensionDelta.getModifications()){
delta.addModification(itemDelta);
}
if(extDelta != null){
delta = ObjectDelta.summarize(delta, extDelta);
}

Collection<ObjectDelta<? extends ObjectType>> deltas = WebMiscUtil.createDeltaCollection(delta);
if (LOGGER.isTraceEnabled()) {
LOGGER.trace("Saving changes for org. unit: {}", delta.debugDump());
}
getModelService().executeChanges(deltas, null, createSimpleTask(SAVE_UNIT), result);

//save extension when adding new Org. - improve later
if(!isEditing() && extensionDelta != null){
ObjectDelta extDelta = delta.getObjectToAdd().diff(extensionDelta.getObjectToAdd());
getModelService().executeChanges(WebMiscUtil.createDeltaCollection(extDelta), null, createSimpleTask(SAVE_UNIT), result);
}
}
} catch (Exception ex) {
LoggingUtils.logException(LOGGER, "Couldn't save org. unit", ex);
Expand Down

0 comments on commit 7253a77

Please sign in to comment.