Commit 39c71bf1 by Tuomas Riihimäki

Merge branch 'devel'

2 parents 76ed1caf 9add6114
Showing with 297 additions and 78 deletions
package fi.codecrew.moya.beans;
import java.io.IOException;
import java.io.InputStream;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.utilities.BarcodeUtils;
/**
* Session Bean implementation class BarcodeBean
*/
@Stateless
@LocalBean
public class BarcodeBean implements BarcodeBeanLocal {
private static final String PRINTED_CARD_PREFIX = "200";
private static final Logger logger = LoggerFactory.getLogger(BarcodeBean.class);
/**
* Default constructor.
*/
public BarcodeBean() {
// TODO Auto-generated constructor stub
}
public InputStream getCardBarcode(PrintedCard printedCard) throws IOException {
StringBuilder sb = new StringBuilder();
sb.append(PRINTED_CARD_PREFIX);
String idStr = printedCard.getId().toString();
for (int i = 12 - idStr.length() - sb.length(); i > 0; --i) {
sb.append("0");
}
sb.append(idStr);
String barcode = sb.toString();
logger.debug("Geneating barcode for card {} : {}", printedCard, barcode);
return BarcodeUtils.getBarcodeEAN(barcode);
}
}
...@@ -22,12 +22,10 @@ import com.pdfjet.TextLine; ...@@ -22,12 +22,10 @@ import com.pdfjet.TextLine;
import fi.codecrew.moya.facade.CardTemplateFacade; import fi.codecrew.moya.facade.CardTemplateFacade;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.UserFacade; import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.beans.CardPrintBeanLocal;
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.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.util.MassPrintResult; import fi.codecrew.moya.util.MassPrintResult;
import fi.codecrew.moya.utilities.BarcodeUtils;
/** /**
* Session Bean implementation class CardPrintBean * Session Bean implementation class CardPrintBean
...@@ -46,6 +44,8 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -46,6 +44,8 @@ public class CardPrintBean implements CardPrintBeanLocal {
private CardTemplateFacade cardTemplateFacade; private CardTemplateFacade cardTemplateFacade;
@EJB @EJB
private UserFacade userfacade; private UserFacade userfacade;
@EJB
private BarcodeBean barcodeBean;
/** /**
* Default constructor. * Default constructor.
...@@ -111,13 +111,14 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -111,13 +111,14 @@ public class CardPrintBean implements CardPrintBeanLocal {
cardTemplate.getImage())); cardTemplate.getImage()));
BufferedImage faceBufferedImage = ImageIO BufferedImage faceBufferedImage = ImageIO
.read(new ByteArrayInputStream(user.getCurrentImage() .read(new ByteArrayInputStream(user.getCurrentImage().getImageData()));
.getImageData()));
/*
if(faceBufferedImage.getWidth() > 1024 || faceBufferedImage.getHeight() > 1024) { * if (faceBufferedImage.getWidth() > 1024 ||
throw new Exception("Image dimensions too large, please take/upload smaller!"); * faceBufferedImage.getHeight() > 1024) { throw new
} * Exception("Image dimensions too large, please take/upload smaller!"
* ); }
*/
int originalWidth = faceBufferedImage.getWidth(); int originalWidth = faceBufferedImage.getWidth();
int originalHeight = faceBufferedImage.getHeight(); int originalHeight = faceBufferedImage.getHeight();
...@@ -184,14 +185,15 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -184,14 +185,15 @@ public class CardPrintBean implements CardPrintBeanLocal {
roleTextLine.drawOn(page); roleTextLine.drawOn(page);
// Barcode // Barcode
String barcodeString = String.valueOf(user.getUser().getCreated() // String barcodeString =
.getTime().getTime()); // String.valueOf(user.getUser().getCreated().getTime().getTime());
barcodeString = barcodeString.substring(barcodeString.length() - 12);
BufferedImage barCodeBufferedImage = ImageIO.read(BarcodeUtils // barcodeString = barcodeString.substring(barcodeString.length() -
.getBarcodeEAN(barcodeString)); // 12);
Image barCodeImage = new Image(pdf,
convertBufferedImageToPng(barCodeBufferedImage), ImageType.PNG); BufferedImage barCodeBufferedImage = ImageIO.read(barcodeBean.getCardBarcode(printedCard));
barCodeImage.setPosition(0.0, 243.5); Image barCodeImage = new Image(pdf, convertBufferedImageToPng(barCodeBufferedImage), ImageType.PNG);
barCodeImage.setPosition(0.0, 230);// 243.5);
barCodeImage.scaleBy(0.7); barCodeImage.scaleBy(0.7);
barCodeImage.drawOn(page); barCodeImage.drawOn(page);
......
...@@ -17,16 +17,12 @@ import javax.imageio.ImageIO; ...@@ -17,16 +17,12 @@ import javax.imageio.ImageIO;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.CardTemplateFacade; import fi.codecrew.moya.facade.CardTemplateFacade;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.GroupMembershipFacade; import fi.codecrew.moya.facade.GroupMembershipFacade;
import fi.codecrew.moya.facade.LanEventPropertyFacade; import fi.codecrew.moya.facade.LanEventPropertyFacade;
import fi.codecrew.moya.facade.PrintedCardFacade; import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.beans.UtilBeanLocal;
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.LanEvent; import fi.codecrew.moya.model.LanEvent;
...@@ -179,6 +175,8 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -179,6 +175,8 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
} else { } else {
logger.info("User {} has power {} and roles has power {}", new Object[] { user.getUser().getLogin(), existingPower, newPower }); logger.info("User {} has power {} and roles has power {}", new Object[] { user.getUser().getLogin(), existingPower, newPower });
} }
eventPropertyFacade.flush();
return biggestCard; return biggestCard;
} }
......
...@@ -11,10 +11,6 @@ import javax.ejb.Stateless; ...@@ -11,10 +11,6 @@ import javax.ejb.Stateless;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.MenuNavigationFacade;
import fi.codecrew.moya.facade.MenuitemFacade;
import fi.codecrew.moya.beans.MenuBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.enums.apps.BillPermission; import fi.codecrew.moya.enums.apps.BillPermission;
import fi.codecrew.moya.enums.apps.CompoPermission; import fi.codecrew.moya.enums.apps.CompoPermission;
import fi.codecrew.moya.enums.apps.ContentPermission; import fi.codecrew.moya.enums.apps.ContentPermission;
...@@ -23,6 +19,8 @@ import fi.codecrew.moya.enums.apps.PollPermission; ...@@ -23,6 +19,8 @@ import fi.codecrew.moya.enums.apps.PollPermission;
import fi.codecrew.moya.enums.apps.ShopPermission; import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission; import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.MenuNavigationFacade;
import fi.codecrew.moya.facade.MenuitemFacade;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.MenuNavigation; import fi.codecrew.moya.model.MenuNavigation;
...@@ -74,7 +72,18 @@ public class MenuBean implements MenuBeanLocal { ...@@ -74,7 +72,18 @@ public class MenuBean implements MenuBeanLocal {
LanEvent ev = eventbean.getCurrentEvent(); LanEvent ev = eventbean.getCurrentEvent();
MenuNavigation usermenu = new MenuNavigation(ev, "topnavi.usernavi", menusort = +10); MenuNavigation usermenu = new MenuNavigation(ev, "topnavi.usernavi", menusort = +10);
usermenu.addPage(menuitemfacade.findOrCreate("/index"), UserPermission.ANYUSER); usermenu.addPage(menuitemfacade.findOrCreate("/index"), UserPermission.ANYUSER);
usermenu.addPage(menuitemfacade.findOrCreate("/permissionDenied"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/login"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/loginError"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/logout"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/logoutResponse"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/resetPassword"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/resetmailSent"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/passwordChanged"), null).setVisible(false);
usermenu.addPage(menuitemfacade.findOrCreate("/auth/notauthorized"), null).setVisible(false);
MenuNavigation userkauppa = usermenu.addPage(null, null); MenuNavigation userkauppa = usermenu.addPage(null, null);
userkauppa.setKey("topnavi.usershop"); userkauppa.setKey("topnavi.usershop");
userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL); userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL);
...@@ -95,6 +104,8 @@ public class MenuBean implements MenuBeanLocal { ...@@ -95,6 +104,8 @@ public class MenuBean implements MenuBeanLocal {
usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/compolist"), CompoPermission.VIEW_COMPOS); usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/compolist"), CompoPermission.VIEW_COMPOS);
usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/myEntries"), CompoPermission.VIEW_COMPOS); usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/myEntries"), CompoPermission.VIEW_COMPOS);
usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/create"), CompoPermission.MANAGE); usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/create"), CompoPermission.MANAGE);
usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/submitEntry"), null).setVisible(false);
usercompetitions.addPage(menuitemfacade.findOrCreate("/voting/details"), null).setVisible(false);
MenuNavigation createuser = usermenu.addPage(null, null); MenuNavigation createuser = usermenu.addPage(null, null);
createuser.setKey("topnavi.createuser"); createuser.setKey("topnavi.createuser");
...@@ -107,15 +118,25 @@ public class MenuBean implements MenuBeanLocal { ...@@ -107,15 +118,25 @@ public class MenuBean implements MenuBeanLocal {
adminuser.setKey("topnavi.usermgmt"); adminuser.setKey("topnavi.usermgmt");
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/create"), UserPermission.VIEW_ALL); adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/create"), UserPermission.VIEW_ALL);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/list"), UserPermission.VIEW_ALL); adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/list"), UserPermission.VIEW_ALL);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/edit"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/changePassword"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/accountEvents"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/place/adminGroups"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/place/adminInsertToken"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/foodwaveshop"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/foodwaveProducts"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/showTakePicture"), UserPermission.VIEW_ALL).setVisible(false);
MenuNavigation adminroles = adminuser.addPage(null, null); MenuNavigation adminroles = adminuser.addPage(null, null);
adminroles.setKey("subnavi.roles"); adminroles.setKey("subnavi.roles");
adminroles.addPage(menuitemfacade.findOrCreate("/role/list"), UserPermission.READ_ROLES); adminroles.addPage(menuitemfacade.findOrCreate("/role/list"), UserPermission.READ_ROLES);
adminroles.addPage(menuitemfacade.findOrCreate("/role/create"), UserPermission.WRITE_ROLES); adminroles.addPage(menuitemfacade.findOrCreate("/role/create"), UserPermission.WRITE_ROLES);
adminroles.addPage(menuitemfacade.findOrCreate("/role/edit"), null).setVisible(false);
MenuNavigation adminshop = adminmenu.addPage(null, null); MenuNavigation adminshop = adminmenu.addPage(null, null);
adminshop.setKey("topnavi.adminshop"); adminshop.setKey("topnavi.adminshop");
MenuNavigation adminShopProducts = adminshop.addPage(null, null); MenuNavigation adminShopProducts = adminshop.addPage(null, null);
adminShopProducts.setKey("subnavi.products");
adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS); adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS);
adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS); adminShopProducts.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS);
...@@ -125,7 +146,7 @@ public class MenuBean implements MenuBeanLocal { ...@@ -125,7 +146,7 @@ public class MenuBean implements MenuBeanLocal {
adminShopReaders.addPage(menuitemfacade.findOrCreate("/shop/listReaders"), ShopPermission.SHOP_TO_OTHERS); adminShopReaders.addPage(menuitemfacade.findOrCreate("/shop/listReaders"), ShopPermission.SHOP_TO_OTHERS);
MenuNavigation adminShopBilling = adminshop.addPage(null, null); MenuNavigation adminShopBilling = adminshop.addPage(null, null);
adminShopReaders.setKey("subnavi.billing"); adminShopBilling.setKey("subnavi.billing");
adminShopBilling.addPage(menuitemfacade.findOrCreate("/bill/billSummary"), BillPermission.READ_ALL); adminShopBilling.addPage(menuitemfacade.findOrCreate("/bill/billSummary"), BillPermission.READ_ALL);
adminShopBilling.addPage(menuitemfacade.findOrCreate("/bill/listAll"), BillPermission.WRITE_ALL); adminShopBilling.addPage(menuitemfacade.findOrCreate("/bill/listAll"), BillPermission.WRITE_ALL);
...@@ -135,6 +156,9 @@ public class MenuBean implements MenuBeanLocal { ...@@ -135,6 +156,9 @@ public class MenuBean implements MenuBeanLocal {
adminEventCards.setKey("subnavi.cards"); adminEventCards.setKey("subnavi.cards");
adminEventCards.addPage(menuitemfacade.findOrCreate("/useradmin/listCardTemplates"), UserPermission.READ_ROLES); adminEventCards.addPage(menuitemfacade.findOrCreate("/useradmin/listCardTemplates"), UserPermission.READ_ROLES);
adminEventCards.addPage(menuitemfacade.findOrCreate("/useradmin/createCardTemplate"), UserPermission.WRITE_ROLES); adminEventCards.addPage(menuitemfacade.findOrCreate("/useradmin/createCardTemplate"), UserPermission.WRITE_ROLES);
adminEventCards.addPage(menuitemfacade.findOrCreate("/useradmin/editCardTemplate"), null).setVisible(false);
adminEventCards.addPage(menuitemfacade.findOrCreate("/shop/shopToUser"), null).setVisible(false);
adminEventCards.addPage(menuitemfacade.findOrCreate("/shop/assocToUser"), null).setVisible(false);
navifacade.create(adminmenu); navifacade.create(adminmenu);
......
...@@ -15,10 +15,6 @@ import org.slf4j.LoggerFactory; ...@@ -15,10 +15,6 @@ import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.PrintedCardFacade; import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.facade.ReaderEventFacade; import fi.codecrew.moya.facade.ReaderEventFacade;
import fi.codecrew.moya.facade.ReaderFacade; import fi.codecrew.moya.facade.ReaderFacade;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.ReaderBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.model.AccountEvent; import fi.codecrew.moya.model.AccountEvent;
import fi.codecrew.moya.model.CardTemplate; import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
...@@ -260,4 +256,11 @@ public class ReaderBean implements ReaderBeanLocal { ...@@ -260,4 +256,11 @@ public class ReaderBean implements ReaderBeanLocal {
} }
return readerfacade.merge(reader); return readerfacade.merge(reader);
} }
@Override
public void createReader(Reader reader) {
reader.setEvent(eventbean.getCurrentEvent());
readerfacade.create(reader);
}
} }
...@@ -92,6 +92,10 @@ public class VotingBean implements VotingBeanLocal { ...@@ -92,6 +92,10 @@ public class VotingBean implements VotingBeanLocal {
Compo co = compoFacade.reload(entry.getCompo()); Compo co = compoFacade.reload(entry.getCompo());
entry.setCreator(permissionBean.getCurrentUser()); entry.setCreator(permissionBean.getCurrentUser());
if (entry.getTitle() == null)
{
entry.setTitle("");
}
if (co.getCompoEntries() == null) { if (co.getCompoEntries() == null) {
co.setCompoEntries(new ArrayList<CompoEntry>()); co.setCompoEntries(new ArrayList<CompoEntry>());
} }
......
package fi.codecrew.moya.beans;
import javax.ejb.Local;
@Local
public interface BarcodeBeanLocal {
}
...@@ -35,4 +35,6 @@ public interface ReaderBeanLocal { ...@@ -35,4 +35,6 @@ public interface ReaderBeanLocal {
Reader saveReader(Reader reader); Reader saveReader(Reader reader);
void createReader(Reader reader);
} }
...@@ -43,21 +43,21 @@ public class CompoEntry extends GenericEntity { ...@@ -43,21 +43,21 @@ public class CompoEntry extends GenericEntity {
private Calendar created = Calendar.getInstance(); private Calendar created = Calendar.getInstance();
@Column(name = "title", nullable = false) @Column(name = "title", nullable = false)
private String title; private String title = "";
@Column(name = "author") @Column(name = "author")
private String author; private String author = "";
@Lob @Lob
@Column(name = "notes") @Column(name = "notes")
private String notes; private String notes = "";
@Lob @Lob
@Column(name = "screen_message") @Column(name = "screen_message")
private String screenMessage; private String screenMessage = "";
@Column(name = "sort") @Column(name = "sort")
private Integer sort; private Integer sort = 10;
@Column(name = "final_position") @Column(name = "final_position")
private Integer finalPosition; private Integer finalPosition;
......
...@@ -42,7 +42,9 @@ ...@@ -42,7 +42,9 @@
</h:panelGrid> </h:panelGrid>
</h:form> </h:form>
</div> </div>
<div style="">
<h:link style="margin: 0 auto; font-size: 3em;" outcome="/admin/adduser/start" value="Valmis"/>
</div>
<script> <script>
function dophoto(pc) { function dophoto(pc) {
......
...@@ -14,13 +14,15 @@ ...@@ -14,13 +14,15 @@
<h1>#{i18n['card.massprint.title']}</h1> <h1>#{i18n['card.massprint.title']}</h1>
</ui:define> </ui:define>
<ui:define name="content"> <ui:define name="content">
<h:form rendered="#{cardMassPrintView.file!=null}"> <h:form rendered="#{!empty cardMassPrintView.streamedFile}">
<p:commandButton id="downloadLink" value="Download" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)" icon="ui-icon-arrowthichk-s"> <p:commandButton id="downloadLink" value="Download" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)" icon="ui-icon-arrowthichk-s">
<p:fileDownload value="#{cardMassPrintView.streamedFile}" /> <p:fileDownload value="#{cardMassPrintView.streamedFile}" />
</p:commandButton> </p:commandButton>
<p:commandButton value="Accept printout" action="#{cardMassPrintView.acceptPrintout()}" rendered="#{cardMassPrintView.waitForAcceptance}" /> <p:commandButton value="Accept printout" action="#{cardMassPrintView.acceptPrintout()}" rendered="#{cardMassPrintView.waitForAcceptance}" />
</h:form> </h:form>
<h:outputText value="Error generating mass output!" rendered="#{empty cardMassPrintView.streamedFile}"/>
</ui:define> </ui:define>
</ui:composition> </ui:composition>
</h:body> </h:body>
......
...@@ -10,7 +10,11 @@ ...@@ -10,7 +10,11 @@
<composite:implementation> <composite:implementation>
<h:form> <h:form>
<p:poll interval="3" />
<p:poll interval="3" />
<h:dataTable border="1" id="event" value="#{readerView.readerEvents}" var="event"> <h:dataTable border="1" id="event" value="#{readerView.readerEvents}" var="event">
<h:column> <h:column>
<f:facet name="header"> <f:facet name="header">
......
<!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:f="http://java.sun.com/jsf/core"
xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop" xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata>
<f:event type="preRenderView" listener="#{readerView.initCreateReader}" />
</f:metadata>
<ui:define name="content">
<h:form>
<h:panelGrid columns="3">
<h:outputLabel for="name" value="#{i18n['reader.identification']}" />
<h:inputText id="name" value="#{readerView.reader.identification}" />
<h:message for="name" />
<h:outputLabel for="type" value="#{i18n['reader.type']}" />
<h:selectOneMenu value="#{readerView.reader.type}">
<f:selectItems value="#{readerView.readerTypes}" />
</h:selectOneMenu>
</h:panelGrid>
<h:commandButton action="#{readerView.createReader}" value="#{i18n['reader.create']}" />
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{userCartView.initView}" /> <!-- f:event type="preRenderView" listener="#{userCartView.initView}" />
-->
</f:metadata> </f:metadata>
<ui:define name="title"> <ui:define name="title">
......
...@@ -7,16 +7,19 @@ ...@@ -7,16 +7,19 @@
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:viewParam name="compoId" value="#{compoView.compoId}" />
<f:viewParam name="entryId" value="#{compoView.entryId}" /> <f:viewParam name="entryId" value="#{compoView.entryId}" />
<f:event type="preRenderView" listener="#{compoView.initEntryView}" /> <f:event type="preRenderView" listener="#{compoView.initEntryView}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<!-- <h:outputStylesheet library="style" name="insomnia2/css/actionlog.css" /> --> <!-- <h:outputStylesheet library="style" name="insomnia2/css/actionlog.css" /> -->
<h1>#{i18n['voting.compoentryadd.title']}</h1> <h1>#{i18n['voting.compoentryadd.title']}</h1>
<p>#{i18n['voting.compoentryadd.description']} #{compoView.compo.name}</p> <p>#{i18n['voting.compoentryadd.description']}<h:outputText value="#{compoView.compo.name}" /></p>
<p>
<h:outputText value="#{compoView.compo.description}" />
</p>
<h:form> <h:form>
<h:panelGrid columns="3"> <!-- <h:panelGrid columns="3">
<h:outputLabel value="Title" for="name" /> <h:outputLabel value="Title" for="name" />
<h:inputText value="#{compoView.entry.title}" id="name" /> <h:inputText value="#{compoView.entry.title}" id="name" />
<h:message for="name" /> <h:message for="name" />
...@@ -32,14 +35,18 @@ ...@@ -32,14 +35,18 @@
<h:outputLabel value="#{i18n['voting.compoentryadd.screenmessage']}" for="screenmessage" /> <h:outputLabel value="#{i18n['voting.compoentryadd.screenmessage']}" for="screenmessage" />
<h:inputTextarea value="#{compoView.entry.screenMessage}" id="screenmessage" /> <h:inputTextarea value="#{compoView.entry.screenMessage}" id="screenmessage" />
<h:message for="screenmessage" /> <h:message for="screenmessage" />
<h:commandButton rendered="#{empty compoView.entry.id}" action="#{compoView.createEntry()}" value="#{i18n['voting.compoentryadd.button']}" /> <h:commandButton rendered="#{empty compoView.entry.id}" action="#{compoView.createEntry()}" value="#{i18n['voting.compoentryadd.button']}" />
<h:commandButton rendered="#{!empty compoView.entry.id}" action="#{compoView.saveEntry()}" value="#{i18n['voting.compoentrysave.button']}" /> <h:commandButton rendered="#{!empty compoView.entry.id}" action="#{compoView.saveEntry()}" value="#{i18n['voting.compoentrysave.button']}" />
</h:panelGrid> </h:panelGrid>
</h:form> -->
<h:commandButton rendered="#{empty compoView.entry.id}" action="#{compoView.createEntry()}" value="Ilmoittaudu kilpailuun" />
</h:form>
<ui:fragment rendered="#{!empty compoView.entry.id}"> <ui:fragment rendered="#{!empty compoView.entry.id}">
<h:form enctype="multipart/form-data"> <!-- <h:form enctype="multipart/form-data">
<p:fileUpload value="#{compoView.uploadedFile}" id="uploadedfile" mode="simple" /> <p:fileUpload value="#{compoView.uploadedFile}" id="uploadedfile" mode="simple" />
<h:commandButton action="#{compoView.submitEntryfile}" value="#{i18n['compofile.upload']}" /> <h:commandButton action="#{compoView.submitEntryfile}" value="#{i18n['compofile.upload']}" />
</h:form> </h:form>
...@@ -54,6 +61,8 @@ ...@@ -54,6 +61,8 @@
<p:fileDownload value="#{compoFileDownloadView.dlfile}" /> <p:fileDownload value="#{compoFileDownloadView.dlfile}" />
</h:commandButton> </h:commandButton>
</h:form> </h:form>
-->
Ilmoittautuminen otettu vastaan.
</ui:fragment> </ui:fragment>
</ui:define> </ui:define>
......
...@@ -136,4 +136,6 @@ resetMail.username = Username ...@@ -136,4 +136,6 @@ 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
subnavi.cards = \t\t
user.unauthenticated = Kirjautumaton user.unauthenticated = Kirjautumaton
...@@ -368,6 +368,8 @@ menu.item = Item ...@@ -368,6 +368,8 @@ menu.item = Item
menu.name = Name menu.name = Name
menu.select = Select menu.select = Select
menu.sort = Sort menu.sort = Sort
menu.toAdmin = Adminview
menu.toUser = Userview
menuitem.navigation.key = Product flag menuitem.navigation.key = Product flag
...@@ -728,6 +730,12 @@ submenu.voting.compolist = Compos ...@@ -728,6 +730,12 @@ submenu.voting.compolist = Compos
submenu.voting.create = Create new compo submenu.voting.create = Create new compo
submenu.voting.myEntries = My entries submenu.voting.myEntries = My entries
subnavi.billing = Billing
subnavi.cards = Cards
subnavi.products = Products
subnavi.readers = Readers
subnavi.roles = Roles
supernavi.admin = Adminview supernavi.admin = Adminview
supernavi.user = Userview supernavi.user = Userview
...@@ -748,6 +756,7 @@ topnavi.competitions = Competitions ...@@ -748,6 +756,7 @@ topnavi.competitions = Competitions
topnavi.compos = Compos topnavi.compos = Compos
topnavi.contents = Site contents topnavi.contents = Site contents
topnavi.createuser = Create user topnavi.createuser = Create user
topnavi.event = Event
topnavi.foodwave = Food topnavi.foodwave = Food
topnavi.frontpage = Front page topnavi.frontpage = Front page
topnavi.log = Log topnavi.log = Log
......
...@@ -378,6 +378,8 @@ menu.poll.index = Kyselyt ...@@ -378,6 +378,8 @@ menu.poll.index = Kyselyt
menu.select = Valitse menu.select = Valitse
menu.shop.createBill = Kauppa menu.shop.createBill = Kauppa
menu.sort = J\u00E4rjest\u00E4 menu.sort = J\u00E4rjest\u00E4
menu.toAdmin = Yll\u00E4piton\u00E4kym\u00E4
menu.toUser = K\u00E4ytt\u00E4j\u00E4n\u00E4kym\u00E4
menu.user.edit = Omat tiedot menu.user.edit = Omat tiedot
news.abstract = Lyhennelm\u00E4 news.abstract = Lyhennelm\u00E4
...@@ -709,6 +711,12 @@ submenu.voting.compolist = Kilpailut ...@@ -709,6 +711,12 @@ submenu.voting.compolist = Kilpailut
submenu.voting.create = Uusi kilpailu submenu.voting.create = Uusi kilpailu
submenu.voting.myEntries = Omat entryt submenu.voting.myEntries = Omat entryt
subnavi.billing = Laskutus
subnavi.cards = Kortit
subnavi.products = Tuotteet
subnavi.readers = Lukijat
subnavi.roles = Roolit
supernavi.admin = Yll\u00E4piton\u00E4kym\u00E4 supernavi.admin = Yll\u00E4piton\u00E4kym\u00E4
supernavi.user = K\u00E4ytt\u00E4j\u00E4n\u00E4kym\u00E4 supernavi.user = K\u00E4ytt\u00E4j\u00E4n\u00E4kym\u00E4
...@@ -729,6 +737,7 @@ topnavi.competitions = Kilpailut ...@@ -729,6 +737,7 @@ topnavi.competitions = Kilpailut
topnavi.compos = Kilpailut topnavi.compos = Kilpailut
topnavi.contents = Sivuston sis\u00E4lt\u00F6 topnavi.contents = Sivuston sis\u00E4lt\u00F6
topnavi.createuser = Luo k\u00E4ytt\u00E4j\u00E4 topnavi.createuser = Luo k\u00E4ytt\u00E4j\u00E4
topnavi.event = Tapahtuma
topnavi.foodwave = Ruokatilaus topnavi.foodwave = Ruokatilaus
topnavi.frontpage = Etusivu topnavi.frontpage = Etusivu
topnavi.log = Logi topnavi.log = Logi
...@@ -862,12 +871,12 @@ voting.allcompos.voteStart = \u00C4\u00E4nestys auki ...@@ -862,12 +871,12 @@ voting.allcompos.voteStart = \u00C4\u00E4nestys auki
voting.compo.submit = L\u00E4het\u00E4 kappale voting.compo.submit = L\u00E4het\u00E4 kappale
voting.compo.vote = \u00C4\u00E4nest\u00E4 voting.compo.vote = \u00C4\u00E4nest\u00E4
voting.compoentryadd.button = L\u00E4het\u00E4 voting.compoentryadd.button = L\u00E4het\u00E4
voting.compoentryadd.description = Lis\u00E4\u00E4 uusi entry compoon voting.compoentryadd.description = Ilmoittaudu kilpailuun:
voting.compoentryadd.entryname = Nimi voting.compoentryadd.entryname = Nimi
voting.compoentryadd.file = Tiedosto voting.compoentryadd.file = Tiedosto
voting.compoentryadd.notes = Huomatuksia voting.compoentryadd.notes = Huomatuksia
voting.compoentryadd.screenmessage = Screenmessage voting.compoentryadd.screenmessage = Screenmessage
voting.compoentryadd.title = Lis\u00E4\u00E4 entry voting.compoentryadd.title = Ilmoittaudu
voting.compoentryadd.uploadedFile = asdsda voting.compoentryadd.uploadedFile = asdsda
voting.compoentrysave.button = Tallenna voting.compoentrysave.button = Tallenna
voting.create.compoEnd = Lopetusaika voting.create.compoEnd = Lopetusaika
......
package fi.codecrew.moya.web.cdiview.card; package fi.codecrew.moya.web.cdiview.card;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -15,6 +14,8 @@ import javax.inject.Named; ...@@ -15,6 +14,8 @@ import javax.inject.Named;
import org.primefaces.model.DefaultStreamedContent; import org.primefaces.model.DefaultStreamedContent;
import org.primefaces.model.StreamedContent; import org.primefaces.model.StreamedContent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardPrintBeanLocal; import fi.codecrew.moya.beans.CardPrintBeanLocal;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
...@@ -32,11 +33,11 @@ public class CardMassPrintView extends GenericCDIView implements Serializable { ...@@ -32,11 +33,11 @@ public class CardMassPrintView extends GenericCDIView implements Serializable {
@EJB @EJB
private CardPrintBeanLocal cardPrintBean; private CardPrintBeanLocal cardPrintBean;
private File file;
private StreamedContent streamedFile; private StreamedContent streamedFile;
private MassPrintResult mpr = null; private MassPrintResult mpr = null;
private boolean waitForAcceptance = true; private boolean waitForAcceptance = true;
private static final Logger logger = LoggerFactory.getLogger(CardMassPrintView.class);
public CardMassPrintView() { public CardMassPrintView() {
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
...@@ -49,9 +50,8 @@ public class CardMassPrintView extends GenericCDIView implements Serializable { ...@@ -49,9 +50,8 @@ public class CardMassPrintView extends GenericCDIView implements Serializable {
userIdList.add(eu.getId()); userIdList.add(eu.getId());
} }
file = null;
try { try {
mpr = cardPrintBean.getUserCardsAsPrintablePdf(userIdList); mpr = cardPrintBean.getUserCardsAsPrintablePdf(userIdList);
waitForAcceptance = true; waitForAcceptance = true;
...@@ -89,14 +89,6 @@ public class CardMassPrintView extends GenericCDIView implements Serializable { ...@@ -89,14 +89,6 @@ public class CardMassPrintView extends GenericCDIView implements Serializable {
this.userCartView = userCartView; this.userCartView = userCartView;
} }
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public StreamedContent getStreamedFile() { public StreamedContent getStreamedFile() {
return streamedFile; return streamedFile;
} }
......
...@@ -16,6 +16,7 @@ import org.slf4j.Logger; ...@@ -16,6 +16,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.MenuBeanLocal; import fi.codecrew.moya.beans.MenuBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.MenuNavigation; import fi.codecrew.moya.model.MenuNavigation;
import fi.codecrew.moya.utilities.I18n; import fi.codecrew.moya.utilities.I18n;
...@@ -123,9 +124,23 @@ public class PrimeMenuView extends GenericCDIView { ...@@ -123,9 +124,23 @@ public class PrimeMenuView extends GenericCDIView {
myPlces.setOutcome("/place/myGroups"); myPlces.setOutcome("/place/myGroups");
myPlces.setValue(I18n.get("user.myPlaces")); myPlces.setValue(I18n.get("user.myPlaces"));
nameSub.getChildren().add(myPlces); nameSub.getChildren().add(myPlces);
nameSub.getChildren().add(new Separator()); nameSub.getChildren().add(new Separator());
if (permbean.hasPermission(UserPermission.VIEW_ALL)) {
MenuItem adminmenu = new MenuItem();
logger.info("Selected topmenu: {}", selectedTop.getKey());
if ("topnavi.usernavi".equals(selectedTop.getKey())) {
adminmenu.setOutcome("/useradmin/list");
adminmenu.setValue(I18n.get("menu.toAdmin"));
} else {
adminmenu.setOutcome("/index");
adminmenu.setValue(I18n.get("menu.toUser"));
}
nameSub.getChildren().add(adminmenu);
nameSub.getChildren().add(new Separator());
}
MenuItem logout = new MenuItem(); MenuItem logout = new MenuItem();
logout.setOutcome("/auth/logout"); logout.setOutcome("/auth/logout");
logout.setValue(I18n.get("user.logout")); logout.setValue(I18n.get("user.logout"));
......
...@@ -19,10 +19,9 @@ import fi.codecrew.moya.web.cdiview.user.UserView; ...@@ -19,10 +19,9 @@ import fi.codecrew.moya.web.cdiview.user.UserView;
public class BarcodeView extends GenericCDIView { public class BarcodeView extends GenericCDIView {
private static final long serialVersionUID = -5723180869625883034L; private static final long serialVersionUID = -5723180869625883034L;
private String barcode; private String barcode;
private static final Logger logger = LoggerFactory private static final Logger logger = LoggerFactory.getLogger(BarcodeView.class);
.getLogger(BarcodeView.class);
@Inject @Inject
private UserView userView; private UserView userView;
......
...@@ -14,7 +14,6 @@ import org.slf4j.LoggerFactory; ...@@ -14,7 +14,6 @@ import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.ProductBeanLocal; import fi.codecrew.moya.beans.ProductBeanLocal;
import fi.codecrew.moya.beans.ReaderBeanLocal; import fi.codecrew.moya.beans.ReaderBeanLocal;
import fi.codecrew.moya.beans.RoleBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.ShopPermission; import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
...@@ -46,7 +45,7 @@ public class ReaderView extends GenericCDIView { ...@@ -46,7 +45,7 @@ public class ReaderView extends GenericCDIView {
@Inject @Inject
private ReaderNameContainer namecontainer; private ReaderNameContainer namecontainer;
@EJB @EJB
private transient ReaderBeanLocal readerbean; private transient ReaderBeanLocal readerbean;
...@@ -81,10 +80,27 @@ public class ReaderView extends GenericCDIView { ...@@ -81,10 +80,27 @@ public class ReaderView extends GenericCDIView {
// card.getPrintedCard()); // card.getPrintedCard());
return null; return null;
} }
public List<Role> getUserRoles(EventUser user) { public List<Role> getUserRoles(EventUser user) {
return userbean.findUsersRoles(user); return userbean.findUsersRoles(user);
} }
public void initCreateReader()
{
if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS) && reader == null)
{
reader = new Reader();
super.beginConversation();
}
}
public String createReader()
{
readerbean.createReader(reader);
namecontainer.setReaderId(reader.getId());
return "/shop/showReaderEvents";
}
public void initUserassocView() { public void initUserassocView() {
if (super.requirePermissions(UserPermission.CREATE_NEW) && event == null) { if (super.requirePermissions(UserPermission.CREATE_NEW) && event == null) {
event = readerbean.getEvent(eventid); event = readerbean.getEvent(eventid);
...@@ -95,9 +111,11 @@ public class ReaderView extends GenericCDIView { ...@@ -95,9 +111,11 @@ public class ReaderView extends GenericCDIView {
super.beginConversation(); super.beginConversation();
} }
} }
public boolean isReaderSelected() { public boolean isReaderSelected() {
return this.readerid != null; return this.readerid != null;
} }
public String assocToCard() public String assocToCard()
{ {
...@@ -123,10 +141,10 @@ public class ReaderView extends GenericCDIView { ...@@ -123,10 +141,10 @@ public class ReaderView extends GenericCDIView {
public void initReaderList() { public void initReaderList() {
if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS)) { if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS)) {
} }
} }
public List<Product> getAutoProducts() { public List<Product> getAutoProducts() {
List<Product> ret = new ArrayList<Product>(); List<Product> ret = new ArrayList<Product>();
...@@ -239,4 +257,8 @@ public class ReaderView extends GenericCDIView { ...@@ -239,4 +257,8 @@ public class ReaderView extends GenericCDIView {
this.userview = userview; this.userview = userview;
} }
public ReaderType[] getReaderTypes()
{
return ReaderType.values();
}
} }
...@@ -16,8 +16,8 @@ import fi.codecrew.moya.enums.apps.UserPermission; ...@@ -16,8 +16,8 @@ import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
import fi.codecrew.moya.util.UserSearchQuery; import fi.codecrew.moya.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.SearchQuery.QuerySortOrder; import fi.codecrew.moya.utilities.SearchQuery.QuerySortOrder;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.web.cdiview.PaginationView; import fi.codecrew.moya.web.cdiview.PaginationView;
@Named @Named
...@@ -72,6 +72,7 @@ public class UserSearchView extends PaginationView<User> { ...@@ -72,6 +72,7 @@ public class UserSearchView extends PaginationView<User> {
sq.setSort(sortField); sq.setSort(sortField);
sq.setSortDirection(SortOrder.ASCENDING.equals(sortOrder) ? QuerySortOrder.ASCENDING : (SortOrder.DESCENDING.equals(sortOrder) ? QuerySortOrder.DESCENDING : QuerySortOrder.UNSORTED)); sq.setSortDirection(SortOrder.ASCENDING.equals(sortOrder) ? QuerySortOrder.ASCENDING : (SortOrder.DESCENDING.equals(sortOrder) ? QuerySortOrder.DESCENDING : QuerySortOrder.UNSORTED));
SearchResult<EventUser> sr = userbean.getThisEventsUsers(sq); SearchResult<EventUser> sr = userbean.getThisEventsUsers(sq);
this.setRowCount(new Long(sr.getResultcount()).intValue()); this.setRowCount(new Long(sr.getResultcount()).intValue());
setResultcount(sr.getResultcount()); setResultcount(sr.getResultcount());
setEventUserResults(sr.getResults()); setEventUserResults(sr.getResults());
......
...@@ -47,6 +47,7 @@ public class CompoView extends GenericCDIView { ...@@ -47,6 +47,7 @@ public class CompoView extends GenericCDIView {
private Compo compo; private Compo compo;
private Integer entryId; private Integer entryId;
private Integer compoId;
private transient ListDataModel<EntryWrapper> voteEntries; private transient ListDataModel<EntryWrapper> voteEntries;
...@@ -56,17 +57,34 @@ public class CompoView extends GenericCDIView { ...@@ -56,17 +57,34 @@ public class CompoView extends GenericCDIView {
public void initEntryView() public void initEntryView()
{ {
if (entry == null)
if (super.requirePermissions(CompoPermission.SUBMIT_ENTRY) && entry == null)
{ {
entry = votbean.findEntry(entryId); if (entryId == null)
if (entry == null || !super.requirePermissions(super.hasPermission(CompoPermission.MANAGE) || permbean.isCurrentUser(entry.getCreator())))
{ {
entry = null; entry = new CompoEntry();
} else { if (compo == null && compoId != null) {
super.beginConversation(); compo = votbean.getCompoById(compoId);
entry.setCompo(compo);
}
super.beginConversation();
} else {
entry = votbean.findEntry(entryId);
if (entry == null ||
!super.requirePermissions(
super.hasPermission(CompoPermission.MANAGE) ||
permbean.isCurrentUser(entry.getCreator()))) {
entry = null;
compo = null;
} else {
compo = entry.getCompo();
super.beginConversation();
}
} }
} }
logger.info("Initializing entry view {} {}", entry, compo);
} }
public String startVote() public String startVote()
...@@ -110,6 +128,7 @@ public class CompoView extends GenericCDIView { ...@@ -110,6 +128,7 @@ public class CompoView extends GenericCDIView {
public String createEntry() public String createEntry()
{ {
compo = votbean.addEntry(getEntry()); compo = votbean.addEntry(getEntry());
return null; return null;
} }
...@@ -209,4 +228,12 @@ public class CompoView extends GenericCDIView { ...@@ -209,4 +228,12 @@ public class CompoView extends GenericCDIView {
this.voteEntries = voteEntries; this.voteEntries = voteEntries;
} }
public Integer getCompoId() {
return compoId;
}
public void setCompoId(Integer compoId) {
this.compoId = compoId;
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!