Implementována verze DB a převod DB.

Nové DB mají délku nastavenou anotací.
ZUL soubory jsou omezeny atributem maxlength.

closes #186
Verze_1.0
František Přibyl 10 years ago
parent 780edd5678
commit d37076cd27

@ -11,6 +11,7 @@ import info.bukova.isspst.data.User;
import info.bukova.isspst.reporting.Report; import info.bukova.isspst.reporting.Report;
import info.bukova.isspst.reporting.ReportMapping; import info.bukova.isspst.reporting.ReportMapping;
import info.bukova.isspst.reporting.ReportType; import info.bukova.isspst.reporting.ReportType;
import info.bukova.isspst.services.dbinfo.DbInfoService;
import info.bukova.isspst.services.munits.MUnitService; import info.bukova.isspst.services.munits.MUnitService;
import info.bukova.isspst.services.numberseries.NumberSeriesService; import info.bukova.isspst.services.numberseries.NumberSeriesService;
import info.bukova.isspst.services.requirement.RequirementTypeService; import info.bukova.isspst.services.requirement.RequirementTypeService;
@ -33,6 +34,8 @@ import org.springframework.web.context.support.WebApplicationContextUtils;
public class AppInitListener implements ServletContextListener { public class AppInitListener implements ServletContextListener {
private DbInfoService dbInfoService;
private MUnitService mUnitsService; private MUnitService mUnitsService;
private RoleService roleService; private RoleService roleService;
private UserService userService; private UserService userService;
@ -52,6 +55,7 @@ public class AppInitListener implements ServletContextListener {
logger.info("Initializing database"); logger.info("Initializing database");
WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(evt.getServletContext()); WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(evt.getServletContext());
dbInfoService = ctx.getBean(DbInfoService.class);
mUnitsService = ctx.getBean(MUnitService.class); mUnitsService = ctx.getBean(MUnitService.class);
roleService = ctx.getBean(RoleService.class); roleService = ctx.getBean(RoleService.class);
userService = ctx.getBean(UserService.class); userService = ctx.getBean(UserService.class);
@ -61,6 +65,7 @@ public class AppInitListener implements ServletContextListener {
reqTypeService = ctx.getBean(RequirementTypeService.class); reqTypeService = ctx.getBean(RequirementTypeService.class);
userService.grantAdmin(); userService.grantAdmin();
this.checkDbInfo();
checkMUnits(); checkMUnits();
checkRoles(); checkRoles();
checkUsers(); checkUsers();
@ -74,6 +79,24 @@ public class AppInitListener implements ServletContextListener {
loadModuleReports(); loadModuleReports();
} }
private void checkDbInfo()
{
List<User> userList = userService.getAll();
if (userList.isEmpty())
{
// Database is new/empty, column definition is anotated - set actual
// database version
dbInfoService.updateDatabaseVersion();
}
else
{
// Existing database - try change structure and set actual database
// version...
dbInfoService.changeDatabase();
}
}
private void checkMUnits() private void checkMUnits()
{ {
List<MUnit> mUnits = mUnitsService.getAll(); List<MUnit> mUnits = mUnitsService.getAll();

@ -1,9 +1,5 @@
package info.bukova.isspst; package info.bukova.isspst;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import info.bukova.isspst.data.Permission; import info.bukova.isspst.data.Permission;
import info.bukova.isspst.data.PermissionType; import info.bukova.isspst.data.PermissionType;
import info.bukova.isspst.data.Requirement; import info.bukova.isspst.data.Requirement;
@ -28,8 +24,14 @@ import info.bukova.isspst.services.users.RoleService;
import info.bukova.isspst.services.users.UserService; import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.services.workgroups.WorkgroupService; import info.bukova.isspst.services.workgroups.WorkgroupService;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
public class Constants { public class Constants {
public final static long DB_VERSION = 1;
public final static String DEF_ADMIN = "admin"; public final static String DEF_ADMIN = "admin";
public final static String DEF_ADMIN_PASSWD = "admin"; public final static String DEF_ADMIN_PASSWD = "admin";
public final static String ROLE_USER = "ROLE_USER"; public final static String ROLE_USER = "ROLE_USER";
@ -145,4 +147,7 @@ public class Constants {
put(Requirement.class, "/main/orders/"); put(Requirement.class, "/main/orders/");
put(TripRequirement.class, "/main/trips/requirements/"); put(TripRequirement.class, "/main/trips/requirements/");
}} ); }} );
public final static int LEN_TEXT = 255;
public final static int LEN_DESCRIPTION = 8192;
} }

@ -0,0 +1,7 @@
package info.bukova.isspst.dao;
import info.bukova.isspst.data.DbInfo;
public interface DbInfoDao extends BaseDao<DbInfo>
{
}

@ -0,0 +1,9 @@
package info.bukova.isspst.dao.jpa;
import info.bukova.isspst.dao.DbInfoDao;
import info.bukova.isspst.data.DbInfo;
public class DbInfoDaoJPA extends BaseDaoJPA<DbInfo> implements DbInfoDao
{
}

@ -1,5 +1,6 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import info.bukova.isspst.StringUtils; import info.bukova.isspst.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
@ -45,7 +46,7 @@ public class Address extends BaseData
private String email; private String email;
@Column(name = "WEB") @Column(name = "WEB")
private String web; private String web;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@NotNull(message = "Zadejte firmu") @NotNull(message = "Zadejte firmu")

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -23,7 +25,7 @@ public class Building extends BaseData implements DataModel {
@Column(name = "NAME") @Column(name = "NAME")
private String name; private String name;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "building", orphanRemoval = true) @OneToMany(cascade = CascadeType.ALL, mappedBy = "building", orphanRemoval = true)

@ -0,0 +1,28 @@
package info.bukova.isspst.data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "DBINFO")
public class DbInfo extends BaseSimpleData
{
@Column(name = "VERSION")
private long version;
public DbInfo()
{
this.version = 0;
}
public long getVersion()
{
return version;
}
public void setVersion(long version)
{
this.version = version;
}
}

@ -1,5 +1,6 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import info.bukova.isspst.StringUtils; import info.bukova.isspst.StringUtils;
import javax.persistence.Column; import javax.persistence.Column;
@ -13,7 +14,7 @@ public class MUnit extends BaseData
@Column(name = "NAME") @Column(name = "NAME")
private String name; private String name;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
public String getName() public String getName()

