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.senate.RegulationModificationPage.java

License:Open Source License

/**
 * //from  w  ww . java2s  .c o  m
 */
public RegulationModificationPage() {
    super("Regulations");

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

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

            String name = change.getChangeType() == ChangeType.ADD ? change.getTitle()
                    : change.getRegulation().getName();

            item.add(new Label("title", "" + change.getChangeType().toString() + " regulation " + name));

            if (change.getChangeType() == ChangeType.MODIFY) {
                item.add(new Label("name", change.getTitle()));
            } else {
                item.add(new WebMarkupContainer("name").setVisible(false));
            }

            if (change.getChangeType() != ChangeType.ADD) {
                item.add(new Label("current", change.getRegulation().getContents())
                        .setEscapeModelStrings(false));
            } else {
                item.add(new WebMarkupContainer("current").setVisible(false));
            }

            if (change.getChangeType() == ChangeType.REPEAL) {
                item.add(new WebMarkupContainer("body").setVisible(false));
            } else {
                item.add(new Label("body", change.getDescription()).setEscapeModelStrings(false));
            }

            RegulationChangeVote myVote = null;
            for (RegulationChangeVote vote : change.getVotes()) {
                if (vote.getSenator().equals(getUser())) {
                    myVote = vote;
                    break;
                }
            }

            if (myVote == null) {
                item.add(new Label("whatisay", "You have not yet voted on this change!"));
            } else {
                if (myVote.isInFavor()) {
                    item.add(new Label("whatisay", "You have voted in favor of this change"));
                } else {
                    item.add(new Label("whatisay", "You have voted against this change"));
                }
            }

            item.add(new WebMarkupContainer("veto").setVisible(change.isVeto()));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<RegulationChange>(ModelMaker.wrap(change)) {
                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private DemocracyService democracyService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            democracyService.voteForRegulation(getUser(), getModelObject(), true);
                        }
                    }).setText("Yes, I want to " + change.getChangeType().toString().toLowerCase()
                            + " this regulation").newInstance("yes"));

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

                        @SpringBean
                        private DemocracyService democracyService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            democracyService.voteForRegulation(getUser(), getModelObject(), false);
                        }

                    }).setText("No, I do not want to " + change.getChangeType().toString().toLowerCase()
                            + " this regulation").newInstance("no"));

        }

    });

}

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

License:Open Source License

