diff --git a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.html b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.html index 5f87b48a8b..870b109771 100644 --- a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.html +++ b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.html @@ -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 diff --git a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java index 1013d3f969..cd55aec442 100644 --- a/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java +++ b/src/main/java/se/su/dsv/scipro/conference/panels/ConferencePanel.java @@ -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); - } }