@ -1,5 +1,6 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import info.bukova.isspst.StringUtils; import info.bukova.isspst.StringUtils;
import javax.persistence.Column; import javax.persistence.Column;
@ -14,7 +15,7 @@ public class MUnitEmb
@Column(name = "MUNIT_NAME") @Column(name = "MUNIT_NAME")
private String name; private String name;
@Column(name = "MUNIT_DESCRIPTION") @Column(name = "MUNIT_DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
public MUnitEmb() public MUnitEmb()

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -35,7 +37,7 @@ public class Order extends BaseData implements Cloneable
@AttributeOverride(name = "company", column = @Column(name = "SUPPLIER_COMPANY")), @AttributeOverride(name = "company", column = @Column(name = "SUPPLIER_COMPANY")),
@AttributeOverride(name = "contactName", column = @Column(name = "SUPPLIER_CONTACT_NAME")), @AttributeOverride(name = "contactName", column = @Column(name = "SUPPLIER_CONTACT_NAME")),
@AttributeOverride(name = "department", column = @Column(name = "SUPPLIER_DEPARTMENT")), @AttributeOverride(name = "department", column = @Column(name = "SUPPLIER_DEPARTMENT")),
@AttributeOverride(name = "description", column = @Column(name = "SUPPLIER_DESCRIPTION")), @AttributeOverride(name = "description", column = @Column(name = "SUPPLIER_DESCRIPTION", length = Constants.LEN_DESCRIPTION)),
@AttributeOverride(name = "dic", column = @Column(name = "SUPPLIER_DIC")), @AttributeOverride(name = "dic", column = @Column(name = "SUPPLIER_DIC")),
@AttributeOverride(name = "email", column = @Column(name = "SUPPLIER_EMAIL")), @AttributeOverride(name = "email", column = @Column(name = "SUPPLIER_EMAIL")),
@AttributeOverride(name = "houseNumber", column = @Column(name = "SUPPLIER_HOUSENUMBER")), @AttributeOverride(name = "houseNumber", column = @Column(name = "SUPPLIER_HOUSENUMBER")),
@ -54,7 +56,7 @@ public class Order extends BaseData implements Cloneable
@AttributeOverride(name = "company", column = @Column(name = "INVOICE_COMPANY")), @AttributeOverride(name = "company", column = @Column(name = "INVOICE_COMPANY")),
@AttributeOverride(name = "contactName", column = @Column(name = "INVOICE_CONTACT_NAME")), @AttributeOverride(name = "contactName", column = @Column(name = "INVOICE_CONTACT_NAME")),
@AttributeOverride(name = "department", column = @Column(name = "INVOICE_DEPARTMENT")), @AttributeOverride(name = "department", column = @Column(name = "INVOICE_DEPARTMENT")),
@AttributeOverride(name = "description", column = @Column(name = "INVOICE_DESCRIPTION")), @AttributeOverride(name = "description", column = @Column(name = "INVOICE_DESCRIPTION", length = Constants.LEN_DESCRIPTION)),
@AttributeOverride(name = "dic", column = @Column(name = "INVOICE_DIC")), @AttributeOverride(name = "dic", column = @Column(name = "INVOICE_DIC")),
@AttributeOverride(name = "email", column = @Column(name = "INVOICE_EMAIL")), @AttributeOverride(name = "email", column = @Column(name = "INVOICE_EMAIL")),
@AttributeOverride(name = "houseNumber", column = @Column(name = "INVOICE_HOUSENUMBER")), @AttributeOverride(name = "houseNumber", column = @Column(name = "INVOICE_HOUSENUMBER")),
@ -73,7 +75,7 @@ public class Order extends BaseData implements Cloneable
@AttributeOverride(name = "company", column = @Column(name = "DELIVERY_COMPANY")), @AttributeOverride(name = "company", column = @Column(name = "DELIVERY_COMPANY")),
@AttributeOverride(name = "contactName", column = @Column(name = "DELIVERY_CONTACT_NAME")), @AttributeOverride(name = "contactName", column = @Column(name = "DELIVERY_CONTACT_NAME")),
@AttributeOverride(name = "department", column = @Column(name = "DELIVERY_DEPARTMENT")), @AttributeOverride(name = "department", column = @Column(name = "DELIVERY_DEPARTMENT")),
@AttributeOverride(name = "description", column = @Column(name = "DELIVERY_DESCRIPTION")), @AttributeOverride(name = "description", column = @Column(name = "DELIVERY_DESCRIPTION", length = Constants.LEN_DESCRIPTION)),
@AttributeOverride(name = "dic", column = @Column(name = "DELIVERY_DIC")), @AttributeOverride(name = "dic", column = @Column(name = "DELIVERY_DIC")),
@AttributeOverride(name = "email", column = @Column(name = "DELIVERY_EMAIL")), @AttributeOverride(name = "email", column = @Column(name = "DELIVERY_EMAIL")),
@AttributeOverride(name = "houseNumber", column = @Column(name = "DELIVERY_HOUSENUMBER")), @AttributeOverride(name = "houseNumber", column = @Column(name = "DELIVERY_HOUSENUMBER")),
@ -94,7 +96,7 @@ public class Order extends BaseData implements Cloneable
@Column(name = "DELIVERY_TYPE") @Column(name = "DELIVERY_TYPE")
private String deliveryType; private String deliveryType;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "order", orphanRemoval = true) @OneToMany(cascade = CascadeType.ALL, mappedBy = "order", orphanRemoval = true)

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.persistence.Column; import javax.persistence.Column;
@ -43,7 +45,7 @@ public class OrderItem
@Column(name = "TOTAL", precision = 15, scale = 4) @Column(name = "TOTAL", precision = 15, scale = 4)
private BigDecimal total; private BigDecimal total;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@ManyToOne(fetch = FetchType.EAGER) @ManyToOne(fetch = FetchType.EAGER)

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.EnumType; import javax.persistence.EnumType;
@ -19,7 +21,7 @@ public class Permission extends BaseSimpleData implements GrantedAuthority {
@Column(name="AUTHORITY") @Column(name="AUTHORITY")
private String authority; private String authority;
@Column(name="DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@Column(name="MODULE") @Column(name="MODULE")
private String module; private String module;

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -32,7 +34,7 @@ public class RequirementBase extends BaseData implements FilterableRequirement {
private String numser; private String numser;
@Column(name = "REQ_DATE") @Column(name = "REQ_DATE")
private Date reqDate; private Date reqDate;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@ManyToOne(fetch = FetchType.EAGER) @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "CENTRE_ID") @JoinColumn(name = "CENTRE_ID")

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.math.BigDecimal; import java.math.BigDecimal;
import javax.persistence.Column; import javax.persistence.Column;
@ -50,7 +52,7 @@ public class RequirementItem
@Column(name = "TOTAL", precision=15, scale=4) @Column(name = "TOTAL", precision=15, scale=4)
private BigDecimal total; private BigDecimal total;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@Column(name = "DELIVERED") @Column(name = "DELIVERED")

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.Date; import java.util.Date;
import javax.persistence.Column; import javax.persistence.Column;
@ -42,7 +44,7 @@ public abstract class RequirementSubject implements OwnedDataModel {
private String code; private String code;
@Column(name = "NAME") @Column(name = "NAME")
private String name; private String name;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@NotEmpty(message = "{MaterialFormCodeConstr}") @NotEmpty(message = "{MaterialFormCodeConstr}")

@ -1,13 +1,15 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.JoinTable;
import javax.persistence.JoinColumn; import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany; import javax.persistence.ManyToMany;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.OrderBy; import javax.persistence.OrderBy;
@ -22,7 +24,7 @@ public class RequirementType extends BaseData {
@Column(name = "TYPE") @Column(name = "TYPE")
private String type; private String type;
@Column(name = "DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval=true) @OneToMany(cascade = CascadeType.ALL, orphanRemoval=true)
@LazyCollection(LazyCollectionOption.FALSE) @LazyCollection(LazyCollectionOption.FALSE)

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -25,7 +27,7 @@ public class Role extends BaseSimpleData implements GrantedAuthority, DataModel
@Column(name="AUTHORITY", unique=true) @Column(name="AUTHORITY", unique=true)
private String authority; private String authority;
@Column(name="DESCRIPTION") @Column(name = "DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
@ManyToMany @ManyToMany
@LazyCollection(LazyCollectionOption.FALSE) @LazyCollection(LazyCollectionOption.FALSE)

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
@ -33,7 +35,7 @@ public class TripBillItem extends BaseData {
@Embedded @Embedded
@AttributeOverrides({ @AttributeOverrides({
@AttributeOverride(name = "code", column = @Column(name = "BACK_VEHICLE_CODE")), @AttributeOverride(name = "code", column = @Column(name = "BACK_VEHICLE_CODE")),
@AttributeOverride(name = "description", column = @Column(name = "BACK_VEHICLE_DESCRIPTION")) @AttributeOverride(name = "description", column = @Column(name = "BACK_VEHICLE_DESCRIPTION", length = Constants.LEN_DESCRIPTION))
}) })
private Vehicle backVehicle; private Vehicle backVehicle;
@Column(name = "BEGIN_WORK") @Column(name = "BEGIN_WORK")

@ -1,5 +1,7 @@
package info.bukova.isspst.data; package info.bukova.isspst.data;
import info.bukova.isspst.Constants;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Embeddable; import javax.persistence.Embeddable;
@ -8,7 +10,7 @@ public class Vehicle {
@Column(name = "VEHICLE_CODE") @Column(name = "VEHICLE_CODE")
private String code; private String code;
@Column(name = "VEHICLE_DESCRIPTION") @Column(name = "VEHICLE_DESCRIPTION", length = Constants.LEN_DESCRIPTION)
private String description; private String description;
public String getCode() { public String getCode() {

@ -0,0 +1,11 @@
package info.bukova.isspst.services.dbinfo;
import info.bukova.isspst.data.DbInfo;
import info.bukova.isspst.services.Service;
public interface DbInfoService extends Service<DbInfo>
{
public void changeDatabase();
public void updateDatabaseVersion();
}

@ -0,0 +1,117 @@
package info.bukova.isspst.services.dbinfo;
import info.bukova.isspst.Constants;
import info.bukova.isspst.data.DbInfo;
import info.bukova.isspst.services.AbstractService;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.SQLQuery;
import org.springframework.transaction.annotation.Transactional;
public class DbInfoServiceImpl extends AbstractService<DbInfo> implements DbInfoService
{
private DbInfo getDbInfo()
{
DbInfo dbInfo = null;
List<DbInfo> list = this.getAll();
if (list.isEmpty())
{
dbInfo = new DbInfo();
this.add(dbInfo);
list = this.getAll();
}
for (DbInfo item : list)
{
dbInfo = item;
break;
}
return dbInfo;
}
@Override
@Transactional
public void changeDatabase()
{
class Str2Str
{
private String key;
private String value;
public Str2Str(String key, String value)
{
this.key = key;
this.value = value;
}
public String getKey()
{
return this.key;
}
public String getValue()
{
return this.value;
}
}
long dbVersion = this.getDbInfo().getVersion();
if (Constants.DB_VERSION > dbVersion)
{
if (dbVersion < 1)
{
List<Str2Str> tables = new ArrayList<Str2Str>();
tables.add(new Str2Str("address", "DESCRIPTION"));
tables.add(new Str2Str("building", "DESCRIPTION"));
tables.add(new Str2Str("material", "DESCRIPTION"));
tables.add(new Str2Str("munit", "DESCRIPTION"));
tables.add(new Str2Str("orders", "DESCRIPTION"));
tables.add(new Str2Str("order_item", "DESCRIPTION"));
tables.add(new Str2Str("permission", "DESCRIPTION"));
tables.add(new Str2Str("requirement", "DESCRIPTION"));
tables.add(new Str2Str("requirementtype", "DESCRIPTION"));
tables.add(new Str2Str("requirement_items", "DESCRIPTION"));
tables.add(new Str2Str("role", "DESCRIPTION"));
tables.add(new Str2Str("service", "DESCRIPTION"));
tables.add(new Str2Str("triprequirement", "DESCRIPTION"));
tables.add(new Str2Str("material", "MUNIT_DESCRIPTION"));
tables.add(new Str2Str("orders", "INVOICE_DESCRIPTION"));
tables.add(new Str2Str("orders", "DELIVERY_DESCRIPTION"));
tables.add(new Str2Str("orders", "SUPPLIER_DESCRIPTION"));
tables.add(new Str2Str("order_item", "MUNIT_DESCRIPTION"));
tables.add(new Str2Str("requirement_items", "MUNIT_DESCRIPTION"));
tables.add(new Str2Str("triprequirement", "VEHICLE_DESCRIPTION"));
tables.add(new Str2Str("trip_bill_items", "BACK_VEHICLE_DESCRIPTION"));
tables.add(new Str2Str("trip_bill_items", "VEHICLE_DESCRIPTION"));
SQLQuery sq = null;
String sql = "";
for (Str2Str item : tables)
{
sql = "ALTER TABLE " + item.getKey() + " MODIFY " + item.getValue() + " VARCHAR(" + String.valueOf(Constants.LEN_DESCRIPTION) + ")";
sq = this.dao.getSession().createSQLQuery(sql);
sq.executeUpdate();
}
}
this.updateDatabaseVersion();
}
}
@Override
@Transactional
public void updateDatabaseVersion()
{
DbInfo dbInfo = this.getDbInfo();
dbInfo.setVersion(Constants.DB_VERSION);
this.update(dbInfo);
}
}

@ -1,5 +1,6 @@
package info.bukova.isspst.ui; package info.bukova.isspst.ui;
import info.bukova.isspst.Constants;
import info.bukova.isspst.StringUtils; import info.bukova.isspst.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
@ -39,6 +40,16 @@ public class DocumentViewModel
this.standardBoolConverter = standardBoolConverter; this.standardBoolConverter = standardBoolConverter;
} }
final public int getLengthText()
{
return Constants.LEN_TEXT;
}
final public int getLengthDescription()
{
return Constants.LEN_DESCRIPTION;
}
@Init @Init
public void initDocumentViewModel() public void initDocumentViewModel()
{ {

@ -14,6 +14,7 @@ import info.bukova.isspst.reporting.GeneratorFactory;
import info.bukova.isspst.reporting.ReportDefinition; import info.bukova.isspst.reporting.ReportDefinition;
import info.bukova.isspst.services.addressbook.AdbService; import info.bukova.isspst.services.addressbook.AdbService;
import info.bukova.isspst.services.users.UserService; import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.ui.DocumentViewModel;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -27,7 +28,8 @@ import org.zkoss.bind.annotation.NotifyChange;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class MailForm { public class MailForm extends DocumentViewModel
{
@WireVariable @WireVariable
private Mailer mailer; private Mailer mailer;
@ -52,7 +54,7 @@ public class MailForm {
private int adbType; private int adbType;
private String findAddress; private String findAddress;
@Init @Init(superclass = true)
public void init(@ExecutionArgParam("report") Boolean report) { public void init(@ExecutionArgParam("report") Boolean report) {
message = new MailMessage(); message = new MailMessage();
message.setHtml(true); message.setHtml(true);

@ -4,6 +4,7 @@ import info.bukova.isspst.reporting.Report;
import info.bukova.isspst.reporting.ReportDefinition; import info.bukova.isspst.reporting.ReportDefinition;
import info.bukova.isspst.reporting.ReportType; import info.bukova.isspst.reporting.ReportType;
import info.bukova.isspst.sort.ReflectionTools; import info.bukova.isspst.sort.ReflectionTools;
import info.bukova.isspst.ui.DocumentViewModel;
import info.bukova.isspst.ui.ListChecks; import info.bukova.isspst.ui.ListChecks;
import info.bukova.isspst.ui.LocaleConverter; import info.bukova.isspst.ui.LocaleConverter;
@ -12,13 +13,13 @@ import java.util.List;
import org.zkoss.bind.annotation.Init; import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
public class ColSelectVM { public class ColSelectVM extends DocumentViewModel
{
@WireVariable @WireVariable
private ReportDefinition reportDefinition; private ReportDefinition reportDefinition;
private LocaleConverter locConverter; private LocaleConverter locConverter;
@Init @Init(superclass = true)
public void init() { public void init() {
locConverter = new LocaleConverter(); locConverter = new LocaleConverter();
} }

@ -1,17 +1,18 @@
package info.bukova.isspst.ui.reporting; package info.bukova.isspst.ui.reporting;
import info.bukova.isspst.reporting.ReportDefinition; import info.bukova.isspst.reporting.ReportDefinition;
import info.bukova.isspst.ui.DocumentViewModel;
import org.zkoss.bind.annotation.Init; import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
public class OrderOptionsVM { public class OrderOptionsVM extends DocumentViewModel
{
private boolean printPrices; private boolean printPrices;
@WireVariable @WireVariable
private ReportDefinition reportDefinition; private ReportDefinition reportDefinition;
@Init @Init(superclass = true)
public void init() { public void init() {
printPrices = true; printPrices = true;
reportDefinition.setParam("SET_PRICES", true); reportDefinition.setParam("SET_PRICES", true);

@ -4,6 +4,7 @@ import info.bukova.isspst.reporting.Report;
import info.bukova.isspst.reporting.ReportDefinition; import info.bukova.isspst.reporting.ReportDefinition;
import info.bukova.isspst.reporting.ReportType; import info.bukova.isspst.reporting.ReportType;
import info.bukova.isspst.services.Service; import info.bukova.isspst.services.Service;
import info.bukova.isspst.ui.DocumentViewModel;
import java.util.List; import java.util.List;
@ -16,7 +17,8 @@ import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class ReportDialogVM { public class ReportDialogVM extends DocumentViewModel
{
private List<Report> reports; private List<Report> reports;
private Report selected; private Report selected;
@ -25,7 +27,7 @@ public class ReportDialogVM {
private List<Object> dataList; private List<Object> dataList;
private Object singleObject; private Object singleObject;
@Init @Init(superclass = true)
public void init(@ExecutionArgParam("reports") List<Report> reports, public void init(@ExecutionArgParam("reports") List<Report> reports,
@ExecutionArgParam("data") List<Object> data, @ExecutionArgParam("data") List<Object> data,
@ExecutionArgParam("singleObject") Object singleObject, @ExecutionArgParam("singleObject") Object singleObject,

@ -1,5 +1,7 @@
package info.bukova.isspst.ui.reporting; package info.bukova.isspst.ui.reporting;
import info.bukova.isspst.ui.DocumentViewModel;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -8,9 +10,9 @@ import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.Executions; import org.zkoss.zk.ui.Executions;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class ReportVM { public class ReportVM extends DocumentViewModel
{
@Init @Init(superclass = true)
public void init() { public void init() {
} }

@ -1,6 +1,7 @@
package info.bukova.isspst.ui.requirement; package info.bukova.isspst.ui.requirement;
import info.bukova.isspst.data.Workflow; import info.bukova.isspst.data.Workflow;
import info.bukova.isspst.ui.DocumentViewModel;
import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.Command;
@ -8,11 +9,11 @@ import org.zkoss.bind.annotation.ExecutionArgParam;
import org.zkoss.bind.annotation.Init; import org.zkoss.bind.annotation.Init;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class LimitVM { public class LimitVM extends DocumentViewModel
{
private Workflow workflow; private Workflow workflow;
@Init @Init(superclass = true)
public void init(@ExecutionArgParam("workflow") Workflow workflow) { public void init(@ExecutionArgParam("workflow") Workflow workflow) {
this.workflow = workflow; this.workflow = workflow;
} }

@ -1,5 +1,11 @@
package info.bukova.isspst.ui.requirement; package info.bukova.isspst.ui.requirement;
import info.bukova.isspst.data.RequirementType;
import info.bukova.isspst.data.Workgroup;
import info.bukova.isspst.services.workgroups.WorkgroupService;
import info.bukova.isspst.ui.DocumentViewModel;
import info.bukova.isspst.ui.ListChecks;
import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.ExecutionArgParam; import org.zkoss.bind.annotation.ExecutionArgParam;
@ -7,19 +13,14 @@ import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
import info.bukova.isspst.data.RequirementType; public class OfferedCentresVM extends DocumentViewModel
import info.bukova.isspst.data.Workgroup; {
import info.bukova.isspst.services.workgroups.WorkgroupService;
import info.bukova.isspst.ui.ListChecks;
public class OfferedCentresVM {
private RequirementType selectedType; private RequirementType selectedType;
@WireVariable @WireVariable
private WorkgroupService workgroupService; private WorkgroupService workgroupService;
private ListChecks<Workgroup> wgChecks; private ListChecks<Workgroup> wgChecks;
@Init @Init(superclass = true)
public void init(@ExecutionArgParam("type") RequirementType type) { public void init(@ExecutionArgParam("type") RequirementType type) {
this.selectedType = type; this.selectedType = type;
wgChecks = new ListChecks<Workgroup>(selectedType.getOfferedCentres(), workgroupService.getCentres()); wgChecks = new ListChecks<Workgroup>(selectedType.getOfferedCentres(), workgroupService.getCentres());

@ -9,6 +9,7 @@ import info.bukova.isspst.mail.MailMessage;
import info.bukova.isspst.services.settings.GlobalSettingsService; import info.bukova.isspst.services.settings.GlobalSettingsService;
import info.bukova.isspst.sort.ReflectionTools; import info.bukova.isspst.sort.ReflectionTools;
import info.bukova.isspst.storage.FileStorage; import info.bukova.isspst.storage.FileStorage;
import info.bukova.isspst.ui.DocumentViewModel;
import info.bukova.isspst.ui.LocaleConverter; import info.bukova.isspst.ui.LocaleConverter;
import info.bukova.isspst.ui.SecurityHelper; import info.bukova.isspst.ui.SecurityHelper;
@ -31,7 +32,8 @@ import org.zkoss.zk.ui.event.UploadEvent;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class GlobalSettingsVM { public class GlobalSettingsVM extends DocumentViewModel
{
@WireVariable @WireVariable
private GlobalSettingsService settingsService; private GlobalSettingsService settingsService;
@ -42,7 +44,7 @@ public class GlobalSettingsVM {
@WireVariable @WireVariable
private FileStorage storage; private FileStorage storage;
@Init @Init(superclass = true)
public void init() { public void init() {
settings = settingsService.getSettings(); settings = settingsService.getSettings();
locConverter = new LocaleConverter(); locConverter = new LocaleConverter();

@ -1,5 +1,11 @@
package info.bukova.isspst.ui.settings; package info.bukova.isspst.ui.settings;
import info.bukova.isspst.Constants;
import info.bukova.isspst.Module;
import info.bukova.isspst.data.NumberSeries;
import info.bukova.isspst.services.numberseries.NumberSeriesService;
import info.bukova.isspst.ui.DocumentViewModel;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -11,19 +17,15 @@ import org.zkoss.bind.annotation.Init;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
import info.bukova.isspst.Constants; public class NumberSeriesVM extends DocumentViewModel
import info.bukova.isspst.Module; {
import info.bukova.isspst.data.NumberSeries;
import info.bukova.isspst.services.numberseries.NumberSeriesService;
public class NumberSeriesVM {
@WireVariable @WireVariable
private NumberSeriesService numericSeriesService; private NumberSeriesService numericSeriesService;
private List<NumberSeries> numberSeriesList; private List<NumberSeries> numberSeriesList;
private Map<String, Module> moduleMap; private Map<String, Module> moduleMap;
@Init @Init(superclass = true)
public void init() { public void init() {
numberSeriesList = new ArrayList<NumberSeries>(numericSeriesService.getAll()); numberSeriesList = new ArrayList<NumberSeries>(numericSeriesService.getAll());
moduleMap = new HashMap<String, Module>(); moduleMap = new HashMap<String, Module>();

@ -3,6 +3,7 @@ package info.bukova.isspst.ui.settings;
import info.bukova.isspst.data.UserSettingsData; import info.bukova.isspst.data.UserSettingsData;
import info.bukova.isspst.services.users.UserService; import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.storage.FileStorage; import info.bukova.isspst.storage.FileStorage;
import info.bukova.isspst.ui.DocumentViewModel;
import java.awt.image.RenderedImage; import java.awt.image.RenderedImage;
import java.io.IOException; import java.io.IOException;
@ -19,15 +20,15 @@ import org.zkoss.zk.ui.event.UploadEvent;
import org.zkoss.zk.ui.select.annotation.WireVariable; import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class UserSettingsVM { public class UserSettingsVM extends DocumentViewModel
{
@WireVariable @WireVariable
private UserService userService; private UserService userService;
@WireVariable @WireVariable
private FileStorage storage; private FileStorage storage;
private UserSettingsData settings; private UserSettingsData settings;
@Init @Init(superclass = true)
public void init() { public void init() {
settings = userService.getUserSettings(); settings = userService.getUserSettings();
} }

@ -2,6 +2,7 @@ package info.bukova.isspst.ui.users;
import info.bukova.isspst.data.User; import info.bukova.isspst.data.User;
import info.bukova.isspst.services.users.UserService; import info.bukova.isspst.services.users.UserService;
import info.bukova.isspst.ui.DocumentViewModel;
import org.zkoss.bind.annotation.BindingParam; import org.zkoss.bind.annotation.BindingParam;
import org.zkoss.bind.annotation.Command; import org.zkoss.bind.annotation.Command;
@ -10,7 +11,8 @@ import org.zkoss.zk.ui.select.annotation.WireVariable;
import org.zkoss.zul.Messagebox; import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Window; import org.zkoss.zul.Window;
public class PasswdVM { public class PasswdVM extends DocumentViewModel
{
private String oldPw; private String oldPw;
private String newPw; private String newPw;
@ -19,7 +21,7 @@ public class PasswdVM {
@WireVariable @WireVariable
private UserService userService; private UserService userService;
@Init @Init(superclass = true)
public void init() { public void init() {
user = userService.getCurrent(); user = userService.getCurrent();
} }

@ -5,6 +5,7 @@
<hibernate-configuration> <hibernate-configuration>
<session-factory> <session-factory>
<mapping class="info.bukova.isspst.data.DbInfo"></mapping>
<mapping class="info.bukova.isspst.data.User"></mapping> <mapping class="info.bukova.isspst.data.User"></mapping>
<mapping class="info.bukova.isspst.data.Role"></mapping> <mapping class="info.bukova.isspst.data.Role"></mapping>
<mapping class="info.bukova.isspst.data.Permission"></mapping> <mapping class="info.bukova.isspst.data.Permission"></mapping>

@ -183,6 +183,10 @@
<property name="sessionFactory" ref="sessionFactory"/> <property name="sessionFactory" ref="sessionFactory"/>
</bean> </bean>
<bean id="dbInfoDao" class="info.bukova.isspst.dao.jpa.DbInfoDaoJPA">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="userDao" class="info.bukova.isspst.dao.jpa.UserDaoJPA"> <bean id="userDao" class="info.bukova.isspst.dao.jpa.UserDaoJPA">
<property name="sessionFactory" ref="sessionFactory"/> <property name="sessionFactory" ref="sessionFactory"/>
</bean> </bean>
@ -258,6 +262,10 @@
<!-- Business logic --> <!-- Business logic -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/> <bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
<bean id="dbInfoService" class="info.bukova.isspst.services.dbinfo.DbInfoServiceImpl">
<property name="dao" ref="dbInfoDao" />
</bean>
<bean id="userService" class="info.bukova.isspst.services.users.UserServiceImpl"> <bean id="userService" class="info.bukova.isspst.services.users.UserServiceImpl">
<constructor-arg name="marshaller" ref="marshallerUsrSettings"/> <constructor-arg name="marshaller" ref="marshallerUsrSettings"/>
<constructor-arg name="unmarshaller" ref="unmarshallerUsrSettings"/> <constructor-arg name="unmarshaller" ref="unmarshallerUsrSettings"/>
@ -373,7 +381,7 @@
<property name="dao" ref="serviceItemDao" /> <property name="dao" ref="serviceItemDao" />
<property name="validator" ref="validator" /> <property name="validator" ref="validator" />
</bean> </bean>
<bean id="settingsService" class="info.bukova.isspst.services.settings.GlobalSettingServiceImpl"> <bean id="settingsService" class="info.bukova.isspst.services.settings.GlobalSettingServiceImpl">
<constructor-arg name="marshaller" ref="marshallerSettings"/> <constructor-arg name="marshaller" ref="marshallerSettings"/>
<constructor-arg name="unmarshaller" ref="unmarshallerSettings"/> <constructor-arg name="unmarshaller" ref="unmarshallerSettings"/>

@ -34,6 +34,7 @@
value="@bind(vm.dataBean.username)" value="@bind(vm.dataBean.username)"
instant="true" instant="true"
disabled="@load(vm.editRec)" disabled="@load(vm.editRec)"
maxlength="@load(vm.lengthText)"
onChange="@command('checkLogin')" /> onChange="@command('checkLogin')" />
<label <label
value="Login je obsazený" value="Login je obsazený"
@ -42,21 +43,28 @@
</row> </row>
<row> <row>
<label value="${labels.UsersFormFirstName}" /> <label value="${labels.UsersFormFirstName}" />
<textbox value="@bind(vm.dataBean.firstName)" /> <textbox
value="@bind(vm.dataBean.firstName)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.UsersFormSureName}" /> <label value="${labels.UsersFormSureName}" />
<textbox value="@bind(vm.dataBean.lastName)" /> <textbox
value="@bind(vm.dataBean.lastName)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.UsersFormPersonalID}" /> <label value="${labels.UsersFormPersonalID}" />
<textbox <textbox
value="@bind(vm.dataBean.personalNumber)" value="@bind(vm.dataBean.personalNumber)"
maxlength="@load(vm.lengthText)"
width="90px" /> width="90px" />
</row> </row>
<row> <row>
<label value="${labels.UsersFormEmail}" /> <label value="${labels.UsersFormEmail}" />
<textbox value="@bind(vm.dataBean.email)" /> <textbox
value="@bind(vm.dataBean.email)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="" /> <label value="" />
@ -70,6 +78,7 @@
id="idUserPasswordOriginal" id="idUserPasswordOriginal"
value="@save(vm.password, before='save')" value="@save(vm.password, before='save')"
type="password" type="password"
maxlength="@load(vm.lengthText)"
instant="true" /> instant="true" />
</row> </row>
<row> <row>
@ -78,6 +87,7 @@
id="idUserPasswordDuplicate" id="idUserPasswordDuplicate"
value="@save(vm.retPasswd, before='save')" value="@save(vm.retPasswd, before='save')"
type="password" type="password"
maxlength="@load(vm.lengthText)"
instant="true" /> instant="true" />
</row> </row>
<row> <row>
@ -110,19 +120,27 @@
<rows> <rows>
<row> <row>
<label value="${labels.SuppliersFormStreet}"/> <label value="${labels.SuppliersFormStreet}"/>
<textbox value="@bind(vm.dataBean.address.street)"/> <textbox
value="@bind(vm.dataBean.address.street)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormNo}"/> <label value="${labels.SuppliersFormNo}"/>
<textbox value="@bind(vm.dataBean.address.houseNumber)"/> <textbox
value="@bind(vm.dataBean.address.houseNumber)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormZIP}"/> <label value="${labels.SuppliersFormZIP}"/>
<textbox value="@bind(vm.dataBean.address.zipCode)"/> <textbox
value="@bind(vm.dataBean.address.zipCode)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormCity}"/> <label value="${labels.SuppliersFormCity}"/>
<textbox value="@bind(vm.dataBean.address.city)"/> <textbox
value="@bind(vm.dataBean.address.city)"
maxlength="@load(vm.lengthText)" />
</row> </row>
</rows> </rows>
</grid> </grid>

@ -24,7 +24,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.username)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.username)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -34,7 +39,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.personalNumber)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.personalNumber)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -44,7 +54,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.firstName)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.firstName)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -54,7 +69,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.lastName)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.lastName)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />

@ -13,13 +13,22 @@
<row> <row>
<cell sclass="row-title">${labels.code} :</cell> <cell sclass="row-title">${labels.code} :</cell>
<cell> <cell>
<textbox id="code" constraint="@load(vm.constriant)" width="200px" value="@bind(vm.dataBean.code)" /> <textbox
id="code"
constraint="@load(vm.constriant)"
width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.code)" />
</cell> </cell>
</row> </row>
<row> <row>
<cell sclass="row-title">${labels.name} :</cell> <cell sclass="row-title">${labels.name} :</cell>
<cell> <cell>
<textbox id="name" width="200px" value="@bind(vm.dataBean.name)" /> <textbox
id="name"
width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.name)" />
</cell> </cell>
</row> </row>
<row> <row>
@ -30,7 +39,12 @@
<row> <row>
<cell sclass="row-title">${labels.WorkgroupFormOrderLimit} :</cell> <cell sclass="row-title">${labels.WorkgroupFormOrderLimit} :</cell>
<cell> <cell>
<textbox id="limit" width="200px" value="@bind(vm.dataBean.limit) @converter(vm.bdConverter)" disabled="@load(vm.centre)"/> <textbox
id="limit"
width="200px"
value="@bind(vm.dataBean.limit) @converter(vm.bdConverter)"
maxlength="@load(vm.lengthText)"
disabled="@load(vm.centre)" />
</cell> </cell>
</row> </row>
</rows> </rows>
@ -38,7 +52,12 @@
<label value="Přetáhněte myší:"/> <label value="Přetáhněte myší:"/>
<hlayout> <hlayout>
<vbox> <vbox>
<textbox value="@bind(vm.findUser)" onChange="@command('find')" instant="true" width="300px"/> <textbox
value="@bind(vm.findUser)"
onChange="@command('find')"
instant="true"
maxlength="@load(vm.lengthText)"
width="300px" />
<listbox id="users" model="@bind(vm.users)" height="380px" width="300px" multiple="true" <listbox id="users" model="@bind(vm.users)" height="380px" width="300px" multiple="true"
droppable="true" onDrop="@command('addMember', event=event)" selectedItems="@bind(vm.selectedUsers)"> droppable="true" onDrop="@command('addMember', event=event)" selectedItems="@bind(vm.selectedUsers)">
<listhead> <listhead>

@ -40,6 +40,7 @@
value="@bind(vm.filterTemplate.code)" value="@bind(vm.filterTemplate.code)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -54,6 +55,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -13,7 +13,12 @@ viewModel="@id('vm') @init('info.bukova.isspst.ui.mail.MailForm')" width="800px"
<comboitem label="${labels.MailSuppliers}"/> <comboitem label="${labels.MailSuppliers}"/>
</combobox> </combobox>
</hbox> </hbox>
<textbox value="@bind(vm.findAddress)" instant="true" onChange="@command('find')" width="100%"/> <textbox
value="@bind(vm.findAddress)"
instant="true"
onChange="@command('find')"
maxlength="@load(vm.lengthText)"
width="100%" />
<listbox model="@load(vm.users)" <listbox model="@load(vm.users)"
visible="@load(vm.adbType eq 0)" visible="@load(vm.adbType eq 0)"
multiple="true" multiple="true"
@ -54,7 +59,12 @@ viewModel="@id('vm') @init('info.bukova.isspst.ui.mail.MailForm')" width="800px"
</columns> </columns>
<rows> <rows>
<row> <row>
<label value="${labels.MailFor}"/> <textbox value="@bind(vm.to)" width="100%" droppable="true" onDrop="@command('addTo')"/> <label value="${labels.MailFor}"/>
<textbox
value="@bind(vm.to)"
width="100%"
droppable="true"
onDrop="@command('addTo')" />
</row> </row>
<row> <row>
<label value="${labels.MailCc}"/> <textbox value="@bind(vm.cc)" width="100%" droppable="true" onDrop="@command('addCc')"/> <label value="${labels.MailCc}"/> <textbox value="@bind(vm.cc)" width="100%" droppable="true" onDrop="@command('addCc')"/>

@ -13,9 +13,27 @@
<column/> <column/>
</columns> </columns>
<rows> <rows>
<row><label value="Staré heslo:"/><textbox type="password" value="@bind(vm.oldPw)"/></row> <row>
<row><label value="Nové heslo:"/><textbox type="password" value="@bind(vm.newPw)"/></row> <label value="Staré heslo:" />
<row><label value="Nové heslo znovu:"/><textbox type="password" value="@bind(vm.retPw)"/></row> <textbox
type="password"
maxlength="@load(vm.lengthText)"
value="@bind(vm.oldPw)" />
</row>
<row>
<label value="Nové heslo:" />
<textbox
type="password"
maxlength="@load(vm.lengthText)"
value="@bind(vm.newPw)" />
</row>
<row>
<label value="Nové heslo znovu:" />
<textbox
type="password"
maxlength="@load(vm.lengthText)"
value="@bind(vm.retPw)" />
</row>
</rows> </rows>
</grid> </grid>
<button image="/img/save.png" label="Uložit" onClick="@command('save', window=passwd)" sclass="nicebutton" /><button image="~./zul/img/misc/drag-disallow.png" label="Zrušit" onClick="passwd.detach()" sclass="nicebutton"/> <button image="/img/save.png" label="Uložit" onClick="@command('save', window=passwd)" sclass="nicebutton" /><button image="~./zul/img/misc/drag-disallow.png" label="Zrušit" onClick="passwd.detach()" sclass="nicebutton"/>

@ -4,7 +4,10 @@
viewModel="@id('vmOpt') @init('info.bukova.isspst.ui.reporting.ColSelectVM')"> viewModel="@id('vmOpt') @init('info.bukova.isspst.ui.reporting.ColSelectVM')">
<caption label="${labels.ReportOptions}"></caption> <caption label="${labels.ReportOptions}"></caption>
<hbox> <hbox>
<label value="${labels.ReportTitle}"/> <textbox value="@bind(vmOpt.reportDefinition.reportTitle)"/> <label value="${labels.ReportTitle}"/>
<textbox
value="@bind(vmOpt.reportDefinition.reportTitle)"
maxlength="@load(vm.lengthText)" />
</hbox> </hbox>
<vbox children="@load(vmOpt.columns.checks)"> <vbox children="@load(vmOpt.columns.checks)">
<template name="children"> <template name="children">

@ -12,32 +12,52 @@
<rows> <rows>
<row> <row>
<label value="${labels.SuppliersFormCompany}" /> <label value="${labels.SuppliersFormCompany}" />
<textbox id="company" value="@bind(fx.company)" instant="true" width="320px" /> <textbox
id="company"
value="@bind(fx.company)"
instant="true"
maxlength="@load(vm.lengthText)"
width="320px" />
<button image="/img/search.png" label="${labels.SuppliersFormFindInARES}" onClick="@command('searchAres')" sclass="nicebutton" disabled="@load((fx.ic == 0) &amp;&amp; (empty fx.company))" /> <button image="/img/search.png" label="${labels.SuppliersFormFindInARES}" onClick="@command('searchAres')" sclass="nicebutton" disabled="@load((fx.ic == 0) &amp;&amp; (empty fx.company))" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormIC}" /> <label value="${labels.SuppliersFormIC}" />
<textbox value="@bind(fx.ic)" instant="true" /> <textbox
value="@bind(fx.ic)"
maxlength="@load(vm.lengthText)"
instant="true" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormDIC}" /> <label value="${labels.SuppliersFormDIC}" />
<textbox value="@bind(fx.dic)" /> <textbox
value="@bind(fx.dic)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormDepartment}" /> <label value="${labels.SuppliersFormDepartment}" />
<textbox value="@bind(fx.department)" /> <textbox
value="@bind(fx.department)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormContact}" /> <label value="${labels.SuppliersFormContact}" />
<textbox value="@bind(fx.contactName)" /> <textbox
value="@bind(fx.contactName)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormStreet}" /> <label value="${labels.SuppliersFormStreet}" />
<textbox value="@bind(fx.street)" width="320px" /> <textbox
value="@bind(fx.street)"
maxlength="@load(vm.lengthText)"
width="320px" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormNo}" /> <label value="${labels.SuppliersFormNo}" />
<textbox value="@bind(fx.houseNumber)" width="80px" /> <textbox
value="@bind(fx.houseNumber)"
maxlength="@load(vm.lengthText)"
width="80px" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormCity}" /> <label value="${labels.SuppliersFormCity}" />
@ -45,19 +65,31 @@
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormZIP}" /> <label value="${labels.SuppliersFormZIP}" />
<textbox value="@bind(fx.zipCode)" /> <textbox
value="@bind(fx.zipCode)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormPhone}" /> <label value="${labels.SuppliersFormPhone}" />
<textbox value="@bind(fx.phone)" /> <textbox
value="@bind(fx.phone)"
maxlength="@load(vm.lengthText)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormEmail}" /> <label value="${labels.SuppliersFormEmail}" />
<textbox id="email" value="@bind(fx.email)" width="320px" /> <textbox
id="email"
value="@bind(fx.email)"
maxlength="@load(vm.lengthText)"
width="320px" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormWWW}" /> <label value="${labels.SuppliersFormWWW}" />
<textbox id="web" value="@bind(fx.web)" width="320px" /> <textbox
id="web"
value="@bind(fx.web)"
maxlength="@load(vm.lengthText)"
width="320px" />
</row> </row>
</rows> </rows>
</grid> </grid>

@ -26,7 +26,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.company)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.company)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -36,7 +41,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.ic)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.ic)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -46,7 +56,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.contactName)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.contactName)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -56,7 +71,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.street)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.street)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -66,7 +86,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.houseNumber)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.houseNumber)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />
@ -76,7 +101,12 @@
<auxheader> <auxheader>
<div sclass="find-grid-cell"> <div sclass="find-grid-cell">
<div sclass="find-grid-divtextbox"> <div sclass="find-grid-divtextbox">
<textbox value="@bind(vm.filterTemplate.city)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" /> <textbox
value="@bind(vm.filterTemplate.city)"
instant="true"
onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
<image src="/img/funnel.png" /> <image src="/img/funnel.png" />

@ -41,6 +41,7 @@
value="@bind(vm.filterTemplate.code)" value="@bind(vm.filterTemplate.code)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -55,6 +56,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -69,6 +71,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -28,6 +28,7 @@
id="code" id="code"
constraint="@load(vm.constriant)" constraint="@load(vm.constriant)"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.code)" /> value="@bind(vm.dataBean.code)" />
</cell> </cell>
</row> </row>
@ -37,6 +38,7 @@
<textbox <textbox
id="name" id="name"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.name)" /> value="@bind(vm.dataBean.name)" />
</cell> </cell>
</row> </row>
@ -46,6 +48,7 @@
<textbox <textbox
id="description" id="description"
width="300px" width="300px"
maxlength="@load(vm.lengthDescription)"
value="@bind(vm.dataBean.description)" /> value="@bind(vm.dataBean.description)" />
</cell> </cell>
</row> </row>
@ -69,26 +72,31 @@
<listcell> <listcell>
<textbox <textbox
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
value="@bind(each.code)" /> value="@bind(each.code)" />
</listcell> </listcell>
<listcell> <listcell>
<textbox <textbox
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
value="@bind(each.name)" /> value="@bind(each.name)" />
</listcell> </listcell>
<listcell> <listcell>
<textbox <textbox
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
value="@bind(each.shortcut)" /> value="@bind(each.shortcut)" />
</listcell> </listcell>
<listcell> <listcell>
<textbox <textbox
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
value="@bind(each.number)" /> value="@bind(each.number)" />
</listcell> </listcell>
<listcell> <listcell>
<textbox <textbox
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
value="@bind(each.floor)" /> value="@bind(each.floor)" />
</listcell> </listcell>
<listcell> <listcell>

@ -43,6 +43,7 @@
value="@bind(vm.filterTemplate.code)" value="@bind(vm.filterTemplate.code)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -57,6 +58,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -90,6 +92,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -27,6 +27,7 @@
id="code" id="code"
constraint="@load(vm.constriant)" constraint="@load(vm.constriant)"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.code)" /> value="@bind(vm.dataBean.code)" />
</cell> </cell>
</row> </row>
@ -36,6 +37,7 @@
<textbox <textbox
id="name" id="name"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.name)" /> value="@bind(vm.dataBean.name)" />
</cell> </cell>
</row> </row>
@ -58,6 +60,7 @@
<textbox <textbox
id="description" id="description"
width="300px" width="300px"
maxlength="@load(vm.lengthDescription)"
value="@bind(vm.dataBean.description)" /> value="@bind(vm.dataBean.description)" />
</cell> </cell>
</row> </row>

@ -26,6 +26,7 @@
<textbox <textbox
id="name" id="name"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.name)" /> value="@bind(vm.dataBean.name)" />
</cell> </cell>
</row> </row>
@ -35,6 +36,7 @@
<textbox <textbox
id="description" id="description"
width="300px" width="300px"
maxlength="@load(vm.lengthDescription)"
value="@bind(vm.dataBean.description)" /> value="@bind(vm.dataBean.description)" />
</cell> </cell>
</row> </row>

@ -35,6 +35,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -49,6 +50,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -40,6 +40,7 @@
value="@bind(vm.filterTemplate.code)" value="@bind(vm.filterTemplate.code)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -54,6 +55,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -68,6 +70,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -27,6 +27,7 @@
id="code" id="code"
constraint="@load(vm.constriant)" constraint="@load(vm.constriant)"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.code)" /> value="@bind(vm.dataBean.code)" />
</cell> </cell>
</row> </row>
@ -36,6 +37,7 @@
<textbox <textbox
id="name" id="name"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(vm.dataBean.name)" /> value="@bind(vm.dataBean.name)" />
</cell> </cell>
</row> </row>
@ -45,6 +47,7 @@
<textbox <textbox
id="description" id="description"
width="300px" width="300px"
maxlength="@load(vm.lengthDescription)"
value="@bind(vm.dataBean.description)" /> value="@bind(vm.dataBean.description)" />
</cell> </cell>
</row> </row>

@ -52,6 +52,7 @@
value="@bind(each.invoiceNumber)" value="@bind(each.invoiceNumber)"
sclass="grid-textbox-max" sclass="grid-textbox-max"
inplace="true" inplace="true"
maxlength="@load(vm.lengthText)"
onFocus="@command('onFocus', item=each)"/> onFocus="@command('onFocus', item=each)"/>
</listcell> </listcell>
<listcell> <listcell>
@ -60,6 +61,7 @@
sclass="grid-textbox-max" sclass="grid-textbox-max"
inplace="true" inplace="true"
onFocus="@command('onFocus', item=each)" onFocus="@command('onFocus', item=each)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')"/> onChange="@command('calculate')"/>
</listcell> </listcell>
<listcell> <listcell>
@ -85,6 +87,7 @@
width="200px" width="200px"
value="@bind(vm.dataBean.requirement.numser)" value="@bind(vm.dataBean.requirement.numser)"
style="font-weight: bold;" style="font-weight: bold;"
maxlength="@load(vm.lengthText)"
readonly="true"/> readonly="true"/>
</cell> </cell>
</row> </row>
@ -95,6 +98,7 @@
width="350px" width="350px"
rows="5" rows="5"
value="@bind(vm.dataBean.requirement.description)" value="@bind(vm.dataBean.requirement.description)"
maxlength="@load(vm.lengthDescription)"
readonly="true" /> readonly="true" />
</cell> </cell>
</row> </row>
@ -103,7 +107,8 @@
<cell> <cell>
<textbox <textbox
width="150px" width="150px"
value="@bind(vm.dataBean.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)" value="@bind(vm.dataBean.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
readonly="true"/> readonly="true"/>
</cell> </cell>
</row> </row>
@ -114,6 +119,7 @@
width="150px" width="150px"
value="@bind(vm.dataBean.totalInvoiced) @converter(vm.standardBigDecimalConverter)" value="@bind(vm.dataBean.totalInvoiced) @converter(vm.standardBigDecimalConverter)"
readonly="true" readonly="true"
maxlength="@load(vm.lengthText)"
style="@load(vm.dataBean.totalInvoiced gt vm.dataBean.requirement.sumTotal ? ' color: red;' : '' )"/> style="@load(vm.dataBean.totalInvoiced gt vm.dataBean.requirement.sumTotal ? ' color: red;' : '' )"/>
</cell> </cell>
</row> </row>

@ -54,6 +54,7 @@
value="@bind(vm.filterTemplate.requirement.numser)" value="@bind(vm.filterTemplate.requirement.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -121,6 +122,7 @@
value="@bind(vm.filterTemplate.requirement.description)" value="@bind(vm.filterTemplate.requirement.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -135,6 +137,7 @@
value="@bind(vm.filterTemplate.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)" value="@bind(vm.filterTemplate.requirement.sumTotal) @converter(vm.standardBigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -149,6 +152,7 @@
value="@bind(vm.filterTemplate.totalInvoiced) @converter(vm.standardBigDecimalConverter)" value="@bind(vm.filterTemplate.totalInvoiced) @converter(vm.standardBigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -88,6 +88,7 @@
value="@bind(vm.filterTemplate.code)" value="@bind(vm.filterTemplate.code)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -102,6 +103,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -116,6 +118,7 @@
value="@bind(vm.filterTemplate.textItem)" value="@bind(vm.filterTemplate.textItem)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -133,6 +136,7 @@
value="@bind(vm.filterTemplate.quantity)" value="@bind(vm.filterTemplate.quantity)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox-right" /> sclass="find-grid-textbox-right" />
</div> </div>
</div--> </div-->
@ -144,6 +148,7 @@
value="@bind(vm.filterTemplate.munit.name)" value="@bind(vm.filterTemplate.munit.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -161,6 +166,7 @@
value="@bind(vm.filterTemplate.unitPrice)" value="@bind(vm.filterTemplate.unitPrice)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox-right" /> sclass="find-grid-textbox-right" />
</div> </div>
</div--> </div-->
@ -175,6 +181,7 @@
value="@bind(vm.filterTemplate.total)" value="@bind(vm.filterTemplate.total)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox-right" /> sclass="find-grid-textbox-right" />
</div> </div>
</div--> </div-->
@ -249,6 +256,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -95,6 +95,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -200,6 +201,7 @@
value="@bind(vm.filterTemplate.address)" value="@bind(vm.filterTemplate.address)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -235,6 +237,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -61,6 +61,7 @@
constraint="@load(vm.constriant)" constraint="@load(vm.constriant)"
value="@bind(fx.numser)" value="@bind(fx.numser)"
placeholder="${labels.NotYetFilled}..." placeholder="${labels.NotYetFilled}..."
maxlength="@load(vm.lengthText)"
readonly="true" /> readonly="true" />
</cell> </cell>
</row> </row>
@ -81,6 +82,7 @@
id="idOrderTotal" id="idOrderTotal"
readonly="true" readonly="true"
width="150px" width="150px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.total) @converter(vm.standardBigDecimalConverter)" /> value="@bind(fx.total) @converter(vm.standardBigDecimalConverter)" />
</cell> </cell>
</row> </row>
@ -111,6 +113,7 @@
id="idOrderDescription" id="idOrderDescription"
width="100%" width="100%"
rows="5" rows="5"
maxlength="@load(vm.lengthDescription)"
value="@bind(fx.description)" /> value="@bind(fx.description)" />
</cell> </cell>
</row> </row>
@ -177,12 +180,14 @@
<textbox <textbox
id="idSuppIC" id="idSuppIC"
value="@bind(fx.suplier.ic)" value="@bind(fx.suplier.ic)"
maxlength="@load(vm.lengthText)"
instant="true" /> instant="true" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormDIC} :</cell> <cell sclass="row-title">${labels.SuppliersFormDIC} :</cell>
<cell> <cell>
<textbox <textbox
id="idSuppDIC" id="idSuppDIC"
maxlength="@load(vm.lengthText)"
value="@bind(fx.suplier.dic)" /> value="@bind(fx.suplier.dic)" />
</cell> </cell>
</row> </row>
@ -192,6 +197,7 @@
<textbox <textbox
id="idSuppDepartment" id="idSuppDepartment"
value="@bind(fx.suplier.department)" value="@bind(fx.suplier.department)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormContact} :</cell> <cell sclass="row-title">${labels.SuppliersFormContact} :</cell>
@ -199,6 +205,7 @@
<textbox <textbox
id="idSuppContactName" id="idSuppContactName"
value="@bind(fx.suplier.contactName)" value="@bind(fx.suplier.contactName)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -208,12 +215,14 @@
<textbox <textbox
id="idSuppStreet" id="idSuppStreet"
value="@bind(fx.suplier.street)" value="@bind(fx.suplier.street)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormNo} :</cell> <cell sclass="row-title">${labels.SuppliersFormNo} :</cell>
<cell> <cell>
<textbox <textbox
id="idSuppHouseNumber" id="idSuppHouseNumber"
maxlength="@load(vm.lengthText)"
value="@bind(fx.suplier.houseNumber)" /> value="@bind(fx.suplier.houseNumber)" />
</cell> </cell>
</row> </row>
@ -223,12 +232,14 @@
<textbox <textbox
id="idSuppCity" id="idSuppCity"
value="@bind(fx.suplier.city)" value="@bind(fx.suplier.city)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormZIP} :</cell> <cell sclass="row-title">${labels.SuppliersFormZIP} :</cell>
<cell> <cell>
<textbox <textbox
id="idSuppZIP" id="idSuppZIP"
maxlength="@load(vm.lengthText)"
value="@bind(fx.suplier.zipCode)" /> value="@bind(fx.suplier.zipCode)" />
</cell> </cell>
</row> </row>
@ -237,6 +248,7 @@
<cell> <cell>
<textbox <textbox
id="idSuppPhone" id="idSuppPhone"
maxlength="@load(vm.lengthText)"
value="@bind(fx.suplier.phone)" /> value="@bind(fx.suplier.phone)" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormEmail} :</cell> <cell sclass="row-title">${labels.SuppliersFormEmail} :</cell>
@ -244,6 +256,7 @@
<textbox <textbox
id="idSuppEmail" id="idSuppEmail"
value="@bind(fx.suplier.email)" value="@bind(fx.suplier.email)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -253,6 +266,7 @@
<textbox <textbox
id="idSuppWWW" id="idSuppWWW"
value="@bind(fx.suplier.web)" value="@bind(fx.suplier.web)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -297,12 +311,14 @@
<cell> <cell>
<textbox <textbox
id="idDeliveryIC" id="idDeliveryIC"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.ic)" /> value="@bind(fx.deliveryAddress.ic)" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormDIC} :</cell> <cell sclass="row-title">${labels.SuppliersFormDIC} :</cell>
<cell> <cell>
<textbox <textbox
id="idDeliveryDIC" id="idDeliveryDIC"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.dic)" /> value="@bind(fx.deliveryAddress.dic)" />
</cell> </cell>
</row> </row>
@ -311,6 +327,7 @@
<cell> <cell>
<textbox <textbox
id="idDeliveryDepartment" id="idDeliveryDepartment"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.department)" value="@bind(fx.deliveryAddress.department)"
width="100%" /> width="100%" />
</cell> </cell>
@ -319,6 +336,7 @@
<textbox <textbox
id="idDeliveryContactName" id="idDeliveryContactName"
value="@bind(fx.deliveryAddress.contactName)" value="@bind(fx.deliveryAddress.contactName)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -328,12 +346,14 @@
<textbox <textbox
id="idDeliveryStreet" id="idDeliveryStreet"
value="@bind(fx.deliveryAddress.street)" value="@bind(fx.deliveryAddress.street)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormNo} :</cell> <cell sclass="row-title">${labels.SuppliersFormNo} :</cell>
<cell> <cell>
<textbox <textbox
id="idDeliveryHouseNumber" id="idDeliveryHouseNumber"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.houseNumber)" /> value="@bind(fx.deliveryAddress.houseNumber)" />
</cell> </cell>
</row> </row>
@ -343,12 +363,14 @@
<textbox <textbox
id="idDeliveryCity" id="idDeliveryCity"
value="@bind(fx.deliveryAddress.city)" value="@bind(fx.deliveryAddress.city)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormZIP} :</cell> <cell sclass="row-title">${labels.SuppliersFormZIP} :</cell>
<cell> <cell>
<textbox <textbox
id="idDeliveryZIP" id="idDeliveryZIP"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.zipCode)" /> value="@bind(fx.deliveryAddress.zipCode)" />
</cell> </cell>
</row> </row>
@ -357,6 +379,7 @@
<cell> <cell>
<textbox <textbox
id="idDeliveryPhone" id="idDeliveryPhone"
maxlength="@load(vm.lengthText)"
value="@bind(fx.deliveryAddress.phone)" /> value="@bind(fx.deliveryAddress.phone)" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormEmail} :</cell> <cell sclass="row-title">${labels.SuppliersFormEmail} :</cell>
@ -364,6 +387,7 @@
<textbox <textbox
id="idDeliveryEmail" id="idDeliveryEmail"
value="@bind(fx.deliveryAddress.email)" value="@bind(fx.deliveryAddress.email)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -373,6 +397,7 @@
<textbox <textbox
id="idDeliveryWWW" id="idDeliveryWWW"
value="@bind(fx.deliveryAddress.web)" value="@bind(fx.deliveryAddress.web)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -400,6 +425,7 @@
<textbox <textbox
id="idInvoiceCompany" id="idInvoiceCompany"
value="@bind(fx.address.company)" value="@bind(fx.address.company)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -408,12 +434,14 @@
<cell> <cell>
<textbox <textbox
id="idInvoiceIC" id="idInvoiceIC"
maxlength="@load(vm.lengthText)"
value="@bind(fx.address.ic)" /> value="@bind(fx.address.ic)" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormDIC} :</cell> <cell sclass="row-title">${labels.SuppliersFormDIC} :</cell>
<cell> <cell>
<textbox <textbox
id="idInvoiceDIC" id="idInvoiceDIC"
maxlength="@load(vm.lengthText)"
value="@bind(fx.address.dic)" /> value="@bind(fx.address.dic)" />
</cell> </cell>
</row> </row>
@ -423,6 +451,7 @@
<textbox <textbox
id="idInvoiceDepartment" id="idInvoiceDepartment"
value="@bind(fx.address.department)" value="@bind(fx.address.department)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormContact} :</cell> <cell sclass="row-title">${labels.SuppliersFormContact} :</cell>
@ -430,6 +459,7 @@
<textbox <textbox
id="idInvoiceContactName" id="idInvoiceContactName"
value="@bind(fx.address.contactName)" value="@bind(fx.address.contactName)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -439,12 +469,14 @@
<textbox <textbox
id="idInvoiceStreet" id="idInvoiceStreet"
value="@bind(fx.address.street)" value="@bind(fx.address.street)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormNo} :</cell> <cell sclass="row-title">${labels.SuppliersFormNo} :</cell>
<cell> <cell>
<textbox <textbox
id="idInvoiceHouseNumber" id="idInvoiceHouseNumber"
maxlength="@load(vm.lengthText)"
value="@bind(fx.address.houseNumber)" /> value="@bind(fx.address.houseNumber)" />
</cell> </cell>
</row> </row>
@ -454,12 +486,14 @@
<textbox <textbox
id="idInvoiceCity" id="idInvoiceCity"
value="@bind(fx.address.city)" value="@bind(fx.address.city)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormZIP} :</cell> <cell sclass="row-title">${labels.SuppliersFormZIP} :</cell>
<cell> <cell>
<textbox <textbox
id="idInvoiceZIP" id="idInvoiceZIP"
maxlength="@load(vm.lengthText)"
value="@bind(fx.address.zipCode)" /> value="@bind(fx.address.zipCode)" />
</cell> </cell>
</row> </row>
@ -468,6 +502,7 @@
<cell> <cell>
<textbox <textbox
id="idInvoicePhone" id="idInvoicePhone"
maxlength="@load(vm.lengthText)"
value="@bind(fx.address.phone)" /> value="@bind(fx.address.phone)" />
</cell> </cell>
<cell sclass="row-title">${labels.SuppliersFormEmail} :</cell> <cell sclass="row-title">${labels.SuppliersFormEmail} :</cell>
@ -475,6 +510,7 @@
<textbox <textbox
id="idInvoiceEmail" id="idInvoiceEmail"
value="@bind(fx.address.email)" value="@bind(fx.address.email)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -484,6 +520,7 @@
<textbox <textbox
id="idInvoiceWWW" id="idInvoiceWWW"
value="@bind(fx.address.web)" value="@bind(fx.address.web)"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</cell> </cell>
</row> </row>
@ -550,6 +587,7 @@
readonly="true" readonly="true"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='quantity')" onChange="@command('recalculate', form=fx, changed='quantity')"
maxlength="@load(vm.lengthText)"
value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell label="@load(each.munit.name)" /> <listcell label="@load(each.munit.name)" />
@ -560,6 +598,7 @@
readonly="${not sec:isAllGranted('ROLE_ADMIN')}" readonly="${not sec:isAllGranted('ROLE_ADMIN')}"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='unitPrice')" onChange="@command('recalculate', form=fx, changed='unitPrice')"
maxlength="@load(vm.lengthText)"
value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell> <listcell>
@ -569,6 +608,7 @@
readonly="${not sec:isAllGranted('ROLE_ADMIN')}" readonly="${not sec:isAllGranted('ROLE_ADMIN')}"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='total')" onChange="@command('recalculate', form=fx, changed='total')"
maxlength="@load(vm.lengthText)"
value="@bind(each.total) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.total) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell label="@load(each.description)" /> <listcell label="@load(each.description)" />

@ -52,6 +52,7 @@
value="@bind(vm.filterTmpMaterial.code)" value="@bind(vm.filterTmpMaterial.code)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -66,6 +67,7 @@
value="@bind(vm.filterTmpMaterial.name)" value="@bind(vm.filterTmpMaterial.name)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -100,6 +102,7 @@
value="@bind(vm.filterTmpMaterial.description)" value="@bind(vm.filterTmpMaterial.description)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -26,6 +26,7 @@
width="150px" width="150px"
constraint="@load(vm.constriant)" constraint="@load(vm.constriant)"
value="@bind(fx.numser)" value="@bind(fx.numser)"
maxlength="@load(vm.lengthText)"
readonly="true" /> readonly="true" />
</cell> </cell>
</row> </row>
@ -72,6 +73,7 @@
id="idSumTotal" id="idSumTotal"
readonly="true" readonly="true"
width="150px" width="150px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.sumTotal) @converter(vm.standardBigDecimalConverter)" /> value="@bind(fx.sumTotal) @converter(vm.standardBigDecimalConverter)" />
</cell> </cell>
</row> </row>
@ -82,6 +84,7 @@
id="description" id="description"
width="400px" width="400px"
rows="5" rows="5"
maxlength="@load(vm.lengthDescription)"
value="@bind(fx.description)" /> value="@bind(fx.description)" />
</cell> </cell>
</row> </row>
@ -161,6 +164,7 @@
sclass="grid-textbox-max" sclass="grid-textbox-max"
readonly="false" readonly="false"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
maxlength="@load(vm.lengthText)"
value="@bind(each.name)" /> value="@bind(each.name)" />
</listcell> </listcell>
<listcell> <listcell>
@ -168,6 +172,7 @@
inplace="true" inplace="true"
sclass="grid-textbox-max" sclass="grid-textbox-max"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
maxlength="@load(vm.lengthText)"
value="@bind(each.textItem)" /> value="@bind(each.textItem)" />
</listcell> </listcell>
<listcell> <listcell>
@ -176,6 +181,7 @@
sclass="grid-textbox-max-right" sclass="grid-textbox-max-right"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='quantity')" onChange="@command('recalculate', form=fx, changed='quantity')"
maxlength="@load(vm.lengthText)"
value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.quantity) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell> <listcell>
@ -184,6 +190,7 @@
sclass="grid-textbox-max" sclass="grid-textbox-max"
readonly="false" readonly="false"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
maxlength="@load(vm.lengthText)"
value="@bind(each.munit.name)" /> value="@bind(each.munit.name)" />
</listcell> </listcell>
<listcell> <listcell>
@ -192,6 +199,7 @@
sclass="grid-textbox-max-right" sclass="grid-textbox-max-right"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='unitprice')" onChange="@command('recalculate', form=fx, changed='unitprice')"
maxlength="@load(vm.lengthText)"
value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.unitPrice) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell> <listcell>
@ -200,6 +208,7 @@
sclass="grid-textbox-max-right" sclass="grid-textbox-max-right"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
onChange="@command('recalculate', form=fx, changed='total')" onChange="@command('recalculate', form=fx, changed='total')"
maxlength="@load(vm.lengthText)"
value="@bind(each.total) @converter(vm.standardBigDecimalConverter)" /> value="@bind(each.total) @converter(vm.standardBigDecimalConverter)" />
</listcell> </listcell>
<listcell> <listcell>
@ -207,6 +216,7 @@
inplace="true" inplace="true"
sclass="grid-textbox-max" sclass="grid-textbox-max"
onFocus="@command('onFocusItem', item=each, ctrl=self)" onFocus="@command('onFocusItem', item=each, ctrl=self)"
maxlength="@load(vm.lengthDescription)"
value="@bind(each.description)" /> value="@bind(each.description)" />
</listcell> </listcell>
<listcell <listcell

