Commit 2a309d21 by Liv Haapala

update

1 parent 3f4096af
Showing with 259 additions and 103 deletions
...@@ -79,16 +79,8 @@ public class BootstrapBean implements BootstrapBeanLocal { ...@@ -79,16 +79,8 @@ public class BootstrapBean implements BootstrapBeanLocal {
dbUpdates.add(new String[] { dbUpdates.add(new String[] {
"alter table compos add hidden boolean default false not null" "alter table compos add hidden boolean default false not null"
}); });
dbUpdates.add(new String[] {
"CREATE TABLE card_text_data (id SERIAL NOT NULL, font_name TEXT NOT NULL, font_style INTEGER NOT NULL, size INTEGER NOT NULL, text TEXT, text_alignment TEXT NOT NULL, card_text_data_type TEXT NOT NULL, x INTEGER NOT NULL, y INTEGER NOT NULL, z_index INTEGER NOT NULL, PRIMARY KEY (id));"
});
dbUpdates.add(new String[] {
"CREATE TABLE card_object_data (id SERIAL NOT NULL, card_object_data_type TEXT NOT NULL, size INTEGER NOT NULL, x INTEGER NOT NULL, y INTEGER NOT NULL, z_index INTEGER NOT NULL, PRIMARY KEY (id));"
});
dbUpdates.add(new String[] {
"ALTER TABLE card_text_data ADD COLUMN card_templates_id integer REFERENCES card_templates(id) DEFAULT null;",
"ALTER TABLE card_object_data ADD COLUMN card_templates_id integer REFERENCES card_templates(id) DEFAULT null;"
});
dbUpdates.add(alterTables("ADD COLUMN meta json", dbUpdates.add(alterTables("ADD COLUMN meta json",
"account_events", "account_events",
"actionlog_message_responses", "actionlog_message_responses",
...@@ -162,6 +154,18 @@ public class BootstrapBean implements BootstrapBeanLocal { ...@@ -162,6 +154,18 @@ public class BootstrapBean implements BootstrapBeanLocal {
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(new String[] {
"CREATE TABLE card_text_data (id SERIAL NOT NULL, font_name TEXT NOT NULL, font_style INTEGER NOT NULL, size INTEGER NOT NULL, text TEXT, text_alignment TEXT NOT NULL, card_text_data_type TEXT NOT NULL, x INTEGER NOT NULL, y INTEGER NOT NULL, z_index INTEGER NOT NULL, PRIMARY KEY (id));"
});
dbUpdates.add(new String[] {
"CREATE TABLE card_object_data (id SERIAL NOT NULL, card_object_data_type TEXT NOT NULL, size INTEGER NOT NULL, x INTEGER NOT NULL, y INTEGER NOT NULL, z_index INTEGER NOT NULL, PRIMARY KEY (id));"
});
dbUpdates.add(new String[] {
"ALTER TABLE card_text_data ADD COLUMN card_templates_id integer REFERENCES card_templates(id) DEFAULT null;",
"ALTER TABLE card_object_data ADD COLUMN card_templates_id integer REFERENCES card_templates(id) DEFAULT null;"
});
dbUpdates.add(alterTables("ADD COLUMN meta json", dbUpdates.add(alterTables("ADD COLUMN meta json",
"card_text_data", "card_text_data",
"card_object_data" "card_object_data"
......
...@@ -252,14 +252,14 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -252,14 +252,14 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@Override @Override
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
public List<CardTextData> findCardTextDatas(int templateId) { public List<CardTextData> findCardTextDatas(CardTemplate template) {
return this.ctdFacade.findAll(templateId); return this.ctdFacade.findAll(template);
} }
@Override @Override
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
public List<CardObjectData> findCardObjectDatas(int templateId) { public List<CardObjectData> findCardObjectDatas(CardTemplate template) {
return this.codFacade.findAll(templateId); return this.codFacade.findAll(template);
} }
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
......
...@@ -277,7 +277,7 @@ public class JaasBean implements MoyaRealmBeanRemote { ...@@ -277,7 +277,7 @@ public class JaasBean implements MoyaRealmBeanRemote {
throw new RuntimeException("Unknown application authtype!"); throw new RuntimeException("Unknown application authtype!");
} }
} else { } else {
logger.warn("Rest auth failed: Calculated hash does not match received mac: Calculated {}, received {}", machash, mac); logger.warn("Rest auth failed: Calculated hash does not match received mac: Calculated {}, received {}", macHash, mac);
} }
return ret; return ret;
......
...@@ -466,7 +466,7 @@ public class UserBean implements UserBeanLocal { ...@@ -466,7 +466,7 @@ public class UserBean implements UserBeanLocal {
return true; return true;
} }
public PrintedCard rejectPrintedCard(PrintedCard card, String msg) { public PrintedCard rejectPrintedCard(PrintedCard card) {
if(card != null) { if(card != null) {
...@@ -482,18 +482,7 @@ public class UserBean implements UserBeanLocal { ...@@ -482,18 +482,7 @@ public class UserBean implements UserBeanLocal {
LanEvent event = card.getEvent(); LanEvent event = card.getEvent();
if(user != null && event != null) { if(mail != null) {
String info = "";
if(msg != null) {
info = msg;
}
mail.setTo(user);
mail.setSubject(I18n.get("rejectcard.mailSubject"));
mail.setMessage(I18n.get("rejectcard.mailBody", event.getName(), info));
logger.info("sending mail! user {}", new Object[] { user });
if(!utilbean.sendMail(mail)) { if(!utilbean.sendMail(mail)) {
logger.info("Sending mail failed"); logger.info("Sending mail failed");
} else } else
......
...@@ -34,9 +34,9 @@ public class CardObjectDataFacade extends IntegerPkGenericFacade<CardObjectData> ...@@ -34,9 +34,9 @@ public class CardObjectDataFacade extends IntegerPkGenericFacade<CardObjectData>
} }
public List<CardObjectData> findAll(int templateId) public List<CardObjectData> findAll(CardTemplate template)
{ {
CardTemplate template = ctbean.find(templateId); //CardTemplate template = ctbean.find(templateId);
if(template != null) { if(template != null) {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<CardObjectData> cq = cb.createQuery(CardObjectData.class); CriteriaQuery<CardObjectData> cq = cb.createQuery(CardObjectData.class);
......
...@@ -32,9 +32,9 @@ public class CardTextDataFacade extends IntegerPkGenericFacade<CardTextData> { ...@@ -32,9 +32,9 @@ public class CardTextDataFacade extends IntegerPkGenericFacade<CardTextData> {
} }
public List<CardTextData> findAll(int templateId) public List<CardTextData> findAll(CardTemplate template)
{ {
CardTemplate template = ctbean.find(templateId); //CardTemplate template = ctbean.find(templateId);
if(template != null) { if(template != null) {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<CardTextData> cq = cb.createQuery(CardTextData.class); CriteriaQuery<CardTextData> cq = cb.createQuery(CardTextData.class);
......
...@@ -27,9 +27,9 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> { ...@@ -27,9 +27,9 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
List<PrintedCard> findActiveCards(); List<PrintedCard> findActiveCards();
List<CardTextData> findCardTextDatas(int templateId); List<CardTextData> findCardTextDatas(CardTemplate template);
List<CardObjectData> findCardObjectDatas(int templateId); List<CardObjectData> findCardObjectDatas(CardTemplate template);
CardTemplate save(CardTemplate card); CardTemplate save(CardTemplate card);
......
...@@ -99,7 +99,7 @@ public interface UserBeanLocal { ...@@ -99,7 +99,7 @@ public interface UserBeanLocal {
boolean initPasswordResetForEmail(String email, String url); boolean initPasswordResetForEmail(String email, String url);
PrintedCard rejectPrintedCard(PrintedCard card, String msg); PrintedCard rejectPrintedCard(PrintedCard card);
boolean initPasswordResetForUsername(String username, String url); boolean initPasswordResetForUsername(String username, String url);
......
package fi.codecrew.moya.model; package fi.codecrew.moya.model;
import java.math.BigDecimal;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.EnumType; import javax.persistence.EnumType;
...@@ -29,8 +31,8 @@ private static final long serialVersionUID = 307145499023412008L; ...@@ -29,8 +31,8 @@ private static final long serialVersionUID = 307145499023412008L;
@Column(name = "y", nullable = false) @Column(name = "y", nullable = false)
private int y; private int y;
@Column(name = "size", nullable = false) @Column(name = "size", nullable = false, precision = 5, scale = 2)
private double size; private BigDecimal size;
@Column(name = "z_index", nullable = false) @Column(name = "z_index", nullable = false)
private int zIndex; private int zIndex;
...@@ -63,11 +65,11 @@ private static final long serialVersionUID = 307145499023412008L; ...@@ -63,11 +65,11 @@ private static final long serialVersionUID = 307145499023412008L;
return this.y; return this.y;
} }
public void setSize(int size) { public void setSize(BigDecimal size) {
this.size = size; this.size = size;
} }
public double getSize() { public BigDecimal getSize() {
return this.size; return this.size;
} }
......
package fi.codecrew.moya.model; package fi.codecrew.moya.model;
import java.awt.Font; import java.awt.Font;
import java.math.BigDecimal;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
...@@ -38,8 +39,8 @@ public class CardTextData extends GenericEntity{ ...@@ -38,8 +39,8 @@ public class CardTextData extends GenericEntity{
@Column(name = "y", nullable = false) @Column(name = "y", nullable = false)
private int y; private int y;
@Column(name = "size", nullable = false) @Column(name = "size", nullable = false, precision = 5, scale = 2)
private double size; private BigDecimal size;
@Column(name = "font_color_r", nullable = false) @Column(name = "font_color_r", nullable = false)
private int fontColorR; private int fontColorR;
...@@ -50,8 +51,6 @@ public class CardTextData extends GenericEntity{ ...@@ -50,8 +51,6 @@ public class CardTextData extends GenericEntity{
@Column(name = "font_color_b", nullable = false) @Column(name = "font_color_b", nullable = false)
private int fontColorB; private int fontColorB;
@Column(name = "font_name", nullable = false) @Column(name = "font_name", nullable = false)
private String fontName; private String fontName;
...@@ -93,11 +92,11 @@ public class CardTextData extends GenericEntity{ ...@@ -93,11 +92,11 @@ public class CardTextData extends GenericEntity{
return this.y; return this.y;
} }
public void setSize(int size) { public void setSize(BigDecimal size) {
this.size = size; this.size = size;
} }
public double getSize() { public BigDecimal getSize() {
return this.size; return this.size;
} }
...@@ -144,7 +143,7 @@ public class CardTextData extends GenericEntity{ ...@@ -144,7 +143,7 @@ public class CardTextData extends GenericEntity{
public void setFont(Font font) { public void setFont(Font font) {
//this.font = font; //this.font = font;
this.fontName = font.getFontName(); this.fontName = font.getFontName();
this.size = font.getSize(); this.size = new BigDecimal(font.getSize());
if(font.isBold() && font.isItalic()) if(font.isBold() && font.isItalic())
this.fontStyle = CardTextStyle.BOLDITALIC; this.fontStyle = CardTextStyle.BOLDITALIC;
else if(font.isItalic()) else if(font.isItalic())
...@@ -155,13 +154,13 @@ public class CardTextData extends GenericEntity{ ...@@ -155,13 +154,13 @@ public class CardTextData extends GenericEntity{
public Font getFont() { public Font getFont() {
if(this.fontStyle == CardTextStyle.BOLD) if(this.fontStyle == CardTextStyle.BOLD)
return new Font(this.fontName, Font.BOLD, this.size); return new Font(this.fontName, Font.BOLD, this.size.intValue());
else if(this.fontStyle == CardTextStyle.ITALIC) else if(this.fontStyle == CardTextStyle.ITALIC)
return new Font(this.fontName, Font.ITALIC, this.size); return new Font(this.fontName, Font.ITALIC, this.size.intValue());
else if(this.fontStyle == CardTextStyle.PLAIN) else if(this.fontStyle == CardTextStyle.PLAIN)
return new Font(this.fontName, Font.PLAIN, this.size); return new Font(this.fontName, Font.PLAIN, this.size.intValue());
else else
return new Font(this.fontName, Font.PLAIN, this.size); return new Font(this.fontName, Font.PLAIN, this.size.intValue());
} }
public void setCardTemplate(CardTemplate template) { public void setCardTemplate(CardTemplate template) {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<f:selectItem value="0" itemLabel="Kokonaismäärä"></f:selectItem> <f:selectItem value="0" itemLabel="Kokonaismäärä"></f:selectItem>
</h:selectOneRadio> </h:selectOneRadio>
</h:panelGroup> </h:panelGroup>
<h:commandButton action="#{chartView.updateAgesChart()}" value="Päivitä kuvaaja"></h:commandButton> <!-- <h:commandButton action="#{chartView.updateAgesChart()}" value="Päivitä kuvaaja"></h:commandButton> -->
</h:panelGrid> </h:panelGrid>
</h:panelGroup> </h:panelGroup>
<h:panelGroup> <h:panelGroup>
......
...@@ -28,21 +28,12 @@ ...@@ -28,21 +28,12 @@
<h:outputLabel for="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" value="#{i18n['cardObjectData.type']}:" /> <h:outputLabel for="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" value="#{i18n['cardObjectData.type']}:" />
<p:selectOneMenu id="typeTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{cardTemplateDataEditView.cardTextData.textDataType}"> <p:selectOneMenu id="typeTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{cardTemplateDataEditView.cardTextData.textDataType}">
<f:selectItem id="textunknown" itemLabel="#{i18n['cardTextData.type.UNKNOWN']}" itemValue="UNKNOWN" /> <f:selectItems var="textDataType" itemLabel="#{i18n['cardTextData.type.#{textDataType}']}" itemValue="#{cardTemplateDataEditView.cardTextDataTypes}" />
<f:selectItem id="nick" itemLabel="#{i18n['cardTextData.type.NICK']}" itemValue="NICK" />
<f:selectItem id="wholename" itemLabel="#{i18n['cardTextData.type.WHOLENAME']}" itemValue="WHOLENAME" />
<f:selectItem id="firstname" itemLabel="#{i18n['cardTextData.type.FIRSTNAME']}" itemValue="FIRSTNAME" />
<f:selectItem id="lastname" itemLabel="#{i18n['cardTextData.type.LASTNAME']}" itemValue="LASTNAME" />
<f:selectItem id="static" itemLabel="#{i18n['cardTextData.type.STATIC']}" itemValue="STATIC" />
<f:selectItem id="age" itemLabel="#{i18n['cardTextData.type.AGE']}" itemValue="AGE" />
<f:selectItem id="role" itemLabel="#{i18n['cardTextData.type.ROLE']}" itemValue="ROLE" />
</p:selectOneMenu> </p:selectOneMenu>
<h:message for="typeTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" /> <h:message for="typeTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" />
<p:selectOneMenu id="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" value="#{cardTemplateDataEditView.cardObjectData.objectDataType}"> <p:selectOneMenu id="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" value="#{cardTemplateDataEditView.cardObjectData.objectDataType}">
<f:selectItem id="objectunknown" itemLabel="#{i18n['cardObjectData.type.UNKNOWN']}" itemValue="UNKNOWN" /> <f:selectItems var="objectDataType" itemLabel="#{i18n['cardObjectData.type.#{objectDataType}']}" itemValue="#{cardTemplateDataEditView.cardObjectDataTypes}" />
<f:selectItem id="users_picture" itemLabel="#{i18n['cardObjectData.type.USERS_PICTURE']}" itemValue="USERS_PICTURE" />
<f:selectItem id="users_barcode" itemLabel="#{i18n['cardObjectData.type.USERS_BARCODE']}" itemValue="USERS_BARCODE" />
<f:selectItem id="cards_bardoce" itemLabel="#{i18n['cardObjectData.type.CARDS_BARCODE']}" itemValue="CARDS_BARCODE" />
</p:selectOneMenu> </p:selectOneMenu>
<h:message for="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" /> <h:message for="typeObjectData" rendered="#{!empty cardTemplateDataEditView.cardObjectData}" />
...@@ -84,19 +75,13 @@ ...@@ -84,19 +75,13 @@
<h:message for="fontNameTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" /> <h:message for="fontNameTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" />
<h:outputLabel for="fontStyleTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{i18n['cardTextData.fontstyle']}:" /> <h:outputLabel for="fontStyleTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{i18n['cardTextData.fontstyle']}:" />
<p:selectOneMenu id="fontStyleTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{cardTemplateDataEditView.cardTextData.fontStyle}"> <f:selectItems var="fontStyle" itemLabel="#{i18n['cardTextData.fontstyle.#{fontStyle}']}" itemValue="#{cardTemplateDataEditView.fontStyles}" />
<f:selectItem id="PLAIN" itemLabel="#{i18n['cardTextData.fontstyle.PLAIN']}" itemValue="PLAIN" />
<f:selectItem id="BOLD" itemLabel="#{i18n['cardTextData.fontstyle.BOLD']}" itemValue="BOLD" />
<f:selectItem id="ITALIC" itemLabel="#{i18n['cardTextData.fontstyle.ITALIC']}" itemValue="ITALIC" />
<f:selectItem id="BOLDITALIC" itemLabel="#{i18n['cardTextData.fontstyle.BOLDITALIC']}" itemValue="BOLDITALIC" />
</p:selectOneMenu> </p:selectOneMenu>
<h:message for="fontStyleTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" /> <h:message for="fontStyleTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" />
<h:outputLabel for="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{i18n['cardTextData.fontalignment']}:" /> <h:outputLabel for="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{i18n['cardTextData.fontalignment']}:" />
<p:selectOneMenu id="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{cardTemplateDataEditView.cardTextData.textAlignment}"> <p:selectOneMenu id="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" value="#{cardTemplateDataEditView.cardTextData.textAlignment}">
<f:selectItem id="LEFT" itemLabel="#{i18n['cardTextData.fontalignment.LEFT']}" itemValue="LEFT" /> <f:selectItems var="fontAlignment" itemLabel="#{i18n['cardTextData.fontalignment.#{fontAlignment}']}" itemValue="#{cardTemplateDataEditView.textAlignments}" />
<f:selectItem id="CENTER" itemLabel="#{i18n['cardTextData.fontalignment.CENTER']}" itemValue="CENTER" />
<f:selectItem id="RIGHT" itemLabel="#{i18n['cardTextData.fontalignment.RIGHT']}" itemValue="RIGHT" />
</p:selectOneMenu> </p:selectOneMenu>
<h:message for="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" /> <h:message for="fontAlignmentTextData" rendered="#{!empty cardTemplateDataEditView.cardTextData}" />
......
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
<h:commandButton value="#{i18n['usercart.downloadExport']}"> <h:commandButton value="#{i18n['usercart.downloadExport']}">
<p:fileDownload value="#{userCartView.userExport}" /> <p:fileDownload value="#{userCartView.userExport}" />
</h:commandButton> </h:commandButton>
<h:commandButton action="#{userCartView.showOverview}" value="#{i18n['usercart.showoverview']}" /> <h:commandButton action="#{userCartView.showOverview(i18n['rejectcard.mailSubject'], i18n['rejectcard.mailBody'])}" value="#{i18n['usercart.showoverview']}" />
<h:commandButton rendered="#{creditTransferView.transferPermissions}" action="#{userCartView.transferCredits}" value="#{i18n['usercart.transferCredits']}" /> <h:commandButton rendered="#{creditTransferView.transferPermissions}" action="#{userCartView.transferCredits}" value="#{i18n['usercart.transferCredits']}" />
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<h:body> <h:body>
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{userOverviewView.initView()}" /> <f:event type="preRenderView" listener="#{userOverviewView.initView(#{i18n['rejectcard.mailSubject']}, #{i18n['rejectcard.mailBody']})}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
...@@ -54,10 +54,26 @@ ...@@ -54,10 +54,26 @@
<p:commandButton id="Reject#{table.rowIndex}" value="Reject" onclick="PF('dialog#{table.rowIndex}').show();" type="button" onerror="location.reload(true);"/> <p:commandButton id="Reject#{table.rowIndex}" value="Reject" onclick="PF('dialog#{table.rowIndex}').show();" type="button" onerror="location.reload(true);"/>
<p:dialog id="rejectDialog" widgetVar="dialog#{table.rowIndex}"> <p:dialog id="rejectDialog" widgetVar="dialog#{table.rowIndex}">
<p>{0} -tapahtuman profiiliisi sy\u00E4tetty kuva on hyl\u00E4tty soveltumattomana. Sy\u00E4t\u00E4 uusi kuva v\u00E4litt\u00E4m\u00E4sti. Kuvan saat asetettua profiili-sivulta. Hyv\u00E4ksytt\u00E4v\u00E4ss\u00E4 kuvassa kasvosi n\u00E4kyvät selke\u00E4sti ja tunnistettavasti.</p> <h:selectManyCheckbox>
<f:selectItem value="#{cardItem.sendRejectionMail}" itemLabel="#{i18n['rejectcard.sendRejectionMail']}"></f:selectItem>
</h:selectManyCheckbox>
<h:panelGrid columns="2" border="0" >
<p:inputTextarea value="#{userOverviewView.rejectionMsg}"/> <h:outputText value="#{i18n['rejectcard.toAddr']}:" />
<h:inputText value="#{cardItem.rejectionMsgToAddr}"/>
<h:outputText value="#{i18n['rejectcard.toName']}:" />
<h:inputText value="#{cardItem.rejectionMsgToName}"/>
<h:outputText value="#{i18n['rejectcard.subject']}:" />
<h:inputText value="#{cardItem.rejectionMsgSubject}"/>
<h:outputText value="#{i18n['rejectcard.body']}:" />
<h:inputText value="#{cardItem.rejectionMsgBody}" />
<p:inputTextarea cols="2" value="#{cardItem.rejectionMsg}"/>
<br /> <br />
</h:panelGrid>
<p:commandButton oncomplete="PF('dialog#{table.rowIndex}').hide()" actionListener="#{userOverviewView.rejectCard()}" value="Apply" ajax="true" onerror="location.reload(true);"/> <p:commandButton oncomplete="PF('dialog#{table.rowIndex}').hide()" actionListener="#{userOverviewView.rejectCard()}" value="Apply" ajax="true" onerror="location.reload(true);"/>
<p:commandButton onclick="PF('dialog#{table.rowIndex}').hide()" type="button" value="Cancel" onerror="location.reload(true);"/> <p:commandButton onclick="PF('dialog#{table.rowIndex}').hide()" type="button" value="Cancel" onerror="location.reload(true);"/>
</p:dialog> </p:dialog>
......
...@@ -866,12 +866,21 @@ readerview.cards = Card ( printcount ) ...@@ -866,12 +866,21 @@ readerview.cards = Card ( printcount )
registerleaflet.title = Register leaflet registerleaflet.title = Register leaflet
rejectcard.mailSubject = Profile picture rejected
rejectcard.mailBody = {0} -tapahtuman profiiliisi sy\u00E4tetty kuva on hyl\u00E4tty soveltumattomana. Sy\u00E4t\u00E4 uusi kuva v\u00E4litt\u00E4m\u00E4sti. Kuvan saat asetettua profiili-sivulta. Hyv\u00E4ksytt\u00E4v\u00E4ss\u00E4 kuvassa kasvosi n\u00E4kyvät selke\u00E4sti ja tunnistettavasti. \n\n
rejectcard.toAddr = Email address
rejectcard.toName = Name
rejectcard.body = Body
rejectcard.subject = Subject
rejectcard.sendRejectionMail = Send mail
resetMail.body = You can change a forgotten password by inserting your username or email address to the field below. A link where you can change the password will be sent to the email address associated to that. resetMail.body = You can change a forgotten password by inserting your username or email address to the field below. A link where you can change the password will be sent to the email address associated to that.
resetMail.email = Email address resetMail.email = Email address
resetMail.header = Reset lost password resetMail.header = Reset lost password
resetMail.send = Send resetMail.send = Send
resetMail.username = Username resetMail.username = Username
resetmailSent.body = Email has been sent containing a link where you can change the password. resetmailSent.body = Email has been sent containing a link where you can change the password.
resetmailSent.header = Email sent resetmailSent.header = Email sent
......
...@@ -852,6 +852,14 @@ readerview.cards = Kortit ( tulostuslkm ) ...@@ -852,6 +852,14 @@ readerview.cards = Kortit ( tulostuslkm )
registerleaflet.title = Rekisteriseloste registerleaflet.title = Rekisteriseloste
rejectcard.mailSubject = Kuva hyltty
rejectcard.mailBody = {0} -tapahtuman profiiliisi sy\u00E4tetty kuva on hyl\u00E4tty soveltumattomana. Sy\u00E4t\u00E4 uusi kuva v\u00E4litt\u00E4m\u00E4sti. Kuvan saat asetettua profiili-sivulta. Hyv\u00E4ksytt\u00E4v\u00E4ss\u00E4 kuvassa kasvosi n\u00E4kyvt selke\u00E4sti ja tunnistettavasti. \n\n
rejectcard.toAddr = Shkpostiosoite
rejectcard.toName = Nimi
rejectcard.body = Viestin sislt
rejectcard.subject = Viestin otsikko
rejectcard.sendRejectionMail = Lhet shkpostia
resetMail.body = Voit vaihtaa unohtuneen salasanan sy\u00F6tt\u00E4m\u00E4ll\u00E4 k\u00E4ytt\u00E4j\u00E4tunnuksesi tai tunnukseen liitetyn s\u00E4hk\u00F6postiosoitteen allaolevaan kentt\u00E4\u00E4n. Tunnukseen liitettyyn s\u00E4hk\u00F6postiosoitteeseen l\u00E4hetet\u00E4\u00E4n kertak\u00E4ytt\u00F6inen osoite jossa voit vaihtaa sy\u00F6tt\u00E4m\u00E4si k\u00E4ytt\u00E4j\u00E4tunnuksen salasanan. resetMail.body = Voit vaihtaa unohtuneen salasanan sy\u00F6tt\u00E4m\u00E4ll\u00E4 k\u00E4ytt\u00E4j\u00E4tunnuksesi tai tunnukseen liitetyn s\u00E4hk\u00F6postiosoitteen allaolevaan kentt\u00E4\u00E4n. Tunnukseen liitettyyn s\u00E4hk\u00F6postiosoitteeseen l\u00E4hetet\u00E4\u00E4n kertak\u00E4ytt\u00F6inen osoite jossa voit vaihtaa sy\u00F6tt\u00E4m\u00E4si k\u00E4ytt\u00E4j\u00E4tunnuksen salasanan.
resetMail.email = S\u00E4hk\u00F6postiosoite resetMail.email = S\u00E4hk\u00F6postiosoite
resetMail.header = Salasana unohtunut? resetMail.header = Salasana unohtunut?
...@@ -1297,8 +1305,7 @@ user.wholeName = Nimi ...@@ -1297,8 +1305,7 @@ user.wholeName = Nimi
user.wholename = Koko nimi user.wholename = Koko nimi
user.zipCode = Postinumero user.zipCode = Postinumero
rejectcard.mailSubject = Kuva hyltty
rejectcard.mailBody = {0} -tapahtuman profiiliisi sy\u00E4tetty kuva on hyl\u00E4tty soveltumattomana. Sy\u00E4t\u00E4 uusi kuva v\u00E4litt\u00E4m\u00E4sti. Kuvan saat asetettua profiili-sivulta. Hyv\u00E4ksytt\u00E4v\u00E4ss\u00E4 kuvassa kasvosi n\u00E4kyvt selke\u00E4sti ja tunnistettavasti. \n\n {0}
userImport.commit = Hyv\u00E4ksy userImport.commit = Hyv\u00E4ksy
......
...@@ -3,9 +3,12 @@ package fi.codecrew.moya.web.cdiview.card; ...@@ -3,9 +3,12 @@ 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.Json;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.enums.CardObjectDataType;
import fi.codecrew.moya.enums.CardTextAlignment;
import fi.codecrew.moya.enums.CardTextDataType;
import fi.codecrew.moya.enums.CardTextStyle;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.CardObjectData; import fi.codecrew.moya.model.CardObjectData;
import fi.codecrew.moya.model.CardTemplate; import fi.codecrew.moya.model.CardTemplate;
...@@ -29,6 +32,12 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -29,6 +32,12 @@ public class CardTemplateDataEditView extends GenericCDIView {
private CardTextData cardTextData; private CardTextData cardTextData;
private CardObjectData cardObjectData; private CardObjectData cardObjectData;
private CardObjectDataType[] cardObjectDataTypes = CardObjectDataType.values();
private CardTextDataType[] cardTextDataTypes = CardTextDataType.values();
private CardTextStyle[] fontStyles = CardTextStyle.values();
private CardTextAlignment[] fontAlignments = CardTextAlignment.values();
@EJB @EJB
private transient CardTemplateBeanLocal cfbean; private transient CardTemplateBeanLocal cfbean;
...@@ -37,22 +46,27 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -37,22 +46,27 @@ public class CardTemplateDataEditView extends GenericCDIView {
public void initCardTextData() { public void initCardTextData() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardTextData == null) {
setCardTextData(cfbean.findTextData(cardTextDataId)); setCardTextData(cfbean.findTextData(cardTextDataId));
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardObjectData() { public void initCardObjectData() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardObjectData == null) {
setCardObjectData(cfbean.findObjectData(cardObjectDataId)); setCardObjectData(cfbean.findObjectData(cardObjectDataId));
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardTemplate() { public void initCardTemplate() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardTemplate == null) {
setCardTemplate(cfbean.find(templateId)); setCardTemplate(cfbean.find(templateId));
if(cardTextData != null) if(cardTextData != null)
cardTextData.setCardTemplate(cardTemplate); cardTextData.setCardTemplate(cardTemplate);
...@@ -62,28 +76,34 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -62,28 +76,34 @@ public class CardTemplateDataEditView extends GenericCDIView {
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardTextDataCreate() { public void initCardTextDataCreate() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardTextData == null) {
setCardTextData(new CardTextData()); setCardTextData(new CardTextData());
//cardTextData.setMeta(Json.createObjectBuilder().build()); //cardTextData.setMeta(Json.createObjectBuilder().build());
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardTextObjectCreate() { public void initCardTextObjectCreate() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardObjectData == null) {
setCardObjectData(new CardObjectData()); setCardObjectData(new CardObjectData());
//cardObjectData.setMeta(Json.createObjectBuilder().build()); //cardObjectData.setMeta(Json.createObjectBuilder().build());
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCreateObjectType() { public void initCreateObjectType() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(createObjectType == 0) {
if(createObjectType == 1) if(createObjectType == 1)
setCardTextData(new CardTextData()); setCardTextData(new CardTextData());
else if(createObjectType == 2) else if(createObjectType == 2)
...@@ -91,6 +111,7 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -91,6 +111,7 @@ public class CardTemplateDataEditView extends GenericCDIView {
super.beginConversation(); super.beginConversation();
} }
} }
}
public String saveTextData() { public String saveTextData() {
//if(cardTextData.getMeta() == null) //if(cardTextData.getMeta() == null)
...@@ -159,4 +180,36 @@ public class CardTemplateDataEditView extends GenericCDIView { ...@@ -159,4 +180,36 @@ public class CardTemplateDataEditView extends GenericCDIView {
public void setCardTemplate(CardTemplate cardTemplate) { public void setCardTemplate(CardTemplate cardTemplate) {
this.cardTemplate = cardTemplate; this.cardTemplate = cardTemplate;
} }
public CardObjectDataType[] getCardObjectDataTypes() {
return cardObjectDataTypes;
}
public void setCardObjectDataTypes(CardObjectDataType[] cardObjectDataTypes) {
this.cardObjectDataTypes = cardObjectDataTypes;
}
public CardTextDataType[] getCardTextDataTypes() {
return cardTextDataTypes;
}
public void setCardTextDataTypes(CardTextDataType[] cardTextDataTypes) {
this.cardTextDataTypes = cardTextDataTypes;
}
public CardTextStyle[] getFontStyles() {
return fontStyles;
}
public void setFontStyles(CardTextStyle[] fontStyles) {
this.fontStyles = fontStyles;
}
public CardTextAlignment[] getFontAlignments() {
return fontAlignments;
}
public void setFontAlignments(CardTextAlignment[] fontAlignments) {
this.fontAlignments = fontAlignments;
}
} }
...@@ -43,35 +43,41 @@ public class CardTemplateDataView extends GenericCDIView { ...@@ -43,35 +43,41 @@ public class CardTemplateDataView extends GenericCDIView {
public void initCardTextDatas() { public void initCardTextDatas() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
setCardTextDatas(cfbean.findCardTextDatas(templateId)); if(cardTextDatas == null) {
setCardTextDatas(cfbean.findCardTextDatas(cardTemplate));
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardObjectDatas() { public void initCardObjectDatas() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
setCardObjectDatas(cfbean.findCardObjectDatas(templateId)); if(cardObjectDatas == null) {
setCardObjectDatas(cfbean.findCardObjectDatas(cardTemplate));
super.beginConversation(); super.beginConversation();
} }
} }
}
public void initCardTemplate() { public void initCardTemplate() {
if (super.requirePermissions(UserPermission.VIEW_ALL)) if (super.requirePermissions(UserPermission.VIEW_ALL))
{ {
if(cardTemplate == null) {
setCardTemplate(cfbean.find(templateId)); setCardTemplate(cfbean.find(templateId));
if(cardTemplate != null) if(cardTemplate != null)
{ {
setCardTextDatas(cfbean.findCardTextDatas(templateId)); setCardTextDatas(cfbean.findCardTextDatas(cardTemplate));
setCardObjectDatas(cfbean.findCardObjectDatas(templateId)); setCardObjectDatas(cfbean.findCardObjectDatas(cardTemplate));
}
} }
super.beginConversation(); super.beginConversation();
} }
} }
public String saveTextData() { public String saveTextData() {
if(cardTextData.getMeta() == null) //if(cardTextData.getMeta() == null)
cardTextData.setMeta(Json.createObjectBuilder().build()); // cardTextData.setMeta(Json.createObjectBuilder().build());
cardTextData = cfbean.save(cardTextData); cardTextData = cfbean.save(cardTextData);
return null; return null;
} }
......
...@@ -154,8 +154,8 @@ public class UserCartView extends GenericCDIView { ...@@ -154,8 +154,8 @@ public class UserCartView extends GenericCDIView {
return "/useradmin/list"; return "/useradmin/list";
} }
public String showOverview() { public String showOverview(String mailSubject, String mailBody) {
userOverviewView.initView(); userOverviewView.initView(mailSubject, mailBody);
return "/useradmin/overview"; return "/useradmin/overview";
} }
......
...@@ -11,11 +11,14 @@ import javax.inject.Named; ...@@ -11,11 +11,14 @@ import javax.inject.Named;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import com.sun.xml.rpc.streaming.Event;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.CardState; import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.util.MailMessage;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.helpers.UserOverviewItem; import fi.codecrew.moya.web.helpers.UserOverviewItem;
...@@ -35,19 +38,24 @@ public class UserOverviewView extends GenericCDIView { ...@@ -35,19 +38,24 @@ public class UserOverviewView extends GenericCDIView {
private ListDataModel<UserOverviewItem> userOverviewItems = null; private ListDataModel<UserOverviewItem> userOverviewItems = null;
private String rejectionMsg;
private static final Logger logger = LoggerFactory.getLogger(UserOverviewView.class); private static final Logger logger = LoggerFactory.getLogger(UserOverviewView.class);
public void initView() { public void initView(String rejectionSubject, String rejectionBody) {
if (userOverviewItems == null) { if (userOverviewItems == null) {
ArrayList<UserOverviewItem> ovlist = new ArrayList<UserOverviewItem>(); ArrayList<UserOverviewItem> ovlist = new ArrayList<UserOverviewItem>();
for (EventUser eu : getUserCartView().getUsercart()) { for (EventUser eu : getUserCartView().getUsercart()) {
PrintedCard pc = cardTemplateBean.checkPrintedCard(eu); PrintedCard pc = cardTemplateBean.checkPrintedCard(eu);
UserOverviewItem uoi = new UserOverviewItem(eu, pc);
if(rejectionSubject == null)
rejectionSubject = "";
if(rejectionBody == null)
rejectionBody = "";
UserOverviewItem uoi = new UserOverviewItem(eu, pc, rejectionSubject, rejectionBody);
ovlist.add(uoi); ovlist.add(uoi);
} }
userOverviewItems = new ListDataModel<>(ovlist); userOverviewItems = new ListDataModel<>(ovlist);
super.beginConversation(); super.beginConversation();
} }
} }
...@@ -61,6 +69,7 @@ public class UserOverviewView extends GenericCDIView { ...@@ -61,6 +69,7 @@ public class UserOverviewView extends GenericCDIView {
UserOverviewItem cardItem = null; UserOverviewItem cardItem = null;
try { try {
cardItem = userOverviewItems.getRowData(); cardItem = userOverviewItems.getRowData();
logger.info("rejectCard() cardItem {}", cardItem);
}catch(Exception ex) { }catch(Exception ex) {
logger.info(ex.getMessage()); logger.info(ex.getMessage());
} }
...@@ -69,13 +78,24 @@ public class UserOverviewView extends GenericCDIView { ...@@ -69,13 +78,24 @@ public class UserOverviewView extends GenericCDIView {
PrintedCard card = cardItem.getPrintedCard(); PrintedCard card = cardItem.getPrintedCard();
if(rejectionMsg == null) if(card != null) {
rejectionMsg = "";
MailMessage mail = null;
if(cardItem.isSendRejectionMail()) {
mail = new MailMessage();
mail.setToAddress(cardItem.getRejectionMsgToAddr());
mail.setToName(cardItem.getRejectionMsgToName());
mail.setTo(card.getUser().getUser());
mail.setSubject(cardItem.getRejectionMsgSubject());
mail.setMessage(cardItem.getRejectionMsgBody() + "\r\n" + cardItem.getRejectionMsg());
}
card = userBean.rejectPrintedCard(card, rejectionMsg); card = userBean.rejectPrintedCard(card);
cardItem.setPrintedCard(card); cardItem.setPrintedCard(card);
logger.info("rejectCard(): Rejected card {}, state {}", card, card.getCardState() ); logger.info("rejectCard(): Rejected card {}, state {}", card, card.getCardState() );
} }
}
// cardTemplateBean.setCardState(cardItem.getPrintedCard(), CardState.REJECTED); // cardTemplateBean.setCardState(cardItem.getPrintedCard(), CardState.REJECTED);
} }
...@@ -102,13 +122,4 @@ public class UserOverviewView extends GenericCDIView { ...@@ -102,13 +122,4 @@ public class UserOverviewView extends GenericCDIView {
public void setUserCartView(UserCartView userCartView) { public void setUserCartView(UserCartView userCartView) {
this.userCartView = userCartView; this.userCartView = userCartView;
} }
public void setRejectionMsg(String msg) {
this.rejectionMsg = msg;
}
public String getRejectionMsg() {
return this.rejectionMsg;
}
} }
...@@ -11,9 +11,36 @@ public class UserOverviewItem { ...@@ -11,9 +11,36 @@ public class UserOverviewItem {
private EventUser eventUser; private EventUser eventUser;
private PrintedCard printedCard; private PrintedCard printedCard;
public UserOverviewItem(EventUser eu, PrintedCard pc) { private boolean sendRejectionMail;
private String rejectionMsg;
private String rejectionMsgSubject;
private String rejectionMsgBody;
private String rejectionMsgToAddr;
private String rejectionMsgToName;
public UserOverviewItem(EventUser eu, PrintedCard pc, String mailSubject, String mailBody) {
eventUser = eu; eventUser = eu;
printedCard = pc; printedCard = pc;
sendRejectionMail = false;
if(mailSubject != null)
this.rejectionMsgSubject = mailSubject;
else
this.rejectionMsgSubject = "";
if(mailBody != null)
this.rejectionMsgBody = mailBody;
else
this.rejectionMsgBody = "";
if(this.rejectionMsgBody.contains("{0}") && eventUser != null && eventUser.getEvent() != null)
this.rejectionMsgBody = this.rejectionMsgBody.replace("{0}", eventUser.getEvent().getName());
this.rejectionMsgToAddr = eventUser.getEmail();
this.rejectionMsgToName = eventUser.getWholeName();
} }
public void acceptCard(ActionEvent ae) { public void acceptCard(ActionEvent ae) {
...@@ -35,4 +62,52 @@ public class UserOverviewItem { ...@@ -35,4 +62,52 @@ public class UserOverviewItem {
public void setPrintedCard(PrintedCard printedCard) { public void setPrintedCard(PrintedCard printedCard) {
this.printedCard = printedCard; this.printedCard = printedCard;
} }
public boolean isSendRejectionMail() {
return sendRejectionMail;
}
public void setSendRejectionMail(boolean rejectionSendMail) {
this.sendRejectionMail = rejectionSendMail;
}
public String getRejectionMsg() {
return rejectionMsg;
}
public void setRejectionMsg(String rejectionMsg) {
this.rejectionMsg = rejectionMsg;
}
public String getRejectionMsgSubject() {
return rejectionMsgSubject;
}
public void setRejectionMsgSubject(String rejectionMsgSubject) {
this.rejectionMsgSubject = rejectionMsgSubject;
}
public String getRejectionMsgBody() {
return rejectionMsgBody;
}
public void setRejectionMsgBody(String rejectionMsgBody) {
this.rejectionMsgBody = rejectionMsgBody;
}
public String getRejectionMsgToAddr() {
return rejectionMsgToAddr;
}
public void setRejectionMsgToAddr(String rejectionMsgToAddr) {
this.rejectionMsgToAddr = rejectionMsgToAddr;
}
public String getRejectionMsgToName() {
return rejectionMsgToName;
}
public void setRejectionMsgToName(String rejectionMsgToName) {
this.rejectionMsgToName = rejectionMsgToName;
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!