Chorem-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
April 2011
- 3 participants
- 70 discussions
Author: vbriand
Date: 2011-04-29 17:40:45 +0200 (Fri, 29 Apr 2011)
New Revision: 118
Url: http://chorem.org/repositories/revision/chorem/118
Log:
Added some details about gepeto's model
Modified:
trunk/chorem-entities/src/site/rst/dataModel.rst
Modified: trunk/chorem-entities/src/site/rst/dataModel.rst
===================================================================
--- trunk/chorem-entities/src/site/rst/dataModel.rst 2011-04-29 14:02:10 UTC (rev 117)
+++ trunk/chorem-entities/src/site/rst/dataModel.rst 2011-04-29 15:40:45 UTC (rev 118)
@@ -28,6 +28,14 @@
- Project: Description d'un projet
- ContactDetails: Méthode de contact de n'importe quel type (site internet,
adresse email, adresse postale, etc.)
+
+Plusieurs contrats de travail peuvent être liés à un employé qui travaille dans
+une seule et même entreprise (Company). Si une personne (Person) travaille dans
+plusieurs entreprises différentes, chaque Employee (qui sera lié à chaque
+entreprise dans laquelle la personne travaille) aura un lien avec Person. Par
+exemple, si une personne travaille dans trois entreprises différentes, trois
+Employee pointeront vers une seule et même personne (Person), et chacun de ces
+Employee aura un lien vers Company.
Bonzoms
=======
1
0
r117 - in trunk/chorem-web/src/main: java/org/chorem/bonzoms/action resources webapp/WEB-INF/jsp/bonzoms
by vbriand@users.chorem.org 29 Apr '11
by vbriand@users.chorem.org 29 Apr '11
29 Apr '11
Author: vbriand
Date: 2011-04-29 16:02:10 +0200 (Fri, 29 Apr 2011)
New Revision: 117
Url: http://chorem.org/repositories/revision/chorem/117
Log:
Added the possibility to add and update the employment contracts of a person
Modified:
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
trunk/chorem-web/src/main/resources/struts.xml
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java 2011-04-29 14:02:10 UTC (rev 117)
@@ -48,6 +48,9 @@
employee.setDiploma(diploma);
try {
employee.setPaidLeave(Float.parseFloat(paidLeave));
+ if (employee.getPaidLeave() < 0) {
+ throw new NumberFormatException();
+ }
} catch (NumberFormatException e) {
result = INPUT;
addActionError(
@@ -55,6 +58,9 @@
}
try {
employee.setRtt(Float.parseFloat(rtt));
+ if (employee.getRtt() < 0) {
+ throw new NumberFormatException();
+ }
} catch (NumberFormatException e) {
result = INPUT;
addActionError(
@@ -67,8 +73,26 @@
employee.setPerson(personId);
employee.setDiploma(diploma);
- employee.setPaidLeave(Float.parseFloat(paidLeave));
- employee.setRtt(Float.parseFloat(rtt));
+ try {
+ employee.setPaidLeave(Float.parseFloat(paidLeave));
+ if (employee.getPaidLeave() < 0) {
+ throw new NumberFormatException();
+ }
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employee.paidLeave.wrongFormat")));
+ }
+ try {
+ employee.setRtt(Float.parseFloat(rtt));
+ if (employee.getRtt() < 0) {
+ throw new NumberFormatException();
+ }
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employee.rtt.wrongFormat")));
+ }
proxy.store(employee);
} else {
result = ERROR;
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java 2011-04-29 14:02:10 UTC (rev 117)
@@ -111,6 +111,7 @@
protected String beginDate;
protected String endDate;
protected String personId;
+ protected String employeeId;
protected String employmentContractId;
/**
@@ -144,6 +145,26 @@
}
/**
+ * Retrieves the employment contract linked with the id
+ *
+ * @return the employment contract
+ */
+ public EmploymentContractFull getEmploymentContract() {
+ EmployeeFull employee;
+ ChoremProxy proxy = getChoremProxy();
+ EmploymentContract employmentContract;
+ EmploymentContractFull employmentContractFull = new EmploymentContractFull();
+
+ employmentContract = proxy.restore(EmploymentContract.class,
+ employmentContractId);
+ employmentContractFull.setEmploymentContract(employmentContract);
+ employee = EmployeeFull.initEmployee(employmentContract.getEmployee(),
+ proxy);
+ employmentContractFull.setEmployee(employee);
+ return employmentContractFull;
+ }
+
+ /**
* Stores the new employment contract through the proxy
*
* @return true if the employment contract has been stored properly,
@@ -151,7 +172,7 @@
*/
protected boolean addEmploymentContract() {
boolean result = true;
-
+
try {
ChoremProxy proxy = getChoremProxy();
EmploymentContractImpl newEmploymentContract = new EmploymentContractImpl();
@@ -191,7 +212,8 @@
newEmploymentContract.setSalary(Float.parseFloat(salary));
newEmploymentContract.setType(type);
newEmploymentContract.setWorkingTime(Integer.parseInt(workingTime));
-
+ newEmploymentContract.setEmployee(employeeId);
+
//If everything went smoothly
if (result) {
proxy.store(newEmploymentContract);
@@ -315,4 +337,18 @@
public void setEmploymentContractId(String employmentContractId) {
this.employmentContractId = employmentContractId;
}
+
+ /**
+ * @return the employeeId
+ */
+ public String getEmployeeId() {
+ return employeeId;
+ }
+
+ /**
+ * @param employeeId the employeeId to set
+ */
+ public void setEmployeeId(String employeeId) {
+ this.employeeId = employeeId;
+ }
}
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-29 14:02:10 UTC (rev 117)
@@ -203,6 +203,8 @@
if (result) {
result = storeEmployee(newPerson, result, proxy);
if (result) {
+ //Useful to redirect the user directly to the person's page
+ setPersonId(newPerson.getWikittyId());
proxy.store(newPerson);
}
}
Modified: trunk/chorem-web/src/main/resources/struts.xml
===================================================================
--- trunk/chorem-web/src/main/resources/struts.xml 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/resources/struts.xml 2011-04-29 14:02:10 UTC (rev 117)
@@ -44,7 +44,11 @@
<action name="addPerson" class="org.chorem.bonzoms.action.PersonAction" method="add">
<result name="input">/WEB-INF/jsp/bonzoms/addPerson.jsp</result>
<result name="error">/WEB-INF/jsp/bonzoms/addPerson.jsp</result>
- <result type="redirectAction">home</result>
+ <result type="redirectAction">
+ <param name="actionName">personDetails</param>
+ <param name="namespace">/bonzoms</param>
+ <param name="personId">${personId}</param>
+ </result>
</action>
<action name="personDetails" class="org.chorem.bonzoms.action.PersonAction" method="personDetails">
<result name="error" type="redirectAction">home</result>
@@ -69,13 +73,17 @@
<result name="error">/WEB-INF/jsp/bonzoms/addContactDetails.jsp</result>
<result type="redirectAction">home</result>
</action>
- <action name="addEmploymentContractInput">
+ <action name="addEmploymentContractInput" class="org.chorem.bonzoms.action.EmploymentContractAction">
<result>/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp</result>
</action>
<action name="addEmploymentContract" class="org.chorem.bonzoms.action.EmploymentContractAction" method="add">
<result name="input">/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp</result>
<result name="error">/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp</result>
- <result type="redirectAction">home</result>
+ <result type="redirectAction">
+ <param name="actionName">personDetails</param>
+ <param name="namespace">/bonzoms</param>
+ <param name="personId">${personId}</param>
+ </result>
</action>
<action name="modifyEmploymentContract" class="org.chorem.bonzoms.action.EmploymentContractAction" method="modify">
<result name="input">/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp</result>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp 2011-04-29 14:02:10 UTC (rev 117)
@@ -1,4 +1,5 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@page import="org.chorem.bonzoms.action.EmploymentContractAction" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -10,7 +11,11 @@
<body>
<h2><s:text name="chorem.bonzoms.employmentContract.add" /></h2>
<s:actionerror />
- <s:form action="addEmploymentContract" method="post">
+ <s:url action="addEmploymentContract" var="addEmploymentContract">
+ <s:param name="personId"><%= EmploymentContractAction.getAction().getPersonId() %></s:param>
+ <s:param name="employeeId"><%= EmploymentContractAction.getAction().getEmployeeId() %></s:param>
+ </s:url>
+ <form action="${addEmploymentContract}" method="post">
<fieldset>
<legend><s:text name="chorem.bonzoms.employmentContract" /></legend>
<s:textfield key="chorem.bonzoms.employmentContract.type" name="type" labelSeparator=": " />
@@ -29,6 +34,6 @@
<br />
<s:submit key="chorem.bonzoms.person.add" name="submit" />
</fieldset>
- </s:form>
+ </form>
</body>
</html>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-29 14:02:10 UTC (rev 117)
@@ -82,31 +82,40 @@
</s:url>
<form action="${modifyEmploymentContract}" method="post">
<p>
- <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
- <br />
- <label for="type"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
- <input type="text" name="type" id="type" value="<%= employmentContract.getType() %>" />
+ <% if (employmentContractFull.getEmployee().getCompany() != null) { %>
+ <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
+ <br />
+ <% } %>
+ <label for="type<%= employmentContract.getWikittyId() %>"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
+ <input type="text" name="type" id="type<%= employmentContract.getWikittyId() %>" value="<%= employmentContract.getType() %>" />
<br />
<br />
- <label for="description"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
+ <label for="description<%= employmentContract.getWikittyId() %>"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
<br />
- <textarea name="description" id="description"><%= employmentContract.getDescription() %></textarea>
+ <textarea name="description" id="description<%= employmentContract.getWikittyId() %>"><%= employmentContract.getDescription() %></textarea>
<br />
- <label for="salary"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
- <input type="text" name="salary" id="salary" value="<%= employmentContract.getSalary() %>" size="6" />
+ <label for="salary<%= employmentContract.getWikittyId() %>"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
+ <input type="text" name="salary" id="salary<%= employmentContract.getWikittyId() %>" value="<%= employmentContract.getSalary() %>" size="6" />
<br />
- <label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
- <input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
+ <label for="workingTime<%= employmentContract.getWikittyId() %>"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
+ <input type="text" name="workingTime" id="workingTime<%= employmentContract.getWikittyId() %>" value="<%= employmentContract.getWorkingTime() %>" size="2" />
<br />
<s:submit key="chorem.misc.modify" name="modify" />
+ <br />
+ <br />
</p>
</form>
- <% } %>
+ <%
+ }
+ if (employee != null) {
+ %>
<p>
<s:url action="addEmploymentContractInput" var="addEmploymentContract">
<s:param name="personId"><%= person.getPersonId() %></s:param>
+ <s:param name="employeeId"><%= employee.getWikittyId() %></s:param>
</s:url>
<a href="${addEmploymentContract}"><s:text name="chorem.bonzoms.employmentContract.add" /></a>
</p>
+ <% } %>
</body>
</html>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp 2011-04-29 10:18:43 UTC (rev 116)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp 2011-04-29 14:02:10 UTC (rev 117)
@@ -17,39 +17,38 @@
<s:text name="chorem.bonzoms.person.employmentContracts" />
<br />
<%
- List<EmploymentContractFull> employmentContractsFull = EmploymentContractAction.getAction().getEmploymentContracts();
+ EmploymentContractFull employmentContractFull = EmploymentContractAction.getAction().getEmploymentContract();
EmploymentContract employmentContract;
- for (EmploymentContractFull employmentContractFull : employmentContractsFull) {
- %>
- <% employmentContract = employmentContractFull.getEmploymentContract(); %>
- <s:url action="modifyEmploymentContract" var="modifyEmploymentContract">
- <s:param name="employmentContractId"><%= employmentContract.getWikittyId() %></s:param>
- <s:param name="personId"><%= employmentContractFull.getEmployee().getPerson().getWikittyId() %></s:param>
- </s:url>
- <s:actionerror />
- <form action="${modifyEmploymentContract}" method="post">
- <p>
- <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
- <br />
- <label for="type"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
- <input type="text" name="type" id="type" value="<%= employmentContract.getType() %>" />
- <br />
- <br />
- <label for="description"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
- <br />
- <textarea name="description" id="description"><%= employmentContract.getDescription() %></textarea>
- <br />
- <label for="salary"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
- <input type="text" name="salary" id="salary" value="<%= employmentContract.getSalary() %>" size="6" />
- <br />
- <label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
- <input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
- <br />
- <s:submit key="chorem.misc.modify" name="modify" />
- </p>
- </form>
- <% } %>
+ employmentContract = employmentContractFull.getEmploymentContract(); %>
+ <s:url action="modifyEmploymentContract" var="modifyEmploymentContract">
+ <s:param name="employmentContractId"><%= employmentContract.getWikittyId() %></s:param>
+ <s:param name="personId"><%= employmentContractFull.getEmployee().getPerson().getWikittyId() %></s:param>
+ </s:url>
+ <s:actionerror />
+ <form action="${modifyEmploymentContract}" method="post">
+ <p>
+ <% if (employmentContractFull.getEmployee().getCompany() != null) { %>
+ <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
+ <br />
+ <% } %>
+ <label for="type"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
+ <input type="text" name="type" id="type" value="<%= employmentContract.getType() %>" />
+ <br />
+ <br />
+ <label for="description"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
+ <br />
+ <textarea name="description" id="description"><%= employmentContract.getDescription() %></textarea>
+ <br />
+ <label for="salary"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
+ <input type="text" name="salary" id="salary" value="<%= employmentContract.getSalary() %>" size="6" />
+ <br />
+ <label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
+ <input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
+ <br />
+ <s:submit key="chorem.misc.modify" name="modify" />
+ </p>
+ </form>
</p>
</body>
</html>
1
0
r116 - in trunk/chorem-web/src/main: java/org/chorem/bonzoms/action resources webapp/WEB-INF/jsp/bonzoms
by vbriand@users.chorem.org 29 Apr '11
by vbriand@users.chorem.org 29 Apr '11
29 Apr '11
Author: vbriand
Date: 2011-04-29 12:18:43 +0200 (Fri, 29 Apr 2011)
New Revision: 116
Url: http://chorem.org/repositories/revision/chorem/116
Log:
Added the possibility to add / modify the employee details of a person
Added:
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp
Modified:
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
trunk/chorem-web/src/main/resources/struts.xml
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
Added: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java (rev 0)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java 2011-04-29 10:18:43 UTC (rev 116)
@@ -0,0 +1,169 @@
+package org.chorem.bonzoms.action;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.chorem.ChoremProxy;
+import org.chorem.action.BaseAction;
+import org.chorem.entities.Employee;
+import org.chorem.entities.EmployeeImpl;
+import org.chorem.entities.Person;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.Search;
+
+import com.opensymphony.xwork2.ActionContext;
+
+import static org.nuiton.i18n.I18n.n_;
+
+/**
+ * Employee management class
+ *
+ * @author vbriand
+ */
+public class EmployeeAction extends BaseAction {
+
+ private static final long serialVersionUID = -5757750975509965421L;
+
+ private static final Log log = LogFactory.getLog(PersonAction.class);
+
+ static public EmployeeAction getAction() {
+ return (EmployeeAction)ActionContext.getContext().get(CONTEXT_ACTION_KEY);
+ }
+
+ /**
+ * Modifies the employee's information (or add them if they don't exist)
+ *
+ * @return SUCCESS if the employee has been modified successfully,
+ * ERROR if the id is invalid
+ */
+ public String modify() {
+ String result = SUCCESS;
+ Person person;
+ Employee employee;
+ ChoremProxy proxy = getChoremProxy();
+
+ person = proxy.restore(Person.class, personId);
+ employee = proxy.restore(Employee.class, employeeId);
+ if (person != null && employee != null) {
+ //If the user wants to update the employee's details
+ employee.setDiploma(diploma);
+ try {
+ employee.setPaidLeave(Float.parseFloat(paidLeave));
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employee.paidLeave.wrongFormat")));
+ }
+ try {
+ employee.setRtt(Float.parseFloat(rtt));
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employee.rtt.wrongFormat")));
+ }
+ proxy.store(employee);
+ } else if (person != null && employee == null) {
+ //If the user wants to enter the employee's details
+ employee = new EmployeeImpl();
+
+ employee.setPerson(personId);
+ employee.setDiploma(diploma);
+ employee.setPaidLeave(Float.parseFloat(paidLeave));
+ employee.setRtt(Float.parseFloat(rtt));
+ proxy.store(employee);
+ } else {
+ result = ERROR;
+ }
+ return result;
+ }
+
+ protected String personId;
+ protected String employeeId;
+ protected String diploma;
+ protected String paidLeave;
+ protected String rtt;
+
+ /**
+ * Gets the employee's information
+ *
+ * @return the employee's information
+ */
+ public Employee getEmployee() {
+ ChoremProxy proxy = getChoremProxy();
+ Search search = Search.query();
+ Criteria criteria = search.eq(Employee.FQ_FIELD_EMPLOYEE_PERSON,
+ personId).criteria();
+ Employee employee = proxy.findByCriteria(Employee.class, criteria);
+
+ return employee;
+ }
+
+ /**
+ * @return the personId
+ */
+ public String getPersonId() {
+ return personId;
+ }
+
+ /**
+ * @param personId the personId to set
+ */
+ public void setPersonId(String personId) {
+ this.personId = personId;
+ }
+
+ /**
+ * @return the employeeId
+ */
+ public String getEmployeeId() {
+ return employeeId;
+ }
+
+ /**
+ * @param employeeId the employeeId to set
+ */
+ public void setEmployeeId(String employeeId) {
+ this.employeeId = employeeId;
+ }
+
+ /**
+ * @return the diploma
+ */
+ public String getDiploma() {
+ return diploma;
+ }
+
+ /**
+ * @param diploma the diploma to set
+ */
+ public void setDiploma(String diploma) {
+ this.diploma = diploma;
+ }
+
+ /**
+ * @return the paidLeave
+ */
+ public String getPaidLeave() {
+ return paidLeave;
+ }
+
+ /**
+ * @param paidLeave the paidLeave to set
+ */
+ public void setPaidLeave(String paidLeave) {
+ this.paidLeave = paidLeave;
+ }
+
+ /**
+ * @return the rtt
+ */
+ public String getRtt() {
+ return rtt;
+ }
+
+ /**
+ * @param rtt the rtt to set
+ */
+ public void setRtt(String rtt) {
+ this.rtt = rtt;
+ }
+}
Property changes on: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmployeeAction.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-29 08:05:06 UTC (rev 115)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-29 10:18:43 UTC (rev 116)
@@ -359,7 +359,7 @@
}
/**
- * Gets the employments contracts of the employee
+ * Gets the employee's employments contracts
*
* @return a list containing all employment contracts
*/
@@ -405,6 +405,21 @@
}
/**
+ * Gets the employee's information
+ *
+ * @return the employee's information
+ */
+ public Employee getEmployee() {
+ ChoremProxy proxy = getChoremProxy();
+ Search search = Search.query();
+ Criteria criteria = search.eq(Employee.FQ_FIELD_EMPLOYEE_PERSON,
+ personId).criteria();
+ Employee employee = proxy.findByCriteria(Employee.class, criteria);
+
+ return employee;
+ }
+
+ /**
* @return the firstName
*/
public String getFirstName() {
Modified: trunk/chorem-web/src/main/resources/struts.xml
===================================================================
--- trunk/chorem-web/src/main/resources/struts.xml 2011-04-29 08:05:06 UTC (rev 115)
+++ trunk/chorem-web/src/main/resources/struts.xml 2011-04-29 10:18:43 UTC (rev 116)
@@ -85,6 +85,14 @@
<param name="personId">${personId}</param>
</result>
</action>
+ <action name="modifyEmployee" class="org.chorem.bonzoms.action.EmployeeAction" method="modify">
+ <result name="input">/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp</result>
+ <result type="redirectAction">
+ <param name="actionName">personDetails</param>
+ <param name="namespace">/bonzoms</param>
+ <param name="personId">${personId}</param>
+ </result>
+ </action>
</package>
<package name="gepeto" namespace="/gepeto" extends="struts-default">
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-29 08:05:06 UTC (rev 115)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-29 10:18:43 UTC (rev 116)
@@ -2,38 +2,75 @@
<%@page import="org.chorem.bonzoms.action.PersonAction" %>
<%@page import="org.chorem.gepeto.EmploymentContractFull" %>
<%@page import="org.chorem.entities.EmploymentContract" %>
+<%@page import="org.chorem.entities.Employee" %>
<%@page import="java.util.List" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
xmlns:jsp="http://java.sun.com/JSP/Page">
+ <% PersonAction person = PersonAction.getAction(); %>
<head>
<title>
<s:text name="chorem.bonzoms.personDetails.title">
- <s:param><%= PersonAction.getAction().getFirstName() %> <%= PersonAction.getAction().getLastName() %></s:param>
+ <s:param><%= person.getFirstName() %> <%= person.getLastName() %></s:param>
</s:text>
</title>
<s:head />
</head>
<body>
- <h2><%= PersonAction.getAction().getFirstName() %> <%= PersonAction.getAction().getLastName() %></h2>
+ <h2><%= person.getFirstName() %> <%= person.getLastName() %></h2>
<s:actionerror />
<s:url action="modifyPerson" var="modifyPerson">
- <s:param name="personId"><%= PersonAction.getAction().getPersonId() %></s:param>
+ <s:param name="personId"><%= person.getPersonId() %></s:param>
</s:url>
<form action="${modifyPerson}" method="post">
<p>
- <s:text name="chorem.bonzoms.person.birthDate" />: <%= PersonAction.getAction().getBirthDate() %>
+ <s:text name="chorem.bonzoms.person.birthDate" />: <%= person.getBirthDate() %>
<br />
<s:textfield key="chorem.bonzoms.person.email" name="email" labelSeparator=": " />
<br />
<s:submit key="chorem.misc.modify" name="submit" />
</p>
</form>
- <s:text name="chorem.bonzoms.person.employmentContracts" />
- <br />
+ <% Employee employee = person.getEmployee(); %>
+ <h3><s:text name="chorem.bonzoms.employee" /></h3>
+ <p>
+ <s:url action="modifyEmployee" var="modifyEmployee">
+ <s:param name="personId"><%= person.getPersonId() %></s:param>
+ <%
+ if (employee != null) {
+ %>
+ <s:param name="employeeId"><%= employee.getWikittyId() %></s:param>
+ <% } %>
+ </s:url>
+ <form action="${modifyEmployee}" method="post">
+ <label for="diploma"><s:text name="chorem.bonzoms.employee.diploma" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="diploma" id="diploma" value="<%= employee.getDiploma() %>" />
+ <% } else { %>
+ <input type="text" name="diploma" id="diploma" />
+ <% } %>
+ <br />
+ <label for="paidLeave"><s:text name="chorem.bonzoms.employee.paidLeave" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="paidLeave" id="paidLeave" value="<%= employee.getPaidLeave() %>" />
+ <% } else { %>
+ <input type="text" name="paidLeave" id="paidLeave" />
+ <% } %>
+ <br />
+ <label for="rtt"><s:text name="chorem.bonzoms.employee.rtt" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="rtt" id="rtt" value="<%= employee.getRtt() %>" />
+ <% } else { %>
+ <input type="text" name="rtt" id="rtt" />
+ <% } %>
+ <br />
+ <s:submit key="chorem.misc.modify" name="modify" />
+ </form>
+ </p>
+ <h3><s:text name="chorem.bonzoms.person.employmentContracts" /></h3>
<%
- List<EmploymentContractFull> employmentContractsFull = PersonAction.getAction().getEmploymentContracts();
+ List<EmploymentContractFull> employmentContractsFull = person.getEmploymentContracts();
EmploymentContract employmentContract;
for (EmploymentContractFull employmentContractFull : employmentContractsFull) {
@@ -65,5 +102,11 @@
</p>
</form>
<% } %>
+ <p>
+ <s:url action="addEmploymentContractInput" var="addEmploymentContract">
+ <s:param name="personId"><%= person.getPersonId() %></s:param>
+ </s:url>
+ <a href="${addEmploymentContract}"><s:text name="chorem.bonzoms.employmentContract.add" /></a>
+ </p>
</body>
</html>
Added: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp (rev 0)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp 2011-04-29 10:18:43 UTC (rev 116)
@@ -0,0 +1,51 @@
+<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@page import="org.chorem.bonzoms.action.EmployeeAction" %>
+<%@page import="org.chorem.entities.Employee" %>
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+ <head>
+ <title></title>
+ <s:head />
+ </head>
+ <body>
+ <s:actionerror />
+ <% Employee employee = EmployeeAction.getAction().getEmployee(); %>
+ <h3><s:text name="chorem.bonzoms.employee" /></h3>
+ <p>
+ <s:url action="modifyEmployee" var="modifyEmployee">
+ <s:param name="personId"><%= employee.getPerson() %></s:param>
+ <%
+ if (employee != null) {
+ %>
+ <s:param name="employeeId"><%= employee.getWikittyId() %></s:param>
+ <% } %>
+ </s:url>
+ <form action="${modifyEmployee}" method="post">
+ <label for="diploma"><s:text name="chorem.bonzoms.employee.diploma" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="diploma" id="diploma" value="<%= employee.getDiploma() %>" />
+ <% } else { %>
+ <input type="text" name="diploma" id="diploma" />
+ <% } %>
+ <br />
+ <label for="paidLeave"><s:text name="chorem.bonzoms.employee.paidLeave" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="paidLeave" id="paidLeave" value="<%= employee.getPaidLeave() %>" />
+ <% } else { %>
+ <input type="text" name="paidLeave" id="paidLeave" />
+ <% } %>
+ <br />
+ <label for="rtt"><s:text name="chorem.bonzoms.employee.rtt" /></label>:
+ <% if (employee != null) { %>
+ <input type="text" name="rtt" id="rtt" value="<%= employee.getRtt() %>" />
+ <% } else { %>
+ <input type="text" name="rtt" id="rtt" />
+ <% } %>
+ <br />
+ <s:submit key="chorem.misc.modify" name="modify" />
+ </form>
+ </p>
+ </body>
+</html>
Property changes on: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmployee.jsp
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp 2011-04-29 08:05:06 UTC (rev 115)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp 2011-04-29 10:18:43 UTC (rev 116)
@@ -46,7 +46,7 @@
<label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
<input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
<br />
- <input type="submit" name="modify" />
+ <s:submit key="chorem.misc.modify" name="modify" />
</p>
</form>
<% } %>
1
0
r115 - in trunk/chorem-web/src/main: java/org/chorem/bonzoms/action resources resources/i18n webapp/WEB-INF/jsp/bonzoms
by vbriand@users.chorem.org 29 Apr '11
by vbriand@users.chorem.org 29 Apr '11
29 Apr '11
Author: vbriand
Date: 2011-04-29 10:05:06 +0200 (Fri, 29 Apr 2011)
New Revision: 115
Url: http://chorem.org/repositories/revision/chorem/115
Log:
Added a page to view the list of all persons
Added:
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/persons.jsp
Modified:
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties
trunk/chorem-web/src/main/resources/struts.xml
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/menu.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-29 08:05:06 UTC (rev 115)
@@ -389,6 +389,22 @@
}
/**
+ * Gets the list of all persons
+ *
+ * @return a list containing all persons
+ */
+ public List<Person> getAllPersons() {
+ ChoremProxy proxy = getChoremProxy();
+ Search search = Search.query();
+ Criteria criteria = search.exteq(Person.EXT_PERSON).criteria();
+ PagedResult<Person> result = proxy.findAllByCriteria(Person.class,
+ criteria);
+ List<Person> persons = result.getAll();
+
+ return persons;
+ }
+
+ /**
* @return the firstName
*/
public String getFirstName() {
Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
===================================================================
--- trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-29 08:05:06 UTC (rev 115)
@@ -78,6 +78,7 @@
chorem.bonzoms.person.postcode=Postcode
chorem.bonzoms.personDetails.name=
chorem.bonzoms.personDetails.title=
+chorem.bonzoms.persons=
chorem.config.configFileName.description=chorem''s configuration filename
chorem.create.error=An error occurred, please try again. If the problem persists, please contact an administrator
chorem.date.wrongFormat=The date must be in the following format \: dd/mm/yyyy
Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties
===================================================================
--- trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-04-29 08:05:06 UTC (rev 115)
@@ -74,9 +74,11 @@
chorem.bonzoms.person.employmentContracts=Contrats de travail \:
chorem.bonzoms.person.firstName=Pr\u00E9nom
chorem.bonzoms.person.lastName=Nom
+chorem.bonzoms.person.list=Obtenir la liste des personnes
chorem.bonzoms.person.phoneNb=Num\u00E9ro de t\u00E9l\u00E9phone (opt.)
chorem.bonzoms.person.postcode=Code postal
chorem.bonzoms.personDetails.title=Informations d\u00E9taill\u00E9es de "{0}"
+chorem.bonzoms.persons=Liste des personnes
chorem.config.configFileName.description=Nom du fichier de configuration de chorem
chorem.create.error=Une erreur s''est produite, merci d''essayer \u00E0 nouveau. Si le probl\u00E8me se reproduit, merci de contacter un administrateur
chorem.date.wrongFormat=La date doit respecter le format suivant \: jj/mm/yyyy
Modified: trunk/chorem-web/src/main/resources/struts.xml
===================================================================
--- trunk/chorem-web/src/main/resources/struts.xml 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/resources/struts.xml 2011-04-29 08:05:06 UTC (rev 115)
@@ -50,6 +50,9 @@
<result name="error" type="redirectAction">home</result>
<result>/WEB-INF/jsp/bonzoms/personDetails.jsp</result>
</action>
+ <action name="persons" class="org.chorem.bonzoms.action.PersonAction">
+ <result>/WEB-INF/jsp/bonzoms/persons.jsp</result>
+ </action>
<action name="modifyPerson" class="org.chorem.bonzoms.action.PersonAction" method="modify">
<result name="input">/WEB-INF/jsp/bonzoms/personDetails.jsp</result>
<result type="redirectAction">
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/menu.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/menu.jsp 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/menu.jsp 2011-04-29 08:05:06 UTC (rev 115)
@@ -5,5 +5,6 @@
<li><s:a action="addCompanyInput"><s:text name="chorem.bonzoms.company.add" /></s:a></li>
<li><s:a action="addPersonInput"><s:text name="chorem.bonzoms.person.add" /></s:a></li>
<li><s:a action="companies"><s:text name="chorem.bonzoms.company.list" /></s:a></li>
+ <li><s:a action="persons"><s:text name="chorem.bonzoms.person.list" /></s:a></li>
</ul>
</div>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-28 15:48:42 UTC (rev 114)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-29 08:05:06 UTC (rev 115)
@@ -61,7 +61,7 @@
<label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
<input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
<br />
- <input type="submit" name="modify" />
+ <s:submit key="chorem.misc.modify" name="modify" />
</p>
</form>
<% } %>
Added: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/persons.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/persons.jsp (rev 0)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/persons.jsp 2011-04-29 08:05:06 UTC (rev 115)
@@ -0,0 +1,28 @@
+<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
+<%@page import="java.util.List" %>
+<%@page import="org.chorem.entities.Person" %>
+<%@page import="org.chorem.bonzoms.action.PersonAction" %>
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+ <head>
+ <title><s:text name="chorem.bonzoms.persons" /></title>
+ <s:head />
+ </head>
+ <body>
+ <h2><s:text name="chorem.bonzoms.persons" /></h2>
+ <%
+ List<Person> persons = PersonAction.getAction().getAllPersons();
+
+ for (Person person : persons) {
+ %>
+ <s:url namespace="/bonzoms" action="personDetails" var="personDetails">
+ <s:param name="personId"><%= person.getWikittyId() %></s:param>
+ </s:url>
+ <a href="${personDetails}"><%= person.getFirstName() %> <%= person.getLastName() %></a><br />
+ <%
+ }
+ %>
+ </body>
+</html>
Property changes on: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/persons.jsp
___________________________________________________________________
Added: svn:mime-type
+ text/plain
1
0
r114 - in trunk/chorem-web/src/main: java/org/chorem/billy/action java/org/chorem/bonzoms java/org/chorem/bonzoms/action java/org/chorem/gepeto java/org/chorem/gepeto/action resources resources/i18n resources/org/chorem/bonzoms/action webapp/WEB-INF/jsp/bonzoms webapp/WEB-INF/jsp/gepeto
by vbriand@users.chorem.org 28 Apr '11
by vbriand@users.chorem.org 28 Apr '11
28 Apr '11
Author: vbriand
Date: 2011-04-28 17:48:42 +0200 (Thu, 28 Apr 2011)
New Revision: 114
Url: http://chorem.org/repositories/revision/chorem/114
Log:
Added a page to view a person's details and modify its information
Added:
trunk/chorem-web/src/main/java/org/chorem/gepeto/EmploymentContractFull.java
trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-addEmploymentContract-validation.xml
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
Removed:
trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-validation.xml
Modified:
trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties
trunk/chorem-web/src/main/resources/struts.xml
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addTask.jsp
Modified: trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -112,7 +112,6 @@
setProjectId(quotation.getProject());
setSupplier(EmployeeFull.initEmployee(quotation.getSupplier(),
proxy));
- System.out.println("((("+quotation+")))");
setCustomer(EmployeeFull.initEmployee(quotation.getCustomer(),
proxy));
} else {
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -55,7 +55,6 @@
Company company;
employeeFull.setEmployee(employee);
- System.out.println(employeeId+":"+employee+":"+proxy);
person = proxy.restore(Person.class, employee.getPerson());
employeeFull.setPerson(person);
company = proxy.restore(Company.class, employee.getCompany());
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/EmploymentContractAction.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -2,14 +2,25 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Calendar;
+import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.chorem.ChoremProxy;
import org.chorem.action.BaseAction;
+import org.chorem.bonzoms.EmployeeFull;
+import org.chorem.entities.Employee;
+import org.chorem.entities.EmploymentContract;
import org.chorem.entities.EmploymentContractImpl;
+import org.chorem.gepeto.EmploymentContractFull;
+import org.nuiton.wikitty.search.Criteria;
+import org.nuiton.wikitty.search.PagedResult;
+import org.nuiton.wikitty.search.Search;
+import com.opensymphony.xwork2.ActionContext;
+
import static org.nuiton.i18n.I18n.n_;
/**
@@ -23,6 +34,10 @@
private static final Log log = LogFactory.getLog(EmploymentContractAction.class);
+ static public EmploymentContractAction getAction() {
+ return (EmploymentContractAction)ActionContext.getContext().get(CONTEXT_ACTION_KEY);
+ }
+
/**
* Adds a new employment contract
*
@@ -49,14 +64,86 @@
return result;
}
+ /**
+ * Modifies the employment contract's information
+ *
+ * @return SUCCESS if the employment contract has been successfully modified,
+ * ERROR if the id is invalid
+ */
+ public String modify() {
+ String result = SUCCESS;
+ EmploymentContract employmentContract;
+ ChoremProxy proxy = getChoremProxy();
+
+ employmentContract = proxy.restore(EmploymentContract.class,
+ employmentContractId);
+ if (employmentContract != null) { //If the id exists
+ employmentContract.setType(type);
+ employmentContract.setDescription(description);
+ try {
+ //Replaces the (possible) comma by a dot, so the string can be
+ //parsed successfully as a float
+ salary = salary.replace(',', '.');
+ employmentContract.setSalary(Float.parseFloat(salary));
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employmentContract.salary.wrongFormat")));
+ }
+ try {
+ employmentContract.setWorkingTime(Integer.parseInt(workingTime));
+ } catch (NumberFormatException e) {
+ result = INPUT;
+ addActionError(
+ getText(n_("chorem.bonzoms.employmentContract.workingTime.wrongFormat")));
+ }
+ proxy.store(employmentContract);
+ } else {
+ result = ERROR;
+ }
+ return result;
+ }
+
protected String type;
protected String description;
protected String salary;
protected String workingTime;
protected String beginDate;
protected String endDate;
+ protected String personId;
+ protected String employmentContractId;
/**
+ * Gets the employments contracts of the employee
+ *
+ * @return a list containing all employment contracts
+ */
+ public List<EmploymentContractFull> getEmploymentContracts() {
+ ChoremProxy proxy = getChoremProxy();
+ Search search = Search.query();
+ Criteria criteria = search.exteq(EmploymentContract.EXT_EMPLOYMENTCONTRACT).
+ associated(EmploymentContract.FQ_FIELD_EMPLOYMENTCONTRACT_EMPLOYEE).
+ eq(Employee.FQ_FIELD_EMPLOYEE_PERSON, personId).criteria();
+ PagedResult<EmploymentContract> result = proxy.findAllByCriteria(
+ EmploymentContract.class, criteria);
+ List<EmploymentContract> employmentContracts = result.getAll();
+ List<EmploymentContractFull> employmentContractsFull = new ArrayList<EmploymentContractFull>();
+ EmploymentContractFull employeeTmp;
+ EmployeeFull employee;
+
+ for (EmploymentContract employmentContract : employmentContracts) {
+ employeeTmp = new EmploymentContractFull();
+
+ employeeTmp.setEmploymentContract(employmentContract);
+ employee = EmployeeFull.initEmployee(employmentContract.getEmployee(),
+ proxy);
+ employeeTmp.setEmployee(employee);
+ employmentContractsFull.add(employeeTmp);
+ }
+ return employmentContractsFull;
+ }
+
+ /**
* Stores the new employment contract through the proxy
*
* @return true if the employment contract has been stored properly,
@@ -200,4 +287,32 @@
public void setEndDate(String endDate) {
this.endDate = endDate;
}
+
+ /**
+ * @return the personId
+ */
+ public String getPersonId() {
+ return personId;
+ }
+
+ /**
+ * @param personId the personId to set
+ */
+ public void setPersonId(String personId) {
+ this.personId = personId;
+ }
+
+ /**
+ * @return the employmentContractId
+ */
+ public String getEmploymentContractId() {
+ return employmentContractId;
+ }
+
+ /**
+ * @param employmentContractId the employmentContractId to set
+ */
+ public void setEmploymentContractId(String employmentContractId) {
+ this.employmentContractId = employmentContractId;
+ }
}
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -2,22 +2,31 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.List;
+import java.util.UUID;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.chorem.ChoremProxy;
import org.chorem.ContactDetailsConstants;
import org.chorem.action.BaseAction;
+import org.chorem.bonzoms.EmployeeFull;
import org.chorem.entities.Company;
import org.chorem.entities.ContactDetailsImpl;
+import org.chorem.entities.Employee;
import org.chorem.entities.EmployeeImpl;
+import org.chorem.entities.EmploymentContract;
import org.chorem.entities.EmploymentContractImpl;
+import org.chorem.entities.Person;
import org.chorem.entities.PersonImpl;
+import org.chorem.gepeto.EmploymentContractFull;
import org.nuiton.wikitty.search.Criteria;
import org.nuiton.wikitty.search.PagedResult;
import org.nuiton.wikitty.search.Search;
+import com.opensymphony.xwork2.ActionContext;
+
import static org.nuiton.i18n.I18n.n_;
/**
@@ -31,6 +40,10 @@
private static final Log log = LogFactory.getLog(PersonAction.class);
+ static public PersonAction getAction() {
+ return (PersonAction)ActionContext.getContext().get(CONTEXT_ACTION_KEY);
+ }
+
/**
* Adds a new person
*
@@ -53,6 +66,64 @@
return result;
}
+ /**
+ * Retrieves the information of the person referenced by the personId
+ *
+ * @return SUCCESS if the information have been retrieved,
+ * ERROR either if the UUID is invalid or the personId doesn't exist
+ */
+ public String personDetails() {
+ String result = SUCCESS;
+ ChoremProxy proxy = getChoremProxy();
+
+ try {
+ if (personId == null) {
+ result = ERROR;
+ } else {
+ //If personId isn't a valid UUID, an exception is thrown
+ UUID.fromString(personId);
+
+ Person person = proxy.restore(Person.class, personId);
+
+ if (person != null) { //If the personId exists
+ SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
+
+ setFirstName(person.getFirstName());
+ setLastName(person.getLastName());
+ setEmail(person.getEmail());
+ setBirthDate(formatter.format(person.getBirthDate()));
+ } else {
+ result = ERROR;
+ }
+ }
+ } catch (IllegalArgumentException e) {
+ //personId is invalid
+ result = ERROR;
+ }
+ return result;
+ }
+
+ /**
+ * Modifies the person's information
+ *
+ * @return SUCCESS if the person has been modified successfully,
+ * ERROR if the id is invalid
+ */
+ public String modify() {
+ String result = SUCCESS;
+ Person person;
+ ChoremProxy proxy = getChoremProxy();
+
+ person = proxy.restore(Person.class, personId);
+ if (person != null) {
+ person.setEmail(email);
+ proxy.store(person);
+ } else {
+ result = ERROR;
+ }
+ return result;
+ }
+
protected String firstName;
protected String lastName;
protected String email;
@@ -73,6 +144,7 @@
protected String contractBeginDate;
protected String contractEndDate;
protected String companyId;
+ protected String personId;
/**
* Stores the new person through the proxy
@@ -287,6 +359,36 @@
}
/**
+ * Gets the employments contracts of the employee
+ *
+ * @return a list containing all employment contracts
+ */
+ public List<EmploymentContractFull> getEmploymentContracts() {
+ ChoremProxy proxy = getChoremProxy();
+ Search search = Search.query();
+ Criteria criteria = search.exteq(EmploymentContract.EXT_EMPLOYMENTCONTRACT).
+ associated(EmploymentContract.FQ_FIELD_EMPLOYMENTCONTRACT_EMPLOYEE).
+ eq(Employee.FQ_FIELD_EMPLOYEE_PERSON, personId).criteria();
+ PagedResult<EmploymentContract> result = proxy.findAllByCriteria(
+ EmploymentContract.class, criteria);
+ List<EmploymentContract> employmentContracts = result.getAll();
+ List<EmploymentContractFull> employmentContractsFull = new ArrayList<EmploymentContractFull>();
+ EmploymentContractFull employeeTmp;
+ EmployeeFull employee;
+
+ for (EmploymentContract employmentContract : employmentContracts) {
+ employeeTmp = new EmploymentContractFull();
+
+ employeeTmp.setEmploymentContract(employmentContract);
+ employee = EmployeeFull.initEmployee(employmentContract.getEmployee(),
+ proxy);
+ employeeTmp.setEmployee(employee);
+ employmentContractsFull.add(employeeTmp);
+ }
+ return employmentContractsFull;
+ }
+
+ /**
* @return the firstName
*/
public String getFirstName() {
@@ -565,4 +667,18 @@
public void setCompanyId(String companyId) {
this.companyId = companyId;
}
+
+ /**
+ * @return the personId
+ */
+ public String getPersonId() {
+ return personId;
+ }
+
+ /**
+ * @param personId the personId to set
+ */
+ public void setPersonId(String personId) {
+ this.personId = personId;
+ }
}
Added: trunk/chorem-web/src/main/java/org/chorem/gepeto/EmploymentContractFull.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/gepeto/EmploymentContractFull.java (rev 0)
+++ trunk/chorem-web/src/main/java/org/chorem/gepeto/EmploymentContractFull.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -0,0 +1,40 @@
+package org.chorem.gepeto;
+
+import org.chorem.bonzoms.EmployeeFull;
+import org.chorem.entities.EmploymentContract;
+
+/**
+ * @author vbriand
+ */
+public class EmploymentContractFull {
+ protected EmployeeFull employee;
+ protected EmploymentContract employmentContract;
+
+ /**
+ * @return the employmentContract
+ */
+ public EmploymentContract getEmploymentContract() {
+ return employmentContract;
+ }
+
+ /**
+ * @param employmentContract the employmentContract to set
+ */
+ public void setEmploymentContract(EmploymentContract employmentContract) {
+ this.employmentContract = employmentContract;
+ }
+
+ /**
+ * @return the employee
+ */
+ public EmployeeFull getEmployee() {
+ return employee;
+ }
+
+ /**
+ * @param employee the employee to set
+ */
+ public void setEmployee(EmployeeFull employee) {
+ this.employee = employee;
+ }
+}
Property changes on: trunk/chorem-web/src/main/java/org/chorem/gepeto/EmploymentContractFull.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-28 15:48:42 UTC (rev 114)
@@ -153,8 +153,7 @@
beginDate != null &&
estimatedEndDate != null) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
- Date begin = new Date(),
- end = new Date();
+ Date begin = null, end = null;
//This is tested manually instead of using a validator because
//otherwise the company is not set (the validator returns INPUT and
@@ -191,7 +190,7 @@
}
//If end and begin have been initialized
- if (result != INPUT) {
+ if (!result.equals(INPUT)) {
if (end.before(begin)) {
result = INPUT;
addFieldError("estimatedEndDate", getText(n_("chorem.endDate.afterBegin")));
Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
===================================================================
--- trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-28 15:48:42 UTC (rev 114)
@@ -43,6 +43,7 @@
chorem.bonzoms.contactDetails.type=Contact details'' type
chorem.bonzoms.contactDetails.value=Contact details'' value
chorem.bonzoms.employee=
+chorem.bonzoms.employee.company=
chorem.bonzoms.employee.diploma=
chorem.bonzoms.employee.invalidCompany=
chorem.bonzoms.employee.paidLeave=
@@ -70,10 +71,13 @@
chorem.bonzoms.person.country=Country
chorem.bonzoms.person.email=Email
chorem.bonzoms.person.email.wrongFormat=The email format is invalid
+chorem.bonzoms.person.employmentContracts=
chorem.bonzoms.person.firstName=First name
chorem.bonzoms.person.lastName=Last name
chorem.bonzoms.person.phoneNb=Phone number (opt.)
chorem.bonzoms.person.postcode=Postcode
+chorem.bonzoms.personDetails.name=
+chorem.bonzoms.personDetails.title=
chorem.config.configFileName.description=chorem''s configuration filename
chorem.create.error=An error occurred, please try again. If the problem persists, please contact an administrator
chorem.date.wrongFormat=The date must be in the following format \: dd/mm/yyyy
Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties
===================================================================
--- trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-04-28 15:48:42 UTC (rev 114)
@@ -43,6 +43,7 @@
chorem.bonzoms.contactDetails.type=Type de la m\u00E9thode de contact
chorem.bonzoms.contactDetails.value=Valeur de la m\u00E9thode de contact
chorem.bonzoms.employee=Employ\u00E9
+chorem.bonzoms.employee.company=Entreprise
chorem.bonzoms.employee.diploma=Dipl\u00F4me (opt.)
chorem.bonzoms.employee.invalidCompany=
chorem.bonzoms.employee.paidLeave=Cong\u00E9s pay\u00E9s
@@ -70,10 +71,12 @@
chorem.bonzoms.person.country=Pays
chorem.bonzoms.person.email=Email
chorem.bonzoms.person.email.wrongFormat=L''adresse email que vous avez entr\u00E9e est incorrecte
+chorem.bonzoms.person.employmentContracts=Contrats de travail \:
chorem.bonzoms.person.firstName=Pr\u00E9nom
chorem.bonzoms.person.lastName=Nom
chorem.bonzoms.person.phoneNb=Num\u00E9ro de t\u00E9l\u00E9phone (opt.)
chorem.bonzoms.person.postcode=Code postal
+chorem.bonzoms.personDetails.title=Informations d\u00E9taill\u00E9es de "{0}"
chorem.config.configFileName.description=Nom du fichier de configuration de chorem
chorem.create.error=Une erreur s''est produite, merci d''essayer \u00E0 nouveau. Si le probl\u00E8me se reproduit, merci de contacter un administrateur
chorem.date.wrongFormat=La date doit respecter le format suivant \: jj/mm/yyyy
Copied: trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-addEmploymentContract-validation.xml (from rev 110, trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-validation.xml)
===================================================================
--- trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-addEmploymentContract-validation.xml (rev 0)
+++ trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-addEmploymentContract-validation.xml 2011-04-28 15:48:42 UTC (rev 114)
@@ -0,0 +1,49 @@
+<!DOCTYPE validators PUBLIC
+ "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
+ "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
+
+<validators>
+ <field name="type">
+ <field-validator type="requiredstring">
+ <message key="chorem.field.required" />
+ </field-validator>
+ </field>
+ <field name="description">
+ <field-validator type="requiredstring">
+ <message key="chorem.field.required" />
+ </field-validator>
+ </field>
+ <field name="salary">
+ <field-validator type="requiredstring">
+ <message key="chorem.field.required" />
+ </field-validator>
+ <field-validator type="regex">
+ <param name="expression"><![CDATA[([0-9]+)([\.,][0-9]+)?]]></param>
+ <message key="chorem.bonzoms.employmentContract.salary.wrongFormat" />
+ </field-validator>
+ </field>
+ <field name="workingTime">
+ <field-validator type="requiredstring">
+ <message key="chorem.field.required" />
+ </field-validator>
+ <field-validator type="regex">
+ <param name="expression"><![CDATA[([0-9]+)]]></param>
+ <message key="chorem.bonzoms.employmentContract.workingTime.wrongFormat" />
+ </field-validator>
+ </field>
+ <field name="beginDate">
+ <field-validator type="requiredstring">
+ <message key="chorem.field.required" />
+ </field-validator>
+ <field-validator type="regex">
+ <param name="expression"><![CDATA[([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})]]></param>
+ <message key="chorem.date.wrongFormat" />
+ </field-validator>
+ </field>
+ <field name="endDate">
+ <field-validator type="regex">
+ <param name="expression"><![CDATA[([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})]]></param>
+ <message key="chorem.date.wrongFormat" />
+ </field-validator>
+ </field>
+</validators>
Property changes on: trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-addEmploymentContract-validation.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Deleted: trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-validation.xml
===================================================================
--- trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-validation.xml 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/EmploymentContractAction-validation.xml 2011-04-28 15:48:42 UTC (rev 114)
@@ -1,49 +0,0 @@
-<!DOCTYPE validators PUBLIC
- "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
- "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-
-<validators>
- <field name="type">
- <field-validator type="requiredstring">
- <message key="chorem.field.required" />
- </field-validator>
- </field>
- <field name="description">
- <field-validator type="requiredstring">
- <message key="chorem.field.required" />
- </field-validator>
- </field>
- <field name="salary">
- <field-validator type="requiredstring">
- <message key="chorem.field.required" />
- </field-validator>
- <field-validator type="regex">
- <param name="expression"><![CDATA[([0-9]+)([\.,][0-9]+)?]]></param>
- <message key="chorem.bonzoms.employmentContract.salary.wrongFormat" />
- </field-validator>
- </field>
- <field name="workingTime">
- <field-validator type="requiredstring">
- <message key="chorem.field.required" />
- </field-validator>
- <field-validator type="regex">
- <param name="expression"><![CDATA[([0-9]+)]]></param>
- <message key="chorem.bonzoms.employmentContract.workingTime.wrongFormat" />
- </field-validator>
- </field>
- <field name="beginDate">
- <field-validator type="requiredstring">
- <message key="chorem.field.required" />
- </field-validator>
- <field-validator type="regex">
- <param name="expression"><![CDATA[([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})]]></param>
- <message key="chorem.date.wrongFormat" />
- </field-validator>
- </field>
- <field name="endDate">
- <field-validator type="regex">
- <param name="expression"><![CDATA[([0-9]{1,2})/([0-9]{1,2})/([0-9]{4})]]></param>
- <message key="chorem.date.wrongFormat" />
- </field-validator>
- </field>
-</validators>
Modified: trunk/chorem-web/src/main/resources/struts.xml
===================================================================
--- trunk/chorem-web/src/main/resources/struts.xml 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/resources/struts.xml 2011-04-28 15:48:42 UTC (rev 114)
@@ -27,6 +27,14 @@
<result name="error" type="redirectAction">home</result>
<result>/WEB-INF/jsp/bonzoms/companyDetails.jsp</result>
</action>
+ <action name="modifyCompany" class="org.chorem.bonzoms.action.CompanyAction" method="modify">
+ <result name="input">/WEB-INF/jsp/bonzoms/companyDetails.jsp</result>
+ <result type="redirectAction">
+ <param name="actionName">companyDetails</param>
+ <param name="namespace">/bonzoms</param>
+ <param name="companyId">${companyId}</param>
+ </result>
+ </action>
<action name="companies" class="org.chorem.bonzoms.action.CompanyAction">
<result>/WEB-INF/jsp/bonzoms/companies.jsp</result>
</action>
@@ -38,6 +46,18 @@
<result name="error">/WEB-INF/jsp/bonzoms/addPerson.jsp</result>
<result type="redirectAction">home</result>
</action>
+ <action name="personDetails" class="org.chorem.bonzoms.action.PersonAction" method="personDetails">
+ <result name="error" type="redirectAction">home</result>
+ <result>/WEB-INF/jsp/bonzoms/personDetails.jsp</result>
+ </action>
+ <action name="modifyPerson" class="org.chorem.bonzoms.action.PersonAction" method="modify">
+ <result name="input">/WEB-INF/jsp/bonzoms/personDetails.jsp</result>
+ <result type="redirectAction">
+ <param name="actionName">personDetails</param>
+ <param name="namespace">/bonzoms</param>
+ <param name="personId">${personId}</param>
+ </result>
+ </action>
<action name="addContactDetailsInput">
<result>/WEB-INF/jsp/bonzoms/addContactDetails.jsp</result>
</action>
@@ -54,12 +74,12 @@
<result name="error">/WEB-INF/jsp/bonzoms/addEmploymentContract.jsp</result>
<result type="redirectAction">home</result>
</action>
- <action name="modifyCompany" class="org.chorem.bonzoms.action.CompanyAction" method="modify">
- <result name="input">/WEB-INF/jsp/bonzoms/companyDetails.jsp</result>
+ <action name="modifyEmploymentContract" class="org.chorem.bonzoms.action.EmploymentContractAction" method="modify">
+ <result name="input">/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp</result>
<result type="redirectAction">
- <param name="actionName">companyDetails</param>
+ <param name="actionName">personDetails</param>
<param name="namespace">/bonzoms</param>
- <param name="companyId">${companyId}</param>
+ <param name="personId">${personId}</param>
</result>
</action>
</package>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp 2011-04-28 15:48:42 UTC (rev 114)
@@ -50,9 +50,10 @@
for (Person employee : employees) {
%>
- <%= employee.getFirstName() %> <%= employee.getLastName() %><br />
- <%= JspUtils.dateFormat(employee.getBirthDate()) %><br />
- <%= employee.getEmail() %><br />
+ <s:url action="personDetails" var="personDetails">
+ <s:param name="personId"><%= employee.getWikittyId() %></s:param>
+ </s:url>
+ <a href="${personDetails}"><%= employee.getFirstName() %> <%= employee.getLastName() %></a> (<%= JspUtils.dateFormat(employee.getBirthDate()) %>)<br />
<%
}
%>
Added: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp (rev 0)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp 2011-04-28 15:48:42 UTC (rev 114)
@@ -0,0 +1,69 @@
+<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@page import="org.chorem.bonzoms.action.PersonAction" %>
+<%@page import="org.chorem.gepeto.EmploymentContractFull" %>
+<%@page import="org.chorem.entities.EmploymentContract" %>
+<%@page import="java.util.List" %>
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+ <head>
+ <title>
+ <s:text name="chorem.bonzoms.personDetails.title">
+ <s:param><%= PersonAction.getAction().getFirstName() %> <%= PersonAction.getAction().getLastName() %></s:param>
+ </s:text>
+ </title>
+ <s:head />
+ </head>
+ <body>
+ <h2><%= PersonAction.getAction().getFirstName() %> <%= PersonAction.getAction().getLastName() %></h2>
+ <s:actionerror />
+ <s:url action="modifyPerson" var="modifyPerson">
+ <s:param name="personId"><%= PersonAction.getAction().getPersonId() %></s:param>
+ </s:url>
+ <form action="${modifyPerson}" method="post">
+ <p>
+ <s:text name="chorem.bonzoms.person.birthDate" />: <%= PersonAction.getAction().getBirthDate() %>
+ <br />
+ <s:textfield key="chorem.bonzoms.person.email" name="email" labelSeparator=": " />
+ <br />
+ <s:submit key="chorem.misc.modify" name="submit" />
+ </p>
+ </form>
+ <s:text name="chorem.bonzoms.person.employmentContracts" />
+ <br />
+ <%
+ List<EmploymentContractFull> employmentContractsFull = PersonAction.getAction().getEmploymentContracts();
+ EmploymentContract employmentContract;
+
+ for (EmploymentContractFull employmentContractFull : employmentContractsFull) {
+ %>
+ <% employmentContract = employmentContractFull.getEmploymentContract(); %>
+ <s:url action="modifyEmploymentContract" var="modifyEmploymentContract">
+ <s:param name="employmentContractId"><%= employmentContract.getWikittyId() %></s:param>
+ <s:param name="personId"><%= employmentContractFull.getEmployee().getPerson().getWikittyId() %></s:param>
+ </s:url>
+ <form action="${modifyEmploymentContract}" method="post">
+ <p>
+ <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
+ <br />
+ <label for="type"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
+ <input type="text" name="type" id="type" value="<%= employmentContract.getType() %>" />
+ <br />
+ <br />
+ <label for="description"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
+ <br />
+ <textarea name="description" id="description"><%= employmentContract.getDescription() %></textarea>
+ <br />
+ <label for="salary"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
+ <input type="text" name="salary" id="salary" value="<%= employmentContract.getSalary() %>" size="6" />
+ <br />
+ <label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
+ <input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
+ <br />
+ <input type="submit" name="modify" />
+ </p>
+ </form>
+ <% } %>
+ </body>
+</html>
Property changes on: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetails.jsp
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp (rev 0)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp 2011-04-28 15:48:42 UTC (rev 114)
@@ -0,0 +1,55 @@
+<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@page import="org.chorem.bonzoms.action.PersonAction" %>
+<%@page import="org.chorem.gepeto.EmploymentContractFull" %>
+<%@page import="org.chorem.bonzoms.action.EmploymentContractAction" %>
+<%@page import="org.chorem.entities.EmploymentContract" %>
+<%@page import="java.util.List" %>
+<%@taglib prefix="s" uri="/struts-tags" %>
+
+<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
+ xmlns:jsp="http://java.sun.com/JSP/Page">
+ <head>
+ <title></title>
+ <s:head />
+ </head>
+ <body>
+ <p>
+ <s:text name="chorem.bonzoms.person.employmentContracts" />
+ <br />
+ <%
+ List<EmploymentContractFull> employmentContractsFull = EmploymentContractAction.getAction().getEmploymentContracts();
+ EmploymentContract employmentContract;
+
+ for (EmploymentContractFull employmentContractFull : employmentContractsFull) {
+ %>
+ <% employmentContract = employmentContractFull.getEmploymentContract(); %>
+ <s:url action="modifyEmploymentContract" var="modifyEmploymentContract">
+ <s:param name="employmentContractId"><%= employmentContract.getWikittyId() %></s:param>
+ <s:param name="personId"><%= employmentContractFull.getEmployee().getPerson().getWikittyId() %></s:param>
+ </s:url>
+ <s:actionerror />
+ <form action="${modifyEmploymentContract}" method="post">
+ <p>
+ <s:text name="chorem.bonzoms.employee.company" />: <%= employmentContractFull.getEmployee().getCompany().getName() %>
+ <br />
+ <label for="type"><s:text name="chorem.bonzoms.employmentContract.type" /></label>:
+ <input type="text" name="type" id="type" value="<%= employmentContract.getType() %>" />
+ <br />
+ <br />
+ <label for="description"><s:text name="chorem.bonzoms.employmentContract.description" /></label>:
+ <br />
+ <textarea name="description" id="description"><%= employmentContract.getDescription() %></textarea>
+ <br />
+ <label for="salary"><s:text name="chorem.bonzoms.employmentContract.salary" /></label>:
+ <input type="text" name="salary" id="salary" value="<%= employmentContract.getSalary() %>" size="6" />
+ <br />
+ <label for="workingTime"><s:text name="chorem.bonzoms.employmentContract.workingTime" /></label>:
+ <input type="text" name="workingTime" id="workingTime" value="<%= employmentContract.getWorkingTime() %>" size="2" />
+ <br />
+ <input type="submit" name="modify" />
+ </p>
+ </form>
+ <% } %>
+ </p>
+ </body>
+</html>
Property changes on: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/personDetailsEmploymentContract.jsp
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addTask.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addTask.jsp 2011-04-28 09:46:31 UTC (rev 113)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/addTask.jsp 2011-04-28 15:48:42 UTC (rev 114)
@@ -28,13 +28,13 @@
<s:textarea key="chorem.gepeto.task.description" name="description" cols="50" rows="10" labelposition="top" />
<br />
<br />
- <s:textfield key="chorem.gepeto.task.price" name="price" labelSeparator=": " />
+ <s:textfield key="chorem.gepeto.task.price" name="price" labelSeparator=": " size="4" />
<br />
- <s:textfield key="chorem.gepeto.task.estimatedDays" name="estimatedDays" labelSeparator=": " />
+ <s:textfield key="chorem.gepeto.task.estimatedDays" name="estimatedDays" labelSeparator=": " size="3" />
<br />
- <s:textfield key="chorem.gepeto.task.beginDate" name="beginDate" labelSeparator=": " />
+ <s:textfield key="chorem.gepeto.task.beginDate" name="beginDate" labelSeparator=": " size="7" />
<br />
- <s:textfield key="chorem.gepeto.task.estimatedEndDate" name="estimatedEndDate" labelSeparator=": " />
+ <s:textfield key="chorem.gepeto.task.estimatedEndDate" name="estimatedEndDate" labelSeparator=": " size="7" />
<br />
<br />
<s:submit key="chorem.gepeto.task.add" name="submit" />
1
0
r113 - trunk/chorem-web/src/main/java/org/chorem/gepeto/action
by vbriand@users.chorem.org 28 Apr '11
by vbriand@users.chorem.org 28 Apr '11
28 Apr '11
Author: vbriand
Date: 2011-04-28 11:46:31 +0200 (Thu, 28 Apr 2011)
New Revision: 113
Url: http://chorem.org/repositories/revision/chorem/113
Log:
Added a test to check if the end date is not set before the begin date
Modified:
trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
Modified: trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-28 09:07:36 UTC (rev 112)
+++ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-28 09:46:31 UTC (rev 113)
@@ -3,6 +3,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
+import java.util.Date;
import java.util.List;
import java.util.UUID;
@@ -152,6 +153,8 @@
beginDate != null &&
estimatedEndDate != null) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
+ Date begin = new Date(),
+ end = new Date();
//This is tested manually instead of using a validator because
//otherwise the company is not set (the validator returns INPUT and
@@ -173,18 +176,28 @@
//Lenient mode disabled because results may be very odd
formatter.setLenient(false);
try {
- projectOrder.setBeginDate(formatter.parse(beginDate));
+ begin = formatter.parse(beginDate);
+ projectOrder.setBeginDate(begin);
} catch (ParseException e) {
result = INPUT;
addFieldError("beginDate", getText(n_("chorem.date.wrongFormat")));
}
try {
- projectOrder.setEndDate(formatter.parse(estimatedEndDate));
+ end = formatter.parse(estimatedEndDate);
+ projectOrder.setEndDate(end);
} catch (ParseException e) {
result = INPUT;
addFieldError("estimatedEndDate", getText(n_("chorem.date.wrongFormat")));
}
- //TODO:tester si la date de fin est > à la date de début
+
+ //If end and begin have been initialized
+ if (result != INPUT) {
+ if (end.before(begin)) {
+ result = INPUT;
+ addFieldError("estimatedEndDate", getText(n_("chorem.endDate.afterBegin")));
+ }
+ }
+
projectOrder.setType(type);
if (result.equals(SUCCESS)) {
proxy.store(projectOrder);
1
0
r112 - in trunk/chorem-web/src/main: java/org/chorem/billy/action java/org/chorem/bonzoms resources/i18n webapp/WEB-INF/jsp/billy
by vbriand@users.chorem.org 28 Apr '11
by vbriand@users.chorem.org 28 Apr '11
28 Apr '11
Author: vbriand
Date: 2011-04-28 11:07:36 +0200 (Thu, 28 Apr 2011)
New Revision: 112
Url: http://chorem.org/repositories/revision/chorem/112
Log:
Fixed bugs and added supplier and customer on the quotation's page
Modified:
trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java
trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp
Modified: trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-28 08:10:35 UTC (rev 111)
+++ trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-28 09:07:36 UTC (rev 112)
@@ -110,6 +110,11 @@
setVta(String.valueOf(quotation.getVTA()));
setPostedDate(formatter.format(quotation.getPostedDate()));
setProjectId(quotation.getProject());
+ setSupplier(EmployeeFull.initEmployee(quotation.getSupplier(),
+ proxy));
+ System.out.println("((("+quotation+")))");
+ setCustomer(EmployeeFull.initEmployee(quotation.getCustomer(),
+ proxy));
} else {
result = ERROR;
}
@@ -167,6 +172,8 @@
protected String quotationId;
protected String supplierId;
protected String customerId;
+ protected EmployeeFull customer;
+ protected EmployeeFull supplier;
/**
* Returns the project order linked with the quotation (if it exists)
@@ -236,7 +243,7 @@
}
if (proxy.restore(Person.class, customerId) != null) {
- newQuotation.setSupplier(customerId);
+ newQuotation.setCustomer(customerId);
} else { //If the id doesn't exist or is invalid
addActionError(getText(n_("chorem.billy.quotation.invalidCustomer")));
result = false;
@@ -407,4 +414,32 @@
dayDate = formatter.format(calendar.getTime());
return dayDate;
}
+
+ /**
+ * @return the customer
+ */
+ public EmployeeFull getCustomer() {
+ return customer;
+ }
+
+ /**
+ * @param customer the customer to set
+ */
+ public void setCustomer(EmployeeFull customer) {
+ this.customer = customer;
+ }
+
+ /**
+ * @return the supplier
+ */
+ public EmployeeFull getSupplier() {
+ return supplier;
+ }
+
+ /**
+ * @param supplier the supplier to set
+ */
+ public void setSupplier(EmployeeFull supplier) {
+ this.supplier = supplier;
+ }
}
Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java 2011-04-28 08:10:35 UTC (rev 111)
+++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/EmployeeFull.java 2011-04-28 09:07:36 UTC (rev 112)
@@ -17,7 +17,7 @@
protected Person person;
/**
- * Returns an employee with its links
+ * Returns a list of employees with their links
*
* @param employees the list of employees
* @param proxy
@@ -26,10 +26,11 @@
public static List<EmployeeFull> initEmployeeFullList(List<Employee> employees, ChoremProxy proxy) {
Person person;
Company company;
- EmployeeFull employeeTmp = new EmployeeFull();
+ EmployeeFull employeeTmp;
List<EmployeeFull> employeesFullList = new ArrayList<EmployeeFull>();
for (Employee employee : employees) {
+ employeeTmp = new EmployeeFull();
employeeTmp.setEmployee(employee);
person = proxy.restore(Person.class, employee.getPerson());
employeeTmp.setPerson(person);
@@ -41,8 +42,30 @@
}
/**
+ * Returns an employee with its links
+ *
+ * @param employeeId the employee id
+ * @param proxy
* @return the employee
*/
+ public static EmployeeFull initEmployee(String employeeId, ChoremProxy proxy) {
+ Employee employee = proxy.restore(Employee.class, employeeId);
+ EmployeeFull employeeFull = new EmployeeFull();
+ Person person;
+ Company company;
+
+ employeeFull.setEmployee(employee);
+ System.out.println(employeeId+":"+employee+":"+proxy);
+ person = proxy.restore(Person.class, employee.getPerson());
+ employeeFull.setPerson(person);
+ company = proxy.restore(Company.class, employee.getCompany());
+ employeeFull.setCompany(company);
+ return employeeFull;
+ }
+
+ /**
+ * @return the employee
+ */
public Employee getEmployee() {
return employee;
}
Modified: trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties
===================================================================
--- trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-28 08:10:35 UTC (rev 111)
+++ trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-04-28 09:07:36 UTC (rev 112)
@@ -6,6 +6,7 @@
chorem.billy.quotation.addToProject=Add a new quotation to the project "{0}"
chorem.billy.quotation.amount=Amount
chorem.billy.quotation.backToProjectDetails=Get back to project
+chorem.billy.quotation.customer=
chorem.billy.quotation.description=Description
chorem.billy.quotation.invalidCustomer=
chorem.billy.quotation.invalidSupplier=
@@ -17,6 +18,7 @@
chorem.billy.quotation.projectOrder.estimatedEndDate=
chorem.billy.quotation.projectOrder.type=
chorem.billy.quotation.reference=Reference
+chorem.billy.quotation.supplier=
chorem.billy.quotation.vta=VTA
chorem.billy.quotationDetails.title=
chorem.bonzoms.companies=
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp 2011-04-28 08:10:35 UTC (rev 111)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp 2011-04-28 09:07:36 UTC (rev 112)
@@ -2,6 +2,7 @@
<%@page import="org.chorem.billy.action.QuotationAction" %>
<%@page import="org.chorem.entities.ProjectOrder" %>
<%@page import="org.chorem.JspUtils" %>
+<%@page import="org.chorem.bonzoms.EmployeeFull" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -34,6 +35,18 @@
<br />
<s:textfield name="postedDate" key="chorem.billy.quotation.postedDate" labelSeparator=": " size="7" />
<br />
+ <% EmployeeFull supplier = QuotationAction.getAction().getSupplier(); %>
+ <s:url namespace="/bonzoms" action="companyDetails" var="companyDetails">
+ <s:param name="companyId"><%= supplier.getCompany().getWikittyId() %></s:param>
+ </s:url>
+ <s:text name="chorem.billy.quotation.supplier" />: <a href="${companyDetails}"><%= supplier.getCompany().getName() %></a> - <%= supplier.getPerson().getLastName() %> <%= supplier.getPerson().getFirstName() %> (<%= JspUtils.dateFormat(supplier.getPerson().getBirthDate()) %>)
+ <br />
+ <% EmployeeFull customer = QuotationAction.getAction().getCustomer(); %>
+ <s:url namespace="/bonzoms" action="companyDetails" var="companyDetails">
+ <s:param name="companyId"><%= supplier.getCompany().getWikittyId() %></s:param>
+ </s:url>
+ <s:text name="chorem.billy.quotation.customer" />: <a href="${companyDetails}"><%= customer.getCompany().getName() %></a> - <%= customer.getPerson().getLastName() %> <%= customer.getPerson().getFirstName() %> (<%= JspUtils.dateFormat(customer.getPerson().getBirthDate()) %>)
+ <br />
<s:submit key="chorem.misc.modify" name="modify" />
</p>
</form>
1
0
r111 - in trunk/chorem-web/src/main: java/org/chorem/billy/action java/org/chorem/gepeto/action webapp/WEB-INF/jsp/billy webapp/WEB-INF/jsp/bonzoms webapp/WEB-INF/jsp/gepeto
by vbriand@users.chorem.org 28 Apr '11
by vbriand@users.chorem.org 28 Apr '11
28 Apr '11
Author: vbriand
Date: 2011-04-28 10:10:35 +0200 (Thu, 28 Apr 2011)
New Revision: 111
Url: http://chorem.org/repositories/revision/chorem/111
Log:
Added missing date formatting and reduced some fields' size
Modified:
trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/addQuotation.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp
Modified: trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-22 15:39:17 UTC (rev 110)
+++ trunk/chorem-web/src/main/java/org/chorem/billy/action/QuotationAction.java 2011-04-28 08:10:35 UTC (rev 111)
@@ -2,6 +2,7 @@
import java.text.ParseException;
import java.text.SimpleDateFormat;
+import java.util.Calendar;
import java.util.List;
import java.util.UUID;
@@ -392,4 +393,18 @@
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
+
+ /**
+ * Returns the current date
+ *
+ * @return the current date in a string
+ */
+ public String getDayDate() {
+ Calendar calendar = Calendar.getInstance();
+ SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
+ String dayDate;
+
+ dayDate = formatter.format(calendar.getTime());
+ return dayDate;
+ }
}
Modified: trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-22 15:39:17 UTC (rev 110)
+++ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-28 08:10:35 UTC (rev 111)
@@ -184,6 +184,7 @@
result = INPUT;
addFieldError("estimatedEndDate", getText(n_("chorem.date.wrongFormat")));
}
+ //TODO:tester si la date de fin est > à la date de début
projectOrder.setType(type);
if (result.equals(SUCCESS)) {
proxy.store(projectOrder);
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/addQuotation.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/addQuotation.jsp 2011-04-22 15:39:17 UTC (rev 110)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/addQuotation.jsp 2011-04-28 08:10:35 UTC (rev 111)
@@ -3,6 +3,7 @@
<%@page import="org.chorem.bonzoms.EmployeeFull" %>
<%@page import="org.chorem.entities.Person" %>
<%@page import="org.chorem.billy.action.QuotationAction" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -34,7 +35,7 @@
<br />
<s:textfield key="chorem.billy.quotation.vta" name="vta" labelSeparator=": " size="2" />%
<br />
- <s:textfield key="chorem.billy.quotation.postedDate" name="postedDate" labelSeparator=": " size="7" />
+ <s:textfield key="chorem.billy.quotation.postedDate" name="postedDate" labelSeparator=": " size="7" value="%{dayDate}" />
<br />
<label for="supplierId" class="label"><s:text name="chorem.billy.quotation.supplier" />: </label>
<select name="supplierId" id="supplierId">
@@ -43,7 +44,7 @@
for (EmployeeFull employee : employees) {
%>
- <option value="<%= employee.getEmployee().getWikittyId() %>"><%= employee.getCompany().getName() %> - <%= employee.getPerson().getLastName() %> <%= employee.getPerson().getFirstName() %> (<%= employee.getPerson().getBirthDate() %>)</option>
+ <option value="<%= employee.getEmployee().getWikittyId() %>"><%= employee.getCompany().getName() %> - <%= employee.getPerson().getLastName() %> <%= employee.getPerson().getFirstName() %> (<%= JspUtils.dateFormat(employee.getPerson().getBirthDate()) %>)</option>
<% } %>
</select>
<br />
@@ -52,7 +53,7 @@
<%
for (EmployeeFull employee : employees) {
%>
- <option value="<%= employee.getEmployee().getWikittyId() %>"><%= employee.getCompany().getName() %> - <%= employee.getPerson().getLastName() %> <%= employee.getPerson().getFirstName() %> (<%= employee.getPerson().getBirthDate() %>)</option>
+ <option value="<%= employee.getEmployee().getWikittyId() %>"><%= employee.getCompany().getName() %> - <%= employee.getPerson().getLastName() %> <%= employee.getPerson().getFirstName() %> (<%= JspUtils.dateFormat(employee.getPerson().getBirthDate()) %>)</option>
<% } %>
</select>
<br />
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp 2011-04-22 15:39:17 UTC (rev 110)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp 2011-04-28 08:10:35 UTC (rev 111)
@@ -20,21 +20,21 @@
<br />
<s:textfield key="chorem.bonzoms.person.email" name="email" labelSeparator=": " />
<br />
- <s:textfield key="chorem.bonzoms.person.birthDate" name="birthDate" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.person.birthDate" name="birthDate" labelSeparator=": " size="7" />
<br />
<br />
<s:textfield key="chorem.bonzoms.person.addressLine1" name="addressLine1" labelSeparator=": " />
<br />
<s:textfield key="chorem.bonzoms.person.addressLine2" name="addressLine2" labelSeparator=": " />
<br />
- <s:textfield key="chorem.bonzoms.person.postcode" name="postcode" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.person.postcode" name="postcode" labelSeparator=": " size="5" />
<br />
<s:textfield key="chorem.bonzoms.person.city" name="city" labelSeparator=": " />
<br />
<s:textfield key="chorem.bonzoms.person.country" name="country" labelSeparator=": " />
<br />
<br />
- <s:textfield key="chorem.bonzoms.person.phoneNb" name="phoneNb" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.person.phoneNb" name="phoneNb" labelSeparator=": " size="8" />
</fieldset>
<br />
<fieldset>
@@ -54,13 +54,13 @@
<br />
<s:textarea key="chorem.bonzoms.employmentContract.description" name="contractDescription" rows="10" cols="50" labelposition="top" />
<br />
- <s:textfield key="chorem.bonzoms.employmentContract.salary" name="contractSalary" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.employmentContract.salary" name="contractSalary" labelSeparator=": " size="4" />
<br />
- <s:textfield key="chorem.bonzoms.employmentContract.workingTime" name="contractWorkingTime" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.employmentContract.workingTime" name="contractWorkingTime" labelSeparator=": " size="1" />
<br />
- <s:textfield key="chorem.bonzoms.employmentContract.beginDate" name="contractBeginDate" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.employmentContract.beginDate" name="contractBeginDate" labelSeparator=": " size="7" />
<br />
- <s:textfield key="chorem.bonzoms.employmentContract.endDate" name="contractEndDate" labelSeparator=": " />
+ <s:textfield key="chorem.bonzoms.employmentContract.endDate" name="contractEndDate" labelSeparator=": " size="7" />
</fieldset>
</fieldset>
<br />
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp 2011-04-22 15:39:17 UTC (rev 110)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp 2011-04-28 08:10:35 UTC (rev 111)
@@ -112,7 +112,7 @@
</s:url>
<s:text name="chorem.gepeto.projectDetails.quotation">
<s:param>
- <%= quotation.getPostedDate() %>
+ <%= JspUtils.dateFormat(quotation.getPostedDate()) %>
</s:param>
<s:param>
<a href="${quotationDetails}"><%= quotation.getReference() %></a>
1
0
r110 - in trunk/chorem-web/src/main: java/org/chorem webapp/WEB-INF/jsp/billy webapp/WEB-INF/jsp/bonzoms webapp/WEB-INF/jsp/gepeto
by vbriand@users.chorem.org 22 Apr '11
by vbriand@users.chorem.org 22 Apr '11
22 Apr '11
Author: vbriand
Date: 2011-04-22 17:39:17 +0200 (Fri, 22 Apr 2011)
New Revision: 110
Url: http://chorem.org/repositories/revision/chorem/110
Log:
The dates are now formatted and easier to read
Added:
trunk/chorem-web/src/main/java/org/chorem/JspUtils.java
Modified:
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectOrderDetails.jsp
trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectsByYear.jsp
Added: trunk/chorem-web/src/main/java/org/chorem/JspUtils.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/JspUtils.java (rev 0)
+++ trunk/chorem-web/src/main/java/org/chorem/JspUtils.java 2011-04-22 15:39:17 UTC (rev 110)
@@ -0,0 +1,25 @@
+package org.chorem;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * Convenient static methods to format output on jsp pages
+ *
+ * @author vbriand
+ */
+public class JspUtils {
+ /**
+ * Formats a full date to something easily readable
+ *
+ * @param date
+ * @return the formatted date
+ */
+ public static String dateFormat(Date date) {
+ String dateReturn;
+ SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
+
+ dateReturn = formatter.format(date);
+ return dateReturn;
+ }
+}
Property changes on: trunk/chorem-web/src/main/java/org/chorem/JspUtils.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp 2011-04-22 15:06:34 UTC (rev 109)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/billy/quotationDetails.jsp 2011-04-22 15:39:17 UTC (rev 110)
@@ -1,6 +1,7 @@
<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@page import="org.chorem.billy.action.QuotationAction" %>
<%@page import="org.chorem.entities.ProjectOrder" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -52,10 +53,10 @@
<a href="${projectOrderDetails}">
<s:text name="chorem.gepeto.projectDetails.projectOrder">
<s:param>
- <%= projectOrder.getBeginDate() %>
+ <%= JspUtils.dateFormat(projectOrder.getBeginDate()) %>
</s:param>
<s:param>
- <%= projectOrder.getEndDate() %>
+ <%= JspUtils.dateFormat(projectOrder.getEndDate()) %>
</s:param>
</s:text>
</a>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp 2011-04-22 15:06:34 UTC (rev 109)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/companyDetails.jsp 2011-04-22 15:39:17 UTC (rev 110)
@@ -2,6 +2,7 @@
<%@page import="java.util.List" %>
<%@page import="org.chorem.entities.Person" %>
<%@page import="org.chorem.bonzoms.action.CompanyAction" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -50,7 +51,7 @@
for (Person employee : employees) {
%>
<%= employee.getFirstName() %> <%= employee.getLastName() %><br />
- <%= employee.getBirthDate() %><br />
+ <%= JspUtils.dateFormat(employee.getBirthDate()) %><br />
<%= employee.getEmail() %><br />
<%
}
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp 2011-04-22 15:06:34 UTC (rev 109)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectDetails.jsp 2011-04-22 15:39:17 UTC (rev 110)
@@ -3,6 +3,7 @@
<%@page import="org.chorem.entities.ProjectOrder" %>
<%@page import="org.chorem.entities.Quotation" %>
<%@page import="org.chorem.gepeto.action.ProjectAction" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -56,10 +57,10 @@
<a href="${projectOrderDetails}">
<s:text name="chorem.gepeto.projectDetails.projectOrder">
<s:param>
- <%= projectOrder.getBeginDate() %>
+ <%= JspUtils.dateFormat(projectOrder.getBeginDate()) %>
</s:param>
<s:param>
- <%= projectOrder.getEndDate() %>
+ <%= JspUtils.dateFormat(projectOrder.getEndDate()) %>
</s:param>
</s:text>
</a>
@@ -84,7 +85,7 @@
</s:url>
<s:text name="chorem.gepeto.projectDetails.quotation">
<s:param>
- <%= quotation.getPostedDate() %>
+ <%= JspUtils.dateFormat(quotation.getPostedDate()) %>
</s:param>
<s:param>
<a href="${quotationDetails}"><%= quotation.getReference() %></a>
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectOrderDetails.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectOrderDetails.jsp 2011-04-22 15:06:34 UTC (rev 109)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectOrderDetails.jsp 2011-04-22 15:39:17 UTC (rev 110)
@@ -2,6 +2,7 @@
<%@page import="java.util.List" %>
<%@page import="org.chorem.entities.Task" %>
<%@page import="org.chorem.gepeto.action.ProjectOrderAction" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -74,11 +75,11 @@
</s:text>
<br />
<s:text name="chorem.gepeto.projectOrderDetails.task.beginDate">
- <s:param><%= task.getBeginDate() %></s:param>
+ <s:param><%= JspUtils.dateFormat(task.getBeginDate()) %></s:param>
</s:text>
<br />
<s:text name="chorem.gepeto.projectOrderDetails.task.endDate">
- <s:param><%= task.getEndDate() %></s:param>
+ <s:param><%= JspUtils.dateFormat(task.getEndDate()) %></s:param>
</s:text>
<br />
<br />
Modified: trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectsByYear.jsp
===================================================================
--- trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectsByYear.jsp 2011-04-22 15:06:34 UTC (rev 109)
+++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/gepeto/projectsByYear.jsp 2011-04-22 15:39:17 UTC (rev 110)
@@ -4,6 +4,7 @@
<%@page import="org.chorem.entities.Project" %>
<%@page import="org.chorem.gepeto.ProjectOrderFull" %>
<%@page import="org.chorem.gepeto.action.ProjectAction" %>
+<%@page import="org.chorem.JspUtils" %>
<%@taglib prefix="s" uri="/struts-tags" %>
<html xmlns:s="http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
@@ -59,8 +60,8 @@
}
%>
</td>
- <td><%= project.getProjectOrder().getBeginDate() %></td>
- <td><%= project.getProjectOrder().getEndDate() %></td>
+ <td><%= JspUtils.dateFormat(project.getProjectOrder().getBeginDate()) %></td>
+ <td><%= JspUtils.dateFormat(project.getProjectOrder().getEndDate()) %></td>
</tr>
<% } %>
</tbody>
1
0
r109 - trunk/chorem-web/src/main/java/org/chorem/gepeto/action
by vbriand@users.chorem.org 22 Apr '11
by vbriand@users.chorem.org 22 Apr '11
22 Apr '11
Author: vbriand
Date: 2011-04-22 17:06:34 +0200 (Fri, 22 Apr 2011)
New Revision: 109
Url: http://chorem.org/repositories/revision/chorem/109
Log:
Fixed a null pointer exception if the form hasn't been submitted and the user tries to modify the project order
Modified:
trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
Modified: trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java
===================================================================
--- trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-22 15:00:28 UTC (rev 108)
+++ trunk/chorem-web/src/main/java/org/chorem/gepeto/action/ProjectOrderAction.java 2011-04-22 15:06:34 UTC (rev 109)
@@ -147,7 +147,10 @@
ChoremProxy proxy = getChoremProxy();
projectOrder = proxy.restore(ProjectOrder.class, projectOrderId);
- if (projectOrder != null) { //If the id exists
+ //If the id exists and the form has been submitted
+ if (projectOrder != null && type != null &&
+ beginDate != null &&
+ estimatedEndDate != null) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
//This is tested manually instead of using a validator because
1
0