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 2019/05/21 10:18:44 UTC

[openmeetings] branch 4.0.x updated: [OPENMEETINGS-2071] client baseUrl is being used for invitation sending

This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/4.0.x by this push:
     new d4c2024  [OPENMEETINGS-2071] client baseUrl is being used for invitation sending
d4c2024 is described below

commit d4c202492b08c226c83910e0e64edf9e0756b878
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Tue May 21 17:14:38 2019 +0700

    [OPENMEETINGS-2071] client baseUrl is being used for invitation sending
---
 .../src/main/java/org/apache/openmeetings/IApplication.java        | 2 +-
 .../org/apache/openmeetings/db/dao/room/IInvitationManager.java    | 2 +-
 .../org/apache/openmeetings/service/notifier/MailNotifier.java     | 2 +-
 .../org/apache/openmeetings/service/room/InvitationManager.java    | 6 +++---
 .../src/main/java/org/apache/openmeetings/web/app/Application.java | 4 ++--
 .../java/org/apache/openmeetings/web/common/InvitationForm.java    | 7 ++++---
 .../org/apache/openmeetings/web/room/menu/RoomInvitationForm.java  | 4 +++-
 .../java/org/apache/openmeetings/invitiation/TestInvitation.java   | 2 +-
 .../java/org/apache/openmeetings/webservice/RoomWebService.java    | 2 +-
 9 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
index e107dfd..d299407 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
@@ -40,7 +40,7 @@ public interface IApplication {
 	String getOmString(String key, long languageId);
 	String getOmString(String key, final Locale loc, String... params);
 	String getOmContactsLink();
-	String getOmInvitationLink(Invitation i);
+	String getOmInvitationLink(Invitation i, String baseUrl);
 	String urlForActivatePage(PageParameters pp);
 	void setXFrameOptions(String xFrameOptions);
 	void setContentSecurityPolicy(String contentSecurityPolicy);
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
index 72684ce..a9280c2 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/IInvitationManager.java
@@ -43,5 +43,5 @@ public interface IInvitationManager {
 			User createdBy, Long languageId, Date gmtTimeStart, Date gmtTimeEnd
 			, Appointment appointment);
 
-	void sendInvitationLink(Invitation i, MessageType type, String subject, String message, boolean ical) throws Exception;
+	void sendInvitationLink(Invitation i, MessageType type, String subject, String message, boolean ical, String baseUrl) throws Exception;
 }
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java
index 0185964..1c2f80d 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/notifier/MailNotifier.java
@@ -52,6 +52,6 @@ public class MailNotifier implements INotifier {
 	public void notify(User u, Appointment a, Invitation inv) throws Exception {
 		TimeZone tz = getTimeZone(u);
 		SubjectEmailTemplate t = AppointmentReminderTemplate.get(u, a, tz);
-		invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false);
+		invitationManager.sendInvitationLink(inv, MessageType.Create, t.getSubject(), t.getEmail(), false, null);
 	}
 }
diff --git a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
index 30c8d3c..7854d3c 100644
--- a/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
+++ b/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
@@ -96,15 +96,15 @@ public class InvitationManager implements IInvitationManager {
 				t = UpdatedAppointmentTemplate.get(mm.getUser(), a, tz, invitorName);
 				break;
 		}
-		sendInvitationLink(mm.getInvitation(), type, t.getSubject(), t.getEmail(), ical);
+		sendInvitationLink(mm.getInvitation(), type, t.getSubject(), t.getEmail(), ical, null);
 	}
 
 	@Override
