Conflicts:
	src/main/java/info/bukova/isspst/AppInitListener.java
	src/main/java/info/bukova/isspst/Constants.java
This commit is contained in:
2014-07-06 17:46:29 +02:00
59 changed files with 1446 additions and 50 deletions
@@ -39,4 +39,7 @@ username=Uživatelské jméno
#Skupiny
centre=Středisko
members=Členové
members=Členové
#Materiál
munit=Měrná jednotka
@@ -100,6 +100,9 @@ UsersGridColumnSureName=Příjmení
AgendaMaterial=Materiál
MaterialFormTitle=Materiál
AgendaServices=Služby
ServiceFormTitle=Služba
AgendaWorkgroups=Střediska / komise
WorkgroupFormTitle=Pracvní skupina
@@ -111,6 +114,22 @@ CentreRoles=Role středisek
Workflow=Proces schválení
WorkgroupWorkflow=Schválení v komisi
CentreWorkflow=Schválení ve středisku
LimitFormTitle=Limit pro schválení
Limit=Limit:
OverLimit=Pouze nadlimitní
NumberSeriesFormTitle=Číselné řady
Number=Číslo:
Prefix=Prefix:
GlobalSettings=Globální nastavení
Requirements=Požadavky
EMails=E-maily
NewRequirement=Nový požadavek
AuthRequirement=Dílčí schválení
ConfirmRequirement=Schválení
InsertField=Vložit pole
EnableRequirements=Povolit zadávání požadavků
CentresForRequirements=Střediska, pro která lze vkládat požadavky
WorkgroupMembership=Členství v komisích
@@ -138,6 +157,12 @@ ReportTitle=Nadpis sestavy:
ReportOptions=Volby sestavy
ReportNoOptions=Žádná nestavení
MailForm=Odeslání e-mailu
MailFor=Komu:
MailSubject=Předmět:
MailSend=Odeslat
MailAttachement=Příloha:
Error=Chyba
ErrorRights=K vykobání této operace nemáte dostatečná oprávnění
+7
View File
@@ -0,0 +1,7 @@
mail.from=kosef.rokos@gmail.com
mail.host=smtp.gmail.com
mail.port=587
mail.useauth=true
mail.usessl=true
mail.username=josef.rokos@gmail.com
mail.password=XXXXXX
@@ -0,0 +1,44 @@
<?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="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>
@@ -1,21 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:security="http://www.springframework.org/schema/security" xmlns:context="http://www.springframework.org/schema/context"
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd">
<!-- Root Context: defines shared resources visible to all other web components -->
<context:annotation-config />
<context:component-scan base-package="info.bukova.isspst,org.zkoss.spring.beans.zkcomponents"></context:component-scan>
<task:annotation-driven/>
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" id="propertyConfigurer">
<property name="locations">
<list>
<value>/WEB-INF/jdbc.properties</value>
<value>/WEB-INF/ldap.properties</value>
<value>/WEB-INF/mail.properties</value>
</list>
</property>
</bean>
@@ -75,6 +86,8 @@
<import resource="database-auth.xml"/>
<!-- <import resource="ldap-auth.xml"/> -->
<import resource="mail-services.xml"/>
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="targetClass" value="org.springframework.security.core.context.SecurityContextHolder" />
@@ -140,6 +153,14 @@
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="serviceItemDao" class="info.bukova.isspst.dao.jpa.ServiceItemDaoJPA">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="settingsDao" class="info.bukova.isspst.dao.jpa.GlobalSettingsDaoJPA">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<!-- Business logic -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
@@ -192,7 +213,7 @@
<property name="dao" ref="permissionDao"/>
</bean>
<bean id="materialService" class="info.bukova.isspst.services.material.MaterialServiceImpl">
<bean id="materialService" class="info.bukova.isspst.services.reqsubjects.MaterialServiceImpl">
<property name="dao" ref="materialDao"/>
<property name="validator" ref="validator"/>
</bean>
@@ -217,4 +238,32 @@
<property name="dao" ref="numericSeriesDao" />
<property name="validator" ref="validator" />
</bean>
<bean id="serviceItemService" class="info.bukova.isspst.services.reqsubjects.ServiceItemServiceImpl">
<property name="dao" ref="serviceItemDao" />
<property name="validator" ref="validator" />
</bean>
<bean id="settingsService" class="info.bukova.isspst.services.settings.GlobalSettingServiceImpl">
<constructor-arg name="marshaller" ref="marshallerSettings"/>
<constructor-arg name="unmarshaller" ref="unmarshallerSettings"/>
<property name="dao" ref="settingsDao"/>
</bean>
<bean id="xmlCtxSettings" class="org.castor.spring.xml.XMLContextFactoryBean">
<property name="castorProperties">
<props>
<prop key="org.exolab.castor.xml.introspector.primitive.nodetype">element</prop>
</props>
</property>
</bean>
<bean id="unmarshallerSettings" class="org.castor.spring.xml.CastorUnmarshallerFactoryBean">
<property name="xmlContext" ref="xmlCtxSettings" />
</bean>
<bean id="marshallerSettings" class="org.castor.spring.xml.CastorMarshallerFactoryBean">
<property name="xmlContext" ref="xmlCtxSettings" />
</bean>
</beans>
+31
View File
@@ -0,0 +1,31 @@
<?page title="Mail" contentType="text/html;charset=UTF-8"?>
<zk>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<window id="mailWin" border="normal" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('info.bukova.isspst.ui.mail.MailForm')" width="500px" closable="true">
<caption zclass="form-caption" label="${labels.MailForm}" />
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailFor}"/> <textbox value="@bind(vm.to)" width="100%"/>
</row>
<row>
<label value="${labels.MailSubject }"/> <textbox value="@bind(vm.message.subject)" width="100%"/>
</row>
<row>
<label value="${labels.MailAttachement}"/> <textbox value="@load(vm.attachement)" readonly="true" width="100%"/>
</row>
</rows>
</grid>
<vbox>
<ckeditor width="470px" height="200px" value="@bind(vm.message.text)" toolbar="Basic"/>
<hbox>
<button label="${labels.MailSend}" onClick="@command('send', window=mailWin)"/> <button label="${labels.ButtonStorno}" onClick="mailWin.detach()"/>
</hbox>
</vbox>
</window>
</zk>
+3 -1
View File
@@ -30,6 +30,7 @@
<menubar orient="vertical">
<menuitem label="${labels.AgendaSuppliers}" href="/lists/addressbook" disabled="${not sec:isAllGranted('PERM_READ_ADDRESSBOOK')}"/>
<menuitem label="${labels.AgendaMaterial}" href="/lists/material" disabled="${not sec:isAllGranted('PERM_READ_MATERIAL')}"/>
<menuitem label="${labels.AgendaServices}" href="/lists/service" disabled="${not sec:isAllGranted('PERM_READ_SERVICES')}"/>
<menuitem label="${labels.AgendaMUnits}" href="/lists/munits" disabled="${not sec:isAllGranted('PERM_READ_MUNITS')}" width="120px"/>
<menuitem label="${labels.AgendaBuildings}" href="/lists/buildings" disabled="${not sec:isAllGranted('PERM_READ_BUILDINGS')}" />
<menuitem label="${labels.AgendaRooms}" href="/lists/rooms" disabled="${not sec:isAllGranted('PERM_READ_ROOMS')}" />
@@ -38,8 +39,9 @@
<tabpanel>
<menubar orient="vertical">
<menuitem label="${labels.AgendaWorkflow}" href="/settings/workflow" disabled="${not sec:isAllGranted('PERM_EDIT_WORKFLOW')}"/>
<menuitem label="Číselné řady" onClick="@command('numSeries')"/>
<menuitem label="Limity částek"/>
<menuitem label="E-maily" />
<menuitem label="${labels.GlobalSettings}" onClick="@command('globalSettings')"/>
</menubar>
</tabpanel>
<tabpanel>
+1 -1
View File
@@ -4,7 +4,7 @@
viewModel="@id('vm') @init('info.bukova.isspst.ui.reporting.ReportVM')">
<caption src="/img/print.png" zclass="form-caption" label="${labels.ReportReport}" />
<toolbar>
<toolbarbutton image="/img/send.png" tooltiptext="${labels.ReportSend}"/>
<toolbarbutton image="/img/send.png" tooltiptext="${labels.ReportSend}" onClick="@command('send')"/>
</toolbar>
<iframe width="800px" height="660px" src="/api/report.pdf"/>
</window>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

