Author: sebawagner
Date: Sun Apr 29 15:22:21 2012
New Revision: 1331922

URL: http://svn.apache.org/viewvc?rev=1331922&view=rev
Log:
OPENMEETINGS-160 Enable sending messages to external users from the private 
messages including invitations to conference rooms and events

Modified:
    
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
    
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/FeedbackTemplate.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/InvitationTemplate.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactTemplate.java
    
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/ResetPasswordTemplate.java

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/newPrivateMessage.lzx
 Sun Apr 29 15:22:21 2012
@@ -122,9 +122,9 @@
             <netparam><method name="getValue">return 
this.parent.parent._subject.getText();</method></netparam>
             <netparam><method name="getValue">return 
parent.parent._richText.getText();</method></netparam>
             <netparam><method name="getValue">return 
this.parent.parent._bookRoom.getValue();</method></netparam>
-            <netparam><method name="getValue">return 
parent.parent._valid_from.getDate();</method></netparam>
+            <netparam><method name="getValue">return 
parseDateToStringTimeSeconds(parent.parent._valid_from.getDate());</method></netparam>
             <netparam><method name="getValue">return 
parent.parent._timeFrom.getText();</method></netparam>
-            <netparam><method name="getValue">return 
parent.parent._valid_to.getDate();</method></netparam>
+            <netparam><method name="getValue">return 
parseDateToStringTimeSeconds(parent.parent._valid_to.getDate());</method></netparam>
             <netparam><method name="getValue">return 
parent.parent._timeTo.getText();</method></netparam>
             <netparam><method name="getValue">return 
parent.parent.parentMessageId;</method></netparam>
             <netparam><method name="getValue">return 
Number(parent.parent._roomtype.getValue());</method></netparam>

Modified: 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/privateMessages.lzx?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/WebContent/src/modules/settings/privatemessages/privateMessages.lzx
 Sun Apr 29 15:22:21 2012
@@ -1056,7 +1056,11 @@
                            
