}
gridBuilder.newSubSplitPanel(GridSize.COL50);
{
// Net sum
final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.netto"));
final DivTextPanel netPanel = new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject()
{
return CurrencyFormatter.format(data.getNetSum());
}
}, TextStyle.FORM_TEXT);
fs.add(netPanel);
fs.suppressLabelForWarning();
ajaxUpdateComponents.add(netPanel.getLabel4Ajax());
}
gridBuilder.newSubSplitPanel(GridSize.COL50);
{
// Vat amount
final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.vatAmount"));
final DivTextPanel vatPanel = new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject()
{
return CurrencyFormatter.format(data.getVatAmountSum());
}
}, TextStyle.FORM_TEXT);
fs.add(vatPanel);
fs.suppressLabelForWarning();
ajaxUpdateComponents.add(vatPanel.getLabel4Ajax());
}
gridBuilder.newSubSplitPanel(GridSize.COL50);
{
// Brutto
final FieldsetPanel fs = gridBuilder.newFieldset(getString("fibu.common.brutto"));
final DivTextPanel grossPanel = new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject()
{
return CurrencyFormatter.format(data.getGrossSum());
}
}, TextStyle.FORM_TEXT);
fs.add(grossPanel);
fs.suppressLabelForWarning();
ajaxUpdateComponents.add(grossPanel.getLabel4Ajax());
}
gridBuilder.newSubSplitPanel(GridSize.COL50);
{
// Bezahldatum
final FieldsetPanel fs = gridBuilder.newFieldset(AbstractRechnungDO.class, "bezahlDatum");
final DatePanel bezahlDatumPanel = new DatePanel(fs.newChildId(), new PropertyModel<Date>(data, "bezahlDatum"), DatePanelSettings
.get().withTargetType(java.sql.Date.class));
dependentFormComponents[1] = bezahlDatumPanel.getDateField();
fs.add(bezahlDatumPanel);
}
gridBuilder.newSubSplitPanel(GridSize.COL50);
{
// Zahlbetrag
final FieldsetPanel fs = gridBuilder.newFieldset(AbstractRechnungDO.class, "zahlBetrag");
final TextField<BigDecimal> zahlBetragField = new TextField<BigDecimal>(InputPanel.WICKET_ID, new PropertyModel<BigDecimal>(data,
"zahlBetrag")) {
@SuppressWarnings({ "rawtypes", "unchecked"})
@Override
public IConverter getConverter(final Class type)
{
return new CurrencyConverter();
}
};
dependentFormComponents[3] = zahlBetragField;
fs.add(zahlBetragField);
}
{
gridBuilder.newSubSplitPanel(GridSize.COL50);
// Fälligkeit und Zahlungsziel
final FieldsetPanel fs = gridBuilder.newFieldset(AbstractRechnungDO.class, "faelligkeit");
faelligkeitPanel = new DatePanel(fs.newChildId(), new PropertyModel<Date>(data, "faelligkeit"), DatePanelSettings.get()
.withTargetType(java.sql.Date.class));
dependentFormComponents[2] = faelligkeitPanel.getDateField();
fs.add(faelligkeitPanel);
fs.setLabelFor(faelligkeitPanel);
addCellAfterFaelligkeit();
// DropDownChoice ZahlungsZiel
final LabelValueChoiceRenderer<Integer> zielChoiceRenderer = new LabelValueChoiceRenderer<Integer>();
for (final int days : ZAHLUNGSZIELE_IN_TAGEN) {
zielChoiceRenderer.addValue(days, String.valueOf(days) + " " + getString("days"));
}
final DropDownChoice<Integer> zahlungsZielChoice = new DropDownChoice<Integer>(fs.getDropDownChoiceId(), new PropertyModel<Integer>(
this, "zahlungsZiel"), zielChoiceRenderer.getValues(), zielChoiceRenderer) {
@Override
public boolean isVisible()
{
return data.getFaelligkeit() == null;
}
};
dependentFormComponents[4] = zahlungsZielChoice;
zahlungsZielChoice.setNullValid(true);
zahlungsZielChoice.setRequired(false);
fs.add(zahlungsZielChoice);
fs.add(new DivTextPanel(fs.newChildId(), new Model<String>() {
@Override
public String getObject()
{
data.recalculate();
return data.getZahlungsZielInTagen() + " " + getString("days");