Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 70a2e01fae | |||
| fcb8db25fa | |||
| 740847e865 | |||
| 093d359df7 | |||
| ea2708f303 | |||
| 9b2e2b3641 | |||
| a8dc7f1306 | |||
| 7d4d693b2e |
@@ -229,7 +229,12 @@
|
|||||||
<artifactId>hibernate-search</artifactId>
|
<artifactId>hibernate-search</artifactId>
|
||||||
<version>4.4.6.Final</version>
|
<version>4.4.6.Final</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.hibernate</groupId>
|
||||||
|
<artifactId>hibernate-ehcache</artifactId>
|
||||||
|
<version>4.2.8.Final</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- ZK -->
|
<!-- ZK -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.zkoss.zk</groupId>
|
<groupId>org.zkoss.zk</groupId>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import static org.apache.commons.lang.StringUtils.strip;
|
||||||
|
|
||||||
public class BigDecimalUtils
|
public class BigDecimalUtils
|
||||||
{
|
{
|
||||||
@@ -23,6 +24,17 @@ public class BigDecimalUtils
|
|||||||
|
|
||||||
String valueS = value.toPlainString();
|
String valueS = value.toPlainString();
|
||||||
String searchS = search.toPlainString();
|
String searchS = search.toPlainString();
|
||||||
|
|
||||||
|
if (valueS.contains(".") || valueS.contains(",")) {
|
||||||
|
valueS = strip(valueS, "0");
|
||||||
|
valueS = strip(valueS, ".,");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (searchS.contains(".") || searchS.contains(",")) {
|
||||||
|
searchS = strip(searchS, "0");
|
||||||
|
searchS = strip(searchS, ".,");
|
||||||
|
}
|
||||||
|
|
||||||
boolean result = (valueS.compareTo(searchS) == 0);
|
boolean result = (valueS.compareTo(searchS) == 0);
|
||||||
|
|
||||||
String s = "search='" + searchS + "', value='" + valueS + "', equal=" + (result ? "true" : "false");
|
String s = "search='" + searchS + "', value='" + valueS + "', equal=" + (result ? "true" : "false");
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import java.util.Date;
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
import org.hibernate.search.annotations.Indexed;
|
||||||
|
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
@@ -10,9 +13,7 @@ import javax.persistence.JoinColumn;
|
|||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.MappedSuperclass;
|
import javax.persistence.MappedSuperclass;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
import java.util.Date;
|
||||||
import org.hibernate.search.annotations.Indexed;
|
|
||||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
|
||||||
|
|
||||||
@MappedSuperclass
|
@MappedSuperclass
|
||||||
@Indexed
|
@Indexed
|
||||||
@@ -29,10 +30,12 @@ public abstract class BaseData implements OwnedDataModel {
|
|||||||
@ManyToOne(fetch=FetchType.LAZY)
|
@ManyToOne(fetch=FetchType.LAZY)
|
||||||
@JoinColumn(name="OWNED_BY_ID")
|
@JoinColumn(name="OWNED_BY_ID")
|
||||||
@IndexedEmbedded
|
@IndexedEmbedded
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private User ownedBy;
|
private User ownedBy;
|
||||||
@ManyToOne(fetch=FetchType.LAZY)
|
@ManyToOne(fetch=FetchType.LAZY)
|
||||||
@JoinColumn(name="MODIFIED_BY_ID")
|
@JoinColumn(name="MODIFIED_BY_ID")
|
||||||
@IndexedEmbedded
|
@IndexedEmbedded
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private User modifiedBy;
|
private User modifiedBy;
|
||||||
@Transient
|
@Transient
|
||||||
private boolean valid;
|
private boolean valid;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
@@ -11,6 +14,7 @@ import javax.persistence.Table;
|
|||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "JOBMAPPING")
|
@Table(name = "JOBMAPPING")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class JobMapping {
|
public class JobMapping {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@@ -19,9 +23,11 @@ public class JobMapping {
|
|||||||
private int id;
|
private int id;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "MEMBER_ID")
|
@JoinColumn(name = "MEMBER_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Member member;
|
private Member member;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "ROLE_ID")
|
@JoinColumn(name = "ROLE_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Role role;
|
private Role role;
|
||||||
|
|
||||||
public JobMapping() {
|
public JobMapping() {
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import org.hibernate.annotations.Cache;
|
||||||
import java.util.Date;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import java.util.List;
|
import org.hibernate.annotations.LazyCollection;
|
||||||
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
@@ -15,12 +16,13 @@ import javax.persistence.JoinColumn;
|
|||||||
import javax.persistence.JoinTable;
|
import javax.persistence.JoinTable;
|
||||||
import javax.persistence.ManyToMany;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
import java.util.ArrayList;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import java.util.Date;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
|
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public abstract class Member implements DataModel {
|
public abstract class Member implements DataModel {
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@@ -33,6 +35,7 @@ public abstract class Member implements DataModel {
|
|||||||
@ManyToMany
|
@ManyToMany
|
||||||
@LazyCollection(LazyCollectionOption.TRUE)
|
@LazyCollection(LazyCollectionOption.TRUE)
|
||||||
@JoinTable(name="MEMBER_PARENT", joinColumns={@JoinColumn(name="MEMBER_ID")}, inverseJoinColumns={@JoinColumn(name="PARENT_ID")})
|
@JoinTable(name="MEMBER_PARENT", joinColumns={@JoinColumn(name="MEMBER_ID")}, inverseJoinColumns={@JoinColumn(name="PARENT_ID")})
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<Workgroup> parents;
|
private List<Workgroup> parents;
|
||||||
@Transient
|
@Transient
|
||||||
private boolean valid;
|
private boolean valid;
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.Constants;
|
import info.bukova.isspst.Constants;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
@@ -8,10 +11,9 @@ import javax.persistence.EnumType;
|
|||||||
import javax.persistence.Enumerated;
|
import javax.persistence.Enumerated;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name="PERMISSION")
|
@Table(name="PERMISSION")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class Permission extends BaseSimpleData implements GrantedAuthority {
|
public class Permission extends BaseSimpleData implements GrantedAuthority {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import org.hibernate.search.annotations.Indexed;
|
||||||
import java.util.ArrayList;
|
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
@@ -11,9 +9,10 @@ import javax.persistence.Entity;
|
|||||||
import javax.persistence.FetchType;
|
import javax.persistence.FetchType;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import org.hibernate.search.annotations.Indexed;
|
import java.util.ArrayList;
|
||||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "REQUIREMENT")
|
@Table(name = "REQUIREMENT")
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.Constants;
|
import info.bukova.isspst.Constants;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import org.hibernate.annotations.LazyCollection;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
import org.hibernate.search.annotations.Analyze;
|
import org.hibernate.search.annotations.Analyze;
|
||||||
@@ -24,6 +26,7 @@ import java.util.List;
|
|||||||
|
|
||||||
@MappedSuperclass
|
@MappedSuperclass
|
||||||
@Indexed
|
@Indexed
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class RequirementBase extends BaseData implements FilterableRequirement, SeasonsAware {
|
public class RequirementBase extends BaseData implements FilterableRequirement, SeasonsAware {
|
||||||
|
|
||||||
@ManyToOne(fetch = FetchType.LAZY)
|
@ManyToOne(fetch = FetchType.LAZY)
|
||||||
@@ -43,9 +46,11 @@ public class RequirementBase extends BaseData implements FilterableRequirement,
|
|||||||
private String description;
|
private String description;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "CENTRE_ID")
|
@JoinColumn(name = "CENTRE_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Workgroup centre;
|
private Workgroup centre;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "WORKGROUP_ID")
|
@JoinColumn(name = "WORKGROUP_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Workgroup workgroup;
|
private Workgroup workgroup;
|
||||||
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
|
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
|
||||||
@LazyCollection(LazyCollectionOption.TRUE)
|
@LazyCollection(LazyCollectionOption.TRUE)
|
||||||
@@ -56,6 +61,7 @@ public class RequirementBase extends BaseData implements FilterableRequirement,
|
|||||||
private RequirementState state;
|
private RequirementState state;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "SEASON_ID")
|
@JoinColumn(name = "SEASON_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Season season;
|
private Season season;
|
||||||
|
|
||||||
public RequirementBase() {
|
public RequirementBase() {
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.Constants;
|
import info.bukova.isspst.Constants;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
import java.util.ArrayList;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import java.util.List;
|
import org.hibernate.annotations.LazyCollection;
|
||||||
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
@@ -11,13 +13,12 @@ import javax.persistence.JoinColumn;
|
|||||||
import javax.persistence.JoinTable;
|
import javax.persistence.JoinTable;
|
||||||
import javax.persistence.ManyToMany;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import java.util.ArrayList;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import java.util.List;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
|
||||||
import org.springframework.security.core.GrantedAuthority;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name="ROLE")
|
@Table(name="ROLE")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class Role extends BaseSimpleData implements GrantedAuthority, DataModel {
|
public class Role extends BaseSimpleData implements GrantedAuthority, DataModel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -32,6 +33,7 @@ public class Role extends BaseSimpleData implements GrantedAuthority, DataModel
|
|||||||
@ManyToMany
|
@ManyToMany
|
||||||
@LazyCollection(LazyCollectionOption.FALSE)
|
@LazyCollection(LazyCollectionOption.FALSE)
|
||||||
@JoinTable(name="ROLE_PERMISSION", joinColumns={@JoinColumn(name="ROLE_ID")}, inverseJoinColumns={@JoinColumn(name="PERMISSION_ID")})
|
@JoinTable(name="ROLE_PERMISSION", joinColumns={@JoinColumn(name="ROLE_ID")}, inverseJoinColumns={@JoinColumn(name="PERMISSION_ID")})
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<Permission> permissions;
|
private List<Permission> permissions;
|
||||||
@Column(name = "WORKGROUP")
|
@Column(name = "WORKGROUP")
|
||||||
private boolean workgroup;
|
private boolean workgroup;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Entity;
|
import javax.persistence.Entity;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
@@ -10,6 +13,7 @@ import java.util.Date;
|
|||||||
*/
|
*/
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "SEASON")
|
@Table(name = "SEASON")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class Season extends BaseData {
|
public class Season extends BaseData {
|
||||||
@Column(name = "DESCRIPTION")
|
@Column(name = "DESCRIPTION")
|
||||||
private String description;
|
private String description;
|
||||||
|
|||||||
@@ -2,6 +2,8 @@ package info.bukova.isspst.data;
|
|||||||
|
|
||||||
import info.bukova.isspst.Constants;
|
import info.bukova.isspst.Constants;
|
||||||
import info.bukova.isspst.storage.EntityWithAttachment;
|
import info.bukova.isspst.storage.EntityWithAttachment;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import org.hibernate.annotations.LazyCollection;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
import org.hibernate.search.annotations.Analyze;
|
import org.hibernate.search.annotations.Analyze;
|
||||||
@@ -31,6 +33,7 @@ public class TripBill extends BaseData implements EntityWithAttachment, SeasonsA
|
|||||||
|
|
||||||
@OneToOne(fetch = FetchType.EAGER)
|
@OneToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "REQUIREMENT_ID")
|
@JoinColumn(name = "REQUIREMENT_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private TripRequirement requirement;
|
private TripRequirement requirement;
|
||||||
@Column(name = "RESULT_MESSAGE_DATE")
|
@Column(name = "RESULT_MESSAGE_DATE")
|
||||||
private Date resultMessageDate;
|
private Date resultMessageDate;
|
||||||
@@ -72,6 +75,7 @@ public class TripBill extends BaseData implements EntityWithAttachment, SeasonsA
|
|||||||
private Date paidDate;
|
private Date paidDate;
|
||||||
@ManyToOne(fetch = FetchType.EAGER)
|
@ManyToOne(fetch = FetchType.EAGER)
|
||||||
@JoinColumn(name = "SEASON_ID")
|
@JoinColumn(name = "SEASON_ID")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private Season season;
|
private Season season;
|
||||||
|
|
||||||
public TripBill() {
|
public TripBill() {
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.storage.EntityWithAttachment;
|
import info.bukova.isspst.storage.EntityWithAttachment;
|
||||||
|
import org.hibernate.annotations.LazyCollection;
|
||||||
import java.math.BigDecimal;
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
import java.util.ArrayList;
|
import org.hibernate.search.annotations.Analyze;
|
||||||
import java.util.Date;
|
import org.hibernate.search.annotations.Field;
|
||||||
import java.util.List;
|
import org.hibernate.search.annotations.Index;
|
||||||
|
import org.hibernate.search.annotations.Indexed;
|
||||||
|
import org.hibernate.search.annotations.IndexedEmbedded;
|
||||||
|
|
||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
@@ -16,14 +18,10 @@ import javax.persistence.JoinTable;
|
|||||||
import javax.persistence.ManyToMany;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.OneToMany;
|
import javax.persistence.OneToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import java.util.ArrayList;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
import java.util.Date;
|
||||||
import org.hibernate.search.annotations.Analyze;
|
import java.util.List;
|
||||||
import org.hibernate.search.annotations.Field;
|
|
||||||
import org.hibernate.search.annotations.Index;
|
|
||||||
import org.hibernate.search.annotations.Indexed;
|
|
||||||
import org.hibernate.search.annotations.IndexedEmbedded;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "TRIPREQUIREMENT")
|
@Table(name = "TRIPREQUIREMENT")
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.StringUtils;
|
import info.bukova.isspst.StringUtils;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
import java.util.ArrayList;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import java.util.List;
|
import org.hibernate.search.annotations.Analyze;
|
||||||
|
import org.hibernate.search.annotations.Field;
|
||||||
|
import org.hibernate.search.annotations.Index;
|
||||||
|
import org.hibernate.search.annotations.Indexed;
|
||||||
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
|
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
import javax.persistence.Embedded;
|
import javax.persistence.Embedded;
|
||||||
@@ -13,16 +17,13 @@ import javax.persistence.JoinColumn;
|
|||||||
import javax.persistence.JoinTable;
|
import javax.persistence.JoinTable;
|
||||||
import javax.persistence.ManyToMany;
|
import javax.persistence.ManyToMany;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
|
import java.util.ArrayList;
|
||||||
import org.hibernate.search.annotations.Analyze;
|
import java.util.List;
|
||||||
import org.hibernate.search.annotations.Field;
|
|
||||||
import org.hibernate.search.annotations.Index;
|
|
||||||
import org.hibernate.search.annotations.Indexed;
|
|
||||||
import org.springframework.security.core.userdetails.UserDetails;
|
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name="USER")
|
@Table(name="USER")
|
||||||
@Indexed
|
@Indexed
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class User extends Member implements UserDetails, DataModel {
|
public class User extends Member implements UserDetails, DataModel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -50,6 +51,7 @@ public class User extends Member implements UserDetails, DataModel {
|
|||||||
private boolean notify;
|
private boolean notify;
|
||||||
@ManyToMany(fetch=FetchType.EAGER)
|
@ManyToMany(fetch=FetchType.EAGER)
|
||||||
@JoinTable(name="USER_ROLE", joinColumns={@JoinColumn(name="USER_ID")}, inverseJoinColumns={@JoinColumn(name="ROLE_ID")})
|
@JoinTable(name="USER_ROLE", joinColumns={@JoinColumn(name="USER_ID")}, inverseJoinColumns={@JoinColumn(name="ROLE_ID")})
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<Role> authorities;
|
private List<Role> authorities;
|
||||||
@Column(name="SETTINGS", length=1048576)
|
@Column(name="SETTINGS", length=1048576)
|
||||||
private String settings;
|
private String settings;
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
package info.bukova.isspst.data;
|
package info.bukova.isspst.data;
|
||||||
|
|
||||||
import info.bukova.isspst.StringUtils;
|
import info.bukova.isspst.StringUtils;
|
||||||
|
import org.hibernate.annotations.Cache;
|
||||||
import java.io.Serializable;
|
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||||
import java.math.BigDecimal;
|
import org.hibernate.annotations.LazyCollection;
|
||||||
import java.util.ArrayList;
|
import org.hibernate.annotations.LazyCollectionOption;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import javax.persistence.CascadeType;
|
import javax.persistence.CascadeType;
|
||||||
import javax.persistence.Column;
|
import javax.persistence.Column;
|
||||||
@@ -17,12 +16,14 @@ import javax.persistence.ManyToMany;
|
|||||||
import javax.persistence.ManyToOne;
|
import javax.persistence.ManyToOne;
|
||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.Transient;
|
import javax.persistence.Transient;
|
||||||
|
import java.io.Serializable;
|
||||||
import org.hibernate.annotations.LazyCollection;
|
import java.math.BigDecimal;
|
||||||
import org.hibernate.annotations.LazyCollectionOption;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "WORKGROUP")
|
@Table(name = "WORKGROUP")
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
public class Workgroup extends Member implements OwnedDataModel, Serializable {
|
public class Workgroup extends Member implements OwnedDataModel, Serializable {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -37,6 +38,7 @@ public class Workgroup extends Member implements OwnedDataModel, Serializable {
|
|||||||
@ManyToMany(cascade = {CascadeType.ALL})
|
@ManyToMany(cascade = {CascadeType.ALL})
|
||||||
@LazyCollection(LazyCollectionOption.TRUE)
|
@LazyCollection(LazyCollectionOption.TRUE)
|
||||||
@JoinTable(name="WORKGROUP_MEMBER", joinColumns={@JoinColumn(name="WORKGROUP_ID")}, inverseJoinColumns={@JoinColumn(name="JOBMAPPING_ID")})
|
@JoinTable(name="WORKGROUP_MEMBER", joinColumns={@JoinColumn(name="WORKGROUP_ID")}, inverseJoinColumns={@JoinColumn(name="JOBMAPPING_ID")})
|
||||||
|
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
|
||||||
private List<JobMapping> members;
|
private List<JobMapping> members;
|
||||||
@Column(name = "CENTRE")
|
@Column(name = "CENTRE")
|
||||||
private boolean centre;
|
private boolean centre;
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package info.bukova.isspst.filters;
|
package info.bukova.isspst.filters;
|
||||||
|
|
||||||
|
import info.bukova.isspst.BigDecimalUtils;
|
||||||
import info.bukova.isspst.BooleanUtils;
|
import info.bukova.isspst.BooleanUtils;
|
||||||
import info.bukova.isspst.DateTimeUtils;
|
import info.bukova.isspst.DateTimeUtils;
|
||||||
import info.bukova.isspst.StringUtils;
|
import info.bukova.isspst.StringUtils;
|
||||||
@@ -48,7 +49,8 @@ public class RequirementFilter implements Filter<Requirement>
|
|||||||
boolean foundDeliveryDate = DateTimeUtils.isEqualByDateForFilter(item.getDeliveryDate(), condition.getDeliveryDate());
|
boolean foundDeliveryDate = DateTimeUtils.isEqualByDateForFilter(item.getDeliveryDate(), condition.getDeliveryDate());
|
||||||
boolean foundUser = User.isEqualByUserForFilter(item.getOwnedBy(), condition.getOwnedBy());
|
boolean foundUser = User.isEqualByUserForFilter(item.getOwnedBy(), condition.getOwnedBy());
|
||||||
boolean foundProject = BooleanUtils.isEqualByBooleanValue(item.getProject(), condition.getProject());
|
boolean foundProject = BooleanUtils.isEqualByBooleanValue(item.getProject(), condition.getProject());
|
||||||
return (foundNumser && foundReqDate && foundCenter && foundDescription && foundDeliveryDate && foundUser && foundProject);
|
boolean foundSumTotal = BigDecimalUtils.isEqualByDecimalForFilter(item.getSumTotal(), condition.getSumTotal());
|
||||||
|
return (foundNumser && foundReqDate && foundCenter && foundDescription && foundDeliveryDate && foundUser && foundProject && foundSumTotal);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Factory
|
@Factory
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ public class InvoicingServiceImpl extends AbstractOwnedService<Invoicing> implem
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
||||||
public List<Invoicing> getMaterialPendingList() {
|
public List<Invoicing> getMaterialPendingList() {
|
||||||
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed Is Null or inv.completed = false) and (rq.kind = :kind) order by rq.numser");
|
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed Is Null or inv.completed = false) and (rq.kind = :kind) order by rq.numser desc");
|
||||||
q.setParameter("kind", Constants.REQ_TYPE_MATERIAL);
|
q.setParameter("kind", Constants.REQ_TYPE_MATERIAL);
|
||||||
return q.list();
|
return q.list();
|
||||||
}
|
}
|
||||||
@@ -139,7 +139,7 @@ public class InvoicingServiceImpl extends AbstractOwnedService<Invoicing> implem
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
||||||
public List<Invoicing> getMaterialArchiveList() {
|
public List<Invoicing> getMaterialArchiveList() {
|
||||||
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed = true) and (rq.kind = :kind) order by rq.numser");
|
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed = true) and (rq.kind = :kind) order by rq.numser desc");
|
||||||
q.setParameter("kind", Constants.REQ_TYPE_MATERIAL);
|
q.setParameter("kind", Constants.REQ_TYPE_MATERIAL);
|
||||||
return q.list();
|
return q.list();
|
||||||
}
|
}
|
||||||
@@ -149,7 +149,7 @@ public class InvoicingServiceImpl extends AbstractOwnedService<Invoicing> implem
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
||||||
public List<Invoicing> getServicesPendingList() {
|
public List<Invoicing> getServicesPendingList() {
|
||||||
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed Is Null or inv.completed = false) and (rq.kind = :kind) order by rq.numser");
|
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed Is Null or inv.completed = false) and (rq.kind = :kind) order by rq.numser desc");
|
||||||
q.setParameter("kind", Constants.REQ_TYPE_SERVICES);
|
q.setParameter("kind", Constants.REQ_TYPE_SERVICES);
|
||||||
return q.list();
|
return q.list();
|
||||||
}
|
}
|
||||||
@@ -159,7 +159,7 @@ public class InvoicingServiceImpl extends AbstractOwnedService<Invoicing> implem
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
@PreAuthorize("hasPermission(this, 'PERM_READ')")
|
||||||
public List<Invoicing> getServicesArchiveList() {
|
public List<Invoicing> getServicesArchiveList() {
|
||||||
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed = true) and (rq.kind = :kind) order by rq.numser");
|
Query q = dao.getQuery("select inv from Invoicing as inv join fetch inv.requirement rq join fetch rq.ownedBy where (inv.completed = true) and (rq.kind = :kind) order by rq.numser desc");
|
||||||
q.setParameter("kind", Constants.REQ_TYPE_SERVICES);
|
q.setParameter("kind", Constants.REQ_TYPE_SERVICES);
|
||||||
return q.list();
|
return q.list();
|
||||||
}
|
}
|
||||||
|
|||||||
+18
-3
@@ -35,8 +35,11 @@ import info.bukova.isspst.services.workgroups.WorkgroupService;
|
|||||||
import info.bukova.isspst.signapi.SignData;
|
import info.bukova.isspst.signapi.SignData;
|
||||||
import info.bukova.isspst.storage.FileStorage;
|
import info.bukova.isspst.storage.FileStorage;
|
||||||
import info.bukova.isspst.storage.ReportFileStorage;
|
import info.bukova.isspst.storage.ReportFileStorage;
|
||||||
|
import info.bukova.isspst.storage.StorageException;
|
||||||
import org.hibernate.LazyInitializationException;
|
import org.hibernate.LazyInitializationException;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PostFilter;
|
import org.springframework.security.access.prepost.PostFilter;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
@@ -87,6 +90,8 @@ public abstract class RequirementBaseServiceImpl<T extends RequirementBase> exte
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SeasonService seasonService;
|
private SeasonService seasonService;
|
||||||
|
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(RequirementBaseServiceImpl.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_ADD')")
|
@PreAuthorize("hasPermission(this, 'PERM_ADD')")
|
||||||
@@ -580,9 +585,14 @@ public abstract class RequirementBaseServiceImpl<T extends RequirementBase> exte
|
|||||||
public void update(T entity) {
|
public void update(T entity) {
|
||||||
entity.getAuthorization().clear();
|
entity.getAuthorization().clear();
|
||||||
entity.setState(RequirementState.NEW);
|
entity.setState(RequirementState.NEW);
|
||||||
signedDocumentService.deleteForEntity(entity);
|
|
||||||
|
|
||||||
super.update(entity);
|
super.update(entity);
|
||||||
|
|
||||||
|
try {
|
||||||
|
signedDocumentService.deleteForEntity(entity);
|
||||||
|
} catch (StorageException e) {
|
||||||
|
logger.warn(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
sendToApprovers(entity);
|
sendToApprovers(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -590,7 +600,12 @@ public abstract class RequirementBaseServiceImpl<T extends RequirementBase> exte
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_DELETE') or hasPermission(#entity, this.getDeleteEntityPermission())")
|
@PreAuthorize("hasPermission(this, 'PERM_DELETE') or hasPermission(#entity, this.getDeleteEntityPermission())")
|
||||||
public void delete(T entity) {
|
public void delete(T entity) {
|
||||||
signedDocumentService.delFromApprove(signedDocumentService.getForEntity(entity));
|
|
||||||
super.delete(entity);
|
super.delete(entity);
|
||||||
|
|
||||||
|
try {
|
||||||
|
signedDocumentService.delFromApprove(signedDocumentService.getForEntity(entity));
|
||||||
|
} catch (StorageException e) {
|
||||||
|
logger.warn(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+22
-2
@@ -12,7 +12,10 @@ import info.bukova.isspst.services.IsspstException;
|
|||||||
import info.bukova.isspst.services.requirement.RequirementBaseServiceImpl;
|
import info.bukova.isspst.services.requirement.RequirementBaseServiceImpl;
|
||||||
import info.bukova.isspst.services.requirement.RequirementTypeService;
|
import info.bukova.isspst.services.requirement.RequirementTypeService;
|
||||||
import info.bukova.isspst.services.signeddocs.SignedDocumentService;
|
import info.bukova.isspst.services.signeddocs.SignedDocumentService;
|
||||||
|
import info.bukova.isspst.storage.StorageException;
|
||||||
import org.hibernate.Query;
|
import org.hibernate.Query;
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
@@ -31,6 +34,8 @@ public class TripBillApprovalServiceImpl extends RequirementBaseServiceImpl<Trip
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SignedDocumentService signedDocumentService;
|
private SignedDocumentService signedDocumentService;
|
||||||
|
|
||||||
|
private final static Logger logger = LoggerFactory.getLogger(TripBillApproval.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public TripBillApproval createApproval(TripBill bill) {
|
public TripBillApproval createApproval(TripBill bill) {
|
||||||
if (bill.getApproval() != null) {
|
if (bill.getApproval() != null) {
|
||||||
@@ -72,9 +77,24 @@ public class TripBillApprovalServiceImpl extends RequirementBaseServiceImpl<Trip
|
|||||||
@Transactional
|
@Transactional
|
||||||
@PreAuthorize("hasPermission(this, 'PERM_DELETE') or this.canApprove(#bill.approval)")
|
@PreAuthorize("hasPermission(this, 'PERM_DELETE') or this.canApprove(#bill.approval)")
|
||||||
public void cancelApproval(TripBill bill) {
|
public void cancelApproval(TripBill bill) {
|
||||||
|
TripBillApproval approval = bill.getApproval();
|
||||||
|
|
||||||
|
if (approval != null) {
|
||||||
|
super.delete(approval);
|
||||||
|
}
|
||||||
|
|
||||||
|
removeApproval(bill);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeApproval(TripBill bill) {
|
||||||
bill.setApproval(null);
|
bill.setApproval(null);
|
||||||
signedDocumentService.deleteForEntity(bill);
|
|
||||||
tripBillService.update(bill);
|
tripBillService.update(bill);
|
||||||
|
|
||||||
|
try {
|
||||||
|
signedDocumentService.deleteForEntity(bill);
|
||||||
|
} catch (StorageException e) {
|
||||||
|
logger.warn(e.getMessage());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -96,7 +116,7 @@ public class TripBillApprovalServiceImpl extends RequirementBaseServiceImpl<Trip
|
|||||||
|
|
||||||
if (bill != null) {
|
if (bill != null) {
|
||||||
dao.delete(entity);
|
dao.delete(entity);
|
||||||
cancelApproval(bill);
|
removeApproval(bill);
|
||||||
} else {
|
} else {
|
||||||
super.delete(entity);
|
super.delete(entity);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ public class TripBillServiceImpl extends AbstractOwnedService<TripBill> implemen
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (item.getBackDeparture() == null) {
|
if (item.getBackDeparture() == null) {
|
||||||
timeBack = (new LocalTime()).withHourOfDay(23).withMinuteOfHour(59);
|
timeBack = (new LocalTime()).withHourOfDay(23).withMinuteOfHour(00);
|
||||||
allDay = true;
|
allDay = true;
|
||||||
} else {
|
} else {
|
||||||
timeBack = new LocalTime(item.getBackDeparture());
|
timeBack = new LocalTime(item.getBackDeparture());
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package info.bukova.isspst.ui;
|
||||||
|
|
||||||
|
import org.slf4j.Logger;
|
||||||
|
import org.slf4j.LoggerFactory;
|
||||||
|
import org.zkoss.bind.BindContext;
|
||||||
|
import org.zkoss.bind.Converter;
|
||||||
|
import org.zkoss.util.Locales;
|
||||||
|
import org.zkoss.zk.ui.Component;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
import java.text.ParseException;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
public class BigDecimalFilterConverter implements Converter<String, BigDecimal, Component>
|
||||||
|
{
|
||||||
|
private final static Logger log = LoggerFactory.getLogger(BigDecimalFilterConverter.class.getName());
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BigDecimal coerceToBean(String str, Component component, BindContext cx)
|
||||||
|
{
|
||||||
|
// BigDecimal val = BigDecimal.ZERO;
|
||||||
|
BigDecimal val = null;
|
||||||
|
|
||||||
|
if (str != null)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Locale loc = Locales.getCurrent();
|
||||||
|
DecimalFormat format = (DecimalFormat) DecimalFormat.getInstance(loc);
|
||||||
|
format.setParseBigDecimal(true);
|
||||||
|
val = (BigDecimal) format.parse(str);
|
||||||
|
}
|
||||||
|
catch (NumberFormatException e)
|
||||||
|
{
|
||||||
|
log.warn(str, e);
|
||||||
|
}
|
||||||
|
catch (ParseException e)
|
||||||
|
{
|
||||||
|
log.warn(str, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String coerceToUi(BigDecimal val, Component component, BindContext cx)
|
||||||
|
{
|
||||||
|
Locale loc = Locales.getCurrent();
|
||||||
|
|
||||||
|
if (val == null)
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
//val = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
|
||||||
|
val = val.setScale(2, BigDecimal.ROUND_DOWN);
|
||||||
|
|
||||||
|
DecimalFormat format = (DecimalFormat) DecimalFormat.getInstance(loc);
|
||||||
|
format.setMaximumFractionDigits(2);
|
||||||
|
format.setMinimumFractionDigits(0);
|
||||||
|
format.setGroupingUsed(true);
|
||||||
|
format.setGroupingSize(3);
|
||||||
|
String formatted = format.format(val);
|
||||||
|
return formatted;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -16,6 +16,18 @@ import org.zkoss.zul.Messagebox;
|
|||||||
|
|
||||||
public class DocumentViewModel
|
public class DocumentViewModel
|
||||||
{
|
{
|
||||||
|
protected BigDecimalFilterConverter standardBigDecimalFilterConverter;
|
||||||
|
|
||||||
|
public BigDecimalFilterConverter getStandardBigDecimalFilterConverter()
|
||||||
|
{
|
||||||
|
return standardBigDecimalFilterConverter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStandardBigDecimalFilterConverter(BigDecimalFilterConverter standardBigDecimalFilterConverter)
|
||||||
|
{
|
||||||
|
this.standardBigDecimalFilterConverter = standardBigDecimalFilterConverter;
|
||||||
|
}
|
||||||
|
|
||||||
protected BigDecimalConverter standardBigDecimalConverter;
|
protected BigDecimalConverter standardBigDecimalConverter;
|
||||||
|
|
||||||
protected BoolConverter standardBoolConverter;
|
protected BoolConverter standardBoolConverter;
|
||||||
@@ -53,6 +65,7 @@ public class DocumentViewModel
|
|||||||
@Init
|
@Init
|
||||||
public void initDocumentViewModel()
|
public void initDocumentViewModel()
|
||||||
{
|
{
|
||||||
|
this.standardBigDecimalFilterConverter = new BigDecimalFilterConverter();
|
||||||
this.standardBigDecimalConverter = new BigDecimalConverter();
|
this.standardBigDecimalConverter = new BigDecimalConverter();
|
||||||
this.standardBoolConverter = new BoolConverter();
|
this.standardBoolConverter = new BoolConverter();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,10 +23,12 @@ import org.zkoss.zk.ui.Executions;
|
|||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||||
|
import org.zkoss.zul.Listheader;
|
||||||
import org.zkoss.zul.Messagebox;
|
import org.zkoss.zul.Messagebox;
|
||||||
import org.zkoss.zul.Window;
|
import org.zkoss.zul.Window;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@@ -48,6 +50,7 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
private boolean sortDesc = true;
|
private boolean sortDesc = true;
|
||||||
private boolean newRec = false;
|
private boolean newRec = false;
|
||||||
private boolean fullFill = false;
|
private boolean fullFill = false;
|
||||||
|
private Listheader sortHeader;
|
||||||
|
|
||||||
@WireVariable
|
@WireVariable
|
||||||
private SeasonService seasonService;
|
private SeasonService seasonService;
|
||||||
@@ -144,6 +147,7 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
dataList = fullList;
|
dataList = fullList;
|
||||||
dataBean = null;
|
dataBean = null;
|
||||||
selIndex = -1;
|
selIndex = -1;
|
||||||
|
restoreSort();
|
||||||
} else {
|
} else {
|
||||||
doFilter();
|
doFilter();
|
||||||
dataBean = null;
|
dataBean = null;
|
||||||
@@ -280,9 +284,10 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
dataList.set(selIndex, editBean);
|
dataList.set(selIndex, editBean);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BindUtils.postGlobalCommand(null, null, "reloadRelated", null);
|
BindUtils.postGlobalCommand(null, null, "reloadRelated", null);
|
||||||
|
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@@ -334,13 +339,13 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selIndex > -1) {
|
if (selIndex > -1) {
|
||||||
this.setDataBean(dataList.get(selIndex));
|
this.setDataBean(dataList.get(selIndex));
|
||||||
afterSelect();
|
afterSelect();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void beforeSelectViaUrl() {
|
protected void beforeSelectViaUrl() {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -350,14 +355,13 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Command
|
@Command
|
||||||
@NotifyChange("dataBean")
|
@NotifyChange({"dataBean", "canApprove"})
|
||||||
public void onSort(@BindingParam("column") String column) {
|
public void onSortHeader(@BindingParam("header") Listheader header) {
|
||||||
if (sortCol == null || this.sortCol.equals(column))
|
sortHeader = header;
|
||||||
this.sortDesc = !this.sortDesc;
|
|
||||||
|
|
||||||
this.sortCol = column;
|
|
||||||
selIndex = -1;
|
selIndex = -1;
|
||||||
dataBean = null;
|
dataBean = null;
|
||||||
|
Collections.sort(dataList,
|
||||||
|
sortHeader.getSortDirection().equals("ascending") ? sortHeader.getSortDescending() : sortHeader.getSortAscending());
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getSelIndex() {
|
public int getSelIndex() {
|
||||||
@@ -412,7 +416,28 @@ public class ListViewModel<T extends DataModel> extends DocumentViewModel
|
|||||||
protected void setFullFill(boolean fullFill) {
|
protected void setFullFill(boolean fullFill) {
|
||||||
this.fullFill = fullFill;
|
this.fullFill = fullFill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void restoreUserView() {
|
||||||
|
int sel = selIndex;
|
||||||
|
|
||||||
|
restoreFilter();
|
||||||
|
restoreSort();
|
||||||
|
selIndex = sel;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void restoreSort() {
|
||||||
|
if (sortHeader != null) {
|
||||||
|
Collections.sort(dataList,
|
||||||
|
sortHeader.getSortDirection().equals("ascending") ? sortHeader.getSortAscending() : sortHeader.getSortDescending());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void restoreFilter() {
|
||||||
|
if (filter) {
|
||||||
|
doFilter();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isRecordSelected()
|
public boolean isRecordSelected()
|
||||||
{
|
{
|
||||||
return (dataBean != null);
|
return (dataBean != null);
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ public class ApproveDialogVM {
|
|||||||
BindUtils.postNotifyChange(null, null, grid, "dataBean");
|
BindUtils.postNotifyChange(null, null, grid, "dataBean");
|
||||||
BindUtils.postNotifyChange(null, null, grid, "canApprove");
|
BindUtils.postNotifyChange(null, null, grid, "canApprove");
|
||||||
BindUtils.postGlobalCommand(null, null, "reload", null);
|
BindUtils.postGlobalCommand(null, null, "reload", null);
|
||||||
|
grid.refresh();
|
||||||
window.detach();
|
window.detach();
|
||||||
} catch (ApproveException ex) {
|
} catch (ApproveException ex) {
|
||||||
Messagebox.show(StringUtils.localize(ex.getReason()), StringUtils.localize("Error"), Messagebox.OK,
|
Messagebox.show(StringUtils.localize(ex.getReason()), StringUtils.localize("Error"), Messagebox.OK,
|
||||||
|
|||||||
@@ -6,11 +6,6 @@ import info.bukova.isspst.filters.RequirementFilter;
|
|||||||
import info.bukova.isspst.services.requirement.RequirementService;
|
import info.bukova.isspst.services.requirement.RequirementService;
|
||||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||||
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.security.access.AccessDeniedException;
|
import org.springframework.security.access.AccessDeniedException;
|
||||||
import org.zkoss.bind.BindUtils;
|
import org.zkoss.bind.BindUtils;
|
||||||
import org.zkoss.bind.annotation.GlobalCommand;
|
import org.zkoss.bind.annotation.GlobalCommand;
|
||||||
@@ -18,6 +13,10 @@ import org.zkoss.bind.annotation.Init;
|
|||||||
import org.zkoss.bind.annotation.NotifyChange;
|
import org.zkoss.bind.annotation.NotifyChange;
|
||||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ReqListMyAll extends RequirementSubpage<Requirement>
|
public class ReqListMyAll extends RequirementSubpage<Requirement>
|
||||||
{
|
{
|
||||||
@WireVariable
|
@WireVariable
|
||||||
@@ -55,10 +54,11 @@ public class ReqListMyAll extends RequirementSubpage<Requirement>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill", "selIndex" })
|
||||||
public void reloadRelated()
|
public void reloadRelated()
|
||||||
{
|
{
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,11 +6,6 @@ import info.bukova.isspst.filters.RequirementFilter;
|
|||||||
import info.bukova.isspst.services.requirement.RequirementService;
|
import info.bukova.isspst.services.requirement.RequirementService;
|
||||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||||
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.security.access.AccessDeniedException;
|
import org.springframework.security.access.AccessDeniedException;
|
||||||
import org.zkoss.bind.BindUtils;
|
import org.zkoss.bind.BindUtils;
|
||||||
import org.zkoss.bind.annotation.GlobalCommand;
|
import org.zkoss.bind.annotation.GlobalCommand;
|
||||||
@@ -18,6 +13,10 @@ import org.zkoss.bind.annotation.Init;
|
|||||||
import org.zkoss.bind.annotation.NotifyChange;
|
import org.zkoss.bind.annotation.NotifyChange;
|
||||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ReqListMyCenters extends RequirementSubpage<Requirement>
|
public class ReqListMyCenters extends RequirementSubpage<Requirement>
|
||||||
{
|
{
|
||||||
@WireVariable
|
@WireVariable
|
||||||
@@ -55,10 +54,11 @@ public class ReqListMyCenters extends RequirementSubpage<Requirement>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill", "selIndex" })
|
||||||
public void reloadRelated()
|
public void reloadRelated()
|
||||||
{
|
{
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+6
-6
@@ -6,11 +6,6 @@ import info.bukova.isspst.filters.RequirementFilter;
|
|||||||
import info.bukova.isspst.services.requirement.RequirementService;
|
import info.bukova.isspst.services.requirement.RequirementService;
|
||||||
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
import info.bukova.isspst.services.workgroups.WorkgroupService;
|
||||||
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
import info.bukova.isspst.ui.requirement.RequirementSubpage;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
import org.springframework.security.access.AccessDeniedException;
|
import org.springframework.security.access.AccessDeniedException;
|
||||||
import org.zkoss.bind.BindUtils;
|
import org.zkoss.bind.BindUtils;
|
||||||
import org.zkoss.bind.annotation.GlobalCommand;
|
import org.zkoss.bind.annotation.GlobalCommand;
|
||||||
@@ -18,6 +13,10 @@ import org.zkoss.bind.annotation.Init;
|
|||||||
import org.zkoss.bind.annotation.NotifyChange;
|
import org.zkoss.bind.annotation.NotifyChange;
|
||||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class ReqListMyWorkgroups extends RequirementSubpage<Requirement>
|
public class ReqListMyWorkgroups extends RequirementSubpage<Requirement>
|
||||||
{
|
{
|
||||||
@WireVariable
|
@WireVariable
|
||||||
@@ -55,10 +54,11 @@ public class ReqListMyWorkgroups extends RequirementSubpage<Requirement>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill", "selIndex" })
|
||||||
public void reloadRelated()
|
public void reloadRelated()
|
||||||
{
|
{
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -63,9 +63,10 @@ public class TripRequirementListAll extends RequirementSubpage<TripRequirement>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill", "selIndex" })
|
||||||
public void reloadRelated() {
|
public void reloadRelated() {
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ public class TripRequirementListCentre extends RequirementSubpage<TripRequiremen
|
|||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
||||||
public void reloadRelated() {
|
public void reloadRelated() {
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ public class TripRequirementListWorkgroup extends RequirementSubpage<TripRequire
|
|||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
||||||
public void reloadRelated() {
|
public void reloadRelated() {
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -78,9 +78,9 @@ public class TripBillListBase extends RequirementSubpage<TripBillApproval> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GlobalCommand
|
@GlobalCommand
|
||||||
@NotifyChange({ "dataList", "dataBean", "fullFill" })
|
@NotifyChange({ "dataList", "dataBean", "fullFill", "selIndex" })
|
||||||
public void reloadRelated()
|
public void reloadRelated() {
|
||||||
{
|
|
||||||
this.reload();
|
this.reload();
|
||||||
|
restoreUserView();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd">
|
||||||
|
|
||||||
|
<diskStore path="java.io.tmpdir"/>
|
||||||
|
<defaultCache
|
||||||
|
eternal="false"
|
||||||
|
maxElementsInMemory="100000"
|
||||||
|
timeToLiveSeconds="1800"
|
||||||
|
overflowToDisk="true" />
|
||||||
|
|
||||||
|
<!--<cache name="info.bukova.isspst.data.User"
|
||||||
|
maxElementsInMemory="1000"
|
||||||
|
overflowToDisk="false"/>
|
||||||
|
|
||||||
|
<cache name="info.bukova.isspst.data.Role"
|
||||||
|
maxElementsInMemory="1000"
|
||||||
|
overflowToDisk="false"/>
|
||||||
|
|
||||||
|
<cache name="info.bukova.isspst.data.Permission"
|
||||||
|
maxElementsInMemory="1000"
|
||||||
|
overflowToDisk="false"/>
|
||||||
|
|
||||||
|
<cache name="info.bukova.isspst.data.Requirement"
|
||||||
|
maxElementsInMemory="10000"
|
||||||
|
overflowToDisk="true"/>
|
||||||
|
|
||||||
|
<cache name="info.bukova.isspst.data.TripRequirement"
|
||||||
|
maxElementsInMemory="10000"
|
||||||
|
overflowToDisk="true"/>
|
||||||
|
|
||||||
|
<cache name="info.bukova.isspst.data.TripBillApproval"
|
||||||
|
maxElementsInMemory="10000"
|
||||||
|
overflowToDisk="true"/>-->
|
||||||
|
|
||||||
|
</ehcache>
|
||||||
@@ -58,6 +58,10 @@
|
|||||||
<prop key="hibernate.search.default.directory_provider">filesystem</prop>
|
<prop key="hibernate.search.default.directory_provider">filesystem</prop>
|
||||||
<prop key="hibernate.search.default.indexBase">${storage.fulltextIndex}</prop>
|
<prop key="hibernate.search.default.indexBase">${storage.fulltextIndex}</prop>
|
||||||
<prop key="hibernate.search.analyzer">org.apache.lucene.analysis.cz.CzechAnalyzer</prop>
|
<prop key="hibernate.search.analyzer">org.apache.lucene.analysis.cz.CzechAnalyzer</prop>
|
||||||
|
<prop key="hibernate.cache.use_second_level_cache">true</prop>
|
||||||
|
<prop key="hibernate.cache.use_query_cache">true</prop>
|
||||||
|
<prop key="hibernate.generate_statistics">true</prop>
|
||||||
|
<prop key="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</prop>
|
||||||
<!-- <prop key="hibernate.enable_lazy_load_no_trans">true</prop> -->
|
<!-- <prop key="hibernate.enable_lazy_load_no_trans">true</prop> -->
|
||||||
</props>
|
</props>
|
||||||
</property>
|
</property>
|
||||||
|
|||||||
@@ -51,6 +51,6 @@
|
|||||||
<div id="mainData">
|
<div id="mainData">
|
||||||
<u:include src="${gridZul}" />
|
<u:include src="${gridZul}" />
|
||||||
</div>
|
</div>
|
||||||
<div id="footer"> Verze 3.1 </div>
|
<div id="footer"> Verze 4.1 </div>
|
||||||
</div>
|
</div>
|
||||||
</html>
|
</html>
|
||||||
@@ -61,6 +61,24 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.z-listitem:hover .z-listcell {
|
||||||
|
background: none;
|
||||||
|
}
|
||||||
|
.z-listitem:hover .z-listcell-content {
|
||||||
|
/* přechod myší nad položkou pouze hodnoty ztuční */
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.z-listitem.z-listitem-selected .z-listcell {
|
||||||
|
/* vybraná položka pouze hodnoty ztuční */
|
||||||
|
background: none !important;
|
||||||
|
}
|
||||||
|
.z-listitem-selected .z-listcell .z-listcell-content {
|
||||||
|
/* vybraná položka pouze hodnoty ztuční */
|
||||||
|
font-weight: bold;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
.combo {
|
.combo {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
|
|||||||
@@ -9,37 +9,44 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.InvoicingRequirementNumber}"
|
label="${labels.InvoicingRequirementNumber}"
|
||||||
sort="czech(requirement.numser)"
|
sort="czech(requirement.numser)"
|
||||||
onCreate="self.sort(false)"
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="130px" />
|
width="130px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(requirement.reqDate)"
|
sort="auto(requirement.reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="150px" />
|
width="150px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="czech(requirement.centre.fullName)"
|
sort="czech(requirement.centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="180px" />
|
width="180px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridWorkgroup}"
|
label="${labels.RequirementsGridWorkgroup}"
|
||||||
sort="czech(requirement.workgroup.fullName)"
|
sort="czech(requirement.workgroup.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="180px" />
|
width="180px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.InvoicingApplicant}"
|
label="${labels.InvoicingApplicant}"
|
||||||
sort="czech(requirement.ownedBy.fullName)"
|
sort="czech(requirement.ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="180px" />
|
width="180px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.InvoicingDescription}"
|
label="${labels.InvoicingDescription}"
|
||||||
sort="czech(requirement.description)"
|
sort="czech(requirement.description)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="" />
|
width="" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.InvoicingRequirementPrice}"
|
label="${labels.InvoicingRequirementPrice}"
|
||||||
sort="auto(requirement.sumTotal)"
|
sort="auto(requirement.sumTotal)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
align="right"
|
align="right"
|
||||||
width="130px" />
|
width="130px" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.InvoicingInvoicedPrice}"
|
label="${labels.InvoicingInvoicedPrice}"
|
||||||
align="right"
|
align="right"
|
||||||
sort="auto(totalInvoiced)"
|
sort="auto(totalInvoiced)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="130px" />
|
width="130px" />
|
||||||
</listhead>
|
</listhead>
|
||||||
<auxhead
|
<auxhead
|
||||||
|
|||||||
@@ -120,7 +120,7 @@
|
|||||||
<div sclass="find-grid-cell">
|
<div sclass="find-grid-cell">
|
||||||
<div sclass="find-grid-divtextbox">
|
<div sclass="find-grid-divtextbox">
|
||||||
<textbox
|
<textbox
|
||||||
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
|
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.standardBigDecimalFilterConverter)"
|
||||||
instant="true"
|
instant="true"
|
||||||
onChange="@command('doFilter')"
|
onChange="@command('doFilter')"
|
||||||
maxlength="@load(vm.lengthText)"
|
maxlength="@load(vm.lengthText)"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
vflex="1"
|
vflex="1"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
itemRenderer="@load(vm.requirementsItemRenderer)"
|
itemRenderer="@load(vm.requirementsItemRenderer)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
@@ -13,34 +13,42 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.StudentProjectAbr}"
|
label="${labels.StudentProjectAbr}"
|
||||||
sort="auto(project)"
|
sort="auto(project)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="5" />
|
hflex="5" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="7" />
|
hflex="7" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDeliveryDate}"
|
label="${labels.RequirementsGridDeliveryDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.Amount}"
|
label="${labels.Amount}"
|
||||||
sort="auto(sumTotal)"
|
sort="auto(sumTotal)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
align="right"
|
align="right"
|
||||||
hflex="10" />
|
hflex="10" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDescription}"
|
label="${labels.RequirementsGridDescription}"
|
||||||
sort="czech(description)"
|
sort="czech(description)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="20" />
|
hflex="20" />
|
||||||
<listheader
|
<listheader
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
label="${labels.ownedBy}"
|
label="${labels.ownedBy}"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
</listhead>
|
</listhead>
|
||||||
@@ -128,7 +136,7 @@
|
|||||||
<div sclass="find-grid-cell">
|
<div sclass="find-grid-cell">
|
||||||
<div sclass="find-grid-divtextbox">
|
<div sclass="find-grid-divtextbox">
|
||||||
<textbox
|
<textbox
|
||||||
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
|
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.standardBigDecimalFilterConverter)"
|
||||||
instant="true"
|
instant="true"
|
||||||
onChange="@command('doFilter')"
|
onChange="@command('doFilter')"
|
||||||
maxlength="@load(vm.lengthText)"
|
maxlength="@load(vm.lengthText)"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
vflex="1"
|
vflex="1"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
itemRenderer="@load(vm.requirementsItemRenderer)"
|
itemRenderer="@load(vm.requirementsItemRenderer)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
@@ -13,34 +13,42 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.StudentProjectAbr}"
|
label="${labels.StudentProjectAbr}"
|
||||||
sort="auto(project)"
|
sort="auto(project)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="5" />
|
hflex="5" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="7" />
|
hflex="7" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDeliveryDate}"
|
label="${labels.RequirementsGridDeliveryDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.Amount}"
|
label="${labels.Amount}"
|
||||||
sort="auto(sumTotal)"
|
sort="auto(sumTotal)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
align="right"
|
align="right"
|
||||||
hflex="10" />
|
hflex="10" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDescription}"
|
label="${labels.RequirementsGridDescription}"
|
||||||
sort="czech(description)"
|
sort="czech(description)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="20" />
|
hflex="20" />
|
||||||
<listheader
|
<listheader
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
label="${labels.ownedBy}"
|
label="${labels.ownedBy}"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
</listhead>
|
</listhead>
|
||||||
@@ -128,7 +136,7 @@
|
|||||||
<div sclass="find-grid-cell">
|
<div sclass="find-grid-cell">
|
||||||
<div sclass="find-grid-divtextbox">
|
<div sclass="find-grid-divtextbox">
|
||||||
<textbox
|
<textbox
|
||||||
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
|
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.standardBigDecimalFilterConverter)"
|
||||||
instant="true"
|
instant="true"
|
||||||
onChange="@command('doFilter')"
|
onChange="@command('doFilter')"
|
||||||
maxlength="@load(vm.lengthText)"
|
maxlength="@load(vm.lengthText)"
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
vflex="1"
|
vflex="1"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
itemRenderer="@load(vm.requirementsItemRenderer)"
|
itemRenderer="@load(vm.requirementsItemRenderer)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
@@ -13,34 +13,42 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.StudentProjectAbr}"
|
label="${labels.StudentProjectAbr}"
|
||||||
sort="auto(project)"
|
sort="auto(project)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="5" />
|
hflex="5" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="7" />
|
hflex="7" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDeliveryDate}"
|
label="${labels.RequirementsGridDeliveryDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="13" />
|
hflex="13" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.Amount}"
|
label="${labels.Amount}"
|
||||||
sort="auto(sumTotal)"
|
sort="auto(sumTotal)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
align="right"
|
align="right"
|
||||||
hflex="10" />
|
hflex="10" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridDescription}"
|
label="${labels.RequirementsGridDescription}"
|
||||||
sort="czech(description)"
|
sort="czech(description)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
hflex="20" />
|
hflex="20" />
|
||||||
<listheader
|
<listheader
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
label="${labelsownedBy}"
|
label="${labelsownedBy}"
|
||||||
hflex="15" />
|
hflex="15" />
|
||||||
</listhead>
|
</listhead>
|
||||||
@@ -128,7 +136,7 @@
|
|||||||
<div sclass="find-grid-cell">
|
<div sclass="find-grid-cell">
|
||||||
<div sclass="find-grid-divtextbox">
|
<div sclass="find-grid-divtextbox">
|
||||||
<textbox
|
<textbox
|
||||||
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.bigDecimalConverter)"
|
value="@bind(vm.filterTemplate.sumTotal) @converter(vm.standardBigDecimalFilterConverter)"
|
||||||
instant="true"
|
instant="true"
|
||||||
onChange="@command('doFilter')"
|
onChange="@command('doFilter')"
|
||||||
maxlength="@load(vm.lengthText)"
|
maxlength="@load(vm.lengthText)"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
itemRenderer="@load(vm.itemRenderer)"
|
itemRenderer="@load(vm.itemRenderer)"
|
||||||
onAfterRender="@command('afterRender')"
|
onAfterRender="@command('afterRender')"
|
||||||
selectedIndex="@bind(vm.selIndex)">
|
selectedIndex="@bind(vm.selIndex)">
|
||||||
@@ -20,22 +20,27 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.TravelOrdersGridNumser}"
|
label="${labels.TravelOrdersGridNumser}"
|
||||||
sort="czech(bill.requirement.numser)"
|
sort="czech(bill.requirement.numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="30%" />
|
width="30%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.TravelOrdersGridReqDate}"
|
label="${labels.TravelOrdersGridReqDate}"
|
||||||
sort="auto(bill.requirement.reqDate)"
|
sort="auto(bill.requirement.reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="70%" />
|
width="70%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.TravelOrdersGridFrom}"
|
label="${labels.TravelOrdersGridFrom}"
|
||||||
sort="czech(bill.requirement.from)"
|
sort="czech(bill.requirement.from)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="70%" />
|
width="70%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.TravelOrdersGridTo}"
|
label="${labels.TravelOrdersGridTo}"
|
||||||
sort="czech(bill.requirement.to)"
|
sort="czech(bill.requirement.to)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="70%" />
|
width="70%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.TravelOrdersGridTotal}"
|
label="${labels.TravelOrdersGridTotal}"
|
||||||
sort="auto(bill.total)"
|
sort="auto(bill.total)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
align="right"
|
align="right"
|
||||||
width="70%" />
|
width="70%" />
|
||||||
<listheader
|
<listheader
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
<hbox vflex="1">
|
<hbox vflex="1">
|
||||||
<listbox
|
<listbox
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
@@ -21,30 +21,37 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="13%" />
|
width="13%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridWorkgroup}"
|
label="${labels.RequirementsGridWorkgroup}"
|
||||||
sort="auto(workgroup.fullName)"
|
sort="auto(workgroup.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridFrom}"
|
label="${labels.RequirementsGridFrom}"
|
||||||
sort="czech(from)"
|
sort="czech(from)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="30%" />
|
width="30%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridTo}"
|
label="${labels.RequirementsGridTo}"
|
||||||
sort="czech(to)"
|
sort="czech(to)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="30%" />
|
width="30%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridOwnedBy}"
|
label="${labels.RequirementsGridOwnedBy}"
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="20%" />
|
width="20%" />
|
||||||
</listhead>
|
</listhead>
|
||||||
<auxhead
|
<auxhead
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<hbox vflex="1">
|
<hbox vflex="1">
|
||||||
<listbox
|
<listbox
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
@@ -19,26 +19,32 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="13%" />
|
width="13%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridFrom}"
|
label="${labels.RequirementsGridFrom}"
|
||||||
sort="auto(from)"
|
sort="auto(from)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="40%" />
|
width="40%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridTo}"
|
label="${labels.RequirementsGridTo}"
|
||||||
sort="czech(to)"
|
sort="czech(to)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="40%" />
|
width="40%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridOwnedBy}"
|
label="${labels.RequirementsGridOwnedBy}"
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="20%" />
|
width="20%" />
|
||||||
</listhead>
|
</listhead>
|
||||||
<auxhead
|
<auxhead
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<hbox vflex="1">
|
<hbox vflex="1">
|
||||||
<listbox
|
<listbox
|
||||||
model="@load(vm.dataList)"
|
model="@load(vm.dataList)"
|
||||||
selectedItem="@bind(vm.dataBean)"
|
selectedItem="@save(vm.dataBean)"
|
||||||
mold="paging"
|
mold="paging"
|
||||||
autopaging="true"
|
autopaging="true"
|
||||||
hflex="7"
|
hflex="7"
|
||||||
@@ -19,30 +19,37 @@
|
|||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridNumberSerie}"
|
label="${labels.RequirementsGridNumberSerie}"
|
||||||
sort="czech(numser)"
|
sort="czech(numser)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridReqDate}"
|
label="${labels.RequirementsGridReqDate}"
|
||||||
sort="auto(reqDate)"
|
sort="auto(reqDate)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="13%" />
|
width="13%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridCenter}"
|
label="${labels.RequirementsGridCenter}"
|
||||||
sort="auto(centre.fullName)"
|
sort="auto(centre.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridWorkgroup}"
|
label="${labels.RequirementsGridWorkgroup}"
|
||||||
sort="auto(workgroup.fullName)"
|
sort="auto(workgroup.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="10%" />
|
width="10%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridFrom}"
|
label="${labels.RequirementsGridFrom}"
|
||||||
sort="czech(from)"
|
sort="czech(from)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="30%" />
|
width="30%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridTo}"
|
label="${labels.RequirementsGridTo}"
|
||||||
sort="czech(to)"
|
sort="czech(to)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="30%" />
|
width="30%" />
|
||||||
<listheader
|
<listheader
|
||||||
label="${labels.RequirementsGridOwnedBy}"
|
label="${labels.RequirementsGridOwnedBy}"
|
||||||
sort="auto(ownedBy.fullName)"
|
sort="auto(ownedBy.fullName)"
|
||||||
|
onSort="@command('onSortHeader', header=self)"
|
||||||
width="20%" />
|
width="20%" />
|
||||||
</listhead>
|
</listhead>
|
||||||
<auxhead
|
<auxhead
|
||||||
|
|||||||
Reference in New Issue
Block a user