this._answer_area.setAttribute("visibility","visible");
                        
                                
this.from.setAttribute("text",refObj.from.firstname+' '+refObj.from.lastname+' 
&#60;'+refObj.from.adresses.email+'&#62;');
-                               
this.to.setAttribute("text",refObj.to.firstname+' '+refObj.to.lastname+' 
&#60;'+refObj.to.adresses.email+'&#62;');
+                               if (refObj.to != null) {
+                                       
this.to.setAttribute("text",refObj.to.firstname+' '+refObj.to.lastname+' 
&#60;'+refObj.to.adresses.email+'&#62;');
+                               } else {
+                                       this.to.setAttribute("text","");
+                               }
                                
                                
this.subject.setAttribute("text",refObj.subject);
                                

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/remote/UserService.java
 Sun Apr 29 15:22:21 2012
@@ -25,6 +25,7 @@ import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.TimeZone;
 
 import org.openmeetings.app.OpenmeetingsVariables;
 import org.openmeetings.app.conference.session.RoomClient;
@@ -36,6 +37,7 @@ import org.openmeetings.app.data.basic.d
 import org.openmeetings.app.data.beans.basic.SearchResult;
 import org.openmeetings.app.data.calendar.daos.AppointmentDaoImpl;
 import org.openmeetings.app.data.calendar.daos.MeetingMemberDaoImpl;
+import org.openmeetings.app.data.conference.Invitationmanagement;
 import org.openmeetings.app.data.conference.Roommanagement;
 import org.openmeetings.app.data.user.Organisationmanagement;
 import org.openmeetings.app.data.user.Salutationmanagement;
@@ -45,6 +47,7 @@ import org.openmeetings.app.data.user.da
 import org.openmeetings.app.data.user.dao.UserContactsDaoImpl;
 import org.openmeetings.app.data.user.dao.UsersDaoImpl;
 import org.openmeetings.app.persistence.beans.domain.Organisation;
+import org.openmeetings.app.persistence.beans.invitation.Invitations;
 import org.openmeetings.app.persistence.beans.lang.Fieldlanguagesvalues;
 import org.openmeetings.app.persistence.beans.rooms.Rooms;
 import org.openmeetings.app.persistence.beans.user.PrivateMessageFolder;
@@ -59,6 +62,7 @@ import org.openmeetings.app.templates.Re
 import org.openmeetings.utils.crypt.ManageCryptStyle;
 import org.openmeetings.utils.mail.MailHandler;
 import org.openmeetings.utils.math.CalendarPatterns;
+import org.openmeetings.utils.math.TimezoneUtil;
 import org.red5.io.utils.ObjectMap;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IScope;
@@ -117,6 +121,10 @@ public class UserService {
        private RequestContactConfirmTemplate requestContactConfirmTemplate;
        @Autowired
        private AuthLevelmanagement authLevelManagement;
+       @Autowired
+       private TimezoneUtil timezoneUtil;
+       @Autowired
+       private Invitationmanagement invitationManagement;
 
        /**
         * get your own user-object
@@ -906,7 +914,7 @@ public class UserService {
                return null;
        }
 
-       private Calendar createCalendar(Date date, String time) {
+       private Date createCalendarDate(TimeZone timezone, String dateOnly, 
String time) {
                Integer hour = Integer.valueOf(
                                time.substring(0, 2)).intValue();
                Integer minute = Integer.valueOf(
@@ -915,19 +923,18 @@ public class UserService {
                log.info("createCalendar Hour: " + hour);
                log.info("createCalendar Minute: " + minute);
 
-               Calendar cal = Calendar.getInstance();
-               cal.setTime(date);
+               Calendar cal = TimezoneUtil.getCalendarInTimezone(dateOnly, 
timezone);
                cal.set(Calendar.HOUR_OF_DAY, hour);
                cal.set(Calendar.MINUTE, minute);
                cal.set(Calendar.SECOND, 0);
                cal.set(Calendar.MILLISECOND, 0);
                
-               return cal;
+               return cal.getTime();
        }
        
        public Long composeMail(String SID, List<String> recipients,
                        String subject, String message, Boolean bookedRoom,
-                       Date validFromDate, String validFromTime, Date 
validToDate,
+                       String validFromDate, String validFromTime, String 
validToDate,
                        String validToTime, Long parentMessageId, Long 
roomtype_id,
                        String domain, String port, String webapp) {
                try {
@@ -936,12 +943,11 @@ public class UserService {
                        Long user_level = 
userManagement.getUserLevelByID(users_id);
                        // users only
                        if (authLevelManagement.checkUserLevel(user_level)) {
-                               Calendar calFrom = 
createCalendar(validFromDate, validFromTime);
-
-                               Calendar calTo = createCalendar(validToDate, 
validToTime);
-
-                               Date appointmentstart = calFrom.getTime();
-                               Date appointmentend = calTo.getTime();
+                               
+                               TimeZone timezone = 
timezoneUtil.getTimezoneByUser(usersDao.getUser(users_id));
+                               
+                               Date appointmentstart = 
createCalendarDate(timezone, validFromDate, validFromTime);
+                               Date appointmentend = 
createCalendarDate(timezone, validToDate, validToTime);
 
                                log.info("validFromDate: "
                                                + CalendarPatterns
@@ -953,9 +959,19 @@ public class UserService {
                                Users from = 
userManagement.getUserById(users_id);
 
                                Rooms room = null;
+                               
+                               String baseURL = "http://"; + domain + ":" + 
port + webapp;
+                               if (port.equals("80")) {
+                                       baseURL = "http://"; + domain + webapp;
+                               } else if (port.equals("443")) {
+                                       baseURL = "https://"; + domain + webapp;
+                               }
 
+                               Long room_id = null;
+                               Long appointmentId = null;
+                               
                                if (bookedRoom) {
-                                       Long room_id = 
roommanagement.addRoom(3, // Userlevel
+                                       room_id = roommanagement.addRoom(3, // 
Userlevel
                                                        subject, // name
                                                        roomtype_id, // RoomType
                                                        "", // Comment
@@ -986,21 +1002,23 @@ public class UserService {
                                                        );
 
                                        room = 
roommanagement.getRoomById(room_id);
+                                       
+                                       String sendJNameTimeZone = 
from.getOmTimeZone().getJname();
+                                       
+                                       appointmentId = 
this.addAppointmentToUser(subject, message, from,
+                                                       recipients, room, 
appointmentstart,
+                                                       appointmentend, true, 
true,
+                                                       sendJNameTimeZone);
 
                                }
 
                                recipients.add(from.getAdresses().getEmail());
 
                                String sendJNameTimeZone = 
from.getOmTimeZone().getJname();
-
-                               String baseURL = "http://"; + domain + ":" + 
port + webapp;
-                               if (port.equals("80")) {
-                                       baseURL = "http://"; + domain + webapp;
-                               } else if (port.equals("443")) {
-                                       baseURL = "https://"; + domain + webapp;
-                               }
-
+                               
                                String profile_link = baseURL + "?cuser=1";
+                               
+                               
 
                                for (String email : recipients) {
 
@@ -1008,7 +1026,6 @@ public class UserService {
 
                                        // String email = 
receipent.get("email").toString();
                                        
-                                       Boolean invitor = false;
                                        Long language_id = 
from.getLanguage_id();
                                        if (language_id == null) {
                                                language_id = Long.valueOf(
@@ -1016,15 +1033,55 @@ public class UserService {
                                                                                
"default_lang_id").getConf_value())
                                                                .longValue();
                                        }
-                                       
+                                       String invitation_link = null;
                                        Users to = 
userManagement.getUserByEmail(email);
                                        
+                                       
+                                       
+                                       if (bookedRoom) {
+                                               // Add the appointment to the 
calendar of the user (if its an internal user)
+                                               // if the user is the sender 
then we already added the appointment as we created the 
+                                               // room, the invitations always 
belong to the appointment of the meeting creator
+                                               if (to != null && 
!to.getUser_id().equals(from.getUser_id())) {
+                                                       
this.addAppointmentToUser(subject, message, to,
+                                                                       
recipients, room, appointmentstart,
+                                                                       
appointmentend, false, true,
+                                                                       
sendJNameTimeZone);
+                                               }
+                                               
+                                               Invitations invitation = 
invitationManagement
+                                                               
.addInvitationLink(
+                                                                               
new Long(2), // userlevel
+                                                                               
from.getFirstname() + " " + from.getLastname(), // username
+                                                                               
message,
+                                                                               
baseURL, // baseURl
+                                                                               
from.getAdresses().getEmail(), // email
+                                                                               
subject, // subject
+                                                                               
room_id, // room_id
+                                                                               
"public",
+                                                                               
false, // passwordprotected
+                                                                               
"", // invitationpass
+                                                                               
2, // valid type
+                                                                               
appointmentstart, // valid from
+                                                                               
appointmentend, // valid to
+                                                                               
from.getUser_id(), // created by
+                                                                               
baseURL,
+                                                                               
from.getUser_id(),
+                                                                               
false, // really send mail sendMail
+                                                                               
appointmentstart,
+                                                                               
appointmentend,
+                                                                               
appointmentId,
+                                                                               
from.getFirstname() + " " + from.getLastname());
+                                               
+                                               invitation_link = baseURL + 
"?invitationHash="
+                                                               + 
invitation.getHash();
+
+                                               
+                                       }
+                                       
                                        if (to != null) {
                                                
-                                               if 
(email.equals(from.getAdresses().getEmail())) {
-                                                       invitor = true;
-                                               } else {
-                                                       
+                                               if 
(!to.getUser_id().equals(from.getUser_id())) {
                                                        // One message to the 
Send
                                                        
privateMessagesDao.addPrivateMessage(subject, message,
                                                                        
parentMessageId, from, to, from, bookedRoom,
@@ -1034,7 +1091,7 @@ public class UserService {
                                                        
privateMessagesDao.addPrivateMessage(subject, message,
                                                                        
parentMessageId, from, to, to, bookedRoom,
                                                                        room, 
false, 0L, email);
-       
+                                                       
                                                        // One copy of the 
Inbox message to the user
                                                        if (to.getLanguage_id() 
!= null) {
                                                                language_id = 
to.getLanguage_id();
@@ -1051,33 +1108,45 @@ public class UserService {
                                                //there is no Inbox for 
external users
                                                
                                        }
+                                       
+                                       //We do not send an email to the one 
that has created the private message
+                                       if (to != null && 
to.getUser_id().equals(from.getUser_id())) {
+                                               continue;
+                                       }
+                                       
                                        Fieldlanguagesvalues fValue1301 = 
fieldmanagment
                                                        
.getFieldByIdAndLanguage(1301L, language_id);
                                        Fieldlanguagesvalues fValue1302 = 
fieldmanagment
                                                        
.getFieldByIdAndLanguage(1302L, language_id);
+                                       Fieldlanguagesvalues labelid504 = 
fieldmanagment
+                                                       
.getFieldByIdAndLanguage(new Long(504), language_id);
+                                       Fieldlanguagesvalues labelid503 = 
fieldmanagment
+                                                       
.getFieldByIdAndLanguage(new Long(503), language_id);
 
                                        String aLinkHTML = "";
                                        if (to != null) {
                                                aLinkHTML = "<br/><br/><a 
href='" + profile_link
                                                        + "'>" + 
fValue1302.getValue() + "</a><br/>";
                                        }
+                                       
+                                       if (invitation_link  == null) {
+                                               invitation_link = "";
+                                       } else {
+                                               invitation_link = 
+                                                       "<br/>" //
+                                                       + 
CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(appointmentstart, 
timezone)
+                                                       + "<br/> - <br/>" //
+                                                   + 
CalendarPatterns.getDateWithTimeByMiliSecondsAndTimeZone(appointmentstart, 
timezone)      
+                                                       + "<br/>" + 
labelid503.getValue() + "<br/><a href='" + invitation_link
+                                                       + "'>" + 
labelid504.getValue() + "</a><br/>";
+                                       }
 
                                        mailHandler.sendMail(email, 
fValue1301.getValue() + " "
                                                        + subject, 
message.replaceAll("\\<.*?>", "")
-                                                       + aLinkHTML);
-
-                                       if (bookedRoom) {
+                                                       + aLinkHTML
+                                                       + invitation_link);
 
-                                               // But add the appointment to 
everybody
-                                               
-                                               if (to != null) {
-                                                       
this.addAppointmentToUser(subject, message, to,
-                                                                       
recipients, room, appointmentstart,
-                                                                       
appointmentend, invitor, true,
-                                                                       
sendJNameTimeZone);
-                                               }
-                                               
-                                       }
+                                       
                                }
 
                        }
@@ -1092,13 +1161,11 @@ public class UserService {
         * Date appointmentstart = calFrom.getTime(); Date appointmentend =
         * calTo.getTime();
         */
-       private void addAppointmentToUser(String subject, String message, Users 
to,
+       private Long addAppointmentToUser(String subject, String message, Users 
to,
                        List<String> recipients, Rooms room, Date 
appointmentstart,
                        Date appointmentend, Boolean invitor, Boolean 
isConnectedEvent,
                        String sendJNameTimeZone) throws Exception {
                
-               
-
                Long appointmentId = appointmentDao.addAppointment(subject,
                                to.getUser_id(), "", message, appointmentstart, 
appointmentend,
                                false, false, false, false, 1L, 2L, room, 
to.getLanguage_id(),
@@ -1125,6 +1192,8 @@ public class UserService {
                                
                        }
                }
+               
+               return appointmentId;
 
        }
        

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/FeedbackTemplate.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/FeedbackTemplate.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/FeedbackTemplate.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/FeedbackTemplate.java
 Sun Apr 29 15:22:21 2012
@@ -28,7 +28,7 @@ import org.slf4j.Logger;
 
 public class FeedbackTemplate extends VelocityLoader {
 
-       private static final String tamplateName = "feedback.vm";
+       private static final String templateName = "feedback.vm";
 
        private static final Logger log = Red5LoggerFactory.getLogger(
                        FeedbackTemplate.class, 
OpenmeetingsVariables.webAppRootKey);
@@ -55,7 +55,7 @@ public class FeedbackTemplate extends Ve
                        /* lets render a template */
 
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/InvitationTemplate.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/InvitationTemplate.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/InvitationTemplate.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/InvitationTemplate.java
 Sun Apr 29 15:22:21 2012
@@ -32,7 +32,7 @@ import org.springframework.beans.factory
 
 public class InvitationTemplate extends VelocityLoader {
 
-       private static final String tamplateName = "invitation.vm";
+       private static final String templateName = "invitation.vm";
 
        @Autowired
        private Fieldmanagment fieldmanagment;
@@ -82,7 +82,7 @@ public class InvitationTemplate extends 
 
                        /* lets render a template */
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 
@@ -137,7 +137,7 @@ public class InvitationTemplate extends 
 
                        /* lets render a template */
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactConfirmTemplate.java
 Sun Apr 29 15:22:21 2012
@@ -28,7 +28,7 @@ import org.slf4j.Logger;
 
 public class RequestContactConfirmTemplate extends VelocityLoader {
 
-       private static final String tamplateName = "requestcontactconfirm.vm";
+       private static final String templateName = "requestcontactconfirm.vm";
 
        private static final Logger log = Red5LoggerFactory.getLogger(
                        RequestContactConfirmTemplate.class,
@@ -48,7 +48,7 @@ public class RequestContactConfirmTempla
                        /* lets render a template */
 
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactTemplate.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactTemplate.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactTemplate.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/RequestContactTemplate.java
 Sun Apr 29 15:22:21 2012
@@ -28,7 +28,7 @@ import org.slf4j.Logger;
 
 public class RequestContactTemplate extends VelocityLoader {
 
-       private static final String tamplateName = "requestcontact.vm";
+       private static final String templateName = "requestcontact.vm";
 
        private static final Logger log = Red5LoggerFactory
                        .getLogger(RequestContactTemplate.class,
@@ -52,7 +52,7 @@ public class RequestContactTemplate exte
                        /* lets render a template */
 
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/ResetPasswordTemplate.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/ResetPasswordTemplate.java?rev=1331922&r1=1331921&r2=1331922&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/ResetPasswordTemplate.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/templates/ResetPasswordTemplate.java
 Sun Apr 29 15:22:21 2012
@@ -34,7 +34,7 @@ public class ResetPasswordTemplate exten
        @Autowired
        private Fieldmanagment fieldmanagment;
 
-       private static final String tamplateName = "resetPass.vm";
+       private static final String templateName = "resetPass.vm";
 
        private static final Logger log = Red5LoggerFactory.getLogger(
                        FeedbackTemplate.class, 
OpenmeetingsVariables.webAppRootKey);
@@ -65,7 +65,7 @@ public class ResetPasswordTemplate exten
 
                        /* lets render a template */
                        StringWriter w = new StringWriter();
-                       Velocity.mergeTemplate(tamplateName, "UTF-8", context, 
w);
+                       Velocity.mergeTemplate(templateName, "UTF-8", context, 
w);
 
                        return w.toString();
 


Reply via email to