diff --git a/src/main/java/com/commafeed/frontend/pages/WelcomePage.html b/src/main/java/com/commafeed/frontend/pages/WelcomePage.html
index aa97aaa9..ce04d4ee 100644
--- a/src/main/java/com/commafeed/frontend/pages/WelcomePage.html
+++ b/src/main/java/com/commafeed/frontend/pages/WelcomePage.html
@@ -6,12 +6,18 @@
+
+
+
CommaFeed
+ Bloat-free feed reader.
+
+
Login
-
+
Register
diff --git a/src/main/java/com/commafeed/frontend/pages/WelcomePage.java b/src/main/java/com/commafeed/frontend/pages/WelcomePage.java
index a70afd13..dc922cef 100644
--- a/src/main/java/com/commafeed/frontend/pages/WelcomePage.java
+++ b/src/main/java/com/commafeed/frontend/pages/WelcomePage.java
@@ -1,13 +1,26 @@
package com.commafeed.frontend.pages;
+import javax.inject.Inject;
+
+import com.commafeed.backend.dao.ApplicationSettingsService;
import com.commafeed.frontend.pages.components.LoginPanel;
import com.commafeed.frontend.pages.components.RegisterPanel;
@SuppressWarnings("serial")
public class WelcomePage extends BasePage {
+ @Inject
+ ApplicationSettingsService applicationSettingsService;
+
public WelcomePage() {
add(new LoginPanel("login"));
- add(new RegisterPanel("register"));
+ add(new RegisterPanel("register") {
+ @Override
+ protected void onConfigure() {
+ super.onConfigure();
+ setVisibilityAllowed(applicationSettingsService.get()
+ .isAllowRegistrations());
+ }
+ });
}
}
diff --git a/src/main/java/com/commafeed/frontend/pages/components/LoginPanel.html b/src/main/java/com/commafeed/frontend/pages/components/LoginPanel.html
index 02601053..4636faf2 100644
--- a/src/main/java/com/commafeed/frontend/pages/components/LoginPanel.html
+++ b/src/main/java/com/commafeed/frontend/pages/components/LoginPanel.html
@@ -17,7 +17,10 @@
- Remember me
+
diff --git a/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.html b/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.html
index eb55c16c..b67e04de 100644
--- a/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.html
+++ b/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.html
@@ -17,7 +17,7 @@
-
+
diff --git a/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.java b/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.java
index c008f417..db927a25 100644
--- a/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.java
+++ b/src/main/java/com/commafeed/frontend/pages/components/RegisterPanel.java
@@ -19,6 +19,7 @@ import org.apache.wicket.validation.IValidator;
import org.apache.wicket.validation.ValidationError;
import org.apache.wicket.validation.validator.StringValidator;
+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;
@@ -31,6 +32,9 @@ public class RegisterPanel extends Panel {
@Inject
UserService userService;
+ @Inject
+ ApplicationSettingsService applicationSettingsService;
+
public RegisterPanel(String markupId) {
super(markupId);
@@ -40,12 +44,14 @@ public class RegisterPanel extends Panel {
"form", model) {
@Override
protected void onSubmit() {
- RegistrationRequest req = getModelObject();
- userService.register(req.getName(), req.getPassword(),
- Arrays.asList(Role.USER));
- IAuthenticationStrategy strategy = getApplication()
- .getSecuritySettings().getAuthenticationStrategy();
- strategy.save(req.getName(), req.getPassword());
+ if (applicationSettingsService.get().isAllowRegistrations()) {
+ RegistrationRequest req = getModelObject();
+ userService.register(req.getName(), req.getPassword(),
+ Arrays.asList(Role.USER));
+ IAuthenticationStrategy strategy = getApplication()
+ .getSecuritySettings().getAuthenticationStrategy();
+ strategy.save(req.getName(), req.getPassword());
+ }
setResponsePage(getApplication().getHomePage());
}
};