1 package org.appfuse.webapp.pages.admin;
2
3 import org.apache.tapestry5.annotations.Property;
4 import org.apache.tapestry5.beaneditor.BeanModel;
5 import org.apache.tapestry5.ioc.Messages;
6 import org.apache.tapestry5.ioc.annotations.Inject;
7 import org.apache.tapestry5.services.BeanModelSource;
8 import org.apache.tapestry5.services.Context;
9 import org.apache.tapestry5.services.PageRenderLinkSource;
10 import org.appfuse.model.User;
11 import org.appfuse.webapp.pages.Home;
12
13 import java.util.Set;
14
15
16
17
18
19
20
21 public class ActiveUsers {
22
23 @Inject
24 private Messages messages;
25
26 @Property
27 private User currentUser;
28
29 @Inject
30 private BeanModelSource beanModelSource;
31
32 @Inject
33 private PageRenderLinkSource pageRenderLinkSource;
34
35 @Inject
36 private Context context;
37
38
39 public BeanModel<User> getModel() {
40 final BeanModel<User> model = beanModelSource.createDisplayModel(User.class, messages);
41 model.include("username");
42 model.add("fullname");
43
44 model.get("username").label(messages.get("user.username"));
45 model.get("fullname").label(messages.get("activeUsers.fullName"));
46
47 return model;
48 }
49
50 @SuppressWarnings("unchecked")
51 public Set<User> getActiveUsers() {
52 return (Set<User>) context.getAttribute("userNames");
53 }
54
55 public String getMainMenuLink() {
56 return pageRenderLinkSource.createPageRenderLink(Home.class).toURI();
57 }
58 }