ItEr28S11AltaEtiquetasTipoEtiquetaItEr27S11: Saves successfully
This commit is contained in:
parent
77e8444ed1
commit
514dfea42f
8 changed files with 54 additions and 21 deletions
|
|
@ -21,6 +21,7 @@
|
|||
package org.navalplanner.business.labels.entities;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import org.apache.commons.lang.Validate;
|
||||
|
|
@ -43,7 +44,7 @@ public class Label extends BaseEntity {
|
|||
@NotNull
|
||||
private LabelType type;
|
||||
|
||||
private Set<OrderElement> orderElements;
|
||||
private Set<OrderElement> orderElements = new HashSet<OrderElement>();
|
||||
|
||||
// Default constructor, needed by Hibernate
|
||||
protected Label() {
|
||||
|
|
|
|||
|
|
@ -194,17 +194,19 @@ public abstract class OrderElement extends BaseEntity {
|
|||
return Collections.unmodifiableSet(labels);
|
||||
}
|
||||
|
||||
public void addLabel(Label label) {
|
||||
Validate.notNull(label);
|
||||
labels.add(label);
|
||||
}
|
||||
|
||||
public void setLabels(Set<Label> labels) {
|
||||
this.labels = labels;
|
||||
}
|
||||
|
||||
public void addLabel(Label label) {
|
||||
Validate.notNull(label);
|
||||
labels.add(label);
|
||||
label.addOrderElement(this);
|
||||
}
|
||||
|
||||
public void removeLabel(Label label) {
|
||||
labels.remove(label);
|
||||
label.removeOrderElement(this);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<many-to-one name="type" class="LabelType" column="LABEL_TYPE_ID" />
|
||||
</properties>
|
||||
|
||||
<set name="orderElements" table="ORDER_ELEMENT_LABEL" cascade="all,delete-orphan">
|
||||
<set name="orderElements" table="ORDER_ELEMENT_LABEL" cascade="all-delete-orphan" inverse="true">
|
||||
<key column="LABEL_ID" not-null="false"/>
|
||||
<many-to-many column="ORDER_ELEMENT_ID" class="org.navalplanner.business.orders.entities.OrderElement"/>
|
||||
</set>
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
<one-to-many class="org.navalplanner.business.advance.entities.DirectAdvanceAssignment" />
|
||||
</set>
|
||||
|
||||
<set name="labels" table="ORDER_ELEMENT_LABEL" access="field" cascade="all,delete-orphan">
|
||||
<set name="labels" table="ORDER_ELEMENT_LABEL" access="field" cascade="all-delete-orphan">
|
||||
<key column="ORDER_ELEMENT_ID" not-null="true"/>
|
||||
<many-to-many column="LABEL_ID" class="org.navalplanner.business.labels.entities.Label" />
|
||||
</set>
|
||||
|
|
|
|||
|
|
@ -60,16 +60,11 @@ public class AssignedLabelsToOrderElementController extends
|
|||
}
|
||||
|
||||
public void openWindow(IOrderElementModel orderElementModel) {
|
||||
assignedLabelsToOrderElementModel.init(orderElementModel
|
||||
.getOrderElement());
|
||||
Util.reloadBindings(self);
|
||||
openWindow(orderElementModel.getOrderElement());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp.getFellow("listOrderElementLabels"));
|
||||
comp.setVariable("assignedLabelsController", this, true);
|
||||
window = (Window) comp;
|
||||
public void openWindow(OrderElement orderElement) {
|
||||
assignedLabelsToOrderElementModel.init(orderElement);
|
||||
|
||||
// Configure bandbox with all labels
|
||||
final List<Label> allLabels = getAllLabels();
|
||||
|
|
@ -81,6 +76,16 @@ public class AssignedLabelsToOrderElementController extends
|
|||
|
||||
// Set autodrop
|
||||
bdLabels.setAutodrop(true);
|
||||
|
||||
Util.reloadBindings(window);
|
||||
Util.reloadBindings(directLabels);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAfterCompose(Component comp) throws Exception {
|
||||
super.doAfterCompose(comp.getFellow("listOrderElementLabels"));
|
||||
comp.setVariable("assignedLabelsController", this, true);
|
||||
window = (Window) comp;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -134,7 +139,7 @@ public class AssignedLabelsToOrderElementController extends
|
|||
public void onAssignLabel() {
|
||||
Label label = (Label) bdLabels.getVariable("selectedLabel", true);
|
||||
if (label == null) {
|
||||
throw new WrongValueException(bdLabels, _("cannot be null"));
|
||||
throw new WrongValueException(bdLabels, _("please, select a label"));
|
||||
}
|
||||
if (isAssigned(label)) {
|
||||
throw new WrongValueException(bdLabels, _("already assigned"));
|
||||
|
|
@ -229,20 +234,26 @@ public class AssignedLabelsToOrderElementController extends
|
|||
*
|
||||
* @param event
|
||||
*/
|
||||
public void onClose(Event event) {
|
||||
public void onCancel() {
|
||||
cancel();
|
||||
close();
|
||||
event.stopPropagation();
|
||||
}
|
||||
|
||||
private void cancel() {
|
||||
assignedLabelsToOrderElementModel.cancel();
|
||||
window.setVariable("status", new Integer(0), true);
|
||||
}
|
||||
|
||||
private void close() {
|
||||
window.setVisible(false);
|
||||
}
|
||||
|
||||
public void onAccept() {
|
||||
assignedLabelsToOrderElementModel.confirm();
|
||||
window.setVariable("status", new Integer(1), true);
|
||||
close();
|
||||
}
|
||||
|
||||
public ListitemRenderer getLabelRenderer() {
|
||||
return labelRenderer;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ package org.navalplanner.web.orders;
|
|||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
|
@ -111,6 +112,7 @@ public class AssignedLabelsToOrderElementModel implements
|
|||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void deleteLabel(Label label) {
|
||||
orderElement.removeLabel(label);
|
||||
}
|
||||
|
|
@ -152,9 +154,18 @@ public class AssignedLabelsToOrderElementModel implements
|
|||
OrderElement orderElement = orderDAO
|
||||
.find(this.orderElement.getId());
|
||||
reattachOrderElement(orderElement);
|
||||
this.orderElement.setLabels(orderElement.getLabels());
|
||||
|
||||
Set<Label> labels = new HashSet<Label>();
|
||||
labels.addAll(orderElement.getLabels());
|
||||
this.orderElement.setLabels(labels);
|
||||
} catch (InstanceNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void confirm() {
|
||||
orderDAO.save(orderElement);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,4 +92,10 @@ public interface IAssignedLabelsToOrderElementModel {
|
|||
*/
|
||||
void setOrderElement(OrderElement orderElement);
|
||||
|
||||
/**
|
||||
* Save {@link OrderElement}
|
||||
*
|
||||
*/
|
||||
void confirm();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,8 +70,10 @@
|
|||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<button label="${i18n:_('Accept')}"
|
||||
onClick="assignedLabelsController.onAccept();" />
|
||||
<button label="${i18n:_('Cancel')}"
|
||||
onClick="assignedLabelsController.onClose(event);" />
|
||||
onClick="assignedLabelsController.onCancel();" />
|
||||
</hbox>
|
||||
|
||||
</vbox>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue