ItEr41S20CUGravacionModelosUnidadesTraballoItEr40S25: When saving all templates are marked as not transient to avoid problem when hitting save&continue several times
This commit is contained in:
parent
75df67ebdd
commit
a307b549e1
4 changed files with 39 additions and 2 deletions
|
|
@ -20,6 +20,7 @@
|
|||
package org.navalplanner.business.templates.entities;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.hibernate.validator.Min;
|
||||
|
|
@ -103,6 +104,8 @@ public abstract class OrderElementTemplate extends BaseEntity {
|
|||
return infoComponent;
|
||||
}
|
||||
|
||||
public abstract List<OrderElementTemplate> getChildrenTemplates();
|
||||
|
||||
@Min(0)
|
||||
public Integer getDeadlineAsDaysFromBeginning() {
|
||||
return deadlineAsDaysFromBeginning;
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
package org.navalplanner.business.templates.entities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
|
|
@ -56,4 +57,9 @@ public class OrderLineGroupTemplate extends OrderElementTemplate {
|
|||
|
||||
private List<OrderElementTemplate> children = new ArrayList<OrderElementTemplate>();
|
||||
|
||||
@Override
|
||||
public List<OrderElementTemplate> getChildrenTemplates() {
|
||||
return Collections.unmodifiableList(children);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
*/
|
||||
package org.navalplanner.business.templates.entities;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.orders.entities.OrderLine;
|
||||
|
||||
/**
|
||||
|
|
@ -31,4 +34,9 @@ public class OrderLineTemplate extends OrderElementTemplate {
|
|||
return create(new OrderLineTemplate(), orderLine);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderElementTemplate> getChildrenTemplates() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@ package org.navalplanner.web.templates;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import org.navalplanner.business.common.IAdHocTransactionService;
|
||||
import org.navalplanner.business.common.IOnTransaction;
|
||||
import org.navalplanner.business.orders.daos.IOrderElementDAO;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.templates.daos.IOrderElementTemplateDAO;
|
||||
|
|
@ -45,6 +47,9 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
|
|||
@Autowired
|
||||
private IOrderElementTemplateDAO dao;
|
||||
|
||||
@Autowired
|
||||
private IAdHocTransactionService transaction;
|
||||
|
||||
private OrderElementTemplate template;
|
||||
|
||||
@Override
|
||||
|
|
@ -58,9 +63,24 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void confirmSave() {
|
||||
dao.save(template);
|
||||
transaction.runOnTransaction(new IOnTransaction<Void>() {
|
||||
@Override
|
||||
public Void execute() {
|
||||
dao.save(template);
|
||||
return null;
|
||||
}
|
||||
});
|
||||
dontPoseAsTransient(template);
|
||||
}
|
||||
|
||||
private void dontPoseAsTransient(OrderElementTemplate template) {
|
||||
template.dontPoseAsTransientObjectAnymore();
|
||||
List<OrderElementTemplate> childrenTemplates = template
|
||||
.getChildrenTemplates();
|
||||
for (OrderElementTemplate each : childrenTemplates) {
|
||||
dontPoseAsTransient(each);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue