You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/07/30 20:42:25 UTC

svn commit: r1508580 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/user/dao/PrivateMessagesDao.java web/user/profile/MessagesContactsPanel.java

Author: solomax
Date: Tue Jul 30 18:42:25 2013
New Revision: 1508580

URL: http://svn.apache.org/r1508580
Log:
[OPENMEETINGS-615] Move drop down is implemented

Modified:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java?rev=1508580&r1=1508579&r2=1508580&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/dao/PrivateMessagesDao.java Tue Jul 30 18:42:25 2013
@@ -516,7 +516,7 @@ public class PrivateMessagesDao implemen
 		return -1;
 	}
 
-	public Integer moveMailsToFolder(List<Long> privateMessageIds, Long privateMessageFolderId) {
+	public Integer moveMailsToFolder(Collection<Long> privateMessageIds, Long privateMessageFolderId) {
 		try {
 			Query query = em.createNamedQuery("moveMailsToFolder"); 
 			query.setParameter("privateMessageFolderId", privateMessageFolderId);

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1508580&r1=1508579&r2=1508580&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Tue Jul 30 18:42:25 2013
@@ -135,6 +135,7 @@ public class MessagesContactsPanel exten
 				return "" + object.getPrivateMessageFolderId();
 			}
 		});
+	private WebMarkupContainer selectedFolder;
 	
 	private void setDefaultFolderClass() {
 		inbox.add(AttributeAppender.replace("class", "email inbox clickable"));
@@ -161,10 +162,14 @@ public class MessagesContactsPanel exten
 		target.add(buttons);
 	}
 	
+	private String getEmail(User u) {
+		return u == null || u.getAdresses() == null ? "" : u.getAdresses().getEmail();
+	}
+	
 	private void selectMessage(long id, AjaxRequestTarget target) {
 		PrivateMessage msg = getBean(PrivateMessagesDao.class).get(id);
-		selectedMessage.addOrReplace(new Label("from", msg == null ? "" : msg.getFrom().getAdresses().getEmail()));
-		selectedMessage.addOrReplace(new Label("to", msg == null ? "" : msg.getTo().getAdresses().getEmail()));
+		selectedMessage.addOrReplace(new Label("from", msg == null ? "" : getEmail(msg.getFrom())));
+		selectedMessage.addOrReplace(new Label("to", msg == null ? "" : getEmail(msg.getTo())));
 		selectedMessage.addOrReplace(new Label("subj", msg == null ? "" : msg.getSubject()));
 		selectedMessage.addOrReplace(new Label("body", msg == null ? "" : msg.getMessage()));
 		if (target != null) {
@@ -181,11 +186,13 @@ public class MessagesContactsPanel exten
 	}
 	
 	private void selectFolder(WebMarkupContainer folder, long id, AjaxRequestTarget target) {
+		selectedFolder = folder;
 		selectedModel.setObject(id);
 		setDefaultFolderClass();
 		selectFolder(folder);
 		emptySelection(target);
 		selectDropDown.setModelObject(SELECT_CHOOSE);
+		moveDropDown.setModelObject(NOT_MOVE_FOLDER);
 		deleteBtn.add(AttributeModifier.replace("value", WebSession.getString(TRASH_FOLDER_ID == id ? 1256 : 1245)));
 		readBtn.setEnabled(false);
 		unreadBtn.setEnabled(false);
@@ -193,7 +200,7 @@ public class MessagesContactsPanel exten
 		unread.setDefaultModelObject(getBean(PrivateMessagesDao.class).count(getUserId(), id > 0 ? id : null, false, TRASH_FOLDER_ID == id));
 		if (target != null) {
 			updateTable(target);
-			target.add(folders, unread, selectDropDown);
+			target.add(folders, unread, selectDropDown, moveDropDown);
 			target.add(dataContainer.container, dataContainer.navigator);
 			target.add(dataContainer.orderLinks);
 		}
@@ -207,7 +214,7 @@ public class MessagesContactsPanel exten
 	private String getDisplayName(User u) {
 		return new StringBuilder().append(u.getFirstname()).append(" ")
 				.append(u.getLastname()).append(" ")
-				.append("<").append(u.getAdresses().getEmail()).append(">")
+				.append("<").append(getEmail(u)).append(">")
 				.toString();
 	}
 	
@@ -439,6 +446,7 @@ public class MessagesContactsPanel exten
 			protected void onEvent(AjaxRequestTarget target) {
 				//TODO weird, need to be reviewed
 				getBean(PrivateMessagesDao.class).updatePrivateMessagesToTrash(selectedMessages, false, 0L);
+				selectFolder(selectedFolder, selectedModel.getObject(), target);
 			}
 		}));
 		buttons.add(deleteBtn.add(new AjaxEventBehavior("click") {
@@ -507,7 +515,11 @@ public class MessagesContactsPanel exten
 
 			@Override
 			protected void onUpdate(AjaxRequestTarget target) {
-				
+				long folderId = moveDropDown.getModelObject().getPrivateMessageFolderId();
+				if (folderId != MOVE_CHOOSE) {
+					getBean(PrivateMessagesDao.class).moveMailsToFolder(selectedMessages, folderId);
+				}
+				selectFolder(selectedFolder, selectedModel.getObject(), target);
 			}
 		}));