Example usage for org.apache.wicket.markup.html.list ListView ListView

List of usage examples for org.apache.wicket.markup.html.list ListView ListView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView ListView.

Prototype

public ListView(final String id, final List<T> list) 

Source Link

Usage

From source file:com.tysanclan.site.projectewok.pages.member.NotificationsPage.java

License:Open Source License

public NotificationsPage() {
    super("Notifications");

    add(new OtterSniperPanel("otterSniperPanel", 0));

    add(new ListView<Notification>("notifications",
            ModelMaker.wrap(notificationService.getNotificationsForUser(getUser()))) {
        private static final long serialVersionUID = 1L;

        @Override//from  w  w  w  . j  a  v  a  2s . c o  m
        protected void populateItem(ListItem<Notification> item) {
            Notification notification = item.getModelObject();
            item.add(new DateLabel("time", notification.getDate()));
            item.add(new Label("notification", notification.getMessage()));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<Notification>(ModelMaker.wrap(notification)) {
                        private static final long serialVersionUID = 1L;

                        /**
                        * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                        */
                        @Override
                        public void onClick() {
                            notificationService.dismissNotification(getModelObject());
                            setResponsePage(new NotificationsPage());
                        }

                    }).newInstance("dismiss"));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.OverviewPage.java

License:Open Source License

/**
 * //from   ww  w. j  a va  2  s  .c o  m
 */
public OverviewPage() {
    super("Member overview");

    add(new MentorPanel("pupils", getUser()));
    add(new PupilPanel("mentor", getUser()));

    add(new BasicMemberPanel("basicpanel", getUser()));
    add(new TruthsayerPanel("truthsayerpanel").setVisible(getUser().getRank().equals(Rank.TRUTHSAYER)));
    add(new SenatorPanel("senatorpanel").setVisible(getUser().getRank().equals(Rank.SENATOR)));
    add(new ChancellorPanel("chancellorpanel").setVisible(getUser().getRank().equals(Rank.CHANCELLOR)));
    add(new TreasurerPanel("treasurerpanel", getUser()));
    add(new StewardPanel("stewardpanel", getUser()));
    add(new HeraldPanel("heraldpanel", getUser()));

    User user = getUser();
    List<Group> groups = new LinkedList<Group>();
    groups.addAll(user.getGroups());

    add(new ListView<Group>("groups", ModelMaker.wrap(groups)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Group> item) {
            Group group = item.getModelObject();

            item.add(new GroupOverviewPanel("grouppanel", getUser(), group));

        }
    });

    GameFilter gfilter = new GameFilter();
    gfilter.setCoordinator(user);

    add(new DataView<Game>("games", FilterDataProvider.of(gfilter, gameDAO)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Game> item) {
            Game game = item.getModelObject();

            item.add(new GameSupervisorPanel("supervisorpanel", game));

        }
    });

    RealmFilter rfilter = new RealmFilter();
    rfilter.setOverseer(user);

    add(new DataView<Realm>("realms", FilterDataProvider.of(rfilter, realmDAO)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(Item<Realm> item) {
            Realm realm = item.getModelObject();

            item.add(new RealmSupervisorPanel("supervisorpanel", realm));

        }
    });
}

From source file:com.tysanclan.site.projectewok.pages.member.PastElectionsPage.java

License:Open Source License

/**
 * //ww  w.j  a va2  s  .  c  o m
 */