@ -59,6 +59,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -122,6 +123,7 @@
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)" value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -136,6 +138,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -65,6 +65,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -128,6 +129,7 @@
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)" value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -142,6 +144,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -65,6 +65,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -128,6 +129,7 @@
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)" value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -142,6 +144,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -65,6 +65,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -128,6 +129,7 @@
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)" value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -142,6 +144,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -64,6 +64,7 @@
value="@bind(vm.filterTmpMaterial.code)" value="@bind(vm.filterTmpMaterial.code)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -78,6 +79,7 @@
value="@bind(vm.filterTmpMaterial.name)" value="@bind(vm.filterTmpMaterial.name)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -112,6 +114,7 @@
value="@bind(vm.filterTmpMaterial.description)" value="@bind(vm.filterTmpMaterial.description)"
instant="true" instant="true"
onChange="@command('doFilterMaterial')" onChange="@command('doFilterMaterial')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -165,6 +168,7 @@
value="@bind(vm.filterTmpService.code)" value="@bind(vm.filterTmpService.code)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -179,6 +183,7 @@
value="@bind(vm.filterTmpService.name)" value="@bind(vm.filterTmpService.name)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -193,6 +198,7 @@
value="@bind(vm.filterTmpService.description)" value="@bind(vm.filterTmpService.description)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -49,6 +49,7 @@
value="@bind(vm.filterTmpService.code)" value="@bind(vm.filterTmpService.code)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -63,6 +64,7 @@
value="@bind(vm.filterTmpService.name)" value="@bind(vm.filterTmpService.name)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -77,6 +79,7 @@
value="@bind(vm.filterTmpService.description)" value="@bind(vm.filterTmpService.description)"
instant="true" instant="true"
onChange="@command('doFilterService')" onChange="@command('doFilterService')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -235,10 +235,12 @@
</vbox> </vbox>
<vbox hflex="max"> <vbox hflex="max">
<textbox inplace="true" <textbox inplace="true"
value="@load(each.to)" value="@load(each.to)"
maxlength="@load(vm.lengthText)"
sclass="grid-textbox-max-left"/> sclass="grid-textbox-max-left"/>
<textbox inplace="true" <textbox inplace="true"
value="@load(each.back)" value="@load(each.back)"
maxlength="@load(vm.lengthText)"
sclass="grid-textbox-max-left"/> sclass="grid-textbox-max-left"/>
</vbox> </vbox>
<vbox> <vbox>
@ -275,15 +277,41 @@
<timebox inplace="true" width="68px" value="@bind(each.endWork)" format="short"/> <timebox inplace="true" width="68px" value="@bind(each.endWork)" format="short"/>
</vbox> </vbox>
<vbox> <vbox>
<textbox inplace="true" width="68px" value="@bind(each.distance) @converter(vm.standardBigDecimalConverter)"/> <textbox
<textbox inplace="true" width="68px" value="@bind(each.distanceAmount) @converter(vm.standardBigDecimalConverter)" onChange="@command('calculate')"/> inplace="true"
width="68px"
maxlength="@load(vm.lengthText)"
value="@bind(each.distance) @converter(vm.standardBigDecimalConverter)" />
<textbox
inplace="true"
width="68px"
value="@bind(each.distanceAmount) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')" />
</vbox> </vbox>
<vbox> <vbox>
<textbox inplace="true" width="68px" value="@bind(each.fuelConsumption) @converter(vm.standardBigDecimalConverter)"/> <textbox
<textbox inplace="true" width="68px" value="@bind(each.fuelAmount) @converter(vm.standardBigDecimalConverter)" onChange="@command('calculate')"/> inplace="true"
width="68px"
maxlength="@load(vm.lengthText)"
value="@bind(each.fuelConsumption) @converter(vm.standardBigDecimalConverter)" />
<textbox
inplace="true"
width="68px"
value="@bind(each.fuelAmount) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')" />
</vbox> </vbox>
<textbox inplace="true" value="@bind(each.carefare) @converter(vm.standardBigDecimalConverter)" onChange="@command('calculate')"/> <textbox
<textbox inplace="true" value="@bind(each.housing) @converter(vm.standardBigDecimalConverter)" onChange="@command('calculate')"/> inplace="true"
value="@bind(each.carefare) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')" />
<textbox
inplace="true"
value="@bind(each.housing) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')" />
<combobox inplace="true" selectedIndex="@bind(each.freeMealsCount)" <combobox inplace="true" selectedIndex="@bind(each.freeMealsCount)"
readonly="true" readonly="true"
width="60px" width="60px"
@ -295,7 +323,11 @@
<comboitem value="3" label="3"/> <comboitem value="3" label="3"/>
</combobox> </combobox>
<label value="@load(each.meals) @converter(vm.standardBigDecimalConverter)"/> <label value="@load(each.meals) @converter(vm.standardBigDecimalConverter)"/>
<textbox inplace="true" value="@bind(each.otherExpenses) @converter(vm.standardBigDecimalConverter)" onChange="@command('calculate')"/> <textbox
inplace="true"
value="@bind(each.otherExpenses) @converter(vm.standardBigDecimalConverter)"
maxlength="@load(vm.lengthText)"
onChange="@command('calculate')" />
<label value="@load(each.total) @converter(vm.standardBigDecimalConverter)"/> <label value="@load(each.total) @converter(vm.standardBigDecimalConverter)"/>
<label value="@load(each.adjustedTotal) @converter(vm.standardBigDecimalConverter)"/> <label value="@load(each.adjustedTotal) @converter(vm.standardBigDecimalConverter)"/>
</row> </row>

