allow import during registration

This commit is contained in:
Athou
2013-04-10 16:36:44 +02:00
parent 64762a89e8
commit edfafeb7b0
8 changed files with 73 additions and 14 deletions

View File

@@ -8,6 +8,7 @@ public class RegistrationRequest implements Serializable {
private String name;
private String password;
private String email;
private boolean googleImport = true;
public String getName() {
return name;
@@ -33,4 +34,12 @@ public class RegistrationRequest implements Serializable {
this.email = email;
}
public boolean isGoogleImport() {
return googleImport;
}
public void setGoogleImport(boolean googleImport) {
this.googleImport = googleImport;
}
}

View File

@@ -0,0 +1,3 @@
.header {
margin: 20px 0 40px 0;
}

View File

@@ -1,13 +1,13 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org">
<head>
<meta charset="utf-8">
<title>CommaFeed</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
<meta charset="utf-8">
<title>CommaFeed</title>
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
</head>
<body>
<div class="container">
<div class="row">
<div class="row header">
<div class="text-center">
<h1>CommaFeed</h1>
Bloat-free feed reader.
@@ -15,14 +15,24 @@
</div>
<div class="row">
<div class="span6">
<h3>Login</h3>
<span wicket:id="login"></span>
<div class="well" id="login-panel">
<h3>Login</h3>
<span wicket:id="login"></span>
</div>
</div>
<div class="span6" wicket:enclosure="register">
<h3>Register</h3>
<span wicket:id="register"></span>
<div class="well" id="register-panel">
<h3>Register</h3>
<span wicket:id="register"></span>
</div>
</div>
</div>
<hr />
<div class="footer">
&copy; CommaFeed - 2013
</div>
</div>
</body>
</html>

View File

@@ -2,9 +2,12 @@ package com.commafeed.frontend.pages;
import javax.inject.Inject;
import org.apache.wicket.markup.head.IHeaderResponse;
import com.commafeed.backend.dao.ApplicationSettingsService;
import com.commafeed.frontend.pages.components.LoginPanel;
import com.commafeed.frontend.pages.components.RegisterPanel;
import com.commafeed.frontend.utils.WicketUtils;
@SuppressWarnings("serial")
public class WelcomePage extends BasePage {
@@ -23,4 +26,11 @@ public class WelcomePage extends BasePage {
}
});
}
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
WicketUtils.loadJS(response, WelcomePage.class);
WicketUtils.loadCSS(response, WelcomePage.class);
}
}

View File

@@ -0,0 +1,7 @@
$(function() {
var reg = $('#register-panel');
if (!reg) {
return;
}
$('#login-panel').height(reg.height());
});

View File

@@ -7,13 +7,13 @@
<div class="control-group">
<label class="control-label" for="username">User Name</label>
<div class="controls">
<input type="text" id="username" wicket:id="username"></input>
<input type="text" id="username" wicket:id="username" class="input-block-level"></input>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" id="password" wicket:id="password"></input>
<input type="password" id="password" wicket:id="password" class="input-block-level"></input>
</div>
</div>
<p class="help-block" wicket:id="rememberMeRow">

View File

@@ -7,21 +7,28 @@
<div class="control-group">
<label class="control-label">User Name</label>
<div class="controls">
<input type="text" wicket:id="name"></input>
<input type="text" wicket:id="name" class="input-block-level"></input>
</div>
</div>
<div class="control-group">
<label class="control-label">Password</label>
<div class="controls">
<input type="password" wicket:id="password"></input>
<input type="password" wicket:id="password" class="input-block-level"></input>
</div>
</div>
<div class="control-group">
<label class="control-label">Email address (optional)</label>
<div class="controls">
<input type="email" wicket:id="email"></input>
<input type="email" wicket:id="email" class="input-block-level"></input>
</div>
</div>
<p class="help-block">
<label class="checkbox">
<input wicket:id="import" type="checkbox" />
Google Reader import
</label>
You'll be able to import later if you want.
</p>
<div>
<input type="submit" class="btn btn-primary" value="Register" />
</div>

View File

@@ -6,6 +6,7 @@ import javax.inject.Inject;
import org.apache.wicket.authentication.IAuthenticationStrategy;
import org.apache.wicket.feedback.ContainerFeedbackMessageFilter;
import org.apache.wicket.markup.html.form.CheckBox;
import org.apache.wicket.markup.html.form.EmailTextField;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -23,7 +24,9 @@ import com.commafeed.backend.dao.ApplicationSettingsService;
import com.commafeed.backend.dao.UserService;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.frontend.CommaFeedSession;
import com.commafeed.frontend.model.RegistrationRequest;
import com.commafeed.frontend.pages.GoogleImportRedirectPage;
import com.commafeed.frontend.utils.ModelFactory.MF;
@SuppressWarnings("serial")
@@ -51,8 +54,17 @@ public class RegisterPanel extends Panel {
IAuthenticationStrategy strategy = getApplication()
.getSecuritySettings().getAuthenticationStrategy();
strategy.save(req.getName(), req.getPassword());
CommaFeedSession.get().signIn(req.getName(),
req.getPassword());
if (req.isGoogleImport()) {
setResponsePage(GoogleImportRedirectPage.class);
} else {
setResponsePage(getApplication().getHomePage());
}
} else {
setResponsePage(getApplication().getHomePage());
}
setResponsePage(getApplication().getHomePage());
}
};
add(form);
@@ -77,6 +89,7 @@ public class RegisterPanel extends Panel {
form.add(new PasswordTextField("password", MF.m(model, p.getPassword()))
.setResetPassword(false).add(StringValidator.minimumLength(6)));
form.add(new EmailTextField("email", MF.m(model, p.getEmail())));
form.add(new CheckBox("import", MF.m(model, p.isGoogleImport())));
}
}