public PastElectionsPage() {
    super("Past Elections");

    add(new OtterSniperPanel("otterSniperPanel", 3));

    Calendar calendar = DateUtil.getCalendarInstance();
    calendar.add(Calendar.WEEK_OF_YEAR, -2);
    calendar.add(Calendar.DAY_OF_YEAR, -1);

    ElectionFilter filter = new ElectionFilter();
    filter.setStartBefore(calendar.getTime());
    filter.addOrderBy("start", false);

    List<Election> elections = new LinkedList<Election>();

    for (Election e : electionDAO.findByFilter(filter)) {
        if (Hibernate.getClass(e) != GroupLeaderElection.class) {
            elections.add(e);
        }
    }

    add(new ListView<Election>("elections", ModelMaker.wrap(elections)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Election> item) {
            Election election = item.getModelObject();

            final Map<Long, Integer> totals = new HashMap<Long, Integer>();

            DateFormat format = new SimpleDateFormat("EEEE d MMMM yyyy", Locale.US);

            List<User> candidates = new LinkedList<User>();
            candidates.addAll(election.getCandidates());

            Collections.sort(candidates, new Comparator<User>() {
                /**
                 * @see java.util.Comparator#compare(java.lang.Object,
                 *      java.lang.Object)
                 */
                @Override
                public int compare(User o1, User o2) {
                    return o1.getUsername().compareToIgnoreCase(o2.getUsername());
                }
            });

            Calendar cal = DateUtil.getCalendarInstance();
            cal.setTime(election.getStart());
            cal.add(Calendar.WEEK_OF_YEAR, 2);
            cal.add(Calendar.DAY_OF_MONTH, 1);

            String type = "Unknown";
            String winnersLabel = "Winner:";

            Class<?> electionClass = Hibernate.getClass(election);
            List<User> winners = new LinkedList<User>();

            if (electionClass == ChancellorElection.class) {
                ChancellorElection ce = chancellorElectionDAO.load(election.getId());
                type = "Chancellor";
                if (ce.getWinner() != null) {
                    winners.add(ce.getWinner());
                }
            } else if (electionClass == SenateElection.class) {
                type = "Senate";
                winnersLabel = "Winners:";
                SenateElection se = senateElectionDAO.load(election.getId());
                winners.addAll(se.getWinners());
            }

            List<CompoundVote> votes = new LinkedList<CompoundVote>();

            for (CompoundVote v : election.getVotes()) {
                for (CompoundVoteChoice cvc : v.getChoices()) {
                    Long userid = cvc.getVotesFor().getId();
                    int score = cvc.getScore();

                    if (totals.containsKey(userid)) {
                        totals.put(userid, totals.get(userid) + score);
                    } else {
                        totals.put(userid, score);
                    }

                }
                votes.add(v);
            }

            Collections.sort(votes, new Comparator<CompoundVote>() {

                @Override
                public int compare(CompoundVote o1, CompoundVote o2) {
                    return o1.getCaster().getUsername().compareToIgnoreCase(o2.getCaster().getUsername());
                }

            });

            item.add(new Label("title", type + " election of " + format.format(cal.getTime())));
            item.add(new Label("winnerslabel", winnersLabel));
            item.add(new ListView<User>("winners", ModelMaker.wrap(winners)) {
                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<User> innerItem) {
                    innerItem.add(new MemberListItem("winner", innerItem.getModelObject()));
                }
            });

            item.add(new WebMarkupContainer("candidatesheader").add(
                    AttributeModifier.replace("colspan", Integer.toString(election.getCandidates().size()))));

            item.add(new ListView<CompoundVote>("votes", ModelMaker.wrap(votes)) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void populateItem(ListItem<CompoundVote> innerItem) {
                    CompoundVote vote = innerItem.getModelObject();

                    if (vote.getCaster().equals(getUser())) {
                        innerItem.add(new Label("userdescriptor", getUser().getUsername()));
                    } else {
                        innerItem.add(new Label("userdescriptor", getScrambledUsername(vote))
                                .setEscapeModelStrings(false));
                    }

                    List<CompoundVoteChoice> scores = new LinkedList<CompoundVoteChoice>();
                    scores.addAll(vote.getChoices());
                    Collections.sort(scores, new Comparator<CompoundVoteChoice>() {
                        /**
                         * @see java.util.Comparator#compare(java.lang.Object,
                         *      java.lang.Object)
                         */
                        @Override
                        public int compare(CompoundVoteChoice o1, CompoundVoteChoice o2) {
                            return o1.getVotesFor().getUsername()
                                    .compareToIgnoreCase(o2.getVotesFor().getUsername());
                        }
                    });

                    innerItem.add(new ListView<CompoundVoteChoice>("scores", ModelMaker.wrap(scores)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        protected void populateItem(ListItem<CompoundVoteChoice> innerInnerItem) {
                            CompoundVoteChoice choice = innerInnerItem.getModelObject();

                            innerInnerItem.add(new Label("score", new Model<Integer>(choice.getScore())));

                        }

                    });
                }

            });

            item.add(new ListView<User>("candidates", ModelMaker.wrap(candidates)) {
                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<User> innerItem) {
                    innerItem.add(new MemberListItem("candidate", innerItem.getModelObject()));

                }
            });

            item.add(new ListView<User>("totals", ModelMaker.wrap(candidates)) {
                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<User> innerItem) {
                    User user = innerItem.getModelObject();
                    innerItem.add(new Label("total", new Model<Integer>(totals.get(user.getId()))));
                }
            });

        }

    });

}