@ -48,6 +48,7 @@
value="@bind(vm.filterTemplate.name)" value="@bind(vm.filterTemplate.name)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -62,6 +63,7 @@
value="@bind(vm.filterTemplate.description)" value="@bind(vm.filterTemplate.description)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthDescription)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -43,6 +43,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -92,6 +93,7 @@
value="@bind(vm.filterTemplate.from)" value="@bind(vm.filterTemplate.from)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -107,6 +109,7 @@
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
sclass="find-grid-textbox" sclass="find-grid-textbox"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -54,6 +54,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -122,6 +123,7 @@
value="@bind(vm.filterTemplate.from)" value="@bind(vm.filterTemplate.from)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -137,6 +139,7 @@
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
sclass="find-grid-textbox" sclass="find-grid-textbox"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -50,6 +50,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -99,6 +100,7 @@
value="@bind(vm.filterTemplate.from)" value="@bind(vm.filterTemplate.from)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -114,6 +116,7 @@
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
sclass="find-grid-textbox" sclass="find-grid-textbox"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -54,6 +54,7 @@
value="@bind(vm.filterTemplate.numser)" value="@bind(vm.filterTemplate.numser)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -122,6 +123,7 @@
value="@bind(vm.filterTemplate.from)" value="@bind(vm.filterTemplate.from)"
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
maxlength="@load(vm.lengthText)"
sclass="find-grid-textbox" /> sclass="find-grid-textbox" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">
@ -137,6 +139,7 @@
instant="true" instant="true"
onChange="@command('doFilter')" onChange="@command('doFilter')"
sclass="find-grid-textbox" sclass="find-grid-textbox"
maxlength="@load(vm.lengthText)"
width="100%" /> width="100%" />
</div> </div>
<div sclass="find-grid-img"> <div sclass="find-grid-img">

