Commit f9a2e134 by Tuukka Kivilahti

Merge branch 'devel' of codecrew.fi:bortal into devel

2 parents 92f1f4e6 3f90060f
......@@ -277,6 +277,7 @@ public class UserBean implements UserBeanLocal {
user.setEvent(eventBean.getCurrentEvent());
// Tallennetaan olio kantaan...
eventUserFacade.create(user);
em.flush();
}
......
......@@ -14,6 +14,8 @@ import javax.faces.model.ListDataModel;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
......@@ -26,6 +28,8 @@ import javax.persistence.UniqueConstraint;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
import fi.codecrew.moya.enums.CardState;
/**
*
*/
......@@ -73,6 +77,10 @@ public class PrintedCard extends GenericEntity {
@JoinColumn(nullable = false, name = "card_template_id", referencedColumnName = CardTemplate.ID_COLUMN)
@ManyToOne(optional = false)
private CardTemplate template;
@Column(name="card_state", nullable=false)
@Enumerated(EnumType.STRING)
private CardState cardState = CardState.PENDING_VALIDATION;
public PrintedCard(EventUser usr, CardTemplate templ, Calendar printTime, boolean cardEnabled) {
super();
......@@ -195,6 +203,14 @@ public class PrintedCard extends GenericEntity {
return gamepoints;
}
public CardState getCardState() {
return cardState;
}
public void setCardState(CardState cardState) {
this.cardState = cardState;
}
@Transient
private transient ListDataModel<ReaderEvent> revents;
......
package fi.codecrew.moya.enums;
public enum CardState {
PENDING_VALIDATION,
REJECTED,
VALIDATED,
PENDING_PRINT,
PRINTING_IN_PROGRESS,
PRINTED;
public String toStringLower() {
return this.toString().toLowerCase();
}
}
......@@ -54,10 +54,10 @@
<br />
<h:commandButton actionListener="#{userSearchView.addToCart}" value="#{i18n['usercart.addSearchedUsers']}" />
<h:commandButton action="#{userCartView.traverse}" value="#{i18n['usercart.traverse']}" />
<h:commandButton action="#{userCartView.showOverview}" value="#{i18n['usercart.showoverview']}" />
<h:commandButton value="#{i18n['usercart.downloadCsv']}">
<p:fileDownload value="#{userCartView.downloadCsv}" />
</h:commandButton>
<h:commandButton action="#{userCartView.showOverview}" value="#{i18n['usercart.showoverview']}" />
</div>
</h:panelGroup>
</h:panelGrid>
......
......@@ -4,37 +4,46 @@
<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/cditools/user" xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
<f:event type="preRenderView" listener="#{userOverviewView.initView()}" />
</f:metadata>
<ui:define name="content">
<p:dialog id="rejectDialog" widgetVar="dialog">
<p>Diibadaaba diibadaaba, daaba dii</p>
<p:inputTextarea />
<br/>
<p:commandButton oncomplete="dialog.hide()" actionListener="todo" value="Apply"/>
<p:commandButton onclick="dialog.hide()" type="button" value="Cancel"/>
</p:dialog>
<p:dataTable value="#{userCartView.usercart}" var="cartItem">
<p:column>
<ui:fragment rendered="#{!empty cartItem.currentImage}">
<img style="width: 150px;" src="#{request.contextPath}/dydata/userimage/#{cartItem.currentImage.id}.img" alt="image" />
</ui:fragment>
<ui:fragment rendered="#{empty cartItem.currentImage}">
<h:outputText value="#{i18n['overview.noimage']}" />
</ui:fragment>
</p:column>
<p:column>
<h2><h:outputText value="#{cartItem.nick}" /></h2>
<h:outputText value="#{cartItem.firstnames} #{cartItem.lastname}" />
</p:column>
<p:column>
<p:commandButton value="OK" />
<p:commandButton id="Reject" value="Reject" onclick="dialog.show();" type="button" />
</p:column>
</p:dataTable>
<p:dialog id="rejectDialog" widgetVar="dialog">
<p>Diibadaaba diibadaaba, daaba dii</p>
<p:inputTextarea />
<br/>
<p:commandButton oncomplete="dialog.hide()" actionListener="todo" value="Apply"/>
<p:commandButton onclick="dialog.hide()" type="button" value="Cancel"/>
</p:dialog>
<h:form id="form">
<p:dataTable value="#{userOverviewView.userOverviewItems}" var="cartItem" binding="#{table}" id="cartOverviewTable">
<p:column style="#{cartItem.printedCard == null ? 'background:grey;' : ''}">
<h:panelGroup layout="block" id="schneider" style="background: red;" styleClass="cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}">
<ui:fragment rendered="#{!empty cartItem.eventUser.currentImage}">
<img style="width: 150px;" src="#{request.contextPath}/dydata/userimage/#{cartItem.eventUser.currentImage.id}.img" alt="image" />
</ui:fragment>
<ui:fragment rendered="#{empty cartItem.eventUser.currentImage}">
<h:outputText value="#{i18n['overview.noimage']}" />
</ui:fragment>
</h:panelGroup>
</p:column>
<p:column style="#{cartItem.printedCard == null ? 'background:grey;' : ''}">
<h2><h:outputText value="#{cartItem.eventUser.nick}" /></h2>
<h:outputText value="#{cartItem.eventUser.firstnames} #{cartItem.eventUser.lastname}" />
<h:outputText value="zz #{cartItem.printedCard.template.name}" />
</p:column>
<p:column styleClass="cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}">
<p:commandButton value="OK #{table.rowIndex}" actionListener="#{cartItem.acceptCard}" ajax="true" update="schneider">
<!-- <f:ajax execute="uov-items" render="@all"></f:ajax> -->
</p:commandButton>
<p:commandButton id="Reject" value="Reject" onclick="dialog.show();" type="button" />
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</h:body>
......
......@@ -33,6 +33,9 @@ public class UserCartView extends GenericCDIView {
@Inject
private UserView userview;
@Inject
private UserOverviewView userOverviewView;
private List<EventUser> usercart;
......@@ -118,6 +121,7 @@ public class UserCartView extends GenericCDIView {
}
public String showOverview() {
userOverviewView.initView();
return "/useradmin/overview";
}
......
package fi.codecrew.moya.web.cdiview.user;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject;
import javax.inject.Named;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.helpers.UserOverviewItem;
@Named
@ConversationScoped
public class UserOverviewView extends GenericCDIView {
private static final long serialVersionUID = -9115983838324313414L;
@Inject
UserCartView userCartView;
@EJB CardTemplateBeanLocal cardTemplateBean;
private List<UserOverviewItem> userOverviewItems = null;
public void initView() {
if(userOverviewItems == null) {
userOverviewItems = new ArrayList<UserOverviewItem>();
for(EventUser eu : userCartView.getUsercart()) {
PrintedCard pc = cardTemplateBean.checkPrintedCard(eu);
UserOverviewItem uoi = new UserOverviewItem(eu, pc);
userOverviewItems.add(uoi);
}
}
}
public List<UserOverviewItem> getUserOverviewItems() {
return userOverviewItems;
}
public void setUserOverviewItems(List<UserOverviewItem> userOverviewItems) {
this.userOverviewItems = userOverviewItems;
}
}
package fi.codecrew.moya.web.helpers;
import javax.faces.event.ActionEvent;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
public class UserOverviewItem {
private EventUser eventUser;
private PrintedCard printedCard;
public UserOverviewItem(EventUser eu, PrintedCard pc) {
eventUser = eu;
printedCard = pc;
}
public void acceptCard(ActionEvent ae) {
printedCard.setCardState(CardState.VALIDATED);
}
public EventUser getEventUser() {
return eventUser;
}
public void setEventUser(EventUser eventUser) {
this.eventUser = eventUser;
}
public PrintedCard getPrintedCard() {
return printedCard;
}
public void setPrintedCard(PrintedCard printedCard) {
this.printedCard = printedCard;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!