List of usage examples for org.apache.wicket.markup.html.form HiddenField HiddenField
public HiddenField(String id, IModel<T> model)
From source file:au.org.theark.lims.web.component.button.PrinterListPanel.java
License:Open Source License
private void initPanel() { DropDownChoice<String> printerListDdc = new DropDownChoice<String>("printerList", new PropertyModel<String>(this, "selected"), PRINTERLIST); printerListDdc.add(new AttributeModifier("name", "printerList")); printerListDdc.add(new AttributeModifier("onchange", "changeHiddenInput(this)")); printerListDdc.setOutputMarkupPlaceholderTag(true); this.add(printerListDdc); selectedPrinter = new HiddenField<String>("selectedPrinter", new PropertyModel<String>(this, "selected")); selectedPrinter.setOutputMarkupPlaceholderTag(true); selectedPrinter.add(new AttributeModifier("name", "selectedPrinter")); selectedPrinter.add(new AbstractDefaultAjaxBehavior() { private static final long serialVersionUID = 1L; @Override/*from w w w . j av a 2 s.co m*/ protected void respond(AjaxRequestTarget arg0) { StringValue selectedPrinter = RequestCycle.get().getRequest().getQueryParameters() .getParameterValue("selectedPrinter"); selected = selectedPrinter.toString(); } }); this.add(selectedPrinter); StringBuilder javaScript = new StringBuilder(); javaScript.append("function findPrinters() {"); javaScript.append("\n"); javaScript.append(" var applet = document.jZebra;"); javaScript.append("\n"); javaScript.append(" if (applet != null) {"); javaScript.append("\n"); javaScript.append(" document.getElementById('"); javaScript.append(printerListDdc.getMarkupId()); javaScript.append("').disabled = false;"); javaScript.append("\n"); javaScript.append(" var listing = applet.getPrinters();"); javaScript.append("\n"); javaScript.append(" var printers = listing.split(',');\n"); javaScript.append(" var objHidden = document.getElementById('"); javaScript.append(selectedPrinter.getMarkupId()); javaScript.append("');\n"); javaScript.append("\n"); javaScript.append(" for ( var i in printers) {"); javaScript.append("\n"); javaScript.append(" if(objHidden.value == printers[i]) {\n"); javaScript.append(" document.getElementById('"); javaScript.append(printerListDdc.getMarkupId()); javaScript.append("').options[i] = new Option(printers[i], printers[i], true, true);\n"); javaScript.append(" } else {\n"); javaScript.append(" document.getElementById('"); javaScript.append(printerListDdc.getMarkupId()); javaScript.append("').options[i] = new Option(printers[i], printers[i], false, false);\n"); javaScript.append(" }\n"); javaScript.append(" }"); javaScript.append("\n"); javaScript.append(" } else {"); javaScript.append("\n"); javaScript.append(" document.getElementById('"); javaScript.append(printerListDdc.getMarkupId()); javaScript.append("').options[i] = new Option('N/A');"); javaScript.append("\n"); javaScript.append(" document.getElementById('"); javaScript.append(printerListDdc.getMarkupId()); javaScript.append("').disabled = true;"); javaScript.append("\n"); javaScript.append(" }"); javaScript.append("\n"); javaScript.append("}"); javaScript.append("\n"); javaScript.append("\n"); javaScript.append("function changeHiddenInput (objDropDown) {"); javaScript.append("\n"); javaScript.append(" var objHidden = document.getElementById('"); javaScript.append(selectedPrinter.getMarkupId()); javaScript.append("');\n"); javaScript.append(" objHidden.value = objDropDown.value;"); javaScript.append("\n"); javaScript.append(" callWicket(objDropDown.value);"); javaScript.append("}"); final Label script = new Label("script", javaScript.toString()); script.setOutputMarkupPlaceholderTag(true); script.add(new AttributeModifier("onload", "findPrinters()")); script.setEscapeModelStrings(false); // do not HTML escape JavaScript code this.add(script); }
From source file:com.doculibre.constellio.wicket.panels.search.advanced.AbstractSearchRulePanel.java
License:Open Source License
@SuppressWarnings("unchecked") public AbstractSearchRulePanel(String id, final SimpleSearch search, final T rule, IModel ruleTypesChoice) { super(id);/*ww w . j a v a 2 s .co m*/ enabledRuleModel = new LoadableDetachableModel() { @Override protected Object load() { return getEnabledRuleFor(rule, search); } }; SimpleSearch clonedSearch = search.clone(); SimpleParams currentRuleParams = rule.toSimpleParams(true); List<RuleTypeChoice> baseChoices = (List<RuleTypeChoice>) ruleTypesChoice.getObject(); RuleTypeChoice selectedChoice = null; List<RuleTypeChoice> adaptedChoices = new ArrayList<RuleTypeChoice>(); for (RuleTypeChoice baseChoice : baseChoices) { boolean isSelected = true; RuleTypeChoice adaptedChoice = new RuleTypeChoice(); adaptedChoice.name = baseChoice.name; clonedSearch.setAdvancedSearchRule(rule.getRootSearchRule()); adaptedChoice.params.addAll(search.toSimpleParams(true)); for (String param : baseChoice.params.keySet()) { String paramName = param.replace(SearchRule.ROOT_PREFIX, ""); String adaptedName = rule.getPrefix() + paramName; String value = baseChoice.params.getString(param); adaptedChoice.params.remove(adaptedName); adaptedChoice.params.add(adaptedName, value); isSelected &= value.equals(currentRuleParams.getString(adaptedName)); } if (isSelected) { selectedChoice = adaptedChoice; } adaptedChoices.add(adaptedChoice); } IChoiceRenderer renderer = new IChoiceRenderer() { @Override public Object getDisplayValue(Object object) { RuleTypeChoice choice = (RuleTypeChoice) object; return choice.name; } @Override public String getIdValue(Object object, int index) { RuleTypeChoice choice = (RuleTypeChoice) object; String url = urlFor(getPage().getClass(), SimpleParamsUtils.toPageParameters(choice.params)) .toString(); return url; } }; DropDownChoice typeSelect = new DropDownChoice("type", new Model(selectedChoice), adaptedChoices, renderer); typeSelect.add(new SimpleAttributeModifier("onChange", "goToUrl(this.value, '" + SearchRule.ROOT_PREFIX + "', '" + rule.getPrefix() + "')")); //We dont want this value to be submit, because it is very long and not usefull typeSelect.add(new SimpleAttributeModifier("name", "")); add(typeSelect); HiddenField searchRuleTypeHiddenField = new HiddenField("searchRuleType", new Model(getSearchRuleType())); searchRuleTypeHiddenField.add( new SimpleAttributeModifier("name", rule.getPrefix() + SearchRule.DELIM + SearchRule.PARAM_TYPE)); add(searchRuleTypeHiddenField); }
From source file:com.doculibre.constellio.wicket.panels.search.advanced.searchRulePanels.AbstractIndexFieldSearchRulePanel.java
License:Open Source License
public AbstractIndexFieldSearchRulePanel(String id, SimpleSearch search, T rule, IModel ruleTypesChoice) { super(id, search, rule, ruleTypesChoice); HiddenField searchRuleIndexFieldHiddenField = new HiddenField("searchRuleIndexField", new Model(rule.getIndexFieldName())); searchRuleIndexFieldHiddenField.add(new SimpleAttributeModifier("name", rule.getPrefix() + SearchRule.DELIM + IndexFieldSearchRule.PARAM_INDEX_FIELD)); add(searchRuleIndexFieldHiddenField); }
From source file:com.doculibre.constellio.wicket.panels.search.advanced.searchRulePanels.SearchRulesGroupPanel.java
License:Open Source License
public SearchRulesGroupPanel(String id, SimpleSearch search, final SearchRulesGroup rule) { super(id);/*ww w . j ava 2 s .c om*/ HiddenField searchRuleTypeHiddenField = new HiddenField("searchRuleType", new Model(SearchRulesGroup.TYPE)); searchRuleTypeHiddenField.add( new SimpleAttributeModifier("name", rule.getPrefix() + SearchRule.DELIM + SearchRule.PARAM_TYPE)); add(searchRuleTypeHiddenField); DropDownChoice equationSelect = new DropDownChoice("equation", new Model(rule.getEquation()), Arrays.asList(BooleanEquation.values()), new IChoiceRenderer() { @Override public String getIdValue(Object object, int index) { return ((BooleanEquation) object).name(); } @Override public Object getDisplayValue(Object object) { return new StringResourceModel(((BooleanEquation) object).name(), SearchRulesGroupPanel.this, null).getString(); } }); equationSelect.add(new SimpleAttributeModifier("name", rule.getPrefix() + SearchRule.DELIM + SearchRulesGroup.PARAM_EQUATION)); add(equationSelect); IModel labelModel = new LoadableDetachableModel() { @Override protected Object load() { String label = new StringResourceModel("theseRules", SearchRulesGroupPanel.this, null).getString(); return label.replace("#", "" + rule.getNestedRules().size()); } }; add(new Label("theseRules", labelModel)); }
From source file:com.gmail.volodymyrdotsenko.jqxwicket.core.panel.FormSubmittingPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); // As the Form is posted, Form#findSubmittingButton() expect to retrieve this component by the request parameter 'name'. // But as this component is not an input, it does not have a name attribute. Thus, it should match the #getInputName() path this.add(new HiddenField<Serializable>("submitter", new Model<Serializable>()) .add(AttributeModifier.replace("name", this.getInputName()))); }
From source file:com.googlecode.wicket.jquery.ui.panel.FormSubmittingPanel.java
License:Apache License
/** * Initialization/* ww w.j a v a2 s.c om*/ */ private void init() { //As the Form is posted, Form#findSubmittingButton() expect to retrieve this component by the request parameter 'name'. //But as this component is not an input, it does not have a name attribute. Thus, it should match the #getInputName() path this.add(new HiddenField<Serializable>("submitter", new Model<Serializable>()) .add(AttributeModifier.replace("name", this.getId()))); }
From source file:com.googlecode.wicketwebbeans.containers.BeanForm.java
License:Apache License
/** * Construct a new BeanForm.// www . jav a 2s . c om * * @param id the Wicket id for the panel. * @param bean the bean to be displayed. This may be an IModel or regular bean object. * The bean may be a List or, if an IModel, a model that returns a List. If so, the bean is display is * displayed using BeanTablePanel. Otherwise BeanGridPanel is used. * @param beanMetaData the meta data for the bean. If bean is a List or model of a List, then this must be * the BeanMetaData for a single element (row) of the List. * @param container an optional container to use in place of the default BeanGridPanel or BeanTablePanel. This container must must be a Panel and * implement a constructor of the form: <p> * <code>public Constructor(String id, final Object bean, BeanMetaData beanMetaData, TabMetaData tabMetaData)</code> * <p> * where id = Wicket component ID<br> * bean = the bean, or IModel containing the bean<br> * beanMetaData = the BeanMetaData for bean<br> * tabMetaData = the tab metadata<p> * May be null. */ @SuppressWarnings("serial") public BeanForm(String id, final Object bean, final BeanMetaData beanMetaData, final Class<? extends Panel> container) { super(id); this.bean = bean; this.beanMetaData = beanMetaData; this.container = container; form = new Form("f") { // Track whether the form is in submit processing. @Override public boolean process() { ++submitCnt; try { return super.process(); } finally { --submitCnt; } } }; form.setOutputMarkupId(true); add(form); String title = beanMetaData.getLabel(); form.add(new Label("title", title)); form.add(new Label("beanFormIndicatorErrorLabel", new ResourceModel("beanFormError.msg", "An error occurred on the server. Your session may have timed out."))); beanMetaData.consumeParameter(PARAM_ROWS); final HiddenField hiddenFocusField = new HiddenField<String>("focusField", new PropertyModel<String>(this, "focusField")); hiddenFocusField.add(new AbstractBehavior() { @Override public void onComponentTag(Component component, ComponentTag tag) { tag.put("id", "bfFocusField"); super.onComponentTag(component, tag); } }); form.add(hiddenFocusField); formVisitor = new FormVisitor(); createTabs(bean, beanMetaData, container); // Use a FeedbackMessageFilter to handle messages for multiple BeanForms on a page. This is because messages are stored on the session. IFeedbackMessageFilter feedbackFilter = new IFeedbackMessageFilter() { public boolean accept(FeedbackMessage message) { // If the reporter is a field and this is refreshing because of a non-Ajax form submit, it's very likely that the field has been detached // from its parent because it is in a list view. As a result, findParent doesn't return the BeanForm. Component reporter = message.getReporter(); AbstractField reporterField = (AbstractField) (reporter instanceof AbstractField ? reporter : reporter.findParent(AbstractField.class)); if (reporterField != null) { return reporterField.getBeanForm().getId().equals(BeanForm.this.getId()); } Component parent = (reporter instanceof BeanForm ? reporter : reporter.findParent(BeanForm.class)); return reporter == BeanForm.this || parent == null || parent == BeanForm.this; } }; feedback = new FeedbackPanel("feedback", feedbackFilter); feedback.setOutputMarkupId(true); form.add(feedback); createGlobalActions(); }
From source file:com.hubeleon.wicketlist.HomePage.java
License:Open Source License
public HomePage() { final WebMarkupContainer divList = new WebMarkupContainer("ochConfirmCDRsTable"); divList.setOutputMarkupId(true);//from w w w. j ava 2 s .c o m divList.setOutputMarkupPlaceholderTag(true); setVersioned(false); final List<CDRInfo> cdrInfoArray = new ArrayList(); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { System.out.println(" ####### get all cdr list"); List<CDRInfo> ths = ofy().load().type(CDRInfo.class).list(); cdrInfoArray.addAll(ths); } } final ListView list = new ListView<CDRInfo>("listview", cdrInfoArray) { protected void populateItem(final ListItem<CDRInfo> listItem) { final CDRInfo cdr = (CDRInfo) listItem.getModelObject(); System.out.println("Populating List for " + cdr.getCdrId() + " with status " + cdr.getCdrStatusType() + " retrieved from database "); listItem.setOutputMarkupId(true); listItem.setOutputMarkupPlaceholderTag(true); listItem.add(new Label("cdr", (cdr.getCdrId() != null ? cdr.getCdrId() : ""))); listItem.add(new Label("evseId", (cdr.getEvseId() != null ? cdr.getEvseId() : ""))); final Label lblStatus = new Label("status", new PropertyModel<String>(cdr, "cdrStatusType")); lblStatus.setOutputMarkupId(true); lblStatus.setOutputMarkupPlaceholderTag(true); listItem.add(lblStatus); listItem.add(new Label("startDateTime", (cdr.getStartDateTime().toString() != null ? cdr.getStartDateTime().toString() : ""))); listItem.add(new Label("endDateTime", (cdr.getEndDateTime().toString() != null ? cdr.getEndDateTime().toString() : ""))); listItem.add(new Label("duration", (cdr.getDuration() != null ? cdr.getDuration() : ""))); listItem.add(new Label("instance", cdr.getInstance() != null ? cdr.getInstance() : "")); listItem.add(new Label("tokenType", cdr.getTokenType() != null ? cdr.getTokenType() : "")); listItem.add(new Label("tokenSubType", cdr.getTokenSubType() != null ? cdr.getTokenSubType() : "")); listItem.add(new Label("contractId", cdr.getContractId() != null ? cdr.getContractId() : "")); listItem.add(new Label("liveAuthId", cdr.getLiveAuthId() != null ? cdr.getLiveAuthId() : "")); final Form<CDRInfo> form = new Form<CDRInfo>("myForm", new Model(cdr)) { /** * */ private static final long serialVersionUID = 1L; protected void onSubmit(AjaxRequestTarget target, Form<CDRInfo> form) { CDRInfo c = (CDRInfo) this.getModelObject(); System.err.println("######## STATUS:" + c.getCdrStatusType()); //this.setResponsePage(new MovieDisplayPage(movie)); }; }; form.setOutputMarkupId(true); form.setOutputMarkupPlaceholderTag(true); final HiddenField currentState = new HiddenField("currentState", new PropertyModel<String>(cdr, "cdrStatusType")); currentState.setOutputMarkupId(true); form.add(currentState); final HiddenField hcdr = new HiddenField("cdrId", new PropertyModel<String>(cdr, "cdrId")); hcdr.setOutputMarkupId(true); form.add(hcdr); final Model<String> btnStyle = new Model<String>("btn-warning"); AjaxButton btn = new AjaxButton("stateAcceptButton", new PropertyModel<String>(cdr, "cdrStatusType"), form) { protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setWicketAjaxResponse(false); } protected void onClick(AjaxRequestTarget target, Form form) { } protected void onSubmit(AjaxRequestTarget target, Form form) { System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - " + currentState.getDefaultModelObjectAsString()); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class) .id(hcdr.getDefaultModelObjectAsString()).now(); result.setCdrStatusType("Accepted"); System.out.println("Persisting to database " + result.getCdrId() + " - " + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId()); ofy().save().entity(result).now(); setReuseItems(true); addStateChange(); modelChanging(); // Remove item and invalidate listView List<CDRInfo> currentList = (List<CDRInfo>) getList(); for (CDRInfo i : currentList) { if (i.getCdrId().equalsIgnoreCase(result.getCdrId())) { System.out.println("#### Found entry and updating state to : " + result.getCdrStatusType()); currentList.remove(i); i.setCdrStatusType(result.getCdrStatusType()); System.out.println("#### set list " + currentList); setList(currentList); target.appendJavaScript(" document.getElementById('" + lblStatus.getId() + "').value='" + result.getCdrStatusType() + "';"); System.out.println("#### model changed "); modelChanged(); System.out.println("#### remove all "); removeAll(); break; } else { System.out.println("#### NOT FOUND as charge record " + i.getCdrId() + ", while we are looking for " + result.getCdrId()); } } } } target.add(lblStatus); setResponsePage(HomePage.class); } }; btn.add(AttributeModifier.append("class", btnStyle)); btn.add(new AttributeModifier("cdrStatusType", cdr) { protected String newValue(final String currentValue, final String replacementValue) { System.out .println("######## New Value 1:" + replacementValue + " old value " + currentValue); return currentValue + replacementValue; } }); form.add(btn); AjaxButton btnReject = new AjaxButton("stateRejectButton", new PropertyModel<String>(cdr, "cdrStatusType"), form) { protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { super.updateAjaxAttributes(attributes); attributes.setWicketAjaxResponse(false); System.out.println("########updateAjaxAttributes"); } protected void onSubmit(AjaxRequestTarget target, Form form) { System.out.println(" ####### " + hcdr.getDefaultModelObjectAsString() + " - " + currentState.getDefaultModelObjectAsString()); if (SystemProperty.environment.value() == SystemProperty.Environment.Value.Development) { try (Closeable closeable = ObjectifyService.begin()) { CDRInfo result = (CDRInfo) ofy().load().type(CDRInfo.class) .id(hcdr.getDefaultModelObjectAsString()).now(); result.setCdrStatusType("Rejected"); System.out.println("Persisting to database " + result.getCdrId() + " - " + result.getCdrStatusType() + " ::: " + target.getLastFocusedElementId()); ofy().save().entity(result).now(); getList().remove(result); } } target.add(divList); } }; btnReject.add(AttributeModifier.append("class", btnStyle)); btnReject.add(new AttributeModifier("cdrStatusType", cdr) { protected String newValue(final String currentValue, final String replacementValue) { System.out.println("######## New Value Reject Button:" + replacementValue + " old value " + currentValue); return currentValue + replacementValue; } }); form.add(btnReject); listItem.add(form); } }; list.setOutputMarkupId(true); list.setOutputMarkupPlaceholderTag(true); divList.setOutputMarkupId(true); divList.setOutputMarkupPlaceholderTag(true); divList.add(list); add(divList); }
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 ww w .j a v a 2 s . c o m 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.FinancePage.java
License:Open Source License
/** * /*from www . ja v a2 s .c o m*/ */ public FinancePage() { super("Clan Finances"); // Charts: // - cash flow // - annual expense breakdown // - cash reserves // - reserve expiration date // - donations // - contribution // - subscriptions List<Expense> expenses = expenseDAO.findAll(); List<Expense> filtered = new LinkedList<Expense>(); BigDecimal sum = new BigDecimal(0).setScale(2); DateTime now = new DateTime(); DateTime oneMonthAgo = now.minusMonths(1); DateTime oneYearAgo = now.minusYears(1); DateTime year1997 = new DateTime(1997, 1, 1, 12, 0, 0, 0); for (Expense expense : expenses) { if (expense.getEnd() == null || expense.getEnd().after(now.toDate())) { switch (expense.getPeriod()) { case MONTHLY: sum = sum.add(expense.getAmount().multiply(factor12)); break; case QUARTERLY: sum = sum.add(expense.getAmount().multiply(factor4)); break; case SEMIANNUALLY: sum = sum.add(expense.getAmount().multiply(factor2)); break; case ANNUALLY: sum = sum.add(expense.getAmount()); break; case BIANNUALLY: sum = sum.add(expense.getAmount().divide(factor2, RoundingMode.HALF_UP)); break; } filtered.add(expense); } } add(new ListView<Expense>("expenses", ModelMaker.wrap(filtered)) { 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<Expense> item) { Expense expense = item.getModelObject(); item.add(new Label("name", expense.getName())); String regularity = null; IModel<String> yearlyExpense = null; boolean amountPerTermVisible = true; switch (expense.getPeriod()) { case MONTHLY: regularity = "Monthly"; yearlyExpense = new DollarSignModel( new Model<BigDecimal>(expense.getAmount().multiply(factor12))); break; case QUARTERLY: regularity = "Quarterly"; yearlyExpense = new DollarSignModel( new Model<BigDecimal>(expense.getAmount().multiply(factor4))); break; case SEMIANNUALLY: regularity = "Semiannually"; yearlyExpense = new DollarSignModel( new Model<BigDecimal>(expense.getAmount().multiply(factor2))); break; case BIANNUALLY: regularity = "Biannually"; yearlyExpense = new DollarSignModel( new Model<BigDecimal>(expense.getAmount().divide(factor2, RoundingMode.HALF_UP))); break; default: amountPerTermVisible = false; regularity = "Annually"; yearlyExpense = new DollarSignModel(new Model<BigDecimal>(expense.getAmount())); } item.add(new Label("regularity", regularity)); item.add(new Label("amounteach", new DollarSignModel(new Model<BigDecimal>(expense.getAmount()))) .setVisible(amountPerTermVisible)); item.add(new Label("annualfee", yearlyExpense)); } }); add(new Label("annualcost", new DollarSignModel(new Model<BigDecimal>(sum)))); FinancialTimeline timeline = new FinancialTimeline(expenseDAO, donationDAO, subscriptionDAO, paidExpenseDAO); // Finance overview charts addLineChart("monthlychart", "Cash flow last month", 2, timeline.getCashFlow(oneMonthAgo, now)); addLineChart("yearlychart", "Cash flow last year", 2, timeline.getCashFlow(oneYearAgo, now)); addLineChart("alltimechart", "Cash flow all time", 2, timeline.getCashFlow(year1997, now)); add(GraphUtil.makePieChart("monthlyparticipation", "Participation last month", timeline.getParticipation(oneMonthAgo, now))); add(GraphUtil.makePieChart("annualparticipation", "Participation last year", timeline.getParticipation(oneYearAgo, now))); add(GraphUtil.makePieChart("alltimeparticipation", "All time participation", timeline.getParticipation(year1997, now))); add(GraphUtil.makeReservesBarChart("reserves", "Cash reserves by donator", timeline.getReservesAt(now))); add(new BookmarkablePageLink<CharterPage>("charter", CharterPage.class)); add(new WebMarkupContainer("un") .add(AttributeModifier.replace("value", "Tysan Donation by " + getUser().getUsername()))); User treasurer = roleService.getTreasurer(); add(new HiddenField<String>("paypalAddress", new Model<String>(treasurer != null ? treasurer.getPaypalAddress() : "disable")) .add(AttributeModifier.replace("name", "business"))); add(new ActivateSubscriptionPanel("activatesubscription", getUser(), new FinancePageLink())); add(new ViewSubscriptionPanel("viewsubscription", getUser(), new FinancePageLink())); }