From source file:com.tysanclan.site.projectewok.pages.member.ProposeAchievementPage.java

License:Open Source License

public ProposeAchievementPage(int tabIndex) {
    super("Propose Achievement");

    this.tabIndex = tabIndex;

    add(new ListView<AchievementProposal>("proposals", ModelMaker.wrap(achievementProposalDAO.findAll())) {

        private static final long serialVersionUID = 1L;

        @Override/*  w  w w.j  ava 2 s .c  o m*/
        protected void populateItem(final ListItem<AchievementProposal> item) {
            AchievementProposal proposal = item.getModelObject();

            item.add(new Image("icon", new StoredImageResource(proposal.getIcon().getImage())));

            item.add(new Label("name", proposal.getName()));
            item.add(new Label("description", proposal.getDescription()).setEscapeModelStrings(false));
            item.add(new Label("game", proposal.getGame() != null ? proposal.getGame().getName() : "-"));
            item.add(new Label("group", proposal.getGroup() != null ? proposal.getGroup().getName() : "-"));
        }

    });

    List<AchievementIcon> icons = achievementService.getAvailableIcons(getUser());

    add(getIconListview("icons", icons, new IconClickResponder() {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AchievementIcon icon) {
            setResponsePage(new ProposeAchievementPage2(icon));
        }
    }));

    add(new WebMarkupContainer("noIcons").setVisible(icons.isEmpty()));

    add(getIconListview("approved", getApprovedIcons(getUser()), null));
    add(getIconListview("pending", getPendingIcons(getUser()), null));

    add(getIconListview("rejected", getRejectedIcons(getUser()), new IconClickResponder() {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AchievementIcon icon) {
            achievementService.deleteIcon(getUser(), icon);

            setResponsePage(new ProposeAchievementPage(2));
        }
    }));

    final FileUploadField uploadField = new FileUploadField("file", new ListModel<FileUpload>());
    uploadField.setRequired(true);

    final TextField<String> purposeField = new TextField<String>("purpose", new Model<String>(""));
    purposeField.setRequired(true);

    final CheckBox privateIconBox = new CheckBox("private", new Model<Boolean>(true));

    Form<AchievementIcon> uploadForm = new Form<AchievementIcon>("uploadIcon") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            List<FileUpload> uploads = uploadField.getModelObject();
            String purpose = purposeField.getModelObject();
            Boolean privateIcon = privateIconBox.getModelObject();

            if (uploads != null && !uploads.isEmpty()) {
                FileUpload upload = uploads.get(0);

                AchievementIcon icon = achievementService.uploadAchievementIcon(getUser(), upload.getBytes(),
                        purpose, privateIcon);

                if (icon != null) {
                    setResponsePage(new ProposeAchievementPage(2));
                } else {
                    error("Invalid image type, or not a 48x48 pixel image");
                }
            } else {
                error("No valid file uploaded");
            }

        }

    };

    uploadForm.setMultiPart(true);

    uploadForm.add(uploadField);
    uploadForm.add(purposeField);
    uploadForm.add(privateIconBox);

    add(uploadForm);

}

