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.GroupPage.java

License:Open Source License

private void initComponents(Group group) {
    setPageTitle(group.getName());/*from w ww  .jav a  2s  . c o  m*/

    add(new Label("description", group.getDescription()).setEscapeModelStrings(false));
    if (group.getLeader() != null) {
        add(new MemberListItem("leader", group.getLeader()));
    } else {
        add(new WebMarkupContainer("leader").setVisible(false));
    }

    List<User> users = new LinkedList<User>();

    users.addAll(group.getGroupMembers());
    if (group.getLeader() != null) {
        users.remove(group.getLeader());
    }

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

        }
    });

}

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

License:Open Source License

/**
 * //from   w ww  . ja  v a2s  .com
 */
public AbstractElectionPage(String title, T election) {
    super(title);

    final boolean isNominationOpen = election.isNominationOpen();

    WebClientInfo clientInfo = TysanSession.get().getClientInfo();

    // If user is using IE7, offer him an alternative
    if (!isNominationOpen
            && (clientInfo.getUserAgent().contains("MSIE") || clientInfo.getUserAgent().contains("Trident"))) {
        throw new RestartResponseAtInterceptPageException(getInternetExplorerAlternativePage(election));
    }

    votes = new TreeMap<Integer, Long>();
    candidates = election.getCandidates().size();

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

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

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

            if (!isNominationOpen) {
                mitem.add(new DraggableBehavior() {
                    private static final long serialVersionUID = 1L;

                    /**
                     * @see org.odlabs.wiquery.ui.draggable.DraggableBehavior#statement()
                     */
                    @Override
                    public JsStatement statement() {
                        return new JsQuery(getComponent()).$().chain("draggable", "{ revert: true }");

                    }
                });
                mitem.setOutputMarkupId(true);
            }

            item.add(mitem);

        }

    };

    add(new Label("label", isNominationOpen ? "Candidates" : "Cast your vote!"));

    TimeZone tz = getUser().getTimezone() != null ? TimeZone.getTimeZone(getUser().getTimezone())
            : DateUtil.NEW_YORK;

    Calendar cal = Calendar.getInstance(tz, Locale.US);
    cal.setTime(election.getStart());
    cal.add(Calendar.WEEK_OF_YEAR, 1);

    Label explanation = new Label("explanation", isNominationOpen
            ? "Voting will commence " + DateUtil.getTimezoneFormattedString(cal.getTime(), tz.getID())
            : "Drag and drop the candidates of your choice to cast your vote. Place your favorites at the top and your least favorites at the bottom. The order you give them will determine their score. The higher their position the higher the score");

    Form<Void> castVoteForm = new Form<Void>("voteform") {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private UserDAO userDAO;

        /**
         * @see org.apache.wicket.markup.html.form.Form#onSubmit()
         */
        @Override
        protected void onSubmit() {
            List<User> userList = new LinkedList<User>();

            for (Integer position : getVotes().keySet()) {
                userList.add(userDAO.load(getVotes().get(position)));
            }

            onVoteSubmit(userList);
        }

    };

    castVoteForm.add(candidateView);

    List<Integer> positions = new LinkedList<Integer>();
    for (int i = 0; i < users.size(); i++) {
        positions.add(users.size() - (i + 1));
    }

    castVoteForm.add(new ListView<Integer>("slots", positions) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Integer> item) {
            item.add(new Label("position", new Model<Integer>(item.getIndex() + 1)));

            final int index = item.getIndex();

            item.add(new Label("score", new Model<Integer>(item.getModelObject())));
            WebMarkupContainer container = new WebMarkupContainer("target");
            container.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);

            if (!isNominationOpen) {
                DroppableAjaxBehavior behavior = new DroppableAjaxBehavior() {
                    private static final long serialVersionUID = 1L;

                    protected void drop(AjaxRequestTarget target, Component source, Component dropped) {

                        if (dropped instanceof MemberListItem) {
                            MemberListItem mli = (MemberListItem) dropped;

                            MemberListItem item2 = new MemberListItem("target", mli.getUser());
                            item2.setOutputMarkupId(true);
                            getComponent().replaceWith(item2);
                            mli.setVisible(false);

                            getVotes().put(index, mli.getUser().getId());

                            if (votes.size() == AbstractElectionPage.this.candidates) {
                                submitButton.setVisible(true);
                                if (target != null) {
                                    target.add(submitButton);
                                }
                            }

                            if (target != null) {

                                target.add(mli);
                                target.add(item2);
                            }
                        }

                    }
                };

                behavior.setHoverClass("election-hover");

                container.add(behavior);
            }

            item.add(container

            );
        }

    });

    add(explanation);
    add(castVoteForm);
    submitButton = new WebMarkupContainer("submit").setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true)
            .setVisible(false);

    castVoteForm.add(submitButton);
}

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

