From 92640007f63d2ce0c7c172d8ea920728f70084fc Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Tue, 22 Sep 2009 11:54:46 +0200 Subject: [PATCH] ItEr27S09CUCreacionProxectoPlanificacionItEr26S10: Added operations column to workreports edition page * Pending to remove listbox from graphical component --- .../workreports/WorkReportCRUDController.java | 44 +++++++++++++++++-- 1 file changed, 40 insertions(+), 4 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java index 7f5302340..268e01481 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportCRUDController.java @@ -1,10 +1,13 @@ package org.navalplanner.web.workreports; +import static org.navalplanner.web.I18nHelper._; + import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; +import org.apache.commons.lang.StringUtils; import org.hibernate.validator.InvalidValue; import org.navalplanner.business.common.exceptions.InstanceNotFoundException; import org.navalplanner.business.common.exceptions.ValidationException; @@ -27,7 +30,9 @@ import org.zkoss.zk.ui.Component; import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.event.EventListener; +import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.util.GenericForwardComposer; +import org.zkoss.zul.Button; import org.zkoss.zul.Datebox; import org.zkoss.zul.Intbox; import org.zkoss.zul.ListModel; @@ -42,8 +47,6 @@ import org.zkoss.zul.SimpleListModel; import org.zkoss.zul.Textbox; import org.zkoss.zul.api.Window; -import static org.navalplanner.web.I18nHelper._; - /** * Controller for CRUD actions over a {@link WorkReport} * @@ -333,6 +336,9 @@ public class WorkReportCRUDController extends GenericForwardComposer implements // Add dynamic headers appendCriterionTypesToListHead(getCriterionTypes(), listHead); + Listheader listHeadOperations = new Listheader(_("Operations")); + listHead.appendChild(listHeadOperations); + listHead.setParent(listBox); } @@ -351,7 +357,8 @@ public class WorkReportCRUDController extends GenericForwardComposer implements */ private void appendCriterionTypeToListHead(CriterionType criterionType, Listhead listHead) { - Listheader listHeader = new Listheader(criterionType.getName()); + Listheader listHeader = new Listheader(StringUtils + .capitalize(criterionType.getName().toLowerCase())); listHeader.setParent(listHead); } @@ -418,6 +425,8 @@ public class WorkReportCRUDController extends GenericForwardComposer implements appendListboxCriterionType(criterionType, listItem); } + appendDeleteButton(listItem); + return listItem; } @@ -542,9 +551,33 @@ public class WorkReportCRUDController extends GenericForwardComposer implements listItem.appendChild(listCell); } + /** + * Append a Intbox numHours to listItem + * @param listItem + */ + private void appendDeleteButton(Listitem listItem) { + final Listitem li = listItem; + Button delete = new Button("", "/common/img/ico_borrar1.png"); + delete.setHoverImage("/common/img/ico_delete.png"); + delete.setSclass("icono"); + delete.setTooltiptext(_("Delete")); + delete.addEventListener(Events.ON_CLICK, new EventListener() { + @Override + public void onEvent(Event event) throws Exception { + WorkReportLine workReportLine = (WorkReportLine) li + .getValue(); + getWorkReportLines().remove(workReportLine); + /* Pending to update component */ + } + }); + + Listcell listCell = new Listcell(); + listCell.appendChild(delete); + listItem.appendChild(listCell); + } + /** * Binds Intbox numHours to a {@link WorkReportLine} numHours - * * @param intNumHours * @param workReportLine */ @@ -706,6 +739,9 @@ public class WorkReportCRUDController extends GenericForwardComposer implements for (CriterionType criterionType : getCriterionTypes()) { appendListboxCriterionType(criterionType, listItem); } + + appendDeleteButton(listItem); + } } }