+5 -3
View File
@@ -1,15 +1,16 @@
<?page title="${labels.AgendaMaterial}" 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.material.MaterialList')">
<window border="normal" apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('info.bukova.isspst.ui.reqsubjects.MaterialList')">
<caption zclass="form-caption" label="${labels.AgendaMaterial}" />
<include src="/app/toolbar.zul" />
<listbox model="@load(vm.dataList)" selectedItem="@bind(vm.dataBean)" height="500px">
<listhead menupopup="auto">
<listheader label="${labels.code}" sort="czech(code)" width="10%" />
<listheader label="${labels.name}" sort="czech(name)" width="30%" />
<listheader label="${labels.description}" sort="czech(description)" width="60%" />
<listheader label="${labels.name}" sort="czech(name)" width="25%" />
<listheader label="${labels.description}" sort="czech(description)" width="55%" />
<listheader label="${labels.munit}" width="10%"/>
</listhead>
<auxhead sclass="category-center" visible="@load(vm.filter)">
@@ -50,6 +51,7 @@
<listcell label="@load(each.code)" />
<listcell label="@load(each.name)" />
<listcell label="@load(each.description)" />
<listcell label="@load(each.munit.code)"/>
</listitem>
</template>
</listbox>
@@ -1,7 +1,7 @@
<?page title="${labels.MaterialFormTitle}" 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.material.MaterialForm')">
viewModel="@id('vm') @init('info.bukova.isspst.ui.reqsubjects.MaterialForm')">
<caption src="/img/material.png" zclass="form-caption" label="${labels.MaterialFormTitle}" />
<vlayout>
<grid hflex="min">
@@ -28,6 +28,16 @@
<textbox id="description" width="300px" value="@bind(vm.dataBean.description)" />
</cell>
</row>
<row>
<cell sclass="row-title">${labels.munit} :</cell>
<cell>
<combobox model="@load(vm.munits)" selectedItem="@bind(vm.dataBean.munit)" readonly="true">
<template name="model">
<comboitem label="@load(each.code)"/>
</template>
</combobox>
</cell>
</row>
</rows>
</grid>
<include src="/app/formButtons.zul" />
+10
View File
@@ -0,0 +1,10 @@
<?page title="${labels.AgendaServices}" contentType="text/html;charset=UTF-8"?>
<zk>
<zscript>
String gridZul = "service.zul";
</zscript>
<include src="/app/template.zhtml"/>
</zk>
+58
View File
@@ -0,0 +1,58 @@
<?page title="${labels.AgendaServices}" 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.reqsubjects.ServiceItemList')">
<caption zclass="form-caption" label="${labels.AgendaServices}" />
<include src="/app/toolbar.zul" />
<listbox model="@load(vm.dataList)" selectedItem="@bind(vm.dataBean)" height="500px">
<listhead menupopup="auto">
<listheader label="${labels.code}" sort="czech(code)" width="10%" />
<listheader label="${labels.name}" sort="czech(name)" width="30%" />
<listheader label="${labels.description}" sort="czech(description)" width="60%" />
</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.code)" 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.name)" 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.description)" instant="true" onChange="@command('doFilter')" sclass="find-grid-textbox" />
</div>
<div sclass="find-grid-img">
<image src="/img/funnel.png" />
</div>
</div>
</auxheader>
</auxhead>
<template name="model">
<listitem>
<listcell label="@load(each.code)" />
<listcell label="@load(each.name)" />
<listcell label="@load(each.description)" />
</listitem>
</template>
</listbox>
</window>
</zk>
@@ -0,0 +1,36 @@
<?page title="${labels.ServiceFormTitle}" 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.reqsubjects.ServiceItemForm')">
<caption src="/img/service.png" zclass="form-caption" label="${labels.ServiceFormTitle}" />
<vlayout>
<grid hflex="min">
<columns>
<column align="right" hflex="min" />
<column />
</columns>
<rows>
<row>
<cell sclass="row-title">${labels.code} :</cell>
<cell>
<textbox id="code" constraint="@load(vm.constriant)" width="200px" value="@bind(vm.dataBean.code)" />
</cell>
</row>
<row>
<cell sclass="row-title">${labels.name} :</cell>
<cell>
<textbox id="name" width="200px" value="@bind(vm.dataBean.name)" />
</cell>
</row>
<row>
<cell sclass="row-title">${labels.description} :</cell>
<cell>
<textbox id="description" width="300px" value="@bind(vm.dataBean.description)" />
</cell>
</row>
</rows>
</grid>
<include src="/app/formButtons.zul" />
</vlayout>
</window>
</zk>
+108
View File
@@ -0,0 +1,108 @@
<?page title="EMail" contentType="text/html;charset=UTF-8"?>
<zk>
<window id="editWin" border="normal" closable="true" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('info.bukova.isspst.ui.settings.GlobalSettingsVM')" width="620px"
binder="@init(queueName='email')">
<caption src="/img/settings.png" zclass="form-caption" label="${labels.GlobalSettings}" />
<tabbox orient="vertical" height="400px">
<tabs width="100px">
<tab label="${labels.Requirements}"/>
<tab label="${labels.EMails}"/>
</tabs>
<tabpanels>
<tabpanel>
<div>
<checkbox label="${labels.EnableRequirements}" checked="@bind(vm.settings.enableRequirements)"/>
</div>
</tabpanel>
<tabpanel>
<tabbox>
<tabs>
<tab label="${labels.NewRequirement}"/>
<tab label="${labels.AuthRequirement}"/>
<tab label="${labels.ConfirmRequirement}"/>
</tabs>
<tabpanels>
<tabpanel>
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.newReqTemplate.subject)" width="100%"/>
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.newReqTemplate.text)" width="460px" height="180px"/>
<button label="${labels.InsertField}" popup="fieldsNew, position=after_start"/>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.authReqTemplate.subject)" width="100%"/>
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.authReqTemplate.text)" width="460px" height="180px"/>
<button label="${labels.InsertField}" popup="fieldsAuth, position=after_start"/>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailSubject}"/> <textbox value="@bind(vm.settings.confReqTemplate.subject)" width="100%"/>
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.confReqTemplate.text)" width="460px" height="180px"/>
<button label="${labels.InsertField}" popup="fieldsConfirm, position=after_start"/>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
</tabpanels>
</tabbox>
<menupopup id="fieldsNew" children="@load(vm.requirementFields)">
<template name="children">
<menuitem label="@load(each) @converter(vm.locConverter)" onClick="@command('insertField', field=each, message=vm.settings.newReqTemplate)"/>
</template>
</menupopup>
<menupopup id="fieldsAuth" children="@load(vm.requirementFields)">
<template name="children">
<menuitem label="@load(each) @converter(vm.locConverter)" onClick="@command('insertField', field=each, message=vm.settings.authReqTemplate)"/>
</template>
</menupopup>
<menupopup id="fieldsConfirm" children="@load(vm.requirementFields)">
<template name="children">
<menuitem label="@load(each) @converter(vm.locConverter)" onClick="@command('insertField', field=each, message=vm.settings.confReqTemplate)"/>
</template>
</menupopup>
</tabpanel>
</tabpanels>
</tabbox>
<include src="/app/formButtons.zul"/>
</window>
</zk>
+28
View File
@@ -0,0 +1,28 @@
<?page title="NumberSeriesFormTitle" contentType="text/html;charset=UTF-8"?>
<zk>
<window id="editWin" border="normal" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('info.bukova.isspst.ui.settings.NumberSeriesVM')" closable="true" width="400px"
binder="@init(queueName='numSeries')">
<caption zclass="form-caption" label="${labels.NumberSeriesFormTitle}" />
<!-- <combobox></combobox> -->
<grid model="@load(vm.numberSeriesList)">
<columns>
<column hflex="min"/>
<column/>
<column hflex="min"/>
<column hflex="min"/>
</columns>
<rows>
<template name="model">
<row>
<label value="@load(vm.moduleMap[each.module].name.concat(' - ').concat(labels.Prefix))"/>
<textbox value="@bind(each.prefix)"/>
<label value="${labels.Number}"/>
<label value="@load(each.number)"/>
</row>
</template>
</rows>
</grid>
<include src="/app/formButtons.zul"/>
</window>
</zk>
@@ -0,0 +1,15 @@
<?page title="Limit" contentType="text/html;charset=UTF-8"?>
<zk>
<window id="editWin" border="normal" apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('info.bukova.isspst.ui.requirements.LimitVM')">
<caption zclass="form-caption" label="${labels.LimitFormTitle}" />
<vbox>
<hbox>
<label value="${labels.Limit}"/>
<textbox value="@bind(vm.workflow.limit)"/>
</hbox>
<include src="/app/formButtons.zul" />
</vbox>
</window>
</zk>
+22 -4
View File
@@ -45,27 +45,45 @@
<caption label="${labels.Workflow}"/>
<vbox>
<listbox id="wgWorkflow" model="@load(vm.selected.workflow)" droppable="workgroup"
onDrop="@command('addRoleWg', event=event)">
onDrop="@command('addRoleWg', event=event)"
selectedItem="@bind(vm.wgSelWorkflow)">
<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"/>
onDrop="@command('reorderWg', event=event)" draggable="workgroup" droppable="workgroup"
context="limitPopUpWg"
style="@load(empty each.limit ? '' : 'background-color: #e1fdd5')"
tooltiptext="@load(empty each.limit ? '' : labels.Limit.concat(' ').concat(each.limit))"/>
</template>
</listbox>
<listbox id="centreWorkflow" model="@load(vm.selected.workflow)" droppable="centre"
onDrop="@command('addRoleCentre', event=event)">
onDrop="@command('addRoleCentre', event=event)"
selectedItem="@bind(vm.centreSelWorkflow)">
<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"/>
onDrop="@command('reorderCentre', event=event)" draggable="centre" droppable="centre"
context="limitPopUp"
style="@load(empty each.limit ? '' : 'background-color: #e1fdd5')"
tooltiptext="@load(empty each.limit ? '' : labels.Limit.concat(' ').concat(each.limit))"/>
</template>
</listbox>
</vbox>
</groupbox>
<menupopup id="limitPopUp">
<menuitem label="${labels.OverLimit}" checkmark="true"
checked="@load(not empty vm.centreSelWorkflow.limit)"
onClick="@command('overLimit', workflow=centreWorkflow.selectedItem.value)"/>
</menupopup>
<menupopup id="limitPopUpWg">
<menuitem label="${labels.OverLimit}" checkmark="true"
checked="@load(not empty vm.wgSelWorkflow.limit)"
onClick="@command('overLimit', workflow=wgWorkflow.selectedItem.value)"/>
</menupopup>
</div>
</hbox>
</vbox>