public SenateTruthsayerComplaintPage() {
    super("Truthsayer Complaints");

    add(new ListView<TruthsayerComplaint>("complaints", ModelMaker.wrap(complaintDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        @Override// w  w  w  .j a  va2 s . c  o  m
        protected void populateItem(ListItem<TruthsayerComplaint> item) {
            TruthsayerComplaint c = item.getModelObject();

            item.add(new MemberListItem("complainer", c.getComplainer()));
            item.add(new MemberListItem("truthsayer", c.getTruthsayer()));

            item.add(new Label("title", "Complaint against " + c.getTruthsayer().getUsername()));
            item.add(new Label("complaint", c.getComplaint()).setEscapeModelStrings(false));

            boolean hasVoted = c.hasVoted(getUser());

            item.add(new IconLink.Builder("images/icons/tick.png", new ComplaintResponder(c, getUser(), true))
                    .setText(
                            "Yes, I feel this complaint is justified, and warrants stripping the rank of Truthsayer")
                    .newInstance("yes").setVisible(!hasVoted));
            item.add(new IconLink.Builder("images/icons/cross.png", new ComplaintResponder(c, getUser(), false))
                    .setText("No, I feel this complaint is without merit, and does not warrant a dismissal")
                    .newInstance("no").setVisible(!hasVoted));
        }
    });

}

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

License:Open Source License

public TruthsayerVotePage() {
    super("Truthsayer votes");

    TruthsayerNominationFilter filter = new TruthsayerNominationFilter();
    filter.setStartSet(true);/*from w w  w.ja va2s . co m*/

    add(new ListView<TruthsayerNomination>("nominations",
            ModelMaker.wrap(truthsayerNominationDAO.findByFilter(filter))) {
        private static final long serialVersionUID = 1L;

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

            item.add(new MemberListItem("member", nomination.getUser()));

            int yesCount = 0, noCount = 0;

            TruthsayerNominationVote myVote = null;

            for (TruthsayerNominationVote vote : nomination.getVotes()) {
                if (vote.getSenator().equals(getUser())) {
                    myVote = vote;
                }
                if (vote.getVerdict()) {
                    yesCount++;
                } else {
                    noCount++;
                }
            }

            item.add(new Label("yesCount", new Model<Integer>(yesCount)));
            item.add(new Label("noCount", new Model<Integer>(noCount)));

            String verdict = "Accepted";

            if (yesCount > 0 || noCount > 0) {
                int total = yesCount + noCount;
                int fraction = (100 * yesCount) / total;
                if (fraction < 51) {
                    verdict = "Rejected";
                }
            }

            item.add(new Label("verdict", verdict));

            Link<TruthsayerNomination> yesLink = new Link<TruthsayerNomination>("yes",
                    ModelMaker.wrap(nomination)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private LawEnforcementService lawEnforcementService;

                @Override
                public void onClick() {
                    lawEnforcementService.voteInFavor(getUser(), getModelObject());
                    setResponsePage(new TruthsayerVotePage());

                }

            };

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

            yesLink.setVisible(myVote == null);

            item.add(yesLink);

            Link<TruthsayerNomination> noLink = new Link<TruthsayerNomination>("no",
                    ModelMaker.wrap(nomination)) {
                private static final long serialVersionUID = 1L;

                @SpringBean
                private LawEnforcementService lawEnforcementService;

                @Override
                public void onClick() {
                    lawEnforcementService.voteAgainst(getUser(), getModelObject());
                    setResponsePage(new TruthsayerVotePage());
                }

            };

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

            noLink.setVisible(myVote == null);

            item.add(noLink);

            item.add(new Label("vote", myVote == null ? null : myVote.getVerdict() ? "Yes" : "No")
                    .setVisible(myVote != null));

        }

    });

}

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

License:Open Source License

public VetoPage() {
    super("Proposed regulation changes");

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

        @Override//from   w  w w  . jav  a 2s.c  om
        protected void populateItem(ListItem<RegulationChange> item) {
            RegulationChange change = item.getModelObject();

            String name = change.getChangeType() == ChangeType.ADD ? change.getTitle()
                    : change.getRegulation().getName();

            item.add(new Label("title", "" + change.getChangeType().toString() + " regulation " + name));

            if (change.getChangeType() == ChangeType.MODIFY) {
                item.add(new Label("name", change.getTitle()));
            } else {
                item.add(new WebMarkupContainer("name").setVisible(false));
            }

            if (change.getChangeType() != ChangeType.ADD) {
                item.add(new Label("current", change.getRegulation().getContents())
                        .setEscapeModelStrings(false));
            } else {
                item.add(new WebMarkupContainer("current").setVisible(false));
            }

            if (change.getChangeType() == ChangeType.REPEAL) {
                item.add(new WebMarkupContainer("body").setVisible(false));
            } else {
                item.add(new Label("body", change.getDescription()).setEscapeModelStrings(false));
            }

            item.add(new Form<RegulationChange>("vetoForm", ModelMaker.wrap(change)) {

                private static final long serialVersionUID = 1L;

                @SpringBean
                private DemocracyService democracyService;

                @Override
                protected void onSubmit() {
                    democracyService.vetoRegulationChange(getUser(), getModelObject());
                }

            }.setVisible(!change.isVeto()));

            item.add(new WebMarkupContainer("veto").setVisible(change.isVeto()));
        }

    });

}

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

License:Open Source License

/**
 * /*from w  w  w  . ja v a 2s .co  m*/
 */
