Commit 3d061594 by Antti Tönkyrä

Merge branch 'master' of codecrew.fi:bortal

2 parents f22e3a01 a8cb1a30
......@@ -20,6 +20,7 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.CardTemplateFacade;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.LanEventPropertyFacade;
import fi.insomnia.bortal.facade.PrintedCardFacade;
import fi.insomnia.bortal.model.CardTemplate;
......@@ -68,6 +69,8 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@EJB
private LanEventPropertyFacade eventPropertyFacade;
@EJB
private GroupMembershipFacade gmFacade;
// @Override
// @RolesAllowed("USER_MANAGEMENT/WRITE")
......@@ -179,6 +182,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@Override
@RolesAllowed(UserPermission.S_VIEW_ALL)
public CardTemplate getUsersCardtype(EventUser user) {
List<Role> roles = userbean.findUsersRoles(user);
CardTemplate greatestTemplate = null;
......@@ -193,17 +197,17 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
}
@Override
public PrintedCard setRfidUid(String tag, EventUser user) {
PrintedCard ct = checkPrintedCard(user);
return setRfidUid(tag, ct);
}
// @Override
// public PrintedCard setRfidUid(String tag, EventUser user) {
// PrintedCard ct = checkPrintedCard(user);
// return setRfidUid(tag, ct);
// }
@Override
public PrintedCard setRfidUid(String tag, PrintedCard card) {
card.setRfidUid(tag);
return printedcardfacade.merge(card);
}
// @Override
// public PrintedCard setRfidUid(String tag, PrintedCard card) {
// card.setRfidUid(tag);
// return printedcardfacade.merge(card);
// }
@Override
@RolesAllowed(UserPermission.S_WRITE_ROLES)
......
......@@ -179,8 +179,9 @@ public class ReaderBean implements ReaderBeanLocal {
public ReaderEvent assocTagToCard(String tag, String readerIdent, PrintedCard card) {
Reader reader = readerfacade.findOrCreateByIdent(readerIdent);
card = cardtemplatebean.setRfidUid(tag, card);
card = cardfacade.reload(card);
card.setRfidUid(tag);
// card = cardtemplatebean.setRfidUid(tag, card);
return createReaderEvent(reader, card);
}
......
......@@ -143,7 +143,7 @@ public class UserBean implements UserBeanLocal {
}
public List<Role> localFindUsersRoles(EventUser u) {
public ArrayList<Role> localFindUsersRoles(EventUser u) {
Set<Role> checkedRoles = new HashSet<Role>();
if (u != null)
{
......@@ -163,6 +163,10 @@ public class UserBean implements UserBeanLocal {
{
addRecursive(checkedRoles, member.getPlaceReservation().getProvidesRole());
}
if (member.getPlaceReservation().getProduct() != null)
{
addRecursive(checkedRoles, member.getPlaceReservation().getProduct().getProvides());
}
}
}
}
......
......@@ -13,6 +13,7 @@ import javax.persistence.criteria.From;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.enums.DatabaseHasCompare;
import fi.insomnia.bortal.enums.DatabaseValueCompare;
import fi.insomnia.bortal.facade.callbacks.EventLimiter;
import fi.insomnia.bortal.facade.callbacks.EventUserAccountSaldoPredicate;
......@@ -112,17 +113,18 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
{
callbacks.add(new EventUserAccountSaldoPredicate(query.getAccountSaldo(), query.getAccountSaldoCompare()));
}
if (query.getRequireImage() != null && !query.getRequireImage().equals(DatabaseHasCompare.NONE))
{
}
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> listCQuery = cb.createQuery(EventUser.class);
CriteriaQuery<Long> countCQuery = cb.createQuery(Long.class);
From<?, EventUser> listRoot = null;
From<?, EventUser> countRoot = null;
listRoot = searchCallbacks(listCQuery, callbacks, EventUser.class);
countRoot = searchCallbacks(countCQuery, callbacks, EventUser.class);
From<?, EventUser> listRoot = searchCallbacks(listCQuery, callbacks, EventUser.class);
From<?, EventUser> countRoot = searchCallbacks(countCQuery, callbacks, EventUser.class);
listCQuery.select(listRoot);
countCQuery.select(cb.count(countRoot));
......
......@@ -34,6 +34,6 @@ public class PlaceGroupFacade extends IntegerPkGenericFacade<PlaceGroup> {
cb.equal(root.get(PlaceGroup_.creator), user)
);
return getEm().createQuery(cq).getResultList();
}
}
......@@ -21,10 +21,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
void checkAllUsersCardRights();
PrintedCard setRfidUid(String tag, EventUser user);
PrintedCard setRfidUid(String tag, PrintedCard card);
List<PrintedCard> findActiveCards();
CardTemplate save(CardTemplate card);
......
......@@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import fi.insomnia.bortal.enums.DatabaseHasCompare;
import fi.insomnia.bortal.enums.DatabaseValueCompare;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.utilities.SearchQuery;
......@@ -15,6 +16,7 @@ public class UserSearchQuery extends SearchQuery {
private List<Role> filterRoles = new ArrayList<Role>();
private boolean onlyThisEvent = true;
private boolean placeAssoc = false;
private DatabaseHasCompare requireImage = DatabaseHasCompare.NONE;
private BigDecimal accountSaldo;
private DatabaseValueCompare accountSaldoCompare = DatabaseValueCompare.NONE;
......@@ -64,4 +66,12 @@ public class UserSearchQuery extends SearchQuery {
this.placeAssoc = placeAssoc;
}
public DatabaseHasCompare getRequireImage() {
return requireImage;
}
public void setRequireImage(DatabaseHasCompare requireImage) {
this.requireImage = requireImage;
}
}
package fi.insomnia.bortal.enums;
public enum DatabaseHasCompare {
NONE, IS_NULL, NOT_NULL,
}
......@@ -9,8 +9,8 @@
</session-config>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<!--<param-value>Production</param-value>-->
<param-value>Development</param-value>
<param-value>Production</param-value>
<!--<param-value>Development</param-value>-->
</context-param>
<context-param>
......
......@@ -21,13 +21,11 @@
</h2>
-->
<h:form id="userform" enctype="multipart/form-data">
<h:panelGrid columns="2">
<h:panelGroup>
<h:form id="userform" enctype="multipart/form-data">
<ui:fragment rendered="#{not empty userView.user.id}">
<p:overlayPanel id="chartPanel" for="webcamButton" hideEffect="fade">
<p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" />
<p:commandButton type="button" value="Capture" onclick="pc.capture()" />
......@@ -45,9 +43,9 @@
<p:fileUpload id="uploadfile" required="TRUE" requiredMessage="Required!" invalidSizeMessage="#{i18n['user.imageTooBig']}" sizeLimit="1024" value="#{userView.image}" mode="simple" />
<p:message for="uploadfile" />
<p:commandButton action="#{userView.sendImage}" value="#{i18n['user.imagesubmit']}" />
<p:commandButton action="#{userView.sendImage}" ajax="false" value="#{i18n['user.imagesubmit']}" />
</ui:fragment>
</h:form>
<ui:fragment rendered="#{cc.attrs.creating}">
<h:outputLabel value="#{i18n['user.login']}" for="mklogin" />
<br />
......@@ -77,6 +75,7 @@
</h:panelGroup>
<h:form>
<h:panelGroup>
<table>
......@@ -133,12 +132,12 @@
</table>
<p:commandButton rendered="#{cc.attrs.creating or userView.canSave}" id="commitbtn" action="#{cc.attrs.commitaction}" value="#{cc.attrs.commitvalue}" />
<p:commandButton rendered="#{cc.attrs.creating or userView.canSave}" id="commitbtn" action="#{cc.attrs.commitaction}" ajax="false" value="#{cc.attrs.commitvalue}" />
</h:panelGroup>
</h:form>
</h:panelGrid>
</h:form>
</composite:implementation>
</html>
<!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:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui" xmlns:users="http://java.sun.com/jsf/composite/cditools/user"
xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop">
<h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<ui:param name="thispage" value="page.user.create" />
<f:metadata>
<f:viewParam name="userid" value="#{userView.userid}" />
<f:event type="preRenderView" listener="#{userView.initView}" />
</f:metadata>
<ui:define name="title">
<h1>#{i18n['sendPicture.header']}</h1>
</ui:define>
<ui:define name="headerdata">
</ui:define>
<ui:define name="content">
<h:form>
<p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" />
<p:commandButton type="button" value="Capture" onclick="pc.capture()" />
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
......@@ -135,4 +135,12 @@ public class FoodWaveView extends GenericCDIView {
this.foodWaveFoodView = foodWaveFoodView;
}
public Integer getTemplateId() {
return templateId;
}
public void setTemplateId(Integer templateId) {
this.templateId = templateId;
}
}
......@@ -31,20 +31,15 @@ public class ReaderListDataView extends GenericCDIView {
private static final Logger logger = LoggerFactory.getLogger(ReaderListDataView.class);
public void initView() {
super.requirePermissions(ShopPermission.SHOP_TO_OTHERS);
}
public ListDataModel<Reader> getReaders()
{
if (readers == null)
{
if (readers == null) {
readers = new ListDataModel<Reader>(readerbean.getReaders());
}
return readers;
}
}
......@@ -17,6 +17,7 @@ import fi.insomnia.bortal.beans.ReaderBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Reader;
import fi.insomnia.bortal.model.ReaderEvent;
......@@ -24,6 +25,7 @@ import fi.insomnia.bortal.model.ReaderType;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.utilities.SearchQuery;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
import fi.insomnia.bortal.web.cdiview.user.UserView;
@Named
@ConversationScoped
......@@ -58,6 +60,9 @@ public class ReaderView extends GenericCDIView {
@EJB
private ProductBeanLocal shopBean;
@Inject
private UserView userview;
public void initEditReader() {
if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS) && reader == null) {
reader = readerbean.getReader(readerid);
......@@ -85,6 +90,18 @@ public class ReaderView extends GenericCDIView {
}
}
public String assocToCard()
{
UserCardWrapper user = userlist.getRowData();
PrintedCard card = user.getPrintedCards().getRowData();
ReaderEvent re = readerbean.assocTagToCard(event.getValue(), event.getReader().getIdentification(), card);
super.addFaceMessage("usercard.associated");
logger.info("re {}", re.getPrintedCard());
userview.setUser(re.getPrintedCard().getUser());
return "/useradmin/edit";
}
public String searchforuser()
{
if (usersearch == null || usersearch.length() < 2) {
......@@ -199,4 +216,12 @@ public class ReaderView extends GenericCDIView {
this.reader = reader;
}
public UserView getUserview() {
return userview;
}
public void setUserview(UserView userview) {
this.userview = userview;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!