Implementován validátor pro Globální nastavení.

closes #236
This commit is contained in:
2015-07-14 20:17:32 +02:00
parent 6db416dd04
commit 2819cc125c
10 changed files with 584 additions and 196 deletions
+272 -168
View File
@@ -1,172 +1,276 @@
<?page title="email" contentType="text/html;charset=UTF-8"?>
<zk xmlns="http://www.zkoss.org/2005/zul"
<zk
xmlns="http://www.zkoss.org/2005/zul"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
<tabbox>
<tabs>
<tab label="${labels.NewRequirement}"/>
<tab label="${labels.AuthRequirement}"/>
<tab label="${labels.ConfirmRequirement}"/>
<tab label="${labels.ReqTripPassengers}"/>
<tab label="${labels.ConfirmTripPassengers}"/>
</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%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.newReqTemplate.text)" width="460px" height="180px" if="${vm.canSave}"/>
<html content="@load(vm.settings.newReqTemplate.text)" width="460px" height="180px" if="${not vm.canSave}"/>
<hbox>
<button label="${labels.InsertField}" popup="fieldsNew, position=after_start" disabled="@load(not vm.canSave)"/>
<button label="${labels.GlobalSettingsInsertUrl}" onClick="@command('insertUrl', message=vm.settings.newReqTemplate)" disabled="@load(not vm.canSave)"/>
</hbox>
</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%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.authReqTemplate.text)" width="460px" height="180px" if="${vm.canSave}" />
<html content="@load(vm.settings.authReqTemplate.text)" width="460px" height="180px" if="${not vm.canSave}"/>
<hbox>
<button label="${labels.InsertField}" popup="fieldsAuth, position=after_start" disabled="@load(not vm.canSave)"/>
<button label="${labels.GlobalSettingsInsertUrl}" onClick="@command('insertUrl', message=vm.settings.authReqTemplate)" disabled="@load(not vm.canSave)"/>
</hbox>
</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%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.confReqTemplate.text)" width="460px" height="180px" if="${vm.canSave}" />
<html content="@load(vm.settings.confReqTemplate.text)" width="460px" height="180px" if="${not vm.canSave}"/>
<button label="${labels.InsertField}" popup="fieldsConfirm, position=after_start" disabled="@load(not vm.canSave)"/>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.reqPassenger.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.reqPassenger.text)" width="460px" height="180px" if="${vm.canSave}" />
<html content="@load(vm.settings.confReqTemplate.text)" width="460px" height="180px" if="${not vm.canSave}"/>
<button label="${labels.InsertField}" popup="fieldsPassenger, position=after_start" disabled="@load(not vm.canSave)"/>
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min"/>
<column/>
</columns>
<rows>
<row>
<label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.confReqTripPassenger.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor toolbar="Basic" value="@bind(vm.settings.confReqTripPassenger.text)" width="460px" height="180px" if="${vm.canSave}" />
<html content="@load(vm.settings.confReqTemplate.text)" width="460px" height="180px" if="${not vm.canSave}"/>
<button label="${labels.InsertField}" popup="fieldsConfirmPass, position=after_start" disabled="@load(not vm.canSave)"/>
</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>
<menupopup id="fieldsConfirmPass" children="@load(vm.requirementFields)">
<template name="children">
<menuitem label="@load(each) @converter(vm.locConverter)" onClick="@command('insertField', field=each, message=vm.settings.confReqTripPassenger)"/>
</template>
</menupopup>
<menupopup id="fieldsPassenger" children="@load(vm.requirementFields)">
<template name="children">
<menuitem label="@load(each) @converter(vm.locConverter)" onClick="@command('insertField', field=each, message=vm.settings.reqPassenger)"/>
</template>
</menupopup>
<tabbox id="idTabBoxEmails">
<tabs>
<tab
id="idTabEmailsNewRequirement"
label="${labels.NewRequirement}" />
<tab
id="idTabEmailsAuthRequirement"
label="${labels.AuthRequirement}" />
<tab
id="idTabEmailsConfirmRequirement"
label="${labels.ConfirmRequirement}" />
<tab
id="idTabEmailsReqTripPassengers"
label="${labels.ReqTripPassengers}" />
<tab
id="idTabEmailsConfirmTripPassengers"
label="${labels.ConfirmTripPassengers}" />
</tabs>
<tabpanels>
<tabpanel>
<grid>
<columns>
<column hflex="min" />
<column />
</columns>
<rows>
<row>
<label value="${labels.MailSubject}" />
<textbox
id="idEmailNewReqTemplateSubject"
instant="true"
value="@bind(vm.settings.newReqTemplate.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor
toolbar="Basic"
value="@bind(fx.newReqTemplate.text)"
width="460px"
height="180px"
if="${vm.canSave}" />
<html
id="idEmailNewReqTemplateText"
content="@load(vm.settings.newReqTemplate.text)"
width="460px"
height="180px"
if="${not vm.canSave}" />
<hbox>
<button
label="${labels.InsertField}"
popup="fieldsNew, position=after_start"
disabled="@load(not vm.canSave)" />
<button
label="${labels.GlobalSettingsInsertUrl}"
onClick="@command('insertUrl2Fx', form=fx, property='newReqTemplate.text')"
disabled="@load(not vm.canSave)" />
</hbox>
</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%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor
toolbar="Basic"
value="@bind(fx.authReqTemplate.text)"
width="460px"
height="180px"
if="${vm.canSave}" />
<html
id="idEmailAuthReqTemplateText"
content="@load(vm.settings.authReqTemplate.text)"
width="460px"
height="180px"
if="${not vm.canSave}" />
<hbox>
<button
label="${labels.InsertField}"
popup="fieldsAuth, position=after_start"
disabled="@load(not vm.canSave)" />
<button
label="${labels.GlobalSettingsInsertUrl}"
onClick="@command('insertUrl2Fx', form=fx, property='authReqTemplate.text')"
disabled="@load(not vm.canSave)" />
</hbox>
</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%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor
toolbar="Basic"
value="@bind(fx.confReqTemplate.text)"
width="460px"
height="180px"
if="${vm.canSave}" />
<html
id="idEmailConfReqTemplateText"
content="@load(vm.settings.confReqTemplate.text)"
width="460px"
height="180px"
if="${not vm.canSave}" />
<button
label="${labels.InsertField}"
popup="fieldsConfirm, position=after_start"
disabled="@load(not vm.canSave)" />
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min" />
<column />
</columns>
<rows>
<row>
<label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.reqPassenger.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor
toolbar="Basic"
value="@bind(fx.reqPassenger.text)"
width="460px"
height="180px"
if="${vm.canSave}" />
<html
id="idEmailReqPassengerTemplateText"
content="@load(vm.settings.reqPassenger.text)"
width="460px"
height="180px"
if="${not vm.canSave}" />
<button
label="${labels.InsertField}"
popup="fieldsPassenger, position=after_start"
disabled="@load(not vm.canSave)" />
</vbox>
</row>
</rows>
</grid>
</tabpanel>
<tabpanel>
<grid>
<columns>
<column hflex="min" />
<column />
</columns>
<rows>
<row>
<label value="${labels.MailSubject}" />
<textbox
value="@bind(vm.settings.confReqTripPassenger.subject)"
width="100%"
maxlength="@load(vm.lengthText)"
readonly="@load(not vm.canSave)" />
</row>
<row spans="2">
<vbox>
<ckeditor
toolbar="Basic"
value="@bind(fx.confReqTripPassenger.text)"
width="460px"
height="180px"
if="${vm.canSave}" />
<html
id="idEmailConfReqTripPassengerTemplateText"
content="@load(vm.settings.confReqTripPassenger.text)"
width="460px"
height="180px"
if="${not vm.canSave}" />
<button
label="${labels.InsertField}"
popup="fieldsConfirmPass, position=after_start"
disabled="@load(not vm.canSave)" />
</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('insertField2Fx', form=fx, property='newReqTemplate.text', field=each)" />
</template>
</menupopup>
<menupopup
id="fieldsAuth"
children="@load(vm.requirementFields)">
<template name="children">
<menuitem
label="@load(each) @converter(vm.locConverter)"
onClick="@command('insertField2Fx', form=fx, property='authReqTemplate.text', field=each)" />
</template>
</menupopup>
<menupopup
id="fieldsConfirm"
children="@load(vm.requirementFields)">
<template name="children">
<menuitem
label="@load(each) @converter(vm.locConverter)"
onClick="@command('insertField2Fx', form=fx, property='confReqTemplate.text', field=each)" />
</template>
</menupopup>
<menupopup
id="fieldsConfirmPass"
children="@load(vm.requirementFields)">
<template name="children">
<menuitem
label="@load(each) @converter(vm.locConverter)"
onClick="@command('insertField2Fx', form=fx, property='confReqTripPassenger.text', field=each)" />
</template>
</menupopup>
<menupopup
id="fieldsPassenger"
children="@load(vm.requirementFields)">
<template name="children">
<menuitem
label="@load(each) @converter(vm.locConverter)"
onClick="@command('insertField2Fx', form=fx, property='reqPassenger.text', field=each)" />
</template>
</menupopup>
</zk>
+10 -3
View File
@@ -5,7 +5,9 @@
border="normal"
closable="true"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('info.bukova.isspst.ui.settings.GlobalSettingsVM')"
viewModel="@id('vm') @init('info.bukova.isspst.ui.settings.GlobalSettingsVM', window=editWin)"
form="@id('fx') @init(vm.dataForm) @load(vm.settings) @save(vm.settings, before='save') @validator(vm.globalSettingValidator)"
validationMessages="@id('vmsg')"
width="750px"
height="600px"
binder="@init(queueName='email')">
@@ -14,11 +16,14 @@
zclass="form-caption"
label="${labels.GlobalSettings}" />
<tabbox
id="idTabBox"
orient="vertical"
vflex="1">
<tabs width="140px">
<tab label="${labels.Requirements}" />
<tab label="${labels.EMails}" />
<tab
label="${labels.EMails}"
id="idTabEmails" />
<tab label="${labels.ContactInfo }" />
<tab label="${labels.BankInfo}" />
<tab label="${labels.TravelOrders}" />
@@ -28,7 +33,9 @@
<include src="/settings/global/requirements.zul" />
</tabpanel>
<tabpanel>
<include src="/settings/global/email.zul" />
<include
id="idIncludedPageEmails"
src="/settings/global/email.zul" />
</tabpanel>
<tabpanel>
<include src="/settings/global/address.zul" />