-	public void sendInvitationLink(Invitation i, MessageType type, String subject, String message, boolean ical) throws Exception {
+	public void sendInvitationLink(Invitation i, MessageType type, String subject, String message, boolean ical, String baseUrl) throws Exception {
 		String invitationLink = null;
 		if (type != MessageType.Cancel) {
 			IApplication app = ensureApplication(1L);
-			invitationLink = app.getOmInvitationLink(i);
+			invitationLink = app.getOmInvitationLink(i, baseUrl);
 		}
 		User owner = i.getInvitedBy();
 
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index 93ba8dd..0a4393a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -422,8 +422,8 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 	}
 
 	@Override
-	public String getOmInvitationLink(Invitation i) {
-		return getInvitationLink(i, null);
+	public String getOmInvitationLink(Invitation i, String baseUrl) {
+		return getInvitationLink(i, baseUrl);
 	}
 
 	@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
index f136fec..4bebaae 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/InvitationForm.java
@@ -209,19 +209,20 @@ public abstract class InvitationForm extends Form<Invitation> {
 	}
 
 	public void onClick(AjaxRequestTarget target, DialogButton button) {
+		final String userbaseUrl = WebSession.get().getExtendedProperties().getBaseUrl();
 		if (button.equals(dialog.getCancel())) {
 			dialog.onSuperClick(target, button);
 		} else if (button.equals(dialog.getGenerate())) {
 			Invitation i = create(recipients.getModelObject().iterator().next());
 			setModelObject(i);
-			url.setModelObject(getInvitationLink(i, WebSession.get().getExtendedProperties().getBaseUrl()));
+			url.setModelObject(getInvitationLink(i, userbaseUrl));
 			target.add(url);
 		} else if (button.equals(dialog.getSend())) {
 			if (Strings.isEmpty(url.getModelObject())) {
 				for (User u : recipients.getModelObject()) {
 					Invitation i = create(u);
 					try {
-						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false);
+						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false, userbaseUrl);
 					} catch (Exception e) {
 						log.error("error while sending invitation by User ", e);
 					}
@@ -229,7 +230,7 @@ public abstract class InvitationForm extends Form<Invitation> {
 			} else {
 				Invitation i = getModelObject();
 				try {
-					getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false);
+					getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false, userbaseUrl);
 				} catch (Exception e) {
 					log.error("error while sending invitation by URL ", e);
 				}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
index 6931cc9..b672368 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
@@ -33,6 +33,7 @@ import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.room.InvitationManager;
+import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.GroupChoiceProvider;
 import org.apache.openmeetings.web.common.InvitationForm;
 import org.apache.wicket.ajax.AjaxRequestTarget;
@@ -133,11 +134,12 @@ public class RoomInvitationForm extends InvitationForm {
 	@Override
 	public void onClick(AjaxRequestTarget target, DialogButton button) {
 		if (button.equals(dialog.getSend()) && Strings.isEmpty(url.getModelObject()) && rdi.getModelObject() == InviteeType.group) {
+			final String userbaseUrl = WebSession.get().getExtendedProperties().getBaseUrl();
 			for (Group g : groups.getModelObject()) {
 				for (GroupUser ou : getBean(GroupUserDao.class).get(g.getId(), 0, Integer.MAX_VALUE)) {
 					Invitation i = create(ou.getUser());
 					try {
-						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false);
+						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, subject.getModelObject(), message.getModelObject(), false, userbaseUrl);
 					} catch (Exception e) {
 						log.error("error while sending invitation by Group ", e);
 					}
diff --git a/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java b/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
index b9c1f99..53e4021 100644
--- a/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
+++ b/openmeetings-web/src/test/java/org/apache/openmeetings/invitiation/TestInvitation.java
@@ -49,6 +49,6 @@ public class TestInvitation extends AbstractWicketTester {
 				, us, us.getLanguageId(),
 				getDate(from, "GMT"), getDate(from.plusHours(2), "GMT"), null);
 
-		invitationManager.sendInvitationLink(i, MessageType.Create, "subject", "message", false);
+		invitationManager.sendInvitationLink(i, MessageType.Create, "subject", "message", false, null);
 	}
 }
diff --git a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index 112d4ee..6b56bab 100644
--- a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -390,7 +390,7 @@ public class RoomWebService extends BaseWebService {
 			if (i != null) {
 				if (sendmail) {
 					try {
-						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, invite.getSubject(), invite.getMessage(), false);
+						getBean(InvitationManager.class).sendInvitationLink(i, MessageType.Create, invite.getSubject(), invite.getMessage(), false, null);
 					} catch (Exception e) {
 						throw new ServiceException(e.getMessage());
 					}