From source file:com.tysanclan.site.projectewok.pages.member.ProposeAchievementPage.java

License:Open Source License

private ListView<List<Long>> getIconListview(String id, List<AchievementIcon> icons,
        final IconClickResponder responder) {
    List<List<Long>> pagedList = new ArrayList<List<Long>>(1 + icons.size() / 5);

    for (int i = 0; i < icons.size(); i += 5) {

        int remaining = icons.size() - i;

        int limit = icons.size();

        if (remaining > 5) {
            limit = i + 5;//  ww  w .j a  va  2s  . co  m
        }

        List<Long> next = new ArrayList<Long>(limit - i);

        for (int j = i; j < limit; j++) {
            next.add(icons.get(j).getId());
        }

        pagedList.add(next);
    }

    return new ListView<List<Long>>(id, pagedList) {

        private static final long serialVersionUID = 1L;

        @SpringBean
        private AchievementIconDAO iconDAO;

        @Override
        protected void populateItem(final ListItem<List<Long>> item) {
            item.add(new ListView<Long>("sublist", item.getModelObject()) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void populateItem(final ListItem<Long> innerItem) {
                    AchievementIcon icon = iconDAO.load(innerItem.getModelObject());

                    Link<AchievementIcon> iconLink = new Link<AchievementIcon>("iconLink",
                            ModelMaker.wrap(icon)) {
                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            if (responder != null) {
                                responder.onClick(getModelObject());
                            }
                        }
                    };

                    iconLink.setEnabled(responder != null);
                    iconLink.setRenderBodyOnly(responder == null);

                    iconLink.add(new Image("icon", new StoredImageResource(icon.getImage())));

                    innerItem.add(iconLink);
                }
            });

        }

    };
}

From source file:com.tysanclan.site.projectewok.pages.member.RealmManagementPage.java

License:Open Source License

public RealmManagementPage() {
    super("Realm Management");

    add(new ListView<Realm>("realms", ModelMaker.wrap(realmDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        @Override// ww w. java  2  s .c o m
        protected void populateItem(ListItem<Realm> item) {
            Realm realm = item.getModelObject();

            item.add(new Label("name", realm.getName()));
            if (realm.getOverseer() != null) {
                item.add(new MemberListItem("coordinator", realm.getOverseer()));
                IconLink.Builder builder = new IconLink.Builder("images/icons/user_edit.png",
                        new DefaultClickResponder<Realm>(ModelMaker.wrap(realm)) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public void onClick() {
                                setResponsePage(new EditRealmSupervisorPage(getModelObject()));
                            }
                        });

                item.add(builder.newInstance("edit"));
            } else {
                item.add(new WebMarkupContainer("edit").setVisible(false));
                IconLink.Builder builder = new IconLink.Builder("images/icons/user_add.png",
                        new DefaultClickResponder<Realm>(ModelMaker.wrap(realm)) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public void onClick() {
                                setResponsePage(new EditRealmSupervisorPage(getModelObject()));
                            }
                        });

                item.add(builder.newInstance("coordinator"));
            }
            item.add(new Label("gamescount", new Model<Integer>(realm.getGames().size())));
            item.add(new Label("playercount", new Model<Integer>(realmService.countActivePlayers(realm))));
            item.add(new Label("groupcount", new Model<Integer>(realm.getGroups().size())));

            IconLink.Builder builder = new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<Realm>(ModelMaker.wrap(realm)) {
                        private static final long serialVersionUID = 1L;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            Realm rlm = getModelObject();

                            if (realmService.isRealmInactive(rlm)) {
                                realmService.deleteRealm(rlm, getUser());
                            }

                            setResponsePage(new RealmManagementPage());
                        }

                    });

            builder.setImageVisible(realmService.isRealmInactive(realm));

            item.add(builder.newInstance("remove"));
        }

    });

}

