Author: solomax
Date: Tue Oct  2 15:38:09 2012
New Revision: 1392980

URL: http://svn.apache.org/viewvc?rev=1392980&view=rev
Log:
TimeZone is added to the invitation

Modified:
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/JabberWebService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/InvitationService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/JabberWebService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/JabberWebService.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/JabberWebService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/JabberWebService.java
 Tue Oct  2 15:38:09 2012
@@ -23,6 +23,8 @@ import java.util.List;
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.data.basic.AuthLevelmanagement;
 import org.apache.openmeetings.data.basic.Sessionmanagement;
+import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
+import org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl;
 import org.apache.openmeetings.data.conference.Invitationmanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.persistence.beans.domain.Organisation_Users;
@@ -56,6 +58,10 @@ public class JabberWebService {
        private ConferenceService conferenceService;
        @Autowired
        private Invitationmanagement invitationManagement;
+       @Autowired
+       private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
+       @Autowired
+       private ConfigurationDaoImpl cfgManagement;
 
        /**
         * Get List<Rooms> of all rooms available to the user.
@@ -127,7 +133,8 @@ public class JabberWebService {
                                user_level, username, username, username, 
username, username,
                                room_id, "", Boolean.valueOf(false), null, 
Integer.valueOf(3),
                                null, null, users_id, "", Long.valueOf(1L),
-                               Boolean.valueOf(false), null, null, null, 
username);
+                               Boolean.valueOf(false), null, null, null, 
username
+                               , 
omTimeZoneDaoImpl.getOmTimeZone(cfgManagement.getConfValue("default.timezone", 
String.class, "Europe/Berlin")));
 
                return ((invitation == null) ? null : invitation.getHash());
        }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
 Tue Oct  2 15:38:09 2012
@@ -1716,7 +1716,7 @@ public class RoomWebService {
                                                                username, 
username, username, room_id, "",
                                                                
isPasswordProtected, invitationpass, valid,
                                                                dFrom, dTo, 
users_id, "", 1L, false, dFrom,
-                                                               dTo, null, 
username);
+                                                               dTo, null, 
username, userManagement.getUserById(users_id).getOmTimeZone());
 
                                if (invitation != null) {
 
@@ -1855,7 +1855,7 @@ public class RoomWebService {
                                                                baseurl, email, 
subject, room_id, "",
                                                                
isPasswordProtected, invitationpass, valid,
                                                                dFrom, dTo, 
users_id, baseurl, language_id,
-                                                               sendMail, 
dFrom, dTo, null, username);
+                                                               sendMail, 
dFrom, dTo, null, username, 
userManagement.getUserById(users_id).getOmTimeZone());
 
                                if (invitation != null) {
 
@@ -1956,7 +1956,7 @@ public class RoomWebService {
                                                                baseurl, email, 
subject, room_id, "",
                                                                
isPasswordProtected, invitationpass, valid,
                                                                dFrom, dTo, 
users_id, baseurl, language_id,
-                                                               sendMail, 
dFrom, dTo, null, username);
+                                                               sendMail, 
dFrom, dTo, null, username, 
userManagement.getUserById(users_id).getOmTimeZone());
 
                                if (invitation != null) {
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/calendar/management/MeetingMemberLogic.java
 Tue Oct  2 15:38:09 2012
@@ -139,7 +139,8 @@ public class MeetingMemberLogic {
                                                                
point.getAppointmentStarttime(),
                                                                
point.getAppointmentEndtime(),
                                                                
point.getAppointmentId(),
-                                                               invitorName);
+                                                               invitorName,
+                                                               omTimeZone);
 
                                invitationId = invitation.getInvitations_id();
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Invitationmanagement.java
 Tue Oct  2 15:38:09 2012
@@ -34,10 +34,12 @@ import org.apache.openmeetings.Openmeeti
 import org.apache.openmeetings.data.basic.AuthLevelmanagement;
 import org.apache.openmeetings.data.basic.Fieldmanagment;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDaoImpl;
+import org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl;
 import org.apache.openmeetings.data.calendar.daos.AppointmentDaoImpl;
 import org.apache.openmeetings.data.calendar.management.AppointmentLogic;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.data.user.dao.UsersDaoImpl;
+import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.calendar.Appointment;
 import org.apache.openmeetings.persistence.beans.calendar.MeetingMember;
 import org.apache.openmeetings.persistence.beans.invitation.Invitations;
@@ -98,6 +100,8 @@ public class Invitationmanagement {
        private TimezoneUtil timezoneUtil;
        @Autowired
        private AppointmentDaoImpl appointmentDaoImpl;
+       @Autowired
+       private OmTimeZoneDaoImpl omTimeZoneDaoImpl;
 
        /**
         * Sending invitation within plain mail
@@ -125,7 +129,7 @@ public class Invitationmanagement {
                        Boolean isPasswordProtected, String invitationpass, 
Integer valid,
                        Date validFrom, Date validTo, Long createdBy, String 
baseUrl,
                        Long language_id, Boolean sendMail, Date gmtTimeStart,
-                       Date gmtTimeEnd, Long appointmentId, String 
fromUserField) {
+                       Date gmtTimeEnd, Long appointmentId, String 
fromUserField, OmTimeZone omTimeZone) {
                try {
                        if (authLevelManagement.checkUserLevel(user_level)) {
 
@@ -140,6 +144,7 @@ public class Invitationmanagement {
                                invitation.setInvitationWasUsed(false);
                                log.debug(baseUrl);
                                invitation.setBaseUrl(baseUrl);
+                               invitation.setOmTimeZone(omTimeZone);
 
                                // valid period of Invitation
                                if (valid == 1) {
@@ -933,9 +938,7 @@ public class Invitationmanagement {
                                                + "&room=" + room + 
"&roomtype=" + roomtype + "&email="
                                                + email + "&roomid=" + room_id;
 
-                               Long default_lang_id = Long.valueOf(
-                                               
configurationDaoImpl.getConfKey("default_lang_id")
-                                                               
.getConf_value()).longValue();
+                               Long default_lang_id = 
configurationDaoImpl.getConfValue("default_lang_id", Long.class, "1");
 
                                String template = invitationTemplate
                                                
.getRegisterInvitationTemplate(username, message,
@@ -1055,13 +1058,16 @@ public class Invitationmanagement {
                                        }
 
                                } else if (invitation.getIsValidByTime()) {
-
-                                       Calendar now = Calendar.getInstance();
-
-                                       if (invitation.getValidFrom().getTime() 
<= now.getTime()
-                                                       .getTime()
-                                                       && 
invitation.getValidTo().getTime() >= now
-                                                                       
.getTime().getTime()) {
+                                       OmTimeZone tz = 
invitation.getOmTimeZone() == null 
+                                                       ? 
omTimeZoneDaoImpl.getOmTimeZone(configurationDaoImpl.getConfValue("default.timezone",
 String.class, "Europe/Berlin"))
+                                                       : 
invitation.getOmTimeZone();
+                                       Calendar now = 
Calendar.getInstance(TimeZone.getTimeZone(tz.getIcal()));
+                                       Calendar start = 
Calendar.getInstance(TimeZone.getTimeZone(tz.getIcal()));
+                                       
start.setTime(invitation.getValidFrom());
+
+                                       Calendar end = 
Calendar.getInstance(TimeZone.getTimeZone(tz.getIcal()));
+                                       end.setTime(invitation.getValidTo());
+                                       if (now.after(start) && 
now.before(end)) {
                                                
this.updateInvitation(invitation);
                                                // 
invitation.setInvitationpass(null);
                                                invitation.setAllowEntry(true);

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/invitation/Invitations.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/invitation/Invitations.java
 Tue Oct  2 15:38:09 2012
@@ -31,6 +31,7 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 
+import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.apache.openmeetings.persistence.beans.user.Users;
 
@@ -109,6 +110,10 @@ public class Invitations implements Seri
        @Column(name = "baseUrl")
        private String baseUrl;
        
+       @ManyToOne(fetch = FetchType.EAGER)
+       @JoinColumn(name = "omtimezoneId", insertable = true, updatable = true)
+       private OmTimeZone omTimeZone; // In UTC +/- hours
+       
        private boolean allowEntry = true;
 
        public Invitations() {
@@ -275,4 +280,11 @@ public class Invitations implements Seri
                this.allowEntry = allowEntry;
        }
 
+       public OmTimeZone getOmTimeZone() {
+               return omTimeZone;
+       }
+
+       public void setOmTimeZone(OmTimeZone omTimeZone) {
+               this.omTimeZone = omTimeZone;
+       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/InvitationService.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/InvitationService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/InvitationService.java
 Tue Oct  2 15:38:09 2012
@@ -28,7 +28,6 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.dao.OmTimeZoneDaoImpl;
 import org.apache.openmeetings.data.conference.Invitationmanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
-import org.apache.openmeetings.persistence.beans.basic.Configuration;
 import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
 import org.apache.openmeetings.persistence.beans.invitation.Invitations;
 import org.red5.logging.Red5LoggerFactory;
@@ -102,21 +101,6 @@ public class InvitationService implement
                        log.info("validFromHour: " + validFromHour);
                        log.info("validFromMinute: " + validFromMinute);
 
-                       Calendar calFrom = Calendar.getInstance();
-                       calFrom.setTime(validFromDate);
-                       calFrom.set(Calendar.HOUR_OF_DAY, validFromHour);
-                       calFrom.set(Calendar.MINUTE, validFromMinute);
-                       calFrom.set(Calendar.SECOND, 0);
-
-                       Calendar calTo = Calendar.getInstance();
-                       calTo.setTime(validToDate);
-                       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();
-
                        Long users_id = sessionManagement.checkSession(SID);
                        Long user_level = 
userManagement.getUserLevelByID(users_id);
 
@@ -125,32 +109,31 @@ public class InvitationService implement
 
                        // If everything fails
                        if (omTimeZone == null) {
-                               Configuration conf = configurationDaoImpl
-                                               .getConfKey("default.timezone");
-                               if (conf != null) {
-                                       jNameTimeZone = conf.getConf_value();
-                               }
-                               omTimeZone = 
omTimeZoneDaoImpl.getOmTimeZone(jNameTimeZone);
+                               omTimeZone = 
omTimeZoneDaoImpl.getOmTimeZone(configurationDaoImpl.getConfValue("default.timezone",
 String.class, "Europe/Berlin"));
                        }
 
                        String timeZoneName = omTimeZone.getIcal();
+                       Calendar calFrom = 
Calendar.getInstance(TimeZone.getTimeZone(timeZoneName));
+                       calFrom.setTime(validFromDate);
+                       calFrom.set(Calendar.HOUR_OF_DAY, validFromHour);
+                       calFrom.set(Calendar.MINUTE, validFromMinute);
+                       calFrom.set(Calendar.SECOND, 0);
 
-                       Calendar cal = Calendar.getInstance();
-                       cal.setTimeZone(TimeZone.getTimeZone(timeZoneName));
-                       int offset = cal.get(Calendar.ZONE_OFFSET)
-                                       + cal.get(Calendar.DST_OFFSET);
-
-                       log.debug("addAppointment offset :: " + offset);
+                       Calendar calTo = 
Calendar.getInstance(TimeZone.getTimeZone(timeZoneName));
+                       calTo.setTime(validToDate);
+                       calTo.set(Calendar.HOUR_OF_DAY, validToHour);
+                       calTo.set(Calendar.MINUTE, validToMinute);
+                       calTo.set(Calendar.SECOND, 0);
 
-                       Date gmtTimeStart = new Date(dFrom.getTime() - offset);
-                       Date gmtTimeEnd = new Date(dTo.getTime() - offset);
+                       Date dFrom = calFrom.getTime();
+                       Date dTo = calTo.getTime();
 
                        Invitations invitation = invitationManagement
                                        .addInvitationLink(user_level, 
username, message, baseurl,
                                                        email, subject, 
room_id, conferencedomain,
                                                        isPasswordProtected, 
invitationpass, valid, dFrom,
                                                        dTo, users_id, baseurl, 
language_id, true,
-                                                       gmtTimeStart, 
gmtTimeEnd, null, username);
+                                                       dFrom, dTo, null, 
username, omTimeZone);
 
                        if (invitation != null) {
                                return "success";

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java?rev=1392980&r1=1392979&r2=1392980&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
 Tue Oct  2 15:38:09 2012
@@ -965,9 +965,8 @@ public class UserService {
                        Long user_level = 
userManagement.getUserLevelByID(users_id);
                        // users only
                        if (authLevelManagement.checkUserLevel(user_level)) {
-
-                               TimeZone timezone = 
timezoneUtil.getTimezoneByUser(usersDao
-                                               .get(users_id));
+                               Users from = 
userManagement.getUserById(users_id);
+                               TimeZone timezone = 
timezoneUtil.getTimezoneByUser(from);
 
                                Date appointmentstart = 
createCalendarDate(timezone,
                                                validFromDate, validFromTime);
@@ -981,8 +980,6 @@ public class UserService {
                                                + CalendarPatterns
                                                                
.getDateWithTimeByMiliSeconds(appointmentend));
 
-                               Users from = 
userManagement.getUserById(users_id);
-
                                Rooms room = null;
 
                                String baseURL = "http://"; + domain + ":" + 
port + webapp;
@@ -1094,7 +1091,8 @@ public class UserService {
                                                                                
false, // really send mail sendMail
                                                                                
appointmentstart, appointmentend,
                                                                                
appointmentId, from.getFirstname()
-                                                                               
                + " " + from.getLastname());
+                                                                               
                + " " + from.getLastname(),
+                                                                               
from.getOmTimeZone());
 
                                                invitation_link = baseURL + 
"?invitationHash="
                                                                + 
invitation.getHash();


Reply via email to