added feedbackpanel cant post message with zero length text

Change-Id: Ide88e6abd9304cafdfa6baece4df114c86365c80
This commit is contained in:
joha-asc 2011-07-22 16:05:04 +02:00
parent 3c479a9998
commit a31147d46c
2 changed files with 41 additions and 54 deletions
src/main/java/se/su/dsv/scipro/conference/panels

@ -6,27 +6,27 @@
</head>
<body>
<wicket:panel>
<div class="margin rounded-border">
<div wicket:id="feedbackPanel"></div>
<form wicket:id="sendForm">
<textarea wicket:id="textArea"></textarea>
<div>
<button type="submit" wicket:id="ajaxButton">
<img src="css/blueprint/plugins/buttons/icons/tick.png" alt="" />Send
Message
</button>
<button type="submit" wicket:id="ajaxButton">
<img src="css/blueprint/plugins/buttons/icons/tick.png" alt="" />Send
Message
</button>
</div>
</form>
</div>
<div wicket:id="container" class="margin clear">
<div wicket:id="boardMessageDataView" class="rounded-border">
<span wicket:id="messageUser" class="small"> </span>
<span wicket:id="messageDate" class="small"></span>
<span><a href="#"
wicket:id="delete" class="right-corner-resource"> <img class="icon-12"
src="images/icons/delete_16x16.png" alt="Delete" title="Delete" />
</a>
</span>
<span wicket:id="messageUser" class="small"> </span> <span
wicket:id="messageDate" class="small"></span> <span><a
href="#" wicket:id="delete" class="right-corner-resource"> <img
class="icon-12" src="images/icons/delete_16x16.png" alt="Delete"
title="Delete" /> </a> </span>
<div wicket:id="messageLabel" class="margin"></div>
<div>
<a href="#" wicket:id="showComments"><span

@ -15,6 +15,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.navigation.paging.PagingNavigator;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.repeater.Item;
import org.apache.wicket.markup.repeater.data.DataView;
@ -59,6 +60,7 @@ public class ConferencePanel extends Panel {
private IModel<MessageBoard> messageBoardModel;
private IModel<BoardMessage> boardMessageModel;
private Set<SubscriberModel> subscriberModels;
private FeedbackPanel feedbackPanel;
public ConferencePanel(String id, IModel<MessageBoard> messageBoardModel,
Set<SubscriberModel> subscriberModels, IModel<BoardMessage> boardMessageModel) {
@ -75,6 +77,10 @@ public class ConferencePanel extends Panel {
}
private void initPanel() {
feedbackPanel = new FeedbackPanel("feedbackPanel");
feedbackPanel.setOutputMarkupId(true);
add(feedbackPanel);
add(new SendWallMessageForm("sendForm"));
webMarkupContainer = new WebMarkupContainer("container");
loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
@ -140,7 +146,7 @@ public class ConferencePanel extends Panel {
subscriberModels, messageBoardModel.getObject().getTitle());
ctp.setOutputMarkupPlaceholderTag(true);
webMarkupContainer.add(ctp);
if (boardMessageModel != null && boardMessageModel.getObject().equals(bm)) {
comment.setDefaultModelObject("Hide comments");
webMarkupContainer.setVisible(true);
@ -231,25 +237,30 @@ public class ConferencePanel extends Panel {
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
if (message == null || message.length() < 1) {
error("Post can't be empty");
} else {
BoardMessage bm = new BoardMessage();
bm.setMessage(message);
bm.setMessageBoard(messageBoardModel.getObject());
bm.setFromUser(SciProSession.get().getUser());
bm = boardMessageDao.save(bm);
BoardMessage bm = new BoardMessage();
bm.setMessage(message);
bm.setMessageBoard(messageBoardModel.getObject());
bm.setFromUser(SciProSession.get().getUser());
bm = boardMessageDao.save(bm);
for (SubscriberModel subscriberModel : subscriberModels) {
createNotification(subscriberModel.getUser(), message,
subscriberModel.getNotificationPriority(),
subscriberModel.getAbsolutePath());
for (SubscriberModel subscriberModel : subscriberModels) {
notificationController.createNotificationForConference(subscriberModel.getUser(), message, messageBoardModel.getObject().getTitle(),
subscriberModel.getNotificationPriority(),
subscriberModel.getAbsolutePath());
}
messageTextArea.setDefaultModelObject("");
webMarkupContainer.removeAll();
loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
webMarkupContainer.add(dataView);
webMarkupContainer.add(new PagingNavigator("pagingNavigator", dataView));
target.addComponent(webMarkupContainer);
target.addComponent(messageTextArea);
}
messageTextArea.setDefaultModelObject("");
webMarkupContainer.removeAll();
loadUserDataView(new BoardMessageDataProvider(messageBoardModel));
webMarkupContainer.add(dataView);
webMarkupContainer.add(new PagingNavigator("pagingNavigator", dataView));
target.addComponent(webMarkupContainer);
target.addComponent(messageTextArea);
target.addComponent(feedbackPanel);
}
};
@ -257,28 +268,4 @@ public class ConferencePanel extends Panel {
}
}
private void createNotification(final User user, final String message,
final NotificationPriority notificationPriority, final String absolutePath) {
Properties props = null;
try {
props = PropsUtils.load("notification.properties");
} catch (Exception e) {
e.printStackTrace();
}
String mailSubject = props.getProperty("mailSubject");
String conferenceNotification = props.getProperty("conferenceNotification");
String twoNewLines = props.getProperty("twoNewLines");
String webNotificationMessage = SciProSession.get().getUser() + conferenceNotification
+ messageBoardModel.getObject().getTitle();
String mailMessage = webNotificationMessage + twoNewLines + message;
NotificationMessage notificationMessage = new NotificationMessage(webNotificationMessage,
mailSubject, mailMessage);
notificationController.processNotification(user, notificationMessage, absolutePath,
notificationPriority);
}
}