From source file:com.tysanclan.site.projectewok.pages.member.RequestAchievementPage.java

License:Open Source License

public RequestAchievementPage() {
    super("Request Achievement");

    User user = getUser();//from   w w w. j  a  v  a 2s.  com

    Set<Game> games = new HashSet<Game>();

    List<Achievement> available = achievementDAO.findAll();
    available.removeAll(user.getAchievements());

    for (UserGameRealm ugr : user.getPlayedGames()) {
        games.add(ugr.getGame());
    }

    Set<Achievement> remove = new HashSet<Achievement>();

    for (AchievementRequest r : user.getAchievementRequests()) {
        remove.add(r.getAchievement());
    }

    for (Achievement a : available) {
        if (a.getGame() != null) {
            if (!games.contains(a.getGame())) {
                remove.add(a);
            }
        }
        if (a.getGroup() != null) {
            if (!user.getGroups().contains(a.getGroup())) {
                remove.add(a);
            }
        }
    }
    available.removeAll(remove);

    Collections.sort(available, AchievementComparator.INSTANCE);

    add(new ListView<Achievement>("achievements", ModelMaker.wrap(available)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Achievement> item) {
            Achievement achievement = item.getModelObject();

            item.add(new Image("icon", new StoredImageResource(achievement.getIcon().getImage())));

            if (achievement.getGame() != null) {
                item.add(new Image("game", new StoredImageResource(achievement.getGame().getImage())));
            } else {
                item.add(new WebMarkupContainer("game").setVisible(false));
            }

            if (achievement.getGroup() != null) {
                item.add(new Label("group", achievement.getGroup().getName()));
            } else {
                item.add(new Label("group", "-"));
            }

            item.add(new Label("name", achievement.getName()));
            item.add(new Label("description", achievement.getDescription()).setEscapeModelStrings(false));
            item.add(new IconLink.Builder("images/icons/accept.png",
                    new DefaultClickResponder<Achievement>(ModelMaker.wrap(achievement)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            setResponsePage(new RequestAchievementPage2(getModelObject()));
                        }

                    }).newInstance("request"));
        }

    });
}

From source file:com.tysanclan.site.projectewok.pages.member.RolesManagementPage.java

License:Open Source License

/**
 * /*from   w  w  w.  j  a va  2 s .c  o  m*/
 */