@ -27,6 +27,7 @@
id="numser" id="numser"
width="200px" width="200px"
value="@bind(fx.numser)" value="@bind(fx.numser)"
maxlength="@load(vm.lengthText)"
readonly="true" /> readonly="true" />
</cell> </cell>
</row> </row>
@ -59,6 +60,7 @@
<textbox <textbox
id="from" id="from"
width="300px" width="300px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.from)" /> value="@bind(fx.from)" />
</cell> </cell>
</row> </row>
@ -86,6 +88,7 @@
<textbox <textbox
id="to" id="to"
width="300px" width="300px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.to)" /> value="@bind(fx.to)" />
</cell> </cell>
</row> </row>
@ -95,6 +98,7 @@
<textbox <textbox
id="description" id="description"
width="300px" width="300px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.description)" /> value="@bind(fx.description)" />
</cell> </cell>
</row> </row>
@ -104,6 +108,7 @@
<textbox <textbox
id="end" id="end"
width="200px" width="200px"
maxlength="@load(vm.lengthText)"
value="@bind(fx.end)" /> value="@bind(fx.end)" />
</cell> </cell>
</row> </row>
@ -169,7 +174,10 @@
</row> </row>
<row> <row>
<checkbox label="Požaduji zálohu" checked="@bind(vm.dataBean.requireDownPayment)"/> <checkbox label="Požaduji zálohu" checked="@bind(vm.dataBean.requireDownPayment)"/>
<textbox value="@bind(vm.dataBean.downPayment)" disabled="@bind(not vm.dataBean.requireDownPayment)"/> <textbox
value="@bind(vm.dataBean.downPayment)"
maxlength="@load(vm.lengthText)"
disabled="@bind(not vm.dataBean.requireDownPayment)" />
</row> </row>
</rows> </rows>
</grid> </grid>

