From 6038e312ac0063466cb457d0fde8d99e3b5fa6bc Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Thu, 6 Aug 2009 13:47:21 +0200 Subject: [PATCH] ItEr20S08CUProcuraPartesTraballoDadosAltaNoSistemaItEr19S13: Remove WorkReport --- .../workreports/entities/WorkReport.java | 10 +++++----- .../web/workreports/IWorkReportModel.java | 7 +++++++ .../workreports/WorkReportCRUDController.java | 19 +++++++++++++++++++ .../web/workreports/WorkReportModel.java | 10 +++++++++- .../webapp/workreports/_listWorkReport.zul | 2 +- 5 files changed, 41 insertions(+), 7 deletions(-) diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java index 83ccc6f52..bf595ff71 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/workreports/entities/WorkReport.java @@ -14,16 +14,16 @@ import org.navalplanner.business.common.BaseEntity; public class WorkReport extends BaseEntity { @NotNull - Date date; + private Date date; - String place; + private String place; @NotEmpty - String responsible; + private String responsible; - WorkReportType workReportType; + private WorkReportType workReportType; - Set workReportLines = new HashSet(); + private Set workReportLines = new HashSet(); public static final String DATE = "date"; diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/IWorkReportModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/IWorkReportModel.java index 1a1c10b14..ecac2b076 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/IWorkReportModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/IWorkReportModel.java @@ -101,4 +101,11 @@ public interface IWorkReportModel { * @return */ WorkReportLine addWorkReportLine(); + + /** + * Removes {@link WorkReport} + * + * @param workReport + */ + void remove(WorkReport workReport); } 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 2f9d3d32b..90c729e9b 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 @@ -37,6 +37,7 @@ import org.zkoss.zul.Listhead; import org.zkoss.zul.Listheader; import org.zkoss.zul.Listitem; import org.zkoss.zul.ListitemRenderer; +import org.zkoss.zul.Messagebox; import org.zkoss.zul.SimpleListModel; import org.zkoss.zul.Textbox; import org.zkoss.zul.api.Window; @@ -79,6 +80,24 @@ public class WorkReportCRUDController extends GenericForwardComposer implements private final static int PAGING = 10; + /** + * Delete {@link WorkReport} + * + * FIXME: Should show a {@link Messagebox} to confirm deletion. Popping up a + * {@link Messagebox} from a page where there is also a {@link Listbox} + * causes an unexpected error. Bug reported to ZK. + * + * ZK Bug Tracker URL: + * http://sourceforge.net/tracker/?atid=785191&group_id=152762&func=browse + * Bug ID: 2832573 + * + * @param workReport + */ + public void showConfirmDelete(WorkReport workReport) { + workReportModel.remove(workReport); + Util.reloadBindings(listWindow); + messagesForUser.showMessage(Level.INFO, "Parte de traballo eliminado"); + } public List getWorkReports() { return workReportModel.getWorkReports(); diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java index 56ece4387..82a4fa46c 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/workreports/WorkReportModel.java @@ -192,7 +192,6 @@ public class WorkReportModel implements IWorkReportModel { @Override @Transactional(readOnly = true) public String getDistinguishedCode(OrderElement orderElement) throws InstanceNotFoundException { - orderElementDAO.save(orderElement); return orderElementDAO.getDistinguishedCode(orderElement); } @@ -202,4 +201,13 @@ public class WorkReportModel implements IWorkReportModel { workReport.getWorkReportLines().add(workReportLine); return workReportLine; } + + @Transactional + public void remove(WorkReport workReport) { + try { + workReportDAO.remove(workReport.getId()); + } catch (InstanceNotFoundException e) { + throw new RuntimeException(e); + } + } } diff --git a/navalplanner-webapp/src/main/webapp/workreports/_listWorkReport.zul b/navalplanner-webapp/src/main/webapp/workreports/_listWorkReport.zul index 2f5c356ba..07fb8c61d 100644 --- a/navalplanner-webapp/src/main/webapp/workreports/_listWorkReport.zul +++ b/navalplanner-webapp/src/main/webapp/workreports/_listWorkReport.zul @@ -16,7 +16,7 @@