Commit 087d437b by Liv Haapala

Data for CardTemplate

1 parent a4b7a50c
...@@ -161,6 +161,12 @@ public class BootstrapBean implements BootstrapBeanLocal { ...@@ -161,6 +161,12 @@ public class BootstrapBean implements BootstrapBeanLocal {
"users")); "users"));
dbUpdates.add(new String[]{"CREATE TABLE network_associations (id SERIAL NOT NULL, create_time TIMESTAMPTZ NOT NULL, ip TEXT, mac TEXT, META TEXT, modify_time TIMESTAMPTZ NOT NULL, status TEXT NOT NULL, event INTEGER, event_user INTEGER, place INTEGER, PRIMARY KEY (id))"}); dbUpdates.add(new String[]{"CREATE TABLE network_associations (id SERIAL NOT NULL, create_time TIMESTAMPTZ NOT NULL, ip TEXT, mac TEXT, META TEXT, modify_time TIMESTAMPTZ NOT NULL, status TEXT NOT NULL, event INTEGER, event_user INTEGER, place INTEGER, PRIMARY KEY (id))"});
dbUpdates.add(alterTables("ADD COLUMN meta json",
"card_text_data",
"card_object_data"
));
} }
@EJB @EJB
......
...@@ -109,6 +109,18 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -109,6 +109,18 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
public CardTemplate find(Integer id) { public CardTemplate find(Integer id) {
return cdFacade.find(id); return cdFacade.find(id);
} }
@Override
@RolesAllowed(UserPermission.S_WRITE_ROLES)
public CardTextData findTextData(Integer id) {
return ctdFacade.find(id);
}
@Override
@RolesAllowed(UserPermission.S_WRITE_ROLES)
public CardObjectData findObjectData(Integer id) {
return codFacade.find(id);
}
@Override @Override
public void checkAllUsersCardRights() { public void checkAllUsersCardRights() {
...@@ -248,13 +260,19 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -248,13 +260,19 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
@Override @Override
public CardTextData save(CardTextData textData) { public CardTextData save(CardTextData textData) {
return ctdFacade.merge(textData); if(textData.getId() != null && textData.getId() != 0)
return ctdFacade.merge(textData);
else
return ctdFacade.create(textData);
} }
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
@Override @Override
public CardObjectData save(CardObjectData objectData) { public CardObjectData save(CardObjectData objectData) {
return codFacade.merge(objectData); if(objectData.getId() != null && objectData.getId() != 0 )
return codFacade.merge(objectData);
else
return codFacade.create(objectData);
} }
@Override @Override
......
...@@ -49,6 +49,10 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> { ...@@ -49,6 +49,10 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
PrintedCard findCard(Integer id); PrintedCard findCard(Integer id);
CardTextData findTextData(Integer id);
CardObjectData findObjectData(Integer id);
List<PrintedCard> getCardsByState(CardState... pendingPrint); List<PrintedCard> getCardsByState(CardState... pendingPrint);
PrintedCard setCardState(Integer cardId, CardState printed) throws Exception; PrintedCard setCardState(Integer cardId, CardState printed) throws Exception;
......
...@@ -17,12 +17,8 @@ ...@@ -17,12 +17,8 @@
value="org.ancoron.postgresql.jpa.eclipselink.ConverterInitializer" /> value="org.ancoron.postgresql.jpa.eclipselink.ConverterInitializer" />
<property name="eclipselink.descriptor.customizer" <property name="eclipselink.descriptor.customizer"
value="fi.codecrew.moya.database.MoyaDescriptorCustomizer" /> value="fi.codecrew.moya.database.MoyaDescriptorCustomizer" />
<<<<<<< HEAD
<property name="eclipselink.create-ddl-jdbc-file-name" value="moya-database-schema.sql"/>
=======
<property name="eclipselink.create-ddl-jdbc-file-name" value="moyaCreateDDL.sql"/> <property name="eclipselink.create-ddl-jdbc-file-name" value="moyaCreateDDL.sql"/>
<property name="eclipselink.drop-ddl-jdbc-file-name" value="moyaDropDDL.sql"/> <property name="eclipselink.drop-ddl-jdbc-file-name" value="moyaDropDDL.sql"/>
>>>>>>> e37aec49afaa114abf3fded209914a5e71177053
</properties> </properties>
</persistence-unit> </persistence-unit>
......
...@@ -21,7 +21,7 @@ private static final long serialVersionUID = 307145499023412008L; ...@@ -21,7 +21,7 @@ private static final long serialVersionUID = 307145499023412008L;
@Column(name = "card_object_data_type", nullable = false) @Column(name = "card_object_data_type", nullable = false)
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private CardObjectDataType objectDataType; private CardObjectDataType objectDataType = CardObjectDataType.UNKNOWN;
@Column(name = "x", nullable = false) @Column(name = "x", nullable = false)
private int x; private int x;
......
...@@ -15,6 +15,7 @@ import org.eclipse.persistence.annotations.OptimisticLockingType; ...@@ -15,6 +15,7 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
import fi.codecrew.moya.enums.CardTextAlignment; import fi.codecrew.moya.enums.CardTextAlignment;
import fi.codecrew.moya.enums.CardTextDataType; import fi.codecrew.moya.enums.CardTextDataType;
import fi.codecrew.moya.enums.CardTextStyle;
@Entity @Entity
@Table(name = "card_text_data") @Table(name = "card_text_data")
...@@ -25,7 +26,7 @@ public class CardTextData extends GenericEntity{ ...@@ -25,7 +26,7 @@ public class CardTextData extends GenericEntity{
@Column(name="card_text_data_type", nullable=false) @Column(name="card_text_data_type", nullable=false)
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
private CardTextDataType textDataType = CardTextDataType.UKNOWN; private CardTextDataType textDataType = CardTextDataType.UNKNOWN;
@Column(name = "text_alignment", nullable = false) @Column(name = "text_alignment", nullable = false)
@Enumerated(EnumType.STRING) @Enumerated(EnumType.STRING)
...@@ -44,7 +45,7 @@ public class CardTextData extends GenericEntity{ ...@@ -44,7 +45,7 @@ public class CardTextData extends GenericEntity{
private String fontName; private String fontName;
@Column(name = "font_style", nullable = false) @Column(name = "font_style", nullable = false)
private int fontStyle; private CardTextStyle fontStyle;
@Column(name = "text", nullable = true) @Column(name = "text", nullable = true)
private String text; private String text;
...@@ -96,11 +97,11 @@ public class CardTextData extends GenericEntity{ ...@@ -96,11 +97,11 @@ public class CardTextData extends GenericEntity{
return this.fontName; return this.fontName;
} }
public void setFontStyle(int fontStyle) { public void setFontStyle(CardTextStyle fontStyle) {
this.fontStyle = fontStyle; this.fontStyle = fontStyle;
} }
public int getFontStyle() { public CardTextStyle getFontStyle() {
return this.fontStyle; return this.fontStyle;
} }
...@@ -132,11 +133,23 @@ public class CardTextData extends GenericEntity{ ...@@ -132,11 +133,23 @@ public class CardTextData extends GenericEntity{
//this.font = font; //this.font = font;
this.fontName = font.getFontName(); this.fontName = font.getFontName();
this.size = font.getSize(); this.size = font.getSize();
this.fontStyle = font.getStyle(); if(font.isBold() && font.isItalic())
this.fontStyle = CardTextStyle.BOLDITALIC;
else if(font.isItalic())
this.fontStyle = CardTextStyle.ITALIC;
else if(font.isPlain())
this.fontStyle = CardTextStyle.PLAIN;
} }
public Font getFont() { public Font getFont() {
return new Font(this.fontName, this.fontStyle, this.size); if(this.fontStyle == CardTextStyle.BOLD)
return new Font(this.fontName, Font.BOLD, this.size);
else if(this.fontStyle == CardTextStyle.ITALIC)
return new Font(this.fontName, Font.ITALIC, this.size);
else if(this.fontStyle == CardTextStyle.PLAIN)
return new Font(this.fontName, Font.PLAIN, this.size);
else
return new Font(this.fontName, Font.PLAIN, this.size);
} }
public void setCardTemplate(CardTemplate template) { public void setCardTemplate(CardTemplate template) {
......
...@@ -2,7 +2,7 @@ package fi.codecrew.moya.enums; ...@@ -2,7 +2,7 @@ package fi.codecrew.moya.enums;
public enum CardObjectDataType { public enum CardObjectDataType {
UKNOWN, UNKNOWN,
PICTURE, PICTURE,
USERS_BARCODE, USERS_BARCODE,
......
package fi.codecrew.moya.enums; package fi.codecrew.moya.enums;
public enum CardTextDataType { public enum CardTextDataType {
UKNOWN, UNKNOWN,
NICK, NICK,
FIRSTNAME, FIRSTNAME,
LASTNAME, LASTNAME,
STATIC,
AGE, AGE,
ROLE; ROLE;
......
package fi.codecrew.moya.enums;
public enum CardTextStyle {
BOLD,
ITALIC,
PLAIN,
BOLDITALIC;
public String toStringLower() {
return this.toString().toLowerCase();
}
}
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:users="http://java.sun.com/jsf/composite/tools/user"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
<f:viewParam name="templateid" value="#{cardView.templateId}" />
<f:event type="preRenderView" listener="#{cardView.initCardTemplate}" />
</f:metadata>
<ui:define name="content">
<h:form id="cardTemplates">
<h:panelGrid columns="3">
<h:outputLabel for="id" value="#{i18n['cardTemplate.id']}:" />
<h:outputText id="id" value="#{cardView.cardTemplate.id}" />
<h:message for="id" />
<h:outputLabel for="name" value="#{i18n['cardTemplate.name']}:" />
<h:inputText id="name" value="#{cardView.cardTemplate.name}" />
<h:message for="name" />
<h:outputLabel for="power" value="#{i18n['cardTemplate.power']}:" />
<h:inputText id="power" value="#{cardView.cardTemplate.power}" size="4" />
<h:message for="power" />
<h:outputLabel for="roles" value="#{i18n['cardTemplate.roles']}" />
<h:selectManyCheckbox layout="pageDirection" value="#{cardView.cardTemplate.roles}" converter="#{roleConverter}" id="roles">
<f:selectItems var="role" itemLabel="#{role.name}" value="#{roleDataView.roles}" />
</h:selectManyCheckbox>
<h:message for="roles"></h:message>
</h:panelGrid>
<h:commandButton action="#{cardView.saveTemplate()}" value="#{i18n['cardTemplate.save']}" />
</h:form>
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{cardView.templateImage}" mode="simple" />
<h:commandButton action="#{cardView.saveImage}" value="#{i18n['sendImage']}" />
</h:form>
<ui:fragment rendered="#{!empty cardView.cardTemplate}">
<h2>#{i18n['cardTemplate.imageheader']}</h2>
<img src="#{request.contextPath}/dydata/cardtemplate/#{cardView.cardTemplate.id}.img" />
</ui:fragment>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
...@@ -47,8 +47,9 @@ ...@@ -47,8 +47,9 @@
</h:link> </h:link>
</h:column> </h:column>
<h:column> <h:column>
<h:link outcome="/useradmin/editCardTemplate" value="#{i18n['cardTemplate.edit']}"> <h:link outcome="/useradmin/editCardTextData" value="#{i18n['cardTextData.create']}">
<f:param name="templateid" value="#{card.id}" /> <f:param name="templateid" value="#{card.id}" />
<f:param name="createobjecttype" value="1" />
</h:link> </h:link>
</h:column> </h:column>
</h:dataTable> </h:dataTable>
......
...@@ -201,27 +201,45 @@ cardTemplate.roles = Associated roles ...@@ -201,27 +201,45 @@ cardTemplate.roles = Associated roles
cardTemplate.save = Save cardTemplate.save = Save
cardTemplate.sendImage = Upload Image cardTemplate.sendImage = Upload Image
cardObjectData.create = Add object data to card layout cardObjectData.create = Add object data to card layout
cardObjectData.save = Save cardObjectData.save = Save
cardObjectData.edit = Edit cardObjectData.edit = Edit
cardObjectData.x = X coordinate cardObjectData.x = X coordinate
cardObjectData.y = Y coordinate cardObjectData.y = Y coordinate
cardObjectData.size = Size of text (px) cardObjectData.size = Size of text (px)
cardObjectData.zindex = Z index cardObjectData.zindex = Z index
cardObjectData.type = Type cardObjectData.type = Type
cardObjectData.type.UNKNOWN = Unknown
cardTextData.create = Add text data to card layout cardObjectData.type.PICTURE = User's picture
cardTextData.save = Save cardObjectData.type.USERS_BARCODE = User's barcode
cardTextData.edit = Edit cardObjectData.type.CARDS_BARCODE = Card's barcode
cardTextData.x = X coordinate
cardTextData.y = Y coordinate cardTextData.create = Add text data to card layout
cardTextData.size = Size of text (px) cardTextData.save = Save
cardTextData.zindex = Z index cardTextData.edit = Edit
cardTextData.fontname = Font name cardTextData.x = X coordinate
cardTextData.fontstyle = Font style cardTextData.y = Y coordinate
cardTextData.fontalignment = Font alignment cardTextData.size = Size of text (px)
cardTextData.text = Static text cardTextData.zindex = Z index
cardTextData.type = Type cardTextData.fontname = Font name
cardTextData.fontstyle = Font style
cardTextData.fontstyle.PLAIN = Plain
cardTextData.fontstyle.BOLD = Bold
cardTextData.fontstyle.ITALIC = Italic
cardTextData.fontstyle.BOLDITALIC = Bold and Italic
cardTextData.fontalignment = Font alignment
cardTextData.fontalignment.LEFT = Left
cardTextData.fontalignment.CENTER = Center
cardTextData.fontalignment.RIGHT = Right
cardTextData.text = Static text
cardTextData.type = Type
cardTextData.type.UNKNOWN = Unknown
cardTextData.type.NICK = Nick
cardTextData.type.FIRSTNAME = Firstname
cardTextData.type.LASTNAME = Lastname
cardTextData.type.STATIC = Static
cardTextData.type.AGE = Age
cardTextData.type.ROLE = Role
cart.item = Item cart.item = Item
cart.item_quantity = Quantity cart.item_quantity = Quantity
......
...@@ -203,27 +203,45 @@ cardTemplate.roles = Yhdistetyt roolit ...@@ -203,27 +203,45 @@ cardTemplate.roles = Yhdistetyt roolit
cardTemplate.save = Tallenna cardTemplate.save = Tallenna
cardTemplate.sendImage = Lataa kuva cardTemplate.sendImage = Lataa kuva
cardObjectData.create = Liit korttilayoutiin kuvia cardObjectData.create = Liit korttilayoutiin kuvia
cardObjectData.save = Tallenna cardObjectData.save = Tallenna
cardObjectData.edit = Muokkaa cardObjectData.edit = Muokkaa
cardObjectData.x = X koordinaatti cardObjectData.x = X koordinaatti
cardObjectData.y = Y koordinaatti cardObjectData.y = Y koordinaatti
cardObjectData.size = Tekstin koko (px) cardObjectData.size = Tekstin koko (px)
cardObjectData.zindex = Z index cardObjectData.zindex = Z index
cardObjectData.type = Tyyppi cardObjectData.type = Tyyppi
cardObjectData.type.UNKNOWN = Tuntematon
cardTextData.create = Liit korttilayoutiin teksti cardObjectData.type.PICTURE = Kyttjn kuva
cardTextData.save = Tallenna cardObjectData.type.USERS_BARCODE = Kyttjn viivakoodi
cardTextData.edit = Muokkaa cardObjectData.type.CARDS_BARCODE = Kortin viivakoodi
cardTextData.x = X koordinaatti
cardTextData.y = Y koordinaatti cardTextData.create = Liit korttilayoutiin teksti
cardTextData.size = Tekstin koko (px) cardTextData.save = Tallenna
cardTextData.zindex = Z index cardTextData.edit = Muokkaa
cardTextData.fontname = Fontin nimi cardTextData.x = X koordinaatti
cardTextData.fontstyle = Fontin tyyli cardTextData.y = Y koordinaatti
cardTextData.fontalignment = Fontin sijoittelu cardTextData.size = Tekstin koko (px)
cardTextData.text = Kiinte teksti cardTextData.zindex = Z index
cardTextData.type = Tyyppi cardTextData.fontname = Fontin nimi
cardTextData.fontstyle = Fontin tyyli
cardTextData.fontstyle.PLAIN = Ei tyylittely
cardTextData.fontstyle.BOLD = Bold
cardTextData.fontstyle.ITALIC = Italic
cardTextData.fontstyle.BOLDITALIC = Bold ja Italic
cardTextData.fontalignment = Fontin sijoittelu
cardTextData.fontalignment.LEFT = Vasen
cardTextData.fontalignment.CENTER = Keskell
cardTextData.fontalignment.RIGHT = Oikea
cardTextData.text = Kiinte teksti
cardTextData.type = Tyyppi
cardTextData.type.UNKNOWN = Tuntematon
cardTextData.type.NICK = Nimimerkki
cardTextData.type.FIRSTNAME = Etunimi
cardTextData.type.LASTNAME = Sukunimi
cardTextData.type.STATIC = Staattinen
cardTextData.type.AGE = Ik
cardTextData.type.ROLE = Rooli
cart.item = Tuote cart.item = Tuote
cart.item_quantity = M\u00E4\u00E4r\u00E4 cart.item_quantity = M\u00E4\u00E4r\u00E4
......
...@@ -3,6 +3,8 @@ package fi.codecrew.moya.web.cdiview.card; ...@@ -3,6 +3,8 @@ package fi.codecrew.moya.web.cdiview.card;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.inject.Named; import javax.inject.Named;
import javax.json.JsonObject;
import javax.json.JsonReader;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
...@@ -17,6 +19,14 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -17,6 +19,14 @@ public class CardTemplateDataEditView extends GenericCDIView {
private static final long serialVersionUID = -9115983838324313414L; private static final long serialVersionUID = -9115983838324313414L;
private Integer templateId = 0;
private Integer cardTextDataId = 0;
private Integer cardObjectDataId = 0;
private Integer createObjectType = 0;
private CardTemplate cardTemplate;
private CardTextData cardTextData; private CardTextData cardTextData;
private CardObjectData cardObjectData; private CardObjectData cardObjectData;
...@@ -25,6 +35,35 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -25,6 +35,35 @@ public class CardTemplateDataEditView extends GenericCDIView {
public void initCardTextData() {
if (super.requirePermissions(UserPermission.VIEW_ALL))
{
setCardTextData(cfbean.findTextData(cardTextDataId));
super.beginConversation();
}
}
public void initCardObjectData() {
if (super.requirePermissions(UserPermission.VIEW_ALL))
{
setCardObjectData(cfbean.findObjectData(cardObjectDataId));
super.beginConversation();
}
}
public void initCardTemplate() {
if (super.requirePermissions(UserPermission.VIEW_ALL))
{
setCardTemplate(cfbean.find(templateId));
if(cardTextData != null)
cardTextData.setCardTemplate(cardTemplate);
else if(cardObjectData != null)
cardObjectData.setCardTemplate(cardTemplate);
super.beginConversation();
}
}
public void initCardTextDataCreate() { public void initCardTextDataCreate() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
...@@ -41,12 +80,23 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -41,12 +80,23 @@ public class CardTemplateDataEditView extends GenericCDIView {
} }
} }
public CardTextData saveTextData() { public void initCreateObjectType() {
if (super.requirePermissions(UserPermission.VIEW_ALL))
{
if(createObjectType == 1)
setCardTextData(new CardTextData());
else if(createObjectType == 2)
setCardObjectData(new CardObjectData());
super.beginConversation();
}
}
public String saveTextData() {
cardTextData = cfbean.save(cardTextData); cardTextData = cfbean.save(cardTextData);
return null; return null;
} }
public CardObjectData saveObjectData() { public String saveObjectData() {
cardObjectData = cfbean.save(cardObjectData); cardObjectData = cfbean.save(cardObjectData);
return null; return null;
} }
...@@ -59,16 +109,51 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -59,16 +109,51 @@ public class CardTemplateDataEditView extends GenericCDIView {
this.cardTextData = cardTextData; this.cardTextData = cardTextData;
} }
public CardObjectData getCardObjectData() { public CardObjectData getCardObjectData() {
return cardObjectData; return cardObjectData;
} }
public void setCardObjectData(CardObjectData cardObjectData) { public void setCardObjectData(CardObjectData cardObjectData) {
this.cardObjectData = cardObjectData; this.cardObjectData = cardObjectData;
} }
public Integer getCardTextDataId() {
return cardTextDataId;
}
public void setCardTextDataId(Integer cardTextDataId) {
this.cardTextDataId = cardTextDataId;
}
public Integer getCardObjectDataId() {
return cardObjectDataId;
}
public void setCardObjectDataId(Integer cardObjectDataId) {
this.cardObjectDataId = cardObjectDataId;
}
public Integer getCreateObjectType() {
return createObjectType;
}
public void setCreateObjectType(Integer createObjectType) {
this.createObjectType = createObjectType;
}
public Integer getTemplateId() {
return templateId;
}
public void setTemplateId(Integer templateId) {
this.templateId = templateId;
}
public CardTemplate getCardTemplate() {
return cardTemplate;
}
public void setCardTemplate(CardTemplate cardTemplate) {
this.cardTemplate = cardTemplate;
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!