parent
							
								
									d711736132
								
							
						
					
					
						commit
						1e3a669344
					
				@ -0,0 +1,7 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface RequirementTypeDao extends BaseDao<RequirementType> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.dao.jpa;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.dao.RequirementTypeDao;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RequirementTypeDaoJPA extends BaseDaoJPA<RequirementType> implements RequirementTypeDao {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,71 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.CascadeType;
 | 
				
			||||||
 | 
					import javax.persistence.Column;
 | 
				
			||||||
 | 
					import javax.persistence.Entity;
 | 
				
			||||||
 | 
					import javax.persistence.OneToMany;
 | 
				
			||||||
 | 
					import javax.persistence.OrderBy;
 | 
				
			||||||
 | 
					import javax.persistence.Table;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hibernate.annotations.LazyCollection;
 | 
				
			||||||
 | 
					import org.hibernate.annotations.LazyCollectionOption;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					@Table(name = "REQUIREMENTTYPE")
 | 
				
			||||||
 | 
					public class RequirementType extends BaseData {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Column(name = "TYPE")
 | 
				
			||||||
 | 
						private String type;
 | 
				
			||||||
 | 
						@Column(name = "DESCRIPTION")
 | 
				
			||||||
 | 
						private String description;
 | 
				
			||||||
 | 
						@OneToMany(cascade = CascadeType.ALL)
 | 
				
			||||||
 | 
						@LazyCollection(LazyCollectionOption.FALSE)
 | 
				
			||||||
 | 
						@OrderBy("WORDER")
 | 
				
			||||||
 | 
						private List<Workflow> workflow;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public RequirementType() {
 | 
				
			||||||
 | 
							workflow = new ArrayList<Workflow>();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public RequirementType(String type, String description) {
 | 
				
			||||||
 | 
							this();
 | 
				
			||||||
 | 
							this.type = type;
 | 
				
			||||||
 | 
							this.description = description;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public String getType() {
 | 
				
			||||||
 | 
							return type;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setType(String type) {
 | 
				
			||||||
 | 
							this.type = type;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public String getDescription() {
 | 
				
			||||||
 | 
							return description;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setDescription(String description) {
 | 
				
			||||||
 | 
							this.description = description;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Workflow> getWorkflow() {
 | 
				
			||||||
 | 
							return workflow;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setWorkflow(List<Workflow> workflow) {
 | 
				
			||||||
 | 
							this.workflow = workflow;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public boolean equals(Object o) {
 | 
				
			||||||
 | 
							if (o instanceof RequirementType && ((RequirementType)o).getType().equals(this.type)) {
 | 
				
			||||||
 | 
								return true;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import javax.persistence.Column;
 | 
				
			||||||
 | 
					import javax.persistence.Entity;
 | 
				
			||||||
 | 
					import javax.persistence.JoinColumn;
 | 
				
			||||||
 | 
					import javax.persistence.ManyToOne;
 | 
				
			||||||
 | 
					import javax.persistence.Table;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.hibernate.annotations.LazyCollection;
 | 
				
			||||||
 | 
					import org.hibernate.annotations.LazyCollectionOption;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@Entity
 | 
				
			||||||
 | 
					@Table(name = "WORKFLOW")
 | 
				
			||||||
 | 
					public class Workflow extends BaseData {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Column(name = "CENTRE")
 | 
				
			||||||
 | 
						private Boolean centre;
 | 
				
			||||||
 | 
						@ManyToOne
 | 
				
			||||||
 | 
						@LazyCollection(LazyCollectionOption.FALSE)
 | 
				
			||||||
 | 
						@JoinColumn(name = "ROLE_ID")
 | 
				
			||||||
 | 
						private Role role;
 | 
				
			||||||
 | 
						@Column(name = "WORDER")
 | 
				
			||||||
 | 
						private Integer wOrder;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Boolean getCentre() {
 | 
				
			||||||
 | 
							return centre;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setCentre(Boolean centre) {
 | 
				
			||||||
 | 
							this.centre = centre;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Role getRole() {
 | 
				
			||||||
 | 
							return role;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setRole(Role role) {
 | 
				
			||||||
 | 
							this.role = role;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public boolean equals(Object o) {
 | 
				
			||||||
 | 
							if (o instanceof Workflow
 | 
				
			||||||
 | 
									&& ((Workflow)o).getCentre().equals(centre) 
 | 
				
			||||||
 | 
									&& ((Workflow)o).getRole().equals(role)) {
 | 
				
			||||||
 | 
								return true;
 | 
				
			||||||
 | 
							} 
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							return false;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public Integer getOrder() {
 | 
				
			||||||
 | 
							return wOrder;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public void setOrder(Integer order) {
 | 
				
			||||||
 | 
							this.wOrder = order;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.requirements;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.Service;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public interface RequirementTypeService  extends Service<RequirementType> {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.services.requirements;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.AbstractOwnedService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RequirementTypeServiceImpl  extends AbstractOwnedService<RequirementType> implements RequirementTypeService {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,203 @@
 | 
				
			|||||||
 | 
					package info.bukova.isspst.ui.requirements;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import info.bukova.isspst.Constants;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.RequirementType;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Role;
 | 
				
			||||||
 | 
					import info.bukova.isspst.data.Workflow;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.requirements.RequirementTypeService;
 | 
				
			||||||
 | 
					import info.bukova.isspst.services.users.RoleService;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.util.ArrayList;
 | 
				
			||||||
 | 
					import java.util.List;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.BindingParam;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Command;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.Init;
 | 
				
			||||||
 | 
					import org.zkoss.bind.annotation.NotifyChange;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.event.DropEvent;
 | 
				
			||||||
 | 
					import org.zkoss.zk.ui.select.annotation.WireVariable;
 | 
				
			||||||
 | 
					import org.zkoss.zul.Listitem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RequirementTypesVM {
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private RequirementTypeService reqTypeService;
 | 
				
			||||||
 | 
						@WireVariable
 | 
				
			||||||
 | 
						private RoleService roleService;
 | 
				
			||||||
 | 
						private List<RequirementType> reqTypes;
 | 
				
			||||||
 | 
						private List<Role> centreRoles;
 | 
				
			||||||
 | 
						private List<Role> workgroupRoles;
 | 
				
			||||||
 | 
						private RequirementType selected;
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Init
 | 
				
			||||||
 | 
						public void init() {
 | 
				
			||||||
 | 
							reqTypes = reqTypeService.getAll();
 | 
				
			||||||
 | 
							initRoles();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private void initRoles() {
 | 
				
			||||||
 | 
							centreRoles = new ArrayList<Role>(roleService.getRolesWithPermission(Constants.PERM_APPROVE, true));
 | 
				
			||||||
 | 
							workgroupRoles = new ArrayList<Role>(roleService.getRolesWithPermission(Constants.PERM_APPROVE, false));
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void addRoleWg(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							Role r;
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								r = ((Listitem)event.getDragged()).getValue();
 | 
				
			||||||
 | 
							} catch (ClassCastException e) {
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							addRole(r, false);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void addRoleCentre(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							Role r;
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								r = ((Listitem)event.getDragged()).getValue();
 | 
				
			||||||
 | 
							} catch (ClassCastException e) {
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							addRole(r, true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private void addRole(Role r, boolean centre) {
 | 
				
			||||||
 | 
							Workflow w = new Workflow();
 | 
				
			||||||
 | 
							w.setRole(r);
 | 
				
			||||||
 | 
							w.setCentre(centre);
 | 
				
			||||||
 | 
							w.setOrder(selected.getWorkflow().size());
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (!selected.getWorkflow().contains(w)) {
 | 
				
			||||||
 | 
								selected.getWorkflow().add(w);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (centre) {
 | 
				
			||||||
 | 
								centreRoles.remove(r);
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								workgroupRoles.remove(r);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							reqTypeService.update(selected);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void removeRoleWg(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							removeWorkflow((Workflow) ((Listitem)event.getDragged()).getValue());	
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void removeRoleCentre(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							removeWorkflow((Workflow) ((Listitem)event.getDragged()).getValue());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private void removeWorkflow(Workflow w) {
 | 
				
			||||||
 | 
							selected.getWorkflow().remove(w);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (w.getCentre()) {
 | 
				
			||||||
 | 
								centreRoles.add(w.getRole());
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								workgroupRoles.add(w.getRole());
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							resetOrder();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							reqTypeService.update(selected);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void reorderWg(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							reorder(event, false);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@Command
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "centreRoles", "workgroupRoles"})
 | 
				
			||||||
 | 
						public void reorderCentre(@BindingParam("event") DropEvent event) {
 | 
				
			||||||
 | 
							reorder(event, true);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private void reorder(DropEvent event, boolean centre) {
 | 
				
			||||||
 | 
							Workflow w;
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							try {
 | 
				
			||||||
 | 
								w = ((Listitem)event.getDragged()).getValue();
 | 
				
			||||||
 | 
							} catch (ClassCastException e) {
 | 
				
			||||||
 | 
								if (centre) {
 | 
				
			||||||
 | 
									addRoleCentre(event);
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									addRoleWg(event);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							Workflow target = ((Listitem)event.getTarget()).getValue();
 | 
				
			||||||
 | 
							List<Workflow> wf = selected.getWorkflow();
 | 
				
			||||||
 | 
							int dragIndex = wf.indexOf(w);
 | 
				
			||||||
 | 
							int dropIndex = wf.indexOf(target);
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							if (dragIndex > dropIndex) {
 | 
				
			||||||
 | 
								wf.remove(w);
 | 
				
			||||||
 | 
								wf.add(dropIndex, w);
 | 
				
			||||||
 | 
							} else {
 | 
				
			||||||
 | 
								for (int i = dragIndex; i < dropIndex; i++) {
 | 
				
			||||||
 | 
									wf.add(i, wf.get(i + 1));
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								wf.remove(w);
 | 
				
			||||||
 | 
								wf.remove(dropIndex);
 | 
				
			||||||
 | 
								wf.add(dropIndex, w);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							w.setOrder(wf.indexOf(w));
 | 
				
			||||||
 | 
							resetOrder();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							reqTypeService.update(selected);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						private void resetOrder() {
 | 
				
			||||||
 | 
							for (int i = 0; i < selected.getWorkflow().size(); i++) {
 | 
				
			||||||
 | 
								selected.getWorkflow().get(i).setOrder(i);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						public List<RequirementType> getReqTypes() {
 | 
				
			||||||
 | 
							return reqTypes;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Role> getCentreRoles() {
 | 
				
			||||||
 | 
							return centreRoles;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public List<Role> getWorkgroupRoles() {
 | 
				
			||||||
 | 
							return workgroupRoles;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						public RequirementType getSelected() {
 | 
				
			||||||
 | 
							return selected;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						@NotifyChange({"selected", "workgroupRoles", "centreRoles"})
 | 
				
			||||||
 | 
						public void setSelected(RequirementType selected) {
 | 
				
			||||||
 | 
							if (selected == null) {
 | 
				
			||||||
 | 
								return;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							initRoles();
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							for (Workflow w : selected.getWorkflow()) {
 | 
				
			||||||
 | 
								if (w.getCentre()) {
 | 
				
			||||||
 | 
									centreRoles.remove(w.getRole());
 | 
				
			||||||
 | 
								} else {
 | 
				
			||||||
 | 
									workgroupRoles.remove(w.getRole());
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							
 | 
				
			||||||
 | 
							this.selected = selected;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -0,0 +1,10 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaWorkflow}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<zscript>
 | 
				
			||||||
 | 
						String gridZul = "workflow.zul";
 | 
				
			||||||
 | 
					</zscript>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<include src="/app/template.zhtml"/>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					<?page title="${labels.AgendaWorkflow}" contentType="text/html;charset=UTF-8"?>
 | 
				
			||||||
 | 
					<zk>
 | 
				
			||||||
 | 
					<window border="normal" apply="org.zkoss.bind.BindComposer"
 | 
				
			||||||
 | 
						viewModel="@id('vm') @init('info.bukova.isspst.ui.requirements.RequirementTypesVM')">
 | 
				
			||||||
 | 
					<caption zclass="form-caption" label="${labels.AgendaWorkflow}" />
 | 
				
			||||||
 | 
					<vbox>
 | 
				
			||||||
 | 
						<hbox>
 | 
				
			||||||
 | 
							<label value="${labels.RequirementType}"/>
 | 
				
			||||||
 | 
							<combobox model="@load(vm.reqTypes)" readonly="true" width="300px" selectedItem="@bind(vm.selected)">
 | 
				
			||||||
 | 
								<template name="model">
 | 
				
			||||||
 | 
									<comboitem label="@load(each.description)"/>
 | 
				
			||||||
 | 
								</template>
 | 
				
			||||||
 | 
							</combobox>
 | 
				
			||||||
 | 
						</hbox>
 | 
				
			||||||
 | 
						<hbox>
 | 
				
			||||||
 | 
							<div hflex="1">
 | 
				
			||||||
 | 
							<groupbox mold="3d" hflex="1">
 | 
				
			||||||
 | 
							<caption label="${labels.AvailableRoles}"/>
 | 
				
			||||||
 | 
								<vbox>
 | 
				
			||||||
 | 
									<listbox id="allWgRoles" model="@load(vm.workgroupRoles)" droppable="workgroup" 
 | 
				
			||||||
 | 
									onDrop="@command('removeRoleWg', event=event)">
 | 
				
			||||||
 | 
										<listhead>
 | 
				
			||||||
 | 
											<listheader label="${labels.WorkgroupRoles}"/>
 | 
				
			||||||
 | 
										</listhead>
 | 
				
			||||||
 | 
										<template name="model">
 | 
				
			||||||
 | 
											<listitem label="@load(each.description)" draggable="workgroup" droppable="workgroup"
 | 
				
			||||||
 | 
											onDrop="@command('removeRoleCentre', event=event)"/>
 | 
				
			||||||
 | 
										</template>
 | 
				
			||||||
 | 
									</listbox>
 | 
				
			||||||
 | 
									<listbox id="allCentreRoles" model="@load(vm.centreRoles)" droppable="centre" 
 | 
				
			||||||
 | 
									onDrop="@command('removeRoleCentre', event=event)">
 | 
				
			||||||
 | 
										<listhead>
 | 
				
			||||||
 | 
											<listheader label="${labels.CentreRoles }"/>
 | 
				
			||||||
 | 
										</listhead>
 | 
				
			||||||
 | 
										<template name="model">
 | 
				
			||||||
 | 
											<listitem label="@load(each.description)" draggable="centre" droppable="centre"
 | 
				
			||||||
 | 
											onDrop="@command('removeRoleCentre', event=event)"/>
 | 
				
			||||||
 | 
										</template>
 | 
				
			||||||
 | 
									</listbox>
 | 
				
			||||||
 | 
								</vbox>
 | 
				
			||||||
 | 
							</groupbox>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
							<div hflex="1">
 | 
				
			||||||
 | 
							<groupbox mold="3d" visible="@load(not empty vm.selected)">
 | 
				
			||||||
 | 
							<caption label="${labels.Workflow}"/>
 | 
				
			||||||
 | 
								<vbox>
 | 
				
			||||||
 | 
									<listbox id="wgWorkflow" model="@load(vm.selected.workflow)" droppable="workgroup"
 | 
				
			||||||
 | 
									onDrop="@command('addRoleWg', event=event)">
 | 
				
			||||||
 | 
										<listhead>
 | 
				
			||||||
 | 
											<listheader label="${labels.WorkgroupWorkflow}"/>
 | 
				
			||||||
 | 
										</listhead>
 | 
				
			||||||
 | 
										<template name="model">
 | 
				
			||||||
 | 
											<listitem label="@load(each.role.description)" visible="@load(not each.centre)"
 | 
				
			||||||
 | 
											onDrop="@command('reorderWg', event=event)" draggable="workgroup" droppable="workgroup"/>
 | 
				
			||||||
 | 
										</template>
 | 
				
			||||||
 | 
									</listbox>
 | 
				
			||||||
 | 
									<listbox id="centreWorkflow" model="@load(vm.selected.workflow)" droppable="centre"
 | 
				
			||||||
 | 
									onDrop="@command('addRoleCentre', event=event)">
 | 
				
			||||||
 | 
										<listhead>
 | 
				
			||||||
 | 
											<listheader label="${labels.CentreWorkflow}"/>
 | 
				
			||||||
 | 
										</listhead>
 | 
				
			||||||
 | 
										<template name="model">
 | 
				
			||||||
 | 
											<listitem label="@load(each.role.description)" visible="@load(each.centre)"
 | 
				
			||||||
 | 
											onDrop="@command('reorderCentre', event=event)" draggable="centre" droppable="centre"/>
 | 
				
			||||||
 | 
										</template>
 | 
				
			||||||
 | 
									</listbox>
 | 
				
			||||||
 | 
								</vbox>
 | 
				
			||||||
 | 
							</groupbox>
 | 
				
			||||||
 | 
							</div>
 | 
				
			||||||
 | 
						</hbox>
 | 
				
			||||||
 | 
					</vbox>
 | 
				
			||||||
 | 
					</window>
 | 
				
			||||||
 | 
					</zk>
 | 
				
			||||||
					Loading…
					
					
				
		Reference in New Issue