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 <solomax...@gmail.com>
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("sebawag...@apache.org", 
"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);
        }
 }

Reply via email to