Bonzoms-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- 119 discussions
Author: tchemit
Date: 2010-10-26 17:05:24 +0200 (Tue, 26 Oct 2010)
New Revision: 142
Url: http://chorem.org/repositories/revision/bonzoms/142
Log:
add svn:ignore
Modified:
trunk/bonzoms-ui-zk/
Property changes on: trunk/bonzoms-ui-zk
___________________________________________________________________
Modified: svn:ignore
- target
.classpath
.settings
.project
+ target
.classpath
.settings
.project
*.ipr
*.iws
*.iml
1
0
Author: tchemit
Date: 2010-10-17 03:41:41 +0200 (Sun, 17 Oct 2010)
New Revision: 141
Url: http://chorem.org/repositories/revision/bonzoms/141
Log:
Update mavenpom4redmine to 2.3.2.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-08 23:52:14 UTC (rev 140)
+++ trunk/pom.xml 2010-10-17 01:41:41 UTC (rev 141)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.3.1</version>
+ <version>2.3.2</version>
</parent>
<groupId>org.chorem</groupId>
1
0
Author: tchemit
Date: 2010-10-09 01:52:14 +0200 (Sat, 09 Oct 2010)
New Revision: 140
Url: http://chorem.org/repositories/revision/bonzoms/140
Log:
Update mavenpom4redmine to 2.3.1.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-10-03 15:57:26 UTC (rev 139)
+++ trunk/pom.xml 2010-10-08 23:52:14 UTC (rev 140)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.3</version>
+ <version>2.3.1</version>
</parent>
<groupId>org.chorem</groupId>
1
0
Author: tchemit
Date: 2010-10-03 17:57:26 +0200 (Sun, 03 Oct 2010)
New Revision: 139
Url: http://chorem.org/repositories/revision/bonzoms/139
Log:
Update mavenpom4redmine to 2.3.
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-09-29 08:12:20 UTC (rev 138)
+++ trunk/pom.xml 2010-10-03 15:57:26 UTC (rev 139)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.6</version>
+ <version>2.3</version>
</parent>
<groupId>org.chorem</groupId>
1
0
Author: tchemit
Date: 2010-09-29 10:12:20 +0200 (Wed, 29 Sep 2010)
New Revision: 138
Url: http://chorem.org/repositories/revision/bonzoms/138
Log:
Utilisation de mavenpom4redmine 2.2.6
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-09-09 09:34:01 UTC (rev 137)
+++ trunk/pom.xml 2010-09-29 08:12:20 UTC (rev 138)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.5</version>
+ <version>2.2.6</version>
</parent>
<groupId>org.chorem</groupId>
1
0
Author: tchemit
Date: 2010-09-09 11:34:01 +0200 (Thu, 09 Sep 2010)
New Revision: 137
Url: http://chorem.org/repositories/revision/bonzoms/137
Log:
Utilisation de mavenpom4redmine 2.2.5
Modified:
trunk/pom.xml
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2010-08-29 14:22:27 UTC (rev 136)
+++ trunk/pom.xml 2010-09-09 09:34:01 UTC (rev 137)
@@ -9,7 +9,7 @@
<parent>
<groupId>org.nuiton</groupId>
<artifactId>mavenpom4redmine</artifactId>
- <version>2.2.4</version>
+ <version>2.2.5</version>
</parent>
<groupId>org.chorem</groupId>
1
0
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