List of usage examples for org.apache.wicket.markup.html.list ListView ListView
public ListView(final String id, final List<T> list)
From source file:com.tysanclan.site.projectewok.pages.member.group.AcceptGroupApplicationPage.java
License:Open Source License
/** * //from w w w . j a v a2s . co m */ public AcceptGroupApplicationPage(Group group) { super("Accept group applications"); groupModel = ModelMaker.wrap(group); List<User> users = new LinkedList<User>(); users.addAll(group.getAppliedMembers()); add(new ListView<User>("applications", users) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<User> item) { User user = item.getModelObject(); item.add(new Label("name", user.getUsername())); Link<User> yesLink = new Link<User>("yes", ModelMaker.wrap(user)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; @Override public void onClick() { groupService.acceptGroupJoinRequest(getUser(), getGroup(), getModelObject()); setResponsePage(new AcceptGroupApplicationPage(getGroup())); } }; Link<User> noLink = new Link<User>("no", ModelMaker.wrap(user)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; @Override public void onClick() { groupService.declineGroupJoinRequest(getUser(), getGroup(), getModelObject()); setResponsePage(new AcceptGroupApplicationPage(getGroup())); } }; yesLink.add(new ContextImage("icon", "images/icons/tick.png")); noLink.add(new ContextImage("icon", "images/icons/cross.png")); item.add(yesLink); item.add(noLink); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.group.EditGroupForumModeratorPage.java
License:Open Source License
public EditGroupForumModeratorPage(GroupForum groupForum) { super("Moderators for forum " + groupForum.getName()); forumModel = ModelMaker.wrap(groupForum); Group group = groupForum.getGroup(); if (!group.getLeader().equals(getUser())) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); }//from w w w . j a va2 s .c om add(new Label("title", "Moderators for forum " + groupForum.getName())); List<User> moderators = new LinkedList<User>(); moderators.addAll(groupForum.getModerators()); Collections.sort(moderators, new Comparator<User>() { @Override public int compare(User o1, User o2) { return o1.getUsername().compareTo(o2.getUsername()); } }); add(new ListView<User>("moderators", ModelMaker.wrap(moderators)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<User> item) { User user = item.getModelObject(); item.add(new Label("user", user.getUsername())); Link<User> deleteLink = new Link<User>("remove", ModelMaker.wrap(user)) { private static final long serialVersionUID = 1L; @SpringBean private ForumService forumService; /** * @see org.apache.wicket.markup.html.link.Link#onClick() */ @Override public void onClick() { User moderator = getModelObject(); setResponsePage(new EditGroupForumModeratorPage( (GroupForum) forumService.removeModerator(getUser(), getForum(), moderator))); } }; deleteLink.add(new ContextImage("icon", "images/icons/group_delete.png")); item.add(deleteLink); } }); Form<GroupForum> addModeratorForm = new Form<GroupForum>("addForm", ModelMaker.wrap(groupForum)) { private static final long serialVersionUID = 1L; @SpringBean private ForumService forumService; /** * @see org.apache.wicket.markup.html.form.Form#onSubmit() */ @SuppressWarnings("unchecked") @Override protected void onSubmit() { DropDownChoice<User> userChoice = (DropDownChoice<User>) get("userSelect"); User moderator = userChoice.getModelObject(); setResponsePage(new EditGroupForumModeratorPage( (GroupForum) forumService.addModerator(getUser(), getModelObject(), moderator))); } }; List<User> users = new LinkedList<User>(); users.addAll(group.getGroupMembers()); users.removeAll(moderators); Collections.sort(users, new Comparator<User>() { @Override public int compare(User o1, User o2) { return o1.getUsername().compareToIgnoreCase(o2.getUsername()); } }); addModeratorForm.add( new DropDownChoice<User>("userSelect", ModelMaker.wrap(users.isEmpty() ? null : users.get(0), true), ModelMaker.wrap(users)).setNullValid(false)); addModeratorForm.setVisible(!users.isEmpty()); add(addModeratorForm); addBackLink(group); }
From source file:com.tysanclan.site.projectewok.pages.member.group.GroupAchievementApprovalPage.java
License:Open Source License
public GroupAchievementApprovalPage(Group group) { super("Achievement requests"); if (!getUser().equals(group.getLeader())) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); }/*www.j a v a2s . c om*/ groupModel = ModelMaker.wrap(group); add(new ListView<AchievementRequest>("requests", ModelMaker.wrap(requestDAO.getPendingGroupRequests(group))) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<AchievementRequest> item) { AchievementRequest request = item.getModelObject(); item.add(new Label("name", request.getAchievement().getName())); item.add(new Image("icon", new StoredImageResource(request.getAchievement().getIcon().getImage()))); item.add(new Label("description", request.getAchievement().getDescription()) .setEscapeModelStrings(false)); item.add(new MemberListItem("requester", request.getRequestedBy())); if (request.getEvidencePicture() != null) { byte[] evidence = request.getEvidencePicture(); item.add(new Image("screenshot", new StoredImageResource(evidence))); } else { item.add(new WebMarkupContainer("screenshot").setVisible(false)); } item.add(new Label("evidence", request.getEvidenceDescription()).setEscapeModelStrings(false)); item.add(new IconLink.Builder("images/icons/tick.png", new DefaultClickResponder<AchievementRequest>(ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.approveRequest(getUser(), getModelObject()); setResponsePage(new GroupAchievementApprovalPage(groupModel.getObject())); } }).setText("Yes, the requirements for this achievement have been met").newInstance("yes")); item.add(new IconLink.Builder("images/icons/cross.png", new DefaultClickResponder<AchievementRequest>(ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.denyRequest(getUser(), getModelObject()); setResponsePage(new GroupAchievementApprovalPage(groupModel.getObject())); } }).setText("No, the requirements for this achievement have not been met") .newInstance("no")); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.group.GroupForumManagementPage.java
License:Open Source License
/** * //from w w w.j a v a 2 s. co m */ public GroupForumManagementPage(Group group) { super("Forums for " + group.getName()); if (!group.getLeader().equals(getUser())) { throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); } GroupForumFilter filter = new GroupForumFilter(); filter.setGroup(group); List<GroupForum> forums = groupForumDAO.findByFilter(filter); add(new ListView<GroupForum>("forums", ModelMaker.wrap(forums)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<GroupForum> item) { GroupForum forum = item.getModelObject(); item.add(new Label("name", forum.getName())); addEditLink(item); addModeratorLink(item); addDeleteLink(item); } private void addEditLink(ListItem<GroupForum> item) { GroupForum forum = item.getModelObject(); Link<GroupForum> editLink = new Link<GroupForum>("edit", ModelMaker.wrap(forum)) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new EditGroupForumPage(getModelObject())); } }; editLink.add(new ContextImage("icon", "images/icons/book_edit.png")); item.add(editLink); } private void addModeratorLink(ListItem<GroupForum> item) { GroupForum forum = item.getModelObject(); Link<GroupForum> moderatorLink = new Link<GroupForum>("moderators", ModelMaker.wrap(forum)) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new EditGroupForumModeratorPage(getModelObject())); } }; moderatorLink.add(new ContextImage("icon", "images/icons/group_edit.png")); item.add(moderatorLink); } private void addDeleteLink(ListItem<GroupForum> item) { GroupForum forum = item.getModelObject(); Link<GroupForum> deleteLink = new Link<GroupForum>("delete", ModelMaker.wrap(forum)) { private static final long serialVersionUID = 1L; @SpringBean private ForumService forumService; @Override public void onClick() { Group gr = getModelObject().getGroup(); if (!forumService.deleteForum(getUser(), getModelObject())) { error("Could not delete non-empty forum!"); } else { setResponsePage(new GroupForumManagementPage(gr)); } } }; deleteLink.add(new ContextImage("icon", "images/icons/delete.png")); deleteLink.setVisible(forum.getThreads().isEmpty()); item.add(deleteLink); } }); Link<Group> addLink = new Link<Group>("add", ModelMaker.wrap(group)) { private static final long serialVersionUID = 1L; @Override public void onClick() { setResponsePage(new CreateGroupForumPage(getModelObject())); } }; addLink.add(new ContextImage("icon", "images/icons/book_add.png")); add(addLink); }
From source file:com.tysanclan.site.projectewok.pages.member.group.GroupMemberManagementPage.java
License:Open Source License
public GroupMemberManagementPage(Group group) { super(group.getName() + " - Member Management"); if (!getUser().equals(group.getLeader())) throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class); this.groupModel = ModelMaker.wrap(group); add(new ListView<User>("members", ModelMaker.wrap(group.getGroupMembers())) { private static final long serialVersionUID = 1L; @Override/*from ww w . j a va2s .com*/ protected void populateItem(ListItem<User> item) { item.add(new MemberListItem("user", item.getModelObject())); item.add(new IconLink.Builder("images/icons/delete.png", new DeleteResponder(item.getModelObject())) .newInstance("delete").setVisible(!item.getModelObject().equals(getUser()))); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.GroupRequestApprovalPage.java
License:Open Source License
/** * //w ww . j av a 2 s . co m */ public GroupRequestApprovalPage() { super("Group Request Approval"); List<GroupCreationRequest> requests = groupCreationRequestDAO.findAll(); String intro = (requests.size() == 0) ? "There are no pending group creation requests" : "There are " + requests.size() + " pending group creation requests:"; add(new Label("pendingtext", intro)); add(new ListView<GroupCreationRequest>("pending", ModelMaker.wrap(requests)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<GroupCreationRequest> item) { GroupCreationRequest request = item.getModelObject(); boolean social = request.getGame() == null; item.add(new Label("name", request.getName())); item.add(new Label("type", social ? "Social Group" : "Gaming Group")); item.add(new MemberListItem("leader", request.getRequester())); if (social) { item.add(new ContextImage("icon", "images/icons/group.png")); } else { item.add(new Image("icon", new ByteArrayResource("image/gif", request.getGame().getImage()))); } item.add(new Label("description", request.getDescription()).setEscapeModelStrings(false)); item.add(new Label("motivation", request.getMotivation()).setEscapeModelStrings(false)); Link<GroupCreationRequest> yesLink = new Link<GroupCreationRequest>("yes", ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; /** * @see org.apache.wicket.markup.html.link.Link#onClick() */ @Override public void onClick() { groupService.acceptRequest(getUser(), getModelObject()); setResponsePage(new GroupRequestApprovalPage()); } }; Link<GroupCreationRequest> noLink = new Link<GroupCreationRequest>("no", ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; /** * @see org.apache.wicket.markup.html.link.Link#onClick() */ @Override public void onClick() { groupService.declineRequest(getUser(), getModelObject()); setResponsePage(new GroupRequestApprovalPage()); } }; yesLink.add(new ContextImage("icon", "images/icons/tick.png")); noLink.add(new ContextImage("icon", "images/icons/cross.png")); item.add(yesLink); item.add(noLink); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.JoinGroupPage.java
License:Open Source License
public JoinGroupPage() { super("Join group"); List<Group> groups = groupDAO.findAll(); List<Group> currentGroups = getUser().getGroups(); for (Group group : currentGroups) { groups.remove(group);// w ww . j a va2 s. c om } List<Group> applied = new LinkedList<Group>(); List<Group> invited = new LinkedList<Group>(); List<Group> available = new LinkedList<Group>(); for (Group group : groups) { if (!group.getGroupMembers().contains(getUser())) { if (group.getAppliedMembers().contains(getUser())) { applied.add(group); } else if (group.getInvitedMembers().contains(getUser())) { invited.add(group); } else { switch (group.getJoinPolicy()) { case OPEN: case APPLICATION: available.add(group); break; default: } } } } String appliedDescription = applied.isEmpty() ? "You have not applied to any groups" : "You have applied to the following groups: "; String invitedDescription = invited.isEmpty() ? "You have not been invited to join any groups" : "You have been invited to join the following groups: "; String availableDescription = available.isEmpty() ? "There are no groups available for you to join" : "You can apply to join the following groups: "; add(new Label("applied-description", appliedDescription)); add(new Label("invited-description", invitedDescription)); add(new Label("can-apply-description", availableDescription)); add(new ListView<Group>("applyToGroups", ModelMaker.wrap(available)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Group> item) { Group group = item.getModelObject(); Link<Group> applyLink = new Link<Group>("apply", ModelMaker.wrap(group)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; @Override public void onClick() { groupService.applyToGroup(getUser(), getModelObject()); setResponsePage(new OverviewPage()); } }; applyLink.add(new ContextImage("icon", "images/icons/group_add.png")); item.add(applyLink); GroupLink link = new GroupLink("group", group); link.add(new Label("name", group.getName())); item.add(link); item.add(new Label("type", group.getTypeDescription())); } }.setVisible(!available.isEmpty())); add(new ListView<Group>("appliedGroups", ModelMaker.wrap(applied)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Group> item) { Group group = item.getModelObject(); GroupLink link = new GroupLink("group", group); link.add(new Label("name", group.getName())); item.add(link); item.add(new Label("type", group.getTypeDescription())); } }.setVisible(!applied.isEmpty())); add(new ListView<Group>("invited", ModelMaker.wrap(invited)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<Group> item) { Group group = item.getModelObject(); Link<Group> yesLink = new Link<Group>("yes", ModelMaker.wrap(group)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; @Override public void onClick() { groupService.acceptInvitation(getUser(), getModelObject()); setResponsePage(new JoinGroupPage()); } }; yesLink.add(new ContextImage("icon", "images/icons/tick.png")); item.add(yesLink); Link<Group> noLink = new Link<Group>("no", ModelMaker.wrap(group)) { private static final long serialVersionUID = 1L; @SpringBean private GroupService groupService; @Override public void onClick() { groupService.declineInvitation(getUser(), getModelObject()); setResponsePage(new JoinGroupPage()); } }; noLink.add(new ContextImage("icon", "images/icons/cross.png")); item.add(noLink); GroupLink link = new GroupLink("group", group); link.add(new Label("name", group.getName())); item.add(link); item.add(new Label("type", group.getTypeDescription())); } }.setVisible(!invited.isEmpty())); }
From source file:com.tysanclan.site.projectewok.pages.member.justice.AchievementApprovalPage.java
License:Open Source License
public AchievementApprovalPage() { super("Achievement requests"); add(new ListView<AchievementRequest>("requests", ModelMaker.wrap(requestDAO.getNonGroupPendingAchievementRequests())) { private static final long serialVersionUID = 1L; @Override// w w w .ja v a2 s . c o m protected void populateItem(final ListItem<AchievementRequest> item) { AchievementRequest request = item.getModelObject(); Achievement achievement = request.getAchievement(); Game game = achievement.getGame(); item.add(new Label("name", request.getAchievement().getName())); byte[] iconImage = item.getModelObject().getAchievement().getIcon().getImage(); byte[] gameImage = game != null ? game.getImage() : new byte[0]; item.add(new Image("icon", new ByteArrayResource(ImageUtil.getMimeType(iconImage), iconImage))); item.add(new Image("game", new ByteArrayResource(ImageUtil.getMimeType(gameImage), gameImage)) .setVisible(game != null)); item.add(new Label("description", request.getAchievement().getDescription()) .setEscapeModelStrings(false)); item.add(new MemberListItem("requester", request.getRequestedBy())); if (request.getEvidencePicture() != null) { byte[] evidence = request.getEvidencePicture(); item.add(new Image("screenshot", new ByteArrayResource(ImageUtil.getMimeType(evidence), evidence))); } else { item.add(new WebMarkupContainer("screenshot").setVisible(false)); } item.add(new Label("evidence", request.getEvidenceDescription()).setEscapeModelStrings(false)); item.add(new IconLink.Builder("images/icons/tick.png", new DefaultClickResponder<AchievementRequest>(ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.approveRequest(getUser(), getModelObject()); setResponsePage(new AchievementApprovalPage()); } }).setText("Yes, the requirements for this achievement have been met").newInstance("yes")); item.add(new IconLink.Builder("images/icons/cross.png", new DefaultClickResponder<AchievementRequest>(ModelMaker.wrap(request)) { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.denyRequest(getUser(), getModelObject()); setResponsePage(new AchievementApprovalPage()); } }).setText("No, the requirements for this achievement have not been met") .newInstance("no")); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.justice.AchievementIconApprovalPage.java
License:Open Source License
public AchievementIconApprovalPage() { super("Achievement Icons"); add(new ListView<AchievementIcon>("pendingIcons", ModelMaker.wrap(getPendingIcons())) { private static final long serialVersionUID = 1L; @Override/* w w w. j a va2 s .c o m*/ protected void populateItem(final ListItem<AchievementIcon> item) { AchievementIcon icon = item.getModelObject(); item.add(new Image("icon", new ByteArrayResource(ImageUtil.getMimeType(icon.getImage()), icon.getImage()))); item.add(new Label("purpose", item.getModelObject().getPurpose())); item.add(new MemberListItem("creator", item.getModelObject().getCreator())); item.add( new IconLink.Builder("images/icons/tick.png", new DefaultClickResponder<AchievementIcon>() { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.approveIcon(getUser(), item.getModelObject()); setResponsePage(new AchievementIconApprovalPage()); } }).newInstance("yes")); item.add(new IconLink.Builder("images/icons/cross.png", new DefaultClickResponder<AchievementIcon>() { private static final long serialVersionUID = 1L; @Override public void onClick() { achievementService.rejectIcon(getUser(), item.getModelObject()); setResponsePage(new AchievementIconApprovalPage()); } }).newInstance("no")); } }); }
From source file:com.tysanclan.site.projectewok.pages.member.justice.TrialConfirmationPage.java
License:Open Source License
public TrialConfirmationPage() { super("Trial Confirmation"); TrialFilter filter = new TrialFilter(); filter.setWithTrialThread(false);//from w ww . j a v a2 s . c o m add(new ListView<Trial>("trials", ModelMaker.wrap(trialDAO.findByFilter(filter))) { private static final long serialVersionUID = 1L; /** * @see org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem) */ @Override protected void populateItem(ListItem<Trial> item) { Trial trial = item.getModelObject(); item.add(new MemberListItem("accuser", trial.getAccuser())); item.add(new MemberListItem("accused", trial.getAccused())); StringBuilder regBuilder = new StringBuilder(); for (Regulation reg : trial.getRegulations()) { if (regBuilder.length() > 0) { regBuilder.append(", "); } regBuilder.append(reg.getName()); } item.add(new Label("regulations", regBuilder.toString())); item.add(new Label("motivation", trial.getMotivation()).setEscapeModelStrings(false)); item.add(new IconLink.Builder("images/icons/tick.png", new DefaultClickResponder<Trial>(ModelMaker.wrap(trial)) { private static final long serialVersionUID = 1L; /** * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick() */ @Override public void onClick() { lawEnforcementService.confirmTrial(getUser(), getModelObject()); setResponsePage(new TrialConfirmationPage()); } }).newInstance("accept")); item.add(new IconLink.Builder("images/icons/cross.png", new DefaultClickResponder<Trial>(ModelMaker.wrap(trial)) { private static final long serialVersionUID = 1L; /** * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick() */ @Override public void onClick() { lawEnforcementService.dismissTrial(getUser(), getModelObject()); setResponsePage(new TrialConfirmationPage()); } }).newInstance("dismiss")); } }); }