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
August 2010
- 2 participants
- 16 discussions
Author: tchemit
Date: 2010-08-29 16:22:27 +0200 (Sun, 29 Aug 2010)
New Revision: 136
Url: http://chorem.org/repositories/revision/bonzoms/136
Log:
Utilisation de mavenpom4redmine 2.2.4
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-23 14:58:23 UTC (rev 135)
+++ trunk/pom.xml 2010-08-29 14:22:27 UTC (rev 136)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.3</version>
+ <version>2.2.4</version>
</parent>
<groupId>org.chorem</groupId>
1
0
r135 - trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui
by bbrossaud@users.chorem.org 23 Aug '10
by bbrossaud@users.chorem.org 23 Aug '10
23 Aug '10
Author: bbrossaud
Date: 2010-08-23 16:58:23 +0200 (Mon, 23 Aug 2010)
New Revision: 135
Url: http://chorem.org/repositories/revision/bonzoms/135
Log:
change listbox functionne
Modified:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java
Modified: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java 2010-08-23 10:37:30 UTC (rev 134)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java 2010-08-23 14:58:23 UTC (rev 135)
@@ -69,7 +69,6 @@
}
}
});
-
}
protected void initListbox() {
1
0
r134 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp webapp/WEB-INF webapp/macros
by bbrossaud@users.chorem.org 23 Aug '10
by bbrossaud@users.chorem.org 23 Aug '10
23 Aug '10
Author: bbrossaud
Date: 2010-08-23 12:37:30 +0200 (Mon, 23 Aug 2010)
New Revision: 134
Url: http://chorem.org/repositories/revision/bonzoms/134
Log:
replace export by expense and remove bugs with expense report ==> refresh works
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportModel.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/SubCategoryModel.java
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/sun-web.xml
trunk/bonzoms-ui-zk/src/main/webapp/expenseReportFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/expenseReportItemFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/expenseReportPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/categoryBandboxMacro.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/expenseReportItemListboxMacro.zul
Removed:
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/ExportReportItemFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.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/webapp/exportReportFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.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/CompanyController.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/EmployeeController.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/ResultController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java
trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml
trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.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/BonzomsController.java 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/BonzomsController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -24,6 +24,7 @@
package org.chorem.bonzoms.ui;
import org.zkoss.zk.ui.util.GenericForwardComposer;
+import org.zkoss.zul.Checkbox;
import org.zkoss.zul.Textbox;
import org.zkoss.zul.Include;
@@ -35,13 +36,20 @@
protected Textbox searchBox;
protected Include include;
+ protected Checkbox allCheckbox;
+
+ protected String src = "employeePage.zul";
+
/*
* Events
*/
public void onOK$searchBox() {
String search = searchBox.getValue();
+ if (allCheckbox.isChecked()) {
+ src = "resultPage.zul";
+ }
include.setSrc(null);
- include.setSrc("resultPage.zul?search=" + search);
+ include.setSrc(src + "?search=" + search);
}
public void onClick$searchButton() {
@@ -50,31 +58,37 @@
public void onClick$employees() {
include.setSrc(null);
- include.setSrc("employeePage.zul");
+ src = "employeePage.zul";
+ include.setSrc(src);
}
public void onClick$persons() {
include.setSrc(null);
- include.setSrc("personPage.zul");
+ src = "personPage.zul";
+ include.setSrc(src);
}
public void onClick$companies() {
include.setSrc(null);
- include.setSrc("companyPage.zul");
+ src = "companyPage.zul";
+ include.setSrc(src);
}
public void onClick$services() {
include.setSrc(null);
- include.setSrc("servicePage.zul");
+ src = "servicePage.zul";
+ include.setSrc(src);
}
public void onClick$contracts() {
include.setSrc(null);
- include.setSrc("contractPage.zul");
+ src = "contractPage.zul";
+ include.setSrc(src);
}
- public void onClick$exportReports() {
+ public void onClick$expenseReports() {
include.setSrc(null);
- include.setSrc("exportReportPage.zul");
+ src = "expenseReportPage.zul";
+ include.setSrc(src);
}
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryBandboxMacro.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,180 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Set;
+
+import org.chorem.data.bonzoms.Category;
+import org.chorem.data.bonzoms.SubCategory;
+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.Grid;
+import org.zkoss.zul.Listbox;
+import org.zkoss.zul.Listcell;
+import org.zkoss.zul.Listhead;
+import org.zkoss.zul.Listheader;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.ListitemRenderer;
+import org.zkoss.zul.Paging;
+import org.zkoss.zul.Row;
+import org.zkoss.zul.RowRenderer;
+import org.zkoss.zul.event.PagingEvent;
+
+public class CategoryBandboxMacro extends HtmlMacroComponent {
+
+ protected final int pageSize = 2;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected CategoryModel categoryModel = new CategoryModel(pageSize);
+ protected String subCategoryId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initGrid();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Category.EXT_CATEGORY).criteria();
+ categoryModel.setCriteria(criteria);
+ int totalSize = categoryModel.getTotalSize();
+ Paging categoryPaging = (Paging) getFellow("categoryPaging");
+ categoryPaging.setTotalSize(totalSize);
+ categoryPaging.setPageSize(pageSize);
+ categoryPaging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ categoryModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox categoryBandbox = (Bandbox) getFellow("categoryBandbox");
+ categoryBandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = categoryBandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Category.EXT_CATEGORY);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ categoryModel.setCriteria(criteria);
+ int totalSize = categoryModel.getTotalSize();
+ Paging categoryPaging = (Paging) getFellow("categoryPaging");
+ categoryPaging.setTotalSize(totalSize);
+ categoryPaging.setActivePage(0);
+ categoryBandbox.open();
+ }
+ });
+ }
+
+ protected void initGrid() {
+ Grid categoryGrid = (Grid) getFellow("categoryGrid");
+ categoryGrid.setModel(categoryModel);
+ RowRenderer renderer = getCategoryRenderer();
+ categoryGrid.setRowRenderer(renderer);
+ }
+
+ /*
+ * Renderer
+ */
+ protected void setSubCategoryHeader(Listbox listbox, Category category) {
+ if (listbox != null) {
+ Listhead head = new Listhead();
+ listbox.appendChild(head);
+ String name = category.getName();
+ if (name == null) {
+ name = "";
+ }
+ Listheader header = new Listheader(name);
+ head.appendChild(header);
+ }
+ }
+
+ protected void createSubCategoryListbox(Listbox listbox, Set<String> subCategoryIds) {
+ if (subCategoryIds != null && !subCategoryIds.isEmpty()) {
+ List<SubCategory> subCategories = proxy.restore(SubCategory.class, new ArrayList<String>(subCategoryIds));
+ SubCategoryModel subCategoryModel = new SubCategoryModel();
+ subCategoryModel.setSubCategories(subCategories);
+ listbox.setModel(subCategoryModel);
+ listbox.setItemRenderer(new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final SubCategory subCategory = (SubCategory) data;
+ final String name = subCategory.getName();
+ Listcell cell = new Listcell(name);
+ item.appendChild(cell);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ Bandbox categoryBandbox = (Bandbox) getFellow("categoryBandbox");
+ subCategoryId = subCategory.getWikittyId();
+ categoryBandbox.setValue(name);
+ categoryBandbox.close();
+ }
+ });
+ }
+ });
+ }
+ }
+
+ public RowRenderer getCategoryRenderer() {
+ return new RowRenderer() {
+
+ @Override
+ public void render(Row row, Object data) throws Exception {
+ row.setValue(data);
+ final Category category = (Category) data;
+ Set<String> subCategoryIds = category.getSubCategory();
+ Listbox listbox = new Listbox();
+ setSubCategoryHeader(listbox, category);
+ createSubCategoryListbox(listbox, subCategoryIds);
+ row.appendChild(listbox);
+
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setSubCategoryId(String id) {
+ subCategoryId = id;
+ if (id != null) {
+ SubCategory subCategory = proxy.restore(SubCategory.class, id);
+ if (subCategory != null) {
+ Bandbox categoryBandbox = (Bandbox) getFellow("categoryBandbox");
+ String name = subCategory.getName();
+ if (name != null) {
+ categoryBandbox.setValue(name);
+ categoryBandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getSubCategoryId() {
+ return subCategoryId;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CategoryModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,116 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.Category;
+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 CategoryModel extends AbstractListModel implements BindingListModel {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected Criteria criteria = null;
+ protected int pageSize = 1;
+ protected int activePage = 0;
+ protected List<Category> categories = new ArrayList<Category>();
+
+ public CategoryModel(int pageSize) {
+ this.pageSize = pageSize;
+ createList();
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ Category category = categories.get(index);
+ return category;
+ }
+
+ @Override
+ public int getSize() {
+ return categories.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((Category) obj).getWikittyId();
+ for (Category data : categories) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = categories.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Category> result = proxy.findAllByCriteria(Category.class, criteria);
+ return result.getNumFound();
+ }
+
+ public void addData(Category newData) {
+ int listSize = categories.size();
+ if (listSize < (pageSize)) {
+ categories.add(newData);
+ }
+ int size = getSize();
+ fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1);
+ }
+
+ public void removeData(Category data) {
+ int index = categories.indexOf(data);
+ if (index != -1) {
+ categories.remove(index);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, index, index);
+ }
+ }
+
+ public void reloadContent(int rowIndex) {
+ Category category = categories.get(rowIndex);
+ category = proxy.restore(Category.class, category.getWikittyId());
+ categories.set(rowIndex, category);
+ 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<Category> categories = proxy.findAllByCriteria(Category.class, criteria).getAll();
+ this.categories = new ArrayList<Category>(categories);
+ }
+ 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/CompanyController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/CompanyController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -49,7 +49,12 @@
}
protected void initCompanyModel() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Company.EXT_COMPANY).criteria();
+ String search = Executions.getCurrent().getParameter("search");
+ 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);
}
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-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ContractController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -49,12 +49,15 @@
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();
+ String search = Executions.getCurrent().getParameter("search");
+ Search query = Search.query().eq(Element.ELT_EXTENSION, EmploymentContract.EXT_EMPLOYMENTCONTRACT);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
contractModel.setCriteria(criteria);
}
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-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/EmployeeController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -31,6 +31,7 @@
import org.nuiton.wikitty.Criteria;
import org.nuiton.wikitty.WikittyProxy;
import org.nuiton.wikitty.search.Element;
+import org.nuiton.wikitty.search.Keyword;
import org.nuiton.wikitty.search.Search;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
@@ -68,7 +69,12 @@
}
protected void initEmployeeModel() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Employee.EXT_EMPLOYEE).criteria();
+ String search = Executions.getCurrent().getParameter("search");
+ 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);
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,227 @@
+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.ExpenseReport;
+import org.chorem.data.bonzoms.ExpenseReportItem;
+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 ExpenseReportController extends GenericForwardComposer {
+
+ protected final int pageSize = 20;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ExpenseReportModel expenseReportModel = new ExpenseReportModel(pageSize);
+
+ protected Paging expenseReportPaging;
+ protected ExpenseReportItemListboxMacro expenseReportItemListboxMacro;
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ initEventMacro();
+ initExpenseReportModel();
+ initPaging();
+ }
+
+ protected void initEventMacro() {
+ expenseReportItemListboxMacro.addEventListener(ExpenseReportItemListboxMacro.EVENT_ON_ITEM_CHANGE, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ if (id != null) {
+ ExpenseReport expenseReport = proxy.restore(ExpenseReport.class, id);
+ int rowIndex = expenseReportModel.indexOf(expenseReport);
+ if (rowIndex != -1) {
+ expenseReportModel.reloadContent(rowIndex);
+ }
+ }
+ }
+ });
+ }
+
+ protected void initExpenseReportModel() {
+ String search = Executions.getCurrent().getParameter("search");
+ Search query = Search.query().eq(Element.ELT_EXTENSION, ExpenseReport.EXT_EXPENSEREPORT);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ expenseReportModel.setCriteria(criteria);
+ }
+
+ protected void initPaging() {
+ expenseReportPaging.setPageSize(pageSize);
+ int totalSize = expenseReportModel.getTotalSize();
+ expenseReportPaging.setTotalSize(totalSize);
+ }
+
+ protected void createWindowExpenseReportForm(String id) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("expenseReportId", id);
+ }
+ Window win = (Window) Executions.createComponents("expenseReportFormPage.zul", null, map);
+ win.addEventListener(ExpenseReportFormController.EVENT_ON_SAVE_EXPENSEREPORT, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ ExpenseReport expenseReport = proxy.restore(ExpenseReport.class, id);
+ int rowIndex = expenseReportModel.indexOf(expenseReport);
+ if (rowIndex != -1) {
+ expenseReportModel.reloadContent(rowIndex);
+ } else {
+ expenseReportModel.addData(expenseReport);
+ }
+ int totalSize = expenseReportModel.getTotalSize();
+ expenseReportPaging.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, ExpenseReportItem.EXT_EXPENSEREPORTITEM);
+ search = search.eq(ExpenseReportItem.FQ_FIELD_EXPENSEREPORTITEM_EXPENSEREPORT, id);
+ Criteria criteria = search.criteria();
+ List<ExpenseReportItem> items = proxy.findAllByCriteria(ExpenseReportItem.class, criteria).getAll();
+ double price = 0;
+ for (ExpenseReportItem item : items) {
+ Double amount = item.getTTCAmount();
+ if (amount != null) {
+ price += amount;
+ }
+ }
+ cell.setLabel(String.valueOf(price));
+ }
+ return cell;
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getExpenseReportRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final ExpenseReport expenseReport = (ExpenseReport) data;
+
+ Listcell createdDateCell = getDateCell(expenseReport.getDate());
+ item.appendChild(createdDateCell);
+
+ Listcell numberCell = new Listcell(expenseReport.getNumber());
+ item.appendChild(numberCell);
+
+ Listcell stateCell = new Listcell(expenseReport.getState());
+ item.appendChild(stateCell);
+
+ Listcell personCell = getPersonCell(expenseReport.getPerson());
+ item.appendChild(personCell);
+
+ Listcell paymentDateCell = getDateCell(expenseReport.getPayment());
+ item.appendChild(paymentDateCell);
+
+ Listcell priceCell = getPriceCell(expenseReport.getWikittyId());
+ item.appendChild(priceCell);
+
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ createWindowExpenseReportForm(expenseReport.getWikittyId());
+ }
+ });
+
+ item.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ expenseReportItemListboxMacro.setExpenseReportId(expenseReport.getWikittyId());
+ }
+ });
+ }
+ };
+ }
+
+
+ /*
+ * Events
+ */
+ public void onClick$newExpenseReport() throws SuspendNotAllowedException, InterruptedException {
+ createWindowExpenseReportForm(null);
+ }
+
+ public void onPaging$expenseReportPaging(ForwardEvent event) {
+ PagingEvent pagingEvent = (PagingEvent) event.getOrigin();
+ int activePage = pagingEvent.getActivePage();
+ expenseReportModel.setActivePage(activePage);
+ }
+
+ /*
+ * Getters
+ */
+ public ExpenseReportModel getExpenseReportModel() {
+ return expenseReportModel;
+ }
+
+ /*
+ * Setters
+ */
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportFormController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportFormController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,90 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.Date;
+import java.util.List;
+
+import org.chorem.data.bonzoms.ExpenseReport;
+import org.chorem.data.bonzoms.ExpenseReportImpl;
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.Executions;
+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.Listbox;
+import org.zkoss.zul.Listitem;
+import org.zkoss.zul.Window;
+
+public class ExpenseReportFormController extends GenericForwardComposer {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ExpenseReport expenseReport = new ExpenseReportImpl();
+
+ protected PersonBandboxMacro personBandboxMacro;
+ protected Listbox stateListbox;
+
+ public static final String EVENT_ON_SAVE_EXPENSEREPORT = "onSaveExpenseReport";
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ Window win = (Window) self;
+ win.doModal();
+ win.setPosition("center");
+ String expenseReportId = Executions.getCurrent().getParameter("expenseReportId");
+ if (expenseReportId == null) {
+ expenseReportId = (String) arg.get("expenseReportId");
+ }
+ init(expenseReportId);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(String id) {
+ if (id != null) {
+ ExpenseReport tmp = proxy.restore(ExpenseReport.class, id);
+ if (tmp != null) {
+ expenseReport = tmp;
+ }
+ } else {
+ expenseReport.setDate(new Date());
+ }
+ personBandboxMacro.setPersonId(expenseReport.getPerson());
+ List<Listitem> items = stateListbox.getItems();
+ String state = expenseReport.getState();
+ if (state != null) {
+ for (Listitem item : items) {
+ String label = item.getLabel();
+ if (state.equals(label)) {
+ stateListbox.setSelectedItem(item);
+ }
+ }
+ }
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$saveExpenseReport() {
+ String id = personBandboxMacro.getPersonId();
+ expenseReport.setPerson(id);
+ expenseReport = proxy.store(expenseReport);
+ Events.postEvent(EVENT_ON_SAVE_EXPENSEREPORT, this.self, expenseReport.getWikittyId());
+ self.detach();
+ }
+
+ public void onSelect$stateListbox() {
+ Listitem item = stateListbox.getSelectedItem();
+ String state = item.getLabel();
+ expenseReport.setState(state);
+ }
+
+ /*
+ * Getters
+ */
+ public ExpenseReport getExpenseReport() {
+ return expenseReport;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemFormController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemFormController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,74 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.ExpenseReportItem;
+import org.chorem.data.bonzoms.ExpenseReportItemImpl;
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.Executions;
+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.Window;
+
+public class ExpenseReportItemFormController extends GenericForwardComposer {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ExpenseReportItem item = new ExpenseReportItemImpl();
+
+ protected CompanyBandboxMacro companyBandboxMacro;
+ protected ProjectBandboxMacro projectBandboxMacro;
+ protected CategoryBandboxMacro categoryBandboxMacro;
+
+ public static final String EVENT_ON_SAVE_EXPENSEREPORTITEM = "onSaveExpenseReportItem";
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ Window win = (Window) self;
+ win.doModal();
+ win.setPosition("center");
+ String id = Executions.getCurrent().getParameter("expenseReportItemId");
+ if (id == null) {
+ id = (String) arg.get("expenseReportItemId");
+ }
+ init(id);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(String id) {
+ if (id != null) {
+ ExpenseReportItem obj = proxy.restore(ExpenseReportItem.class, id);
+ if (obj != null) {
+ item = obj;
+ }
+ }
+ projectBandboxMacro.setProjectId(item.getProject());
+ companyBandboxMacro.setCompanyId(item.getCompany());
+ categoryBandboxMacro.setSubCategoryId(item.getSubCategory());
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$saveItem() {
+ String id = projectBandboxMacro.getProjectId();
+ item.setProject(id);
+ id = companyBandboxMacro.getCompanyId();
+ item.setCompany(id);
+ id = categoryBandboxMacro.getSubCategoryId();
+ item.setSubCategory(id);
+ item = proxy.store(item);
+ Events.postEvent(EVENT_ON_SAVE_EXPENSEREPORTITEM, this.self, item.getWikittyId());
+ self.detach();
+ }
+
+ /*
+ * Getter
+ */
+ public ExpenseReportItem getItem() {
+ return item;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemListboxMacro.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,198 @@
+package org.chorem.bonzoms.ui;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.chorem.data.bonzoms.ExpenseReportItem;
+import org.chorem.data.bonzoms.SubCategory;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.Executions;
+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.Button;
+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;
+
+public class ExpenseReportItemListboxMacro extends HtmlMacroComponent {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected String expenseReportId = null;
+ protected ExpenseReportItemModel itemsModel = new ExpenseReportItemModel();
+
+ public static final String EVENT_ON_ITEM_CHANGE = "onItemChange";
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initButton();
+ initListbox();
+ }
+
+ protected void initButton() {
+ Button button = (Button) getFellow("deleteItem");
+ button.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ if (itemsModel.getSize() > 1) {
+ Listbox itemListbox = (Listbox) getFellow("itemListbox");
+ Listitem item = itemListbox.getSelectedItem();
+ if (item != null) {
+ ExpenseReportItem expenseReportItem = (ExpenseReportItem) item.getValue();
+ if (expenseReportItem != null) {
+ itemsModel.removeData(expenseReportItem);
+ String id = expenseReportItem.getWikittyId();
+ proxy.delete(id);
+ itemListbox.setSelectedIndex(0);
+ }
+ }
+ }
+ }
+ });
+ Button newItem = (Button) getFellow("newItem");
+ newItem.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ if (expenseReportId != null) {
+ createExpenseReportItemFormWindow(expenseReportId);
+ }
+ }
+ });
+
+ }
+
+ protected void initListbox() {
+ initItemsModel();
+ Listbox listbox = (Listbox) getFellow("itemListbox");
+ listbox.setModel(itemsModel);
+ ListitemRenderer renderer = getExpenseReportItemRenderer();
+ listbox.setItemRenderer(renderer);
+ }
+
+ protected void initItemsModel() {
+ if (expenseReportId != null) {
+ Criteria criteria = Search.query().eq(ExpenseReportItem.FQ_FIELD_EXPENSEREPORTITEM_EXPENSEREPORT, expenseReportId).criteria();
+ List<ExpenseReportItem> items = proxy.findAllByCriteria(ExpenseReportItem.class, criteria).getAll();
+ items = new ArrayList<ExpenseReportItem>(items);
+ itemsModel.setItems(items);
+ }
+ }
+
+ protected void sendItemEvent() {
+ Events.postEvent(EVENT_ON_ITEM_CHANGE, this, expenseReportId);
+ }
+
+ protected void createExpenseReportItemFormWindow(String id) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("expenseReportItemId", id);
+ }
+ Window win = (Window) Executions.createComponents("expenseReportItemFormPage.zul", null, map);
+ win.addEventListener(ExpenseReportItemFormController.EVENT_ON_SAVE_EXPENSEREPORTITEM, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ ExpenseReportItem item = proxy.restore(ExpenseReportItem.class, id);
+ if (item.getExpenseReport() == null || item.getExpenseReport().isEmpty()) {
+ item.setExpenseReport(expenseReportId);
+ item = proxy.store(item);
+ }
+ int rowIndex = itemsModel.indexOf(item);
+ if (rowIndex != -1) {
+ itemsModel.reloadContent(rowIndex, item);
+ } else {
+ itemsModel.addData(item);
+ }
+ sendItemEvent();
+ }
+ });
+ }
+
+ 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;
+ }
+
+ protected Listcell getSubCategoryCell(String id) {
+ Listcell cell = new Listcell();
+ if (id != null) {
+ SubCategory sub = proxy.restore(SubCategory.class, id);
+ if (sub != null) {
+ cell.setLabel(sub.getName());
+ }
+ }
+ return cell;
+ }
+
+ /*
+ * Renderers
+ */
+ protected ListitemRenderer getExpenseReportItemRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final ExpenseReportItem expenseReportitem = (ExpenseReportItem) data;
+
+ Listcell date = getDateCell(expenseReportitem.getDate());
+ item.appendChild(date);
+
+ Listcell justifyNumber = getJustifyNumberCell(expenseReportitem.getJustifyNumber());
+ item.appendChild(justifyNumber);
+
+ Listcell subCategory = getSubCategoryCell(expenseReportitem.getSubCategory());
+ item.appendChild(subCategory);
+
+ Listcell HT = new Listcell(String.valueOf(expenseReportitem.getHTAmount()));
+ item.appendChild(HT);
+
+ Listcell TVA = new Listcell(String.valueOf(expenseReportitem.getTVA()));
+ item.appendChild(TVA);
+
+ Listcell TTC = new Listcell(String.valueOf(expenseReportitem.getTTCAmount()));
+ item.appendChild(TTC);
+
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ createExpenseReportItemFormWindow(expenseReportitem.getWikittyId());
+ }
+ });
+ }
+ };
+ }
+
+ public void setExpenseReportId(String id) {
+ if (id != null) {
+ expenseReportId = id;
+ initListbox();
+ }
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportItemModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,68 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.Company;
+import org.chorem.data.bonzoms.ExpenseReportItem;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+public class ExpenseReportItemModel extends AbstractListModel implements BindingListModel {
+
+ List<ExpenseReportItem> items = new ArrayList<ExpenseReportItem>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return items.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return items.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((ExpenseReportItem) obj).getWikittyId();
+ for (ExpenseReportItem data : items) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = items.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public void setItems(List<ExpenseReportItem> items) {
+ this.items = items;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(ExpenseReportItem newData) {
+ items.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, items.size() - 1, items.size() - 1);
+ }
+
+ public void removeData(ExpenseReportItem data) {
+ int interval = items.indexOf(data);
+ items.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reloadContent(int rowIndex, ExpenseReportItem item) {
+ items.set(rowIndex, item);
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<ExpenseReportItem> getItems() {
+ return items;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportMacro.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,15 @@
+package org.chorem.bonzoms.ui;
+
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zk.ui.HtmlMacroComponent;
+
+public class ExpenseReportMacro 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/ExpenseReportModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExpenseReportModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -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.ExpenseReport;
+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 ExpenseReportModel extends AbstractListModel implements BindingListModel {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected Criteria criteria = null;
+ protected int activePage = 0;
+ protected int pageSize = 1;
+ protected List<ExpenseReport> expenseReports = new ArrayList<ExpenseReport>();
+
+ public ExpenseReportModel(int pageSize) {
+ this.pageSize = pageSize;
+ createList();
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ ExpenseReport expenseReport = expenseReports.get(index);
+ return expenseReport;
+ }
+
+ @Override
+ public int getSize() {
+ return expenseReports.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((ExpenseReport) obj).getWikittyId();
+ for (ExpenseReport data : expenseReports) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = expenseReports.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<ExpenseReport> result = proxy.findAllByCriteria(ExpenseReport.class, criteria);
+ return result.getNumFound();
+ }
+
+ public void addData(ExpenseReport newData) {
+ int listSize = expenseReports.size();
+ if (listSize < (pageSize)) {
+ expenseReports.add(newData);
+ }
+ int size = getSize();
+ fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1);
+ }
+
+ public void removeData(ExpenseReport data) {
+ int interval = expenseReports.indexOf(data);
+ if (interval != -1) {
+ expenseReports.remove(interval);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+ }
+
+ public void reloadContent(int rowIndex) {
+ ExpenseReport expenseReport = expenseReports.get(rowIndex);
+ expenseReport = proxy.restore(ExpenseReport.class, expenseReport.getWikittyId());
+ expenseReports.set(rowIndex, expenseReport);
+ 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<ExpenseReport> expenseReports = proxy.findAllByCriteria(ExpenseReport.class, criteria).getAll();
+ this.expenseReports = new ArrayList<ExpenseReport>(expenseReports);
+ }
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
+}
\ No newline at end of file
Deleted: 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 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,204 +0,0 @@
-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;
- protected ExportReportItemListboxMacro exportReportItemListboxMacro;
-
- @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());
- }
- });
-
- item.addEventListener(Events.ON_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- exportReportItemListboxMacro.setExportReportId(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
- */
-}
Deleted: 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 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,66 +0,0 @@
-package org.chorem.bonzoms.ui;
-
-import org.chorem.data.bonzoms.ExportReport;
-import org.chorem.data.bonzoms.ExportReportImpl;
-import org.nuiton.wikitty.WikittyProxy;
-import org.zkoss.zk.ui.Component;
-import org.zkoss.zk.ui.Executions;
-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.Window;
-
-public class ExportReportFormController extends GenericForwardComposer {
-
- protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected ExportReport exportReport = new ExportReportImpl();
-
- protected PersonBandboxMacro personBandboxMacro;
-
- 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 id) {
- if (id != null) {
- ExportReport tmp = proxy.restore(ExportReport.class, id);
- if (tmp != null) {
- exportReport = tmp;
- }
- }
- personBandboxMacro.setPersonId(exportReport.getPerson());
- }
-
- /*
- * Events
- */
- public void onClick$saveExportReport() {
- String id = personBandboxMacro.getPersonId();
- exportReport.setPerson(id);
- exportReport = proxy.store(exportReport);
- Events.postEvent(EVENT_ON_SAVE_EXPORTREPORT, this.self, exportReport.getWikittyId());
- self.detach();
- }
-
- /*
- * Getters
- */
- public ExportReport getExportReport() {
- return exportReport;
- }
-}
Deleted: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,70 +0,0 @@
-package org.chorem.bonzoms.ui;
-
-import org.chorem.data.bonzoms.ExportReportItem;
-import org.chorem.data.bonzoms.ExportReportItemImpl;
-import org.nuiton.wikitty.WikittyProxy;
-import org.zkoss.zk.ui.Component;
-import org.zkoss.zk.ui.Executions;
-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.Window;
-
-public class ExportReportItemFormController extends GenericForwardComposer {
-
- protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected ExportReportItem item = new ExportReportItemImpl();
-
- protected CompanyBandboxMacro companyBandboxMacro;
- protected ProjectBandboxMacro projectBandboxMacro;
-
- public static final String EVENT_ON_SAVE_EXPORTREPORTITEM = "onSaveExportReportItem";
-
- @Override
- public void doAfterCompose(Component comp) throws Exception {
- super.doAfterCompose(comp);
- Window win = (Window) self;
- win.doModal();
- win.setPosition("center");
- String id = Executions.getCurrent().getParameter("exportReportItemId");
- if (id == null) {
- id = (String) arg.get("exportReportItemId");
- }
- init(id);
- DataBinder binder = new AnnotateDataBinder(comp);
- binder.bindBean("composer", this);
- binder.loadAll();
- }
-
- protected void init(String id) {
- if (id != null) {
- ExportReportItem obj = proxy.restore(ExportReportItem.class, id);
- if (obj != null) {
- item = obj;
- }
- }
- projectBandboxMacro.setProjectId(item.getProject());
- companyBandboxMacro.setCompanyId(item.getCompany());
- }
-
- /*
- * Events
- */
- public void onClick$saveItem() {
- String id = projectBandboxMacro.getProjectId();
- item.setProject(id);
- id = companyBandboxMacro.getCompanyId();
- item.setCompany(id);
- item = proxy.store(item);
- Events.postEvent(EVENT_ON_SAVE_EXPORTREPORTITEM, this.self, item.getWikittyId());
- self.detach();
- }
-
- /*
- * Getter
- */
- public ExportReportItem getItem() {
- return item;
- }
-}
Deleted: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,176 +0,0 @@
-package org.chorem.bonzoms.ui;
-
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import org.chorem.data.bonzoms.ExportReportItem;
-import org.nuiton.wikitty.Criteria;
-import org.nuiton.wikitty.WikittyProxy;
-import org.nuiton.wikitty.search.Search;
-import org.zkoss.zk.ui.Executions;
-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.Button;
-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;
-
-public class ExportReportItemListboxMacro extends HtmlMacroComponent {
-
- protected WikittyProxy proxy = ChoremDataProxy.getInstance();
- protected String exportReportId = null;
- protected ExportReportItemModel itemsModel = new ExportReportItemModel();
-
- @Override
- public void afterCompose() {
- super.afterCompose();
- initButton();
- initListbox();
- }
-
- protected void initButton() {
- Button button = (Button) getFellow("deleteItem");
- button.addEventListener(Events.ON_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- if (itemsModel.getSize() > 1) {
- Listbox itemListbox = (Listbox) getFellow("itemListbox");
- Listitem item = itemListbox.getSelectedItem();
- if (item != null) {
- ExportReportItem exportReportItem = (ExportReportItem) item.getValue();
- if (exportReportItem != null) {
- itemsModel.removeData(exportReportItem);
- String id = exportReportItem.getWikittyId();
- proxy.delete(id);
- itemListbox.setSelectedIndex(0);
- }
- }
- }
- }
- });
- Button newItem = (Button) getFellow("newItem");
- newItem.addEventListener(Events.ON_CLICK, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- if (exportReportId != null) {
- createExportReportItemFormWindow(null);
- }
- }
- });
-
- }
-
- protected void initListbox() {
- initItemsModel();
- Listbox listbox = (Listbox) getFellow("itemListbox");
- listbox.setModel(itemsModel);
- ListitemRenderer renderer = getExportReportItemRenderer();
- listbox.setItemRenderer(renderer);
- }
-
- protected void initItemsModel() {
- if (exportReportId != null) {
- Criteria criteria = Search.query().eq(ExportReportItem.FQ_FIELD_EXPORTREPORTITEM_EXPORTREPORT, exportReportId).criteria();
- List<ExportReportItem> items = proxy.findAllByCriteria(ExportReportItem.class, criteria).getAll();
- items = new ArrayList<ExportReportItem>(items);
- itemsModel.setItems(items);
- }
- }
-
- protected void createExportReportItemFormWindow(String id) {
- Map<String, Object> map = new HashMap<String, Object>();
- if (id != null) {
- map.put("exportReportItemId", id);
- }
- Window win = (Window) Executions.createComponents("exportReportItemFormPage.zul", null, map);
- win.addEventListener(ExportReportItemFormController.EVENT_ON_SAVE_EXPORTREPORTITEM, new EventListener() {
-
- @Override
- public void onEvent(Event event) throws Exception {
- String id = (String) event.getData();
- ExportReportItem item = proxy.restore(ExportReportItem.class, id);
- if (item.getExportReport() == null || item.getExportReport().isEmpty()) {
- item.setExportReport(exportReportId);
- item = proxy.store(item);
- }
- int rowIndex = itemsModel.indexOf(item);
- if (rowIndex != -1) {
- itemsModel.reloadContent(rowIndex);
- } else {
- itemsModel.addData(item);
- }
- }
- });
- }
-
- 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
- */
- protected 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 {
- createExportReportItemFormWindow(exportReportitem.getWikittyId());
- }
- });
- }
- };
- }
-
- public void setExportReportId(String id) {
- if (id != null) {
- exportReportId = id;
- initListbox();
- }
- }
-}
Deleted: 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 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,67 +0,0 @@
-package org.chorem.bonzoms.ui;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.chorem.data.bonzoms.Employee;
-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) {
- int index = -1;
- String id = ((ExportReportItem) obj).getWikittyId();
- for (ExportReportItem data : items) {
- String dataId = data.getWikittyId();
- if (id.equals(dataId)) {
- index = items.indexOf(data);
- break;
- }
- }
- return index;
- }
-
- 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;
- }
-}
Deleted: 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 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportMacro.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,15 +0,0 @@
-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();
- }
-}
Deleted: 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 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,117 +0,0 @@
-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
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-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/PersonController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -70,7 +70,12 @@
}
protected void initPersonModel() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Person.EXT_PERSON).criteria();
+ String search = Executions.getCurrent().getParameter("search");
+ 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);
}
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-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ResultController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -32,6 +32,8 @@
import org.chorem.data.bonzoms.Company;
import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.EmploymentContract;
+import org.chorem.data.bonzoms.ExpenseReport;
+import org.chorem.data.bonzoms.ExpenseReportItem;
import org.chorem.data.bonzoms.Person;
import org.chorem.data.bonzoms.Service;
import org.nuiton.util.StringUtil;
@@ -93,6 +95,8 @@
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);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, ExpenseReport.EXT_EXPENSEREPORT);
+ searchOr = searchOr.eq(Element.ELT_EXTENSION, ExpenseReportItem.EXT_EXPENSEREPORTITEM);
if (str != null && !str.isEmpty()) {
Search searchAnd = search.and();
@@ -107,6 +111,19 @@
int totalSize = wikittyModel.getTotalSize();
wikittyPaging.setTotalSize(totalSize);
}
+
+ protected void modifyModelByEvent(Event event) {
+ 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 createEmploymentContractPage(String id) throws SuspendNotAllowedException, InterruptedException {
Map<String, Object> map = new HashMap<String, Object>();
@@ -118,16 +135,7 @@
@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);
+ modifyModelByEvent(event);
}
});
}
@@ -142,16 +150,7 @@
@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);
+ modifyModelByEvent(event);
}
});
}
@@ -166,16 +165,7 @@
@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);
+ modifyModelByEvent(event);
}
});
}
@@ -190,16 +180,7 @@
@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);
+ modifyModelByEvent(event);
}
});
}
@@ -214,16 +195,7 @@
@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);
+ modifyModelByEvent(event);
}
});
}
@@ -238,20 +210,41 @@
@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);
+ modifyModelByEvent(event);
}
});
}
+
+ protected void createExpenseReportPage(String id) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("expenseReportId", id);
+ }
+ Window win = (Window) Executions.createComponents("expenseReportFormPage.zul", null, map);
+ win.addEventListener(ExpenseReportFormController.EVENT_ON_SAVE_EXPENSEREPORT, new EventListener() {
+ @Override
+ public void onEvent(Event event) throws Exception {
+ modifyModelByEvent(event);
+ }
+ });
+ }
+
+ protected void createExpenseReportItemPage(String id) throws SuspendNotAllowedException, InterruptedException {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("expenseReportItemId", id);
+ }
+ Window win = (Window) Executions.createComponents("expenseReportItemFormPage.zul", null, map);
+ win.addEventListener(ExpenseReportItemFormController.EVENT_ON_SAVE_EXPENSEREPORTITEM, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ modifyModelByEvent(event);
+ }
+ });
+ }
+
protected void createPageByWikitty(Wikitty wikitty) throws SuspendNotAllowedException, InterruptedException {
Collection<String> extensions = wikitty.getExtensionNames();
if (extensions.contains(EmploymentContract.EXT_EMPLOYMENTCONTRACT)) {
@@ -266,6 +259,10 @@
createServicePage(wikitty.getId());
} else if (extensions.contains(Company.EXT_COMPANY)) {
createCompanyPage(wikitty.getId());
+ } else if (extensions.contains(ExpenseReport.EXT_EXPENSEREPORT)) {
+ createExpenseReportPage(wikitty.getId());
+ } else if (extensions.contains(ExpenseReportItem.EXT_EXPENSEREPORTITEM)) {
+ createExpenseReportItemPage(wikitty.getId());
}
}
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-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ServiceController.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -45,7 +45,12 @@
}
protected void initServiceModel() {
- Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Service.EXT_SERVICE).criteria();
+ String search = Executions.getCurrent().getParameter("search");
+ 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);
}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/SubCategoryModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/SubCategoryModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/SubCategoryModel.java 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,68 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.Invoice;
+import org.chorem.data.bonzoms.SubCategory;
+import org.zkoss.zkplus.databind.BindingListModel;
+import org.zkoss.zul.AbstractListModel;
+import org.zkoss.zul.event.ListDataEvent;
+
+public class SubCategoryModel extends AbstractListModel implements BindingListModel {
+
+ List<SubCategory> subCategories = new ArrayList<SubCategory>();
+
+ @Override
+ public Object getElementAt(int index) {
+ return subCategories.get(index);
+ }
+
+ @Override
+ public int getSize() {
+ return subCategories.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((SubCategory) obj).getWikittyId();
+ for (SubCategory data : subCategories) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = subCategories.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public void setSubCategories(List<SubCategory> subCategories) {
+ this.subCategories = subCategories;
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void addData(SubCategory newData) {
+ subCategories.add(newData);
+ fireEvent(ListDataEvent.INTERVAL_ADDED, subCategories.size() - 1, subCategories.size() - 1);
+ }
+
+ public void removeData(SubCategory data) {
+ int interval = subCategories.indexOf(data);
+ subCategories.remove(data);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+
+ public void reloadContent(int rowIndex, SubCategory sub) {
+ subCategories.set(rowIndex, sub);
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, rowIndex, rowIndex);
+ }
+
+ public void reload() {
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public List<SubCategory> getSubCategories() {
+ return subCategories;
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml 2010-08-23 10:37:30 UTC (rev 134)
@@ -40,11 +40,18 @@
<macro-uri>macros/projectBandboxMacro.zul</macro-uri>
</component>
- <!-- exportReportItemListbox macro -->
+ <!-- expenseReportItemListbox macro -->
<component>
- <component-name>exportReportItemListboxMacro</component-name>
- <component-class>org.chorem.bonzoms.ui.ExportReportItemListboxMacro</component-class>
- <macro-uri>macros/exportReportItemListboxMacro.zul</macro-uri>
+ <component-name>expenseReportItemListboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.ExpenseReportItemListboxMacro</component-class>
+ <macro-uri>macros/expenseReportItemListboxMacro.zul</macro-uri>
</component>
+
+ <!-- categoryBandbox macro -->
+ <component>
+ <component-name>categoryBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.CategoryBandboxMacro</component-class>
+ <macro-uri>macros/categoryBandboxMacro.zul</macro-uri>
+ </component>
</language-addon>
Added: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/sun-web.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/sun-web.xml (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/sun-web.xml 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0 Servlet 2.5//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_5-0.dtd">
+<sun-web-app error-url="">
+ <context-root>/bonzoms-ui-zk-2.0-SNAPSHOT</context-root>
+ <class-loader delegate="true"/>
+ <jsp-config>
+ <property name="keepgenerated" value="true">
+ <description>Keep a copy of the generated servlet class' java code.</description>
+ </property>
+ </jsp-config>
+</sun-web-app>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/bonzoms.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -8,19 +8,19 @@
<caption label="Menu" />
<vbox>
<toolbarbutton id="companies" label="Companies" />
+ <toolbarbutton id="services" label="Services" />
+ <toolbarbutton id="persons" label="Persons" />
+ <toolbarbutton id="employees" label="Employees" />
<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" />
+ <toolbarbutton id="expenseReports" label="Expense reports" />
</vbox>
</groupbox>
<vbox id="content" >
<hbox>
- Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" />
+ Search: <textbox id="searchBox" /> <button label="Search" id="searchButton" /> <checkbox id="allCheckbox" label="all" />
</hbox>
<separator bar="true" />
- <include id="include" src="employeePage.zul" />
+ <include id="include" src="companyPage.zul" />
</vbox>
</hbox>
</window>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/expenseReportFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/expenseReportFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/expenseReportFormPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,29 @@
+<?page id="expenseReportForm" title="Expense 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.ExpenseReportFormController">
+ <caption label="Expense report"/>
+ <groupbox>
+ <caption label="Expense report" />
+ <vbox>
+ State
+ <listbox id="stateListbox" mold="select">
+ <listitem label="Writing" />
+ <listitem label="Waiting for payment" />
+ <listitem label="Waiting for validation" />
+ <listitem label="Payed" />
+ </listbox>
+
+ Payment date
+ <datebox value="@{composer.expenseReport.payment, save-when='saveExpenseReport.onClick'}" />
+
+ Number
+ <textbox value="@{composer.expenseReport.number, save-when='saveExpenseReport.onClick'}" />
+
+ <personBandboxMacro id="personBandboxMacro" />
+
+ </vbox>
+
+ </groupbox>
+ <button id="saveExpenseReport" label="Save" />
+</window>
Added: trunk/bonzoms-ui-zk/src/main/webapp/expenseReportItemFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/expenseReportItemFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/expenseReportItemFormPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,39 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<window closable="true" maximizable="true" sizable="true" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ExpenseReportItemFormController">
+ <caption label="Item"/>
+ <groupbox>
+ <caption label="Item" />
+ <vbox>
+
+ Date
+ <datebox id="expenseReportDate" value="@{composer.item.date, save-when='saveItem.onClick'}" />
+
+ Justify number
+ <textbox id="expenseReportJustifyNumber" value="@{composer.item.justifyNumber, save-when='saveItem.onClick'}" />
+
+ HT amount
+ <doublebox id="expenseReportHTAmount" value="@{composer.item.hTAmount, save-when='saveItem.onClick'}" />
+
+ TVA
+ <doublebox id="expenseReportTVA" value="@{composer.item.tVA, save-when='saveItem.onClick'}" />
+
+ TTC amount
+ <doublebox id="expenseReportTTCAmount" value="@{composer.item.tTCAmount, save-when='saveItem.onClick'}" />
+
+
+ <companyBandboxMacro id="companyBandboxMacro" />
+
+ <projectBandboxMacro id="projectBandboxMacro" />
+
+ <categoryBandboxMacro id="categoryBandboxMacro" />
+
+ Description
+ <textbox id="expenseReportDescription" value="@{composer.item.description, save-when='saveItem.onClick'}" rows="5" />
+
+ <space />
+
+ <separator />
+ <button id="saveItem" label="Save" />
+ </vbox>
+ </groupbox>
+</window>
Added: trunk/bonzoms-ui-zk/src/main/webapp/expenseReportPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/expenseReportPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/expenseReportPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,26 @@
+<?page id="expenseReport" title="Expense 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="./expenseReport"?>
+
+<window id="expenseReport" apply="org.chorem.bonzoms.ui.ExpenseReportController">
+ Expense report: <toolbarbutton id="newExpenseReport" label="Add new expense report" />
+ <hbox>
+ <vbox>
+ <listbox id="expenseReportListbox" rows="20" model="@{expenseReport$composer.expenseReportModel}"
+ itemRenderer="@{expenseReport$composer.expenseReportRenderer}">
+ <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="expenseReportPaging" />
+ </vbox>
+
+ <expenseReportItemListboxMacro id="expenseReportItemListboxMacro" />
+ </hbox>
+
+</window>
\ No newline at end of file
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,34 +0,0 @@
-<?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"/>
- <groupbox>
- <caption label="Export report" />
- <vbox>
-
- State
- <listbox id="stateListbox" mold="select">
- <listitem label="Writing" />
- <listitem label="Waiting for payment" />
- <listitem label="Waiting for validation" />
- <listitem label="Payed" />
- </listbox>
-
- <space />
-
- Payment date
- <datebox value="@{composer.exportReport.payment, save-when='saveExportReport.onClick'}" />
-
- <space />
-
- Number
- <textbox value="@{composer.exportReport.number, save-when='saveExportReport.onClick'}" />
-
- <personBandboxMacro id="personBandboxMacro" />
-
- </vbox>
-
- </groupbox>
- <button id="saveExportReport" label="Save" />
-</window>
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,33 +0,0 @@
-<?page title="new page title" contentType="text/html;charset=UTF-8"?>
-<window closable="true" maximizable="true" sizable="true" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ExportReportItemFormController">
- <caption label="Item"/>
- <groupbox>
- <caption label="Item" />
- <vbox>
-
- Date
- <datebox id="exportReportDate" value="@{composer.item.date, save-when='saveItem.onClick'}" />
-
- Justify number
- <textbox id="exportReportJustifyNumber" value="@{composer.item.justifyNumber, save-when='saveItem.onClick'}" />
-
- HT amount
- <doublebox id="exportReportHTAmount" value="@{composer.item.hTAmount, save-when='saveItem.onClick'}" />
-
- TVA
- <doublebox id="exportReportTVA" value="@{composer.item.tVA, save-when='saveItem.onClick'}" />
-
- TTC amount
- <doublebox id="exportReportTTCAmount" value="@{composer.item.tTCAmount, save-when='saveItem.onClick'}" />
-
- <companyBandboxMacro id="companyBandboxMacro" />
-
- <projectBandboxMacro id="projectBandboxMacro" />
-
- <space />
-
- <separator />
- <button id="saveItem" label="Save" />
- </vbox>
- </groupbox>
-</window>
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,26 +0,0 @@
-<?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" />
- <hbox>
- <vbox>
- <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" />
- </vbox>
-
- <exportReportItemListboxMacro id="exportReportItemListboxMacro" />
- </hbox>
-
-</window>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/categoryBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/categoryBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/categoryBandboxMacro.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,13 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Sub category:
+ <bandbox id="categoryBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <grid id="categoryGrid" width="200px">
+ </grid>
+ <paging id="categoryPaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/expenseReportItemListboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/expenseReportItemListboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/expenseReportItemListboxMacro.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -0,0 +1,19 @@
+<?page title="Expense report item" contentType="text/html;charset=UTF-8"?>
+<zk>
+ <vbox>
+ <listbox id="itemListbox" autopaging="true" mold="paging" rows="20">
+ <listhead>
+ <listheader label="Date" />
+ <listheader label="Justify number" />
+ <listheader label="Sub category" />
+ <listheader label="HT amount" />
+ <listheader label="TVA" />
+ <listheader label="TTC amount" />
+ </listhead>
+ </listbox>
+ <hbox>
+ <button id="newItem" label="Add new item" />
+ <button id="deleteItem" label="Delete item" />
+ </hbox>
+ </vbox>
+</zk>
\ No newline at end of file
Deleted: trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,18 +0,0 @@
-<?page title="Export report item" contentType="text/html;charset=UTF-8"?>
-<zk>
- <vbox>
- <listbox id="itemListbox" autopaging="true" mold="paging" rows="20">
- <listhead>
- <listheader label="Date" />
- <listheader label="Justify number" />
- <listheader label="HT amount" />
- <listheader label="TVA" />
- <listheader label="TTC amount" />
- </listhead>
- </listbox>
- <hbox>
- <button id="newItem" label="Add new item" />
- <button id="deleteItem" label="Delete item" />
- </hbox>
- </vbox>
-</zk>
\ No newline at end of file
Modified: trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul 2010-08-19 16:58:08 UTC (rev 133)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/personBandboxMacro.zul 2010-08-23 10:37:30 UTC (rev 134)
@@ -1,17 +1,19 @@
<?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>
+ <vbox>
+ 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>
+ </vbox>
</zk>
\ No newline at end of file
1
0
r133 - in trunk/bonzoms-ui-zk/src/main: java/org/chorem/bonzoms/ui webapp webapp/WEB-INF webapp/macros
by bbrossaud@users.chorem.org 19 Aug '10
by bbrossaud@users.chorem.org 19 Aug '10
19 Aug '10
Author: bbrossaud
Date: 2010-08-19 18:58:08 +0200 (Thu, 19 Aug 2010)
New Revision: 133
Url: http://chorem.org/repositories/revision/bonzoms/133
Log:
addition macro
Added:
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectBandboxMacro.java
trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectModel.java
trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul
trunk/bonzoms-ui-zk/src/main/webapp/macros/projectBandboxMacro.zul
Modified:
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/webapp/WEB-INF/lang-addon.xml
trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul
trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
Modified: 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 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportController.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -36,6 +36,7 @@
protected ExportReportModel exportReportModel = new ExportReportModel(pageSize);
protected Paging exportReportPaging;
+ protected ExportReportItemListboxMacro exportReportItemListboxMacro;
@Override
public void doAfterCompose(Component comp) throws Exception {
@@ -164,6 +165,14 @@
createWindowExportReportForm(exportReport.getWikittyId());
}
});
+
+ item.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ exportReportItemListboxMacro.setExportReportId(exportReport.getWikittyId());
+ }
+ });
}
};
}
Modified: 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 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportFormController.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -1,45 +1,23 @@
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 PersonBandboxMacro personBandboxMacro;
- protected Listbox itemListbox;
-
public static final String EVENT_ON_SAVE_EXPORTREPORT = "onSaveExportReport";
@Override
@@ -58,177 +36,31 @@
binder.loadAll();
}
- protected void init(String exportReportId) {
- if (exportReportId == null) {
- initDefaultExportReport();
- } else {
- initExportReport(exportReportId);
+ protected void init(String id) {
+ if (id != null) {
+ ExportReport tmp = proxy.restore(ExportReport.class, id);
+ if (tmp != null) {
+ exportReport = tmp;
+ }
}
+ personBandboxMacro.setPersonId(exportReport.getPerson());
}
- 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() {
+ String id = personBandboxMacro.getPersonId();
+ exportReport.setPerson(id);
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/ExportReportItemFormController.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemFormController.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,70 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.ExportReportItem;
+import org.chorem.data.bonzoms.ExportReportItemImpl;
+import org.nuiton.wikitty.WikittyProxy;
+import org.zkoss.zk.ui.Component;
+import org.zkoss.zk.ui.Executions;
+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.Window;
+
+public class ExportReportItemFormController extends GenericForwardComposer {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ExportReportItem item = new ExportReportItemImpl();
+
+ protected CompanyBandboxMacro companyBandboxMacro;
+ protected ProjectBandboxMacro projectBandboxMacro;
+
+ public static final String EVENT_ON_SAVE_EXPORTREPORTITEM = "onSaveExportReportItem";
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ Window win = (Window) self;
+ win.doModal();
+ win.setPosition("center");
+ String id = Executions.getCurrent().getParameter("exportReportItemId");
+ if (id == null) {
+ id = (String) arg.get("exportReportItemId");
+ }
+ init(id);
+ DataBinder binder = new AnnotateDataBinder(comp);
+ binder.bindBean("composer", this);
+ binder.loadAll();
+ }
+
+ protected void init(String id) {
+ if (id != null) {
+ ExportReportItem obj = proxy.restore(ExportReportItem.class, id);
+ if (obj != null) {
+ item = obj;
+ }
+ }
+ projectBandboxMacro.setProjectId(item.getProject());
+ companyBandboxMacro.setCompanyId(item.getCompany());
+ }
+
+ /*
+ * Events
+ */
+ public void onClick$saveItem() {
+ String id = projectBandboxMacro.getProjectId();
+ item.setProject(id);
+ id = companyBandboxMacro.getCompanyId();
+ item.setCompany(id);
+ item = proxy.store(item);
+ Events.postEvent(EVENT_ON_SAVE_EXPORTREPORTITEM, this.self, item.getWikittyId());
+ self.detach();
+ }
+
+ /*
+ * Getter
+ */
+ public ExportReportItem getItem() {
+ return item;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemListboxMacro.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,176 @@
+package org.chorem.bonzoms.ui;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.chorem.data.bonzoms.ExportReportItem;
+import org.nuiton.wikitty.Criteria;
+import org.nuiton.wikitty.WikittyProxy;
+import org.nuiton.wikitty.search.Search;
+import org.zkoss.zk.ui.Executions;
+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.Button;
+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;
+
+public class ExportReportItemListboxMacro extends HtmlMacroComponent {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected String exportReportId = null;
+ protected ExportReportItemModel itemsModel = new ExportReportItemModel();
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initButton();
+ initListbox();
+ }
+
+ protected void initButton() {
+ Button button = (Button) getFellow("deleteItem");
+ button.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ if (itemsModel.getSize() > 1) {
+ Listbox itemListbox = (Listbox) getFellow("itemListbox");
+ Listitem item = itemListbox.getSelectedItem();
+ if (item != null) {
+ ExportReportItem exportReportItem = (ExportReportItem) item.getValue();
+ if (exportReportItem != null) {
+ itemsModel.removeData(exportReportItem);
+ String id = exportReportItem.getWikittyId();
+ proxy.delete(id);
+ itemListbox.setSelectedIndex(0);
+ }
+ }
+ }
+ }
+ });
+ Button newItem = (Button) getFellow("newItem");
+ newItem.addEventListener(Events.ON_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ if (exportReportId != null) {
+ createExportReportItemFormWindow(null);
+ }
+ }
+ });
+
+ }
+
+ protected void initListbox() {
+ initItemsModel();
+ Listbox listbox = (Listbox) getFellow("itemListbox");
+ listbox.setModel(itemsModel);
+ ListitemRenderer renderer = getExportReportItemRenderer();
+ listbox.setItemRenderer(renderer);
+ }
+
+ protected void initItemsModel() {
+ if (exportReportId != null) {
+ Criteria criteria = Search.query().eq(ExportReportItem.FQ_FIELD_EXPORTREPORTITEM_EXPORTREPORT, exportReportId).criteria();
+ List<ExportReportItem> items = proxy.findAllByCriteria(ExportReportItem.class, criteria).getAll();
+ items = new ArrayList<ExportReportItem>(items);
+ itemsModel.setItems(items);
+ }
+ }
+
+ protected void createExportReportItemFormWindow(String id) {
+ Map<String, Object> map = new HashMap<String, Object>();
+ if (id != null) {
+ map.put("exportReportItemId", id);
+ }
+ Window win = (Window) Executions.createComponents("exportReportItemFormPage.zul", null, map);
+ win.addEventListener(ExportReportItemFormController.EVENT_ON_SAVE_EXPORTREPORTITEM, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String id = (String) event.getData();
+ ExportReportItem item = proxy.restore(ExportReportItem.class, id);
+ if (item.getExportReport() == null || item.getExportReport().isEmpty()) {
+ item.setExportReport(exportReportId);
+ item = proxy.store(item);
+ }
+ int rowIndex = itemsModel.indexOf(item);
+ if (rowIndex != -1) {
+ itemsModel.reloadContent(rowIndex);
+ } else {
+ itemsModel.addData(item);
+ }
+ }
+ });
+ }
+
+ 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
+ */
+ protected 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 {
+ createExportReportItemFormWindow(exportReportitem.getWikittyId());
+ }
+ });
+ }
+ };
+ }
+
+ public void setExportReportId(String id) {
+ if (id != null) {
+ exportReportId = id;
+ initListbox();
+ }
+ }
+}
Modified: 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 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ExportReportItemModel.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -3,6 +3,7 @@
import java.util.ArrayList;
import java.util.List;
+import org.chorem.data.bonzoms.Employee;
import org.chorem.data.bonzoms.ExportReportItem;
import org.zkoss.zkplus.databind.BindingListModel;
import org.zkoss.zul.AbstractListModel;
@@ -24,7 +25,16 @@
@Override
public int indexOf(Object obj) {
- return items.indexOf(obj);
+ int index = -1;
+ String id = ((ExportReportItem) obj).getWikittyId();
+ for (ExportReportItem data : items) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = items.indexOf(data);
+ break;
+ }
+ }
+ return index;
}
public void setItems(List<ExportReportItem> items) {
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectBandboxMacro.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectBandboxMacro.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectBandboxMacro.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,135 @@
+package org.chorem.bonzoms.ui;
+
+import org.chorem.data.bonzoms.Project;
+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 ProjectBandboxMacro extends HtmlMacroComponent {
+
+ private final int pageSize = 5;
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected ProjectModel projectModel = new ProjectModel(pageSize);
+ protected String projectId = null;
+
+ @Override
+ public void afterCompose() {
+ super.afterCompose();
+ initPaging();
+ initBandbox();
+ initListbox();
+ }
+
+ protected void initPaging() {
+ Criteria criteria = Search.query().eq(Element.ELT_EXTENSION, Project.EXT_PROJECT).criteria();
+ projectModel.setCriteria(criteria);
+
+ int totalSize = projectModel.getTotalSize();
+ Paging projectPaging = (Paging) getFellow("projectPaging");
+ projectPaging.setTotalSize(totalSize);
+ projectPaging.setPageSize(pageSize);
+ projectPaging.addEventListener("onPaging", new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ PagingEvent pagingEvent = (PagingEvent) event;
+ int activePage = pagingEvent.getActivePage();
+ projectModel.setActivePage(activePage);
+ }
+ });
+ }
+
+ protected void initBandbox() {
+ final Bandbox projectBandbox = (Bandbox) getFellow("projectBandbox");
+ projectBandbox.addEventListener(Events.ON_OK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ String search = projectBandbox.getValue();
+ Search query = Search.query().eq(Element.ELT_EXTENSION, Project.EXT_PROJECT);
+ if (search != null && !search.isEmpty()) {
+ query = query.keyword(search);
+ }
+ Criteria criteria = query.criteria();
+ projectModel.setCriteria(criteria);
+ int totalSize = projectModel.getTotalSize();
+ Paging projectPaging = (Paging) getFellow("projectPaging");
+ projectPaging.setTotalSize(totalSize);
+ projectPaging.setActivePage(0);
+ projectBandbox.open();
+ }
+ });
+ }
+
+ protected void initListbox() {
+ Listbox projectListbox = (Listbox) getFellow("projectListbox");
+ projectListbox.setModel(projectModel);
+ ListitemRenderer renderer = getProjectRenderer();
+ projectListbox.setItemRenderer(renderer);
+ }
+
+ /*
+ * Renderers
+ */
+ public ListitemRenderer getProjectRenderer() {
+ return new ListitemRenderer() {
+
+ @Override
+ public void render(Listitem item, Object data) throws Exception {
+ item.setValue(data);
+ final Project project = (Project) data;
+ final String name = project.getName();
+ Listcell cell = new Listcell(name);
+ item.appendChild(cell);
+ item.addEventListener(Events.ON_DOUBLE_CLICK, new EventListener() {
+
+ @Override
+ public void onEvent(Event event) throws Exception {
+ projectId = project.getWikittyId();
+ Bandbox projectBandbox = (Bandbox) getFellow("projectBandbox");
+ projectBandbox.setValue(name);
+ projectBandbox.close();
+ }
+ });
+ }
+ };
+ }
+
+ /*
+ * Setters
+ */
+ public void setProjectId(String id) {
+ projectId = id;
+ if (id != null) {
+ Project project = proxy.restore(Project.class, id);
+ if (project != null) {
+ Bandbox projectBandbox = (Bandbox) getFellow("projectBandbox");
+ String name = project.getName();
+ if (name != null) {
+ projectBandbox.setValue(name);
+ projectBandbox.close();
+ }
+ }
+ }
+ }
+
+ /*
+ * Getters
+ */
+ public String getProjectId() {
+ return projectId;
+ }
+}
Added: trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectModel.java
===================================================================
--- trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectModel.java (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/java/org/chorem/bonzoms/ui/ProjectModel.java 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,115 @@
+package org.chorem.bonzoms.ui;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.chorem.data.bonzoms.Project;
+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 ProjectModel extends AbstractListModel implements BindingListModel {
+
+ protected WikittyProxy proxy = ChoremDataProxy.getInstance();
+ protected Criteria criteria = null;
+ protected int activePage = 0;
+ protected int pageSize = 1;
+ protected List<Project> projects = new ArrayList<Project>();
+
+ public ProjectModel(int pageSize) {
+ this.pageSize = pageSize;
+ createList();
+ }
+
+ @Override
+ public Object getElementAt(int index) {
+ Project Project = projects.get(index);
+ return Project;
+ }
+
+ @Override
+ public int getSize() {
+ return projects.size();
+ }
+
+ @Override
+ public int indexOf(Object obj) {
+ int index = -1;
+ String id = ((Project) obj).getWikittyId();
+ for (Project data : projects) {
+ String dataId = data.getWikittyId();
+ if (id.equals(dataId)) {
+ index = projects.indexOf(data);
+ break;
+ }
+ }
+ return index;
+ }
+
+ public int getTotalSize() {
+ if (criteria == null) {
+ return 0;
+ }
+ Criteria criteria = this.criteria.setFirstIndex(0).setEndIndex(0);
+ PagedResult<Project> result = proxy.findAllByCriteria(Project.class, criteria);
+ return result.getNumFound();
+ }
+
+ public void addData(Project newData) {
+ int listSize = projects.size();
+ if (listSize < (pageSize)) {
+ projects.add(newData);
+ }
+ int size = getSize();
+ fireEvent(ListDataEvent.INTERVAL_ADDED, size - 1, size - 1);
+ }
+
+ public void removeData(Project data) {
+ int interval = projects.indexOf(data);
+ if (interval != -1) {
+ projects.remove(interval);
+ fireEvent(ListDataEvent.INTERVAL_REMOVED, interval, interval);
+ }
+ }
+
+ public void reloadContent(int rowIndex) {
+ Project project = projects.get(rowIndex);
+ project = proxy.restore(Project.class, project.getWikittyId());
+ 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<Project> projects = proxy.findAllByCriteria(Project.class, criteria).getAll();
+ this.projects = new ArrayList<Project>(projects);
+ }
+ fireEvent(ListDataEvent.CONTENTS_CHANGED, -1, -1);
+ }
+
+ public void setActivePage(int activePage) {
+ this.activePage = activePage;
+ createList();
+ }
+}
Modified: trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/webapp/WEB-INF/lang-addon.xml 2010-08-19 16:58:08 UTC (rev 133)
@@ -32,5 +32,19 @@
<component-class>org.chorem.bonzoms.ui.ServiceBandboxMacro</component-class>
<macro-uri>macros/serviceBandboxMacro.zul</macro-uri>
</component>
+
+ <!-- project macro -->
+ <component>
+ <component-name>projectBandboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.ProjectBandboxMacro</component-class>
+ <macro-uri>macros/projectBandboxMacro.zul</macro-uri>
+ </component>
+ <!-- exportReportItemListbox macro -->
+ <component>
+ <component-name>exportReportItemListboxMacro</component-name>
+ <component-class>org.chorem.bonzoms.ui.ExportReportItemListboxMacro</component-class>
+ <macro-uri>macros/exportReportItemListboxMacro.zul</macro-uri>
+ </component>
+
</language-addon>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportFormPage.zul 2010-08-19 16:58:08 UTC (rev 133)
@@ -3,93 +3,32 @@
<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>
- <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>
+ State
+ <listbox id="stateListbox" mold="select">
+ <listitem label="Writing" />
+ <listitem label="Waiting for payment" />
+ <listitem label="Waiting for validation" />
+ <listitem label="Payed" />
+ </listbox>
<space />
- <vbox>
- Payment date
- <datebox value="@{composer.exportReport.payment, save-when='saveExportReport.onClick'}" />
- </vbox>
+ Payment date
+ <datebox value="@{composer.exportReport.payment, save-when='saveExportReport.onClick'}" />
<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>
+ Number
+ <textbox value="@{composer.exportReport.number, save-when='saveExportReport.onClick'}" />
- <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>
+ <personBandboxMacro id="personBandboxMacro" />
+
</vbox>
+
</groupbox>
-
- </vbox>
<button id="saveExportReport" label="Save" />
</window>
Added: trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportItemFormPage.zul 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,33 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<window closable="true" maximizable="true" sizable="true" contentStyle="overflow:auto" apply="org.chorem.bonzoms.ui.ExportReportItemFormController">
+ <caption label="Item"/>
+ <groupbox>
+ <caption label="Item" />
+ <vbox>
+
+ Date
+ <datebox id="exportReportDate" value="@{composer.item.date, save-when='saveItem.onClick'}" />
+
+ Justify number
+ <textbox id="exportReportJustifyNumber" value="@{composer.item.justifyNumber, save-when='saveItem.onClick'}" />
+
+ HT amount
+ <doublebox id="exportReportHTAmount" value="@{composer.item.hTAmount, save-when='saveItem.onClick'}" />
+
+ TVA
+ <doublebox id="exportReportTVA" value="@{composer.item.tVA, save-when='saveItem.onClick'}" />
+
+ TTC amount
+ <doublebox id="exportReportTTCAmount" value="@{composer.item.tTCAmount, save-when='saveItem.onClick'}" />
+
+ <companyBandboxMacro id="companyBandboxMacro" />
+
+ <projectBandboxMacro id="projectBandboxMacro" />
+
+ <space />
+
+ <separator />
+ <button id="saveItem" label="Save" />
+ </vbox>
+ </groupbox>
+</window>
Modified: trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul 2010-08-18 15:17:57 UTC (rev 132)
+++ trunk/bonzoms-ui-zk/src/main/webapp/exportReportPage.zul 2010-08-19 16:58:08 UTC (rev 133)
@@ -2,19 +2,25 @@
<?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" />
+ <hbox>
+ <vbox>
+ <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" />
+ </vbox>
+
+ <exportReportItemListboxMacro id="exportReportItemListboxMacro" />
+ </hbox>
+
</window>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/exportReportItemListboxMacro.zul 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,18 @@
+<?page title="Export report item" contentType="text/html;charset=UTF-8"?>
+<zk>
+ <vbox>
+ <listbox id="itemListbox" autopaging="true" mold="paging" rows="20">
+ <listhead>
+ <listheader label="Date" />
+ <listheader label="Justify number" />
+ <listheader label="HT amount" />
+ <listheader label="TVA" />
+ <listheader label="TTC amount" />
+ </listhead>
+ </listbox>
+ <hbox>
+ <button id="newItem" label="Add new item" />
+ <button id="deleteItem" label="Delete item" />
+ </hbox>
+ </vbox>
+</zk>
\ No newline at end of file
Added: trunk/bonzoms-ui-zk/src/main/webapp/macros/projectBandboxMacro.zul
===================================================================
--- trunk/bonzoms-ui-zk/src/main/webapp/macros/projectBandboxMacro.zul (rev 0)
+++ trunk/bonzoms-ui-zk/src/main/webapp/macros/projectBandboxMacro.zul 2010-08-19 16:58:08 UTC (rev 133)
@@ -0,0 +1,16 @@
+<?page title="new page title" contentType="text/html;charset=UTF-8"?>
+<zk>
+ Project:
+ <bandbox id="projectBandbox" mold="rounded">
+ <bandpopup>
+ <vbox>
+ <listbox rows="5" id="projectListbox" width="200px">
+ <listhead>
+ <listheader label="Name" />
+ </listhead>
+ </listbox>
+ <paging id="projectPaging" width="200px"/>
+ </vbox>
+ </bandpopup>
+ </bandbox>
+</zk>
\ No newline at end of file
1
0
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