License:Open Source License

/**
 * // w  w w .j av a2 s .c o  m
 */
public AcceptanceVotePage() {
    super("Acceptance votes");

    add(new ListView<AcceptanceVote>("members", ModelMaker.wrap(acceptanceVoteDAO.findAll())) {
        private static final long serialVersionUID = 1L;

        @SpringBean
        private ForumPostDAO forumPostDAO;

        @SpringBean
        private ForumService forumService;

        @Override
        protected void populateItem(ListItem<AcceptanceVote> item) {
            AcceptanceVote vote = item.getModelObject();
            User trialMember = vote.getTrialMember();

            AcceptanceVoteVerdict myVote = null;
            AcceptanceVoteVerdict mentorVote = null;

            for (AcceptanceVoteVerdict verdict : vote.getVerdicts()) {
                if (verdict.getCaster().equals(verdict.getVote().getTrialMember().getMentor())) {
                    mentorVote = verdict;
                }

                if (verdict.getCaster().equals(getUser())) {
                    myVote = verdict;
                }

            }

            item.add(new Label("username", trialMember.getUsername()));
            item.add(new ContextImage("ihaznotvoted", "images/icons/error.png").setVisible(myVote == null));

            PageParameters params = new PageParameters();
            params.add("userid", trialMember.getId().toString());
            BookmarkablePageLink<User> profileLink = new BookmarkablePageLink<User>("profile", MemberPage.class,
                    params);

            WebMarkupContainer mentorWarning = new WebMarkupContainer("mentorWarning");
            User mentor = vote.getTrialMember().getMentor();
            if (mentor != null) {
                mentorWarning.add(new MemberListItem("mentor", mentor));
                mentorWarning.add(new ContextImage("warningIcon1", "images/icons/exclamation.png"));
                mentorWarning.add(new ContextImage("warningIcon2", "images/icons/exclamation.png"));
                mentorWarning.add(new ContextImage("warningIcon3", "images/icons/exclamation.png"));
                mentorWarning.add(new ContextImage("warningIcon4", "images/icons/exclamation.png"));
                mentorWarning.add(new ContextImage("warningIcon5", "images/icons/exclamation.png"));
                mentorWarning.add(new ContextImage("warningIcon6", "images/icons/exclamation.png"));

            } else {
                mentorWarning.add(new WebMarkupContainer("mentor").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon1").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon2").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon3").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon4").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon5").setVisible(false));
                mentorWarning.add(new WebMarkupContainer("warningIcon6").setVisible(false));
            }

            mentorWarning.setVisible(mentorVote != null && !mentorVote.isInFavor());

            item.add(mentorWarning);

            profileLink.add(new Label("username", trialMember.getUsername()));

            item.add(profileLink);

            item.add(new IconLink.Builder("images/icons/tick.png",
                    new DefaultClickResponder<AcceptanceVote>(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() {
                            AcceptanceVote av = getModelObject();
                            User caster = getUser();

                            democracyService.castAcceptanceVote(av, caster, true);

                            setResponsePage(new AcceptanceVotePage());
                        }

                    }).setText("Yes, I want to accept " + trialMember.getUsername() + " as a member")
                            .newInstance("yes"));

            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<AcceptanceVote>(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() {
                            AcceptanceVote av = getModelObject();
                            User caster = getUser();

                            democracyService.castAcceptanceVote(av, caster, false);

                            setResponsePage(new AcceptanceVotePage());
                        }

                    }).setText("No, I would prefer it if  " + trialMember.getUsername()
                            + " would no longer remain a member"
                            + (getUser().equals(mentor)
                                    ? ". WARNING: AS MENTOR OF THIS APPLICANT YOUR VOTE WILL BE VISIBLE IF YOU VOTE AGAINST YOUR OWN PUPIL"
                                    : ""))
                            .newInstance("no"));

            item.add(new Label("count", new Model<Integer>(vote.getVerdicts().size())));

            ForumPostFilter filter = new ForumPostFilter();
            filter.setShadow(false);
            filter.setUser(trialMember);
            filter.addOrderBy("time", false);

            List<ForumPost> posts = forumPostDAO.findByFilter(filter);

            posts = forumService.filterPosts(getUser(), false, posts);

            List<ForumPost> topPosts = new LinkedList<ForumPost>();
            for (int i = 0; i < Math.min(posts.size(), 5); i++) {
                topPosts.add(posts.get(i));
            }

            ListView<ForumPost> lastPosts = new ListView<ForumPost>("lastposts", ModelMaker.wrap(topPosts)) {
                private static final long serialVersionUID = 1L;

                @Override
                protected void populateItem(ListItem<ForumPost> item1) {
                    ForumPost post = item1.getModelObject();

                    item1.add(new AutoThreadLink("thread", post.getThread()));

                    item1.add(new DateTimeLabel("time", post.getTime()));
                }

            };

            item.add(lastPosts.setVisible(!topPosts.isEmpty()));

            item.add(new WebMarkupContainer("noPosts").setVisible(!lastPosts.isVisible()));

            WebMarkupContainer vacation = new WebMarkupContainer("vacation");
            vacation.add(new Label("username", trialMember.getUsername()));

            vacation.setVisible(trialMember.isVacation());

            item.add(vacation);

            String text = "You have not yet voted";

            if (myVote != null) {
                if (myVote.isInFavor()) {
                    text = "You have voted in favor of " + trialMember.getUsername();
                } else {
                    text = "You have voted against " + trialMember.getUsername();
                }
            }

            item.add(new Label("current", text));

        }

    });

}

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