public RolesManagementPage() {
    super("Roles management");

    RoleFilter filter = new RoleFilter();
    filter.addOrderBy("roleType", true);
    filter.addOrderBy("name", true);

    List<Role> roles = roleDAO.findByFilter(filter);

    add(new ListView<Role>("roles", ModelMaker.wrap(roles)) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private UserDAO userDAO;

        @Override
        protected void populateItem(ListItem<Role> item) {
            Role role = item.getModelObject();

            item.add(new Label("name", role.getName()));

            if (role.getAssignedTo() != null) {
                item.add(new MemberListItem("member", role.getAssignedTo()));
            } else {
                item.add(new Label("member", "-"));
            }

            Dialog reassignDialog = new Dialog("assigndialog");

            Form<Role> reassignForm = new Form<Role>("assign", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private RoleService roleService;

                /**
                 * @see org.apache.wicket.markup.html.form.Form#onSubmit()
                 */
                @SuppressWarnings("unchecked")
                @Override
                protected void onSubmit() {
                    DropDownChoice<User> userChoice = (DropDownChoice<User>) get("user");

                    User user = userChoice.getModelObject();

                    if (user != null) {
                        roleService.assignTo(getUser().getId(), getModelObject().getId(), user.getId());
                        setResponsePage(new RolesManagementPage());
                    }
                }
            };

            reassignDialog.setAutoOpen(false);
            reassignDialog.setTitle("Assign role " + role.getName());

            UserFilter f = new UserFilter();
            f.addRank(Rank.CHANCELLOR);
            f.addRank(Rank.SENATOR);
            f.addRank(Rank.TRUTHSAYER);
            f.addRank(Rank.REVERED_MEMBER);
            f.addRank(Rank.SENIOR_MEMBER);
            f.addRank(Rank.FULL_MEMBER);

            List<User> users = userDAO.findByFilter(f);

            reassignForm.add(new DropDownChoice<User>("user", ModelMaker.wrap(users.get(0), true),
                    ModelMaker.wrap(users)).setNullValid(false));

            reassignDialog.add(reassignForm);

            item.add(reassignDialog);

            AjaxLink<Dialog> reassignLink = new AjaxLink<Dialog>("reassign",
                    new Model<Dialog>(reassignDialog)) {
                private static final long serialVersionUID = 1L;

                /**
                 * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
                 */
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.open(target);
                    }

                }

            };

            reassignLink.add(new ContextImage("icon", "images/icons/vcard.png"));

            reassignLink.setVisible(role.isReassignable());

            Link<Role> editLink = new Link<Role>("edit", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick() {
                    setResponsePage(new EditRolePage(getModelObject()));

                }

            };

            editLink.add(new ContextImage("icon", "images/icons/vcard_edit.png"));

            editLink.setVisible(role.isReassignable());

            Dialog deletedialog = new Dialog("deletedialog");
            deletedialog.setTitle("Delete role " + role.getName());
            deletedialog.setAutoOpen(false);

            deletedialog.add(new Label("name", role.getName()));

            Link<Role> yesDeleteLink = new Link<Role>("yes", ModelMaker.wrap(role)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private RoleService roleService;

                @Override
                public void onClick() {
                    roleService.deleteRole(getUser(), getModelObject());
                    setResponsePage(new RolesManagementPage());
                }

            };

            yesDeleteLink.add(new ContextImage("icon", "images/icons/tick.png"));

            deletedialog.add(yesDeleteLink);

            AjaxLink<Dialog> noDeleteLink = new AjaxLink<Dialog>("no", new Model<Dialog>(deletedialog)) {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.close(target);
                    }

                }

            };

            noDeleteLink.add(new ContextImage("icon", "images/icons/cross.png"));

            deletedialog.add(noDeleteLink);

            item.add(deletedialog);

            AjaxLink<Dialog> deleteLink = new AjaxLink<Dialog>("delete", new Model<Dialog>(deletedialog)) {
                private static final long serialVersionUID = 1L;

                /**
                 * @see org.apache.wicket.ajax.markup.html.AjaxLink#onClick(org.apache.wicket.ajax.AjaxRequestTarget)
                 */
                @Override
                public void onClick(AjaxRequestTarget target) {
                    Dialog dlg = getModelObject();

                    if (target != null) {
                        dlg.open(target);
                    }
                }

            };

            deleteLink.add(new ContextImage("icon", "images/icons/vcard_delete.png"));

            deleteLink.setVisible(role.isReassignable());

            item.add(new WebMarkupContainer("nonreassignable").setVisible(!role.isReassignable()));
            item.add(new WebMarkupContainer("noneditable").setVisible(!role.isReassignable()));
            item.add(new WebMarkupContainer("nondeletable").setVisible(!role.isReassignable()));

            item.add(reassignLink);
            item.add(deleteLink);
            item.add(editLink);
        }

    });

    Form<Role> addRoleForm = new Form<Role>("addRoleForm") {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private RoleService roleService;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @SuppressWarnings("unchecked")
        @Override
        protected void onSubmit() {
            TextField<String> nameField = (TextField<String>) get("name");
            TextArea<String> descriptionArea = (TextArea<String>) get("description");

            String name = nameField.getModelObject();
            String description = descriptionArea.getModelObject();

            roleService.createRole(getUser(), name, description, RoleType.NORMAL);

            setResponsePage(new RolesManagementPage());
        }

    };

    addRoleForm.add(new TextField<String>("name", new Model<String>("")));
    addRoleForm.add(new BBCodeTextArea("description", ""));

    add(addRoleForm);
}

