profile page

This commit is contained in:
Athou
2013-04-13 12:19:59 +02:00
parent b3465f33c1
commit 6739166b04
8 changed files with 136 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
package com.commafeed.frontend.model;
public class ProfileModificationRequest {
private String email;
private String password;
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

View File

@@ -7,6 +7,7 @@ public class UserModel implements Serializable {
private Long id;
private String name;
private String email;
private String password;
private boolean enabled;
private boolean admin;
@@ -51,4 +52,12 @@ public class UserModel implements Serializable {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

View File

@@ -1,11 +1,16 @@
package com.commafeed.frontend.rest.resources;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
import org.apache.commons.lang.StringUtils;
import com.commafeed.backend.model.User;
import com.commafeed.backend.model.UserRole;
import com.commafeed.backend.model.UserRole.Role;
import com.commafeed.frontend.model.ProfileModificationRequest;
import com.commafeed.frontend.model.UserModel;
@Path("session")
@@ -18,6 +23,7 @@ public class SessionREST extends AbstractREST {
UserModel userModel = new UserModel();
userModel.setId(user.getId());
userModel.setName(user.getName());
userModel.setEmail(user.getEmail());
userModel.setEnabled(!user.isDisabled());
for (UserRole role : userRoleDAO.findAll(user)) {
if (role.getRole() == Role.ADMIN) {
@@ -26,4 +32,18 @@ public class SessionREST extends AbstractREST {
}
return userModel;
}
@Path("save")
@POST
public Response save(ProfileModificationRequest request) {
User user = getUser();
user.setEmail(request.getEmail());
if (StringUtils.isNotBlank(request.getPassword())) {
byte[] password = encryptionService.getEncryptedPassword(
request.getPassword(), user.getSalt());
user.setPassword(password);
}
userDAO.update(user);
return Response.ok().build();
}
}