-Welcome!
+db2 Welcome!
This is an MyBatis Migration repository. You can specify the repository
directory when running migrations using the --path=<repos-directory>
--- /dev/null
+-- // add vat to associate
+-- Migration SQL that makes the change goes here.
+
+ALTER TABLE associate
+ ADD COLUMN monthly_vat INTEGER NOT NULL DEFAULT 0;
+
+-- //@UNDO
+-- SQL to undo the change goes here.
+
+ALTER TABLE associate DROP COLUMN monthly_vat;
+CALL SYSPROC.ADMIN_CMD('REORG TABLE associate');
private double monthlyCost;
+ private Vat monthlyVat;
+
private boolean active;
private boolean remotelyAuthenticated;
--- /dev/null
+package hu.user.lis.db;
+
+
+import lombok.Getter;
+
+@Getter
+public enum Vat {
+ PERCENT_0(0, "ÁFA mentes"),
+ PERCENT_5(5, "5%"),
+ PERCENT_18(18, "18%"),
+ PERCENT_27(27, "27%");
+
+ final float val;
+ final String display;
+
+ Vat(float val, String display) {
+ this.val = val;
+ this.display = display;
+ }
+}
--- /dev/null
+package hu.user.lis.ui.converter;
+
+import hu.user.lis.db.Vat;
+import org.springframework.stereotype.Component;
+import org.zkoss.bind.BindContext;
+import org.zkoss.bind.Converter;
+import org.zkoss.zul.ListModel;
+import org.zkoss.zul.Selectbox;
+import org.zkoss.zul.ext.Selectable;
+
+import java.util.Objects;
+
+@Component
+public class VatConverter implements Converter<Object, Vat, Selectbox> {
+ @Override
+ public Object coerceToUi(Vat vat, Selectbox box, BindContext bindContext) {
+ if (Objects.isNull(vat)) {
+ return IGNORED_VALUE;
+ }
+ final ListModel<?> model = box.getModel();
+ ((Selectable<Vat>) model).clearSelection();
+ for (int i = 0; i < model.getSize(); i++) {
+ Vat currentVat = (Vat) model.getElementAt(i);
+ if (currentVat.equals(vat)) {
+ ((Selectable<Vat>) model).addToSelection(currentVat);
+ return i;
+ }
+ }
+ return IGNORED_VALUE;
+ }
+
+ @Override
+ public Vat coerceToBean(Object order, Selectbox bandbox, BindContext bindContext) {
+ ListModel<Vat> model = bandbox.getModel();
+ Vat result = model.getElementAt((int) order);
+ return result;
+ }
+}
\ No newline at end of file
validator(entity.getName(), this::validateString, "A 'Név' kitöltése kötelező."),
validator(entity.getLogin(), this::validateString, "A 'Login' kitöltése kötelező."),
validator(entity, this::validatePassword, "A 'Jelszó' kitöltése kötelező."),
- validator(entity.getMonthlyCost(), this::validateDouble, "A 'Havi önköltség' kitöltése kötelező.")
+ validator(entity.getMonthlyCost(), this::validateDouble, "A 'Havi önköltség' kitöltése kötelező."),
+ validator(entity.getMonthlyVat(), this::validateNotNull, "A 'Havi ÁFA' kitöltése kötelező.")
};
}
<?link rel="stylesheet" type="text/css" href="~./static/css/skeleton.css" ?>
<?link rel="stylesheet" type="text/css" href="~./static/css/webclient.css" ?>
<zk>
+ <zscript>
+ import hu.user.lis.db.Vat;
+ ListModelList vats = new ListModelList(Vat.values());
+ </zscript>
<window id="associatePopup" width="60%" height="450px" closable="true"
viewModel="@id('vm') @init('hu.user.lis.ui.editor.AssociateEditorModel')">
<caption label="Munkatárs szerkesztés"/>
forward="onOK=submit.onClick, onCancel=cancel.onClick"/>
<button iconSclass="z-icon-eye"/>
</hlayout>
- <label value="Havi önköltség"/>
- <doublebox value="@bind(vm.formDocument.monthlyCost) @validator(vm)"
- format="#,###.##" locale="hu" instant="true"
- forward="onOK=submit.onClick, onCancel=cancel.onClick"/>
+ <hlayout>
+ <vlayout>
+ <label value="Havi önköltség"/>
+ <doublebox value="@bind(vm.formDocument.monthlyCost) @validator(vm)"
+ format="#,###.##" locale="hu" instant="true"
+ forward="onOK=submit.onClick, onCancel=cancel.onClick"/>
+ </vlayout>
+ <vlayout>
+ <label value="Havi önköltség ÁFA"/>
+ <selectbox model="${vats}"
+ selectedIndex="@bind(vm.formDocument.monthlyVat) @converter('hu.user.lis.ui.converter.VatConverter') @validator(vm)"
+ forward="onOK=submit.onClick, onCancel=cancel.onClick">
+ <template name="model">
+ ${each.display}
+ </template>
+ </selectbox>
+
+ </vlayout>
+ </hlayout>
<label value="Aktív"/>
<checkbox mold="switch" checked="@bind(vm.formDocument.active) @validator(vm)"/>
<label value="Jogok"/>