You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2016/08/22 04:36:52 UTC
svn commit: r1757105 - in /openmeetings/application:
branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/
branches/3.1.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/room/
branches/3.1.x/openmeetings-w...
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) {
}