Author: solomax
Date: Mon Jun  2 15:11:31 2014
New Revision: 1599236

URL: http://svn.apache.org/r1599236
Log:
[OPENMEETINGS-1012] invitation period is parsed as expected

Modified:
    
openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
    
openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java

Modified: 
openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx?rev=1599236&r1=1599235&r2=1599236&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
 (original)
+++ 
openmeetings/branches/3.0.x/WebContent/src/modules/invitation/inviteMainWindow.lzx
 Mon Jun  2 15:11:31 2014
@@ -305,9 +305,9 @@
                        <netparam name="ispasswordProtected"><method 
name="getValue">return 
parent.parent._ispasswordProtected.value;</method></netparam>
                        <netparam name="password"><method 
name="getValue">return parent.parent._password.getText();</method></netparam>
                        <netparam name="valid"><method name="getValue">return 
parent.parent._valid.value;</method></netparam>
-                       <netparam name="validFromDate"><method 
name="getValue">return parent.parent._valid_from.getDate();</method></netparam>
+                       <netparam name="validFromDate"><method 
name="getValue">return parent.parent._valid_from.getText();</method></netparam>
                        <netparam name="validFromTime"><method 
name="getValue">return parent.parent._timeFrom.getText();</method></netparam>
-                       <netparam name="validToDate"><method 
name="getValue">return parent.parent._valid_to.getDate();</method></netparam>
+                       <netparam name="validToDate"><method 
name="getValue">return parent.parent._valid_to.getText();</method></netparam>
                        <netparam name="validToTime"><method 
name="getValue">return parent.parent._timeTo.getText();</method></netparam>
                        <netparam name="language_id"><method 
name="getValue">return parent.parent._languages.getValue();</method></netparam>
                        <netparam name="jNameTimeZone"><method 
name="getValue">return parent.parent._timeZone.getValue();</method></netparam>

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java?rev=1599236&r1=1599235&r2=1599236&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/InvitationService.java
 Mon Jun  2 15:11:31 2014
@@ -21,8 +21,6 @@ package org.apache.openmeetings.remote;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.util.Calendar;
-import java.util.Date;
-import java.util.TimeZone;
 
 import org.apache.openmeetings.data.conference.InvitationManager;
 import org.apache.openmeetings.data.user.UserManager;
@@ -63,6 +61,19 @@ public class InvitationService implement
                log.debug("InvitationService resultReceived" + arg0);
        }
 