public SignGamePetitionsPage() {
    super("New game petitions");

    add(new Label("count", new Model<Integer>(gameService.getRequiredPetitionSignatures())));
    add(new ListView<GamePetition>("petitions", ModelMaker.wrap(gamePetitionDAO.findAll())) {
        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<GamePetition> item) {
            GamePetition petition = item.getModelObject();

            Form<GamePetition> form = new Form<GamePetition>("form", ModelMaker.wrap(petition)) {
                private static final long serialVersionUID = 1L;

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

                    GamePetition gp = getModelObject();

                    gameService.signPetition(gp, getUser());

                    setResponsePage(new SignGamePetitionsPage());
                }
            };

            item.add(form);

            item.add(new Label("name", petition.getName()));
            form.add(new Label("name2", petition.getName()));

            form.add(new Label("starter", petition.getRequester().getUsername()));

            form.add(new Image("icon",
                    new ByteArrayResource(ImageUtil.getMimeType(petition.getImage()), petition.getImage())));

            form.add(new DateLabel("expires", petition.getExpires()));

            form.add(new ListView<User>("signatures", ModelMaker.wrap(petition.getSignatures())) {

                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 MemberListItem("user", user));
                }
            });

            form.add(new WebMarkupContainer("sign").setVisible(!petition.getSignatures().contains(getUser())
                    && !petition.getRequester().equals(getUser())));
        }
    });

}

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

License:Open Source License

/**
 * //from  w  ww.j  a  va  2 s .c  om
 */
public SignRealmPetitionsPage() {
    super("Sign realm petitions");

    add(new Label("count", new Model<Integer>(realmService.getRequiredPetitionSignatures())));
    add(new ListView<RealmPetition>("petitions", ModelMaker.wrap(realmPetitionDAO.findAll())) {
        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<RealmPetition> item) {
            RealmPetition petition = item.getModelObject();

            Form<RealmPetition> form = new Form<RealmPetition>("form", ModelMaker.wrap(petition)) {
                private static final long serialVersionUID = 1L;

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

                    RealmPetition rp = getModelObject();

                    realmService.signPetition(rp, getUser());

                    setResponsePage(new SignRealmPetitionsPage());
                }
            };

            item.add(form);

            item.add(new Label("name", petition.getGame().getName() + " on "
                    + (petition.getName() != null ? petition.getName() : petition.getRealm().getName())));
            form.add(new Label("realm",
                    petition.getName() != null ? petition.getName() : petition.getRealm().getName()));

            form.add(new Label("game", petition.getGame().getName()));

            form.add(new Label("starter", petition.getRequester().getUsername()));

            form.add(new DateLabel("expires", petition.getExpires()));

            form.add(new ListView<User>("signatures", ModelMaker.wrap(petition.getSignatures())) {

                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 MemberListItem("user", user));
                }
            });

            form.add(new WebMarkupContainer("sign").setVisible(!petition.getSignatures().contains(getUser())
                    && !petition.getRequester().equals(getUser())));
        }
    });
}

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

License:Open Source License

public SkypeOverviewPage() {
    super("Skype accounts");

    add(new ListView<User>("users", profileDAO.getSkypeUsers()) {

        private static final long serialVersionUID = 1L;

        @Override//from w w  w.  java2  s . c om
        protected void populateItem(ListItem<User> item) {
            User user = item.getModelObject();
            item.add(new MemberListItem("username", user));
            String skypeAddress = user.getProfile().getInstantMessengerAddress();

            item.add(new Label("skype", skypeAddress)
                    .add(AttributeModifier.replace("href", String.format("skype:%s?call", skypeAddress))));
        }

    });

}

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

License:Open Source License