License:Open Source License

public CaretakerFinancePage(User user) {
    super("Clan Finances");

    if (!roleService.getTreasurer().equals(user)) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }/*from w  w w.  j  ava2s.  c  o  m*/

    ExpenseFilter efilter = new ExpenseFilter();
    efilter.addOrderBy("start", true);

    add(new ListView<Expense>("expenses", ModelMaker.wrap(expenseDAO.findByFilter(efilter))) {

        /**
         * 
         */
        private static final long serialVersionUID = 1L;

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

            item.add(new Label("expense", expense.getName()));
            item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(expense.getAmount()))));
            item.add(new Label("regularity", expense.getPeriod().toString()));
            item.add(new DateLabel("start", expense.getStart()));
            if (expense.getEnd() != null) {
                item.add(new DateLabel("end", expense.getEnd()));
            } else {
                item.add(new IconLink.Builder("images/icons/money_delete.png",
                        new DefaultClickResponder<Expense>(ModelMaker.wrap(expense)) {
                            private static final long serialVersionUID = 1L;

                            @Override
                            public void onClick() {
                                financeService.setExpenseEnded(getModelObject(), new Date());

                                setResponsePage(new CaretakerFinancePage(getUser()));
                            }

                        }).newInstance("end"));
            }

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

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

                    }).newInstance("edit"));

        }

    });

    DonationFilter filter = new DonationFilter();
    filter.addOrderBy("donationTime", true);

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

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

            if (donation.getDonator() == null) {
                item.add(new Label("donor", "Anonymous"));
            } else {
                item.add(new MemberListItem("donor", donation.getDonator()));
            }
            item.add(new DateLabel("date", donation.getDonationTime()));
            item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(donation.getAmount()))));
            item.add(new IconLink.Builder("images/icons/cross.png",
                    new DefaultClickResponder<Donation>(ModelMaker.wrap(donation)) {
                        private static final long serialVersionUID = 1L;

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

                            setResponsePage(new CaretakerFinancePage(getUser()));
                        }
                    }).newInstance("delete"));

        }

    });

    add(createDonationForm());

    add(createExpenseForm());

    FinancialTimeline t = new FinancialTimeline(expenseDAO, donationDAO, subscriptionDAO, paidExpenseDAO);

    add(new Label("currentReserve", new DollarSignModel(new Model<BigDecimal>(t.getReservesToday()))));

    add(new Label("exhaustion", t.getExhaustionPoint() == null ? "for the foreseeable future (at least 3 years)"
            : t.getExhaustionPoint()));
}

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

License:Open Source License