@ -8,31 +8,55 @@
<rows> <rows>
<row> <row>
<label value="${labels.SuppliersFormCompany}"/> <label value="${labels.SuppliersFormCompany}"/>
<textbox value="@bind(vm.settings.mainAddress.company)" width="100%" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.company)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormIC}"/> <label value="${labels.SuppliersFormIC}"/>
<textbox value="@bind(vm.settings.mainAddress.ic)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.ic)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormDIC}"/> <label value="${labels.SuppliersFormDIC}"/>
<textbox value="@bind(vm.settings.mainAddress.dic)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.dic)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormStreet}"/> <label value="${labels.SuppliersFormStreet}"/>
<textbox value="@bind(vm.settings.mainAddress.street)" width="100%" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.street)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormNo}"/> <label value="${labels.SuppliersFormNo}"/>
<textbox value="@bind(vm.settings.mainAddress.houseNumber)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.houseNumber)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormCity}"/> <label value="${labels.SuppliersFormCity}"/>
<textbox value="@bind(vm.settings.mainAddress.city)" width="100%" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.city)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.SuppliersFormZIP}"/> <label value="${labels.SuppliersFormZIP}"/>
<textbox value="@bind(vm.settings.mainAddress.zipCode)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.mainAddress.zipCode)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
</rows> </rows>
</grid> </grid>
@ -50,16 +74,36 @@
<template name="model"> <template name="model">
<listitem> <listitem>
<listcell> <listcell>
<textbox inplace="true" value="@bind(each.street)" readonly="@load(not vm.canSave)"></textbox> <textbox
inplace="true"
value="@bind(each.street)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)">
</textbox>
</listcell> </listcell>
<listcell> <listcell>
<textbox inplace="true" value="@bind(each.houseNumber)" readonly="@load(not vm.canSave)"></textbox> <textbox
inplace="true"
value="@bind(each.houseNumber)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)">
</textbox>
</listcell> </listcell>
<listcell> <listcell>
<textbox inplace="true" value="@bind(each.city)" readonly="@load(not vm.canSave)"></textbox> <textbox
inplace="true"
value="@bind(each.city)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)">
</textbox>
</listcell> </listcell>
<listcell> <listcell>
<textbox inplace="true" value="@bind(each.zipCode)" readonly="@load(not vm.canSave)"></textbox> <textbox
inplace="true"
value="@bind(each.zipCode)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)">
</textbox>
</listcell> </listcell>
<listcell> <listcell>
<button label="${labels.RemoveItem }" onClick="@command('removeAddress', addr=each)" disabled="@load(not vm.canSave)"/> <button label="${labels.RemoveItem }" onClick="@command('removeAddress', addr=each)" disabled="@load(not vm.canSave)"/>