public SubscriptionPaymentPage() {
    super("Subscription payments due");

    if (roleService.getTreasurer() == null || roleService.getTreasurer().getPaypalAddress() == null) {
        OverviewPage p = new OverviewPage();
        p.error("No Treasurer, or Treasurer has not setup Paypal");

        throw new RestartResponseAtInterceptPageException(p);
    }//from w ww . j av a  2 s .c  o  m

    add(new ListView<SubscriptionPayment>("requests", ModelMaker
            .wrap(ImmutableList.copyOf(Iterables.filter(getUser().getPayments(), new UnpaidFilter())))) {
        private static final long serialVersionUID = 1L;

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

            DateTime dt = new DateTime(payment.getDate());
            String dateTimeStr = dt.toString("dd MMMM yyyy", Locale.US);

            item.add(new Label("header", "Subscription Payment - " + dateTimeStr));
            item.add(new Label("amount",
                    new DollarSignModel(new Model<BigDecimal>(payment.getSubscription().getAmount()))));

            item.add(new HiddenField<String>("paypalAddress", new Model<String>(
                    roleService.getTreasurer() != null ? roleService.getTreasurer().getPaypalAddress() : null))
                            .add(AttributeModifier.replace("name", "business")));
            item.add(new HiddenField<String>("itemname",
                    new Model<String>("The Tysan Clan - Subscription Payment - " + dateTimeStr)));

            item.add(new HiddenField<String>("itemdesc",
                    new Model<String>("The Tysan Clan - Subscription Payment - " + dateTimeStr))
                            .add(AttributeModifier.replace("name", "item_name"))); //
            item.add(new HiddenField<String>("amount2",
                    new Model<String>(payment.getSubscription().getAmount().toString()))
                            .add(AttributeModifier.replace("name", "amount")));
            item.add(new HiddenField<String>("returnUrl",
                    new Model<String>("https://www.tysanclan.com/processSubscriptionPayment/" + payment.getId()
                            + "/" + paymentDAO.getConfirmationKey(payment) + "/"))
                                    .add(AttributeModifier.replace("name", "return")));
        }
    });
}

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

License:Open Source License

public UntenabilityVotePage() {
    super("Untenability Votes");

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

        @Override//from   w w  w .j av a  2  s.c  o  m
        protected void populateItem(ListItem<UntenabilityVote> item) {
            UntenabilityVote vote = item.getModelObject();

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

            UntenabilityVoteChoice myChoice = null;

            for (UntenabilityVoteChoice choice : vote.getChoices()) {
                if (choice.getCaster().equals(getUser())) {
                    myChoice = choice;
                    break;
                }
            }

            String currentChoice = "You have not yet voted on this issue";

            if (myChoice != null) {
                currentChoice = myChoice.isInFavor() ? "You have voted to repeal the regulation"
                        : "You have voted to maintain the regulation";
            }

            item.add(new Label("currentvote", currentChoice));

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<UntenabilityVote>(ModelMaker.wrap(vote)) {
                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private DemocracyService democracyService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            democracyService.castUntenabilityVote(getUser(), getModelObject(), true);

                            setResponsePage(new UntenabilityVotePage());
                        }
                    }).setText("Yes, I want this regulation repealled!").newInstance("yes"));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<UntenabilityVote>(ModelMaker.wrap(vote)) {
                        private static final long serialVersionUID = 1L;

                        @SpringBean
                        private DemocracyService democracyService;

                        /**
                         * @see com.tysanclan.site.projectewok.components.IconLink.DefaultClickResponder#onClick()
                         */
                        @Override
                        public void onClick() {
                            democracyService.castUntenabilityVote(getUser(), getModelObject(), false);

                            setResponsePage(new UntenabilityVotePage());
                        }
                    }).setText("No, this regulation must remain in effect!").newInstance("no"));

        }

    });

}

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

License:Open Source License

/**
 * @param bug// w w w . j  av a 2 s  . c  o m
 */
