This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new 5e8a6f8 [OPENMEETINGS-2481] another attempt to fix cancel
5e8a6f8 is described below
commit 5e8a6f8340cef65e6f39327d24c886c7e8e78c30
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Fri Oct 16 23:37:43 2020 +0700
[OPENMEETINGS-2481] another attempt to fix cancel
---
.../service/room/InvitationManager.java | 9 ++++----
.../apache/openmeetings/util/mail/IcalHandler.java | 2 +-
.../openmeetings/invitiation/TestInvitation.java | 25 ++++++++++++++++++++++
3 files changed, 31 insertions(+), 5 deletions(-)
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 53a69db..5a36f1f 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
@@ -97,10 +97,12 @@ public class InvitationManager implements
IInvitationManager {
@Override
public void sendInvitationLink(Invitation i, MessageType type, String
subject, String message, boolean ical, String baseUrl) throws Exception {
- String invitationLink = null;
+ final String invitationLink;
if (type != MessageType.CANCEL) {
IApplication app = ensureApplication(1L);
invitationLink = app.getOmInvitationLink(i, baseUrl);
+ } else {
+ invitationLink = null;
}
User owner = i.getInvitedBy();
@@ -110,7 +112,6 @@ public class InvitationManager implements
IInvitationManager {
String replyToEmail = owner.getAddress().getEmail();
if (ical) {
- String username = i.getInvitee().getLogin();
boolean isOwner =
owner.getId().equals(i.getInvitee().getId());
Appointment a = i.getAppointment();
String desc = a.getDescription() == null ? "" :
a.getDescription();
@@ -123,8 +124,8 @@ public class InvitationManager implements
IInvitationManager {
.setDescription(desc)
.setUid(a.getIcalId())
.setSequence(0)
- .addOrganizer(replyToEmail,
owner.getLogin())
- .addAttendee(email, username, isOwner)
+ .addOrganizer(replyToEmail,
owner.getDisplayName())
+ .addAttendee(email,
i.getInvitee().getLogin(), isOwner)
.build();
log.debug(handler.toString());
diff --git
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
index 42b18a8..bf09304 100644
---
a/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
+++
b/openmeetings-util/src/main/java/org/apache/openmeetings/util/mail/IcalHandler.java
@@ -105,7 +105,7 @@ public class IcalHandler {
end.setTimeZone(timeZone);
meeting = new VEvent(start, end, name);
- meeting.getProperties().add(Transp.OPAQUE);
+ meeting.getProperties().add(Method.CANCEL == method ?
Transp.TRANSPARENT : Transp.OPAQUE);
return this;
}
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 37194be..ec508a2 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
@@ -19,14 +19,18 @@
package org.apache.openmeetings.invitiation;
import static org.apache.openmeetings.util.CalendarHelper.getDate;
+import static org.junit.Assert.assertNotNull;
import java.time.LocalDateTime;
+import java.util.Date;
import org.apache.openmeetings.AbstractWicketTester;
import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.entity.calendar.Appointment;
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.room.Room;
import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.service.room.InvitationManager;
import org.junit.jupiter.api.Test;
@@ -50,5 +54,26 @@ class TestInvitation extends AbstractWicketTester {
getDate(from, "GMT"),
getDate(from.plusHours(2), "GMT"), null);
invitationManager.sendInvitationLink(i, MessageType.CREATE,
"subject", "message", false, null);
+ assertNotNull(i);
+ }
+
+ @Test
+ void testSendCancel() throws Exception {
+ User us = userDao.getByLogin(adminUsername, User.Type.USER,
null);
+
+ LocalDateTime from =
LocalDateTime.now().plusDays(1).withHour(12).withMinute(0).withSecond(0);
+ Date start = getDate(from, "GMT");
+ Date end = getDate(from.plusHours(2), "GMT");
+ Room r = roomDao.get(1L);
+ User invitee = userDao.getContact("[email protected]",
"Testname", "Testlastname", us.getId());
+ Appointment app = getAppointment(us, r, start, end);
+ appointmentDao.update(app, null, false);
+ Invitation i = invitationManager.getInvitation(invitee, r,
+ false, "", Valid.ONE_TIME
+ , us, us.getLanguageId(),
+ start, end, app);
+
+ invitationManager.sendInvitationLink(i, MessageType.CANCEL,
"subject", "message", true, "https://localhost:5443/openmeetings");
+ assertNotNull(i);
}
}