public GameRealmAllowAccountTypePage() {
    super("Allowed Account Types");

    if (!getUser().equals(roleService.getSteward())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }/*w  w  w  . j  av  a2 s.com*/

    gameRealms = new LinkedList<GameRealmCartesian>();

    for (Game game : gameService.getActiveGames()) {
        for (Realm realm : game.getRealms()) {
            gameRealms.add(new GameRealmCartesian(game, realm));
        }
    }

    add(new ListView<AccountType>("types", Arrays.asList(AccountType.values())) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<AccountType> item) {
            Label name = new Label("type", item.getModelObject().toString());

            name.setRenderBodyOnly(true);

            item.add(name);
        }

    });

    add(new ListView<GameRealmCartesian>("realms", gameRealms) {

        private static final long serialVersionUID = 1L;

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

            item.add(new Label("game", cart.getGame().getName()));
            item.add(new Label("realm", cart.getRealm().getName()));

            item.add(new ListView<AccountType>("types", Arrays.asList(AccountType.values())) {

                private static final long serialVersionUID = 1L;

                @Override
                protected void populateItem(final ListItem<AccountType> iitem) {
                    GameRealmCartesian crt = item.getModelObject();

                    AccountType type = iitem.getModelObject();

                    boolean allowed = gameService.isValidAccountType(crt.getGame(), crt.getRealm(), type);

                    if (!allowed) {
                        iitem.add(new IconLink.Builder("images/icons/tick.png",
                                new DefaultClickResponder<AccountType>(new Model<AccountType>(type)) {
                                    private static final long serialVersionUID = 1L;

                                    @Override
                                    public void onClick() {
                                        GameRealmCartesian c = item.getModelObject();
                                        AccountType acc = iitem.getModelObject();

                                        gameService.allowAccountType(c.getGame(), c.getRealm(), acc);

                                        setResponsePage(new GameRealmAllowAccountTypePage());
                                    }
                                }).newInstance("button"));
                    } else {
                        iitem.add(new IconLink.Builder("images/icons/cross.png",
                                new DefaultClickResponder<AccountType>(new Model<AccountType>(type)) {
                                    private static final long serialVersionUID = 1L;

                                    @Override
                                    public void onClick() {
                                        GameRealmCartesian c = item.getModelObject();
                                        AccountType acc = iitem.getModelObject();

                                        gameService.disallowAccountType(c.getGame(), c.getRealm(), acc);

                                        setResponsePage(new GameRealmAllowAccountTypePage());
                                    }
                                }).newInstance("button"));
                    }
                }

            });
        }

    });
}

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

License:Open Source License

public MumbleServerAdminPage(User user) {
    super("Mumble Server administration");

    if (!user.equals(roleService.getHerald())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }//from   w ww .  j  a  v a 2 s. com

    add(new ListView<MumbleServer>("servers", ModelMaker.wrap(mumbleServerDAO.findAll())) {

        private static final long serialVersionUID = 1L;

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

            item.add(new Label("serverId", new Model<Integer>(server.getServerID())));
            item.add(new Label("name", server.getName()));
            item.add(new Label("url", server.getUrl()));
            item.add(new Label("password", server.getPassword()));
            item.add(new IconLink.Builder("images/icons/server_delete.png",
                    new DefaultClickResponder<MumbleServer>() {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            mumbleServerDAO.delete(getModelObject());

                            setResponsePage(new MumbleServerAdminPage(getUser()));
                        }

                    }).newInstance("del"));
        }

    });

    final TextField<Integer> serverIdField = new TextField<Integer>("serverId", new Model<Integer>(),
            Integer.class);
    final TextField<String> nameField = new TextField<String>("name", new Model<String>());
    final TextField<String> urlField = new TextField<String>("url", new Model<String>());
    final TextField<String> passwordField = new TextField<String>("password", new Model<String>());
    final TextField<String> tokenField = new TextField<String>("token", new Model<String>());
    final TextField<String> secretField = new TextField<String>("secret", new Model<String>());

    Form<MumbleServer> addForm = new Form<MumbleServer>("addForm") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit() {
            mumbleService.createServer(serverIdField.getModelObject(), nameField.getModelObject(),
                    urlField.getModelObject(), passwordField.getModelObject(), tokenField.getModelObject(),
                    secretField.getModelObject());

            setResponsePage(new MumbleServerAdminPage(getUser()));
        }
    };

    addForm.add(serverIdField);
    addForm.add(nameField);
    addForm.add(urlField);
    addForm.add(passwordField);
    addForm.add(tokenField);
    addForm.add(secretField);

    add(addForm);

}

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

License:Open Source License

