Přidáno nastavení adres a bankovního spojení do globálního nastavení.
closes #101
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
package info.bukova.isspst.data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import info.bukova.isspst.mail.MailMessage;
|
||||
|
||||
public class SettingsData {
|
||||
@@ -8,11 +11,18 @@ public class SettingsData {
|
||||
private MailMessage newReqTemplate;
|
||||
private MailMessage authReqTemplate;
|
||||
private MailMessage confReqTemplate;
|
||||
private Address mainAddress;
|
||||
private List<Address> shippingAddrs;
|
||||
private String bankName;
|
||||
private String accountNumber;
|
||||
private String bankCode;
|
||||
|
||||
public SettingsData() {
|
||||
newReqTemplate = new MailMessage();
|
||||
authReqTemplate = new MailMessage();
|
||||
confReqTemplate = new MailMessage();
|
||||
mainAddress = new Address();
|
||||
shippingAddrs = new ArrayList<Address>();
|
||||
}
|
||||
|
||||
public boolean isEnableRequirements() {
|
||||
@@ -46,5 +56,45 @@ public class SettingsData {
|
||||
public void setConfReqTemplate(MailMessage confReqTemplate) {
|
||||
this.confReqTemplate = confReqTemplate;
|
||||
}
|
||||
|
||||
public Address getMainAddress() {
|
||||
return mainAddress;
|
||||
}
|
||||
|
||||
public void setMainAddress(Address mainAddress) {
|
||||
this.mainAddress = mainAddress;
|
||||
}
|
||||
|
||||
public List<Address> getShippingAddrs() {
|
||||
return shippingAddrs;
|
||||
}
|
||||
|
||||
public void setShippingAddrs(List<Address> shippingAddrs) {
|
||||
this.shippingAddrs = shippingAddrs;
|
||||
}
|
||||
|
||||
public String getBankName() {
|
||||
return bankName;
|
||||
}
|
||||
|
||||
public void setBankName(String bankName) {
|
||||
this.bankName = bankName;
|
||||
}
|
||||
|
||||
public String getAccountNumber() {
|
||||
return accountNumber;
|
||||
}
|
||||
|
||||
public void setAccountNumber(String accountNumber) {
|
||||
this.accountNumber = accountNumber;
|
||||
}
|
||||
|
||||
public String getBankCode() {
|
||||
return bankCode;
|
||||
}
|
||||
|
||||
public void setBankCode(String bankCode) {
|
||||
this.bankCode = bankCode;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import info.bukova.isspst.data.Address;
|
||||
import info.bukova.isspst.data.GlobalSettings;
|
||||
import info.bukova.isspst.data.SettingsData;
|
||||
import info.bukova.isspst.services.AbstractOwnedService;
|
||||
@@ -100,6 +101,13 @@ public class GlobalSettingServiceImpl extends AbstractOwnedService<GlobalSetting
|
||||
}
|
||||
|
||||
GlobalSettings gs = this.getAll().get(0);
|
||||
|
||||
for (Address a : settings.getShippingAddrs()) {
|
||||
a.setCompany(settings.getMainAddress().getCompany());
|
||||
a.setIc(settings.getMainAddress().getIc());
|
||||
a.setDic(settings.getMainAddress().getDic());
|
||||
}
|
||||
|
||||
gs.setData(marshalData(settings));
|
||||
|
||||
super.update(gs);
|
||||
|
||||
@@ -9,6 +9,7 @@ import org.zkoss.bind.annotation.NotifyChange;
|
||||
import org.zkoss.zk.ui.select.annotation.WireVariable;
|
||||
import org.zkoss.zul.Window;
|
||||
|
||||
import info.bukova.isspst.data.Address;
|
||||
import info.bukova.isspst.data.Requirement;
|
||||
import info.bukova.isspst.data.SettingsData;
|
||||
import info.bukova.isspst.mail.MailMessage;
|
||||
@@ -22,6 +23,7 @@ public class GlobalSettingsVM {
|
||||
private GlobalSettingsService settingsService;
|
||||
private SettingsData settings;
|
||||
private LocaleConverter locConverter;
|
||||
private Address selAddress;
|
||||
|
||||
@Init
|
||||
public void init() {
|
||||
@@ -56,5 +58,25 @@ public class GlobalSettingsVM {
|
||||
public void insertField(@BindingParam("field") String field, @BindingParam("message") MailMessage message) {
|
||||
message.setText(message.getText() + "[" + field + "]");
|
||||
}
|
||||
|
||||
@Command
|
||||
@NotifyChange("settings")
|
||||
public void addAddress() {
|
||||
settings.getShippingAddrs().add(new Address());
|
||||
}
|
||||
|
||||
@Command
|
||||
@NotifyChange("settings")
|
||||
public void removeAddress(@BindingParam("addr") Address addr) {
|
||||
settings.getShippingAddrs().remove(addr);
|
||||
}
|
||||
|
||||
public Address getSelAddress() {
|
||||
return selAddress;
|
||||
}
|
||||
|
||||
public void setSelAddress(Address selAddress) {
|
||||
this.selAddress = selAddress;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -152,6 +152,12 @@ AuthRequirement=Dílčí schválení
|
||||
ConfirmRequirement=Schválení
|
||||
InsertField=Vložit pole
|
||||
EnableRequirements=Povolit zadávání požadavků
|
||||
ShippingAddresses=Dodací adresy:
|
||||
ContactInfo=Kontakt
|
||||
BankInfo=Banka
|
||||
BankName=Název
|
||||
BankCode=Kód banky
|
||||
AccountNumber=Číslo účtu
|
||||
|
||||
CentresForRequirements=Střediska, pro která lze vkládat požadavky
|
||||
WorkgroupMembership=Členství v komisích
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
<?page title="address" contentType="text/html;charset=UTF-8"?>
|
||||
<zk>
|
||||
<grid>
|
||||
<columns>
|
||||
<column hflex="min"/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormCompany}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.company)" width="100%"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormIC}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.ic)"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormDIC}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.dic)"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormStreet}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.street)" width="100%"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormNo}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.houseNumber)"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormCity}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.city)" width="100%"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.SuppliersFormZIP}"/>
|
||||
<textbox value="@bind(vm.settings.mainAddress.zipCode)"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
<vbox>
|
||||
<label value="${labels.ShippingAddresses}"/>
|
||||
<button label="${labels.AddItem}" onClick="@command('addAddress')"/>
|
||||
<listbox model="@load(vm.settings.shippingAddrs)">
|
||||
<listhead>
|
||||
<listheader label="${labels.SuppliersFormStreet}"/>
|
||||
<listheader label="${labels.SuppliersFormNo}"/>
|
||||
<listheader label="${labels.SuppliersFormCity}"/>
|
||||
<listheader label="${labels.SuppliersFormZIP}"/>
|
||||
<listheader/>
|
||||
</listhead>
|
||||
<template name="model">
|
||||
<listitem>
|
||||
<listcell>
|
||||
<textbox inplace="true" value="@bind(each.street)"></textbox>
|
||||
</listcell>
|
||||
<listcell>
|
||||
<textbox inplace="true" value="@bind(each.houseNumber)"></textbox>
|
||||
</listcell>
|
||||
<listcell>
|
||||
<textbox inplace="true" value="@bind(each.city)"></textbox>
|
||||
</listcell>
|
||||
<listcell>
|
||||
<textbox inplace="true" value="@bind(each.zipCode)"></textbox>
|
||||
</listcell>
|
||||
<listcell>
|
||||
<button label="${labels.RemoveItem }" onClick="@command('removeAddress', addr=each)"/>
|
||||
</listcell>
|
||||
</listitem>
|
||||
</template>
|
||||
</listbox>
|
||||
</vbox>
|
||||
</zk>
|
||||
@@ -0,0 +1,23 @@
|
||||
<?page title="bank" contentType="text/html;charset=UTF-8"?>
|
||||
<zk>
|
||||
<grid>
|
||||
<columns>
|
||||
<column hflex="min"/>
|
||||
<column/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row>
|
||||
<label value="${labels.BankName}"/>
|
||||
<textbox value="@bind(vm.settings.bankName)" width="100%"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.AccountNumber}"/>
|
||||
<textbox value="@bind(vm.settings.accountNumber)"/>
|
||||
</row>
|
||||
<row>
|
||||
<label value="${labels.BankCode}"/>
|
||||
<textbox value="@bind(vm.settings.bankCode)"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</zk>
|
||||
@@ -0,0 +1,84 @@
|
||||
<?page title="email" contentType="text/html;charset=UTF-8"?>
|
||||
<zk>
|
||||
<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>
|
||||
</zk>
|
||||
@@ -1,14 +1,16 @@
|
||||
<?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"
|
||||
viewModel="@id('vm') @init('info.bukova.isspst.ui.settings.GlobalSettingsVM')" width="820px"
|
||||
binder="@init(queueName='email')">
|
||||
<caption src="/img/settings.png" zclass="form-caption" label="${labels.GlobalSettings}" />
|
||||
|
||||
<tabbox orient="vertical" height="400px">
|
||||
<tabbox orient="vertical" height="500px">
|
||||
<tabs width="100px">
|
||||
<tab label="${labels.Requirements}"/>
|
||||
<tab label="${labels.EMails}"/>
|
||||
<tab label="${labels.ContactInfo }"/>
|
||||
<tab label="${labels.BankInfo}"/>
|
||||
</tabs>
|
||||
<tabpanels>
|
||||
<tabpanel>
|
||||
@@ -17,87 +19,13 @@ binder="@init(queueName='email')">
|
||||
</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>
|
||||
<include src="/settings/global/email.zul"/>
|
||||
</tabpanel>
|
||||
<tabpanel>
|
||||
<include src="/settings/global/address.zul"/>
|
||||
</tabpanel>
|
||||
<tabpanel>
|
||||
<include src="/settings/global/bank.zul"/>
|
||||
</tabpanel>
|
||||
</tabpanels>
|
||||
</tabbox>
|
||||
|
||||
Reference in New Issue
Block a user