Author: solomax
Date: Mon Aug 22 04:36:51 2016
New Revision: 1757105

URL: http://svn.apache.org/viewvc?rev=1757105&view=rev
Log:
[OPENMEETINGS-1138] room invitation hash seems to work

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
    
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 Mon Aug 22 04:36:51 2016
@@ -97,6 +97,7 @@ public class InvitationDao {
                                        i.setAllowEntry(true);
                                        break;
                        }
+                       em.detach(i); // required to disable password update
                        if (hidePass) {
                                i.setPassword(null);
                        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/InvitationManager.java
 Mon Aug 22 04:36:51 2016
@@ -19,7 +19,6 @@
 package org.apache.openmeetings.service.room;
 
 import static 
org.apache.openmeetings.db.util.ApplicationHelper.ensureApplication;
-import static org.apache.openmeetings.util.CalendarHelper.getZoneId;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
 import java.util.Date;
@@ -49,15 +48,12 @@ import org.apache.openmeetings.service.m
 import 
org.apache.openmeetings.service.mail.template.CreatedAppointmentTemplate;
 import org.apache.openmeetings.service.mail.template.InvitationTemplate;
 import 
org.apache.openmeetings.service.mail.template.UpdatedAppointmentTemplate;
-import org.apache.openmeetings.util.CalendarHelper;
 import org.apache.openmeetings.util.crypt.CryptProvider;
 import org.apache.openmeetings.util.mail.IcalHandler;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.threeten.bp.LocalDateTime;
-import org.threeten.bp.ZonedDateTime;
 
 /**
  * 

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 04:36:51 2016
@@ -20,11 +20,11 @@ package org.apache.openmeetings.web.app;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
 import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 04:36:51 2016
@@ -73,10 +73,12 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseAtInterceptPageException;
+import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
+import org.apache.wicket.core.request.handler.PageProvider;
+import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -155,6 +157,7 @@ public class WebSession extends Abstract
 
        @Override
        public Roles getRoles() {
+               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -188,7 +191,7 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes(boolean redirect) {
+       public void checkHashes() {
                IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
                StringValue secureHash = params.getParameterValue(SECURE_HASH);
                StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
@@ -224,14 +227,12 @@ public class WebSession extends Abstract
                        if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
                                if (roomId != null) {
                                        getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       if (redirect) {
-                                               throw new 
RestartResponseAtInterceptPageException(SwfPage.class, pp);
-                                       }
-                               } else if (recordingId != null && redirect){
-                                       throw new 
RestartResponseAtInterceptPageException(RecordingPage.class, pp);
+                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
+                               } else if (recordingId != null){
+                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
                                }
                        }
-               } catch (RestartResponseAtInterceptPageException e) {
+               } catch (RestartResponseException e) {
                        throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 Mon Aug 22 04:36:51 2016
@@ -27,15 +27,6 @@ import org.apache.openmeetings.web.app.W
 public abstract class BaseInitedPage extends BasePage {
        private static final long serialVersionUID = 1L;
 
-       public BaseInitedPage() {
-               super();
-               WebSession.get().checkHashes(getHashRedirect());
-       }
-
-       protected boolean getHashRedirect() {
-               return true;
-       }
-
        @Override
        protected String getApplicationName() {
                return getBean(ConfigurationDao.class).getAppName();

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 Mon Aug 22 04:36:51 2016
@@ -53,7 +53,7 @@ public abstract class BasePage extends A
        protected abstract boolean isRtl();
        protected abstract String getLanguageCode();
        protected abstract String getApplicationName();
-       
+
        public BasePage() {
                options = new HashMap<String, String>();
                options.put("fragmentIdentifierSuffix", "");
@@ -68,7 +68,7 @@ public abstract class BasePage extends A
                add(new Label("pageTitle", appName));
                add(header = new HeaderPanel("header", appName));
        }
-       
+
        protected OmUrlFragment getUrlFragment(IRequestParameters params) {
                for (AreaKeys key : AreaKeys.values()) {
                        StringValue type = params.getParameterValue(key.name());
@@ -78,11 +78,11 @@ public abstract class BasePage extends A
                }
                return null;
        }
-       
+
        public HeaderPanel getHeader() {
                return header;
        }
-       
+
        @Override
        protected Map<String, String> getOptions() {
                return options;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 Mon Aug 22 04:36:51 2016
@@ -50,7 +50,7 @@ public class InvitationPasswordDialog ex
        private final IUpdatable comp;
 
        public InvitationPasswordDialog(String id, IUpdatable comp) {
-               super(id, Application.getString(524));
+               super(id, Application.getString(230));
                this.comp = comp;
                password.setLabel(Model.of(Application.getString(536))).add(new 
IValidator<String>(){
                        private static final long serialVersionUID = 1L;
@@ -68,7 +68,8 @@ public class InvitationPasswordDialog ex
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
-               behavior.setOption("autoOpen", 
WebSession.get().getInvitation().isPasswordProtected());
+               Invitation i = WebSession.get().getInvitation();
+               behavior.setOption("autoOpen", i != null && 
i.isPasswordProtected());
                behavior.setOption("closeOnEscape", false);
                behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 Mon Aug 22 04:36:51 2016
@@ -39,9 +39,9 @@ public class RecordingPage extends BaseI
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
        public RecordingPage(PageParameters p) {
+               WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;
-               WebSession ws = WebSession.get();
                if (!hash.isEmpty()) {
                        ws.signIn(hash.toString(), true);
                }
@@ -60,11 +60,6 @@ public class RecordingPage extends BaseI
        }
 
        @Override
-       protected boolean getHashRedirect() {
-               return false;
-       }
-
-       @Override
        protected void onParameterArrival(IRequestParameters requestParameters, 
AjaxRequestTarget target) {
        }
        

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 Mon Aug 22 04:36:51 2016
@@ -97,6 +97,7 @@ public class InvitationDao {
                                        i.setAllowEntry(true);
                                        break;
                        }
+                       em.detach(i); // required to disable password update
                        if (hidePass) {
                                i.setPassword(null);
                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 04:36:51 2016
@@ -20,11 +20,11 @@ package org.apache.openmeetings.web.app;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
 import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 04:36:51 2016
@@ -73,10 +73,12 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseAtInterceptPageException;
+import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
+import org.apache.wicket.core.request.handler.PageProvider;
+import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -155,6 +157,7 @@ public class WebSession extends Abstract
 
        @Override
        public Roles getRoles() {
+               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -188,7 +191,7 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes(boolean redirect) {
+       public void checkHashes() {
                IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
                StringValue secureHash = params.getParameterValue(SECURE_HASH);
                StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
@@ -224,14 +227,12 @@ public class WebSession extends Abstract
                        if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
                                if (roomId != null) {
                                        getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       if (redirect) {
-                                               throw new 
RestartResponseAtInterceptPageException(SwfPage.class, pp);
-                                       }
-                               } else if (recordingId != null && redirect){
-                                       throw new 
RestartResponseAtInterceptPageException(RecordingPage.class, pp);
+                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
+                               } else if (recordingId != null){
+                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
                                }
                        }
-               } catch (RestartResponseAtInterceptPageException e) {
+               } catch (RestartResponseException e) {
                        throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 Mon Aug 22 04:36:51 2016
@@ -27,15 +27,6 @@ import org.apache.openmeetings.web.app.W
 public abstract class BaseInitedPage extends BasePage {
        private static final long serialVersionUID = 1L;
 
-       public BaseInitedPage() {
-               super();
-               WebSession.get().checkHashes(getHashRedirect());
-       }
-
-       protected boolean getHashRedirect() {
-               return true;
-       }
-
        @Override
        protected String getApplicationName() {
                return getBean(ConfigurationDao.class).getAppName();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 Mon Aug 22 04:36:51 2016
@@ -53,7 +53,7 @@ public abstract class BasePage extends A
        protected abstract boolean isRtl();
        protected abstract String getLanguageCode();
        protected abstract String getApplicationName();
-       
+
        public BasePage() {
                options = new HashMap<String, String>();
                options.put("fragmentIdentifierSuffix", "");
@@ -68,7 +68,7 @@ public abstract class BasePage extends A
                add(new Label("pageTitle", appName));
                add(header = new HeaderPanel("header", appName));
        }
-       
+
        protected OmUrlFragment getUrlFragment(IRequestParameters params) {
                for (AreaKeys key : AreaKeys.values()) {
                        StringValue type = params.getParameterValue(key.name());
@@ -78,11 +78,11 @@ public abstract class BasePage extends A
                }
                return null;
        }
-       
+
        public HeaderPanel getHeader() {
                return header;
        }
-       
+
        @Override
        protected Map<String, String> getOptions() {
                return options;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 Mon Aug 22 04:36:51 2016
@@ -50,7 +50,7 @@ public class InvitationPasswordDialog ex
        private final IUpdatable comp;
 
        public InvitationPasswordDialog(String id, IUpdatable comp) {
-               super(id, Application.getString(524));
+               super(id, Application.getString(230));
                this.comp = comp;
                password.setLabel(Model.of(Application.getString(536))).add(new 
IValidator<String>(){
                        private static final long serialVersionUID = 1L;
@@ -68,7 +68,8 @@ public class InvitationPasswordDialog ex
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
-               behavior.setOption("autoOpen", 
WebSession.get().getInvitation().isPasswordProtected());
+               Invitation i = WebSession.get().getInvitation();
+               behavior.setOption("autoOpen", i != null && 
i.isPasswordProtected());
                behavior.setOption("closeOnEscape", false);
                behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 Mon Aug 22 04:36:51 2016
@@ -39,9 +39,9 @@ public class RecordingPage extends BaseI
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
        public RecordingPage(PageParameters p) {
+               WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;
-               WebSession ws = WebSession.get();
                if (!hash.isEmpty()) {
                        ws.signIn(hash.toString(), true);
                }
@@ -60,11 +60,6 @@ public class RecordingPage extends BaseI
        }
 
        @Override
-       protected boolean getHashRedirect() {
-               return false;
-       }
-
-       @Override
        protected void onParameterArrival(IRequestParameters requestParameters, 
AjaxRequestTarget target) {
        }
        

Modified: 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/InvitationDao.java
 Mon Aug 22 04:36:51 2016
@@ -97,6 +97,7 @@ public class InvitationDao {
                                        i.setAllowEntry(true);
                                        break;
                        }
+                       em.detach(i); // required to disable password update
                        if (hidePass) {
                                i.setPassword(null);
                        }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 04:36:51 2016
@@ -20,11 +20,11 @@ package org.apache.openmeetings.web.app;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static 
org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicationName;
+import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 import static 
org.apache.openmeetings.web.user.rooms.RoomEnterBehavior.getRoomUrlFragment;
 import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES;
 import static org.red5.logging.Red5LoggerFactory.getLogger;
 import static 
org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
-import static org.apache.openmeetings.web.app.WebSession.INVITATION_HASH;
 
 import java.text.MessageFormat;
 import java.util.ArrayList;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 04:36:51 2016
@@ -73,10 +73,12 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseAtInterceptPageException;
+import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
+import org.apache.wicket.core.request.handler.PageProvider;
+import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
 import org.apache.wicket.request.cycle.RequestCycle;
@@ -155,6 +157,7 @@ public class WebSession extends Abstract
 
        @Override
        public Roles getRoles() {
+               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -188,7 +191,7 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes(boolean redirect) {
+       public void checkHashes() {
                IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
                StringValue secureHash = params.getParameterValue(SECURE_HASH);
                StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
@@ -224,14 +227,12 @@ public class WebSession extends Abstract
                        if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
                                if (roomId != null) {
                                        getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       if (redirect) {
-                                               throw new 
RestartResponseAtInterceptPageException(SwfPage.class, pp);
-                                       }
-                               } else if (recordingId != null && redirect){
-                                       throw new 
RestartResponseAtInterceptPageException(RecordingPage.class, pp);
+                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
+                               } else if (recordingId != null){
+                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
                                }
                        }
-               } catch (RestartResponseAtInterceptPageException e) {
+               } catch (RestartResponseException e) {
                        throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BaseInitedPage.java
 Mon Aug 22 04:36:51 2016
@@ -27,15 +27,6 @@ import org.apache.openmeetings.web.app.W
 public abstract class BaseInitedPage extends BasePage {
        private static final long serialVersionUID = 1L;
 
-       public BaseInitedPage() {
-               super();
-               WebSession.get().checkHashes(getHashRedirect());
-       }
-
-       protected boolean getHashRedirect() {
-               return true;
-       }
-
        @Override
        protected String getApplicationName() {
                return getBean(ConfigurationDao.class).getAppName();

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.java
 Mon Aug 22 04:36:51 2016
@@ -53,7 +53,7 @@ public abstract class BasePage extends A
        protected abstract boolean isRtl();
        protected abstract String getLanguageCode();
        protected abstract String getApplicationName();
-       
+
        public BasePage() {
                options = new HashMap<String, String>();
                options.put("fragmentIdentifierSuffix", "");
@@ -68,7 +68,7 @@ public abstract class BasePage extends A
                add(new Label("pageTitle", appName));
                add(header = new HeaderPanel("header", appName));
        }
-       
+
        protected OmUrlFragment getUrlFragment(IRequestParameters params) {
                for (AreaKeys key : AreaKeys.values()) {
                        StringValue type = params.getParameterValue(key.name());
@@ -78,11 +78,11 @@ public abstract class BasePage extends A
                }
                return null;
        }
-       
+
        public HeaderPanel getHeader() {
                return header;
        }
-       
+
        @Override
        protected Map<String, String> getOptions() {
                return options;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
 Mon Aug 22 04:36:51 2016
@@ -50,7 +50,7 @@ public class InvitationPasswordDialog ex
        private final IUpdatable comp;
 
        public InvitationPasswordDialog(String id, IUpdatable comp) {
-               super(id, Application.getString(524));
+               super(id, Application.getString(230));
                this.comp = comp;
                password.setLabel(Model.of(Application.getString(536))).add(new 
IValidator<String>(){
                        private static final long serialVersionUID = 1L;
@@ -68,7 +68,8 @@ public class InvitationPasswordDialog ex
        @Override
        public void onConfigure(JQueryBehavior behavior) {
                super.onConfigure(behavior);
-               behavior.setOption("autoOpen", 
WebSession.get().getInvitation().isPasswordProtected());
+               Invitation i = WebSession.get().getInvitation();
+               behavior.setOption("autoOpen", i != null && 
i.isPasswordProtected());
                behavior.setOption("closeOnEscape", false);
                behavior.setOption("dialogClass", Options.asString("no-close"));
                behavior.setOption("resizable", false);

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java?rev=1757105&r1=1757104&r2=1757105&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 Mon Aug 22 04:36:51 2016
@@ -39,9 +39,9 @@ public class RecordingPage extends BaseI
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
        public RecordingPage(PageParameters p) {
+               WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;
-               WebSession ws = WebSession.get();
                if (!hash.isEmpty()) {
                        ws.signIn(hash.toString(), true);
                }
@@ -60,11 +60,6 @@ public class RecordingPage extends BaseI
        }
 
        @Override
-       protected boolean getHashRedirect() {
-               return false;
-       }
-
-       @Override
        protected void onParameterArrival(IRequestParameters requestParameters, 
AjaxRequestTarget target) {
        }
        



Reply via email to