@ -8,15 +8,25 @@
<rows> <rows>
<row> <row>
<label value="${labels.BankName}"/> <label value="${labels.BankName}"/>
<textbox value="@bind(vm.settings.bankName)" width="100%" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.bankName)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.AccountNumber}"/> <label value="${labels.AccountNumber}"/>
<textbox value="@bind(vm.settings.accountNumber)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.accountNumber)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row> <row>
<label value="${labels.BankCode}"/> <label value="${labels.BankCode}"/>
<textbox value="@bind(vm.settings.bankCode)" readonly="@load(not vm.canSave)"/> <textbox
value="@bind(vm.settings.bankCode)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
</rows> </rows>
</grid> </grid>

@ -15,7 +15,12 @@
</columns> </columns>
<rows> <rows>
<row> <row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.newReqTemplate.subject)" width="100%" readonly="@load(not vm.canSave)"/> <label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.newReqTemplate.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row spans="2"> <row spans="2">
<vbox> <vbox>
@ -38,7 +43,12 @@
</columns> </columns>
<rows> <rows>
<row> <row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.authReqTemplate.subject)" width="100%" readonly="@load(not vm.canSave)"/> <label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.authReqTemplate.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row spans="2"> <row spans="2">
<vbox> <vbox>
@ -61,7 +71,12 @@
</columns> </columns>
<rows> <rows>
<row> <row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.confReqTemplate.subject)" width="100%" readonly="@load(not vm.canSave)"/> <label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.confReqTemplate.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
<row spans="2"> <row spans="2">
<vbox> <vbox>

