admin panel should force registrations (#323)

This commit is contained in:
Athou
2013-06-22 16:08:33 +02:00
parent 3066c2320a
commit 51e24059db
2 changed files with 22 additions and 16 deletions

View File

@@ -67,26 +67,32 @@ public class UserService {
public User register(String name, String password, String email,
Collection<Role> roles, boolean forceRegistration) {
Preconditions.checkState(forceRegistration
|| applicationSettingsService.get().isAllowRegistrations(),
"Registrations are closed on this CommaFeed instance");
Preconditions.checkNotNull(name);
Preconditions.checkNotNull(email);
Preconditions.checkNotNull(password);
Preconditions.checkArgument(StringUtils.length(name) >= 3,
"Name too short (3 characters minimum)");
Preconditions.checkArgument(StringUtils.length(name) <= 32,
"Name too long (32 characters maximum)");
Preconditions.checkArgument(
forceRegistration || StringUtils.length(password) >= 6,
"Password too short (6 characters maximum)");
Preconditions.checkArgument(StringUtils.contains(email, "@"),
"Invalid email address");
Preconditions.checkNotNull(password);
if (!forceRegistration) {
Preconditions.checkState(applicationSettingsService.get()
.isAllowRegistrations(),
"Registrations are closed on this CommaFeed instance");
Preconditions.checkNotNull(email);
Preconditions.checkArgument(StringUtils.length(name) >= 3,
"Name too short (3 characters minimum)");
Preconditions.checkArgument(
forceRegistration || StringUtils.length(password) >= 6,
"Password too short (6 characters maximum)");
Preconditions.checkArgument(StringUtils.contains(email, "@"),
"Invalid email address");
}
Preconditions.checkArgument(userDAO.findByName(name) == null,
"Name already taken");
Preconditions.checkArgument(userDAO.findByEmail(email) == null,
"Email already taken");
if (StringUtils.isNotBlank(email)) {
Preconditions.checkArgument(userDAO.findByEmail(email) == null,
"Email already taken");
}
User user = new User();
byte[] salt = encryptionService.generateSalt();

View File

@@ -52,7 +52,7 @@ public class AdminREST extends AbstractResourceREST {
}
User user = userService.register(userModel.getName(),
userModel.getPassword(), userModel.getEmail(), roles);
userModel.getPassword(), userModel.getEmail(), roles, true);
if (user == null) {
return Response.status(Status.CONFLICT)
.entity("User already exists.").build();