Bonzoms-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 119 discussions
r132 - in trunk: . bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui bonzoms-ui-zk/src/main/webapp bonzoms-ui-zk/src/main/webapp/WEB-INF bonzoms-ui-zk/src/main/webapp/macros
by bbrossaudï¼ users.chorem.org 18 Aug '10
by bbrossaudï¼ users.chorem.org 18 Aug '10
18 Aug '10
Author: bbrossaud
Date: 2010-08-18 17:17:57 +0200 (Wed, 18 Aug 2010)
New Revision: 132
Url: http://chorem.org/repositories/revision/bonzoms/132
Log:
addition macro and changing Model
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml
trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/
trunk/bonzoms-ui-zk/src/main/webapp/macros/companyBandboxMacro.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/employeeBandboxMacro.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/serviceBandboxMacro.zul
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml
trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul
trunk/pom.xml
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -72,4 +72,9 @@
include.setSrc(null);
include.setSrc("contractPage.zul");
}
+
+ public void onClick$exportReports() {
+ include.setSrc(null);
+ include.setSrc("exportReportPage.zul");
+ }
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyBandboxMacro.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,137 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.Company;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Bandbox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.event.PagingEvent;
+
+public class CompanyBandboxMacro extends HtmlMacroComponent {
+
+ protected final int pageSize = 5;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected CompanyModel companyModel = new CompanyModel(pageSize);
+ protected String companyId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initListbox();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria();
+ companyModel.setCriteria(criteria);
+
+ int totalSize = companyModel.getTotalSize();
+ Paging companyPaging = (Paging) getFellow("companyPaging");
+ companyPaging.setTotalSize(totalSize);
+ companyPaging.setPageSize(pageSize);
+ companyPaging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ companyModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox companyBandbox = (Bandbox) getFellow("companyBandbox");
+ companyBandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = companyBandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ companyModel.setCriteria(criteria);
+ int totalSize = companyModel.getTotalSize();
+ Paging companyPaging = (Paging) getFellow("companyPaging");
+ companyPaging.setTotalSize(totalSize);
+ companyPaging.setActivePage(0);
+ companyBandbox.open();
+ }
+ });
+ }
+
+ protected void initListbox() {
+ Listbox companyListbox = (Listbox) getFellow("companyListbox");
+ companyListbox.setModel(companyModel);
+ ListitemRenderer renderer = getCompanyRenderer();
+ companyListbox.setItemRenderer(renderer);
+ }
+
+ /*
+ * Renderer
+ */
+ public ListitemRenderer getCompanyRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final Company company = (Company) data;
+ final String name = company.getName();
+ Listcell cell1 = new Listcell(name);
+ Listcell cell2 = new Listcell(company.getType());
+ item.appendChild(cell1);
+ item.appendChild(cell2);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ companyId = company.getWikittyId();
+ Bandbox companyBandbox = (Bandbox) getFellow("companyBandbox");
+ companyBandbox.setValue(name);
+ companyBandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setCompanyId(String id) {
+ companyId = id;
+ if (id != null) {
+ Company company = proxy.restore(Company.class, id);
+ if (company != null) {
+ Bandbox companyBandbox = (Bandbox) getFellow("companyBandbox");
+ String name = company.getName();
+ if (name != null) {
+ companyBandbox.setValue(name);
+ companyBandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getCompanyId() {
+ return companyId;
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -6,6 +6,7 @@
import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmploymentContract;
import org.chorem.data.bonzoms.EmploymentContractImpl;
+import org.chorem.data.bonzoms.Invoice;
import org.chorem.data.bonzoms.Person;
import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.WikittyProxy;
@@ -34,13 +35,10 @@
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected EmploymentContract contract = new EmploymentContractImpl();
- protected EmployeeModel employeeModel = new EmployeeModel(5);
- protected Bandbox employeeBandbox;
- protected Listbox employeeListbox;
+ EmployeeBandboxMacro employeeBandboxMacro;
public static final String EVENT_ON_SAVE_CONTRACT = "onSaveContract";
- public static final String EVENT_ON_CLOSE_CONTRACT = "onCloseContract";
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -54,116 +52,21 @@
}
if (contractId != null) {
contract = proxy.restore(EmploymentContract.class, contractId);
+ employeeBandboxMacro.setEmployeeId(contract.getEmployee());
}
- initEmployeeBandbox();
DataBinder binder = new AnnotateDataBinder(comp);
binder.bindBean("composer", this);
binder.loadAll();
}
- protected void initEmployeeBandbox() {
- onOK$employeeBandbox();
- initBandbox();
- }
-
- protected void initBandbox() {
- String employeeId = contract.getEmployee();
- if (employeeId != null && !employeeId.isEmpty()) {
- Employee employee = proxy.restore(Employee.class, employeeId);
- String personId = employee.getPerson();
- if (personId != null && !personId.isEmpty()) {
- Person person = proxy.restore(Person.class, personId);
- String name = person.getFirstName() + " " + person.getLastName();
- employeeBandbox.setValue(name);
- }
- }
- employeeBandbox.close();
- }
-
/*
- * Renderers
- */
- public ListitemRenderer getEmployeeRenderer() {
- return new ListitemRenderer() {
-
- @Override
- public void render(Listitem item, Object data) throws Exception {
- item.setValue(data);
- String firstName = "";
- String lastName = "";
- final Employee employee = (Employee) data;
- String personId = employee.getPerson();
- if (personId != null && !personId.isEmpty()) {
- Person person = proxy.restore(Person.class, personId);
- firstName = person.getFirstName();
- lastName = person.getLastName();
- }
- final String name = firstName + " " + lastName;
- Listcell fName = new Listcell(firstName);
- Listcell lName = new Listcell(lastName);
- item.appendChild(fName);
- item.appendChild(lName);
- item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- contract.setEmployee(employee.getWikittyId());
- employeeBandbox.setValue(name);
- employeeBandbox.close();
- }
- });
- }
- };
- }
-
- /*
* Events
*/
- public void onClick$newEmployee() {
- contract.setEmployee(null);
- employeeBandbox.setValue("");
- onClick$editEmployee();
- }
-
- public void onClick$editEmployee() {
- String id = contract.getEmployee();
- Map<String, Object> map = new HashMap<String, Object>();
- if (id != null) {
- map.put("employeeId", id);
- }
- Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map);
- win.addEventListener(EmployeeFormController.EVENT_ON_SAVE_EMPLOYEE, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- String employeeId = (String) event.getData();
- if (employeeId != null) {
- contract.setEmployee(employeeId);
- initBandbox();
- employeeModel.reload();
- }
- }
- });
- }
-
- public void onOK$employeeBandbox() {
- String search = employeeBandbox.getValue();
- Search query = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
- if (search != null && !search.isEmpty()) {
- query = query.keyword(search);
- }
- Criteria criteria = query.criteria();
- employeeModel.setCriteria(criteria);
- employeeBandbox.open();
- }
-
- public void onClose() {
- Events.postEvent(EVENT_ON_CLOSE_CONTRACT, this.self, null);
- }
-
public void onClick$saveContract() {
+ String employeeId = employeeBandboxMacro.getEmployeeId();
+ contract.setEmployee(employeeId);
contract = proxy.store(contract);
-
+
Events.postEvent(EVENT_ON_SAVE_CONTRACT, this.self, contract.getWikittyId());
self.detach();
@@ -175,8 +78,4 @@
public EmploymentContract getContract() {
return contract;
}
-
- public EmployeeModel getEmployeeModel() {
- return employeeModel;
- }
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeBandboxMacro.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,148 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.Employee;
+import org.chorem.data.bonzoms.Person;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Bandbox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.event.PagingEvent;
+
+public class EmployeeBandboxMacro extends HtmlMacroComponent {
+
+ private final int pageSize = 5;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected EmployeeModel employeeModel = new EmployeeModel(pageSize);
+ protected String employeeId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initListbox();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE).criteria();
+ employeeModel.setCriteria(criteria);
+
+ int totalSize = employeeModel.getTotalSize();
+ Paging employeePaging = (Paging) getFellow("employeePaging");
+ employeePaging.setTotalSize(totalSize);
+ employeePaging.setPageSize(pageSize);
+ employeePaging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ employeeModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox employeeBandbox = (Bandbox) getFellow("employeeBandbox");
+ employeeBandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = employeeBandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ employeeModel.setCriteria(criteria);
+ int totalSize = employeeModel.getTotalSize();
+ Paging paging = (Paging) getFellow("employeePaging");
+ paging.setTotalSize(totalSize);
+ paging.setActivePage(0);
+ employeeBandbox.open();
+ }
+ });
+ }
+
+ protected void initListbox() {
+ Listbox employeeListbox = (Listbox) getFellow("employeeListbox");
+ employeeListbox.setModel(employeeModel);
+ ListitemRenderer renderer = getEmployeeRenderer();
+ employeeListbox.setItemRenderer(renderer);
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getEmployeeRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ String firstName = "";
+ String lastName = "";
+ final Employee employee = (Employee) data;
+ String personId = employee.getPerson();
+ if (personId != null && !personId.isEmpty()) {
+ Person person = proxy.restore(Person.class, personId);
+ firstName = person.getFirstName();
+ lastName = person.getLastName();
+ }
+ final String name = firstName + " " + lastName;
+ Listcell fName = new Listcell(firstName);
+ Listcell lName = new Listcell(lastName);
+ item.appendChild(fName);
+ item.appendChild(lName);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ employeeId = employee.getWikittyId();
+ Bandbox bandbox = (Bandbox) getFellow("employeeBandbox");
+ bandbox.setValue(name);
+ bandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setEmployeeId(String id) {
+ employeeId = id;
+ if (id != null) {
+ Employee employee = proxy.restore(Employee.class, id);
+ if (employee != null) {
+ String personId = employee.getPerson();
+ Person person = proxy.restore(Person.class, personId);
+ if (person != null) {
+ String name = person.getFirstName() + " " + person.getLastName();
+ Bandbox bandbox = (Bandbox) getFellow("employeeBandbox");
+ bandbox.setValue(name);
+ bandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getEmployeeId() {
+ return employeeId;
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -28,28 +28,16 @@
import org.chorem.data.bonzoms.Address;
import org.chorem.data.bonzoms.AddressImpl;
-import org.chorem.data.bonzoms.Company;
import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmployeeImpl;
-import org.chorem.data.bonzoms.Person;
-import org.chorem.data.bonzoms.Service;
-import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.Element;
-import org.nuiton.wikitty.search.Search;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.SuspendNotAllowedException;
-import org.zkoss.zk.ui.event.Event;
-import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
-import org.zkoss.zul.Bandbox;
-import org.zkoss.zul.Listcell;
-import org.zkoss.zul.Listitem;
-import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Window;
/**
@@ -63,16 +51,11 @@
protected Employee employee = new EmployeeImpl();
protected Address workingAddress = new AddressImpl();
- protected CompanyModel companyModel = new CompanyModel(5);
- protected ServiceModel serviceModel = new ServiceModel(5);
- protected PersonModel personModel = new PersonModel(5);
+ protected CompanyBandboxMacro companyBandboxMacro;
+ protected ServiceBandboxMacro serviceBandboxMacro;
+ protected PersonBandboxMacro personBandboxMacro;
- protected Bandbox companyBandbox;
- protected Bandbox serviceBandbox;
- protected Bandbox personBandbox;
-
public static final String EVENT_ON_SAVE_EMPLOYEE = "onSaveEmployee";
- public static final String EVENT_ON_CLOSE_EMPLOYEE = "onCloseEmployee";
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -98,257 +81,144 @@
Component comp = self.getFellowIfAny("editContracts", false);
comp.setVisible(false);
}
- initServiceModel();
- initCompanyModel();
- initPersonModel();
}
protected void initEmployee(String employeeId) {
employee = proxy.restore(Employee.class, employeeId);
workingAddress = proxy.restore(Address.class, employee.getAddress());
+ companyBandboxMacro.setCompanyId(employee.getCompany());
+ serviceBandboxMacro.setServiceId(employee.getService());
+ personBandboxMacro.setPersonId(employee.getPerson());
}
- protected void initServiceModel() {
- onOK$serviceBandbox();
- String serviceId = employee.getService();
- if (serviceId != null && !serviceId.isEmpty()) {
- Service service = proxy.restore(Service.class, serviceId);
- serviceBandbox.setValue(service.getType());
- }
- serviceBandbox.close();
- }
-
- protected void initCompanyModel() {
- onOK$companyBandbox();
- String companyId = employee.getCompany();
- if (companyId != null && !companyId.isEmpty()) {
- Company company = proxy.restore(Company.class, companyId);
- companyBandbox.setValue(company.getName());
- }
- companyBandbox.close();
- }
-
- protected void initPersonModel() {
- onOK$personBandbox();
- String personId = employee.getPerson();
- if (personId != null && !personId.isEmpty()) {
- Person person = proxy.restore(Person.class, personId);
- String name = person.getFirstName() + " " + person.getLastName();
- personBandbox.setValue(name);
- }
- personBandbox.close();
- }
-
/*
- * Renderers
- */
- public ListitemRenderer getCompanyRenderer() {
- return new ListitemRenderer() {
-
- @Override
- public void render(Listitem item, Object data) throws Exception {
- item.setValue(data);
- final Company company = (Company) data;
- Listcell name = new Listcell(company.getName());
- Listcell type = new Listcell(company.getType());
- item.appendChild(name);
- item.appendChild(type);
- item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- employee.setCompany(company.getWikittyId());
- companyBandbox.setValue(company.getName());
- companyBandbox.close();
- }
- });
- }
- };
- }
-
- public ListitemRenderer getServiceRenderer() {
- return new ListitemRenderer() {
-
- @Override
- public void render(Listitem item, Object data) throws Exception {
- item.setValue(data);
- final Service service = (Service) data;
- Listcell name = new Listcell(service.getType());
- item.appendChild(name);
- item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- employee.setService(service.getWikittyId());
- serviceBandbox.setValue(service.getType());
- serviceBandbox.close();
- }
- });
- }
- };
- }
-
- public ListitemRenderer getPersonRenderer() {
- return new ListitemRenderer() {
-
- @Override
- public void render(Listitem item, Object data) throws Exception {
- item.setValue(data);
- final Person person = (Person) data;
- Listcell firstName = new Listcell(person.getFirstName());
- Listcell lastName = new Listcell(person.getLastName());
- item.appendChild(firstName);
- item.appendChild(lastName);
- item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- employee.setPerson(person.getWikittyId());
- String name = person.getFirstName() + " " + person.getLastName();
- personBandbox.setValue(name);
- personBandbox.close();
- }
- });
- }
- };
- }
-
- /*
* Events
*/
- public void onOK$companyBandbox() {
- String search = companyBandbox.getValue();
- Search query = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY);
- if (search != null && !search.isEmpty()) {
- query = query.keyword(search);
- }
- Criteria criteria = query.criteria();
- companyModel.setCriteria(criteria);
- companyBandbox.open();
- }
-
- public void onOK$serviceBandbox() {
- String search = serviceBandbox.getValue();
- Search query = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE);
- if (search != null && !search.isEmpty()) {
- query = query.keyword(search);
- }
- Criteria criteria = query.criteria();
- serviceModel.setCriteria(criteria);
- serviceBandbox.open();
- }
-
- public void onOK$personBandbox() {
- String search = personBandbox.getValue();
- Search query = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON);
- if (search != null && !search.isEmpty()) {
- query = query.keyword(search);
- }
- Criteria criteria = query.criteria();
- personModel.setCriteria(criteria);
- personBandbox.open();
- }
-
- public void onClose() {
- Events.postEvent(EVENT_ON_CLOSE_EMPLOYEE, this.self, null);
- }
-
public void onClick$saveEmployee() {
-
+ employee.setCompany(companyBandboxMacro.getCompanyId());
+ employee.setPerson(personBandboxMacro.getPersonId());
+ employee.setService(serviceBandboxMacro.getServiceId());
workingAddress = proxy.store(workingAddress);
employee.setAddress(workingAddress.getWikittyId());
-
+
employee = proxy.store(employee);
Events.postEvent(EVENT_ON_SAVE_EMPLOYEE, this.self, employee.getWikittyId());
this.self.detach();
}
- public void onClick$newPerson() {
- employee.setPerson(null);
- personBandbox.setValue("");
- onClick$editPerson();
- }
-
- public void onClick$editPerson() {
- Map<String, Object> map = new HashMap<String, Object>();
- String id = employee.getPerson();
- if (id != null && !id.isEmpty()) {
- map.put("personId", id);
- }
- Window win = (Window) Executions.createComponents("personFormPage.zul", null, map);
- win.addEventListener(PersonFormController.EVENT_ON_SAVE_PERSON, new EventListener() {
+// public void onClick$newPerson() {
+// employee.setPerson(null);
+// personBandbox.setValue("");
+// onClick$editPerson();
+// }
+//
+// public void onClick$editPerson() {
+// Map<String, Object> map = new HashMap<String, Object>();
+// String id = employee.getPerson();
+// if (id != null && !id.isEmpty()) {
+// map.put("personId", id);
+// }
+// Window win = (Window) Executions.createComponents("personFormPage.zul", null, map);
+// win.addEventListener(PersonFormController.EVENT_ON_SAVE_PERSON, new EventListener() {
+//
+// @Override
+// public void onEvent(Event event) throws Exception {
+// String personId = (String) event.getData();
+// if (personId != null) {
+// employee.setPerson(personId);
+// Person person = proxy.restore(Person.class, personId);
+// String name = person.getFirstName() + " " + person.getLastName();
+// personBandbox.setValue(name);
+// }
+// personModel.reload();
+// }
+// });
+// } public void onClick$newService() {
+// employee.setService(null);
+// serviceBandbox.setValue("");
+// onClick$editService();
+//}
+//
+//public void onClick$editService() {
+// Map<String, Object> map = new HashMap<String, Object>();
+// String id = employee.getService();
+// if (id != null && !id.isEmpty()) {
+// map.put("serviceId", id);
+// }
+// Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
+// win.addEventListener(ServiceFormController.EVENT_ON_SAVE_SERVICE, new EventListener() {
+// @Override
+// public void onEvent(Event event) throws Exception {
+// String serviceId = (String) event.getData();
+// if (serviceId != null) {
+// employee.setService(serviceId);
+// Service service = proxy.restore(Service.class, serviceId);
+// serviceBandbox.setValue(service.getType());
+// }
+// serviceModel.reload();
+// }
+// });
+//
+//}
- @Override
- public void onEvent(Event event) throws Exception {
- String personId = (String) event.getData();
- if (personId != null) {
- employee.setPerson(personId);
- Person person = proxy.restore(Person.class, personId);
- String name = person.getFirstName() + " " + person.getLastName();
- personBandbox.setValue(name);
- }
- personModel.reload();
- }
- });
- }
- public void onClick$newCompany() {
- employee.setCompany(null);
- companyBandbox.setValue("");
- onClick$editCompany();
- }
-
- public void onClick$editCompany() {
- Map<String, Object> map = new HashMap<String, Object>();
- String id = employee.getCompany();
- if (id != null && !id.isEmpty()) {
- map.put("companyId", id);
- }
- Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map);
- win.addEventListener(CompanyFormController.EVENT_ON_SAVE_COMPANY, new EventListener() {
+// public void onClick$newCompany() {
+// employee.setCompany(null);
+// companyBandbox.setValue("");
+// onClick$editCompany();
+// }
+//
+// public void onClick$editCompany() {
+// Map<String, Object> map = new HashMap<String, Object>();
+// String id = employee.getCompany();
+// if (id != null && !id.isEmpty()) {
+// map.put("companyId", id);
+// }
+// Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map);
+// win.addEventListener(CompanyFormController.EVENT_ON_SAVE_COMPANY, new EventListener() {
+//
+// @Override
+// public void onEvent(Event event) throws Exception {
+// String companyId = (String) event.getData();
+// if (companyId != null) {
+// employee.setCompany(companyId);
+// Company company = proxy.restore(Company.class, companyId);
+// companyBandbox.setValue(company.getName());
+// }
+// companyModel.reload();
+// }
+// });
+// }
- @Override
- public void onEvent(Event event) throws Exception {
- String companyId = (String) event.getData();
- if (companyId != null) {
- employee.setCompany(companyId);
- Company company = proxy.restore(Company.class, companyId);
- companyBandbox.setValue(company.getName());
- }
- companyModel.reload();
- }
- });
- }
+// public void onClick$newService() {
+// employee.setService(null);
+// serviceBandbox.setValue("");
+// onClick$editService();
+// }
+//
+// public void onClick$editService() {
+// Map<String, Object> map = new HashMap<String, Object>();
+// String id = employee.getService();
+// if (id != null && !id.isEmpty()) {
+// map.put("serviceId", id);
+// }
+// Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
+// win.addEventListener(ServiceFormController.EVENT_ON_SAVE_SERVICE, new EventListener() {
+// @Override
+// public void onEvent(Event event) throws Exception {
+// String serviceId = (String) event.getData();
+// if (serviceId != null) {
+// employee.setService(serviceId);
+// Service service = proxy.restore(Service.class, serviceId);
+// serviceBandbox.setValue(service.getType());
+// }
+// serviceModel.reload();
+// }
+// });
+//
+// }
- public void onClick$newService() {
- employee.setService(null);
- serviceBandbox.setValue("");
- onClick$editService();
- }
-
- public void onClick$editService() {
- Map<String, Object> map = new HashMap<String, Object>();
- String id = employee.getService();
- if (id != null && !id.isEmpty()) {
- map.put("serviceId", id);
- }
- Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
- win.addEventListener(ServiceFormController.EVENT_ON_SAVE_SERVICE, new EventListener() {
- @Override
- public void onEvent(Event event) throws Exception {
- String serviceId = (String) event.getData();
- if (serviceId != null) {
- employee.setService(serviceId);
- Service service = proxy.restore(Service.class, serviceId);
- serviceBandbox.setValue(service.getType());
- }
- serviceModel.reload();
- }
- });
-
- }
-
public void onClick$editContracts() throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
String id = employee.getWikittyId();
@@ -365,18 +235,6 @@
return employee;
}
- public CompanyModel getCompanyModel() {
- return companyModel;
- }
-
- public PersonModel getPersonModel() {
- return personModel;
- }
-
- public ServiceModel getServiceModel() {
- return serviceModel;
- }
-
public Address getWorkingAddress() {
return workingAddress;
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,195 @@
+package org.chorem.bonzoms.ui;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.chorem.data.bonzoms.ExportReport;
+import org.chorem.data.bonzoms.ExportReportItem;
+import org.chorem.data.bonzoms.Person;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.SuspendNotAllowedException;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
+
+public class ExportReportController extends GenericForwardComposer {
+
+ protected final int pageSize = 20;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ExportReportModel exportReportModel = new ExportReportModel(pageSize);
+
+ protected Paging exportReportPaging;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ initExportReportModel();
+ initPaging();
+ }
+
+ protected void initExportReportModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, ExportReport.EXT_EXPORTREPORT).criteria();
+ exportReportModel.setCriteria(criteria);
+ }
+
+ protected void initPaging() {
+ exportReportPaging.setPageSize(pageSize);
+ int totalSize = exportReportModel.getTotalSize();
+ exportReportPaging.setTotalSize(totalSize);
+ }
+
+ protected void createWindowExportReportForm(String id) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("exportReportId", id);
+ }
+ Window win = (Window) Executions.createComponents("exportReportFormPage.zul", null, map);
+ win.addEventListener(ExportReportFormController.EVENT_ON_SAVE_EXPORTREPORT, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ ExportReport exportReport = proxy.restore(ExportReport.class, id);
+ int rowIndex = exportReportModel.indexOf(exportReport);
+ if (rowIndex != -1) {
+ exportReportModel.reloadContent(rowIndex);
+ } else {
+ exportReportModel.addData(exportReport);
+ }
+ int totalSize = exportReportModel.getTotalSize();
+ exportReportPaging.setTotalSize(totalSize);
+ }
+ });
+ }
+
+ protected Listcell getDateCell(Date date) {
+ Listcell cell = new Listcell();
+ if (date != null) {
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
+ String label = sdf.format(date);
+ cell.setLabel(label);
+ }
+ return cell;
+ }
+
+ protected Listcell getPersonCell(String id) {
+ Listcell cell = new Listcell();
+ if (id != null && !id.isEmpty()) {
+ Person person = proxy.restore(Person.class, id);
+ if (person != null) {
+ String name = "";
+ String str = person.getFirstName();
+ if (str != null) {
+ name += str + " ";
+ }
+ str = person.getLastName();
+ if (str != null) {
+ name += str;
+ }
+ cell.setLabel(name);
+ }
+ }
+ return cell;
+ }
+
+ protected Listcell getPriceCell(String id) {
+ Listcell cell = new Listcell();
+ if (id != null && !id.isEmpty()) {
+ Search search = Search.query().eq(Element.ELT_EXTENSION, ExportReportItem.EXT_EXPORTREPORTITEM);
+ search = search.eq(ExportReportItem.FQ_FIELD_EXPORTREPORTITEM_EXPORTREPORT, id);
+ Criteria criteria = search.criteria();
+ List<ExportReportItem> items = proxy.findAllByCriteria(ExportReportItem.class, criteria).getAll();
+ double price = 0;
+ for (ExportReportItem item : items) {
+ Double amount = item.getTTCAmount();
+ if (amount != null) {
+ price += amount;
+ }
+ }
+ cell.setLabel(String.valueOf(price));
+ }
+ return cell;
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getExportReportRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final ExportReport exportReport = (ExportReport) data;
+
+ Listcell createdDateCell = getDateCell(exportReport.getDate());
+ item.appendChild(createdDateCell);
+
+ Listcell numberCell = new Listcell(exportReport.getNumber());
+ item.appendChild(numberCell);
+
+ Listcell stateCell = new Listcell(exportReport.getState());
+ item.appendChild(stateCell);
+
+ Listcell personCell = getPersonCell(exportReport.getPerson());
+ item.appendChild(personCell);
+
+ Listcell paymentDateCell = getDateCell(exportReport.getPayment());
+ item.appendChild(paymentDateCell);
+
+ Listcell priceCell = getPriceCell(exportReport.getWikittyId());
+ item.appendChild(priceCell);
+
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ createWindowExportReportForm(exportReport.getWikittyId());
+ }
+ });
+ }
+ };
+ }
+
+
+ /*
+ * Events
+ */
+ public void onClick$newExportReport() throws SuspendNotAllowedException, InterruptedException {
+ createWindowExportReportForm(null);
+ }
+
+ public void onPaging$exportReportPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ exportReportModel.setActivePage(activePage);
+ }
+
+ /*
+ * Getters
+ */
+ public ExportReportModel getExportReportModel() {
+ return exportReportModel;
+ }
+
+ /*
+ * Setters
+ */
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,234 @@
+package org.chorem.bonzoms.ui;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import org.chorem.data.bonzoms.ExportReport;
+import org.chorem.data.bonzoms.ExportReportImpl;
+import org.chorem.data.bonzoms.ExportReportItem;
+import org.chorem.data.bonzoms.ExportReportItemImpl;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zkplus.databind.AnnotateDataBinder;
+import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Datebox;
+import org.zkoss.zul.Doublebox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Window;
+import org.zkoss.zul.api.Textbox;
+
+public class ExportReportFormController extends GenericForwardComposer {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+
+ protected ExportReport exportReport = new ExportReportImpl();
+ protected ExportReportItemModel itemsModel = new ExportReportItemModel();
+ protected ExportReportItem selectedItem = null;
+ protected List<String> removedItems = new ArrayList<String>();
+
+ protected Listbox itemListbox;
+
+ public static final String EVENT_ON_SAVE_EXPORTREPORT = "onSaveExportReport";
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ Window win = (Window) self;
+ win.doModal();
+ win.setPosition("center");
+ String exportReportId = Executions.getCurrent().getParameter("exportReportId");
+ if (exportReportId == null) {
+ exportReportId = (String) arg.get("exportReportId");
+ }
+ init(exportReportId);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(String exportReportId) {
+ if (exportReportId == null) {
+ initDefaultExportReport();
+ } else {
+ initExportReport(exportReportId);
+ }
+ }
+
+ protected void initDefaultExportReport() {
+ ExportReportItem item = newItem();
+ itemsModel.addData(item);
+ selectedItem = item;
+ }
+
+ protected void initExportReport(String id) {
+ exportReport = proxy.restore(ExportReport.class, id);
+ Criteria criteria = Search.query().eq(ExportReportItem.FQ_FIELD_EXPORTREPORTITEM_EXPORTREPORT, id).criteria();
+ List<ExportReportItem> items = proxy.findAllByCriteria(ExportReportItem.class, criteria).getAll();
+ items = new ArrayList<ExportReportItem>(items);
+ if (items.size() == 0) {
+ ExportReportItem item = newItem();
+ items.add(item);
+ }
+ selectedItem = items.get(0);
+ itemsModel.setItems(items);
+ }
+
+ protected ExportReportItem newItem() {
+ ExportReportItem item = new ExportReportItemImpl();
+ item.setCompany("");
+ item.setDate(new Date());
+ return item;
+ }
+
+ protected void saveItems() {
+ List<ExportReportItem> items = itemsModel.getItems();
+ for (ExportReportItem item : items) {
+ item.setExportReport(exportReport.getWikittyId());
+ }
+ proxy.store(items);
+ proxy.delete(removedItems);
+ }
+
+ protected void setItemBox() {
+ Textbox textbox = (Textbox) self.getFellow("exportReportJustifyNumber");
+ textbox.setValue(selectedItem.getJustifyNumber());
+
+ Doublebox doublebox = (Doublebox) self.getFellow("exportReportHTAmount");
+ doublebox.setValue(selectedItem.getHTAmount());
+
+ doublebox = (Doublebox) self.getFellow("exportReportTTCAmount");
+ doublebox.setValue(selectedItem.getTTCAmount());
+
+ doublebox = (Doublebox) self.getFellow("exportReportTVA");
+ doublebox.setValue(selectedItem.getTVA());
+
+ Datebox datebox = (Datebox) self.getFellow("exportReportDate");
+ datebox.setValue(selectedItem.getDate());
+ }
+
+ protected Listcell getDateCell(Date date) {
+ Listcell cell = new Listcell();
+ if (date != null) {
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
+ String label = sdf.format(date);
+ cell.setLabel(label);
+ }
+ return cell;
+ }
+
+ protected Listcell getJustifyNumberCell(String number) {
+ Listcell cell = new Listcell();
+ if (number != null) {
+ cell.setLabel(number);
+ }
+ return cell;
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getExportReportItemRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final ExportReportItem exportReportitem = (ExportReportItem) data;
+
+ Listcell date = getDateCell(exportReportitem.getDate());
+ item.appendChild(date);
+
+ Listcell justifyNumber = getJustifyNumberCell(exportReportitem.getJustifyNumber());
+ item.appendChild(justifyNumber);
+
+ Listcell HT = new Listcell(String.valueOf(exportReportitem.getHTAmount()));
+ item.appendChild(HT);
+
+ Listcell TVA = new Listcell(String.valueOf(exportReportitem.getTVA()));
+ item.appendChild(TVA);
+
+ Listcell TTC = new Listcell(String.valueOf(exportReportitem.getTTCAmount()));
+ item.appendChild(TTC);
+
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ selectedItem = exportReportitem;
+ setItemBox();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$saveItem() {
+ if (selectedItem != null) {
+ int rowIndex = itemsModel.indexOf(selectedItem);
+ itemsModel.reloadContent(rowIndex);
+ }
+ }
+
+ public void onClick$saveExportReport() {
+ exportReport = proxy.store(exportReport);
+ saveItems();
+ Events.postEvent(EVENT_ON_SAVE_EXPORTREPORT, this.self, exportReport.getWikittyId());
+ self.detach();
+ }
+
+ public void onClick$addItem() {
+ ExportReportItem item = newItem();
+ selectedItem = item;
+ setItemBox();
+ itemsModel.addData(item);
+ }
+
+ public void onClick$deleteItem() {
+ if (itemsModel.getSize() > 1) {
+ Listitem item = itemListbox.getSelectedItem();
+ if (item != null) {
+ ExportReportItem exportReportItem = (ExportReportItem) item.getValue();
+ if (exportReportItem != null) {
+ itemsModel.removeData(exportReportItem);
+ String id = exportReportItem.getWikittyId();
+ if (id != null && !id.isEmpty()) {
+ removedItems.add(id);
+ }
+ selectedItem = (ExportReportItem) itemsModel.getElementAt(0);
+ setItemBox();
+ itemListbox.setSelectedIndex(0);
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public ExportReport getExportReport() {
+ return exportReport;
+ }
+
+ public ExportReportItemModel getItemsModel() {
+ return itemsModel;
+ }
+
+ public ExportReportItem getSelectedItem() {
+ return selectedItem;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,57 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.ExportReportItem;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+public class ExportReportItemModel extends AbstractListModel implements BindingListModel {
+
+ List<ExportReportItem> items = new ArrayList<ExportReportItem>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return items.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return items.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return items.indexOf(obj);
+ }
+
+ public void setItems(List<ExportReportItem> items) {
+ this.items = items;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(ExportReportItem newData) {
+ items.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, items.size() - 1, items.size() - 1);
+ }
+
+ public void removeData(ExportReportItem data) {
+ int interval = items.indexOf(data);
+ items.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reloadContent(int rowIndex) {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<ExportReportItem> getItems() {
+ return items;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportMacro.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,15 @@
+package org.chorem.bonzoms.ui;
+
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+
+public class ExportReportMacro extends HtmlMacroComponent {
+
+ protected String id = null;
+ protected WikittyProxy proxy = BonzomsProxy.getInstance();
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportModel.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,117 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.bonzoms.ui.ChoremDataProxy;
+import org.chorem.data.bonzoms.ExportReport;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.PagedResult;
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+public class ExportReportModel extends AbstractListModel implements BindingListModel {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected Criteria criteria = null;
+ protected int activePage = 0;
+ protected int pageSize = 1;
+ protected List<ExportReport> exportReports = new ArrayList<ExportReport>();
+
+ public ExportReportModel(int pageSize) {
+ this.pageSize = pageSize;
+ createList();
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ ExportReport exportReport = exportReports.get(index);
+ return exportReport;
+ }
+
+ @Override
+ public int getSize() {
+ return exportReports.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((ExportReport) obj).getWikittyId();
+ for (ExportReport data : exportReports) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = exportReports.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<ExportReport> result = proxy.findAllByCriteria(ExportReport.class, criteria);
+ return result.getNumFound();
+ }
+
+ public void addData(ExportReport newData) {
+ int listSize = exportReports.size();
+ if (listSize < (pageSize)) {
+ exportReports.add(newData);
+ }
+ int size = getSize();
+ fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1);
+ }
+
+ public void removeData(ExportReport data) {
+ int interval = exportReports.indexOf(data);
+ if (interval != -1) {
+ exportReports.remove(interval);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+ }
+
+ public void reloadContent(int rowIndex) {
+ ExportReport exportReport = exportReports.get(rowIndex);
+ exportReport = proxy.restore(ExportReport.class, exportReport.getWikittyId());
+ exportReports.set(rowIndex, exportReport);
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public Criteria getCriteria() {
+ return criteria;
+ }
+
+ public void setCriteria(Criteria criteria) {
+ if (criteria != null) {
+ this.criteria = criteria;
+ activePage = 0;
+ createList();
+ }
+ }
+
+ protected void createList() {
+ if (criteria != null) {
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
+ Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
+ List<ExportReport> exportReports = proxy.findAllByCriteria(ExportReport.class, criteria).getAll();
+ this.exportReports = new ArrayList<ExportReport>(exportReports);
+ }
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
+}
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonBandboxMacro.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,136 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.Person;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Bandbox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.event.PagingEvent;
+
+public class PersonBandboxMacro extends HtmlMacroComponent {
+
+ protected final int pageSize = 5;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected PersonModel personModel = new PersonModel(pageSize);
+ protected String personId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initListbox();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
+ personModel.setCriteria(criteria);
+
+ int totalSize = personModel.getTotalSize();
+ Paging paging = (Paging) getFellow("personPaging");
+ paging.setTotalSize(totalSize);
+ paging.setPageSize(pageSize);
+ paging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ personModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox bandbox = (Bandbox) getFellow("personBandbox");
+ bandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = bandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ personModel.setCriteria(criteria);
+ int totalSize = personModel.getTotalSize();
+ Paging paging = (Paging) getFellow("personPaging");
+ paging.setTotalSize(totalSize);
+ paging.setActivePage(0);
+ bandbox.open();
+ }
+ });
+ }
+
+ protected void initListbox() {
+ Listbox listbox = (Listbox) getFellow("personListbox");
+ listbox.setModel(personModel);
+ ListitemRenderer renderer = getPersonRenderer();
+ listbox.setItemRenderer(renderer);
+ }
+
+ /*
+ * Renderer
+ */
+ public ListitemRenderer getPersonRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final Person person = (Person) data;
+ Listcell firstName = new Listcell(person.getFirstName());
+ Listcell lastName = new Listcell(person.getLastName());
+ item.appendChild(firstName);
+ item.appendChild(lastName);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ personId = person.getWikittyId();
+ Bandbox bandbox = (Bandbox) getFellow("personBandbox");
+ bandbox.setValue(person.getFirstName() + " " + person.getLastName());
+ bandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setPersonId(String id) {
+ personId = id;
+ if (id != null) {
+ Person person = proxy.restore(Person.class, id);
+ if (person != null) {
+ Bandbox bandbox = (Bandbox) getFellow("personBandbox");
+ String name = person.getFirstName() + " " + person.getLastName();
+ if (name != null) {
+ bandbox.setValue(name);
+ bandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getPersonId() {
+ return personId;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceBandboxMacro.java 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,135 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.Service;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
+import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zul.Bandbox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.event.PagingEvent;
+
+public class ServiceBandboxMacro extends HtmlMacroComponent {
+
+ protected final int pageSize = 5;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ServiceModel serviceModel = new ServiceModel(pageSize);
+ protected String serviceId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initListbox();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE).criteria();
+ serviceModel.setCriteria(criteria);
+
+ int totalSize = serviceModel.getTotalSize();
+ Paging paging = (Paging) getFellow("servicePaging");
+ paging.setTotalSize(totalSize);
+ paging.setPageSize(pageSize);
+ paging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ serviceModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox bandbox = (Bandbox) getFellow("serviceBandbox");
+ bandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = bandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ serviceModel.setCriteria(criteria);
+ int totalSize = serviceModel.getTotalSize();
+ Paging paging = (Paging) getFellow("servicePaging");
+ paging.setTotalSize(totalSize);
+ paging.setActivePage(0);
+ bandbox.open();
+ }
+ });
+ }
+
+ protected void initListbox() {
+ Listbox listbox = (Listbox) getFellow("serviceListbox");
+ listbox.setModel(serviceModel);
+ ListitemRenderer renderer = getPersonRenderer();
+ listbox.setItemRenderer(renderer);
+ }
+
+ /*
+ * Renderer
+ */
+ public ListitemRenderer getPersonRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ item.setValue(data);
+ final Service service = (Service) data;
+ Listcell name = new Listcell(service.getType());
+ item.appendChild(name);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ serviceId = service.getWikittyId();
+ Bandbox bandbox = (Bandbox) getFellow("serviceBandbox");
+ bandbox.setValue(service.getType());
+ bandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setServiceId(String id) {
+ serviceId = id;
+ if (id != null) {
+ Service service = proxy.restore(Service.class, id);
+ if (service != null) {
+ Bandbox bandbox = (Bandbox) getFellow("serviceBandbox");
+ String name = service.getType();
+ if (name != null) {
+ bandbox.setValue(name);
+ bandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getServiceId() {
+ return serviceId;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<language-addon>
+
+ <addon-name>My macros</addon-name>
+ <language-name>xul/html</language-name>
+
+ <!-- employee macro -->
+ <component>
+ <component-name>employeeBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.EmployeeBandboxMacro</component-class>
+ <macro-uri>macros/employeeBandboxMacro.zul</macro-uri>
+ </component>
+
+ <!-- company macro -->
+ <component>
+ <component-name>companyBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.CompanyBandboxMacro</component-class>
+ <macro-uri>macros/companyBandboxMacro.zul</macro-uri>
+ </component>
+
+ <!-- person macro -->
+ <component>
+ <component-name>personBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.PersonBandboxMacro</component-class>
+ <macro-uri>macros/personBandboxMacro.zul</macro-uri>
+ </component>
+
+ <!-- service macro -->
+ <component>
+ <component-name>serviceBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.ServiceBandboxMacro</component-class>
+ <macro-uri>macros/serviceBandboxMacro.zul</macro-uri>
+ </component>
+
+</language-addon>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/zk.xml 2010-08-18 15:17:57 UTC (rev 132)
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- Created by ZK Studio
--->
<zk>
+ <language-config>
+ <addon-uri>/WEB-INF/lang-addon.xml</addon-uri>
+ </language-config>
</zk>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -10,9 +10,10 @@
<toolbarbutton id="companies" label="Companies" />
<toolbarbutton id="contracts" label="Contracts" />
<toolbarbutton id="employees" label="Employees" />
+ <toolbarbutton id="exportReports" label="Export reports" />
<toolbarbutton id="persons" label="Persons" />
<toolbarbutton id="services" label="Services" />
- </vbox>
+ </vbox>
</groupbox>
<vbox id="content" >
<hbox>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -22,24 +22,8 @@
<label value="Advantages" />
<textbox value="@{composer.contract.advantages, save-when='saveContract.onClick'}" />
- <hbox>
- <toolbarbutton id="editEmployee" label="Edit employee" /> / <toolbarbutton id="newEmployee" label="New employee" />
- </hbox>
+ <employeeBandboxMacro id="employeeBandboxMacro" />
- <bandbox id="employeeBandbox" mold="rounded">
- <bandpopup>
- <vbox>
- <listbox autopaging="true" mold="paging" id="personListbox" rows="5" width="200px" model="@{composer.employeeModel}"
- itemRenderer="@{composer.employeeRenderer}">
- <listhead>
- <listheader label="First name" />
- <listheader label="Last name" />
- </listhead>
- </listbox>
- </vbox>
- </bandpopup>
- </bandbox>
-
</vbox>
<space />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -19,56 +19,11 @@
<label value="Phone number" />
<textbox value="@{composer.employee.workingPhone, save-when='saveEmployee.onClick'}" />
- <hbox>
- <toolbarbutton id="editService" label="Edit service" /> / <toolbarbutton id="newService" label="New service" />
- </hbox>
- <bandbox id="serviceBandbox" mold="rounded">
- <bandpopup>
- <vbox>
- <listbox autopaging="true" mold="paging" id="serviceListbox" rows="5" width="200px" model="@{composer.serviceModel}"
- itemRenderer="@{composer.serviceRenderer}">
- <listhead>
- <listheader label="Name"/>
- </listhead>
- </listbox>
- </vbox>
- </bandpopup>
- </bandbox>
-
- <hbox>
- <toolbarbutton id="editCompany" label="Edit company" /> / <toolbarbutton id="newCompany" label="New company" />
- </hbox>
-
- <bandbox id="companyBandbox" mold="rounded">
- <bandpopup>
- <vbox>
- <listbox autopaging="true" mold="paging" id="companyListbox" rows="5" width="200px" model="@{composer.companyModel}"
- itemRenderer="@{composer.companyRenderer}">
- <listhead>
- <listheader label="Name" />
- <listheader label="Type" />
- </listhead>
- </listbox>
- </vbox>
- </bandpopup>
- </bandbox>
+ <personBandboxMacro id="personBandboxMacro" />
- <hbox>
- <toolbarbutton id="editPerson" label="Edit person" /> / <toolbarbutton id="newPerson" label="New person" />
- </hbox>
- <bandbox id="personBandbox" mold="rounded">
- <bandpopup>
- <vbox>
- <listbox autopaging="true" mold="paging" id="personListbox" rows="5" width="200px" model="@{composer.personModel}"
- itemRenderer="@{composer.personRenderer}">
- <listhead>
- <listheader label="First name" />
- <listheader label="Last name" />
- </listhead>
- </listbox>
- </vbox>
- </bandpopup>
- </bandbox>
+ <companyBandboxMacro id="companyBandboxMacro" />
+
+ <serviceBandboxMacro id="serviceBandboxMacro" />
<toolbarbutton id="editContracts" label="Edit contracts" />
Added: trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,95 @@
+<?page id="exportReportForm" title="Export report form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+
+<window closable="true" maximizable="true" sizable="true" width="650px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ExportReportFormController">
+ <caption label="Export report"/>
+ <vbox>
+
+ <groupbox>
+ <caption label="Export report" />
+ <hbox>
+
+ <vbox>
+ State
+ <listbox id="stateListbox" mold="select">
+ <listitem label="Writing" />
+ <listitem label="Waiting for payment" />
+ <listitem label="Waiting for validation" />
+ <listitem label="Payed" />
+ </listbox>
+ </vbox>
+
+ <space />
+
+ <vbox>
+ Payment date
+ <datebox value="@{composer.exportReport.payment, save-when='saveExportReport.onClick'}" />
+ </vbox>
+
+ <space />
+
+ <vbox>
+ Number
+ <textbox value="@{composer.exportReport.number, save-when='saveExportReport.onClick'}" />
+ </vbox>
+
+ </hbox>
+ </groupbox>
+
+
+ <groupbox>
+ <caption label="Items" />
+ <hbox>
+ <vbox>
+ Date
+ <datebox id="exportReportDate" value="@{composer.selectedItem.date, save-when='saveItem.onClick'}" />
+ </vbox>
+
+ <vbox>
+ Justify number
+ <textbox id="exportReportJustifyNumber" value="@{composer.selectedItem.justifyNumber, save-when='saveItem.onClick'}" />
+ </vbox>
+
+ <vbox>
+ HT amount
+ <doublebox id="exportReportHTAmount" value="@{composer.selectedItem.hTAmount, save-when='saveItem.onClick'}" />
+ </vbox>
+
+ <vbox>
+ TVA
+ <doublebox id="exportReportTVA" value="@{composer.selectedItem.tVA, save-when='saveItem.onClick'}" />
+ </vbox>
+
+ <vbox>
+ TTC amount
+ <doublebox id="exportReportTTCAmount" value="@{composer.selectedItem.tTCAmount, save-when='saveItem.onClick'}" />
+ </vbox>
+ <space />
+ <vbox>
+ <separator />
+ <button id="saveItem" label="Save" />
+ </vbox>
+ </hbox>
+
+ <vbox>
+ <separator />
+ <listbox id="itemListbox" model="@{composer.itemsModel}" itemRenderer="@{composer.exportReportItemRenderer}" autopaging="true" mold="paging" rows="5" >
+ <listhead>
+ <listheader label="Date" />
+ <listheader label="Justify number" />
+ <listheader label="HT amount" />
+ <listheader label="TVA" />
+ <listheader label="TTC amount" />
+ </listhead>
+ </listbox>
+ <hbox>
+ <button id="addItem" label="Add item" />
+ <space />
+ <button id="deleteItem" label="Delete item" />
+ </hbox>
+ </vbox>
+ </groupbox>
+
+ </vbox>
+ <button id="saveExportReport" label="Save" />
+</window>
Added: trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,20 @@
+<?page id="exportReport" title="Export report" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./exportReport"?>
+
+
+<window id="exportReport" apply="org.chorem.bonzoms.ui.ExportReportController">
+ Export report: <toolbarbutton id="newExportReport" label="Add new export report" />
+ <listbox id="exportReportListbox" rows="20" model="@{exportReport$composer.exportReportModel}"
+ itemRenderer="@{exportReport$composer.exportReportRenderer}">
+ <listhead>
+ <listheader label="Creation Date" />
+ <listheader label="Number" />
+ <listheader label="State" />
+ <listheader label="Person" />
+ <listheader label="Payment date" />
+ <listheader label="TTC Price" />
+ </listhead>
+ </listbox>
+ <paging id="exportReportPaging" />
+</window>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/companyBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/companyBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/companyBandboxMacro.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,17 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Company:
+ <bandbox id="companyBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox rows="5" id="companyListbox" width="200px" >
+ <listhead>
+ <listheader label="Name" />
+ <listheader label="Type" />
+ </listhead>
+ </listbox>
+ <paging id="companyPaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/employeeBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/employeeBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/employeeBandboxMacro.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,17 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Employee:
+ <bandbox id="employeeBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox id="employeeListbox" rows="5" width="200px">
+ <listhead>
+ <listheader label="First name" />
+ <listheader label="Last name" />
+ </listhead>
+ </listbox>
+ <paging id="employeePaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,17 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Person:
+ <bandbox id="personBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox id="personListbox" rows="5" width="200px">
+ <listhead>
+ <listheader label="First name" />
+ <listheader label="Last name" />
+ </listhead>
+ </listbox>
+ <paging id="personPaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/serviceBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/serviceBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/serviceBandboxMacro.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -0,0 +1,16 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Service:
+ <bandbox id="serviceBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox id="serviceListbox" rows="5" width="200px">
+ <listhead>
+ <listheader label="Type" />
+ </listhead>
+ </listbox>
+ <paging id="servicePaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/bonzoms-ui-zk/src/main/webapp/serviceFormPage.zul 2010-08-18 15:17:57 UTC (rev 132)
@@ -12,7 +12,7 @@
<label value="Type" />
<textbox value="@{composer.service.type, save-when='saveService.onClick'}" />
- <label value="Name" />
+ <label value="Address name" />
<textbox value="@{composer.address.name, save-when='saveService.onClick'}" />
<label value="Address 1" />
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-16 10:16:48 UTC (rev 131)
+++ trunk/pom.xml 2010-08-18 15:17:57 UTC (rev 132)
@@ -230,7 +230,7 @@
<projectId>bonzoms</projectId>
<chorem-data.version>0.1-SNAPSHOT</chorem-data.version>
- <zk.version>5.0.2</zk.version>
+ <zk.version>5.0.3</zk.version>
<wikitty.version>2.1-SNAPSHOT</wikitty.version>
<!-- Nuiton librairies -->
1
0
r131 - trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui
by bbrossaudï¼ users.chorem.org 16 Aug '10
by bbrossaudï¼ users.chorem.org 16 Aug '10
16 Aug '10
Author: bbrossaud
Date: 2010-08-16 12:16:48 +0200 (Mon, 16 Aug 2010)
New Revision: 131
Url: http://chorem.org/repositories/revision/bonzoms/131
Log:
the all search works well now
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-13 15:20:22 UTC (rev 130)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-16 10:16:48 UTC (rev 131)
@@ -84,14 +84,19 @@
}
protected Criteria getCriteriaBySearch(String str) {
- Search search = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON);
- search = search.or().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY);
- search = search.eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
- search = search.eq(Element.ELT_EXTENSION, Service.EXT_SERVICE);
- search = search.eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT);
- search = search.eq(Element.ELT_EXTENSION, Address.EXT_ADDRESS);
+ Search search = Search.query();
+
+ Search searchOr = search.or();
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, Person.EXT_PERSON);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, Company.EXT_COMPANY);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, Service.EXT_SERVICE);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, Address.EXT_ADDRESS);
+
if (str != null && !str.isEmpty()) {
- search = search.and().keyword(str);
+ Search searchAnd = search.and();
+ searchAnd.keyword(str);
}
Criteria criteria = search.criteria();
return criteria;
1
0
r130 - in trunk: . bonzoms-ui-zk bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui bonzoms-ui-zk/src/main/webapp
by bbrossaudï¼ users.chorem.org 13 Aug '10
by bbrossaudï¼ users.chorem.org 13 Aug '10
13 Aug '10
Author: bbrossaud
Date: 2010-08-13 17:20:22 +0200 (Fri, 13 Aug 2010)
New Revision: 130
Url: http://chorem.org/repositories/revision/bonzoms/130
Log:
modification pagination
Modified:
trunk/bonzoms-ui-zk/pom.xml
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java
trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/employeePage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/resultPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/servicePage.zul
trunk/pom.xml
Modified: trunk/bonzoms-ui-zk/pom.xml
===================================================================
--- trunk/bonzoms-ui-zk/pom.xml 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/pom.xml 2010-08-13 15:20:22 UTC (rev 130)
@@ -74,6 +74,16 @@
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</dependency>
+
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ </dependency>
</dependencies>
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -1,26 +1,3 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
@@ -41,12 +18,15 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -54,17 +34,32 @@
*/
public class CompanyController extends GenericForwardComposer {
+ protected final int pageSize = 20;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected CompanyModel companyModel = new CompanyModel(20);
+ protected CompanyModel companyModel = new CompanyModel(pageSize);
+
+ protected Paging companyPaging;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria();
+ initCompanyModel();
+ initPaging();
+ }
+
+ protected void initCompanyModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria();
companyModel.setCriteria(criteria);
}
-
- public void createWindowCompanyForm(String id) throws SuspendNotAllowedException, InterruptedException {
+
+ protected void initPaging() {
+ companyPaging.setPageSize(pageSize);
+ int totalSize = companyModel.getTotalSize();
+ companyPaging.setTotalSize(totalSize);
+ }
+
+ protected void createWindowCompanyForm(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
map.put("companyId", id);
@@ -74,7 +69,16 @@
@Override
public void onEvent(Event event) throws Exception {
- companyModel.reload();
+ String id = (String) event.getData();
+ Company company = proxy.restore(Company.class, id);
+ int rowIndex = companyModel.indexOf(company);
+ if (rowIndex != -1) {
+ companyModel.reloadContent(rowIndex);
+ } else {
+ companyModel.addData(company);
+ }
+ int totalSize = companyModel.getTotalSize();
+ companyPaging.setTotalSize(totalSize);
}
});
}
@@ -86,6 +90,12 @@
createWindowCompanyForm(null);
}
+ public void onPaging$companyPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ companyModel.setActivePage(activePage);
+ }
+
/*
* Renderers
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -273,7 +273,7 @@
company = proxy.store(company);
- Events.postEvent(EVENT_ON_SAVE_COMPANY, this.self, company);
+ Events.postEvent(EVENT_ON_SAVE_COMPANY, this.self, company.getWikittyId());
this.self.detach();
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -1,31 +1,9 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
import java.util.List;
+import org.chorem.bonzoms.ui.ChoremDataProxy;
import org.chorem.data.bonzoms.Company;
import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.PagedResult;
@@ -34,58 +12,56 @@
import org.zkoss.zul.AbstractListModel;
import org.zkoss.zul.event.ListDataEvent;
-/**
- *
- * @author bbrossaud
- */
public class CompanyModel extends AbstractListModel implements BindingListModel {
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<Company> companies = new ArrayList<Company>();
- public CompanyModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
+ public CompanyModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- Company Company = companies.get(indexList);
- return Company;
+ Company company = companies.get(index);
+ return company;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- PagedResult<Company> result = proxy.findAllByCriteria(Company.class, criteria);
- return result.getNumFound();
+ return companies.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
+ int index = -1;
String id = ((Company) obj).getWikittyId();
for (Company data : companies) {
String dataId = data.getWikittyId();
if (id.equals(dataId)) {
- index = companies.indexOf(data) + (itemsByPage * currentPage);
+ index = companies.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Company> result = proxy.findAllByCriteria(Company.class, criteria);
+ return result.getNumFound();
+ }
+
public void addData(Company newData) {
- int listSize = companies.size();
- if (listSize < (itemsByPage)) {
+ int listSize = companies.size();
+ if (listSize < (pageSize)) {
companies.add(newData);
}
int size = getSize();
@@ -93,23 +69,21 @@
}
public void removeData(Company data) {
- int index = companies.indexOf(data);
- if (index != -1) {
- companies.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = companies.indexOf(data);
+ if (interval != -1) {
+ companies.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- Company Company = companies.get(indexList);
- Company = proxy.restore(Company.class, Company.getWikittyId());
+ Company company = companies.get(rowIndex);
+ company = proxy.restore(Company.class, company.getWikittyId());
+ companies.set(rowIndex, company);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -120,26 +94,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
- List<Company> Companies = proxy.findAllByCriteria(Company.class, criteria).getAll();
- this.companies = new ArrayList<Company>(Companies);
+ List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll();
+ this.companies = new ArrayList<Company>(companies);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -20,12 +20,15 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -33,17 +36,34 @@
*/
public class ContractController extends GenericForwardComposer {
+ protected final int pageSize = 20;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected ContractModel contractModel = new ContractModel(20);
+ protected ContractModel contractModel = new ContractModel(pageSize);
protected Checkbox checkbox1;
+
+ protected Paging contractPaging;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
+ initContractModel();
+ initPaging();
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).criteria();
contractModel.setCriteria(criteria);
}
+ protected void initContractModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).criteria();
+ contractModel.setCriteria(criteria);
+ }
+
+ protected void initPaging() {
+ contractPaging.setPageSize(pageSize);
+ int totalSize = contractModel.getTotalSize();
+ contractPaging.setTotalSize(totalSize);
+ }
+
protected void createWindowContractForm(String id) throws InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
@@ -54,7 +74,16 @@
@Override
public void onEvent(Event event) throws Exception {
- contractModel.reload();
+ String id = (String) event.getData();
+ EmploymentContract contract = proxy.restore(EmploymentContract.class, id);
+ int rowIndex = contractModel.indexOf(contract);
+ if (rowIndex != -1) {
+ contractModel.reloadContent(rowIndex);
+ } else {
+ contractModel.addData(contract);
+ }
+ int totalSize = contractModel.getTotalSize();
+ contractPaging.setTotalSize(totalSize);
}
});
}
@@ -143,12 +172,15 @@
}
}
- public void onCreate$contract(Event event) {
- }
-
public void onClick$newContract() throws SuspendNotAllowedException, InterruptedException {
createWindowContractForm(null);
}
+
+ public void onPaging$contractPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ contractModel.setActivePage(activePage);
+ }
/*
* Getters
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -1,26 +1,3 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
package org.chorem.bonzoms.ui;
import java.util.ArrayList;
@@ -36,58 +13,58 @@
/**
*
- * @author sherkhan
+ * @author bbrossaud
*/
public class ContractModel extends AbstractListModel implements BindingListModel {
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int size = 0;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<EmploymentContract> contracts = new ArrayList<EmploymentContract>();
- public ContractModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
- size = getSize();
+ public ContractModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- EmploymentContract contract = contracts.get(indexList);
+ EmploymentContract contract = contracts.get(index);
return contract;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- PagedResult<EmploymentContract> result = proxy.findAllByCriteria(EmploymentContract.class, criteria);
- return result.getNumFound();
+ return contracts.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
+ int index = -1;
String id = ((EmploymentContract) obj).getWikittyId();
for (EmploymentContract data : contracts) {
String dataId = data.getWikittyId();
if (id.equals(dataId)) {
- index = contracts.indexOf(data) + (itemsByPage * currentPage);
+ index = contracts.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<EmploymentContract> result = proxy.findAllByCriteria(EmploymentContract.class, criteria);
+ return result.getNumFound();
+ }
+
public void addData(EmploymentContract newData) {
- int listSize = contracts.size();
- if (listSize < (itemsByPage)) {
+ int listSize = contracts.size();
+ if (listSize < (pageSize)) {
contracts.add(newData);
}
int size = getSize();
@@ -95,24 +72,21 @@
}
public void removeData(EmploymentContract data) {
- int index = contracts.indexOf(data);
- if (index != -1) {
- contracts.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = contracts.indexOf(data);
+ if (interval != -1) {
+ contracts.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- EmploymentContract contract = contracts.get(indexList);
+ EmploymentContract contract = contracts.get(rowIndex);
contract = proxy.restore(EmploymentContract.class, contract.getWikittyId());
+ contracts.set(rowIndex, contract);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
- size = getSize();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -123,26 +97,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
List<EmploymentContract> contracts = proxy.findAllByCriteria(EmploymentContract.class, criteria).getAll();
this.contracts = new ArrayList<EmploymentContract>(contracts);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
-}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
+}
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -38,11 +38,14 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -50,17 +53,32 @@
*/
public class EmployeeController extends GenericForwardComposer {
+ protected final int pageSize = 20;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected EmployeeModel employeeModel = new EmployeeModel(20);
+ protected EmployeeModel employeeModel = new EmployeeModel(pageSize);
+ protected Paging employeePaging;
+
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE).criteria();
+ initEmployeeModel();
+ initPaging();
+ }
+
+ protected void initEmployeeModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE).criteria();
employeeModel.setCriteria(criteria);
}
-
- public void createWindowEmployeeForm(String id) throws SuspendNotAllowedException, InterruptedException {
+
+ protected void initPaging() {
+ employeePaging.setPageSize(pageSize);
+ int totalSize = employeeModel.getTotalSize();
+ employeePaging.setTotalSize(totalSize);
+ }
+
+ protected void createWindowEmployeeForm(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
map.put("employeeId", id);
@@ -70,7 +88,16 @@
@Override
public void onEvent(Event event) throws Exception {
- employeeModel.reload();
+ String id = (String) event.getData();
+ Employee employee = proxy.restore(Employee.class, id);
+ int rowIndex = employeeModel.indexOf(employee);
+ if (rowIndex != -1) {
+ employeeModel.reloadContent(rowIndex);
+ } else {
+ employeeModel.addData(employee);
+ }
+ int totalSize = employeeModel.getTotalSize();
+ employeePaging.setTotalSize(totalSize);
}
});
}
@@ -124,6 +151,12 @@
public void onClick$newEmployee() throws SuspendNotAllowedException, InterruptedException {
createWindowEmployeeForm(null);
}
+
+ public void onPaging$employeePaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ employeeModel.setActivePage(activePage);
+ }
/*
* Getters
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -42,51 +42,52 @@
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<Employee> employees = new ArrayList<Employee>();
- public EmployeeModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
+ public EmployeeModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- Employee employee = employees.get(indexList);
+ Employee employee = employees.get(index);
return employee;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- PagedResult<Employee> result = proxy.findAllByCriteria(Employee.class, criteria);
- return result.getNumFound();
+ return employees.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
- Employee employee = (Employee) obj;
- String id = employee.getWikittyId();
+ int index = -1;
+ String id = ((Employee) obj).getWikittyId();
for (Employee data : employees) {
String dataId = data.getWikittyId();
if (id.equals(dataId)) {
- index = employees.indexOf(data) + (itemsByPage * currentPage);
+ index = employees.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Employee> result = proxy.findAllByCriteria(Employee.class, criteria);
+ return result.getNumFound();
+ }
+
public void addData(Employee newData) {
- int listSize = employees.size();
- if (listSize < (itemsByPage)) {
+ int listSize = employees.size();
+ if (listSize < (pageSize)) {
employees.add(newData);
}
int size = getSize();
@@ -94,23 +95,21 @@
}
public void removeData(Employee data) {
- int index = employees.indexOf(data);
- if (index != -1) {
- employees.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = employees.indexOf(data);
+ if (interval != -1) {
+ employees.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- Employee employee = employees.get(indexList);
+ Employee employee = employees.get(rowIndex);
employee = proxy.restore(Employee.class, employee.getWikittyId());
+ employees.set(rowIndex, employee);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -121,26 +120,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
- Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
- List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll();
- this.employees = new ArrayList<Employee>(employees);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
+ Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
+ List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll();
+ this.employees = new ArrayList<Employee>(employees);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -40,11 +40,14 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -52,18 +55,32 @@
*/
public class PersonController extends GenericForwardComposer {
+ protected final int pageSize = 20;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected PersonModel personModel = new PersonModel(pageSize);
+
+ protected Paging personPaging;
- protected PersonModel personModel = new PersonModel(20);
-
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
+ initPersonModel();
+ initPaging();
+ }
+
+ protected void initPersonModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
personModel.setCriteria(criteria);
}
- public void createWindowPersonForm(String id) throws SuspendNotAllowedException, InterruptedException {
+ protected void initPaging() {
+ personPaging.setPageSize(pageSize);
+ int totalSize = personModel.getTotalSize();
+ personPaging.setTotalSize(totalSize);
+ }
+
+ protected void createWindowPersonForm(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
map.put("personId", id);
@@ -73,7 +90,16 @@
@Override
public void onEvent(Event event) throws Exception {
- personModel.reload();
+ String id = (String) event.getData();
+ Person person = proxy.restore(Person.class, id);
+ int rowIndex = personModel.indexOf(person);
+ if (rowIndex != -1) {
+ personModel.reloadContent(rowIndex);
+ } else {
+ personModel.addData(person);
+ }
+ int totalSize = personModel.getTotalSize();
+ personPaging.setTotalSize(totalSize);
}
});
}
@@ -85,6 +111,12 @@
createWindowPersonForm(null);
}
+ public void onPaging$personPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ personModel.setActivePage(activePage);
+ }
+
/*
* Renderers
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -19,50 +19,52 @@
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<Person> persons = new ArrayList<Person>();
- public PersonModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
+ public PersonModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- Person Person = persons.get(indexList);
- return Person;
+ Person person = persons.get(index);
+ return person;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- PagedResult<Person> result = proxy.findAllByCriteria(Person.class, criteria);
- return result.getNumFound();
+ return persons.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
+ int index = -1;
String id = ((Person) obj).getWikittyId();
for (Person data : persons) {
String dataId = data.getWikittyId();
if (id.equals(dataId)) {
- index = persons.indexOf(data) + (itemsByPage * currentPage);
+ index = persons.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Person> result = proxy.findAllByCriteria(Person.class, criteria);
+ return result.getNumFound();
+ }
+
public void addData(Person newData) {
int listSize = persons.size();
- if (listSize < (itemsByPage)) {
+ if (listSize < (pageSize)) {
persons.add(newData);
}
int size = getSize();
@@ -70,23 +72,21 @@
}
public void removeData(Person data) {
- int index = persons.indexOf(data);
- if (index != -1) {
- persons.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = persons.indexOf(data);
+ if (interval != -1) {
+ persons.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- Person Person = persons.get(indexList);
- Person = proxy.restore(Person.class, Person.getWikittyId());
+ Person person = persons.get(rowIndex);
+ person = proxy.restore(Person.class, person.getWikittyId());
+ persons.set(rowIndex, person);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -97,26 +97,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
List<Person> persons = proxy.findAllByCriteria(Person.class, criteria).getAll();
this.persons = new ArrayList<Person>(persons);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -49,12 +49,16 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Toolbarbutton;
+import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -62,8 +66,12 @@
*/
public class ResultController extends GenericForwardComposer {
+ protected final int pageSize = 10;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected WikittyModel wikittyModel = new WikittyModel(10);
+ protected WikittyModel wikittyModel = new WikittyModel(pageSize);
+
+ protected Paging wikittyPaging;
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -72,6 +80,7 @@
Criteria criteria = getCriteriaBySearch(str);
wikittyModel.setCriteria(criteria);
+ initPaging();
}
protected Criteria getCriteriaBySearch(String str) {
@@ -87,13 +96,35 @@
Criteria criteria = search.criteria();
return criteria;
}
+
+ protected void initPaging() {
+ wikittyPaging.setPageSize(pageSize);
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
- protected void createEmploymentContractPage(String id) throws SuspendNotAllowedException, InterruptedException {
+ protected void createEmploymentContractPage(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
map.put("contractId", id);
}
- Executions.createComponents("contractFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("contractFormPage.zul", null, map);
+ win.addEventListener(ContractFormController.EVENT_ON_SAVE_CONTRACT, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createPersonPage(String id) throws SuspendNotAllowedException, InterruptedException {
@@ -101,7 +132,23 @@
if (id != null) {
map.put("personId", id);
}
- Executions.createComponents("personFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("personFormPage.zul", null, map);
+ win.addEventListener(PersonFormController.EVENT_ON_SAVE_PERSON, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createEmployeePage(String id) throws SuspendNotAllowedException, InterruptedException {
@@ -109,7 +156,23 @@
if (id != null) {
map.put("employeeId", id);
}
- Executions.createComponents("employeeFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map);
+ win.addEventListener(EmployeeFormController.EVENT_ON_SAVE_EMPLOYEE, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createAddressPage(String id) throws SuspendNotAllowedException, InterruptedException {
@@ -117,7 +180,23 @@
if (id != null) {
map.put("addressId", id);
}
- Executions.createComponents("addressFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("addressFormPage.zul", null, map);
+ win.addEventListener(AddressFormController.EVENT_ON_SAVE_ADDRESS, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createServicePage(String id) throws SuspendNotAllowedException, InterruptedException {
@@ -125,7 +204,23 @@
if (id != null) {
map.put("serviceId", id);
}
- Executions.createComponents("serviceFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("serviceFormPage.zul", null, map);
+ win.addEventListener(ServiceFormController.EVENT_ON_SAVE_SERVICE, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createCompanyPage(String id) throws SuspendNotAllowedException, InterruptedException {
@@ -133,7 +228,23 @@
if (id != null) {
map.put("companyId", id);
}
- Executions.createComponents("companyFormPage.zul", null, map);
+ Window win = (Window) Executions.createComponents("companyFormPage.zul", null, map);
+ win.addEventListener(CompanyFormController.EVENT_ON_SAVE_COMPANY, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ Wikitty wikitty = proxy.restore(id);
+ int rowIndex = wikittyModel.indexOf(wikitty);
+ if (rowIndex != -1) {
+ wikittyModel.reloadContent(rowIndex);
+ } else {
+ wikittyModel.addData(wikitty);
+ }
+ int totalSize = wikittyModel.getTotalSize();
+ wikittyPaging.setTotalSize(totalSize);
+ }
+ });
}
protected void createPageByWikitty(Wikitty wikitty) throws SuspendNotAllowedException, InterruptedException {
@@ -158,6 +269,12 @@
* Events
*/
+ public void onPaging$wikittyPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ wikittyModel.setActivePage(activePage);
+ }
+
/*
* Renderers
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -14,12 +14,15 @@
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
+import org.zkoss.zk.ui.event.ForwardEvent;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
import org.zkoss.zul.Window;
+import org.zkoss.zul.event.PagingEvent;
/**
*
@@ -27,17 +30,31 @@
*/
public class ServiceController extends GenericForwardComposer {
+ protected final int pageSize = 20;
+
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ServiceModel serviceModel = new ServiceModel(pageSize);
+
+ protected Paging servicePaging;
- protected ServiceModel serviceModel = new ServiceModel(20);
-
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE).criteria();
+ initServiceModel();
+ initPaging();
+ }
+
+ protected void initServiceModel() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE).criteria();
serviceModel.setCriteria(criteria);
}
-
+
+ protected void initPaging() {
+ servicePaging.setPageSize(pageSize);
+ int totalSize = serviceModel.getTotalSize();
+ servicePaging.setTotalSize(totalSize);
+ }
+
public void createWindowServiceForm(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
if (id != null) {
@@ -48,7 +65,16 @@
@Override
public void onEvent(Event event) throws Exception {
- serviceModel.reload();
+ String id = (String) event.getData();
+ Service service = proxy.restore(Service.class, id);
+ int rowIndex = serviceModel.indexOf(service);
+ if (rowIndex != -1) {
+ serviceModel.reloadContent(rowIndex);
+ } else {
+ serviceModel.addData(service);
+ }
+ int totalSize = serviceModel.getTotalSize();
+ servicePaging.setTotalSize(totalSize);
}
});
}
@@ -72,6 +98,12 @@
createWindowServiceForm(null);
}
+ public void onPaging$servicePaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ serviceModel.setActivePage(activePage);
+ }
+
/*
* Renderers
*/
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -19,50 +19,52 @@
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<Service> services = new ArrayList<Service>();
- public ServiceModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
+ public ServiceModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- Service Service = services.get(indexList);
- return Service;
+ Service service = services.get(index);
+ return service;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- PagedResult<Service> result = proxy.findAllByCriteria(Service.class, criteria);
- return result.getNumFound();
+ return services.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
+ int index = -1;
String id = ((Service) obj).getWikittyId();
for (Service data : services) {
String dataId = data.getWikittyId();
if (id.equals(dataId)) {
- index = services.indexOf(data) + (itemsByPage * currentPage);
+ index = services.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Service> result = proxy.findAllByCriteria(Service.class, criteria);
+ return result.getNumFound();
+ }
+
public void addData(Service newData) {
- int listSize = services.size();
- if (listSize < (itemsByPage)) {
+ int listSize = services.size();
+ if (listSize < (pageSize)) {
services.add(newData);
}
int size = getSize();
@@ -70,23 +72,21 @@
}
public void removeData(Service data) {
- int index = services.indexOf(data);
- if (index != -1) {
- services.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = services.indexOf(data);
+ if (interval != -1) {
+ services.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- Service Service = services.get(indexList);
- Service = proxy.restore(Service.class, Service.getWikittyId());
+ Service service = services.get(rowIndex);
+ service = proxy.restore(Service.class, service.getWikittyId());
+ services.set(rowIndex, service);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -97,26 +97,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
- List<Service> Services = proxy.findAllByCriteria(Service.class, criteria).getAll();
- this.services = new ArrayList<Service>(Services);
+ List<Service> services = proxy.findAllByCriteria(Service.class, criteria).getAll();
+ this.services = new ArrayList<Service>(services);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-13 15:20:22 UTC (rev 130)
@@ -7,7 +7,6 @@
import org.nuiton.wikitty.PagedResult;
import org.nuiton.wikitty.Wikitty;
import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zul.AbstractListModel;
import org.zkoss.zul.event.ListDataEvent;
@@ -20,52 +19,52 @@
protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
- protected int itemsByPage = 1;
- protected int currentPage = 0;
+ protected int activePage = 0;
+ protected int pageSize = 1;
protected List<Wikitty> wikitties = new ArrayList<Wikitty>();
- public WikittyModel(int itemsByPage) {
- this.itemsByPage = itemsByPage;
+ public WikittyModel(int pageSize) {
+ this.pageSize = pageSize;
createList();
}
@Override
public Object getElementAt(int index) {
- pageChange(index);
- int indexList = index % itemsByPage;
- Wikitty Wikitty = wikitties.get(indexList);
- return Wikitty;
+ Wikitty wikitty = wikitties.get(index);
+ return wikitty;
}
@Override
public int getSize() {
- if (criteria == null) {
- return 0;
- }
- Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
- WikittyService service = proxy.getWikittyService();
- String securityToken = proxy.getSecurityToken();
- PagedResult<?> result = service.findAllByCriteria(securityToken, criteria);
- return result.getNumFound();
+ return wikitties.size();
}
@Override
public int indexOf(Object obj) {
- int index = 0;
+ int index = -1;
String id = ((Wikitty) obj).getId();
for (Wikitty data : wikitties) {
String dataId = data.getId();
if (id.equals(dataId)) {
- index = wikitties.indexOf(data) + (itemsByPage * currentPage);
+ index = wikitties.indexOf(data);
break;
}
}
return index;
}
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Wikitty> result = proxy.findAllByCriteria(criteria);
+ return result.getNumFound();
+ }
+
public void addData(Wikitty newData) {
- int listSize = wikitties.size();
- if (listSize < (itemsByPage)) {
+ int listSize = wikitties.size();
+ if (listSize < (pageSize)) {
wikitties.add(newData);
}
int size = getSize();
@@ -73,25 +72,21 @@
}
public void removeData(Wikitty data) {
- int index = wikitties.indexOf(data);
- if (index != -1) {
- wikitties.remove(index);
- int interval = index + (itemsByPage * currentPage);
+ int interval = wikitties.indexOf(data);
+ if (interval != -1) {
+ wikitties.remove(interval);
fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
}
}
public void reloadContent(int rowIndex) {
- int indexList = rowIndex % itemsByPage;
- Wikitty wikitty = wikitties.get(indexList);
- WikittyService service = proxy.getWikittyService();
- String securityToken = proxy.getSecurityToken();
- wikitty = service.restore(securityToken, wikitty.getId());
+ Wikitty wikitty = wikitties.get(rowIndex);
+ wikitty = proxy.restore(wikitty.getId());
+ wikitties.set(rowIndex, wikitty);
fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
}
public void reload() {
- createList();
fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
@@ -102,28 +97,24 @@
public void setCriteria(Criteria criteria) {
if (criteria != null) {
this.criteria = criteria;
- reload();
- }
- }
-
- public void pageChange(int index) {
- int item = index;
- int page = item / itemsByPage;
- if (page != currentPage ) {
- currentPage = page;
+ activePage = 0;
createList();
}
}
protected void createList() {
if (criteria != null) {
- int first = currentPage * itemsByPage;
- int end = first + (itemsByPage - 1);
+ int first = activePage * pageSize;
+ int end = first + (pageSize - 1);
Criteria criteria = this.criteria.setFirstIndex(first).setEndIndex(end);
- WikittyService service = proxy.getWikittyService();
- String securityToken = proxy.getSecurityToken();
- PagedResult<?> result = service.findAllByCriteria(securityToken, criteria);
- this.wikitties = new ArrayList<Wikitty>(result.cast(securityToken, service).getAll());
+ List<Wikitty> wikitties = proxy.findAllByCriteria(criteria).getAll();
+ this.wikitties = new ArrayList<Wikitty>(wikitties);
}
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
}
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyPage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -4,7 +4,7 @@
<window id="company" apply="org.chorem.bonzoms.ui.CompanyController">
Companies: <toolbarbutton id="newCompany" label="Add new company" />
- <listbox autopaging="true" mold="paging" id="companyListBox" rows="20" model="@{company$composer.companyModel}"
+ <listbox id="companyListBox" rows="20" model="@{company$composer.companyModel}"
itemRenderer="@{company$composer.companyRenderer}">
<listhead>
<listheader label="Name" />
@@ -15,4 +15,5 @@
<listheader label="Type" />
</listhead>
</listbox>
+ <paging id="companyPaging" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -5,7 +5,7 @@
<window id="contract" apply="org.chorem.bonzoms.ui.ContractController">
Contracts: <toolbarbutton id="newContract" label="Add new contract" />
<checkbox id="checkbox1" label="Hide out of date contracts" />
- <listbox autopaging="true" mold="paging" id="contractListBox" rows="20" model="@{contract$composer.contractModel}"
+ <listbox id="contractListBox" rows="20" model="@{contract$composer.contractModel}"
itemRenderer="@{contract$composer.contractRenderer}">
<listhead>
<listheader label="Person name" />
@@ -18,4 +18,5 @@
<listheader label="End date" />
</listhead>
</listbox>
+ <paging id="contractPaging" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeePage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeePage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeePage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -4,7 +4,7 @@
<window id="employee" apply="org.chorem.bonzoms.ui.EmployeeController">
Employees: <toolbarbutton id="newEmployee" label="Add new employee" />
- <listbox autopaging="true" mold="paging" id="employeeListbox" rows="20" model="@{employee$composer.employeeModel}"
+ <listbox id="employeeListbox" rows="20" model="@{employee$composer.employeeModel}"
itemRenderer="@{employee$composer.employeeRenderer}">
<listhead>
<listheader label="First name" />
@@ -13,4 +13,5 @@
<listheader label="Working phone" />
</listhead>
</listbox>
+ <paging id="employeePaging" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -4,7 +4,7 @@
<window id="person" apply="org.chorem.bonzoms.ui.PersonController">
Persons: <toolbarbutton id="newPerson" label="Add new person" />
- <listbox autopaging="true" mold="paging" id="personListBox" rows="20" model="@{person$composer.personModel}"
+ <listbox id="personListBox" rows="20" model="@{person$composer.personModel}"
itemRenderer="@{person$composer.personRenderer}">
<listhead>
<listheader label="First name" />
@@ -12,4 +12,5 @@
<listheader label="Birthday" />
</listhead>
</listbox>
+ <paging id="personPaging" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/resultPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/resultPage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/resultPage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -3,7 +3,7 @@
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./result"?>
<window id="result" apply="org.chorem.bonzoms.ui.ResultController">
- <listbox autopaging="true" mold="paging" id="wikittyListBox" rows="10" model="@{result$composer.wikittyModel}"
+ <listbox id="wikittyListBox" rows="10" model="@{result$composer.wikittyModel}"
itemRenderer="@{result$composer.wikittyRenderer}">
<listhead>
<listheader label="Extensions" />
@@ -11,4 +11,5 @@
<listheader label="Dependances" />
</listhead>
</listbox>
+ <paging id="wikittyPaging" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/servicePage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/servicePage.zul 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/bonzoms-ui-zk/src/main/webapp/servicePage.zul 2010-08-13 15:20:22 UTC (rev 130)
@@ -11,4 +11,5 @@
<listheader label="Address" />
</listhead>
</listbox>
+ <paging id="servicePaging" />
</window>
\ No newline at end of file
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-13 12:15:16 UTC (rev 129)
+++ trunk/pom.xml 2010-08-13 15:20:22 UTC (rev 130)
@@ -100,6 +100,12 @@
<artifactId>data-bonzoms</artifactId>
<version>${chorem-data.version}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.nuiton</groupId>
+ <artifactId>nuiton-utils</artifactId>
+ <version>${nuiton-utils.version}</version>
+ </dependency>
<dependency>
<groupId>jasperreports</groupId>
@@ -149,6 +155,7 @@
<artifactId>wikitty-jdbc-impl</artifactId>
<version>${wikitty.version}</version>
</dependency>
+
<dependency>
<groupId>com.h2database</groupId>
@@ -229,11 +236,12 @@
<!-- Nuiton librairies -->
<topia.version>2.2.0</topia.version>
<generator.version>1.0.0</generator.version>
+ <nuiton-utils.version>1.3.2-SNAPSHOT</nuiton-utils.version>
<!-- ChoReg -->
<choreg.version>1.0.0-alpha-2-SNAPSHOT</choreg.version>
<!-- commons-lang for ToPIA -->
- <lang.version>2.4</lang.version>
+ <lang.version>2.5</lang.version>
<!-- Hibernate for ToPIA -->
<hibernate.version>3.3.1.GA</hibernate.version>
1
0
r129 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp
by bbrossaudï¼ users.chorem.org 13 Aug '10
by bbrossaudï¼ users.chorem.org 13 Aug '10
13 Aug '10
Author: bbrossaud
Date: 2010-08-13 14:15:16 +0200 (Fri, 13 Aug 2010)
New Revision: 129
Url: http://chorem.org/repositories/revision/bonzoms/129
Log:
remove old files
Removed:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
trunk/bonzoms-ui-zk/src/main/webapp/index.zul
Deleted: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-08-13 12:13:00 UTC (rev 128)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-08-13 12:15:16 UTC (rev 129)
@@ -1,75 +0,0 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package org.chorem.bonzoms.ui;
-
-import org.zkoss.zk.ui.util.GenericForwardComposer;
-import org.zkoss.zul.Textbox;
-import org.zkoss.zul.Include;
-
-/**
- *
- * @author bbrossaud
- */
-public class MainController extends GenericForwardComposer {
-
- protected Textbox searchBox;
- protected Include include;
- /*
- * Events
- */
- public void onOK$searchBox() {
- String search = searchBox.getValue();
- include.setSrc(null);
- include.setSrc("resultPage.zul?search=" + search);
- }
-
- public void onClick$searchButton() {
- onOK$searchBox();
- }
-
- public void onClick$employees() {
- include.setSrc(null);
- include.setSrc("employeePage.zul");
- }
-
- public void onClick$persons() {
- include.setSrc(null);
- include.setSrc("personPage.zul");
- }
-
- public void onClick$companies() {
- include.setSrc(null);
- include.setSrc("companyPage.zul");
- }
-
- public void onClick$services() {
- include.setSrc(null);
- include.setSrc("servicePage.zul");
- }
-
- public void onClick$contracts() {
- include.setSrc(null);
- include.setSrc("contractPage.zul");
- }
-}
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/index.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-08-13 12:13:00 UTC (rev 128)
+++ trunk/bonzoms-ui-zk/src/main/webapp/index.zul 2010-08-13 12:15:16 UTC (rev 129)
@@ -1,25 +0,0 @@
-<?page id="home" title="HOME" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
-<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="win"?>
-
-<window id="win" title="Win" border="normal" apply="org.chorem.bonzoms.ui.MainController">
- <hbox>
- <groupbox height="800px" >
- <caption label="Menu" />
- <vbox>
- <toolbarbutton id="companies" label="Companies" />
- <toolbarbutton id="contracts" label="Contracts" />
- <toolbarbutton id="employees" label="Employees" />
- <toolbarbutton id="persons" label="Persons" />
- <toolbarbutton id="services" label="Services" />
- </vbox>
- </groupbox>
- <vbox id="content" >
- <hbox>
- Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" />
- </hbox>
- <separator bar="true" />
- <include id="include" src="employeePage.zul" />
- </vbox>
- </hbox>
-</window>
\ No newline at end of file
1
0
r128 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui resources webapp webapp/WEB-INF
by bbrossaudï¼ users.chorem.org 13 Aug '10
by bbrossaudï¼ users.chorem.org 13 Aug '10
13 Aug '10
Author: bbrossaud
Date: 2010-08-13 14:13:00 +0200 (Fri, 13 Aug 2010)
New Revision: 128
Url: http://chorem.org/repositories/revision/bonzoms/128
Log:
rename file
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataConfig.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataProxy.java
trunk/bonzoms-ui-zk/src/main/resources/choremData.properties
trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
Modified:
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java 2010-08-13 12:13:00 UTC (rev 128)
@@ -0,0 +1,75 @@
+/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.bonzoms.ui;
+
+import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Textbox;
+import org.zkoss.zul.Include;
+
+/**
+ *
+ * @author bbrossaud
+ */
+public class BonzomsController extends GenericForwardComposer {
+
+ protected Textbox searchBox;
+ protected Include include;
+ /*
+ * Events
+ */
+ public void onOK$searchBox() {
+ String search = searchBox.getValue();
+ include.setSrc(null);
+ include.setSrc("resultPage.zul?search=" + search);
+ }
+
+ public void onClick$searchButton() {
+ onOK$searchBox();
+ }
+
+ public void onClick$employees() {
+ include.setSrc(null);
+ include.setSrc("employeePage.zul");
+ }
+
+ public void onClick$persons() {
+ include.setSrc(null);
+ include.setSrc("personPage.zul");
+ }
+
+ public void onClick$companies() {
+ include.setSrc(null);
+ include.setSrc("companyPage.zul");
+ }
+
+ public void onClick$services() {
+ include.setSrc(null);
+ include.setSrc("servicePage.zul");
+ }
+
+ public void onClick$contracts() {
+ include.setSrc(null);
+ include.setSrc("contractPage.zul");
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataConfig.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataConfig.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataConfig.java 2010-08-13 12:13:00 UTC (rev 128)
@@ -0,0 +1,129 @@
+/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.chorem.bonzoms.ui;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.io.File;
+import org.apache.commons.lang.UnhandledException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.util.ApplicationConfig;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class ChoremDataConfig extends ApplicationConfig {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ static private Log log = LogFactory.getLog(ChoremDataConfig.class);
+ /** Singleton instance. */
+ protected static ChoremDataConfig instance = null;
+
+ public ChoremDataConfig() {
+ super();
+
+ // set default option (included configuration file name : important)
+ for (Option o : Option.values()) {
+ if (o.defaultValue != null) {
+ setDefaultOption(o.key, o.defaultValue);
+ }
+ }
+ }
+
+ public static synchronized ChoremDataConfig getInstance() {
+ if (instance == null) {
+ try {
+ instance = new ChoremDataConfig();
+ instance.parse(new String[]{});
+ instance.setDataDirInSystemProps();
+ } catch (Exception e) {
+ throw new UnhandledException(e);
+ }
+ }
+ return instance;
+ }
+
+ /**
+ * Get version as string.
+ *
+ * @return version
+ */
+ public String getVersion() {
+ return getOption(Option.APPLICATION_VERSION.key);
+ }
+
+ public File getDataDirAsFile() {
+ File option = getOptionAsFile(Option.DATA_DIR.key);
+ return option;
+ }
+
+ /**
+ * Set {@code solr} and {@code jms} system configuration.
+ *
+ * This is the "only" way to configure embedded solr.
+ */
+ protected void setDataDirInSystemProps() {
+ String value = getOption(Option.DATA_DIR.key);
+ if (log.isInfoEnabled()) {
+ log.info("Setting system property " + Option.DATA_DIR.key + " : " + value);
+ }
+ System.setProperty(Option.DATA_DIR.key, value);
+ env.put(Option.DATA_DIR.key, value);
+ }
+
+ /**
+ * Vradi option definition.
+ */
+ public static enum Option {
+
+ CONFIG_FILE(CONFIG_FILE_NAME, _("bonzoms.config.configFileName.description"),
+ "choremData.properties", String.class, false, false),
+ APPLICATION_VERSION("application.version", _("bonzoms.config.application.version.description"),
+ null, String.class, true, true),
+ DATA_DIR("solr.data.dir", _("bonzoms.config.data.dir.description"),
+ System.getProperty("user.home") + "/.chorem-data/solr", String.class, false, false);
+ public final String key;
+ public final String description;
+ public final String defaultValue;
+ public final Class<?> type;
+ public final boolean isTransient;
+ public final boolean isFinal;
+
+ private Option(String key, String description, String defaultValue,
+ Class<?> type, boolean isTransient, boolean isFinal) {
+ this.key = key;
+ this.description = description;
+ this.defaultValue = defaultValue;
+ this.type = type;
+ this.isFinal = isFinal;
+ this.isTransient = isTransient;
+ }
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataProxy.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataProxy.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ChoremDataProxy.java 2010-08-13 12:13:00 UTC (rev 128)
@@ -0,0 +1,56 @@
+/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.chorem.bonzoms.ui;
+
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyService;
+import org.nuiton.wikitty.WikittyServiceCached;
+import org.nuiton.wikitty.jdbc.WikittyServiceJDBC;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class ChoremDataProxy extends WikittyProxy {
+
+ static protected ChoremDataProxy instance;
+
+ synchronized static public ChoremDataProxy getInstance() {
+ if (instance == null) {
+ ChoremDataConfig config = ChoremDataConfig.getInstance();
+ instance = new ChoremDataProxy(config);
+ }
+ return instance;
+ }
+
+ protected ChoremDataProxy(ChoremDataConfig config) {
+ WikittyService ws = new WikittyServiceJDBC(config.getFlatOptions());
+ ws = new WikittyServiceCached(ws);
+ setWikittyService(ws);
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/resources/choremData.properties
===================================================================
--- trunk/bonzoms-ui-zk/src/main/resources/choremData.properties (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/resources/choremData.properties 2010-08-13 12:13:00 UTC (rev 128)
@@ -0,0 +1 @@
+application.version=${project.version}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml 2010-08-13 08:20:26 UTC (rev 127)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/web.xml 2010-08-13 12:13:00 UTC (rev 128)
@@ -52,6 +52,7 @@
</servlet-mapping>
<welcome-file-list>
+ <welcome-file>bonzoms.zul</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
Added: trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul 2010-08-13 12:13:00 UTC (rev 128)
@@ -0,0 +1,25 @@
+<?page id="home" title="Bonzoms" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
+<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
+<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="win"?>
+
+<window id="win" title="Bonzoms" border="normal" apply="org.chorem.bonzoms.ui.BonzomsController">
+ <hbox>
+ <groupbox height="800px" >
+ <caption label="Menu" />
+ <vbox>
+ <toolbarbutton id="companies" label="Companies" />
+ <toolbarbutton id="contracts" label="Contracts" />
+ <toolbarbutton id="employees" label="Employees" />
+ <toolbarbutton id="persons" label="Persons" />
+ <toolbarbutton id="services" label="Services" />
+ </vbox>
+ </groupbox>
+ <vbox id="content" >
+ <hbox>
+ Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" />
+ </hbox>
+ <separator bar="true" />
+ <include id="include" src="employeePage.zul" />
+ </vbox>
+ </hbox>
+</window>
\ No newline at end of file
1
0
r127 - in trunk: . bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui bonzoms-ui-zk/src/main/webapp
by bbrossaudï¼ users.chorem.org 13 Aug '10
by bbrossaudï¼ users.chorem.org 13 Aug '10
13 Aug '10
Author: bbrossaud
Date: 2010-08-13 10:20:26 +0200 (Fri, 13 Aug 2010)
New Revision: 127
Url: http://chorem.org/repositories/revision/bonzoms/127
Log:
bonzoms modification for wikitty 2.1 SNAPSHOT
Modified:
trunk/
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java
trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
trunk/pom.xml
Property changes on: trunk
___________________________________________________________________
Modified: svn:ignore
- target
nbactions.xml
*.ipr
*.iws
*.iml
+ target
nbactions.xml
*.ipr
*.iws
*.iml
.settings
.project
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -17,7 +17,7 @@
*/
public class AddressFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Address address = new AddressImpl();
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -54,7 +54,7 @@
*/
public class CompanyController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected CompanyModel companyModel = new CompanyModel(20);
@Override
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -53,7 +53,7 @@
*/
public class CompanyFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Company company = new CompanyImpl();
protected AddressModel addressModel = new AddressModel();
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -40,7 +40,7 @@
*/
public class CompanyModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int currentPage = 0;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -1,5 +1,6 @@
package org.chorem.bonzoms.ui;
+import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
@@ -32,7 +33,7 @@
*/
public class ContractController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected ContractModel contractModel = new ContractModel(20);
protected Checkbox checkbox1;
@@ -79,7 +80,7 @@
protected Listcell getDateCell(Date date) {
String cellDate = "";
if (date != null) {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
cellDate = sdf.format(date);
}
Listcell cell = new Listcell(cellDate);
@@ -129,12 +130,12 @@
/*
* Events
*/
- public void onCheck$checkbox1() {
+ public void onCheck$checkbox1() throws ParseException {
if (checkbox1.isChecked()) {
Date date = new Date();
- String formatDate = WikittyUtil.solrDateFormat.format(date);
+ String formatDate = WikittyUtil.formatDate(date);
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).
- and().gt(EmploymentContract.FQ_FIELD_END, formatDate).criteria();
+ and().gt(EmploymentContract.FQ_FIELD_EMPLOYMENTCONTRACT_END, formatDate).criteria();
contractModel.setCriteria(criteria);
} else {
Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).criteria();
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -32,7 +32,7 @@
*/
public class ContractFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected EmploymentContract contract = new EmploymentContractImpl();
protected EmployeeModel employeeModel = new EmployeeModel(5);
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -40,7 +40,7 @@
*/
public class ContractModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int size = 0;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -34,7 +34,7 @@
*/
public class ContractsFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected ContractsModel contractsModel = new ContractsModel();
protected List<String> removedContracts = new ArrayList<String>();
@@ -80,7 +80,7 @@
protected void initContracts() {
if (employeeId != null) {
- Criteria criteria = Search.query().eq(EmploymentContract.FQ_FIELD_EMPLOYEE, employeeId).criteria();
+ Criteria criteria = Search.query().eq(EmploymentContract.FQ_FIELD_EMPLOYMENTCONTRACT_EMPLOYEE, employeeId).criteria();
List<EmploymentContract> contracts = proxy.findAllByCriteria(EmploymentContract.class, criteria).getAll();
contracts = new ArrayList<EmploymentContract>(contracts);
contractsModel.setContracts(contracts);
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -50,7 +50,7 @@
*/
public class EmployeeController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected EmployeeModel employeeModel = new EmployeeModel(20);
@Override
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -47,7 +47,6 @@
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
import org.zkoss.zul.Bandbox;
-import org.zkoss.zul.Listbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
@@ -59,7 +58,7 @@
*/
public class EmployeeFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Employee employee = new EmployeeImpl();
protected Address workingAddress = new AddressImpl();
@@ -71,10 +70,6 @@
protected Bandbox companyBandbox;
protected Bandbox serviceBandbox;
protected Bandbox personBandbox;
-
- protected Listbox companyListbox;
- protected Listbox serviceListbox;
- protected Listbox personListbox;
public static final String EVENT_ON_SAVE_EMPLOYEE = "onSaveEmployee";
public static final String EVENT_ON_CLOSE_EMPLOYEE = "onCloseEmployee";
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -40,7 +40,7 @@
*/
public class EmployeeModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int currentPage = 0;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/MainController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -40,6 +40,7 @@
*/
public void onOK$searchBox() {
String search = searchBox.getValue();
+ include.setSrc(null);
include.setSrc("resultPage.zul?search=" + search);
}
@@ -48,22 +49,27 @@
}
public void onClick$employees() {
+ include.setSrc(null);
include.setSrc("employeePage.zul");
}
public void onClick$persons() {
+ include.setSrc(null);
include.setSrc("personPage.zul");
}
public void onClick$companies() {
+ include.setSrc(null);
include.setSrc("companyPage.zul");
}
public void onClick$services() {
+ include.setSrc(null);
include.setSrc("servicePage.zul");
}
public void onClick$contracts() {
+ include.setSrc(null);
include.setSrc("contractPage.zul");
}
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -52,7 +52,7 @@
*/
public class PersonController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected PersonModel personModel = new PersonModel(20);
@@ -88,7 +88,7 @@
/*
* Renderers
*/
- public ListitemRenderer getPersonDataRenderer() {
+ public ListitemRenderer getPersonRenderer() {
return new ListitemRenderer() {
@Override
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -29,7 +29,7 @@
*/
public class PersonFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Person person = new PersonImpl();
protected AddressModel addressModel = new AddressModel();
@@ -206,18 +206,20 @@
}
public void onClick$deleteAddress() {
- Listitem item = addressListbox.getSelectedItem();
- if (item != null) {
- Address address = (Address) item.getValue();
- if (address != null) {
- addressModel.removeData(address);
- String id = address.getWikittyId();
- if (id != null && !id.isEmpty()) {
- removedAddresses.add(id);
+ if (addressListbox.getItemCount() > 1) {
+ Listitem item = addressListbox.getSelectedItem();
+ if (item != null) {
+ Address address = (Address) item.getValue();
+ if (address != null) {
+ addressModel.removeData(address);
+ String id = address.getWikittyId();
+ if (id != null && !id.isEmpty()) {
+ removedAddresses.add(id);
+ }
+ selectedAddress = (Address) addressModel.getElementAt(0);
+ setAddressBox();
+ addressListbox.setSelectedIndex(0);
}
- selectedAddress = (Address) addressModel.getElementAt(0);
- setAddressBox();
- addressListbox.setSelectedIndex(0);
}
}
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -17,7 +17,7 @@
*/
public class PersonModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int currentPage = 0;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -62,7 +62,7 @@
*/
public class ResultController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected WikittyModel wikittyModel = new WikittyModel(10);
@Override
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -27,7 +27,7 @@
*/
public class ServiceController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected ServiceModel serviceModel = new ServiceModel(20);
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -19,7 +19,7 @@
*/
public class ServiceFormController extends GenericForwardComposer {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Service service = new ServiceImpl();
protected Address address = new AddressImpl();
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -17,7 +17,7 @@
*/
public class ServiceModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int currentPage = 0;
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/WikittyModel.java 2010-08-13 08:20:26 UTC (rev 127)
@@ -18,7 +18,7 @@
*/
public class WikittyModel extends AbstractListModel implements BindingListModel {
- protected WikittyProxy proxy = BonzomsProxy.getInstance();
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
protected Criteria criteria = null;
protected int itemsByPage = 1;
protected int currentPage = 0;
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-13 08:20:26 UTC (rev 127)
@@ -47,10 +47,10 @@
<vbox>
<label value="Start" />
- <datebox format="yyyy/MM/dd" value="@{composer.contract.start, save-when='saveContract.onClick'}" />
+ <datebox format="dd/MM/yyyy" value="@{composer.contract.start, save-when='saveContract.onClick'}" />
<label value="End" />
- <datebox format="yyyy/MM/dd" value="@{composer.contract.end, save-when='saveContract.onClick'}" />
+ <datebox format="dd/MM/yyyy" value="@{composer.contract.end, save-when='saveContract.onClick'}" />
<label value="Description" />
<textbox rows="5" value="@{composer.contract.description, save-when='saveContract.onClick'}" />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-13 08:20:26 UTC (rev 127)
@@ -31,10 +31,10 @@
<space />
<vbox>
<label value="Start" />
- <datebox id="contractStart" format="yyyy/MM/dd" value="@{composer.selectedContract.start, save-when='saveContract.onClick'}" />
+ <datebox id="contractStart" format="dd/MM/yyyy" value="@{composer.selectedContract.start, save-when='saveContract.onClick'}" />
<label value="End" />
- <datebox id="contractEnd" format="yyyy/MM/dd" value="@{composer.selectedContract.end, save-when='saveContract.onClick'}" />
+ <datebox id="contractEnd" format="dd/MM/yyyy" value="@{composer.selectedContract.end, save-when='saveContract.onClick'}" />
<label value="Description" />
<textbox id="contractDescription" rows="5" value="@{composer.selectedContract.description, save-when='saveContract.onClick'}" />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-13 08:20:26 UTC (rev 127)
@@ -9,7 +9,7 @@
<label value="Last name" />
<textbox value="@{composer.person.lastName, save-when='savePerson.onClick'}" />
<label value="Birthday" />
- <datebox format="yyyy/MM/dd" value="@{composer.person.birthDay, save-when='savePerson.onClick'}" />
+ <datebox format="dd/MM/yyyy" value="@{composer.person.birthDay, save-when='savePerson.onClick'}" />
<separator />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personPage.zul 2010-08-13 08:20:26 UTC (rev 127)
@@ -5,7 +5,7 @@
<window id="person" apply="org.chorem.bonzoms.ui.PersonController">
Persons: <toolbarbutton id="newPerson" label="Add new person" />
<listbox autopaging="true" mold="paging" id="personListBox" rows="20" model="@{person$composer.personModel}"
- itemRenderer="@{person$composer.personDataRenderer}">
+ itemRenderer="@{person$composer.personRenderer}">
<listhead>
<listheader label="First name" />
<listheader label="Last name" />
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-11 14:49:46 UTC (rev 126)
+++ trunk/pom.xml 2010-08-13 08:20:26 UTC (rev 127)
@@ -116,19 +116,19 @@
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zk</artifactId>
- <version>5.0.2</version>
+ <version>${zk.version}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zkplus</artifactId>
- <version>5.0.2</version>
+ <version>${zk.version}</version>
</dependency>
<dependency>
<groupId>org.zkoss.zk</groupId>
<artifactId>zul</artifactId>
- <version>5.0.2</version>
+ <version>${zk.version}</version>
</dependency>
<dependency>
@@ -141,13 +141,13 @@
<dependency>
<groupId>org.nuiton.wikitty</groupId>
<artifactId>wikitty-api</artifactId>
- <version>2.0-SNAPSHOT</version>
+ <version>${wikitty.version}</version>
</dependency>
<dependency>
<groupId>org.nuiton.wikitty</groupId>
<artifactId>wikitty-jdbc-impl</artifactId>
- <version>2.0-SNAPSHOT</version>
+ <version>${wikitty.version}</version>
</dependency>
<dependency>
@@ -223,6 +223,8 @@
<projectId>bonzoms</projectId>
<chorem-data.version>0.1-SNAPSHOT</chorem-data.version>
+ <zk.version>5.0.2</zk.version>
+ <wikitty.version>2.1-SNAPSHOT</wikitty.version>
<!-- Nuiton librairies -->
<topia.version>2.2.0</topia.version>
@@ -236,7 +238,7 @@
<hibernate.version>3.3.1.GA</hibernate.version>
<!-- test -->
- <junit.version>4.7</junit.version>
+ <junit.version>4.8.1</junit.version>
<!-- ui -->
<tapestry.version>5.1.0.5</tapestry.version>
1
0
Author: tchemit
Date: 2010-08-11 16:49:46 +0200 (Wed, 11 Aug 2010)
New Revision: 126
Url: http://chorem.org/repositories/revision/bonzoms/126
Log:
Utilisation de mavenpom4redmine 2.2.3
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-06 13:00:04 UTC (rev 125)
+++ trunk/pom.xml 2010-08-11 14:49:46 UTC (rev 126)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.2.1</version>
+ <version>2.2.3</version>
</parent>
<groupId>org.chorem</groupId>
1
0
r125 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp
by bbrossaudï¼ users.chorem.org 06 Aug '10
by bbrossaudï¼ users.chorem.org 06 Aug '10
06 Aug '10
Author: bbrossaud
Date: 2010-08-06 15:00:04 +0200 (Fri, 06 Aug 2010)
New Revision: 125
Url: http://chorem.org/repositories/revision/bonzoms/125
Log:
checkbox to hide out of date contract, person, service, company bandboxes for employee form page, employee bandbox for contract form page, new display addresses in company and person, proxy instead model java class
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java
trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -150,7 +150,6 @@
public void render(Listitem item, Object data) throws Exception {
item.setValue(data);
final Company company = (Company) data;
-
Listcell nameCell = new Listcell(company.getName());
Listcell webSiteCell = new Listcell(company.getWebSite());
Listcell phoneFaxCell = phonesFaxRenderer(company);
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -95,8 +95,7 @@
}
protected void initDefaultCompany() {
- Address address = new AddressImpl();
- address.setName("New address");
+ Address address = newAddress();
addressModel.addData(address);
selectedAddress = address;
@@ -125,13 +124,13 @@
protected void saveAddresses() {
List<Address> addresses = proxy.store(addressModel.getAddresses());
+ for (Address address : addresses) {
+ company.addAddress(address.getWikittyId());
+ }
if (!removedAddresses.isEmpty()) {
proxy.delete(removedAddresses);
removeCompanyAddresses();
}
- for (Address address : addresses) {
- company.addAddress(address.getWikittyId());
- }
}
protected void saveEmails() {
@@ -144,6 +143,18 @@
company.setPhones(phones);
}
+ protected Address newAddress() {
+ Address address = new AddressImpl();
+ address.setName("New address");
+ address.setCountry("");
+ address.setAddress1("");
+ address.setAddress2("");
+ address.setCountry("");
+ address.setCity("");
+ address.setZipCode("");
+ return address;
+ }
+
protected void setAddressBox() {
Caption caption = (Caption) self.getFellow("captionName");
caption.setLabel(selectedAddress.getName());
@@ -171,7 +182,11 @@
public void render(Listitem item, Object data) throws Exception {
item.setValue(data);
final Address address = (Address) data;
- Listcell name = new Listcell(address.getName());
+ String addressName = address.getName();
+ if (addressName == null) {
+ addressName = "";
+ }
+ Listcell name = new Listcell(addressName);
item.appendChild(name);
item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
@@ -196,12 +211,11 @@
}
public void onClose() {
- Events.postEvent(EVENT_ON_CLOSE_COMPANY, this.self, null);
+ Events.postEvent(EVENT_ON_CLOSE_COMPANY, this.self, company.getWikittyId());
}
public void onClick$addAddress() {
- Address address = new AddressImpl();
- address.setName("New address");
+ Address address = newAddress();
selectedAddress = address;
setAddressBox();
addressModel.addData(address);
@@ -271,7 +285,7 @@
return company;
}
- public AddressModel getAddressesModel() {
+ public AddressModel getAddressModel() {
return addressModel;
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -1,10 +1,16 @@
package org.chorem.bonzoms.ui;
+import java.text.SimpleDateFormat;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+
+import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmploymentContract;
+import org.chorem.data.bonzoms.Person;
import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.WikittyUtil;
import org.nuiton.wikitty.search.Element;
import org.nuiton.wikitty.search.Search;
import org.zkoss.zk.ui.Component;
@@ -14,6 +20,7 @@
import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Listcell;
import org.zkoss.zul.Listitem;
import org.zkoss.zul.ListitemRenderer;
@@ -27,6 +34,7 @@
protected WikittyProxy proxy = BonzomsProxy.getInstance();
protected ContractModel contractModel = new ContractModel(20);
+ protected Checkbox checkbox1;
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -50,6 +58,34 @@
});
}
+ public Listcell getPersonCell(String employeeId) {
+ String name = "";
+ if (employeeId != null) {
+ Employee employee = proxy.restore(Employee.class, employeeId);
+ if (employee != null) {
+ String personId = employee.getPerson();
+ if (personId != null) {
+ Person person = proxy.restore(Person.class, personId);
+ if (person != null) {
+ name = person.getFirstName() + " " + person.getLastName();
+ }
+ }
+ }
+ }
+ Listcell cell = new Listcell(name);
+ return cell;
+ }
+
+ protected Listcell getDateCell(Date date) {
+ String cellDate = "";
+ if (date != null) {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
+ cellDate = sdf.format(date);
+ }
+ Listcell cell = new Listcell(cellDate);
+ return cell;
+ }
+
/*
* Renderers
*/
@@ -60,12 +96,14 @@
public void render(Listitem item, Object data) throws Exception {
item.setValue(data);
final EmploymentContract contract = (EmploymentContract) data;
-
+ Listcell person = getPersonCell(contract.getEmployee());
Listcell type = new Listcell(String.valueOf(contract.getType()));
Listcell salary = new Listcell(String.valueOf(contract.getSalary()));
Listcell workingTime = new Listcell(String.valueOf(contract.getWorkingTime()));
Listcell advantages = new Listcell(contract.getAdvantages());
Listcell description = new Listcell(contract.getDescription());
+ Listcell startDate = getDateCell(contract.getStart());
+ Listcell endDate = getDateCell(contract.getEnd());
item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
@@ -75,11 +113,14 @@
}
});
+ item.appendChild(person);
item.appendChild(type);
item.appendChild(salary);
item.appendChild(workingTime);
item.appendChild(advantages);
item.appendChild(description);
+ item.appendChild(startDate);
+ item.appendChild(endDate);
}
};
}
@@ -88,6 +129,19 @@
/*
* Events
*/
+ public void onCheck$checkbox1() {
+ if (checkbox1.isChecked()) {
+ Date date = new Date();
+ String formatDate = WikittyUtil.solrDateFormat.format(date);
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).
+ and().gt(EmploymentContract.FQ_FIELD_END, formatDate).criteria();
+ contractModel.setCriteria(criteria);
+ } else {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).criteria();
+ contractModel.setCriteria(criteria);
+ }
+ }
+
public void onCreate$contract(Event event) {
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractFormController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -1,14 +1,29 @@
package org.chorem.bonzoms.ui;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmploymentContract;
import org.chorem.data.bonzoms.EmploymentContractImpl;
+import org.chorem.data.bonzoms.Person;
+import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Search;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Bandbox;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Window;
/**
@@ -19,7 +34,11 @@
protected WikittyProxy proxy = BonzomsProxy.getInstance();
protected EmploymentContract contract = new EmploymentContractImpl();
+ protected EmployeeModel employeeModel = new EmployeeModel(5);
+ protected Bandbox employeeBandbox;
+ protected Listbox employeeListbox;
+
public static final String EVENT_ON_SAVE_CONTRACT = "onSaveContract";
public static final String EVENT_ON_CLOSE_CONTRACT = "onCloseContract";
@@ -36,14 +55,108 @@
if (contractId != null) {
contract = proxy.restore(EmploymentContract.class, contractId);
}
+ initEmployeeBandbox();
DataBinder binder = new AnnotateDataBinder(comp);
binder.bindBean("composer", this);
binder.loadAll();
}
+ protected void initEmployeeBandbox() {
+ onOK$employeeBandbox();
+ initBandbox();
+ }
+
+ protected void initBandbox() {
+ String employeeId = contract.getEmployee();
+ if (employeeId != null && !employeeId.isEmpty()) {
+ Employee employee = proxy.restore(Employee.class, employeeId);
+ String personId = employee.getPerson();
+ if (personId != null && !personId.isEmpty()) {
+ Person person = proxy.restore(Person.class, personId);
+ String name = person.getFirstName() + " " + person.getLastName();
+ employeeBandbox.setValue(name);
+ }
+ }
+ employeeBandbox.close();
+ }
+
/*
+ * Renderers
+ */
+ public ListitemRenderer getEmployeeRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ String firstName = "";
+ String lastName = "";
+ final Employee employee = (Employee) data;
+ String personId = employee.getPerson();
+ if (personId != null && !personId.isEmpty()) {
+ Person person = proxy.restore(Person.class, personId);
+ firstName = person.getFirstName();
+ lastName = person.getLastName();
+ }
+ final String name = firstName + " " + lastName;
+ Listcell fName = new Listcell(firstName);
+ Listcell lName = new Listcell(lastName);
+ item.appendChild(fName);
+ item.appendChild(lName);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ contract.setEmployee(employee.getWikittyId());
+ employeeBandbox.setValue(name);
+ employeeBandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
* Events
*/
+ public void onClick$newEmployee() {
+ contract.setEmployee(null);
+ employeeBandbox.setValue("");
+ onClick$editEmployee();
+ }
+
+ public void onClick$editEmployee() {
+ String id = contract.getEmployee();
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("employeeId", id);
+ }
+ Window win = (Window) Executions.createComponents("employeeFormPage.zul", null, map);
+ win.addEventListener(EmployeeFormController.EVENT_ON_SAVE_EMPLOYEE, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String employeeId = (String) event.getData();
+ if (employeeId != null) {
+ contract.setEmployee(employeeId);
+ initBandbox();
+ employeeModel.reload();
+ }
+ }
+ });
+ }
+
+ public void onOK$employeeBandbox() {
+ String search = employeeBandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ employeeModel.setCriteria(criteria);
+ employeeBandbox.open();
+ }
+
public void onClose() {
Events.postEvent(EVENT_ON_CLOSE_CONTRACT, this.self, null);
}
@@ -51,7 +164,7 @@
public void onClick$saveContract() {
contract = proxy.store(contract);
- Events.postEvent(EVENT_ON_SAVE_CONTRACT, this.self, contract);
+ Events.postEvent(EVENT_ON_SAVE_CONTRACT, this.self, contract.getWikittyId());
self.detach();
}
@@ -62,4 +175,8 @@
public EmploymentContract getContract() {
return contract;
}
+
+ public EmployeeModel getEmployeeModel() {
+ return employeeModel;
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeFormController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -265,11 +265,17 @@
employee = proxy.store(employee);
- Events.postEvent(EVENT_ON_SAVE_EMPLOYEE, this.self, null);
+ Events.postEvent(EVENT_ON_SAVE_EMPLOYEE, this.self, employee.getWikittyId());
this.self.detach();
}
- public void onClick$editPerson() throws SuspendNotAllowedException, InterruptedException {
+ public void onClick$newPerson() {
+ employee.setPerson(null);
+ personBandbox.setValue("");
+ onClick$editPerson();
+ }
+
+ public void onClick$editPerson() {
Map<String, Object> map = new HashMap<String, Object>();
String id = employee.getPerson();
if (id != null && !id.isEmpty()) {
@@ -280,21 +286,25 @@
@Override
public void onEvent(Event event) throws Exception {
- Person person = (Person) event.getData();
- if (person != null) {
- employee.setPerson(person.getWikittyId());
- String name = person.getFirstName() + " " + person.getLastName();
- personBandbox.setValue(name);
+ String personId = (String) event.getData();
+ if (personId != null) {
+ employee.setPerson(personId);
+ Person person = proxy.restore(Person.class, personId);
+ String name = person.getFirstName() + " " + person.getLastName();
+ personBandbox.setValue(name);
}
personModel.reload();
}
});
}
- public void onClick$editCompany() throws InterruptedException {
- if (companyBandbox.getValue().isEmpty()) {
- employee.setCompany(null);
- }
+ public void onClick$newCompany() {
+ employee.setCompany(null);
+ companyBandbox.setValue("");
+ onClick$editCompany();
+ }
+
+ public void onClick$editCompany() {
Map<String, Object> map = new HashMap<String, Object>();
String id = employee.getCompany();
if (id != null && !id.isEmpty()) {
@@ -305,9 +315,10 @@
@Override
public void onEvent(Event event) throws Exception {
- Company company = (Company) event.getData();
- if (company != null) {
- employee.setCompany(company.getWikittyId());
+ String companyId = (String) event.getData();
+ if (companyId != null) {
+ employee.setCompany(companyId);
+ Company company = proxy.restore(Company.class, companyId);
companyBandbox.setValue(company.getName());
}
companyModel.reload();
@@ -315,10 +326,13 @@
});
}
- public void onClick$editService() throws SuspendNotAllowedException, InterruptedException {
- if (serviceBandbox.getValue().isEmpty()) {
- employee.setService(null);
- }
+ public void onClick$newService() {
+ employee.setService(null);
+ serviceBandbox.setValue("");
+ onClick$editService();
+ }
+
+ public void onClick$editService() {
Map<String, Object> map = new HashMap<String, Object>();
String id = employee.getService();
if (id != null && !id.isEmpty()) {
@@ -328,9 +342,10 @@
win.addEventListener(ServiceFormController.EVENT_ON_SAVE_SERVICE, new EventListener() {
@Override
public void onEvent(Event event) throws Exception {
- Service service = (Service) event.getData();
- if (service != null) {
- employee.setService(service.getWikittyId());
+ String serviceId = (String) event.getData();
+ if (serviceId != null) {
+ employee.setService(serviceId);
+ Service service = proxy.restore(Service.class, serviceId);
serviceBandbox.setValue(service.getType());
}
serviceModel.reload();
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -70,8 +70,7 @@
}
protected void initDefaultPerson() {
- Address address = new AddressImpl();
- address.setName("New address");
+ Address address = newAddress();
addressModel.addData(address);
selectedAddress = address;
@@ -98,15 +97,27 @@
}
}
+ protected Address newAddress() {
+ Address address = new AddressImpl();
+ address.setName("New address");
+ address.setCountry("");
+ address.setAddress1("");
+ address.setAddress2("");
+ address.setCountry("");
+ address.setCity("");
+ address.setZipCode("");
+ return address;
+ }
+
protected void saveAddresses() {
List<Address> addresses = proxy.store(addressModel.getAddresses());
+ for (Address address : addresses) {
+ person.addAddress(address.getWikittyId());
+ }
if (!removedAddresses.isEmpty()) {
proxy.delete(removedAddresses);
removeAddresses();
}
- for (Address address : addresses) {
- person.addAddress(address.getWikittyId());
- }
}
protected void saveEmails() {
@@ -146,7 +157,11 @@
public void render(Listitem item, Object data) throws Exception {
item.setValue(data);
final Address address = (Address) data;
- Listcell name = new Listcell(address.getName());
+ String addressName = address.getName();
+ if (addressName == null) {
+ addressName = "";
+ }
+ Listcell name = new Listcell(addressName);
item.appendChild(name);
item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
@@ -179,13 +194,12 @@
savePhones();
saveEmails();
person = proxy.store(person);
- Events.postEvent(EVENT_ON_SAVE_PERSON, this.self, person);
+ Events.postEvent(EVENT_ON_SAVE_PERSON, this.self, person.getWikittyId());
self.detach();
}
public void onClick$addAddress() {
- Address address = new AddressImpl();
- address.setName("New address");
+ Address address = newAddress();
selectedAddress = address;
setAddressBox();
addressModel.addData(address);
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceFormController.java 2010-08-06 13:00:04 UTC (rev 125)
@@ -54,7 +54,6 @@
* Events
*/
public void onClose() {
- System.out.println("CLOSE");
Events.postEvent(EVENT_ON_CLOSE_SERVICE, this.self, null);
}
@@ -64,8 +63,7 @@
service = proxy.store(service);
- Events.postEvent(EVENT_ON_SAVE_SERVICE, this.self, service);
- System.out.println(this.self.getParent());
+ Events.postEvent(EVENT_ON_SAVE_SERVICE, this.self, service.getWikittyId());
self.detach();
}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -1,7 +1,7 @@
<?page id="CompanyForm" title="Company form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="500px" width="400px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.CompanyFormController">
+<window closable="true" maximizable="true" sizable="true" height="500px" width="410px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.CompanyFormController">
<caption label="Company"/>
<groupbox>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractFormPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -1,7 +1,7 @@
<?page id="ContractForm" title="Contract form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="350px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractFormController">
+<window closable="true" maximizable="true" sizable="true" height="310px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractFormController">
<caption label="Contract" />
<groupbox>
<caption label="@{composer.contract.type}" />
@@ -21,7 +21,25 @@
<label value="Advantages" />
<textbox value="@{composer.contract.advantages, save-when='saveContract.onClick'}" />
-
+
+ <hbox>
+ <toolbarbutton id="editEmployee" label="Edit employee" /> / <toolbarbutton id="newEmployee" label="New employee" />
+ </hbox>
+
+ <bandbox id="employeeBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox autopaging="true" mold="paging" id="personListbox" rows="5" width="200px" model="@{composer.employeeModel}"
+ itemRenderer="@{composer.employeeRenderer}">
+ <listhead>
+ <listheader label="First name" />
+ <listheader label="Last name" />
+ </listhead>
+ </listbox>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+
</vbox>
<space />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -3,15 +3,19 @@
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./contract"?>
<window id="contract" apply="org.chorem.bonzoms.ui.ContractController">
- Contracts: <toolbarbutton id="newContract" label="Add new contract" />
+ Contracts: <toolbarbutton id="newContract" label="Add new contract" />
+ <checkbox id="checkbox1" label="Hide out of date contracts" />
<listbox autopaging="true" mold="paging" id="contractListBox" rows="20" model="@{contract$composer.contractModel}"
itemRenderer="@{contract$composer.contractRenderer}">
<listhead>
+ <listheader label="Person name" />
<listheader label="Type" />
<listheader label="Salary" />
<listheader label="Working time" />
<listheader label="Advantages" />
<listheader label="Description" />
+ <listheader label="Start date" />
+ <listheader label="End date" />
</listhead>
</listbox>
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -47,7 +47,7 @@
<vbox>
<vbox>
- <listbox id="contractListbox" mold="paging" rows="5" model="@{composer.contractsModel}" width="400px" itemRenderer="@{composer.contractsRenderer}">
+ <listbox id="contractListbox" autopaging="true" mold="paging" rows="5" model="@{composer.contractsModel}" width="400px" itemRenderer="@{composer.contractsRenderer}">
<listhead>
<listheader label="Type" />
<listheader label="Start" />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -19,11 +19,14 @@
<label value="Phone number" />
<textbox value="@{composer.employee.workingPhone, save-when='saveEmployee.onClick'}" />
- <toolbarbutton id="editService" label="Edit service :" />
+ <hbox>
+ <toolbarbutton id="editService" label="Edit service" /> / <toolbarbutton id="newService" label="New service" />
+ </hbox>
<bandbox id="serviceBandbox" mold="rounded">
<bandpopup>
<vbox>
- <listbox width="200px" id="serviceListbox" model="@{composer.serviceModel}" itemRenderer="@{composer.serviceRenderer}">
+ <listbox autopaging="true" mold="paging" id="serviceListbox" rows="5" width="200px" model="@{composer.serviceModel}"
+ itemRenderer="@{composer.serviceRenderer}">
<listhead>
<listheader label="Name"/>
</listhead>
@@ -32,12 +35,15 @@
</bandpopup>
</bandbox>
-
- <toolbarbutton id="editCompany" label="Edit company :" />
+ <hbox>
+ <toolbarbutton id="editCompany" label="Edit company" /> / <toolbarbutton id="newCompany" label="New company" />
+ </hbox>
+
<bandbox id="companyBandbox" mold="rounded">
<bandpopup>
<vbox>
- <listbox id="companyListbox" width="200px" model="@{composer.companyModel}" itemRenderer="@{composer.companyRenderer}">
+ <listbox autopaging="true" mold="paging" id="companyListbox" rows="5" width="200px" model="@{composer.companyModel}"
+ itemRenderer="@{composer.companyRenderer}">
<listhead>
<listheader label="Name" />
<listheader label="Type" />
@@ -47,11 +53,14 @@
</bandpopup>
</bandbox>
- <toolbarbutton id="editPerson" label="Edit person" />
- <bandbox id="personBandbox" mold="rounded">
+ <hbox>
+ <toolbarbutton id="editPerson" label="Edit person" /> / <toolbarbutton id="newPerson" label="New person" />
+ </hbox>
+ <bandbox id="personBandbox" mold="rounded">
<bandpopup>
<vbox>
- <listbox id="personListbox" width="200px" model="@{composer.personModel}" itemRenderer="@{composer.personRenderer}">
+ <listbox autopaging="true" mold="paging" id="personListbox" rows="5" width="200px" model="@{composer.personModel}"
+ itemRenderer="@{composer.personRenderer}">
<listhead>
<listheader label="First name" />
<listheader label="Last name" />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
+++ trunk/bonzoms-ui-zk/src/main/webapp/personFormPage.zul 2010-08-06 13:00:04 UTC (rev 125)
@@ -1,4 +1,4 @@
-<window closable="true" maximizable="true" sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.PersonFormController">
+<window closable="true" maximizable="true" sizable="true" height="500px" width="410px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.PersonFormController">
<caption label="Person"/>
<groupbox>
<caption label="Personnal informations" />
@@ -13,7 +13,7 @@
<separator />
- <listbox id="addressListbox" mold="paging" rows="5" model="@{composer.addressModel}" width="170px" itemRenderer="@{composer.addressRenderer}">
+ <listbox id="addressListbox" autopaging="true" mold="paging" rows="5" model="@{composer.addressModel}" width="170px" itemRenderer="@{composer.addressRenderer}">
<listhead>
<listheader label="Address name" />
</listhead>
1
0
r124 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp
by bbrossaudï¼ users.chorem.org 05 Aug '10
by bbrossaudï¼ users.chorem.org 05 Aug '10
05 Aug '10
Author: bbrossaud
Date: 2010-08-05 17:23:21 +0200 (Thu, 05 Aug 2010)
New Revision: 124
Url: http://chorem.org/repositories/revision/bonzoms/124
Log:
addition contracts
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyFormController.java 2010-08-05 15:23:21 UTC (rev 124)
@@ -32,12 +32,19 @@
import org.chorem.data.bonzoms.CompanyImpl;
import org.nuiton.wikitty.WikittyProxy;
import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Caption;
import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Window;
+import org.zkoss.zul.api.Textbox;
import org.zkoss.zk.ui.Executions;
/**
@@ -49,7 +56,8 @@
protected WikittyProxy proxy = BonzomsProxy.getInstance();
protected Company company = new CompanyImpl();
- protected AddressModel addressesModel = new AddressModel();
+ protected AddressModel addressModel = new AddressModel();
+ protected Address selectedAddress = null;
protected PhonesModel phonesModel = new PhonesModel();
protected EmailsModel emailsModel = new EmailsModel();
@@ -87,8 +95,10 @@
}
protected void initDefaultCompany() {
- Address address = new AddressImpl();
- addressesModel.addData(address);
+ Address address = new AddressImpl();
+ address.setName("New address");
+ addressModel.addData(address);
+ selectedAddress = address;
Phone phone = new Phone();
phonesModel.addData(phone);
@@ -101,7 +111,8 @@
this.company = proxy.restore(Company.class, companyId);
List<Address> addresses = proxy.restore(Address.class, new ArrayList<String>(company.getAddress()));
addresses = new ArrayList<Address>(addresses);
- addressesModel.setAddresses(addresses);
+ addressModel.setAddresses(addresses);
+ selectedAddress = addresses.get(0);
emailsModel.setEmails(company.getEmails());
phonesModel.setPhones(company.getPhones());
}
@@ -113,7 +124,7 @@
}
protected void saveAddresses() {
- List<Address> addresses = proxy.store(addressesModel.getAddresses());
+ List<Address> addresses = proxy.store(addressModel.getAddresses());
if (!removedAddresses.isEmpty()) {
proxy.delete(removedAddresses);
removeCompanyAddresses();
@@ -133,28 +144,86 @@
company.setPhones(phones);
}
+ protected void setAddressBox() {
+ Caption caption = (Caption) self.getFellow("captionName");
+ caption.setLabel(selectedAddress.getName());
+ Textbox box = (Textbox) self.getFellow("name");
+ box.setValue(selectedAddress.getName());
+ box = (Textbox) self.getFellow("address1");
+ box.setValue(selectedAddress.getAddress1());
+ box = (Textbox) self.getFellow("address2");
+ box.setValue(selectedAddress.getAddress2());
+ box = (Textbox) self.getFellow("zipcode");
+ box.setValue(selectedAddress.getZipCode());
+ box = (Textbox) self.getFellow("city");
+ box.setValue(selectedAddress.getCity());
+ box = (Textbox) self.getFellow("country");
+ box.setValue(selectedAddress.getCountry());
+ }
+
/*
+ * Renderers
+ */
+ public ListitemRenderer getAddressRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final Address address = (Address) data;
+ Listcell name = new Listcell(address.getName());
+ item.appendChild(name);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ selectedAddress = address;
+ setAddressBox();
+ }
+ });
+ }
+ };
+ }
+
+ /*
* Events
*/
+ public void onClick$saveAddress() {
+ int rowIndex = addressModel.indexOf(selectedAddress);
+ Caption caption = (Caption) self.getFellow("captionName");
+ caption.setLabel(selectedAddress.getName());
+ addressModel.reloadContent(rowIndex);
+ }
+
public void onClose() {
Events.postEvent(EVENT_ON_CLOSE_COMPANY, this.self, null);
}
public void onClick$addAddress() {
- Address address = new AddressImpl();
- addressesModel.addData(address);
+ Address address = new AddressImpl();
+ address.setName("New address");
+ selectedAddress = address;
+ setAddressBox();
+ addressModel.addData(address);
}
public void onClick$deleteAddress() {
- int size = addressListbox.getItemCount();
- if (size > 1) {
- Address address = (Address) addressesModel.getElementAt(size -1);
- addressesModel.removeData(address);
- String id = address.getWikittyId();
- if (!id.isEmpty()) {
- removedAddresses.add(id);
- }
- }
+ if (addressListbox.getItemCount() > 1) {
+ Listitem item = addressListbox.getSelectedItem();
+ if (item != null) {
+ Address address = (Address) item.getValue();
+ if (address != null) {
+ addressModel.removeData(address);
+ String id = address.getWikittyId();
+ if (id != null && !id.isEmpty()) {
+ removedAddresses.add(id);
+ }
+ selectedAddress = (Address) addressModel.getElementAt(0);
+ setAddressBox();
+ addressListbox.setSelectedIndex(0);
+ }
+ }
+ }
}
public void onClick$addPhone() {
@@ -203,7 +272,7 @@
}
public AddressModel getAddressesModel() {
- return addressesModel;
+ return addressModel;
}
public PhonesModel getPhonesModel() {
@@ -213,4 +282,8 @@
public EmailsModel getEmailsModel() {
return emailsModel;
}
+
+ public Address getSelectedAddress() {
+ return selectedAddress;
+ }
}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsFormController.java 2010-08-05 15:23:21 UTC (rev 124)
@@ -1,7 +1,10 @@
package org.chorem.bonzoms.ui;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
+
import org.chorem.data.bonzoms.EmploymentContract;
import org.chorem.data.bonzoms.EmploymentContractImpl;
import org.nuiton.wikitty.Criteria;
@@ -9,12 +12,21 @@
import org.nuiton.wikitty.search.Search;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
+import org.zkoss.zk.ui.event.Event;
+import org.zkoss.zk.ui.event.EventListener;
import org.zkoss.zk.ui.event.Events;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zkplus.databind.AnnotateDataBinder;
import org.zkoss.zkplus.databind.DataBinder;
+import org.zkoss.zul.Caption;
+import org.zkoss.zul.Datebox;
+import org.zkoss.zul.Doublebox;
import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
import org.zkoss.zul.Window;
+import org.zkoss.zul.api.Textbox;
/**
*
@@ -24,8 +36,9 @@
protected WikittyProxy proxy = BonzomsProxy.getInstance();
- protected ContractModel contractModel = new ContractModel(20);
+ protected ContractsModel contractsModel = new ContractsModel();
protected List<String> removedContracts = new ArrayList<String>();
+ protected EmploymentContract selectedContract = null;
protected String employeeId = null;
protected Listbox contractListbox;
@@ -43,6 +56,7 @@
employeeId = (String) arg.get("employeeId");
}
this.employeeId = employeeId;
+ init();
DataBinder binder = new AnnotateDataBinder(comp);
binder.bindBean("composer", this);
binder.loadAll();
@@ -58,40 +72,129 @@
protected void initDefaultContracts() {
EmploymentContract contract = new EmploymentContractImpl();
+ contract.setType("New contract");
contract.setEmployee(employeeId);
- contractModel.addData(contract);
+ selectedContract = contract;
+ contractsModel.addData(contract);
}
protected void initContracts() {
if (employeeId != null) {
Criteria criteria = Search.query().eq(EmploymentContract.FQ_FIELD_EMPLOYEE, employeeId).criteria();
- contractModel.setCriteria(criteria);
+ List<EmploymentContract> contracts = proxy.findAllByCriteria(EmploymentContract.class, criteria).getAll();
+ contracts = new ArrayList<EmploymentContract>(contracts);
+ contractsModel.setContracts(contracts);
+ if (contracts.size() == 0) {
+ onClick$addContract();
+ }
+ selectedContract = (EmploymentContract) contractsModel.getElementAt(0);
}
}
+
+ protected void setContractBox() {
+ Caption caption = (Caption) self.getFellow("captionName");
+ caption.setLabel(selectedContract.getType());
+
+ Textbox box = (Textbox) self.getFellow("contractWorkingTime");
+ box.setValue(String.valueOf(selectedContract.getWorkingTime()));
+ box = (Textbox) self.getFellow("contractType");
+ box.setValue(selectedContract.getType());
+ box = (Textbox) self.getFellow("contractAdvantages");
+ box.setValue(selectedContract.getAdvantages());
+ box = (Textbox) self.getFellow("contractDescription");
+ box.setValue(selectedContract.getDescription());
+
+ Doublebox doublebox = (Doublebox) self.getFellow("contractSalary");
+ doublebox.setValue(selectedContract.getSalary());
+
+ Datebox datebox = (Datebox) self.getFellow("contractEnd");
+ datebox.setValue(selectedContract.getEnd());
+ datebox = (Datebox) self.getFellow("contractStart");
+ datebox.setValue(selectedContract.getStart());
+ }
/*
+ * Renderers
+ */
+ public ListitemRenderer getContractsRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
+ item.setValue(data);
+ final EmploymentContract contract = (EmploymentContract) data;
+ Listcell type = new Listcell(contract.getType());
+ String str = "";
+ Date date = contract.getStart();
+ if (date != null) {
+ str = sdf.format(date);
+ }
+ Listcell start = new Listcell(str);
+ str = "";
+ date = contract.getEnd();
+ if (date != null) {
+ str = sdf.format(date);
+ }
+ Listcell end = new Listcell(str);
+ Listcell salary = new Listcell(String.valueOf(contract.getSalary()));
+ item.appendChild(type);
+ item.appendChild(start);
+ item.appendChild(end);
+ item.appendChild(salary);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ selectedContract = contract;
+ setContractBox();
+ }
+ });
+ }
+ };
+ }
+
+ /*
* Events
*/
public void onClick$addContract() {
- EmploymentContract contract = new EmploymentContractImpl();
+ EmploymentContract contract = new EmploymentContractImpl();
+ contract.setType("New contract");
contract.setEmployee(employeeId);
- contractModel.addData(contract);
+ selectedContract = contract;
+ setContractBox();
+ contractsModel.addData(contract);
}
public void onClick$deleteContract() {
-// int size = contractListbox.getItemCount();
-// if (size > 1) {
-// EmploymentContract contract = (EmploymentContract) contractModel.getElementAt(size -1);
-// contractModel.removeData(contract);
-// String id = contract.getWikittyId();
-// if (!id.isEmpty()) {
-// removedContracts.add(id);
-// }
-// }
+ if (contractListbox.getItemCount() > 1) {
+ Listitem item = contractListbox.getSelectedItem();
+ if (item != null) {
+ EmploymentContract contract = (EmploymentContract) item.getValue();
+ if (contract != null) {
+ contractsModel.removeData(contract);
+ String id = contract.getWikittyId();
+ if (id != null && !id.isEmpty()) {
+ removedContracts.add(id);
+ }
+ selectedContract = (EmploymentContract) contractsModel.getElementAt(0);
+ setContractBox();
+ contractListbox.setSelectedIndex(0);
+ }
+ }
+ }
}
- public void onClick$saveContracts() {
+ public void onClick$saveContract() {
+ int rowIndex = contractsModel.indexOf(selectedContract);
+ Caption caption = (Caption) self.getFellow("captionName");
+ caption.setLabel(selectedContract.getType());
+ contractsModel.reloadContent(rowIndex);
+ }
+
+ public void onClick$save() {
proxy.delete(removedContracts);
+ proxy.store(contractsModel.getContracts());
Events.postEvent(EVENT_ON_SAVE_CONTRACTS, this.self, null);
self.detach();
}
@@ -99,7 +202,11 @@
/*
* Getters
*/
- public ContractModel getContractModel() {
- return contractModel;
+ public ContractsModel getContractsModel() {
+ return contractsModel;
}
+
+ public EmploymentContract getSelectedContract() {
+ return selectedContract;
+ }
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractsModel.java 2010-08-05 15:23:21 UTC (rev 124)
@@ -0,0 +1,57 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.EmploymentContract;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+public class ContractsModel extends AbstractListModel implements BindingListModel {
+
+ List<EmploymentContract> contracts = new ArrayList<EmploymentContract>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return contracts.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return contracts.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return contracts.indexOf(obj);
+ }
+
+ public void setContracts(List<EmploymentContract> contracts) {
+ this.contracts = contracts;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(EmploymentContract newData) {
+ contracts.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, contracts.size() - 1, contracts.size() - 1);
+ }
+
+ public void removeData(EmploymentContract data) {
+ int interval = contracts.indexOf(data);
+ contracts.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reloadContent(int rowIndex) {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<EmploymentContract> getContracts() {
+ return contracts;
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonFormController.java 2010-08-05 15:23:21 UTC (rev 124)
@@ -118,6 +118,24 @@
String phones = phonesModel.getPhonesAsString();
person.setPhones(phones);
}
+
+ protected void setAddressBox() {
+ Caption caption = (Caption) self.getFellow("captionName");
+ caption.setLabel(selectedAddress.getName());
+ Textbox box = (Textbox) self.getFellow("name");
+ box.setValue(selectedAddress.getName());
+ box = (Textbox) self.getFellow("address1");
+ box.setValue(selectedAddress.getAddress1());
+ box = (Textbox) self.getFellow("address2");
+ box.setValue(selectedAddress.getAddress2());
+ box = (Textbox) self.getFellow("zipcode");
+ box.setValue(selectedAddress.getZipCode());
+ box = (Textbox) self.getFellow("city");
+ box.setValue(selectedAddress.getCity());
+ box = (Textbox) self.getFellow("country");
+ box.setValue(selectedAddress.getCountry());
+ }
+
/*
* Renderers
*/
@@ -142,23 +160,6 @@
};
}
- protected void setAddressBox() {
- Caption caption = (Caption) self.getFellow("captionName");
- caption.setLabel(selectedAddress.getName());
- Textbox box = (Textbox) self.getFellow("name");
- box.setValue(selectedAddress.getName());
- box = (Textbox) self.getFellow("address1");
- box.setValue(selectedAddress.getAddress1());
- box = (Textbox) self.getFellow("address2");
- box.setValue(selectedAddress.getAddress2());
- box = (Textbox) self.getFellow("zipcode");
- box.setValue(selectedAddress.getZipCode());
- box = (Textbox) self.getFellow("city");
- box.setValue(selectedAddress.getCity());
- box = (Textbox) self.getFellow("country");
- box.setValue(selectedAddress.getCountry());
- }
-
/*
* Events
*/
@@ -182,31 +183,31 @@
self.detach();
}
- public void onClick$addAddress() {
- Address address = new AddressImpl();
- address.setName("New address");
- selectedAddress = address;
- setAddressBox();
- addressModel.addData(address);
- }
+ public void onClick$addAddress() {
+ Address address = new AddressImpl();
+ address.setName("New address");
+ selectedAddress = address;
+ setAddressBox();
+ addressModel.addData(address);
+ }
+
+ public void onClick$deleteAddress() {
+ Listitem item = addressListbox.getSelectedItem();
+ if (item != null) {
+ Address address = (Address) item.getValue();
+ if (address != null) {
+ addressModel.removeData(address);
+ String id = address.getWikittyId();
+ if (id != null && !id.isEmpty()) {
+ removedAddresses.add(id);
+ }
+ selectedAddress = (Address) addressModel.getElementAt(0);
+ setAddressBox();
+ addressListbox.setSelectedIndex(0);
+ }
+ }
+ }
- public void onClick$deleteAddress() {
- Listitem item = addressListbox.getSelectedItem();
- if (item != null) {
- Address address = (Address) item.getValue();
- if (address != null) {
- addressModel.removeData(address);
- String id = address.getWikittyId();
- if (id != null && !id.isEmpty()) {
- removedAddresses.add(id);
- }
- selectedAddress = (Address) addressModel.getElementAt(0);
- setAddressBox();
- addressListbox.setSelectedIndex(0);
- }
- }
- }
-
public void onClick$addPhone() {
Phone phone = new Phone();
phonesModel.addData(phone);
Modified: trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/webapp/companyFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
@@ -1,7 +1,7 @@
<?page id="CompanyForm" title="Company form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="500px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.CompanyFormController">
+<window closable="true" maximizable="true" sizable="true" height="500px" width="400px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.CompanyFormController">
<caption label="Company"/>
<groupbox>
@@ -22,48 +22,53 @@
<label value="Web site" />
<textbox value="@{composer.company.webSite, save-when='saveCompany.onClick'}" />
+ <separator />
+
+ <listbox id="addressListbox" mold="paging" rows="5" model="@{composer.addressModel}" width="170px" itemRenderer="@{composer.addressRenderer}">
+ <listhead>
+ <listheader label="Address name" />
+ </listhead>
+ </listbox>
+
+ <hbox>
+ <button label="Add" id="addAddress" />
+ <button label="Delete" id="deleteAddress" />
+ </hbox>
+
</vbox>
<space />
<vbox>
- <listbox id="addressListbox" model="@{composer.addressesModel}" width="200px">
- <listitem self="@{each='address'}">
- <listcell>
- <groupbox>
- <caption label="@{address.name}" />
- <vbox>
+ <groupbox>
+ <caption id="captionName" label="@{composer.selectedAddress.name}" />
+ <vbox>
+
+ <label value="Name" />
+ <textbox id="name" value="@{composer.selectedAddress.name, save-when='saveAddress.onClick'}" />
+
+ <label value="Adress1" />
+ <textbox id="address1" value="@{composer.selectedAddress.address1, save-when='saveAddress.onClick'}" />
+
+ <label value="Adress2" />
+ <textbox id="address2" value="@{composer.selectedAddress.address2, save-when='saveAddress.onClick'}" />
+
+ <label value="Zip code" />
+ <textbox id="zipcode" value="@{composer.selectedAddress.zipCode, save-when='saveAddress.onClick'}" />
+
+ <label value="City" />
+ <textbox id="city" value="@{composer.selectedAddress.city, save-when='saveAddress.onClick'}" />
+
+ <label value="Country" />
+ <textbox id="country" value="@{composer.selectedAddress.country, save-when='saveAddress.onClick'}" />
+
+ <button id="saveAddress" label="Save" />
+
+ </vbox>
+ </groupbox>
+ </vbox>
+ </hbox>
- <label value="Name" />
- <textbox value="@{address.name, save-when='saveCompany.onClick'}" />
-
- <label value="Adress1" />
- <textbox value="@{address.address1, save-when='saveCompany.onClick'}" />
-
- <label value="Adress2" />
- <textbox value="@{address.address2, save-when='saveCompany.onClick'}" />
-
- <label value="Zip code" />
- <textbox value="@{address.zipCode, save-when='saveCompany.onClick'}" />
-
- <label value="City" />
- <textbox value="@{address.city, save-when='saveCompany.onClick'}" />
-
- <label value="Country" />
- <textbox value="@{address.country, save-when='saveCompany.onClick'}" />
-
- </vbox>
- </groupbox>
- </listcell>
- </listitem>
- </listbox>
- <hbox>
- <button label="Add address " id="addAddress" />
- <button label="Delete address" id="deleteAddress" />
- </hbox>
- </vbox>
- </hbox>
-
<separator/>
<groupbox>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractPage.zul 2010-08-05 15:23:21 UTC (rev 124)
@@ -4,7 +4,7 @@
<window id="contract" apply="org.chorem.bonzoms.ui.ContractController">
Contracts: <toolbarbutton id="newContract" label="Add new contract" />
- <listbox autopaging="true" mold="paging" id="contractListBox" rows="20" model="@{contract$composer.contractsModel}"
+ <listbox autopaging="true" mold="paging" id="contractListBox" rows="20" model="@{contract$composer.contractModel}"
itemRenderer="@{contract$composer.contractRenderer}">
<listhead>
<listheader label="Type" />
Modified: trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/webapp/contractsFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
@@ -1,69 +1,69 @@
<?page id="ContractsForm" title="Contracts form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="400px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractsFormController">
-<caption label="Contracts"/>
+<window closable="true" maximizable="true" sizable="true" height="470px" width="450px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ContractsFormController">
+ <caption label="Contracts"/>
<groupbox>
<caption label="Contracts informations" />
+ <vbox>
+ <groupbox width="375px">
+ <caption id="captionName" label="@{composer.selectedContract.type}" />
+ <hbox>
+
+ <vbox>
+ <label value="Type" />
+ <textbox id="contractType" value="@{composer.selectedContract.type, save-when='saveContract.onClick'}" />
+
+ <label value="Salary" />
+ <doublebox id="contractSalary" value="@{composer.selectedContract.salary, save-when='saveContract.onClick'}" />
+
+ <label value="Working time" />
+ <textbox id="contractWorkingTime" value="@{composer.selectedContract.workingTime, save-when='saveContract.onClick'}" />
+
+ <label value="Advantages" />
+ <textbox id="contractAdvantages" value="@{composer.selectedContract.advantages, save-when='saveContract.onClick'}" />
+
+ <separator />
+
+ <button id="saveContract" label="Save" />
+ </vbox>
+ <space />
+ <vbox>
+ <label value="Start" />
+ <datebox id="contractStart" format="yyyy/MM/dd" value="@{composer.selectedContract.start, save-when='saveContract.onClick'}" />
+
+ <label value="End" />
+ <datebox id="contractEnd" format="yyyy/MM/dd" value="@{composer.selectedContract.end, save-when='saveContract.onClick'}" />
+
+ <label value="Description" />
+ <textbox id="contractDescription" rows="5" value="@{composer.selectedContract.description, save-when='saveContract.onClick'}" />
+ </vbox>
+ </hbox>
+ </groupbox>
+ </vbox>
+
+ <separator />
+
+ <vbox>
+ <vbox>
+ <listbox id="contractListbox" mold="paging" rows="5" model="@{composer.contractsModel}" width="400px" itemRenderer="@{composer.contractsRenderer}">
+ <listhead>
+ <listheader label="Type" />
+ <listheader label="Start" />
+ <listheader label="End" />
+ <listheader label="Salary" />
+ </listhead>
+ </listbox>
+
+ <hbox>
+ <button label="Add" id="addContract" />
+ <button label="Delete" id="deleteContract" />
+ </hbox>
- <hbox>
-
- <vbox>
-
- <listbox id="contractListbox" model="@{composer.contractsModel}" width="400px">
- <listitem self="@{each='contract'}">
- <listcell>
- <groupbox>
- <caption label="@{contract.type}" />
-
- <hbox>
-
- <vbox>
-
- <label value="Type" />
- <textbox value="@{contract.type, save-when='save.onClick'}" />
-
- <label value="Salary" />
- <doublebox value="@{contract.salary, save-when='save.onClick'}" />
-
- <label value="Working time" />
- <textbox value="@{contract.workingTime, save-when='save.onClick'}" />
-
- <label value="Advantages" />
- <textbox value="@{contract.advantages, save-when='save.onClick'}" />
-
- </vbox>
-
- <space />
-
- <vbox>
-
- <label value="Start" />
- <datebox format="yyyy/MM/dd" value="@{contract.start, save-when='save.onClick'}" />
-
- <label value="End" />
- <datebox format="yyyy/MM/dd" value="@{contract.end, save-when='save.onClick'}" />
-
- <label value="Description" />
- <textbox rows="5" value="@{contract.description, save-when='save.onClick'}" />
-
- </vbox>
-
- </hbox>
- </groupbox>
- </listcell>
- </listitem>
- </listbox>
- <hbox>
- <button label="Add contract" id="addContract" />
- <button label="Delete contract" id="deleteContract" />
- </hbox>
-
- </vbox>
-
- </hbox>
+ </vbox>
+ </vbox>
+
</groupbox>
<button id="save" label="Save" />
- <include id="openContract" />
</window>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-05 12:52:18 UTC (rev 123)
+++ trunk/bonzoms-ui-zk/src/main/webapp/employeeFormPage.zul 2010-08-05 15:23:21 UTC (rev 124)
@@ -1,7 +1,7 @@
<?page id="employeeForm" title="Employee form" cacheable="false" language="xul/html" zscriptLanguage="Java"?>
<?meta content="text/html; charset=UTF-8" pageEncoding="UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" height="350px" width="400" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.EmployeeFormController">
+<window closable="true" maximizable="true" sizable="true" height="370px" width="400px" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.EmployeeFormController">
<caption label="Employee"/>
<separator />
1
0
r123 - trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui
by bbrossaudï¼ users.chorem.org 05 Aug '10
by bbrossaudï¼ users.chorem.org 05 Aug '10
05 Aug '10
Author: bbrossaud
Date: 2010-08-05 14:52:18 +0200 (Thu, 05 Aug 2010)
New Revision: 123
Url: http://chorem.org/repositories/revision/bonzoms/123
Log:
addition missing files and removed model
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressModel.java
Removed:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressModel.java 2010-08-05 12:52:18 UTC (rev 123)
@@ -0,0 +1,84 @@
+/*
+ * #%L
+ * Bonzoms : bonzoms-zk
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ * #L%
+ */
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.chorem.data.bonzoms.Address;
+import org.chorem.data.bonzoms.EmploymentContract;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+/**
+ *
+ * @author sherkhan
+ */
+public class AddressModel extends AbstractListModel implements BindingListModel {
+
+ List<Address> addresses = new ArrayList<Address>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return addresses.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return addresses.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ return addresses.indexOf(obj);
+ }
+
+ public void setAddresses(List<Address> addresses) {
+ this.addresses = addresses;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(Address newData) {
+ addresses.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, addresses.size() - 1, addresses.size() - 1);
+ }
+
+ public void removeData(Address data) {
+ int interval = addresses.indexOf(data);
+ addresses.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reloadContent(int rowIndex) {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<Address> getAddresses() {
+ return addresses;
+ }
+}
Deleted: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-08-05 12:51:10 UTC (rev 122)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/AddressesModel.java 2010-08-05 12:52:18 UTC (rev 123)
@@ -1,79 +0,0 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package org.chorem.bonzoms.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.chorem.data.bonzoms.Address;
-import org.zkoss.zkplus.databind.BindingListModel;
-import org.zkoss.zul.AbstractListModel;
-import org.zkoss.zul.event.ListDataEvent;
-
-/**
- *
- * @author sherkhan
- */
-public class AddressesModel extends AbstractListModel implements BindingListModel {
-
- List<Address> addresses = new ArrayList<Address>();
-
- @Override
- public Object getElementAt(int index) {
- return addresses.get(index);
- }
-
- @Override
- public int getSize() {
- return addresses.size();
- }
-
- @Override
- public int indexOf(Object obj) {
- return addresses.indexOf(obj);
- }
-
- public void setAddresses(List<Address> addresses) {
- this.addresses = addresses;
- fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
- }
-
- public void addData(Address newData) {
- addresses.add(newData);
- fireEvent(ListDataEvent.INTERVAL_ADDED, addresses.size() - 1, addresses.size() - 1);
- }
-
- public void removeData(Address data) {
- int interval = addresses.indexOf(data);
- addresses.remove(data);
- fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
- }
-
- public void reload() {
- fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
- }
-
- public List<Address> getAddresses() {
- return addresses;
- }
-}
Deleted: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-08-05 12:51:10 UTC (rev 122)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/Model.java 2010-08-05 12:52:18 UTC (rev 123)
@@ -1,277 +0,0 @@
-/*
- * #%L
- * Bonzoms : bonzoms-zk
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2010 CodeLutin
- * %%
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- * #L%
- */
-package org.chorem.bonzoms.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.chorem.data.bonzoms.Address;
-import org.chorem.data.bonzoms.Company;
-import org.chorem.data.bonzoms.Employee;
-import org.chorem.data.bonzoms.EmploymentContract;
-import org.chorem.data.bonzoms.Person;
-import org.chorem.data.bonzoms.Service;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.PagedResult;
-import org.nuiton.wikitty.Wikitty;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.WikittyService;
-import org.nuiton.wikitty.search.Element;
-import org.nuiton.wikitty.search.Search;
-
-/**
- *
- * @author sherkhan
- */
-public class Model {
-
- protected WikittyProxy proxy;
-
- public Model() {
- proxy = BonzomsProxy.getInstance();
- }
-
- /*
- * Create
- */
- public List<Address> createAddresses(List<Address> addresses) {
- List<Address> wikitties = proxy.store(addresses);
- return wikitties;
- }
-
- public Employee createEmployee(Employee employee) {
- return proxy.store(employee);
- }
-
- public Address createAddress(Address address) {
- return proxy.store(address);
- }
-
- public Company createCompany(Company company) {
- return proxy.store(company);
- }
-
- public List<EmploymentContract> createContracts(List<EmploymentContract> contractsList) {
- List<EmploymentContract> wikitties = proxy.store(contractsList);
- return wikitties;
- }
-
- public Person createPerson(Person person) {
- return proxy.store(person);
- }
-
- public EmploymentContract createContract(EmploymentContract contract) {
- return proxy.store(contract);
- }
-
- /*
- * Retrieve
- */
- public List<EmploymentContract> retrieveAllContracts() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT).criteria();
- List<EmploymentContract> contracts = proxy.findAllByCriteria(EmploymentContract.class, criteria).getAll();
- contracts = new ArrayList<EmploymentContract>(contracts);
- return contracts;
- }
-
- public Employee retrieveEmployeeById(String id) {
- if (id == null || id.isEmpty()) {
- return null;
- }
- return proxy.restore(Employee.class, id);
- }
-
- public List<Employee> retrieveAllEmployees() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE).criteria();
- List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll();
- employees = new ArrayList<Employee>(employees);
- return employees;
- }
-
- public List<Service> retrieveAllServices() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE).criteria();
- List<Service> services = proxy.findAllByCriteria(Service.class, criteria).getAll();
- services = new ArrayList<Service>(services);
- return services;
- }
-
- public List<EmploymentContract> retrieveContractsByEmployeeId(String id) {
- Criteria criteria = Search.query().eq(EmploymentContract.FQ_FIELD_EMPLOYEE, id).criteria();
- List<EmploymentContract> contracts = proxy.findAllByCriteria(EmploymentContract.class, criteria).getAll();
- contracts = new ArrayList<EmploymentContract>(contracts);
- return contracts;
- }
-
- public Person retrievePersonById(String id) {
- if (id == null) {
- return null;
- }
- return proxy.restore(Person.class, id);
- }
-
- public List<Company> retrieveAllCompanies() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria();
- List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll();
- companies = new ArrayList<Company>(companies);
- return companies;
- }
-
- public Address retrieveAddressById(String id) {
- if (id == null || id.isEmpty()) {
- return null;
- }
- return proxy.restore(Address.class, id);
- }
-
- public List<Address> retrieveAddressesByIds(List<String> ids) {
- List<Address> addresses = proxy.restore(Address.class, ids);
- return new ArrayList<Address>(addresses);
- }
-
- public Service retrieveServiceById(String id) {
- if (id == null || id.isEmpty()) {
- return null;
- }
- return proxy.restore(Service.class, id);
- }
-
- public List<EmploymentContract> retrieveContractsByIds(List<String> ids) {
- List<EmploymentContract> contracts = proxy.restore(EmploymentContract.class, ids);
- return new ArrayList<EmploymentContract>(contracts);
- }
-
- public List<Person> retrieveAllPersons() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
- List<Person> persons = proxy.findAllByCriteria(Person.class, criteria).getAll();
- persons = new ArrayList<Person>(persons);
- return persons;
- }
-
- public List<Employee> retrieveEmployeesBySearch(String search) {
- Criteria criteria = Search.query().keyword(search).criteria();
- List<Employee> employees = proxy.findAllByCriteria(Employee.class, criteria).getAll();
- employees = new ArrayList<Employee>(employees);
- return employees;
- }
-
- public List<Company> retrieveCompaniesBySearch(String search) {
- Criteria criteria = Search.query().keyword(search).criteria();
- List<Company> companies = proxy.findAllByCriteria(Company.class, criteria).getAll();
- companies = new ArrayList<Company>(companies);
- return companies;
- }
-
- public List<Service> retrieveServicesBySearch(String search) {
- Criteria criteria = Search.query().keyword(search).criteria();
- List<Service> services = proxy.findAllByCriteria(Service.class, criteria).getAll();
- services = new ArrayList<Service>(services);
- return services;
- }
-
- public EmploymentContract retrieveContractById(String id) {
- if (id == null || id.isEmpty()) {
- return null;
- }
- return proxy.restore(EmploymentContract.class, id);
- }
-
- public List<Wikitty> retrieveAllBySearch(String str) {
- List<Wikitty> wikitties = new ArrayList<Wikitty>();
-
- Search search = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON);
- search = search.or().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY);
- search = search.eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE);
- search = search.eq(Element.ELT_EXTENSION, Service.EXT_SERVICE);
- search = search.eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT);
- search = search.eq(Element.ELT_EXTENSION, Address.EXT_ADDRESS);
- if (str != null && !str.isEmpty()) {
- search = search.and().keyword(str);
- }
-
- Criteria criteria = search.criteria();
-
- WikittyService service = proxy.getWikittyService();
- String securityToken = proxy.getSecurityToken();
- PagedResult<?> result = service.findAllByCriteria(securityToken, criteria);
- if (result != null) {
- wikitties = result.cast(securityToken, service).getAll();
- wikitties = new ArrayList<Wikitty>(wikitties);
- }
- return wikitties;
- }
-
- public Company retrieveCompanyById(String id) {
- if (id == null || id.isEmpty()) {
- return null;
- }
- return proxy.restore(Company.class, id);
- }
-
- public Wikitty retrieveWikittyById(String id) {
- WikittyService service = proxy.getWikittyService();
- return service.restore(proxy.getSecurityToken(), id);
- }
-
- /*
- * Update
- */
- public List<Address> updatePersonAddresses(List<Address> addresses) {
- List<Address> wikitties = proxy.store(addresses);
- return wikitties;
- }
-
- public Address updateAddress(Address address) {
- return proxy.store(address);
- }
-
- public Employee updateEmployee(Employee employee) {
- return proxy.store(employee);
- }
-
- public Company updateCompany(Company company) {
- return proxy.store(company);
- }
-
- public Service updateService(Service service) {
- return proxy.store(service);
- }
-
- /*
- * Delete
- */
- public void deleteAddressesByIds(List<String> ids) {
- proxy.delete(ids);
- }
-
- public void deletePhonesByIds(List<String> ids) {
- proxy.delete(ids);
- }
-
- public void deleteEmailsByIds(List<String> ids) {
- proxy.delete(ids);
- }
-
- public void deleteContractsByIds(List<String> removedContracts) {
- proxy.delete(removedContracts);
- }
-}
1
0