+       private Calendar getDate(String date, String time, String tzId) {
+               Calendar c = 
Calendar.getInstance(timezoneUtil.getTimeZone(tzId));
+               c.set(Calendar.YEAR, Integer.parseInt(date.substring(6)));
+               c.set(Calendar.MONTH, Integer.parseInt(date.substring(3, 5)) - 
1);
+               c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date.substring(0, 
2)));
+               c.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time.substring(0, 
2)));
+               c.set(Calendar.MINUTE, Integer.parseInt(time.substring(3, 5)));
+               c.set(Calendar.SECOND, 0);
+               c.set(Calendar.MILLISECOND, 0);
+               
+               return c;
+       }
+       
        /**
         * send an invitation to another user by Mail
         * 
@@ -87,8 +98,8 @@ public class InvitationService implement
        public Object sendInvitationHash(String SID, String firstname, String 
lastname,
                        String message, String email, String subject,
                        Long room_id, String conferencedomain, Boolean 
isPasswordProtected,
-                       String invitationpass, Integer valid, Date 
validFromDate,
-                       String validFromTime, Date validToDate, String 
validToTime,
+                       String invitationpass, Integer valid, String 
validFromDate,
+                       String validFromTime, String validToDate, String 
validToTime,
                        Long language_id, String iCalTz, boolean sendMail) {
 
                try {
@@ -98,49 +109,14 @@ public class InvitationService implement
                        if (AuthLevelUtil.checkUserLevel(user_level)) {
                                log.debug("sendInvitationHash: ");
        
-                               Integer validFromHour = Integer.valueOf(
-                                               validFromTime.substring(0, 
2)).intValue();
-                               Integer validFromMinute = Integer.valueOf(
-                                               validFromTime.substring(3, 
5)).intValue();
-       
-                               Integer validToHour = 
Integer.valueOf(validToTime.substring(0, 2))
-                                               .intValue();
-                               Integer validToMinute = Integer
-                                               
.valueOf(validToTime.substring(3, 5)).intValue();
-       
-                               log.info("validFromHour: " + validFromHour);
-                               log.info("validFromMinute: " + validFromMinute);
-       
-                               Calendar date = Calendar.getInstance();
-                               date.setTime(validFromDate);
-                               
-                               TimeZone timeZone = 
timezoneUtil.getTimeZone(iCalTz);
-                               
-                               Calendar calFrom = 
Calendar.getInstance(timeZone);
-                               calFrom.set(Calendar.YEAR, 
date.get(Calendar.YEAR));
-                               calFrom.set(Calendar.MONTH, 
date.get(Calendar.MONTH));
-                               calFrom.set(Calendar.DAY_OF_MONTH, 
date.get(Calendar.DAY_OF_MONTH));
-                               calFrom.set(Calendar.HOUR_OF_DAY, 
validFromHour);
-                               calFrom.set(Calendar.MINUTE, validFromMinute);
-                               calFrom.set(Calendar.SECOND, 0);
-       
-                               date.setTime(validToDate);
-                               Calendar calTo = Calendar.getInstance(timeZone);
-                               calTo.set(Calendar.YEAR, 
date.get(Calendar.YEAR));
-                               calTo.set(Calendar.MONTH, 
date.get(Calendar.MONTH));
-                               calTo.set(Calendar.DAY_OF_MONTH, 
date.get(Calendar.DAY_OF_MONTH));
-                               calTo.set(Calendar.HOUR_OF_DAY, validToHour);
-                               calTo.set(Calendar.MINUTE, validToMinute);
-                               calTo.set(Calendar.SECOND, 0);
-       
-                               Date dFrom = calFrom.getTime();
-                               Date dTo = calTo.getTime();
+                               Calendar calFrom = getDate(validFromDate, 
validFromTime, iCalTz);
+                               Calendar calTo = getDate(validToDate, 
validToTime, iCalTz);
        
                                User invitee = userDao.getContact(email, 
firstname, lastname, users_id);
                                Invitation invitation = 
invitationManager.getInvitation(invitee, roomDao.get(room_id),
                                                                
isPasswordProtected, invitationpass, Valid.fromInt(valid)
                                                                , 
userDao.get(users_id), language_id,
-                                                               dFrom, dTo, 
null);
+                                                               
calFrom.getTime(), calTo.getTime(), null);
 
                                if (invitation != null) {
                                        if (sendMail) {

Modified: 
openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java?rev=1599236&r1=1599235&r2=1599236&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/test/java/org/apache/openmeetings/test/invitiation/TestInvitation.java
 Mon Jun  2 15:11:31 2014
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.test.invitiation;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 
 import org.apache.openmeetings.data.user.UserManager;
@@ -49,8 +50,9 @@ public class TestInvitation extends Abst
                        
                        User us = (User) 
userManager.loginUser(sessionData.getSession_id(), username, userpass, null, 
null, false);
                        
+                       String date = new 
SimpleDateFormat("dd.MM.yyyy").format(new Date());
                        
invitationService.sendInvitationHash(sessionData.getSession_id(), "Testname", 
"Testlastname", "message", "[email protected]", 
-                                       "subject", 1L, "", false, "", 1, new 
Date(), "12:00", new Date(), "14:00", 1L, us.getTimeZoneId(), true);
+                                       "subject", 1L, "", false, "", 1, date, 
"12:00", date, "14:00", 1L, us.getTimeZoneId(), true);
                        
                } catch (Exception err) {
                        log.error("[testSendInvitationLink]", err);


Reply via email to