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);
}
}));