Commit 0699436d by Tuomas Riihimäki

Merge branch 'master' into 'master'

Käyttäjien paitakoot

Paitakoko käyttäjille. Toi jsonjutuke on muuten hankala näin ensisilmäykseltä:
*murr*
2 parents e1de63fe b98fb27b
package fi.codecrew.moya.model; package fi.codecrew.moya.model;
import javax.json.Json;
import javax.json.JsonObject; import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonValue;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.MappedSuperclass; import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;
import fi.codecrew.moya.utilities.jpa.EntityEquals; import fi.codecrew.moya.utilities.jpa.EntityEquals;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
...@@ -43,4 +45,46 @@ public class GenericEntity extends EntityEquals implements ModelInterface, Entit ...@@ -43,4 +45,46 @@ public class GenericEntity extends EntityEquals implements ModelInterface, Entit
this.meta = meta; this.meta = meta;
} }
@Transient
public String getMetaStringValue(String key) {
try {
return getMeta().getString(key);
} catch (NullPointerException e) {
// this is normal if key is not found etc.
return "";
}
}
@Transient
public void setMetaStringValue(String key, String value) {
JsonObjectBuilder metaBuilder = Json.createObjectBuilder();
if(getMeta() != null) {
for(String valKey : getMeta().keySet()) {
if(!valKey.equals(key)) {
metaBuilder.add(valKey, getMeta().get(valKey));
}
}
}
metaBuilder.add(key, value);
setMeta(metaBuilder.build());
}
} }
...@@ -16,6 +16,7 @@ public enum LanEventPropertyKey { ...@@ -16,6 +16,7 @@ public enum LanEventPropertyKey {
PLACECODE_PRINT_ONLY_OWN(Type.BOOL, null), PLACECODE_PRINT_ONLY_OWN(Type.BOOL, null),
CHECK_BILL_STATS_PERMISSION(Type.BOOL, null), CHECK_BILL_STATS_PERMISSION(Type.BOOL, null),
GATHER_OTHER_BILL_INFO(Type.BOOL, null), GATHER_OTHER_BILL_INFO(Type.BOOL, null),
GATHER_SHIRT_SIZE(Type.BOOL, null),
ALLOW_BILLING(Type.BOOL, null), ALLOW_BILLING(Type.BOOL, null),
BILL_EXPIRE_HOURS(Type.LONG, "168"), BILL_EXPIRE_HOURS(Type.LONG, "168"),
TEMPLATE_PROPERTY1(Type.TEXT, null), TEMPLATE_PROPERTY1(Type.TEXT, null),
......
...@@ -6,6 +6,8 @@ import java.util.Calendar; ...@@ -6,6 +6,8 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.json.Json;
import javax.json.JsonValue;
import javax.persistence.CascadeType; import javax.persistence.CascadeType;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
...@@ -409,5 +411,15 @@ public class User extends GenericEntity implements IUser { ...@@ -409,5 +411,15 @@ public class User extends GenericEntity implements IUser {
sb.append(getNick()).append(" // ").append(getWholeName()).append(" // ").append(getEmail()); sb.append(getNick()).append(" // ").append(getWholeName()).append(" // ").append(getEmail());
return sb.toString(); return sb.toString();
} }
@Transient
public String getShirtSize() {
return getMetaStringValue("shirtSize");
}
@Transient
public void setShirtSize(String size) {
setMetaStringValue("shirtSize", size);
}
} }
...@@ -144,6 +144,31 @@ ...@@ -144,6 +144,31 @@
<p:inputText styleClass="ui-input" size="7" id="phone" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.phone}" /> <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> </tr>
<!-- this is terrible, pleace, someone, refactor this whole file -->
<ui:fragment rendered="#{userView.shirtEnabled}">
<tr>
<td>
<b><p:outputLabel value="#{i18n['user.shirtSize']}" for="shirtSize" /></b><br />
<p:selectOneMenu style="width: 200px;" disabled="#{!cc.attrs.creating and !userView.canSave}" id="shirtSize" value="#{userView.selectedUser.user.shirtSize}">
<f:selectItem itemLabel="#{i18n['user.shirt.select']}" itemValue="" />
<f:selectItem itemLabel="#{i18n['user.shirt.S']}" itemValue="S" />
<f:selectItem itemLabel="#{i18n['user.shirt.M']}" itemValue="M" />
<f:selectItem itemLabel="#{i18n['user.shirt.L']}" itemValue="L" />
<f:selectItem itemLabel="#{i18n['user.shirt.XL']}" itemValue="XL" />
<f:selectItem itemLabel="#{i18n['user.shirt.XXL']}" itemValue="XXL" />
<f:selectItem itemLabel="#{i18n['user.shirt.XXXL']}" itemValue="XXXL" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyXS']}" itemValue="Lady-XS" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyS']}" itemValue="Lady-S" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyM']}" itemValue="Lady-M" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyL']}" itemValue="Lady-L" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyXL']}" itemValue="Lady-XL" />
<f:selectItem itemLabel="#{i18n['user.shirt.LadyXXL']}" itemValue="Lady-XXL" />
</p:selectOneMenu>
</td>
</tr>
</ui:fragment>
</table> </table>
......
...@@ -335,6 +335,20 @@ topnavi.userlectures = Kurssit ja luennot ...@@ -335,6 +335,20 @@ topnavi.userlectures = Kurssit ja luennot
user.cropImage = Crop user.cropImage = Crop
user.imageUpload.imageNotFound = Select image to upload user.imageUpload.imageNotFound = Select image to upload
user.saveUserSelectableRoles = Tallenna user.saveUserSelectableRoles = Tallenna
user.shirt.L = Unisex L
user.shirt.LadyL = Ladyfit L
user.shirt.LadyM = Ladyfit M
user.shirt.LadyS = Ladyfit S
user.shirt.LadyXL = Ladyfit XL
user.shirt.LadyXS = Ladyfit XS
user.shirt.LadyXXL = Ladyfit XXL
user.shirt.M = Unisex M
user.shirt.S = Unisex S
user.shirt.XL = Unisex XL
user.shirt.XXL = Unisex XXL
user.shirt.XXXL = Unisex XXXL
user.shirt.select = Valitse yksi
user.shirtSize = Paidan koko
user.unauthenticated = Kirjautumaton user.unauthenticated = Kirjautumaton
user.userSelectableRoles = Valitse yksi user.userSelectableRoles = Valitse yksi
......
...@@ -1405,6 +1405,20 @@ user.sex = Sex ...@@ -1405,6 +1405,20 @@ user.sex = Sex
user.sex.FEMALE = Female user.sex.FEMALE = Female
user.sex.MALE = Male user.sex.MALE = Male
user.sex.UNDEFINED = Undefined user.sex.UNDEFINED = Undefined
user.shirt.L = Unisex L
user.shirt.LadyL = Ladyfit L
user.shirt.LadyM = Ladyfit M
user.shirt.LadyS = Ladyfit S
user.shirt.LadyXL = Ladyfit XL
user.shirt.LadyXS = Ladyfit XS
user.shirt.LadyXXL = Ladyfit XXL
user.shirt.M = Unisex M
user.shirt.S = Unisex S
user.shirt.XL = Unisex XL
user.shirt.XXL = Unisex XXL
user.shirt.XXXL = Unisex XXXL
user.shirt.select = Select one
user.shirtSize = Shirt size
user.shop = Buy user.shop = Buy
user.shop.title = Shop to user user.shop.title = Shop to user
user.successfullySaved = Changes saved successfully user.successfullySaved = Changes saved successfully
......
...@@ -1386,6 +1386,20 @@ user.sex = Sukupuoli ...@@ -1386,6 +1386,20 @@ user.sex = Sukupuoli
user.sex.FEMALE = Nainen user.sex.FEMALE = Nainen
user.sex.MALE = Mies user.sex.MALE = Mies
user.sex.UNDEFINED = M\u00E4\u00E4rittelem\u00E4tt\u00E4 user.sex.UNDEFINED = M\u00E4\u00E4rittelem\u00E4tt\u00E4
user.shirt.L = Unisex L
user.shirt.LadyL = Ladyfit L
user.shirt.LadyM = Ladyfit M
user.shirt.LadyS = Ladyfit S
user.shirt.LadyXL = Ladyfit XL
user.shirt.LadyXS = Ladyfit XS
user.shirt.LadyXXL = Ladyfit XXL
user.shirt.M = Unisex M
user.shirt.S = Unisex S
user.shirt.XL = Unisex XL
user.shirt.XXL = Unisex XXL
user.shirt.XXXL = Unisex XXXL
user.shirt.select = Valitse n\u00E4ist\u00E4
user.shirtSize = Paidan koko
user.shop = Osta user.shop = Osta
user.shop.title = Osta k\u00E4ytt\u00E4j\u00E4lle user.shop.title = Osta k\u00E4ytt\u00E4j\u00E4lle
user.successfullySaved = Tiedot tallennettu onnistuneesti user.successfullySaved = Tiedot tallennettu onnistuneesti
......
...@@ -34,6 +34,8 @@ import fi.codecrew.moya.enums.CardState; ...@@ -34,6 +34,8 @@ import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.CardTemplate; import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEventProperty;
import fi.codecrew.moya.model.LanEventPropertyKey;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.ReaderEvent; import fi.codecrew.moya.model.ReaderEvent;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
...@@ -574,6 +576,22 @@ public class UserView extends GenericCDIView { ...@@ -574,6 +576,22 @@ public class UserView extends GenericCDIView {
} }
private Boolean shirtEnabled;
public boolean isShirtEnabled()
{
if (shirtEnabled == null)
{
LanEventProperty re = eventbean.getProperty(LanEventPropertyKey.GATHER_SHIRT_SIZE);
if (re != null) {
shirtEnabled = re.isBooleanValue();
} else {
shirtEnabled = false;
}
}
return shirtEnabled;
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!