Author: vdegtyarev
Date: Fri Apr 25 08:21:39 2014
New Revision: 1589952

URL: http://svn.apache.org/r1589952
Log:
OPENMEETINGS-983 minor changes. Verification URL is generated correctly.

Added:
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFor.java
Modified:
    
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/mail/EmailManager.java

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1589952&r1=1589951&r2=1589952&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
 Fri Apr 25 08:21:39 2014
@@ -648,16 +648,14 @@ public class UserManager implements IUse
                                boolean checkEmail = 
usersDao.checkUserEMail(email, null);
                                if (checkName && checkEmail) {
 
-                                       String link = 
configurationDao.getBaseUrl();
                                        String hash = activatedHash;
                                        if (hash == null){
                                                hash = 
ManageCryptStyle.getInstanceOfCrypt().createPassPhrase(login
                                                                + 
CalendarPatterns.getDateWithTimeByMiliSeconds(new Date()));
                                        }
-                                       link += "activate?u=" + hash;
 
                                        if (sendWelcomeMessage && 
email.length() != 0) {
-                                               String sendMail = 
emailManagement.sendMail(login, password, email, link, sendConfirmation);
+                                               String sendMail = 
emailManagement.sendMail(login, password, email, hash, sendConfirmation);
                                                if (!sendMail.equals("success"))
                                                        return new Long(-19);
                                        }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/mail/EmailManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/mail/EmailManager.java?rev=1589952&r1=1589951&r2=1589952&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/mail/EmailManager.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/mail/EmailManager.java
 Fri Apr 25 08:21:39 2014
@@ -25,6 +25,9 @@ import org.apache.openmeetings.db.dao.ba
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.mail.template.FeedbackTemplate;
 import org.apache.openmeetings.web.mail.template.RegisterUserTemplate;
+import org.apache.openmeetings.web.pages.ActivatePage;
+import org.apache.openmeetings.web.util.OmUrlFor;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +37,7 @@ import org.springframework.beans.factory
  *
  */
 public class EmailManager {
+
        private static final Logger log = 
Red5LoggerFactory.getLogger(EmailManager.class, webAppRootKey);
 
        @Autowired
@@ -42,18 +46,21 @@ public class EmailManager {
        private MailHandler mailHandler;
 
        /**
-        * sends a mail adress to the user with his account data
+        * sends a mail address to the user with his account data
         * 
         * @param username
         * @param userpass
         * @param email
+        * @param hash
         * @return
         * @throws Exception
         */
-       public String sendMail(String username, String userpass, String email, 
String link, Boolean sendEmailWithVerficationCode) {
+       public String sendMail(String username, String userpass, String email, 
String hash, Boolean sendEmailWithVerficationCode) {
                log.debug("sendMail:: username = {}, email = {}", username, 
email);
                Integer sendEmailAtRegister = 
configurationDao.getConfValue("sendEmailAtRegister", Integer.class, "0");
 
+               String link = new 
OmUrlFor("active").urlForPage(ActivatePage.class, new PageParameters().add("u", 
 hash));
+               
                if (sendEmailAtRegister == 1) {
                        mailHandler.send(email, WebSession.getString(512)
                                , RegisterUserTemplate.getEmail(username, 
userpass, email, sendEmailWithVerficationCode ? link : null));

Added: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFor.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFor.java?rev=1589952&view=auto
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFor.java
 (added)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFor.java
 Fri Apr 25 08:21:39 2014
@@ -0,0 +1,58 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.web.util;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.wicket.Component;
+import org.apache.wicket.Page;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+
+public class OmUrlFor extends Component {
+
+       private static final long serialVersionUID = 1L;
+
+       public OmUrlFor(String id) {
+               super(id);
+       }
+
+       @Override
+       protected void onRender() {
+       }
+
+       /**
+        * Returns URL that references a given page class using a given set of 
page
+        * parameters.   
+        *
+        * @param pageClass
+        *            Class of page
+        * @param pp
+        *            Parameters to page
+        *  
+        */
+       public <C extends Page> String urlForPage(Class<C> pageClass, 
PageParameters pp) {
+
+               String url = 
getBean(ConfigurationDao.class).getBaseUrl().endsWith("/") ? 
+                               getBean(ConfigurationDao.class).getBaseUrl() : 
getBean(ConfigurationDao.class).getBaseUrl() + "/";
+               url += urlFor(pageClass, pp).toString().substring(2);
+                               
+               return url;
+       }
+}


Reply via email to