Merge branch 'master' of https://git.bukova.info/repos/git/isspst
Conflicts: src/main/java/info/bukova/isspst/data/Requirement.javamultitenant
						commit
						0041a1744b
					
				@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface TripRequirementDao extends BaseDao<TripRequirement> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao.jpa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.dao.TripRequirementDao;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementDaoJPA extends BaseDaoJPA<TripRequirement> implements
 | 
				
			||||||
 | 
							TripRequirementDao {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,48 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.Column;
 | 
				
			||||||
 | 
					import javax.persistence.Entity;
 | 
				
			||||||
 | 
					import javax.persistence.Table;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					@Table(name = "TRIPREQUIREMENT")
 | 
				
			||||||
 | 
					public class TripRequirement extends RequirementBase {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Column(name = "TRIP_FROM")
 | 
				
			||||||
 | 
						private String from;
 | 
				
			||||||
 | 
						@Column(name = "TRIP_TO")
 | 
				
			||||||
 | 
						private String to;
 | 
				
			||||||
 | 
						@Column(name = "TRIP_DATE")
 | 
				
			||||||
 | 
						private Date tripDate;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public TripRequirement() {
 | 
				
			||||||
 | 
							this.setOwnedBy(new User());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public String getFrom() {
 | 
				
			||||||
 | 
							return from;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setFrom(String from) {
 | 
				
			||||||
 | 
							this.from = from;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public String getTo() {
 | 
				
			||||||
 | 
							return to;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setTo(String to) {
 | 
				
			||||||
 | 
							this.to = to;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Date getTripDate() {
 | 
				
			||||||
 | 
							return tripDate;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setTripDate(Date tripDate) {
 | 
				
			||||||
 | 
							this.tripDate = tripDate;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.filters;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.DateTimeUtils;
 | 
				
			||||||
 | 
					import info.bukova.isspst.StringUtils;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hamcrest.Description;
 | 
				
			||||||
 | 
					import org.hamcrest.Factory;
 | 
				
			||||||
 | 
					import org.hamcrest.Matcher;
 | 
				
			||||||
 | 
					import org.hamcrest.TypeSafeMatcher;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementFilter implements Filter<TripRequirement>
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private TripRequirement condition;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public TripRequirementFilter(TripRequirement cond)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							this.condition = cond;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						private static class TripRequirementMatcher extends TypeSafeMatcher<TripRequirement>
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							private TripRequirement condition;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							public TripRequirementMatcher(TripRequirement cond)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								this.condition = cond;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public void describeTo(Description desc)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								desc.appendText("requirement matches");
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@Override
 | 
				
			||||||
 | 
							public boolean matchesSafely(TripRequirement item)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								boolean foundNumser = StringUtils.isEqualForFilter(item.getNumser(), condition.getNumser());
 | 
				
			||||||
 | 
								boolean foundReqDate = DateTimeUtils.isEqualByDateForFilter(item.getReqDate(), condition.getReqDate());
 | 
				
			||||||
 | 
								boolean foundDescription = StringUtils.isEqualForFilter(item.getDescription(), condition.getDescription());
 | 
				
			||||||
 | 
								boolean foundFrom = StringUtils.isEqualForFilter(item.getFrom(), condition.getFrom());
 | 
				
			||||||
 | 
								boolean foundTo = StringUtils.isEqualForFilter(item.getTo(), condition.getTo());
 | 
				
			||||||
 | 
								boolean foundWorkgroup = (condition.getWorkgroup() == null ||(item.getWorkgroup() != null && item.getWorkgroup().equals(condition.getWorkgroup())));
 | 
				
			||||||
 | 
								boolean foundCentre = (condition.getCentre() == null || (item.getCentre() != null && item.getCentre().equals(condition.getCentre())));
 | 
				
			||||||
 | 
								boolean foundOwner = StringUtils.isEqualForFilter(item.getOwnedBy().getLastName(), condition.getOwnedBy().getLastName());
 | 
				
			||||||
 | 
								return foundNumser && foundReqDate && foundDescription && foundFrom && foundTo && foundWorkgroup && foundCentre && foundOwner;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							@Factory
 | 
				
			||||||
 | 
							public static Matcher<TripRequirement> matchTripRequirement(TripRequirement building)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								return new TripRequirementMatcher(building);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public TripRequirementMatcher matcher()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							return new TripRequirementMatcher(condition);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						public String queryString()
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							return "";
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface RequirementBaseService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,8 +1,16 @@
 | 
				
			|||||||
package info.bukova.isspst.services.requirement;
 | 
					package info.bukova.isspst.services.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import info.bukova.isspst.data.RequirementType;
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
import info.bukova.isspst.services.AbstractOwnedService;
 | 
					import info.bukova.isspst.services.AbstractOwnedService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public class RequirementTypeServiceImpl  extends AbstractOwnedService<RequirementType> implements RequirementTypeService {
 | 
					public class RequirementTypeServiceImpl  extends AbstractOwnedService<RequirementType> implements RequirementTypeService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						public RequirementType getTypeById(String id) {
 | 
				
			||||||
 | 
							return selectSingle("from RequirementType where type = '" + id + "'");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface TripRequirementService extends Service<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public List<TripRequirement> getCentreReq();
 | 
				
			||||||
 | 
						public List<TripRequirement> getWorkgroupReq();
 | 
				
			||||||
 | 
						public List<TripRequirement> getFromAll();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,92 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementState;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.AbstractOwnedService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.Date;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hibernate.Query;
 | 
				
			||||||
 | 
					import org.springframework.beans.factory.annotation.Autowired;
 | 
				
			||||||
 | 
					import org.springframework.security.access.prepost.PostFilter;
 | 
				
			||||||
 | 
					import org.springframework.security.access.prepost.PreAuthorize;
 | 
				
			||||||
 | 
					import org.springframework.transaction.annotation.Transactional;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementServiceImpl extends AbstractOwnedService<TripRequirement>
 | 
				
			||||||
 | 
							implements TripRequirementService, RequirementBaseService {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private RequirementTypeService reqTypeService;
 | 
				
			||||||
 | 
						@Autowired
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						protected TripRequirement createEntity() {
 | 
				
			||||||
 | 
							TripRequirement tr = new TripRequirement();
 | 
				
			||||||
 | 
							tr.setReqDate(new Date());
 | 
				
			||||||
 | 
							tr.setType(reqTypeService.getTypeById(Constants.REQTYPE_BUSINESSTRIP));
 | 
				
			||||||
 | 
							tr.setState(RequirementState.NEW);
 | 
				
			||||||
 | 
							return tr;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						@PreAuthorize("hasPermission(this, 'PERM_ADD')")
 | 
				
			||||||
 | 
						public void add(TripRequirement entity) {
 | 
				
			||||||
 | 
							Workgroup reqWorkgroup = null;
 | 
				
			||||||
 | 
							for (Workgroup w : workgroupService.getUserWorkgroups(getLoggedInUser())) {
 | 
				
			||||||
 | 
								if (workgroupService.getMembers(entity.getCentre()).contains(w)) {
 | 
				
			||||||
 | 
									reqWorkgroup = w;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							entity.setWorkgroup(reqWorkgroup);
 | 
				
			||||||
 | 
							entity.setNumser(getNumberSerie());
 | 
				
			||||||
 | 
							super.add(entity);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@SuppressWarnings("unchecked")
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						@PreAuthorize("hasPermission(this, 'PERM_READ')")
 | 
				
			||||||
 | 
						public List<TripRequirement> getAll() {
 | 
				
			||||||
 | 
							Query q = dao.getQuery("from TripRequirement where ownedBy = :owner");
 | 
				
			||||||
 | 
							q.setParameter("owner", getLoggedInUser());
 | 
				
			||||||
 | 
							return q.list();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@SuppressWarnings("unchecked")
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						@PreAuthorize("hasPermission(this, 'PERM_SHOW_CENTRE_REQ')")
 | 
				
			||||||
 | 
						@PostFilter("hasPermission(filterObject, 'PERM_SHOW_CENTRE_REQ')")
 | 
				
			||||||
 | 
						public List<TripRequirement> getCentreReq() {
 | 
				
			||||||
 | 
							List<Workgroup> wgList = workgroupService.getUserCentres(getLoggedInUser());
 | 
				
			||||||
 | 
							Query q = dao.getQuery("select tr from TripRequirement tr join tr.centre c where c in (:wgList)");
 | 
				
			||||||
 | 
							q.setParameterList("wgList", wgList);
 | 
				
			||||||
 | 
							return q.list();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@SuppressWarnings("unchecked")
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						@PreAuthorize("hasPermission(this, 'PERM_SHOW_WORKGROUP_REQ')")
 | 
				
			||||||
 | 
						@PostFilter("hasPermission(filterObject, 'PERM_SHOW_WORKGROUP_REQ')")
 | 
				
			||||||
 | 
						public List<TripRequirement> getWorkgroupReq() {
 | 
				
			||||||
 | 
							List<Workgroup> wgList = workgroupService.getUserWorkgroups(getLoggedInUser());
 | 
				
			||||||
 | 
							Query q = dao.getQuery("select tr from TripRequirement tr join tr.workgroup w where w in (:wgList)");
 | 
				
			||||||
 | 
							q.setParameterList("wgList", wgList);
 | 
				
			||||||
 | 
							return q.list();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						@Transactional
 | 
				
			||||||
 | 
						@PreAuthorize("hasPermission(this, 'PERM_SHOW_ALL_REQ')")
 | 
				
			||||||
 | 
						public List<TripRequirement> getFromAll() {
 | 
				
			||||||
 | 
							return super.getAll();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.UserService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.FormViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementForm extends FormViewModel<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private List<Workgroup> centres;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Init(superclass = true)
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							centres = workgroupService.getUserCentres(userService.getCurrent());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public List<Workgroup> getCentres() {
 | 
				
			||||||
 | 
							return centres;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,79 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.filters.TripRequirementFilter;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.requirement.TripRequirementService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.UserService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.GlobalCommand;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.NotifyChange;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementList extends ListViewModel<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private TripRequirementService tripRequirementService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
						private List<Workgroup> myCentres;
 | 
				
			||||||
 | 
						private boolean showCentre;
 | 
				
			||||||
 | 
						private boolean showWorkgroup;
 | 
				
			||||||
 | 
						private boolean showAll;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							service = tripRequirementService;
 | 
				
			||||||
 | 
							dataClass = TripRequirement.class;
 | 
				
			||||||
 | 
							formZul = "requirementsForm.zul";
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							showCentre = true;
 | 
				
			||||||
 | 
							showWorkgroup = true;
 | 
				
			||||||
 | 
							showAll = true;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							dataFilter = new TripRequirementFilter(getFilterTemplate());
 | 
				
			||||||
 | 
							myCentres = workgroupService.getUserCentres(userService.getCurrent());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@GlobalCommand
 | 
				
			||||||
 | 
						@NotifyChange("showCentre")
 | 
				
			||||||
 | 
						public void disableCentre() {
 | 
				
			||||||
 | 
							showCentre = false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@GlobalCommand
 | 
				
			||||||
 | 
						@NotifyChange("showWorkgroup")
 | 
				
			||||||
 | 
						public void disableWorkgroup() {
 | 
				
			||||||
 | 
							showWorkgroup = false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@GlobalCommand
 | 
				
			||||||
 | 
						@NotifyChange("showAll")
 | 
				
			||||||
 | 
						public void disableAll() {
 | 
				
			||||||
 | 
							showAll = false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public boolean isShowCentre() {
 | 
				
			||||||
 | 
							return showCentre;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public boolean isShowWorkgroup() {
 | 
				
			||||||
 | 
							return showWorkgroup;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public boolean isShowAll() {
 | 
				
			||||||
 | 
							return showAll;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getMyCentres() {
 | 
				
			||||||
 | 
							return myCentres;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.access.AccessDeniedException;
 | 
				
			||||||
 | 
					import org.zkoss.bind.BindUtils;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.filters.TripRequirementFilter;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.requirement.TripRequirementService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.UserService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementListAll extends ListViewModel<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private TripRequirementService tripRequirementService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
						private List<Workgroup> allCentres;
 | 
				
			||||||
 | 
						private List<Workgroup> allWorkgroups;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							service = tripRequirementService;
 | 
				
			||||||
 | 
							dataClass = TripRequirement.class;
 | 
				
			||||||
 | 
							formZul = "requirementsForm.zul";
 | 
				
			||||||
 | 
							dataFilter = new TripRequirementFilter(getFilterTemplate());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							allCentres = workgroupService.getCentres();
 | 
				
			||||||
 | 
							allWorkgroups = workgroupService.getWorkgroups();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						protected List<TripRequirement> getListFromService() {
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								return tripRequirementService.getFromAll();
 | 
				
			||||||
 | 
							} catch (AccessDeniedException e) {
 | 
				
			||||||
 | 
								BindUtils.postGlobalCommand(null, null, "disableAll", null);
 | 
				
			||||||
 | 
								return new ArrayList<TripRequirement>();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getAllCentres() {
 | 
				
			||||||
 | 
							return allCentres;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getAllWorkgroups() {
 | 
				
			||||||
 | 
							return allWorkgroups;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.access.AccessDeniedException;
 | 
				
			||||||
 | 
					import org.zkoss.bind.BindUtils;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.filters.TripRequirementFilter;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.requirement.TripRequirementService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.UserService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementListCentre extends ListViewModel<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private TripRequirementService tripRequirementService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
						private List<Workgroup> myCentres;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							service = tripRequirementService;
 | 
				
			||||||
 | 
							dataClass = TripRequirement.class;
 | 
				
			||||||
 | 
							formZul = "requirementsForm.zul";
 | 
				
			||||||
 | 
							dataFilter = new TripRequirementFilter(getFilterTemplate());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							myCentres = workgroupService.getUserCentres(userService.getCurrent());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						protected List<TripRequirement> getListFromService() {
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								return tripRequirementService.getCentreReq();
 | 
				
			||||||
 | 
							} catch (AccessDeniedException e) {
 | 
				
			||||||
 | 
								BindUtils.postGlobalCommand(null, null, "disableCentre", null);
 | 
				
			||||||
 | 
								return new ArrayList<TripRequirement>();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getMyCentres() {
 | 
				
			||||||
 | 
							return myCentres;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirement;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.springframework.security.access.AccessDeniedException;
 | 
				
			||||||
 | 
					import org.zkoss.bind.BindUtils;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.TripRequirement;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workgroup;
 | 
				
			||||||
 | 
					import info.bukova.isspst.filters.TripRequirementFilter;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.requirement.TripRequirementService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.UserService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.workgroups.WorkgroupService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.ui.ListViewModel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class TripRequirementListWorkgroup extends ListViewModel<TripRequirement> {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private TripRequirementService tripRequirementService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private WorkgroupService workgroupService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private UserService userService;
 | 
				
			||||||
 | 
						private List<Workgroup> myCentres;
 | 
				
			||||||
 | 
						private List<Workgroup> myWorkgroups;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							service = tripRequirementService;
 | 
				
			||||||
 | 
							dataClass = TripRequirement.class;
 | 
				
			||||||
 | 
							formZul = "requirementsForm.zul";
 | 
				
			||||||
 | 
							dataFilter = new TripRequirementFilter(getFilterTemplate());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							myCentres = workgroupService.getUserCentres(userService.getCurrent());
 | 
				
			||||||
 | 
							myWorkgroups = workgroupService.getUserWorkgroups(userService.getCurrent());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Override
 | 
				
			||||||
 | 
						protected List<TripRequirement> getListFromService() {
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								return tripRequirementService.getWorkgroupReq();
 | 
				
			||||||
 | 
							} catch (AccessDeniedException e) {
 | 
				
			||||||
 | 
								BindUtils.postGlobalCommand(null, null, "disableWorkgroup", null);
 | 
				
			||||||
 | 
								return new ArrayList<TripRequirement>();
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getMyCentres() {
 | 
				
			||||||
 | 
							return myCentres;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workgroup> getMyWorkgroups() {
 | 
				
			||||||
 | 
							return myWorkgroups;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -1,46 +1,46 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<beans xmlns="http://www.springframework.org/schema/beans"
 | 
					<beans xmlns="http://www.springframework.org/schema/beans"
 | 
				
			||||||
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
						xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 | 
				
			||||||
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 | 
						xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
 | 
						<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
 | 
				
			||||||
		<property name="host" value="${mail.host}"/>
 | 
							<property name="host" value="${mail.host}"/>
 | 
				
			||||||
		<property name="port" value="${mail.port}"/>
 | 
							<property name="port" value="${mail.port}"/>
 | 
				
			||||||
		<property name="username" value="${mail.username}"/>
 | 
							<property name="username" value="${mail.username}"/>
 | 
				
			||||||
		<property name="password" value="${mail.password}"/>
 | 
							<property name="password" value="${mail.password}"/>
 | 
				
			||||||
		<property name="defaultEncoding" value="UTF-8"/>
 | 
							<property name="defaultEncoding" value="UTF-8"/>
 | 
				
			||||||
		<property name="javaMailProperties">
 | 
							<property name="javaMailProperties">
 | 
				
			||||||
			<props>
 | 
								<props>
 | 
				
			||||||
				<prop key="mail.smtp.auth">${mail.useauth}</prop>
 | 
									<prop key="mail.smtp.auth">${mail.useauth}</prop>
 | 
				
			||||||
				<prop key="mail.smtp.starttls.enable">${mail.usessl}</prop>
 | 
									<prop key="mail.smtp.starttls.enable">${mail.usessl}</prop>
 | 
				
			||||||
			</props>
 | 
								</props>
 | 
				
			||||||
		</property>
 | 
							</property>
 | 
				
			||||||
	</bean>
 | 
						</bean>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	<bean id="mailer" class="info.bukova.isspst.mail.MailerWithAttachement">
 | 
						<bean id="mailer" class="info.bukova.isspst.mail.MailerWithAttachement">
 | 
				
			||||||
		<constructor-arg ref="mailSender"/>
 | 
							<constructor-arg ref="mailSender"/>
 | 
				
			||||||
		<property name="from" value="${mail.from}"/>
 | 
							<property name="from" value="${mail.from}"/>
 | 
				
			||||||
	</bean>
 | 
						</bean>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	<bean id="simpleMailer" class="info.bukova.isspst.mail.SimpleMailer">
 | 
						<bean id="simpleMailer" class="info.bukova.isspst.mail.SimpleMailer">
 | 
				
			||||||
		<constructor-arg ref="mailSender"/>
 | 
							<constructor-arg ref="mailSender"/>
 | 
				
			||||||
		<property name="from" value="${mail.from}"/>
 | 
							<property name="from" value="${mail.from}"/>
 | 
				
			||||||
	</bean>
 | 
						</bean>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	<bean id="messageBuilder" class="info.bukova.isspst.mail.EntityMessageBuilder"/>
 | 
						<bean id="messageBuilder" class="info.bukova.isspst.mail.EntityMessageBuilder"/>
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
<!-- 	<bean id="mailer" class="info.bukova.rsfaktura.services.mail.ThreadMailer"> -->
 | 
					<!-- 	<bean id="mailer" class="info.bukova.rsfaktura.services.mail.ThreadMailer"> -->
 | 
				
			||||||
<!-- 		<constructor-arg ref="attachementMailer"/> -->
 | 
					<!-- 		<constructor-arg ref="attachementMailer"/> -->
 | 
				
			||||||
<!-- 	</bean> -->
 | 
					<!-- 	</bean> -->
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
<!-- 	<bean id="attachementMailer" class="info.bukova.rsfaktura.services.mail.AttachementMailer"> -->
 | 
					<!-- 	<bean id="attachementMailer" class="info.bukova.rsfaktura.services.mail.AttachementMailer"> -->
 | 
				
			||||||
<!-- 		<constructor-arg ref="tmpStorage"/> -->
 | 
					<!-- 		<constructor-arg ref="tmpStorage"/> -->
 | 
				
			||||||
<!-- 		<property name="from" value="josef.rokos@gmail.com"/> -->
 | 
					<!-- 		<property name="from" value="josef.rokos@gmail.com"/> -->
 | 
				
			||||||
<!-- 		<property name="sender" ref="mailSender"/> -->
 | 
					<!-- 		<property name="sender" ref="mailSender"/> -->
 | 
				
			||||||
<!-- 	</bean> -->
 | 
					<!-- 	</bean> -->
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
<!-- 	<bean id="messageBuilder" class="info.bukova.rsfaktura.services.mail.MailMessageBuilder"> -->
 | 
					<!-- 	<bean id="messageBuilder" class="info.bukova.rsfaktura.services.mail.MailMessageBuilder"> -->
 | 
				
			||||||
<!-- 		<constructor-arg ref="tmpStorage"/> -->
 | 
					<!-- 		<constructor-arg ref="tmpStorage"/> -->
 | 
				
			||||||
<!-- 	</bean> -->
 | 
					<!-- 	</bean> -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</beans>
 | 
					</beans>
 | 
				
			||||||
 | 
				
			|||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					<?page title="req toolbar" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
					<toolbar>
 | 
				
			||||||
 | 
						<toolbarbutton image="/img/edit.png" tooltiptext="${labels.ToolbarRecEdit}" id="btnEdit" onClick="@command('edit')" disabled="@load(empty vmSub.dataBean ? 'true' : 'false')"/>
 | 
				
			||||||
 | 
						<toolbarbutton image="/img/funnel.png" tooltiptext="${labels.ToolbarRecFilter}" id="btnFilter" onClick="@command('filter')" />
 | 
				
			||||||
 | 
						<toolbarbutton image="/img/print.png" tooltiptext="${labels.ToolbarPrint}" id="btnPrint" onClick="@command('onPrint')" />
 | 
				
			||||||
 | 
					</toolbar>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaActRequirements}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<zscript>
 | 
				
			||||||
 | 
						String gridZul = "requirements.zul";
 | 
				
			||||||
 | 
					</zscript>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<include src="../../app/template.zhtml"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,610 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaActRequirements}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
						<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
 | 
				
			||||||
 | 
						<window
 | 
				
			||||||
 | 
							border="normal"
 | 
				
			||||||
 | 
							apply="org.zkoss.bind.BindComposer"
 | 
				
			||||||
 | 
							viewModel="@id('vm') @init('info.bukova.isspst.ui.requirement.TripRequirementList')">
 | 
				
			||||||
 | 
							<caption
 | 
				
			||||||
 | 
								zclass="form-caption"
 | 
				
			||||||
 | 
								label="${labels.AgendaActRequirements}" />
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							<tabbox>
 | 
				
			||||||
 | 
								<tabs>
 | 
				
			||||||
 | 
									<tab label="${labels.RequirementsGridMy}"/>
 | 
				
			||||||
 | 
									<tab label="${labels.RequirementsGridMyCentres}" disabled="@load(not vm.showCentre)"/>
 | 
				
			||||||
 | 
									<tab label="${labels.RequirementsGridMyWorkgroups}" disabled="@load(not vm.showWorkgroup)"/>
 | 
				
			||||||
 | 
									<tab label="${labels.RequirementsGridAll}" disabled="@load(not vm.showAll)"/>
 | 
				
			||||||
 | 
								</tabs>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								<tabpanels>
 | 
				
			||||||
 | 
									<tabpanel>
 | 
				
			||||||
 | 
										<include src="/app/toolbar.zul" />
 | 
				
			||||||
 | 
										<listbox
 | 
				
			||||||
 | 
											model="@load(vm.dataList)"
 | 
				
			||||||
 | 
											selectedItem="@bind(vm.dataBean)">
 | 
				
			||||||
 | 
											<listhead menupopup="auto">
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridNumberSerie}"
 | 
				
			||||||
 | 
													sort="czech(numser)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridReqDate}"
 | 
				
			||||||
 | 
													sort="auto(reqDate)"
 | 
				
			||||||
 | 
													width="13%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridCenter}"
 | 
				
			||||||
 | 
													sort="auto(centre)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridFrom}"
 | 
				
			||||||
 | 
													sort="czech(from)"
 | 
				
			||||||
 | 
													width="40%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridTo}"
 | 
				
			||||||
 | 
													sort="czech(to)"
 | 
				
			||||||
 | 
													width="40%" />
 | 
				
			||||||
 | 
											</listhead>
 | 
				
			||||||
 | 
											<auxhead
 | 
				
			||||||
 | 
												sclass="category-center"
 | 
				
			||||||
 | 
												visible="@load(vm.filter)">
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vm.filterTemplate.numser)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<datebox
 | 
				
			||||||
 | 
																value="@bind(vm.filterTemplate.reqDate)"
 | 
				
			||||||
 | 
																format="${labels.DateFormat}"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vm.filterTemplate.centre)"
 | 
				
			||||||
 | 
															model="@load(vm.myCentres)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vm.filterTemplate.from)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vm.filterTemplate.to)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
											</auxhead> 
 | 
				
			||||||
 | 
											<template name="model">
 | 
				
			||||||
 | 
												<listitem>
 | 
				
			||||||
 | 
													<listcell label="@load(each.numser)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.centre.fullName)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.from)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.to)"/>
 | 
				
			||||||
 | 
												</listitem>
 | 
				
			||||||
 | 
											</template>
 | 
				
			||||||
 | 
										</listbox>		
 | 
				
			||||||
 | 
									</tabpanel>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									<tabpanel apply="org.zkoss.bind.BindComposer" 
 | 
				
			||||||
 | 
										viewModel="@id('vmSub') @init('info.bukova.isspst.ui.requirement.TripRequirementListCentre')">
 | 
				
			||||||
 | 
										<include src="/requirements/toolbar.zul"/>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
										<listbox
 | 
				
			||||||
 | 
											model="@load(vmSub.dataList)"
 | 
				
			||||||
 | 
											selectedItem="@bind(vmSub.dataBean)">
 | 
				
			||||||
 | 
											<listhead menupopup="auto">
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridNumberSerie}"
 | 
				
			||||||
 | 
													sort="czech(numser)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridReqDate}"
 | 
				
			||||||
 | 
													sort="auto(reqDate)"
 | 
				
			||||||
 | 
													width="13%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridCenter}"
 | 
				
			||||||
 | 
													sort="auto(centre)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridFrom}"
 | 
				
			||||||
 | 
													sort="auto(from)"
 | 
				
			||||||
 | 
													width="40%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridTo}"
 | 
				
			||||||
 | 
													sort="czech(to)"
 | 
				
			||||||
 | 
													width="40%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridOwnedBy}"
 | 
				
			||||||
 | 
													sort="auto(ownedBy)"
 | 
				
			||||||
 | 
													width="20%" />
 | 
				
			||||||
 | 
											</listhead>
 | 
				
			||||||
 | 
											<auxhead
 | 
				
			||||||
 | 
												sclass="category-center"
 | 
				
			||||||
 | 
												visible="@load(vmSub.filter)">
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.numser)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<datebox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.reqDate)"
 | 
				
			||||||
 | 
																format="${labels.DateFormat}"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vmSub.filterTemplate.centre)"
 | 
				
			||||||
 | 
															model="@load(vmSub.myCentres)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.from)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.to)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.ownedBy.lastName)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
											</auxhead> 
 | 
				
			||||||
 | 
											<template name="model">
 | 
				
			||||||
 | 
												<listitem>
 | 
				
			||||||
 | 
													<listcell label="@load(each.numser)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.centre.fullName)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.from)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.to)"/>
 | 
				
			||||||
 | 
													<listcell label="@load(each.ownedBy)"/>
 | 
				
			||||||
 | 
												</listitem>
 | 
				
			||||||
 | 
											</template>
 | 
				
			||||||
 | 
										</listbox>
 | 
				
			||||||
 | 
									</tabpanel>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									<tabpanel apply="org.zkoss.bind.BindComposer"
 | 
				
			||||||
 | 
										viewModel="@id('vmSub') @init('info.bukova.isspst.ui.requirement.TripRequirementListWorkgroup')">
 | 
				
			||||||
 | 
										<include src="/requirements/toolbar.zul"/>
 | 
				
			||||||
 | 
										<listbox
 | 
				
			||||||
 | 
											model="@load(vmSub.dataList)"
 | 
				
			||||||
 | 
											selectedItem="@bind(vmSub.dataBean)">
 | 
				
			||||||
 | 
											<listhead menupopup="auto">
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridNumberSerie}"
 | 
				
			||||||
 | 
													sort="czech(numser)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridReqDate}"
 | 
				
			||||||
 | 
													sort="auto(reqDate)"
 | 
				
			||||||
 | 
													width="13%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridCenter}"
 | 
				
			||||||
 | 
													sort="auto(centre)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridWorkgroup}"
 | 
				
			||||||
 | 
													sort="auto(workgroup)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridFrom}"
 | 
				
			||||||
 | 
													sort="czech(from)"
 | 
				
			||||||
 | 
													width="30%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridTo}"
 | 
				
			||||||
 | 
													sort="czech(to)"
 | 
				
			||||||
 | 
													width="30%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridOwnedBy}"
 | 
				
			||||||
 | 
													sort="auto(ownedBy)"
 | 
				
			||||||
 | 
													width="20%" />
 | 
				
			||||||
 | 
											</listhead>
 | 
				
			||||||
 | 
											<auxhead
 | 
				
			||||||
 | 
												sclass="category-center"
 | 
				
			||||||
 | 
												visible="@load(vmSub.filter)">
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.numser)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<datebox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.reqDate)"
 | 
				
			||||||
 | 
																format="${labels.DateFormat}"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vmSub.filterTemplate.centre)"
 | 
				
			||||||
 | 
															model="@load(vmSub.myCentres)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vmSub.filterTemplate.workgroup)"
 | 
				
			||||||
 | 
															model="@load(vmSub.myWorkgroups)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.from)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.to)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.ownedBy.lastName)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
											</auxhead>
 | 
				
			||||||
 | 
											<template name="model">
 | 
				
			||||||
 | 
												<listitem>
 | 
				
			||||||
 | 
													<listcell label="@load(each.numser)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.centre.fullName)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.workgroup.fullName)"/>
 | 
				
			||||||
 | 
													<listcell label="@load(each.from)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.to)"/>
 | 
				
			||||||
 | 
													<listcell label="@load(each.ownedBy)"/>
 | 
				
			||||||
 | 
												</listitem>
 | 
				
			||||||
 | 
											</template>
 | 
				
			||||||
 | 
										</listbox>
 | 
				
			||||||
 | 
									</tabpanel>
 | 
				
			||||||
 | 
									
 | 
				
			||||||
 | 
									<tabpanel apply="org.zkoss.bind.BindComposer"
 | 
				
			||||||
 | 
										viewModel="@id('vmSub') @init('info.bukova.isspst.ui.requirement.TripRequirementListAll')">
 | 
				
			||||||
 | 
										<include src="/requirements/toolbar.zul"/>
 | 
				
			||||||
 | 
										<listbox
 | 
				
			||||||
 | 
											model="@load(vmSub.dataList)"
 | 
				
			||||||
 | 
											selectedItem="@bind(vmSub.dataBean)">
 | 
				
			||||||
 | 
											<listhead menupopup="auto">
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridNumberSerie}"
 | 
				
			||||||
 | 
													sort="czech(numser)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridReqDate}"
 | 
				
			||||||
 | 
													sort="auto(reqDate)"
 | 
				
			||||||
 | 
													width="13%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridCenter}"
 | 
				
			||||||
 | 
													sort="auto(centre)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridWorkgroup}"
 | 
				
			||||||
 | 
													sort="auto(workgroup)"
 | 
				
			||||||
 | 
													width="10%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridFrom}"
 | 
				
			||||||
 | 
													sort="czech(from)"
 | 
				
			||||||
 | 
													width="30%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridTo}"
 | 
				
			||||||
 | 
													sort="czech(to)"
 | 
				
			||||||
 | 
													width="30%" />
 | 
				
			||||||
 | 
												<listheader
 | 
				
			||||||
 | 
													label="${labels.RequirementsGridOwnedBy}"
 | 
				
			||||||
 | 
													sort="auto(ownedBy)"
 | 
				
			||||||
 | 
													width="20%" />
 | 
				
			||||||
 | 
											</listhead>
 | 
				
			||||||
 | 
											<auxhead
 | 
				
			||||||
 | 
												sclass="category-center"
 | 
				
			||||||
 | 
												visible="@load(vmSub.filter)">
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.numser)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<datebox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.reqDate)"
 | 
				
			||||||
 | 
																format="${labels.DateFormat}"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vmSub.filterTemplate.centre)"
 | 
				
			||||||
 | 
															model="@load(vmSub.allCentres)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<combobox
 | 
				
			||||||
 | 
															readonly="true"
 | 
				
			||||||
 | 
															width="100%"
 | 
				
			||||||
 | 
															selectedItem="@bind(vmSub.filterTemplate.workgroup)"
 | 
				
			||||||
 | 
															model="@load(vmSub.allWorkgroups)"
 | 
				
			||||||
 | 
															onChange="@command('doFilter')">
 | 
				
			||||||
 | 
															<template name="model">
 | 
				
			||||||
 | 
																<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
															</template>
 | 
				
			||||||
 | 
														</combobox>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.from)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.to)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
												<auxheader>
 | 
				
			||||||
 | 
													<div sclass="find-grid-cell">
 | 
				
			||||||
 | 
														<div sclass="find-grid-divtextbox">
 | 
				
			||||||
 | 
															<textbox
 | 
				
			||||||
 | 
																value="@bind(vmSub.filterTemplate.ownedBy.lastName)"
 | 
				
			||||||
 | 
																instant="true"
 | 
				
			||||||
 | 
																onChange="@command('doFilter')"
 | 
				
			||||||
 | 
																sclass="find-grid-textbox"
 | 
				
			||||||
 | 
																width="100%" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
														<div sclass="find-grid-img">
 | 
				
			||||||
 | 
															<image src="/img/funnel.png" />
 | 
				
			||||||
 | 
														</div>
 | 
				
			||||||
 | 
													</div>
 | 
				
			||||||
 | 
												</auxheader>
 | 
				
			||||||
 | 
											</auxhead>
 | 
				
			||||||
 | 
											<template name="model">
 | 
				
			||||||
 | 
												<listitem>
 | 
				
			||||||
 | 
													<listcell label="@load(each.numser)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.reqDate) @converter('formatedDate', format=labels.DateFormat)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.centre.fullName)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.workgroup.fullName)"/>
 | 
				
			||||||
 | 
													<listcell label="@load(each.from)" />
 | 
				
			||||||
 | 
													<listcell label="@load(each.to)"/>
 | 
				
			||||||
 | 
													<listcell label="@load(each.ownedBy)"/>
 | 
				
			||||||
 | 
												</listitem>
 | 
				
			||||||
 | 
											</template>
 | 
				
			||||||
 | 
										</listbox>
 | 
				
			||||||
 | 
									</tabpanel>
 | 
				
			||||||
 | 
								</tabpanels>
 | 
				
			||||||
 | 
							</tabbox>
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
						</window>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,90 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.RequirementsFormTitle}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
						<window
 | 
				
			||||||
 | 
							id="editWin"
 | 
				
			||||||
 | 
							closable="true"
 | 
				
			||||||
 | 
							border="normal"
 | 
				
			||||||
 | 
							position="center"
 | 
				
			||||||
 | 
							apply="org.zkoss.bind.BindComposer"
 | 
				
			||||||
 | 
							viewModel="@id('vm') @init('info.bukova.isspst.ui.requirement.TripRequirementForm')">
 | 
				
			||||||
 | 
							<caption
 | 
				
			||||||
 | 
								src="/img/reqact.png"
 | 
				
			||||||
 | 
								zclass="form-caption"
 | 
				
			||||||
 | 
								label="${labels.RequirementsFormTitle}" />
 | 
				
			||||||
 | 
							<vlayout>
 | 
				
			||||||
 | 
								<grid hflex="min">
 | 
				
			||||||
 | 
									<columns>
 | 
				
			||||||
 | 
										<column
 | 
				
			||||||
 | 
											align="right"
 | 
				
			||||||
 | 
											hflex="min" />
 | 
				
			||||||
 | 
										<column />
 | 
				
			||||||
 | 
									</columns>
 | 
				
			||||||
 | 
									<rows>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormNumberSerie} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox
 | 
				
			||||||
 | 
													id="numser"
 | 
				
			||||||
 | 
													constraint="@load(vm.constriant)"
 | 
				
			||||||
 | 
													width="200px"
 | 
				
			||||||
 | 
													value="@bind(vm.dataBean.numser)"
 | 
				
			||||||
 | 
													readonly="true" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormReqDate} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<datebox
 | 
				
			||||||
 | 
													id="reqDate"
 | 
				
			||||||
 | 
													width="200px"
 | 
				
			||||||
 | 
													value="@bind(vm.dataBean.reqDate)"
 | 
				
			||||||
 | 
													format="${labels.DateFormat}" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormCenter} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<combobox
 | 
				
			||||||
 | 
													model="@load(vm.centres)"
 | 
				
			||||||
 | 
													readonly="true"
 | 
				
			||||||
 | 
													selectedItem="@bind(vm.dataBean.centre)">
 | 
				
			||||||
 | 
													<template name="model">
 | 
				
			||||||
 | 
														<comboitem label="@load(each.fullName)" />
 | 
				
			||||||
 | 
													</template>
 | 
				
			||||||
 | 
												</combobox>
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormFrom} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox
 | 
				
			||||||
 | 
													id="from"
 | 
				
			||||||
 | 
													width="300px"
 | 
				
			||||||
 | 
													value="@bind(vm.dataBean.from)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormTo} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox
 | 
				
			||||||
 | 
													id="to"
 | 
				
			||||||
 | 
													width="300px"
 | 
				
			||||||
 | 
													value="@bind(vm.dataBean.to)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
										<row>
 | 
				
			||||||
 | 
											<cell sclass="row-title">${labels.RequirementsFormPurpose} :</cell>
 | 
				
			||||||
 | 
											<cell>
 | 
				
			||||||
 | 
												<textbox
 | 
				
			||||||
 | 
													id="description"
 | 
				
			||||||
 | 
													width="300px"
 | 
				
			||||||
 | 
													value="@bind(vm.dataBean.description)" />
 | 
				
			||||||
 | 
											</cell>
 | 
				
			||||||
 | 
										</row>
 | 
				
			||||||
 | 
									</rows>
 | 
				
			||||||
 | 
								</grid>
 | 
				
			||||||
 | 
								
 | 
				
			||||||
 | 
								<include src="/app/formButtons.zul" />
 | 
				
			||||||
 | 
							</vlayout>
 | 
				
			||||||
 | 
						</window>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue