1 package org.appfuse.webapp.pages.admin;
2
3 import org.apache.tapestry5.annotations.InjectPage;
4 import org.apache.tapestry5.annotations.Persist;
5 import org.apache.tapestry5.annotations.Property;
6 import org.apache.tapestry5.beaneditor.BeanModel;
7 import org.apache.tapestry5.ioc.Messages;
8 import org.apache.tapestry5.ioc.annotations.Inject;
9 import org.apache.tapestry5.services.BeanModelSource;
10 import org.apache.tapestry5.services.javascript.JavaScriptSupport;
11 import org.appfuse.model.User;
12 import org.appfuse.service.UserManager;
13 import org.appfuse.webapp.pages.Home;
14 import org.appfuse.webapp.pages.UserEdit;
15 import org.slf4j.Logger;
16
17 import java.util.List;
18
19
20
21
22
23 public class UserList {
24 @Inject
25 private Logger logger;
26
27 @Inject
28 private Messages messages;
29
30 @Inject
31 private UserManager userManager;
32
33 @Inject
34 private BeanModelSource beanModelSource;
35
36 @Inject
37 private JavaScriptSupport jsSupport;
38
39 @InjectPage
40 private UserEdit userEdit;
41
42 @Property
43 private User currentUser;
44
45 @Property
46 @Persist
47 private String q;
48
49 private String infoMessage;
50
51 @Property
52 private List<User> users;
53
54 public BeanModel<User> getModel() {
55 final BeanModel<User> model = beanModelSource.createDisplayModel(User.class, messages);
56
57 model.include("username", "email", "enabled");
58 model.add("fullname");
59
60 model.get("username").label(messages.get("user.username"));
61 model.get("email").label(messages.get("user.email"));
62 model.get("enabled").label(messages.get("user.enabled"));
63 model.get("fullname").label(messages.get("activeUsers.fullName"));
64
65 return model;
66 }
67
68
69 void onActivate() {
70 users = userManager.search(q);
71 }
72
73
74 Object onAdd() {
75 return userEdit.initialize(null, "list", messages.get("userProfile.admin.message"));
76
77 }
78
79 Object onDone() {
80 return Home.class;
81 }
82
83
84 Object onActionFromEdit(User user) {
85 logger.debug("fetching user with id: " + user.getId());
86 user.setConfirmPassword(user.getPassword());
87 return userEdit.initialize(user, "list", messages.get("userProfile.admin.message"));
88 }
89
90
91 Object onSubmit() {
92 return this;
93 }
94
95 void afterRender() {
96
97 }
98 }