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;
|
||||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import info.bukova.isspst.data.RequirementType;
|
||||
import info.bukova.isspst.services.AbstractOwnedService;
|
||||
|
||||
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"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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">
|
||||
|
||||
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
|
||||
<property name="host" value="${mail.host}"/>
|
||||
<property name="port" value="${mail.port}"/>
|
||||
<property name="username" value="${mail.username}"/>
|
||||
<property name="password" value="${mail.password}"/>
|
||||
<property name="defaultEncoding" value="UTF-8"/>
|
||||
<property name="javaMailProperties">
|
||||
<props>
|
||||
<prop key="mail.smtp.auth">${mail.useauth}</prop>
|
||||
<prop key="mail.smtp.starttls.enable">${mail.usessl}</prop>
|
||||
</props>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="mailer" class="info.bukova.isspst.mail.MailerWithAttachement">
|
||||
<constructor-arg ref="mailSender"/>
|
||||
<property name="from" value="${mail.from}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="simpleMailer" class="info.bukova.isspst.mail.SimpleMailer">
|
||||
<constructor-arg ref="mailSender"/>
|
||||
<property name="from" value="${mail.from}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="messageBuilder" class="info.bukova.isspst.mail.EntityMessageBuilder"/>
|
||||
|
||||
<!-- <bean id="mailer" class="info.bukova.rsfaktura.services.mail.ThreadMailer"> -->
|
||||
<!-- <constructor-arg ref="attachementMailer"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
<!-- <bean id="attachementMailer" class="info.bukova.rsfaktura.services.mail.AttachementMailer"> -->
|
||||
<!-- <constructor-arg ref="tmpStorage"/> -->
|
||||
<!-- <property name="from" value="josef.rokos@gmail.com"/> -->
|
||||
<!-- <property name="sender" ref="mailSender"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
<!-- <bean id="messageBuilder" class="info.bukova.rsfaktura.services.mail.MailMessageBuilder"> -->
|
||||
<!-- <constructor-arg ref="tmpStorage"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
</beans>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://www.springframework.org/schema/beans"
|
||||
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">
|
||||
|
||||
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
|
||||
<property name="host" value="${mail.host}"/>
|
||||
<property name="port" value="${mail.port}"/>
|
||||
<property name="username" value="${mail.username}"/>
|
||||
<property name="password" value="${mail.password}"/>
|
||||
<property name="defaultEncoding" value="UTF-8"/>
|
||||
<property name="javaMailProperties">
|
||||
<props>
|
||||
<prop key="mail.smtp.auth">${mail.useauth}</prop>
|
||||
<prop key="mail.smtp.starttls.enable">${mail.usessl}</prop>
|
||||
</props>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<bean id="mailer" class="info.bukova.isspst.mail.MailerWithAttachement">
|
||||
<constructor-arg ref="mailSender"/>
|
||||
<property name="from" value="${mail.from}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="simpleMailer" class="info.bukova.isspst.mail.SimpleMailer">
|
||||
<constructor-arg ref="mailSender"/>
|
||||
<property name="from" value="${mail.from}"/>
|
||||
</bean>
|
||||
|
||||
<bean id="messageBuilder" class="info.bukova.isspst.mail.EntityMessageBuilder"/>
|
||||
|
||||
<!-- <bean id="mailer" class="info.bukova.rsfaktura.services.mail.ThreadMailer"> -->
|
||||
<!-- <constructor-arg ref="attachementMailer"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
<!-- <bean id="attachementMailer" class="info.bukova.rsfaktura.services.mail.AttachementMailer"> -->
|
||||
<!-- <constructor-arg ref="tmpStorage"/> -->
|
||||
<!-- <property name="from" value="josef.rokos@gmail.com"/> -->
|
||||
<!-- <property name="sender" ref="mailSender"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
<!-- <bean id="messageBuilder" class="info.bukova.rsfaktura.services.mail.MailMessageBuilder"> -->
|
||||
<!-- <constructor-arg ref="tmpStorage"/> -->
|
||||
<!-- </bean> -->
|
||||
|
||||
</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