Commit 553f27e5 by Liv Haapala

syntymäpäivä -> syntymäaika

Iän näyttäminen käyttäjän tietoihin
1 parent 3d49424b
package fi.codecrew.moya.model;
import java.math.BigDecimal;
import java.sql.Time;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
......@@ -25,9 +27,13 @@ import javax.validation.constraints.NotNull;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
import org.eclipse.persistence.annotations.PrivateOwned;
import org.eclipse.persistence.annotations.TimeOfDay;
import org.eclipse.persistence.jpa.jpql.parser.DateTime;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.sun.xml.ws.commons.xmlutil.Converter;
import fi.codecrew.moya.enums.Gender;
import fi.codecrew.moya.utilities.PasswordFunctions;
......@@ -367,4 +373,40 @@ public class User extends GenericEntity implements IUser {
this.licenseCodes = codes;
}
public BigDecimal getAge() {
BigDecimal age = new BigDecimal(0);
if(birthday != null) {
Calendar calBirthday = Calendar.getInstance();
calBirthday.setTime(birthday);
Calendar calNow = Calendar.getInstance();
int yearB = calBirthday.get(Calendar.YEAR);
int yearNow = calNow.get(Calendar.YEAR);
int years = yearNow - yearB -1;
int dayOfYearBirthDay = calBirthday.get(Calendar.DAY_OF_YEAR);
int dayOfYear = calNow.get(Calendar.DAY_OF_YEAR);
int days = 0;
if(dayOfYearBirthDay > dayOfYear) {
calBirthday.set(Calendar.YEAR, yearNow - 1);
days = 365 - calBirthday.get(Calendar.DAY_OF_YEAR) + dayOfYear;
} else {
days = dayOfYear - dayOfYearBirthDay;
}
BigDecimal decimalYears = new BigDecimal(years);
float fraction = (float)((float)days/(float)365);
BigDecimal decimalDays = new BigDecimal(fraction);
age = age.add(decimalYears);
age = age.add(decimalDays);
System.out.print("Years: " + years + "\n");
System.out.print("Days: " + days + "\n");
System.out.print("Fraction of days: " + fraction + "\n");
}
return age;
}
}
......@@ -62,7 +62,7 @@
<dependent-module archiveName="jrobin-1.5.9.jar" deploy-path="/lib" handle="module:/classpath/var/M2_REPO/org/jrobin/jrobin/1.5.9/jrobin-1.5.9.jar">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="moya-mgmt-web-0.2.0.war" deploy-path="/" handle="module:/classpath/var/M2_REPO/fi/codecrew/moya/moya-mgmt-web/0.2.0/moya-mgmt-web-0.2.0.war">
<dependent-module archiveName="moya-mgmt-web-0.2.0.war" deploy-path="/" handle="module:/resource/MoyaEventMgmtWeb/MoyaEventMgmtWeb">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="commons-digester-2.1.jar" deploy-path="/lib" handle="module:/classpath/var/M2_REPO/commons-digester/commons-digester/2.1/commons-digester-2.1.jar">
......
......@@ -86,59 +86,90 @@
<table>
<ui:fragment rendered="#{!cc.attrs.creating}">
<tr>
<td colspan="2"><h:outputLabel for="login" value="#{i18n['user.login']}" /><br /> <h:outputText value="#{userView.selectedUser.login}" id="login" /></td>
<td colspan="2"><b><h:outputLabel for="login" value="#{i18n['user.login']}" /></b><br />
<h:outputText value="#{userView.selectedUser.login}" id="login" />
</td>
</tr>
</ui:fragment>
<tr>
<td colspan="2"><h:outputLabel value="#{i18n['user.nick']}" for="nick" /> <br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td colspan="2"><b><h:outputLabel value="#{i18n['user.nick']}" for="nick" /> </b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="45" id="nick" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.nick}" />
</p:inplace></td>
</p:inplace>
</td>
</tr>
<tr>
<td><h:outputLabel value="#{i18n['user.firstNames']}" for="firstnames" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td><b><h:outputLabel value="#{i18n['user.firstNames']}" for="firstnames" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="22" id="firstnames" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.firstnames}" />
</p:inplace></td>
<td><h:outputLabel value="#{i18n['user.lastName']}" for="lastname" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
</p:inplace>
</td>
<td><b><h:outputLabel value="#{i18n['user.lastName']}" for="lastname" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="30" id="lastname" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.lastname}" />
</p:inplace></td>
</p:inplace>
</td>
</tr>
<tr>
<td><h:outputLabel for="birthday" value="#{i18n['user.birthday']}" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:calendar id="birthday" navigator="true" yearRange="c-80:c-0" value="#{userView.selectedUser.birthday}">
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:calendar>
</p:inplace> <h:message for="birthday" /></td>
<td><h:outputLabel value="#{i18n['user.sex']}" for="sex" /> <br /> <p:selectOneMenu disabled="#{!cc.attrs.creating and !userView.canSave}" id="sex" value="#{userView.selectedUser.gender}">
<td colspan="2"><b><h:outputLabel value="#{i18n['user.sex']}" for="sex" /></b> <br />
<p:selectOneMenu disabled="#{!cc.attrs.creating and !userView.canSave}" id="sex" value="#{userView.selectedUser.gender}">
<f:selectItem id="undefined" itemLabel="#{i18n['user.sex.UNDEFINED']}" itemValue="UNDEFINED" />
<f:selectItem id="male" itemLabel="#{i18n['user.sex.MALE']}" itemValue="MALE" />
<f:selectItem id="female" itemLabel="#{i18n['user.sex.FEMALE']}" itemValue="FEMALE" />
</p:selectOneMenu></td>
</p:selectOneMenu>
</td>
</tr>
<tr>
<td><b><h:outputLabel for="birthday" value="#{i18n['user.birthday']}" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:calendar id="birthday" navigator="true" yearRange="c-80:c-0" value="#{userView.selectedUser.birthday}">
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:calendar>
</p:inplace> <h:message for="birthday" />
</td>
<td><b><h:outputLabel for="age" value="#{i18n['user.age']}" /></b><br />
<h:outputText value="#{userView.selectedUser.user.age}">
<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</td>
</tr>
</table>
<table>
<tr>
<td colspan="2"><p:outputLabel value="#{i18n['user.address']}" for="address" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td colspan="2"><b><p:outputLabel value="#{i18n['user.address']}" for="address" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="45" id="address" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.address}" />
</p:inplace></td>
</p:inplace>
</td>
</tr>
<tr>
<td><p:outputLabel value="#{i18n['user.zipCode']}" for="zip" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td><b><p:outputLabel value="#{i18n['user.zipCode']}" for="zip" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="7" id="zip" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.zip}" />
</p:inplace> <p:message for="zip" /></td>
<td><p:outputLabel value="#{i18n['user.town']}" for="town" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
</p:inplace> <p:message for="zip" />
</td>
<td><b><p:outputLabel value="#{i18n['user.town']}" for="town" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="25" id="town" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.town}" />
</p:inplace> <p:message for="town" /></td>
</p:inplace> <p:message for="town" />
</td>
</tr>
<tr>
<td colspan="2"><h:outputLabel value="#{i18n['user.email']}" for="email" /> <br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td colspan="2"><b><h:outputLabel value="#{i18n['user.email']}" for="email" /></b> <br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText validator="#{userValidator.validateEmail}" size="45" id="email" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.email}" />
</p:inplace></td>
</p:inplace>
</td>
</tr>
<tr>
<td><p:outputLabel value="#{i18n['user.phone']}" for="phone" /><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td><b><p:outputLabel value="#{i18n['user.phone']}" for="phone" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="7" id="phone" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.phone}" />
</p:inplace> <p:message for="phone" /></td>
</p:inplace> <p:message for="phone" />
</td>
</tr>
</table>
......
......@@ -1151,6 +1151,7 @@ user.accountBalance = Account balance
user.accountEventHeader = Account events
user.accountevents = Account events
user.address = Address
user.age = Age
user.bank = Bank
user.bankaccount = Bank number
user.birthday = Birthday
......
......@@ -1136,9 +1136,10 @@ user.accountBalance = Tilin saldo
user.accountEventHeader = Tilitapahtumat
user.accountevents = Tilitapahtumat
user.address = Osoite
user.age = Ik
user.bank = Pankki
user.bankaccount = Pankkitili
user.birthday = Syntym\u00E4p\u00E4iv\u00E4
user.birthday = Syntym\u00E4aika
user.cardPower = K\u00E4ytt\u00E4j\u00E4tyyppi
user.changePassword = Vaihda salasana
user.changepassword.forUser = K\u00E4ytt\u00E4j\u00E4lle
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!