From ce82fe1bb9423aaf262868db36f8d90a3f6ab719 Mon Sep 17 00:00:00 2001 From: Fredrik Friis <fred-fri@dsv.su.se> Date: Fri, 13 Apr 2012 18:45:05 +0900 Subject: [PATCH] indication is removed if the user is the one who makes a change in the checklist --- .../checklists/panels/AnswerDialogPanel.java | 30 ++++++++++++------- .../checklists/panels/ViewCheckListPanel.java | 4 ++- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/AnswerDialogPanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/AnswerDialogPanel.java index 4c16810918..f90f0114c8 100644 --- a/src/main/java/se/su/dsv/scipro/checklists/panels/AnswerDialogPanel.java +++ b/src/main/java/se/su/dsv/scipro/checklists/panels/AnswerDialogPanel.java @@ -7,23 +7,23 @@ 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.checklists.panels.AnswerDialogPanel.AnswerDialog; +import se.su.dsv.scipro.SciProSession; import se.su.dsv.scipro.data.dao.interfaces.CheckListAnswerDao; import se.su.dsv.scipro.data.dao.interfaces.CheckListQuestionDao; import se.su.dsv.scipro.data.dataobjects.CheckListAnswer; import se.su.dsv.scipro.data.dataobjects.CheckListQuestion; import se.su.dsv.scipro.data.dataobjects.User; import se.su.dsv.scipro.data.enums.CheckListQuestionAnswer; +import se.su.dsv.scipro.springdata.services.ChecklistService; public class AnswerDialogPanel extends Panel { private static final long serialVersionUID = 1L; private AnswerDialog dialog; - public AnswerDialogPanel(String id, User currentUser) { + public AnswerDialogPanel(String id, User currentUser, Long checklistId) { super(id); - dialog = new AnswerDialog("answerDialog", currentUser); + dialog = new AnswerDialog("answerDialog", currentUser, checklistId); add(dialog); } @@ -32,35 +32,42 @@ public class AnswerDialogPanel extends Panel { private static final long serialVersionUID = 1L; @SpringBean private CheckListAnswerDao checkListAnswerDao; - + private Long checklistId; + + @SpringBean private CheckListQuestionDao checkListQuestionDao; private final User currentUser; - public AnswerDialog(String id, User currentUser) { + public AnswerDialog(String id, User currentUser, Long checklistId) { super(id); + this.checklistId = checklistId; this.currentUser = currentUser; setModal(true); setAutoOpen(false); setWidth(400); setHeight(400); - add(new AnswerForm("answerForm")); + add(new AnswerForm("answerForm", checklistId)); } public void dialogContent(CheckListQuestion clq) { setTitle(clq.getQuestion()); - replace(new AnswerForm("answerForm", clq)); + replace(new AnswerForm("answerForm", clq, checklistId)); } private class AnswerForm extends Form<Void> { + + @SpringBean + private ChecklistService checklistService; + private static final long serialVersionUID = 1L; private TrafficLightPanel trafficLights; private CheckListQuestion clq; private CheckListAnswer answer; private TextArea<String> commentArea; private String comment; - - public AnswerForm(String id, CheckListQuestion clq) { + + public AnswerForm(String id, CheckListQuestion clq, Long checklistId) { super(id); setMultiPart(true); answer = clq.getAnswerFromUser(currentUser); @@ -81,7 +88,7 @@ public class AnswerDialogPanel extends Panel { add(commentArea); } - public AnswerForm(String id) { + public AnswerForm(String id, Long checklistId) { super(id); add(new TrafficLightPanel("trafficLights")); add(new TextArea<String>("commentArea")); @@ -96,6 +103,7 @@ public class AnswerDialogPanel extends Panel { clq = checkListQuestionDao.reLoad(clq); clq.addAnswer(checkListAnswerDao.save(clAnswer)); clq = checkListQuestionDao.save(clq); + checklistService.updateUserLastOpenDate(checklistService.findOne(checklistId), SciProSession.get().getUser()); setResponsePage(getPage()); } } diff --git a/src/main/java/se/su/dsv/scipro/checklists/panels/ViewCheckListPanel.java b/src/main/java/se/su/dsv/scipro/checklists/panels/ViewCheckListPanel.java index 94ad3841b0..0abbe7aa96 100644 --- a/src/main/java/se/su/dsv/scipro/checklists/panels/ViewCheckListPanel.java +++ b/src/main/java/se/su/dsv/scipro/checklists/panels/ViewCheckListPanel.java @@ -37,6 +37,7 @@ public class ViewCheckListPanel extends Panel { private static final long serialVersionUID = 1L; private AnswerDialogPanel answerDialog; + private Long checklistId; @SpringBean private CheckListDao checkListDao; @@ -55,6 +56,7 @@ public class ViewCheckListPanel extends Panel { public ViewCheckListPanel(final String id, final Long checkListId) { super(id); + this.checklistId = checkListId; checklistService.updateUserLastOpenDate(checklistService.findOne(checkListId), SciProSession.get().getUser()); LoadableDetachableModel<CheckListModel> checkListModel = new LoadableDetachableModel<CheckListModel>() { @@ -82,7 +84,7 @@ public class ViewCheckListPanel extends Panel { } private void initComponents(final IModel<CheckListModel> checkListModel) { - answerDialog = new AnswerDialogPanel("answerDialog", getCurrentUser()); + answerDialog = new AnswerDialogPanel("answerDialog", getCurrentUser(), checklistId); add(answerDialog); ListView<CheckListQuestion> checkListQuestions =