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;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonValue;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.Transient;
import fi.codecrew.moya.utilities.jpa.EntityEquals;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
......@@ -43,4 +45,46 @@ public class GenericEntity extends EntityEquals implements ModelInterface, Entit
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 {
PLACECODE_PRINT_ONLY_OWN(Type.BOOL, null),
CHECK_BILL_STATS_PERMISSION(Type.BOOL, null),
GATHER_OTHER_BILL_INFO(Type.BOOL, null),
GATHER_SHIRT_SIZE(Type.BOOL, null),
ALLOW_BILLING(Type.BOOL, null),
BILL_EXPIRE_HOURS(Type.LONG, "168"),
TEMPLATE_PROPERTY1(Type.TEXT, null),
......
......@@ -6,6 +6,8 @@ import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.json.Json;
import javax.json.JsonValue;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
......@@ -410,4 +412,14 @@ public class User extends GenericEntity implements IUser {
return sb.toString();
}
@Transient
public String getShirtSize() {
return getMetaStringValue("shirtSize");
}
@Transient
public void setShirtSize(String size) {
setMetaStringValue("shirtSize", size);
}
}
......@@ -145,6 +145,31 @@
</p:inplace> <p:message for="phone" /></td>
</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>
<p:commandButton rendered="#{cc.attrs.creating or userView.canSave}" id="commitbtn" action="#{cc.attrs.commitaction}" ajax="false" value="#{cc.attrs.commitvalue}" onerror="location.reload(true);" />
......
......@@ -335,6 +335,20 @@ topnavi.userlectures = Kurssit ja luennot
user.cropImage = Crop
user.imageUpload.imageNotFound = Select image to upload
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.userSelectableRoles = Valitse yksi
......
......@@ -1405,6 +1405,20 @@ user.sex = Sex
user.sex.FEMALE = Female
user.sex.MALE = Male
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.title = Shop to user
user.successfullySaved = Changes saved successfully
......
......@@ -1386,6 +1386,20 @@ user.sex = Sukupuoli
user.sex.FEMALE = Nainen
user.sex.MALE = Mies
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.title = Osta k\u00E4ytt\u00E4j\u00E4lle
user.successfullySaved = Tiedot tallennettu onnistuneesti
......
......@@ -34,6 +34,8 @@ import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.CardTemplate;
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.ReaderEvent;
import fi.codecrew.moya.model.Role;
......@@ -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!