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 2013/05/07 17:45:27 UTC

svn commit: r1479948 - in /openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/user/ installation/ persistence/beans/basic/ remote/ web/pages/auth/

Author: solomax
Date: Tue May  7 15:45:26 2013
New Revision: 1479948

URL: http://svn.apache.org/r1479948
Log:
[OPENMEETINGS-620] Stub for registration dialog is added;
	code clean-up;

Added:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
Modified:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/ImportInitvalues.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/UserManager.java Tue May  7 15:45:26 2013
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.data.user;
 
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
+import static org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
 
 import java.util.Arrays;
 import java.util.Date;
@@ -748,7 +749,7 @@ public class UserManager {
 		try {
 			// Checks if FrontEndUsers can register
 			if ("1".equals(configurationDao.getConfValue(
-					"allow_frontend_register", String.class, "0"))) {
+					FRONTEND_REGISTER_KEY, String.class, "0"))) {
 				
 				// TODO: Read and generate SIP-Data via RPC-Interface Issue 1098
 

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/ImportInitvalues.java Tue May  7 15:45:26 2013
@@ -20,6 +20,7 @@ package org.apache.openmeetings.installa
 
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.CRYPT_KEY;
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.DEFAUT_LANG_KEY;
+import static org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.MAX_UPLOAD_SIZE_KEY;
 
 import java.io.File;
@@ -273,7 +274,7 @@ public class ImportInitvalues {
 								+ "running previous Pass of users will not be workign anymore! "
 								+ "for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html");
 
-		configurationDao.add("allow_frontend_register",
+		configurationDao.add(FRONTEND_REGISTER_KEY,
 				cfg.allowFrontendRegister, null, "");
 
 		configurationDao.add("default_group_id", "1", null, "");

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java Tue May  7 15:45:26 2013
@@ -60,6 +60,7 @@ public class Configuration implements Se
 	public static final String CRYPT_KEY = "crypt_ClassName";
 	public static final String DEFAUT_LANG_KEY = "default_lang_id";
 	public static final String MAX_UPLOAD_SIZE_KEY = "max_upload_size";
+	public static final String FRONTEND_REGISTER_KEY = "allow_frontend_register";
 
 	@Id
 	@GeneratedValue(strategy = GenerationType.IDENTITY)

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java Tue May  7 15:45:26 2013
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.remote;
 
+import static org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
 import static org.apache.openmeetings.persistence.beans.basic.Configuration.MAX_UPLOAD_SIZE_KEY;
 
 import java.util.Date;
@@ -711,7 +712,7 @@ public class MainService implements IPen
 	 * @return configuration with key "allow_frontend_register"
 	 */
 	public Configuration allowFrontendRegister(String SID) {
-		return configurationDao.get("allow_frontend_register").get(0); //FIXME need to be removed
+		return configurationDao.get(FRONTEND_REGISTER_KEY).get(0); //FIXME need to be removed
 	}
 	
 	public List<Configuration> getGeneralOptions(String SID) {
@@ -726,7 +727,7 @@ public class MainService implements IPen
 
 	public List<Configuration> getLoginOptions(String SID) {
 		try {
-			return configurationDao.get("allow_frontend_register", "show.facebook.login",
+			return configurationDao.get(FRONTEND_REGISTER_KEY, "show.facebook.login",
 					"user.login.minimum.length", "user.pass.minimum.length", "user.pass.minimum.length",
 					"ldap_default_id");
 		} catch (Exception err) {

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.html?rev=1479948&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.html Tue May  7 15:45:26 2013
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+  
+-->
+<html xmlns:wicket="http://wicket.apache.org">
+<wicket:panel>
+	<form wicket:id="form">
+		<table>
+			<tr>
+				<td><wicket:ommessage key="117" /></td>
+				<td><input wicket:id="firstName" type="text" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="118" /></td>
+				<td><input wicket:id="lastName" type="text" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="114" /></td>
+				<td><input wicket:id="login" type="text" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="115" /></td>
+				<td><input wicket:id="password" type="password" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="116" /></td>
+				<td><input wicket:id="repassword" type="password" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="119" /></td>
+				<td><input wicket:id="email" type="text" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="1143" /></td>
+				<td><select wicket:id="tz"></select></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="120" /></td>
+				<td><select wicket:id="state"></select></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="111" /></td>
+				<td><select wicket:id="lang"></select></td>
+			</tr>
+		</table>
+		<span wicket:id="feedback"></span>
+		<input type="submit" wicket:id="submit" style="position: absolute; top: -9999px; width: 1px; height: 1px;"/>
+	</form>
+</wicket:panel>
+</html>

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1479948&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Tue May  7 15:45:26 2013
@@ -0,0 +1,150 @@
+/*
+ * 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.pages.auth;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.openmeetings.data.basic.FieldLanguageDao;
+import org.apache.openmeetings.data.basic.dao.OmTimeZoneDao;
+import org.apache.openmeetings.data.user.dao.StateDao;
+import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
+import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
+import org.apache.openmeetings.persistence.beans.user.State;
+import org.apache.openmeetings.web.app.WebSession;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
+import org.apache.wicket.markup.html.form.ChoiceRenderer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.form.StatelessForm;
+import org.apache.wicket.markup.html.panel.FeedbackPanel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+
+import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
+import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
+
+public class RegisterDialog extends AbstractFormDialog<String> {
+	private static final long serialVersionUID = -8333305491376538792L;
+	private DialogButton cancelBtn = new DialogButton(WebSession.getString(122));
+	private DialogButton registerBtn = new DialogButton(WebSession.getString(121));
+	private Form<String> form;
+	private SignInDialog s;
+    private String firstName;
+    private String lastName;
+    private String login;
+    private String password;
+    private String email;
+    private OmTimeZone tz;
+    private State state;
+    private FieldLanguage lang;
+
+	public RegisterDialog(String id) {
+		super(id, WebSession.getString(113));
+		add(form = new RegisterForm("form"));
+	}
+
+	public void setSignInDialog(SignInDialog s) {
+		this.s = s;
+	}
+	
+	@Override
+	public int getWidth() {
+		return 400;
+	}
+	
+	@Override
+	protected List<DialogButton> getButtons() {
+		return Arrays.asList(registerBtn, cancelBtn);
+	}
+	
+	public void onClose(AjaxRequestTarget target, DialogButton button) {
+		// TODO Auto-generated method stub
+		s.open(target);
+	}
+
+	@Override
+	protected DialogButton getSubmitButton() {
+		return registerBtn;
+	}
+
+	@Override
+	public Form<String> getForm() {
+		return form;
+	}
+
+	@Override
+	protected void onError(AjaxRequestTarget target) {
+		// TODO messages
+		
+	}
+
+	@Override
+	protected void onSubmit(AjaxRequestTarget target) {
+		// TODO Register + validation
+		
+	}
+	
+	class RegisterForm extends StatelessForm<String> {
+		private static final long serialVersionUID = 1701373326213602431L;
+
+		public RegisterForm(String id) {
+			super(id);
+			add(new FeedbackPanel("feedback"));
+			add(new RequiredTextField<String>("firstName", new PropertyModel<String>(RegisterDialog.this, "firstName")));
+			add(new RequiredTextField<String>("lastName", new PropertyModel<String>(RegisterDialog.this, "lastName")));
+			add(new RequiredTextField<String>("login", new PropertyModel<String>(RegisterDialog.this, "login")));
+			add(new PasswordTextField("password", new PropertyModel<String>(RegisterDialog.this, "password")).setResetPassword(true));
+			add(new PasswordTextField("repassword", new Model<String>()).setResetPassword(true));
+			add(new RequiredTextField<String>("email", new PropertyModel<String>(RegisterDialog.this, "email")));
+			add(new DropDownChoice<FieldLanguage>("lang"
+					, new PropertyModel<FieldLanguage>(RegisterDialog.this, "lang")
+					, getBean(FieldLanguageDao.class).getLanguages()
+					, new ChoiceRenderer<FieldLanguage>("name", "language_id")));
+			add(new DropDownChoice<OmTimeZone>("tz"
+					, new PropertyModel<OmTimeZone>(RegisterDialog.this, "tz")
+					, getBean(OmTimeZoneDao.class).getOmTimeZones()
+					, new ChoiceRenderer<OmTimeZone>("frontEndLabel", "jname")));
+			add(new DropDownChoice<State>("state"
+					, new PropertyModel<State>(RegisterDialog.this, "tz")
+					, getBean(StateDao.class).getStates()
+					, new ChoiceRenderer<State>("name", "state_id")));
+			
+			add(new AjaxButton("submit") { //FAKE button so "submit-on-enter" works as expected
+				private static final long serialVersionUID = -3612671587183668912L;
+
+				@Override
+				protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+					RegisterDialog.this.onSubmit(target);
+				}
+				
+				@Override
+				protected void onError(AjaxRequestTarget target, Form<?> form) {
+					// TODO Auto-generated method stub
+					RegisterDialog.this.onError(target);
+				}
+			});
+		}
+	}
+}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html Tue May  7 15:45:26 2013
@@ -20,26 +20,24 @@
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 <wicket:panel>
-	<div id="login">
-		<form wicket:id="signin">
-			<table>
-				<tr>
-					<td><wicket:ommessage key="109" /></td>
-					<td><input wicket:id="login" type="text" value="" /></td>
-				</tr>
-				<tr>
-					<td><wicket:ommessage key="110" /></td>
-					<td><input wicket:id="pass" type="password" value="" /></td>
-				</tr>
-				<tr>
-					<td></td>
-					<td><input wicket:id="rememberMe" type="checkbox" /><label wicket:for="rememberMe"><wicket:ommessage key="288" /></label></td>
-				</tr>
-			</table>
-			<span wicket:id="feedback"></span>
-			<input wicket:id="area" type="hidden" value="" />
-			<input type="submit" wicket:id="submit" style="position: absolute; top: -9999px; width: 1px; height: 1px;"/>
-		</form>
-	</div>
+	<form wicket:id="signin">
+		<table>
+			<tr>
+				<td><wicket:ommessage key="109" /></td>
+				<td><input wicket:id="login" type="text" value="" /></td>
+			</tr>
+			<tr>
+				<td><wicket:ommessage key="110" /></td>
+				<td><input wicket:id="pass" type="password" value="" /></td>
+			</tr>
+			<tr>
+				<td></td>
+				<td><input wicket:id="rememberMe" type="checkbox" /><label wicket:for="rememberMe"><wicket:ommessage key="288" /></label></td>
+			</tr>
+		</table>
+		<span wicket:id="feedback"></span>
+		<input wicket:id="area" type="hidden" value="" />
+		<input type="submit" wicket:id="submit" style="position: absolute; top: -9999px; width: 1px; height: 1px;"/>
+	</form>
 </wicket:panel>
 </html>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java Tue May  7 15:45:26 2013
@@ -18,9 +18,13 @@
  */
 package org.apache.openmeetings.web.pages.auth;
 
-import java.util.Arrays;
+import static org.apache.openmeetings.persistence.beans.basic.Configuration.FRONTEND_REGISTER_KEY;
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.RestartResponseException;
@@ -45,16 +49,22 @@ public class SignInDialog extends Abstra
 	private static final long serialVersionUID = 7746996016261051947L;
 	private Form<String> form;
 	private DialogButton loginBtn = new DialogButton(WebSession.getString(112));
+	private DialogButton registerBtn = new DialogButton(WebSession.getString(123));
     private String password;
     private String login;
     private String area = "";
     private boolean rememberMe = false;
+    private RegisterDialog r;
 	
 	public SignInDialog(String id) {
 		super(id, WebSession.getString(108));
 		add(form = new SignInForm("signin"));
 	}
 
+	public void setRegisterDialog(RegisterDialog r) {
+		this.r = r;
+	}
+	
 	//TODO need to be removed
 	@Override
 	public DialogBehavior newWidgetBehavior(String selector) {
@@ -73,13 +83,26 @@ public class SignInDialog extends Abstra
 	
 	@Override
 	public int getWidth() {
-		return 400;
+		return 450;
+	}
+	
+	@Override
+	public void onClose(AjaxRequestTarget target, DialogButton button) {
+		if (button.equals(registerBtn)) {
+			r.open(target);
+		}
 	}
 	
 	@Override
 	protected List<DialogButton> getButtons() {
-		return Arrays.asList(loginBtn);
+		List<DialogButton> list = new ArrayList<DialogButton>();
+		if ("1".equals(getBean(ConfigurationDao.class).getConfValue(FRONTEND_REGISTER_KEY, String.class, "0"))) {
+			list.add(registerBtn);
+		}
+		list.add(loginBtn);
+		return list;
 	}
+	
 	@Override
 	protected DialogButton getSubmitButton() {
 		return loginBtn;
@@ -97,7 +120,7 @@ public class SignInDialog extends Abstra
 	
 	@Override
 	public void onClick(AjaxRequestTarget target, DialogButton button) {
-		if (WebSession.get().isSignedIn()) {
+		if (button.equals(registerBtn) || WebSession.get().isSignedIn()) {
 			super.onClick(target, button);
 		}
 	}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html Tue May  7 15:45:26 2013
@@ -23,7 +23,7 @@
 		<link media="screen" type="text/css" rel="stylesheet" href="css/theme.css"/>
 		<link media="screen" type="text/css" rel="stylesheet" href="css/jquery-ui-1.10.2.custom.min.css"/>
 		<style>
-			#login input:not([type='checkbox']) {
+			input:not([type='checkbox']), select {
 				width: 170px;
 			}
 		</style>
@@ -35,5 +35,6 @@
 			});
 		</script>
 		<div wicket:id="signin"></div>
+		<div wicket:id="register"></div>
 	</wicket:extend>
-</html>
\ No newline at end of file
+</html>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1479948&r1=1479947&r2=1479948&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java Tue May  7 15:45:26 2013
@@ -32,8 +32,11 @@ public class SignInPage extends BasePage
 	}
 	
 	public SignInPage() {
+		RegisterDialog r = new RegisterDialog("register");
 		d = new SignInDialog("signin");
-		add(d);
+		d.setRegisterDialog(r);
+		r.setSignInDialog(d);
+		add(d, r);
 	}
 	
 	@Override