public PaymentRequestApprovalPage() {
    super("Payment requests");

    if (!getUser().equals(roleService.getTreasurer())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }//from www.j  a v  a 2s .  com

    add(new ListView<PaymentRequest>("requests", ModelMaker.wrap(requestDAO.findAll())) {
        private static final long serialVersionUID = 1L;

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

            item.add(new Label("header", request.getItem()));
            item.add(new MemberListItem("requester", request.getRequester()));
            item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(request.getAmount()))));

            item.add(new Label("desc", request.getItem()));

            item.add(new HiddenField<String>("paypalAddress",
                    new Model<String>(request.getRequester().getPaypalAddress()))
                            .add(AttributeModifier.replace("name", "business")));
            item.add(new HiddenField<String>("itemname", new Model<String>(request.getItem())));

            item.add(new HiddenField<String>("itemdesc",
                    new Model<String>("The Tysan Clan - " + request.getItem()))
                            .add(AttributeModifier.replace("name", "item_name"))); //
            item.add(new HiddenField<String>("amount2", new Model<String>(request.getAmount().toString()))
                    .add(AttributeModifier.replace("name", "amount")));
            item.add(new HiddenField<String>("returnUrl",
                    new Model<String>("https://www.tysanclan.com/processPaymentRequest/" + request.getId() + "/"
                            + requestDAO.getConfirmationKey(request) + "/"))
                                    .add(AttributeModifier.replace("name", "return")));
        }
    });
}

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

License:Open Source License

public RequestPaymentPage(User user) {
    super("Request Payment");

    if (!user.equals(roleService.getHerald()) && !user.equals(roleService.getSteward())) {
        throw new RestartResponseAtInterceptPageException(AccessDeniedPage.class);
    }/*from   w  ww.j a va 2  s .  co  m*/

    add(new ListView<PaymentRequest>("pending", user.getPaymentRequests()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<PaymentRequest> item) {
            PaymentRequest request = item.getModelObject();
            item.add(new Label("description", request.getItem()));
            item.add(new Label("amount", new DollarSignModel(new Model<BigDecimal>(request.getAmount()))));
            item.add(new IconLink.Builder("images/icons/money_delete.png",
                    new DefaultClickResponder<PaymentRequest>(ModelMaker.wrap(request)) {

                        private static final long serialVersionUID = 1L;

                        @Override
                        public void onClick() {
                            financeService.cancelRequest(getModelObject());

                            setResponsePage(new RequestPaymentPage(getUser()));
                        }

                    }).newInstance("delete"));

        }

    });

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

    final TextField<String> amountField = new TextField<String>("amount", new Model<String>("0.00"));
    amountField.setRequired(true);

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

        @Override
        protected void onSubmit() {
            String description = itemDescriptionField.getModelObject();
            String amountStr = amountField.getModelObject();

            if (!amountStr.matches("^\\d+(\\.\\d{1,2})?$")) {
                error("Please enter a valid amount, such as 15, 3.2 or 9.95");
                return;
            }

            financeService.requestPayment(getUser(), description, new BigDecimal(amountStr));

            setResponsePage(new RequestPaymentPage(getUser()));

        }

    };

    requestForm.add(itemDescriptionField);
    requestForm.add(amountField);

    add(requestForm);

}

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

License:Open Source License

public ListView<Event> createListView(Date date) {

    EventFilter filter = new EventFilter();
    filter.setDate(date);/*from w  w w.  j a va 2  s.com*/

    IModel<List<Event>> events = ModelMaker.wrap(eventDAO.findByFilter(filter));

    ListView<Event> result = new ListView<Event>(EVENT_VIEW_ID, events) {
        private static final long serialVersionUID = 1L;

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

            String name = event.getEventThread().getTitle();

            if (name.startsWith("Event: ")) {
                name = name.substring(7);
            }

            item.add(new AutoThreadLink("event", item.getModelObject().getEventThread(), name));

        }

    };

    return result;
}

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

License:Open Source License

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

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

        @Override//  w w w .j ava  2 s  .  co  m
        protected void populateItem(ListItem<TruthsayerComplaint> item) {
            TruthsayerComplaint c = item.getModelObject();

            lawEnforcementService.setComplaintObserved(c);

            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 mediated = c.isMediated();

            item.add(new IconLink.Builder("images/icons/tick.png", new MediationResponder(c))
                    .setText("This complaint has been resolved, and does not require a Senate vote")
                    .newInstance("mediated").setVisible(!mediated));
            item.add(new IconLink.Builder("images/icons/cross.png", new DeferResponder(c))
                    .setText("This complaint is not resolved, the Senate should vote on this matter")
                    .newInstance("defer").setVisible(!mediated));
        }
    });

}