From source file:com.tysanclan.site.projectewok.pages.member.RunForChancellorPage.java

License:Open Source License

/**
 * //from  w w w  .  j a va 2 s  .  co  m
 */
public RunForChancellorPage() {
    super("Run for Chancellor");

    int gained = getUser().getEndorsedBy().size();
    long requiredEndorsements = democracyService.getRequiredChancellorEndorsements();

    add(new Label("required", new Model<Long>(requiredEndorsements)));

    add(new Label("gained", new Model<Integer>(gained)));

    List<User> endorsers = new LinkedList<User>();
    Set<User> endorsements = getUser().getEndorsedBy();
    endorsers.addAll(endorsements);
    Collections.sort(endorsers, new User.CaseInsensitiveUserComparator());

    add(new ListView<User>("endorsers", ModelMaker.wrap(endorsers)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            item.add(new MemberListItem("user", item.getModelObject()));

        }

    });

    BigDecimal value = getDonatedAmount();

    add(new Label("donated", NumberFormat.getCurrencyInstance(Locale.US).format(value.doubleValue())));

    add(new Form<User>("runForChancellorForm", ModelMaker.wrap(getUser())) {
        private static final long serialVersionUID = 1L;

        /**
        * @see org.apache.wicket.markup.html.form.Form#onSubmit()
        */
        @Override
        protected void onSubmit() {
            User user = getModelObject();

            if (MemberUtil.isEligibleForElectedRank(user, Rank.CHANCELLOR)) {
                if (democracyService.addChancellorCandidate(user)) {
                    setResponsePage(
                            new ChancellorElectionPage(democracyService.getCurrentChancellorElection()));
                } else {
                    error("Failed to finalize candidacy");
                }
            }
        }

    }.setVisible(democracyService.isEligibleChancellorCandidate(getUser())));

}

From source file:com.tysanclan.site.projectewok.pages.member.RunForSenatorPage.java

License:Open Source License

/**
 * // w w  w.  j  a v a2s. c o  m
 */
public RunForSenatorPage() {
    super("Run for Senator");

    int gained = getUser().getEndorsedForSenateBy().size();
    long requiredEndorsements = democracyService.getRequiredSenateEndorsements();

    add(new Label("required", new Model<Long>(requiredEndorsements)));

    add(new Label("gained", new Model<Integer>(gained)));

    BigDecimal value = getDonatedAmount();

    add(new Label("donated", NumberFormat.getCurrencyInstance(Locale.US).format(value.doubleValue())));

    List<User> endorsers = new LinkedList<User>();
    Set<User> endorsements = getUser().getEndorsedForSenateBy();
    endorsers.addAll(endorsements);
    Collections.sort(endorsers, new User.CaseInsensitiveUserComparator());

    add(new ListView<User>("endorsers", ModelMaker.wrap(endorsers)) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<User> item) {
            item.add(new MemberListItem("user", item.getModelObject()));

        }

    });

    add(new Form<User>("runForSenatorForm", ModelMaker.wrap(getUser())) {
        private static final long serialVersionUID = 1L;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            User user = getModelObject();

            if (MemberUtil.isEligibleForElectedRank(user, Rank.SENATOR)) {
                if (democracyService.addSenateCandidate(user)) {
                    setResponsePage(new SenateElectionPage(democracyService.getCurrentSenateElection()));
                } else {
                    error("Failed to finalize candidacy");
                }
            }
        }

    }.setVisible(democracyService.isEligibleSenateCandidate(getUser())));

}