1 package de.tivsource.page.admin.actions.system.user;
2
3 import java.util.Date;
4 import java.util.List;
5
6 import org.apache.logging.log4j.LogManager;
7 import org.apache.logging.log4j.Logger;
8 import org.apache.struts2.ServletActionContext;
9 import org.apache.struts2.convention.annotation.Action;
10 import org.apache.struts2.convention.annotation.Actions;
11 import org.apache.struts2.convention.annotation.Result;
12
13 import de.tivsource.ejb3plugin.InjectEJB;
14 import de.tivsource.page.admin.actions.EmptyAction;
15 import de.tivsource.page.dao.administration.RoleDaoLocal;
16 import de.tivsource.page.dao.administration.UserDaoLocal;
17 import de.tivsource.page.entity.administration.Role;
18 import de.tivsource.page.entity.administration.User;
19
20
21
22
23
24
25 public class EditAction extends EmptyAction {
26
27
28
29
30 private static final long serialVersionUID = -1279279278140940652L;
31
32
33
34
35 private static final Logger LOGGER = LogManager.getLogger(EditAction.class);
36
37 @InjectEJB(name="UserDao")
38 private UserDaoLocal userDaoLocal;
39
40 @InjectEJB(name="RoleDao")
41 private RoleDaoLocal roleDaoLocal;
42
43 private User user;
44
45 public User getUser() {
46 return user;
47 }
48
49 public void setUser(User user) {
50 this.user = user;
51 }
52
53 @Override
54 @Actions({
55 @Action(
56 value = "edit",
57 results = {
58 @Result(name = "success", type = "redirectAction", location = "index.html"),
59 @Result(name = "input", type = "tiles", location = "userEditForm"),
60 @Result(name = "error", type = "tiles", location = "userEditError")
61 }
62 )
63 })
64 public String execute() throws Exception {
65 LOGGER.info("execute() aufgerufen.");
66
67 String remoteUser = ServletActionContext.getRequest().getRemoteUser();
68 String remoteAddress = ServletActionContext.getRequest().getRemoteAddr();
69
70 if(user != null) {
71 LOGGER.info(user.getUsername());
72 User dbUser = userDaoLocal.findByUuid(user.getUuid());
73
74 dbUser.setEmail(user.getEmail());
75 dbUser.setFirstname(user.getFirstname());
76 dbUser.setLastname(user.getLastname());
77 dbUser.setPassword(user.getPassword());
78 dbUser.setRoles(user.getRoles());
79 dbUser.setUsername(user.getUsername());
80 dbUser.setModifiedAddress(remoteAddress);
81 dbUser.setModified(new Date());
82 dbUser.setModifiedBy(remoteUser);
83
84 userDaoLocal.merge(dbUser);
85 return SUCCESS;
86 }
87 else {
88 return ERROR;
89 }
90
91 }
92
93 public List<Role> getRoleList() {
94 return roleDaoLocal.findAll(0, roleDaoLocal.countAll());
95 }
96
97 }