message
git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@230 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
parent
636f26335f
commit
5b3713ca48
src/main/java/se/su/dsv/scipro/message/pages
@ -7,21 +7,61 @@
|
||||
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<form wicket:id="messageForm">
|
||||
<div wicket:id=projectFinder></div>
|
||||
<div/>
|
||||
<!-- <input type="text" wicket:id="userSearchText" />-->
|
||||
<!-- <select wicket:id="selectedProjectList" size="10">-->
|
||||
<!-- <option>Adam Adamsson (aaa@email)</option>-->
|
||||
<!-- <option>Nils Nilsson (nils@epost)</option>-->
|
||||
<!-- </select>-->
|
||||
<!-- <div/>-->
|
||||
Message:
|
||||
<br />
|
||||
<textarea wicket:id="textMessage" ></textarea>
|
||||
<div/>
|
||||
<input type="submit" wicket:id="submitButton" />
|
||||
</form>
|
||||
<p/>
|
||||
<form wicket:id="supervisorMessageForm">
|
||||
<div wicket:id=projectFinder></div>
|
||||
<div/>
|
||||
<!-- <input type="text" wicket:id="userSearchText" />-->
|
||||
<!-- <select wicket:id="selectedProjectList" size="10">-->
|
||||
<!-- <option>Adam Adamsson (aaa@email)</option>-->
|
||||
<!-- <option>Nils Nilsson (nils@epost)</option>-->
|
||||
<!-- </select>-->
|
||||
<!-- <div/>-->
|
||||
Message:
|
||||
<br />
|
||||
<textarea wicket:id="textMessage" ></textarea>
|
||||
<div/>
|
||||
<input type="submit" wicket:id="submitSupervisorButton" />
|
||||
</form>
|
||||
<p/>
|
||||
<form wicket:id="privateMessageForm">
|
||||
<div wicket:id=userFinder></div>
|
||||
<div/>
|
||||
<!-- <input type="text" wicket:id="userSearchText" />-->
|
||||
<!-- <select wicket:id="selectedUserList" size="10">-->
|
||||
<!-- <option>Adam Adamsson (aaa@email)</option>-->
|
||||
<!-- <option>Nils Nilsson (nils@epost)</option>-->
|
||||
<!-- </select>-->
|
||||
<!-- <div/>-->
|
||||
Title:
|
||||
<br />
|
||||
<input type="text" wicket:id="title"/>
|
||||
<div/>
|
||||
Message:
|
||||
<br />
|
||||
<textarea wicket:id="textMessage" ></textarea>
|
||||
<div/>
|
||||
<input type="submit" wicket:id="submitButton" />
|
||||
</form>
|
||||
<div wicket:id="sentPrivateMessagePanel""></div>
|
||||
<div wicket:id="messagePanel""></div>
|
||||
|
||||
|
||||
|
||||
<div wicket:id="supervisorMessagePanel""></div>
|
||||
<div wicket:id="privateMessagePanel""></div>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -3,18 +3,34 @@
|
||||
*/
|
||||
package se.su.dsv.scipro.message.pages;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.wicket.PageParameters;
|
||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.OnChangeAjaxBehavior;
|
||||
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
|
||||
import org.apache.wicket.markup.html.form.Button;
|
||||
import org.apache.wicket.markup.html.form.ChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.Form;
|
||||
import org.apache.wicket.markup.html.form.IChoiceRenderer;
|
||||
import org.apache.wicket.markup.html.form.ListMultipleChoice;
|
||||
import org.apache.wicket.markup.html.form.TextArea;
|
||||
import org.apache.wicket.markup.html.form.TextField;
|
||||
import org.apache.wicket.model.CompoundPropertyModel;
|
||||
import org.apache.wicket.model.Model;
|
||||
import org.apache.wicket.model.util.ListModel;
|
||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
||||
|
||||
import se.su.dsv.scipro.basepages.PublicPage;
|
||||
import se.su.dsv.scipro.components.autocomplete.AutoCompletionChoicesProvider;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteBuilder;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteField;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteObjectConverter;
|
||||
import se.su.dsv.scipro.components.autocomplete.MultiObjectAutoCompleteRenderer;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.BoardMessageDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.MessageBoardDao;
|
||||
import se.su.dsv.scipro.data.dao.interfaces.PrivateMessageDao;
|
||||
@ -28,18 +44,21 @@ import se.su.dsv.scipro.data.dataobjects.MessageBoard;
|
||||
import se.su.dsv.scipro.data.dataobjects.PrivateMessage;
|
||||
import se.su.dsv.scipro.data.dataobjects.Project;
|
||||
import se.su.dsv.scipro.data.dataobjects.Recipient;
|
||||
import se.su.dsv.scipro.data.dataobjects.SupervisorBoardMessage;
|
||||
import se.su.dsv.scipro.data.dataobjects.SupervisorMessageBoard;
|
||||
import se.su.dsv.scipro.data.dataobjects.User;
|
||||
import se.su.dsv.scipro.data.enums.ProjectStatus;
|
||||
import se.su.dsv.scipro.message.models.MessageModel;
|
||||
import se.su.dsv.scipro.message.panels.MessagePanel;
|
||||
|
||||
import se.su.dsv.scipro.message.panels.PrivateMessagePanel;
|
||||
import se.su.dsv.scipro.message.panels.SentPrivateMessagePanel;
|
||||
import se.su.dsv.scipro.message.panels.SupervisorMessageBoardPanel;
|
||||
|
||||
/**
|
||||
* @author Johan Aschan - aschan@dsv.su.se
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class MessagePage extends PublicPage{
|
||||
|
||||
public class MessagePage extends PublicPage {
|
||||
|
||||
@SpringBean
|
||||
private MessageBoardDao messageBoardDao;
|
||||
@SpringBean
|
||||
@ -56,84 +75,435 @@ public class MessagePage extends PublicPage{
|
||||
private PrivateMessageDao privateMessageDao;
|
||||
@SpringBean
|
||||
private RecipientDao recipientDao;
|
||||
|
||||
|
||||
private Collection<User> selectedUserList = new ArrayList<User>();
|
||||
private Collection<Project> selectedProjectList = new ArrayList<Project>();
|
||||
|
||||
private MessagePanel messagePanel;
|
||||
private PrivateMessagePanel privateMessagePanel;
|
||||
private SupervisorMessageBoardPanel supervisorMessageBoardPanel;
|
||||
private SentPrivateMessagePanel sentPrivateMessagePanel;
|
||||
private MessageBoard mb;
|
||||
|
||||
public MessagePage(final PageParameters pp){
|
||||
super(pp);
|
||||
User user = userDao.load(1L);
|
||||
List<Project> project = projectDao.getProjectsByParticipant(user, ProjectStatus.ACTIVE);
|
||||
mb = project.get(0).getMessageBoard();
|
||||
messagePanel = new MessagePanel("messagePanel", mb);
|
||||
private User user;
|
||||
|
||||
public MessagePage(final PageParameters pp) {
|
||||
super(pp);
|
||||
user = userDao.load(1L);
|
||||
// SupervisorMessageBoard smb = new SupervisorMessageBoard();
|
||||
// smb.setTitle("Supervisors Projektwall");
|
||||
// smb.setProject(projectDao.load(1L));
|
||||
// supervisorMessageBoardDao.save(smb);
|
||||
List<Project> project = projectDao.getProjectsByParticipant(user, null);
|
||||
messagePanel = new MessagePanel("messagePanel", project.get(0));
|
||||
messagePanel.setOutputMarkupId(true);
|
||||
add(messagePanel);
|
||||
sentPrivateMessagePanel = new SentPrivateMessagePanel("sentPrivateMessagePanel", userDao.load(3L));
|
||||
sentPrivateMessagePanel.setOutputMarkupId(true);
|
||||
add(sentPrivateMessagePanel);
|
||||
privateMessagePanel = new PrivateMessagePanel("privateMessagePanel", user);
|
||||
privateMessagePanel.setOutputMarkupId(true);
|
||||
add(privateMessagePanel);
|
||||
supervisorMessageBoardPanel = new SupervisorMessageBoardPanel("supervisorMessagePanel", project.get(0));
|
||||
supervisorMessageBoardPanel.setOutputMarkupId(true);
|
||||
add(supervisorMessageBoardPanel);
|
||||
add(new MessageForm("messageForm"));
|
||||
add(new PrivateMessageForm("privateMessageForm"));
|
||||
add(new SupervisorMessageForm("supervisorMessageForm"));
|
||||
}
|
||||
|
||||
public class MessageForm extends Form<MessageModel> {
|
||||
public MessageForm(String name) {
|
||||
super(name, new CompoundPropertyModel<MessageModel>(
|
||||
new MessageModel()));
|
||||
AutoCompletionChoicesProvider<Project> choiceProvider = new AutoCompletionChoicesProvider<Project>() {
|
||||
|
||||
@Override
|
||||
public Iterator<Project> getChoices(String input) {
|
||||
// TODO Auto-generated method stub
|
||||
return projectDao.searchProjectByTitle(input).iterator();
|
||||
}
|
||||
};
|
||||
|
||||
MultiObjectAutoCompleteBuilder<Project, Long> moac = new MultiObjectAutoCompleteBuilder<Project, Long>(
|
||||
choiceProvider);
|
||||
moac.idType(Long.class);
|
||||
moac.autoCompleteRenderer(new MultiObjectAutoCompleteRenderer<Project>() {
|
||||
public String getTextValue(Project p) {
|
||||
return p.getTitle();
|
||||
}
|
||||
|
||||
protected String getIdValue(User u) {
|
||||
return u.getId().toString();
|
||||
}
|
||||
});
|
||||
|
||||
moac.objectConverter(new MultiObjectAutoCompleteObjectConverter<Long, Project>() {
|
||||
|
||||
@Override
|
||||
public Project convertToObject(Long id) {
|
||||
return projectDao.load(id);
|
||||
}
|
||||
});
|
||||
MultiObjectAutoCompleteField<Project, Long> moacf = moac.build(
|
||||
"projectFinder");
|
||||
add(moacf);
|
||||
// final TextField<String> userSearchText = new TextField<String>(
|
||||
// "userSearchText");
|
||||
// add(userSearchText);
|
||||
//
|
||||
// final ListMultipleChoice<Project> userSelectList = new ListMultipleChoice<Project>(
|
||||
// "selectedProjectList", new ListModel<Project>(
|
||||
// new ArrayList<Project>()),
|
||||
// new ChoiceRenderer<Project>("title")) {
|
||||
// private static final long serialVersionUID = -7117603450416845711L;
|
||||
//
|
||||
// @Override
|
||||
// protected CharSequence getDefaultChoice(Object selected) {
|
||||
// return "";
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// OnChangeAjaxBehavior userSelectBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = 3412906970812300312L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// selectedProjectList = userSelectList.getModelObject();
|
||||
// }
|
||||
// };
|
||||
// userSelectList.add(userSelectBehaviour);
|
||||
//
|
||||
// userSelectList.setOutputMarkupId(true);
|
||||
// add(userSelectList);
|
||||
//
|
||||
// OnChangeAjaxBehavior userSearchTextBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = -3243439315735164519L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// String input = userSearchText
|
||||
// .getDefaultModelObjectAsString();
|
||||
// if (input.length() >= 3) {
|
||||
// List<Project> matches = projectDao
|
||||
// .searchProjectByTitle(input);
|
||||
// userSelectList.setChoices(new ListModel<Project>(
|
||||
// matches));
|
||||
//
|
||||
// } else {
|
||||
// userSelectList.setChoices(new ArrayList<Project>());
|
||||
// }
|
||||
//
|
||||
// if (target != null) {
|
||||
// target.addComponent(userSelectList);
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// userSearchText.add(userSearchTextBehaviour);
|
||||
|
||||
add(new TextArea<String>("textMessage"));
|
||||
add(new Button("submitButton", new Model<String>("Send Board Message")));
|
||||
add(new Button("submitButton", new Model<String>(
|
||||
"Send Board Message")));
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onSubmit() {
|
||||
mb = messageBoardDao.reLoad(mb);
|
||||
MessageModel messModel = getModelObject();
|
||||
BoardMessage bm = new BoardMessage();
|
||||
bm.setFromUser(userDao.load(2L));
|
||||
bm.setMessage(messModel.getTextMessage());
|
||||
bm = boardMessageDao.save(bm);
|
||||
List<BoardMessage> bmList = mb.getBoardMessageList();
|
||||
bmList.add(bm);
|
||||
mb.setBoardMessageList(bmList);
|
||||
mb = messageBoardDao.save(mb);
|
||||
MessagePanel mp = new MessagePanel("messagePanel", mb);
|
||||
mp.setMarkupId(messagePanel.getMarkupId());
|
||||
messagePanel.replaceWith(mp);
|
||||
messagePanel = mp;
|
||||
List<Project> projectList = getModelObject().getProjectFinder();
|
||||
for (Project project : projectList) {
|
||||
project = projectDao.reLoad(project);
|
||||
MessageBoard toMb = project.getMessageBoard();
|
||||
MessageModel messModel = getModelObject();
|
||||
BoardMessage bm = new BoardMessage();
|
||||
bm.setFromUser(userDao.load(2L));
|
||||
bm.setMessage(messModel.getTextMessage());
|
||||
bm = boardMessageDao.save(bm);
|
||||
List<BoardMessage> bmList = toMb.getBoardMessageList();
|
||||
bmList.add(bm);
|
||||
toMb.setBoardMessageList(bmList);
|
||||
toMb = messageBoardDao.save(toMb);
|
||||
mb = messageBoardDao.reLoad(mb);
|
||||
MessagePanel mp = new MessagePanel("messagePanel", project);
|
||||
mp.setMarkupId(messagePanel.getMarkupId());
|
||||
messagePanel.replaceWith(mp);
|
||||
messagePanel = mp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public class SupervisorMessageForm extends Form<MessageModel> {
|
||||
public SupervisorMessageForm(String name) {
|
||||
super(name, new CompoundPropertyModel<MessageModel>(
|
||||
new MessageModel()));
|
||||
AutoCompletionChoicesProvider<Project> choiceProvider = new AutoCompletionChoicesProvider<Project>() {
|
||||
|
||||
@Override
|
||||
public Iterator<Project> getChoices(String input) {
|
||||
// TODO Auto-generated method stub
|
||||
return projectDao.searchProjectByTitle(input).iterator();
|
||||
}
|
||||
};
|
||||
|
||||
MultiObjectAutoCompleteBuilder<Project, Long> moac = new MultiObjectAutoCompleteBuilder<Project, Long>(
|
||||
choiceProvider);
|
||||
moac.idType(Long.class);
|
||||
moac.autoCompleteRenderer(new MultiObjectAutoCompleteRenderer<Project>() {
|
||||
public String getTextValue(Project p) {
|
||||
return p.getTitle();
|
||||
}
|
||||
|
||||
protected String getIdValue(User u) {
|
||||
return u.getId().toString();
|
||||
}
|
||||
});
|
||||
|
||||
moac.objectConverter(new MultiObjectAutoCompleteObjectConverter<Long, Project>() {
|
||||
|
||||
@Override
|
||||
public Project convertToObject(Long id) {
|
||||
return projectDao.load(id);
|
||||
}
|
||||
});
|
||||
MultiObjectAutoCompleteField<Project, Long> moacf = moac.build(
|
||||
"projectFinder");
|
||||
add(moacf);
|
||||
// final TextField<String> userSearchText = new TextField<String>(
|
||||
// "userSearchText");
|
||||
// add(userSearchText);
|
||||
//
|
||||
// final ListMultipleChoice<Project> userSelectList = new ListMultipleChoice<Project>(
|
||||
// "selectedProjectList", new ListModel<Project>(
|
||||
// new ArrayList<Project>()),
|
||||
// new ChoiceRenderer<Project>("title")) {
|
||||
// private static final long serialVersionUID = -7117603450416845711L;
|
||||
//
|
||||
// @Override
|
||||
// protected CharSequence getDefaultChoice(Object selected) {
|
||||
// return "";
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// OnChangeAjaxBehavior userSelectBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = 3412906970812300312L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// selectedProjectList = userSelectList.getModelObject();
|
||||
// }
|
||||
// };
|
||||
// userSelectList.add(userSelectBehaviour);
|
||||
//
|
||||
// userSelectList.setOutputMarkupId(true);
|
||||
// add(userSelectList);
|
||||
//
|
||||
// OnChangeAjaxBehavior userSearchTextBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = -3243439315735164519L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// String input = userSearchText
|
||||
// .getDefaultModelObjectAsString();
|
||||
// if (input.length() >= 3) {
|
||||
// List<Project> matches = projectDao
|
||||
// .searchProjectByTitle(input);
|
||||
// userSelectList.setChoices(new ListModel<Project>(
|
||||
// matches));
|
||||
//
|
||||
// } else {
|
||||
// userSelectList.setChoices(new ArrayList<Project>());
|
||||
// }
|
||||
//
|
||||
// if (target != null) {
|
||||
// target.addComponent(userSelectList);
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// userSearchText.add(userSearchTextBehaviour);
|
||||
|
||||
add(new TextArea<String>("textMessage"));
|
||||
add(new AjaxButton("submitSupervisorButton", new Model<String>(
|
||||
"Send Supervisor Board Message")){
|
||||
|
||||
@Override
|
||||
protected void onSubmit(AjaxRequestTarget target,
|
||||
Form<?> form) {
|
||||
System.out.println("test");
|
||||
List<Project> projectList = ((MessageModel) form.getModelObject()).getProjectFinder();
|
||||
for (Project project : projectList) {
|
||||
project = projectDao.reLoad(project);
|
||||
SupervisorMessageBoard toMb = project.getSupervisorMessageBoard();
|
||||
MessageModel messModel = (MessageModel) form.getModelObject();
|
||||
SupervisorBoardMessage bm = new SupervisorBoardMessage();
|
||||
bm.setFromUser(userDao.load(2L));
|
||||
bm.setMessage(messModel.getTextMessage());
|
||||
bm = supervisorBoardMessageDao.save(bm);
|
||||
List<SupervisorBoardMessage> bmList = toMb.getSupervisorBoardMessageList();
|
||||
bmList.add(bm);
|
||||
toMb.setSupervisorBoardMessageList(bmList);
|
||||
toMb = supervisorMessageBoardDao.save(toMb);
|
||||
SupervisorMessageBoardPanel mp = new SupervisorMessageBoardPanel("supervisorMessagePanel", project);
|
||||
mp.setMarkupId(supervisorMessageBoardPanel.getMarkupId());
|
||||
supervisorMessageBoardPanel.replaceWith(mp);
|
||||
supervisorMessageBoardPanel = mp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public class PrivateMessageForm extends Form<MessageModel> {
|
||||
public PrivateMessageForm(String name) {
|
||||
super(name, new CompoundPropertyModel<MessageModel>(
|
||||
new MessageModel()));
|
||||
AutoCompletionChoicesProvider<User> choiceProvider = new AutoCompletionChoicesProvider<User>() {
|
||||
|
||||
@Override
|
||||
public Iterator<User> getChoices(String input) {
|
||||
// TODO Auto-generated method stub
|
||||
return userDao.findUserQuery(input, 10).iterator();
|
||||
}
|
||||
};
|
||||
|
||||
MultiObjectAutoCompleteBuilder<User, Long> moac = new MultiObjectAutoCompleteBuilder<User, Long>(
|
||||
choiceProvider);
|
||||
moac.idType(Long.class);
|
||||
moac.autoCompleteRenderer(new MultiObjectAutoCompleteRenderer<User>() {
|
||||
public String getTextValue(User u) {
|
||||
return u.getFirstName() + " " + u.getLastName();
|
||||
}
|
||||
|
||||
protected String getIdValue(User u) {
|
||||
return u.getId().toString();
|
||||
}
|
||||
});
|
||||
|
||||
moac.objectConverter(new MultiObjectAutoCompleteObjectConverter<Long, User>() {
|
||||
|
||||
@Override
|
||||
public User convertToObject(Long id) {
|
||||
return userDao.load(id);
|
||||
}
|
||||
});
|
||||
MultiObjectAutoCompleteField<User, Long> moacf = moac.build(
|
||||
"userFinder");
|
||||
add(moacf);
|
||||
final Button submitButton = new Button("submitButton", new Model<String>(
|
||||
"Send Private Message"));
|
||||
// final TextField<String> userSearchText = new TextField<String>(
|
||||
// "userSearchText");
|
||||
// add(userSearchText);
|
||||
//
|
||||
// IChoiceRenderer<User> choiceRenderer = new IChoiceRenderer<User>() {
|
||||
//
|
||||
// // Implement dispay here
|
||||
// public Object getDisplayValue(User user) {
|
||||
// return user.getFirstName() + " " + user.getLastName();
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public String getIdValue(User user, int arg1) {
|
||||
// return user.getId().toString();
|
||||
// }
|
||||
//
|
||||
// };
|
||||
//
|
||||
// final ListMultipleChoice<User> userSelectList = new ListMultipleChoice<User>(
|
||||
// "selectedUserList", new ListModel<User>(
|
||||
// new ArrayList<User>()), choiceRenderer) {
|
||||
// private static final long serialVersionUID = -7117603450416845711L;
|
||||
//
|
||||
// @Override
|
||||
// protected CharSequence getDefaultChoice(Object selected) {
|
||||
// return "";
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// OnChangeAjaxBehavior userSelectBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = 3412906970812300312L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// selectedUserList = userSelectList.getModelObject();
|
||||
// }
|
||||
// };
|
||||
// userSelectList.add(userSelectBehaviour);
|
||||
//
|
||||
// userSelectList.setOutputMarkupId(true);
|
||||
// add(userSelectList);
|
||||
//
|
||||
// OnChangeAjaxBehavior userSearchTextBehaviour = new OnChangeAjaxBehavior() {
|
||||
//
|
||||
// private static final long serialVersionUID = -3243439315735164519L;
|
||||
//
|
||||
// @Override
|
||||
// protected void onUpdate(AjaxRequestTarget target) {
|
||||
// String input = userSearchText
|
||||
// .getDefaultModelObjectAsString();
|
||||
// if (input.length() >= 3) {
|
||||
// List<User> matches = userDao.findUserQuery(input, 10);
|
||||
// userSelectList.setChoices(new ListModel<User>(matches));
|
||||
//
|
||||
// } else {
|
||||
// userSelectList.setChoices(new ArrayList<User>());
|
||||
// }
|
||||
//
|
||||
// if (target != null) {
|
||||
// target.addComponent(userSelectList);
|
||||
// target.addComponent(submitButton);
|
||||
// }
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// userSearchText.add(userSearchTextBehaviour);
|
||||
|
||||
add(new TextField<String>("title"));
|
||||
add(new TextArea<String>("textMessage"));
|
||||
add(new Button("submitButton", new Model<String>("Send Private Message")));
|
||||
add(submitButton);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected void onSubmit() {
|
||||
mb = messageBoardDao.reLoad(mb);
|
||||
MessageModel messModel = getModelObject();
|
||||
|
||||
PrivateMessage pm = new PrivateMessage();
|
||||
pm.setFromUser(userDao.load(3L));
|
||||
pm.setMessage(messModel.getTextMessage());
|
||||
pm.setTitle("Hi");
|
||||
|
||||
pm = privateMessageDao.save(pm);
|
||||
|
||||
Recipient rec = new Recipient();
|
||||
rec.setToUser(userDao.load(1L));
|
||||
rec.setPrivateMessage(pm);
|
||||
rec.setDateRead(new Date());
|
||||
rec = recipientDao.save(rec);
|
||||
MessagePanel mp = new MessagePanel("messagePanel", mb);
|
||||
mp.setMarkupId(messagePanel.getMarkupId());
|
||||
messagePanel.replaceWith(mp);
|
||||
messagePanel = mp;
|
||||
List<User> users = getModelObject().getUserFinder();
|
||||
if (users.size() > 0) {
|
||||
mb = messageBoardDao.reLoad(mb);
|
||||
MessageModel messModel = getModelObject();
|
||||
PrivateMessage pm = new PrivateMessage();
|
||||
pm.setFromUser(userDao.load(3L));
|
||||
pm.setMessage(messModel.getTextMessage());
|
||||
pm.setTitle(messModel.getTitle());
|
||||
pm = privateMessageDao.save(pm);
|
||||
for (User selectedUser : users) {
|
||||
Recipient rec = new Recipient();
|
||||
selectedUser = userDao.reLoad(selectedUser);
|
||||
rec.setToUser(selectedUser);
|
||||
rec.setPrivateMessage(pm);
|
||||
rec = recipientDao.save(rec);
|
||||
}
|
||||
|
||||
PrivateMessagePanel pmp = new PrivateMessagePanel("privateMessagePanel", user);
|
||||
pmp.setMarkupId(privateMessagePanel.getMarkupId());
|
||||
privateMessagePanel.replaceWith(pmp);
|
||||
privateMessagePanel = pmp;
|
||||
|
||||
SentPrivateMessagePanel spmp = new SentPrivateMessagePanel("sentPrivateMessagePanel", userDao.load(3L));
|
||||
spmp.setMarkupId(sentPrivateMessagePanel.getMarkupId());
|
||||
sentPrivateMessagePanel.replaceWith(spmp);
|
||||
sentPrivateMessagePanel = spmp;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user