Author: vdegtyarev Date: Mon Mar 31 10:33:58 2014 New Revision: 1583287 URL: http://svn.apache.org/r1583287 Log: OPENMEETINGS-913 is fixed. Booking works as expected via private message.
Added: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/LinkHelper.java Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Modified: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java?rev=1583287&r1=1583286&r2=1583287&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java (original) +++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/data/conference/InvitationManager.java Mon Mar 31 10:33:58 2014 @@ -19,7 +19,6 @@ package org.apache.openmeetings.data.conference; import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; -import static org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment; import java.security.NoSuchAlgorithmException; import java.util.Calendar; @@ -43,6 +42,7 @@ import org.apache.openmeetings.db.util.T import org.apache.openmeetings.mail.MailHandler; import org.apache.openmeetings.mail.SMSHandler; import org.apache.openmeetings.util.CalendarPatterns; +import org.apache.openmeetings.util.LinkHelper; import org.apache.openmeetings.util.crypt.MD5; import org.apache.openmeetings.util.crypt.ManageCryptStyle; import org.apache.openmeetings.util.mail.IcalHandler; @@ -345,16 +345,7 @@ public class InvitationManager implement } public void sendInvitionLink(Invitation i, MessageType type, String subject, String message, boolean ical) throws Exception { - String invitation_link = i.getBaseUrl(); - if (i.getInvitee().getType() == Type.contact) { - invitation_link += "?invitationHash=" + i.getHash(); - - if (i.getInvitee().getLanguage_id() > 0) { - invitation_link += "&language=" + i.getInvitee().getLanguage_id().toString(); - } - } else { - invitation_link = getRoomUrlFragment(i.getRoom().getRooms_id()).getLink(i.getBaseUrl()); - } + String invitation_link = LinkHelper.getInvitationLink(i); User owner = i.getInvitedBy(); String invitorName = owner.getFirstname() + " " + owner.getLastname(); Added: openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/LinkHelper.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/LinkHelper.java?rev=1583287&view=auto ============================================================================== --- openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/LinkHelper.java (added) +++ openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/util/LinkHelper.java Mon Mar 31 10:33:58 2014 @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License") + you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.openmeetings.util; + +import static org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment; + +import org.apache.openmeetings.db.entity.room.Invitation; +import org.apache.openmeetings.db.entity.user.User.Type; + +public class LinkHelper { + + public static String getInvitationLink(Invitation i) { + String link = i.getBaseUrl(); + if (link == null) { + return null; + } + if (i.getInvitee().getType() == Type.contact) { + link += "?invitationHash=" + i.getHash(); + + if (i.getInvitee().getLanguage_id() > 0) { + link += "&language=" + i.getInvitee().getLanguage_id().toString(); + } + } else { + link = getRoomUrlFragment(i.getRoom().getRooms_id()).getLink(i.getBaseUrl()); + } + return link; + } + +} Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java?rev=1583287&r1=1583286&r2=1583287&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java (original) +++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessageDialog.java Mon Mar 31 10:33:58 2014 @@ -21,6 +21,7 @@ package org.apache.openmeetings.web.user import static org.apache.openmeetings.db.entity.user.PrivateMessage.INBOX_FOLDER_ID; import static org.apache.openmeetings.db.entity.user.PrivateMessage.SENT_FOLDER_ID; import static org.apache.openmeetings.web.app.Application.getBean; +import static org.apache.openmeetings.web.app.WebSession.getBaseUrl; import static org.apache.openmeetings.web.app.WebSession.getUserId; import static org.apache.openmeetings.web.util.RoomTypeDropDown.getRoomTypes; @@ -30,13 +31,18 @@ import java.util.Collection; import java.util.Date; import java.util.List; +import org.apache.openmeetings.data.conference.InvitationManager; import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.dao.user.PrivateMessagesDao; import org.apache.openmeetings.db.dao.user.UserDao; +import org.apache.openmeetings.db.entity.room.Invitation; +import org.apache.openmeetings.db.entity.room.Invitation.Valid; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.db.entity.user.PrivateMessage; import org.apache.openmeetings.db.entity.user.User; +import org.apache.openmeetings.db.entity.user.User.Type; import org.apache.openmeetings.mail.MailHandler; +import org.apache.openmeetings.util.LinkHelper; import org.apache.openmeetings.web.app.WebSession; import org.apache.openmeetings.web.util.ContactsHelper; import org.apache.openmeetings.web.util.RoomTypeDropDown; @@ -171,17 +177,19 @@ public class MessageDialog extends Abstr r.setName(p.getSubject()); r.setComment(""); r.setNumberOfPartizipants(100L); - r.setAppointment(true); + r.setAppointment(false); r.setAllowUserQuestions(true); r.setAllowFontStyles(true); - getBean(RoomDao.class).update(r, getUserId()); + r = getBean(RoomDao.class).update(r, getUserId()); + p.setRoom(r); } else { p.setRoom(null); } PrivateMessagesDao msgDao = getBean(PrivateMessagesDao.class); for (User to : modelTo.getObject()) { + UserDao userDao = getBean(UserDao.class); if (to.getUser_id() == null) { - getBean(UserDao.class).update(to, getUserId()); + userDao.update(to, getUserId()); } //to send p = new PrivateMessage(p); @@ -194,12 +202,31 @@ public class MessageDialog extends Abstr p.setFolderId(INBOX_FOLDER_ID); msgDao.update(p, getUserId()); if (to.getAdresses() != null) { - String aLinkHTML = isPrivate ? "<br/><br/>" + "<a href='" + ContactsHelper.getLink() + "'>" + String aLinkHTML = (isPrivate && to.getType() == Type.user) ? "<br/><br/>" + "<a href='" + ContactsHelper.getLink() + "'>" + WebSession.getString(1302) + "</a><br/>" : ""; + String invitation_link = ""; + if (p.isBookedRoom()) { + Invitation i = getBean(InvitationManager.class).getInvitation(to, p.getRoom(), + false, null, Valid.Period + , userDao.get(getUserId()), getBaseUrl(), userDao.get(getUserId()).getLanguage_id(), + modelStart.getObject(), modelEnd.getObject(), null); + + invitation_link = LinkHelper.getInvitationLink(i); + + if (invitation_link == null) { + invitation_link = ""; + } else { + invitation_link = "<br/>" // + + WebSession.getString(503) + + "<br/><a href='" + invitation_link + + "'>" + + WebSession.getString(504) + "</a><br/>"; + } + } getBean(MailHandler.class).send(to.getAdresses().getEmail(), WebSession.getString(1301) + p.getSubject(), - (p.getMessage() == null ? "" : p.getMessage().replaceAll("\\<.*?>", "")) + aLinkHTML); + (p.getMessage() == null ? "" : p.getMessage().replaceAll("\\<.*?>", "")) + aLinkHTML + invitation_link); } } } Modified: openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java?rev=1583287&r1=1583286&r2=1583287&view=diff ============================================================================== --- openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java (original) +++ openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/profile/MessagesContactsPanel.java Mon Mar 31 10:33:58 2014 @@ -275,7 +275,7 @@ public class MessagesContactsPanel exten @Override protected void onEvent(AjaxRequestTarget target) { - newMessage.reset(false).open(target); + newMessage.reset(true).open(target); } }).add(new JQueryBehavior(".email.new", "button"))); folders.add(inbox.add(new AjaxEventBehavior("click") {