Author: vbriand Date: 2011-03-31 10:26:28 +0200 (Thu, 31 Mar 2011) New Revision: 47 Url: http://chorem.org/repositories/revision/chorem/47 Log: Added contact details for the person (postal address, phone number) Added: trunk/chorem-web/src/main/java/org/chorem/ContactDetailsConstants.java Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/CompanyAction.java 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/org/chorem/bonzoms/action/PersonAction-validation.xml trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp Added: trunk/chorem-web/src/main/java/org/chorem/ContactDetailsConstants.java =================================================================== --- trunk/chorem-web/src/main/java/org/chorem/ContactDetailsConstants.java (rev 0) +++ trunk/chorem-web/src/main/java/org/chorem/ContactDetailsConstants.java 2011-03-31 08:26:28 UTC (rev 47) @@ -0,0 +1,12 @@ +package org.chorem; + +/** + * Contact details constants + * + * @author vbriand + */ +public interface ContactDetailsConstants { + public static final String CONTACT_DETAILS_POSTAL_ADDRESS = "Postal address"; + public static final String CONTACT_DETAILS_PHONE = "Phone number"; + public static final String CONTACT_DETAILS_WEBSITE = "Website"; +} Property changes on: trunk/chorem-web/src/main/java/org/chorem/ContactDetailsConstants.java ___________________________________________________________________ Added: svn:mime-type + text/plain Modified: trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/CompanyAction.java =================================================================== --- trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/CompanyAction.java 2011-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/CompanyAction.java 2011-03-31 08:26:28 UTC (rev 47) @@ -3,6 +3,7 @@ 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.entities.CompanyImpl; import org.chorem.entities.ContactDetailsImpl; @@ -14,17 +15,11 @@ * * @author vbriand */ -public class CompanyAction extends BaseAction { +public class CompanyAction extends BaseAction implements ContactDetailsConstants { private static final long serialVersionUID = 2266576941588474102L; private static final Log log = LogFactory.getLog(CompanyAction.class); - - private static final String CONTACT_DETAILS_POSTAL_ADDRESS = "Postal address"; - - private static final String CONTACT_DETAILS_PHONE = "Phone number"; - - private static final String CONTACT_DETAILS_WEBSITE = "Website"; public String add() { String result = INPUT; 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-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/java/org/chorem/bonzoms/action/PersonAction.java 2011-03-31 08:26:28 UTC (rev 47) @@ -6,7 +6,9 @@ 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.entities.ContactDetailsImpl; import org.chorem.entities.PersonImpl; import static org.nuiton.i18n.I18n.n_; @@ -16,7 +18,7 @@ * * @author vbriand */ -public class PersonAction extends BaseAction { +public class PersonAction extends BaseAction implements ContactDetailsConstants { private static final long serialVersionUID = -5757750975509965421L; @@ -51,6 +53,12 @@ protected String lastName; protected String email; protected String birthDate; + protected String addressLine1; + protected String addressLine2; + protected String postcode; + protected String city; + protected String country; + protected String phoneNb; /** * Stores the new person through the proxy @@ -64,6 +72,7 @@ try { ChoremProxy proxy = getChoremProxy(); PersonImpl newPerson = new PersonImpl(); + ContactDetailsImpl newContactDetails = new ContactDetailsImpl(); SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); newPerson.setFirstName(firstName); @@ -78,8 +87,32 @@ result = false; addActionError(getText(n_("chorem.date.wrongFormat"))); } + //If everything went smoothly if (result) { + String address = addressLine1; + + if (!addressLine2.isEmpty()) { + address += "\n" + addressLine2; + } + address += "\n" + postcode + "\n" + city + "\n" + country; + + newContactDetails.setName(CONTACT_DETAILS_POSTAL_ADDRESS + + " of person \"" + firstName + " " + lastName + "\""); + newContactDetails.setType(CONTACT_DETAILS_POSTAL_ADDRESS); + newContactDetails.setValue(address); + newContactDetails.setTarget(newPerson.getWikittyId()); + proxy.store(newContactDetails); + + if (!phoneNb.isEmpty()) { + newContactDetails = new ContactDetailsImpl(); + newContactDetails.setName(CONTACT_DETAILS_PHONE + + " of person \"" + firstName + " " + lastName + "\""); + newContactDetails.setType(CONTACT_DETAILS_PHONE); + newContactDetails.setValue(phoneNb); + newContactDetails.setTarget(newPerson.getWikittyId()); + proxy.store(newContactDetails); + } proxy.store(newPerson); } } catch (Exception e) { @@ -145,4 +178,88 @@ public void setBirthDate(String birthDate) { this.birthDate = birthDate; } + + /** + * @return the addressLine1 + */ + public String getAddressLine1() { + return addressLine1; + } + + /** + * @param addressLine1 the addressLine1 to set + */ + public void setAddressLine1(String addressLine1) { + this.addressLine1 = addressLine1; + } + + /** + * @return the addressLine2 + */ + public String getAddressLine2() { + return addressLine2; + } + + /** + * @param addressLine2 the addressLine2 to set + */ + public void setAddressLine2(String addressLine2) { + this.addressLine2 = addressLine2; + } + + /** + * @return the postcode + */ + public String getPostcode() { + return postcode; + } + + /** + * @param postcode the postcode to set + */ + public void setPostcode(String postcode) { + this.postcode = postcode; + } + + /** + * @return the city + */ + public String getCity() { + return city; + } + + /** + * @param city the city to set + */ + public void setCity(String city) { + this.city = city; + } + + /** + * @return the country + */ + public String getCountry() { + return country; + } + + /** + * @param country the country to set + */ + public void setCountry(String country) { + this.country = country; + } + + /** + * @return the phoneNb + */ + public String getPhoneNb() { + return phoneNb; + } + + /** + * @param phoneNb the phoneNb to set + */ + public void setPhoneNb(String phoneNb) { + this.phoneNb = phoneNb; + } } 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-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/resources/i18n/chorem-web_en_GB.properties 2011-03-31 08:26:28 UTC (rev 47) @@ -1,7 +1,7 @@ chorem.beginDate.beforeToday=The date cannot be set before today''s date chorem.bonzoms.company=Company {0} chorem.bonzoms.company.add=Add a new company -chorem.bonzoms.company.addressLine1=Address line 1 +chorem.bonzoms.company.addressLine1=Address chorem.bonzoms.company.addressLine1.required=You must enter the first address line chorem.bonzoms.company.addressLine2=Address line 2 (opt.) chorem.bonzoms.company.city=City @@ -45,8 +45,15 @@ chorem.bonzoms.home=Home chorem.bonzoms.person=Person chorem.bonzoms.person.add=Add a new person +chorem.bonzoms.person.addressLine1=Address +chorem.bonzoms.person.addressLine1.required=You must enter the first address line +chorem.bonzoms.person.addressLine2=Address line 2 (opt.) chorem.bonzoms.person.birthDate=Birth date (dd/mm/yyyy) chorem.bonzoms.person.birthDate.required=You must enter the person''s birth date +chorem.bonzoms.person.city=City +chorem.bonzoms.person.city.required=You must enter the city +chorem.bonzoms.person.country=Country +chorem.bonzoms.person.country.required=You must enter the country chorem.bonzoms.person.create.error=An error occurred while adding the person, please try again. If the problem persists, please contact an administrator chorem.bonzoms.person.email=Email chorem.bonzoms.person.email.required=You must enter the person''s email @@ -55,6 +62,9 @@ chorem.bonzoms.person.firstName.required=You must enter the person''s first name chorem.bonzoms.person.lastName=Last name chorem.bonzoms.person.lastName.required=You must enter the person''s last name +chorem.bonzoms.person.phoneNb=Phone number (opt.) +chorem.bonzoms.person.postcode=Postcode +chorem.bonzoms.person.postcode.required=You must enter the postcode chorem.config.configFileName.description=chorem''s configuration filename chorem.date.wrongFormat=The date must be in the following format \: dd/mm/yyyy chorem.endDate.afterBegin=The end date cannot be posterior to the begin date 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-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/resources/i18n/chorem-web_fr_FR.properties 2011-03-31 08:26:28 UTC (rev 47) @@ -45,8 +45,12 @@ chorem.bonzoms.home=Accueil chorem.bonzoms.person=Personne chorem.bonzoms.person.add=Ajouter une nouvelle personne +chorem.bonzoms.person.addressLine1=Adresse +chorem.bonzoms.person.addressLine2=Adresse ligne 2 (opt.) chorem.bonzoms.person.birthDate=Date de naissance chorem.bonzoms.person.birthDate.required=Vous devez entrer la date de naissance de la personne +chorem.bonzoms.person.city=Ville +chorem.bonzoms.person.country=Pays chorem.bonzoms.person.create.error=Une erreur s''est produite lors de l''ajout de la personne, merci d''essayer \u00E0 nouveau. Si le probl\u00E8me se reproduit, merci de contacter un administrateur chorem.bonzoms.person.email=Email chorem.bonzoms.person.email.required=Vous devez entrer l''adresse email de la personne @@ -55,6 +59,8 @@ chorem.bonzoms.person.firstName.required=Vous devez entrer le pr\u00E9nom de la personne chorem.bonzoms.person.lastName=Nom chorem.bonzoms.person.lastName.required=Vous devez entrer le nom de la personne +chorem.bonzoms.person.phoneNb=Num\u00E9ro de t\u00E9l\u00E9phone (opt.) +chorem.bonzoms.person.postcode=Code postal chorem.config.configFileName.description=Nom du fichier de configuration de chorem chorem.date.wrongFormat=La date doit respecter le format suivant \: jj/mm/yyyy chorem.endDate.afterBegin=La date de fin ne doit pas pas \u00EAtre ant\u00E9rieure \u00E0 la date de d\u00E9but Modified: trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/PersonAction-validation.xml =================================================================== --- trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/PersonAction-validation.xml 2011-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/resources/org/chorem/bonzoms/action/PersonAction-validation.xml 2011-03-31 08:26:28 UTC (rev 47) @@ -26,4 +26,24 @@ <message key="chorem.bonzoms.person.birthDate.required" /> </field-validator> </field> + <field name="addressLine1"> + <field-validator type="requiredstring"> + <message key="chorem.bonzoms.person.addressLine1.required" /> + </field-validator> + </field> + <field name="postcode"> + <field-validator type="postcode"> + <message key="chorem.bonzoms.person.postcode.required" /> + </field-validator> + </field> + <field name="city"> + <field-validator type="city"> + <message key="chorem.bonzoms.person.city.required" /> + </field-validator> + </field> + <field name="country"> + <field-validator type="country"> + <message key="chorem.bonzoms.person.country.required" /> + </field-validator> + </field> </validators> 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-03-25 16:57:24 UTC (rev 46) +++ trunk/chorem-web/src/main/webapp/WEB-INF/jsp/bonzoms/addPerson.jsp 2011-03-31 08:26:28 UTC (rev 47) @@ -21,6 +21,20 @@ <br /> <s:textfield key="chorem.bonzoms.person.birthDate" name="birthDate" labelSeparator=": " /> <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=": " /> + <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=": " /> + <br /> <s:submit key="chorem.bonzoms.person.add" name="submit" /> </fieldset> </s:form>