From e2063cf24fb3987f88b9f4df97281c29d5e4a5c2 Mon Sep 17 00:00:00 2001
From: Fredrik Friis <fred-fri@dsv.su.se>
Date: Thu, 1 Mar 2012 12:11:16 +0900
Subject: [PATCH] fixed some saves

---
 .../FunctionalEditChecklistTemplatePanel.java | 22 ++++++-------------
 1 file changed, 7 insertions(+), 15 deletions(-)

diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/FunctionalEditChecklistTemplatePanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/FunctionalEditChecklistTemplatePanel.java
index 52d6cafa93..d2a911976a 100644
--- a/src/main/java/se/su/dsv/scipro/checklists/panels/FunctionalEditChecklistTemplatePanel.java
+++ b/src/main/java/se/su/dsv/scipro/checklists/panels/FunctionalEditChecklistTemplatePanel.java
@@ -5,16 +5,14 @@ import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.markup.html.form.Form;
 import org.apache.wicket.markup.html.form.TextField;
 import org.apache.wicket.markup.html.panel.Panel;
+import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.spring.injection.annot.SpringBean;
-import org.odlabs.wiquery.ui.dialog.Dialog;
 
-import se.su.dsv.scipro.admin.pages.AdminCheckListPage;
 import se.su.dsv.scipro.admin.panels.AdminViewCheckListTemplatePanel;
 import se.su.dsv.scipro.data.dao.interfaces.CheckListTemplateDao;
 import se.su.dsv.scipro.data.dao.interfaces.ChecklistCategoryDao;
 import se.su.dsv.scipro.data.dataobjects.CheckListTemplate;
-import se.su.dsv.scipro.data.dataobjects.ProjectScheduleEvent;
 
 public abstract class FunctionalEditChecklistTemplatePanel extends Panel{
 	private static final long serialVersionUID = 1L;
@@ -32,7 +30,7 @@ public abstract class FunctionalEditChecklistTemplatePanel extends Panel{
 		if (clt.getId()!=null)
 			clt = checklistTemplateDao.reLoad(clt);
 
-		form = new ChecklistTemplateForm("checklistTemplateForm", clt);
+		form = new ChecklistTemplateForm("checklistTemplateForm", new Model<CheckListTemplate>(clt));
 		add(form);
 	}
 	
@@ -45,24 +43,18 @@ public abstract class FunctionalEditChecklistTemplatePanel extends Panel{
 	public class ChecklistTemplateForm extends Form{
 		private static final long serialVersionUID = 1L;
 
-		private transient String name; //no need to serialize this
-		private CheckListTemplate clt;
-
-		public ChecklistTemplateForm(String id, final CheckListTemplate clt) {
+		public ChecklistTemplateForm(String id, final Model<CheckListTemplate> cltModel) {
 			super(id);
 
-			this.clt = clt;
-			name = clt.getName();
-			add(new TextField<String>("nameTextField", new PropertyModel<String>(this, "name")));
-			add(new ChecklistCategoryPanel("categoryPanel", clt.getCategories()));
-			add(new AdminViewCheckListTemplatePanel("avcltp", clt));
+			add(new TextField<String>("nameTextField", new PropertyModel<String>(cltModel.getObject(), "name")));
+			add(new ChecklistCategoryPanel("categoryPanel", cltModel.getObject().getCategories()));
+			add(new AdminViewCheckListTemplatePanel("avcltp", cltModel.getObject()));
 
 			add(new AjaxButton("saveButton") {
 				private static final long serialVersionUID = 1L;
 				@Override
 				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
-					clt.setName(name);
-					checklistTemplateDao.save(clt);
+					cltModel.setObject(checklistTemplateDao.save(cltModel.getObject()));
 					onUpdate(target);
 				}
 			});