private void initPage(Bug bug) {
    bugModel = ModelMaker.wrap(bug);

    setPageTitle(bug.getTitle() + " - " + bug.getReportType().getDescription());

    add(new Label("description", bug.getDescription()).setEscapeModelStrings(true));

    add(new Label("permalink", "Link to this " + bug.getReportType().getDescription())
            .add(AttributeModifier.replace("href", bug.getReportType().getUrl(bug.getId()))));

    add(new Label("status", bug.getStatus().toString()));

    add(new DateLabel("created", bug.getReported()));

    add(new DateLabel("updated", bug.getUpdated()));

    if (bug.getReporter() != null) {
        add(new MemberListItem("reportedBy", bug.getReporter()));
    } else {
        add(new Label("reportedBy", "<i>Someone not logged in</i>").setEscapeModelStrings(false));
    }

    add(new Label("fixedIn", bug.getResolutionVersion()).setVisible(bug.getResolutionVersion() != null));

    add(new ListView<BugComment>("comments", ModelMaker.wrap(bug.getComments())) {
        private static final long serialVersionUID = 1L;

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

            if (comment.getCommenter() != null) {
                item.add(new MemberListItem("user", comment.getCommenter()));
            } else {
                item.add(new Label("user", "<i>Non-logged in user</i>").setEscapeModelStrings(false));
            }

            item.add(new Label("comment", comment.getDescription()).setEscapeModelStrings(false));
        }
    });

    final TextArea<String> descriptionArea = new TextArea<String>("descriptionArea", new Model<String>(""));
    descriptionArea.setRequired(true);

    Form<Bug> createCommentForm = new Form<Bug>("addForm", ModelMaker.wrap(bug)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            tracker.addCommentToBug(getModelObject(), getUser(), descriptionArea.getModelObject());

            setResponsePage(new ViewBugPage(getModelObject()));
        }
    };

    createCommentForm.add(descriptionArea);

    add(createCommentForm);

    add(new IconLink.Builder("images/icons/bug_go.png", new AcceptResponder(bug)).setText("I will fix this bug")
            .newInstance("accept")
            .setVisible(getUser().isBugReportMaster() && !getUser().equals(bug.getAssignedTo())));

    add(new IconLink.Builder("images/icons/bug_delete.png", new CloseResponder(bug))
            .setText("This bug/feature is fixed/realized in the current version, and can be closed")
            .newInstance("close")
            .setVisible(getUser().isBugReportMaster() && bug.getStatus() == BugStatus.RESOLVED));
    add(new IconLink.Builder("images/icons/bug_add.png", new ReopenResponder(bug))
            .setText("This bug still occurs").newInstance("reopen").setVisible(
                    bug.getStatus() == BugStatus.CLOSED && bug.getReportType() != ReportType.FEATUREREQUEST));

    WebMarkupContainer masterPanel = new WebMarkupContainer("masterPanel");

    BugFilter filter = new BugFilter();
    filter.setExclude(bug.getId());

    List<Bug> otherBugs = bugDAO.findByFilter(filter);

    final DropDownChoice<Bug> bugSelect = new DropDownChoice<Bug>("duplicate", ModelMaker.wrap((Bug) null),
            ModelMaker.wrapChoices(otherBugs), new BugRenderer());
    bugSelect.setRequired(true);
    bugSelect.setNullValid(false);

    Form<Bug> resolveAsDuplicateForm = new Form<Bug>("markAsDuplicateForm", ModelMaker.wrap(bug)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            tracker.markAsDuplicate(getModelObject(), bugSelect.getModelObject());

            setResponsePage(new BugOverviewPage());
        }
    };

    resolveAsDuplicateForm.add(bugSelect);

    masterPanel.add(resolveAsDuplicateForm);

    masterPanel.setVisible(getUser().isBugReportMaster() && getUser().equals(bug.getAssignedTo())
            && (bug.getStatus() == BugStatus.NEW || bug.getStatus() == BugStatus.ACKNOWLEDGED));

    final TextField<String> fixedInVersionField = new TextField<String>("fixedIn",
            new Model<String>(TysanApplication.getApplicationVersion()));
    fixedInVersionField.setRequired(true);

    final TextArea<String> solutionArea = new TextArea<String>("solutionArea", new Model<String>(""));
    solutionArea.setRequired(true);

    Form<Bug> resolveBugForm = new Form<Bug>("resolveForm", ModelMaker.wrap(bug)) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            tracker.bugResolved(getModelObject(), solutionArea.getModelObject(),
                    fixedInVersionField.getModelObject());

            setResponsePage(new BugOverviewPage());
        }
    };

    resolveBugForm.add(solutionArea);
    resolveBugForm.add(fixedInVersionField);

    masterPanel.add(resolveBugForm);

    add(masterPanel);
}