@ -23,10 +23,26 @@
<template name="model"> <template name="model">
<row> <row>
<label value="@load(each)"/> <label value="@load(each)"/>
<textbox value="@bind(vm.settings.refunds[each][0])" inplace="true" readonly="@load(not vm.canSave)"/> <textbox
<textbox value="@bind(vm.settings.refunds[each][1])" inplace="true" readonly="@load(not vm.canSave)"/> value="@bind(vm.settings.refunds[each][0])"
<textbox value="@bind(vm.settings.refunds[each][2])" inplace="true" readonly="@load(not vm.canSave)"/> inplace="true"
<textbox value="@bind(vm.settings.refunds[each][3])" inplace="true" readonly="@load(not vm.canSave)"/> maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
<textbox
value="@bind(vm.settings.refunds[each][1])"
inplace="true"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
<textbox
value="@bind(vm.settings.refunds[each][2])"
inplace="true"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
<textbox
value="@bind(vm.settings.refunds[each][3])"
inplace="true"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row> </row>
</template> </template>
@ -45,8 +61,16 @@
<rows> <rows>
<template name="model"> <template name="model">
<row> <row>
<textbox inplace="true" value="@bind(each.code)" readonly="@load(not vm.canSave)"/> <textbox
<textbox inplace="true" value="@bind(each.description)" readonly="@load(not vm.canSave)"/> inplace="true"
value="@bind(each.code)"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
<textbox
inplace="true"
value="@bind(each.description)"
maxlength="@load(vm.lengthDescription)"
readonly="@load(not vm.canSave)" />
<button label="${labels.RemoveItem}" onClick="@command('removeVehicle', vehicle=each)" disabled="@load(not vm.canSave)"/> <button label="${labels.RemoveItem}" onClick="@command('removeVehicle', vehicle=each)" disabled="@load(not vm.canSave)"/>
</row> </row>
</template> </template>

@ -15,7 +15,9 @@ binder="@init(queueName='numSeries')">
<template name="model"> <template name="model">
<row> <row>
<label value="@load(vm.moduleMap[each.module].name.concat(' - ').concat(labels.Prefix))"/> <label value="@load(vm.moduleMap[each.module].name.concat(' - ').concat(labels.Prefix))"/>
<textbox value="@bind(each.prefix)"/> <textbox
value="@bind(each.prefix)"
maxlength="@load(vm.lengthText)" />
<label value="${labels.Number}"/> <label value="${labels.Number}"/>
<label value="@load(each.number)"/> <label value="@load(each.number)"/>
</row> </row>

@ -6,7 +6,9 @@ viewModel="@id('vm') @init('info.bukova.isspst.ui.requirement.LimitVM')">
<vbox> <vbox>
<hbox> <hbox>
<label value="${labels.Limit}"/> <label value="${labels.Limit}"/>
<textbox value="@bind(vm.workflow.limit)"/> <textbox
value="@bind(vm.workflow.limit)"
maxlength="@load(vm.lengthText)" />
</hbox> </hbox>
<include src="/app/formButtons.zul" /> <include src="/app/formButtons.zul" />
</vbox> </vbox>

Loading…
Cancel
Save