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; ...@@ -20,6 +20,7 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.UserPermission; import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.CardTemplateFacade; import fi.insomnia.bortal.facade.CardTemplateFacade;
import fi.insomnia.bortal.facade.EventUserFacade; import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.LanEventPropertyFacade; import fi.insomnia.bortal.facade.LanEventPropertyFacade;
import fi.insomnia.bortal.facade.PrintedCardFacade; import fi.insomnia.bortal.facade.PrintedCardFacade;
import fi.insomnia.bortal.model.CardTemplate; import fi.insomnia.bortal.model.CardTemplate;
...@@ -68,6 +69,8 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -68,6 +69,8 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@EJB @EJB
private LanEventPropertyFacade eventPropertyFacade; private LanEventPropertyFacade eventPropertyFacade;
@EJB
private GroupMembershipFacade gmFacade;
// @Override // @Override
// @RolesAllowed("USER_MANAGEMENT/WRITE") // @RolesAllowed("USER_MANAGEMENT/WRITE")
...@@ -179,6 +182,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -179,6 +182,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@Override @Override
@RolesAllowed(UserPermission.S_VIEW_ALL) @RolesAllowed(UserPermission.S_VIEW_ALL)
public CardTemplate getUsersCardtype(EventUser user) { public CardTemplate getUsersCardtype(EventUser user) {
List<Role> roles = userbean.findUsersRoles(user); List<Role> roles = userbean.findUsersRoles(user);
CardTemplate greatestTemplate = null; CardTemplate greatestTemplate = null;
...@@ -193,17 +197,17 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -193,17 +197,17 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
} }
@Override // @Override
public PrintedCard setRfidUid(String tag, EventUser user) { // public PrintedCard setRfidUid(String tag, EventUser user) {
PrintedCard ct = checkPrintedCard(user); // PrintedCard ct = checkPrintedCard(user);
return setRfidUid(tag, ct); // return setRfidUid(tag, ct);
} // }
@Override // @Override
public PrintedCard setRfidUid(String tag, PrintedCard card) { // public PrintedCard setRfidUid(String tag, PrintedCard card) {
card.setRfidUid(tag); // card.setRfidUid(tag);
return printedcardfacade.merge(card); // return printedcardfacade.merge(card);
} // }
@Override @Override
@RolesAllowed(UserPermission.S_WRITE_ROLES) @RolesAllowed(UserPermission.S_WRITE_ROLES)
......
...@@ -179,8 +179,9 @@ public class ReaderBean implements ReaderBeanLocal { ...@@ -179,8 +179,9 @@ public class ReaderBean implements ReaderBeanLocal {
public ReaderEvent assocTagToCard(String tag, String readerIdent, PrintedCard card) { public ReaderEvent assocTagToCard(String tag, String readerIdent, PrintedCard card) {
Reader reader = readerfacade.findOrCreateByIdent(readerIdent); Reader reader = readerfacade.findOrCreateByIdent(readerIdent);
card = cardfacade.reload(card);
card = cardtemplatebean.setRfidUid(tag, card); card.setRfidUid(tag);
// card = cardtemplatebean.setRfidUid(tag, card);
return createReaderEvent(reader, card); return createReaderEvent(reader, card);
} }
......
...@@ -143,7 +143,7 @@ public class UserBean implements UserBeanLocal { ...@@ -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>(); Set<Role> checkedRoles = new HashSet<Role>();
if (u != null) if (u != null)
{ {
...@@ -163,6 +163,10 @@ public class UserBean implements UserBeanLocal { ...@@ -163,6 +163,10 @@ public class UserBean implements UserBeanLocal {
{ {
addRecursive(checkedRoles, member.getPlaceReservation().getProvidesRole()); 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; ...@@ -13,6 +13,7 @@ import javax.persistence.criteria.From;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal; import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.enums.DatabaseHasCompare;
import fi.insomnia.bortal.enums.DatabaseValueCompare; import fi.insomnia.bortal.enums.DatabaseValueCompare;
import fi.insomnia.bortal.facade.callbacks.EventLimiter; import fi.insomnia.bortal.facade.callbacks.EventLimiter;
import fi.insomnia.bortal.facade.callbacks.EventUserAccountSaldoPredicate; import fi.insomnia.bortal.facade.callbacks.EventUserAccountSaldoPredicate;
...@@ -112,17 +113,18 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> { ...@@ -112,17 +113,18 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
{ {
callbacks.add(new EventUserAccountSaldoPredicate(query.getAccountSaldo(), query.getAccountSaldoCompare())); callbacks.add(new EventUserAccountSaldoPredicate(query.getAccountSaldo(), query.getAccountSaldoCompare()));
} }
if (query.getRequireImage() != null && !query.getRequireImage().equals(DatabaseHasCompare.NONE))
{
}
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> listCQuery = cb.createQuery(EventUser.class); CriteriaQuery<EventUser> listCQuery = cb.createQuery(EventUser.class);
CriteriaQuery<Long> countCQuery = cb.createQuery(Long.class); CriteriaQuery<Long> countCQuery = cb.createQuery(Long.class);
From<?, EventUser> listRoot = null; From<?, EventUser> listRoot = searchCallbacks(listCQuery, callbacks, EventUser.class);
From<?, EventUser> countRoot = null; From<?, EventUser> countRoot = searchCallbacks(countCQuery, callbacks, EventUser.class);
listRoot = searchCallbacks(listCQuery, callbacks, EventUser.class);
countRoot = searchCallbacks(countCQuery, callbacks, EventUser.class);
listCQuery.select(listRoot); listCQuery.select(listRoot);
countCQuery.select(cb.count(countRoot)); countCQuery.select(cb.count(countRoot));
......
...@@ -34,6 +34,6 @@ public class PlaceGroupFacade extends IntegerPkGenericFacade<PlaceGroup> { ...@@ -34,6 +34,6 @@ public class PlaceGroupFacade extends IntegerPkGenericFacade<PlaceGroup> {
cb.equal(root.get(PlaceGroup_.creator), user) cb.equal(root.get(PlaceGroup_.creator), user)
); );
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
} }
...@@ -21,10 +21,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> { ...@@ -21,10 +21,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
void checkAllUsersCardRights(); void checkAllUsersCardRights();
PrintedCard setRfidUid(String tag, EventUser user);
PrintedCard setRfidUid(String tag, PrintedCard card);
List<PrintedCard> findActiveCards(); List<PrintedCard> findActiveCards();
CardTemplate save(CardTemplate card); CardTemplate save(CardTemplate card);
......
...@@ -4,6 +4,7 @@ import java.math.BigDecimal; ...@@ -4,6 +4,7 @@ import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import fi.insomnia.bortal.enums.DatabaseHasCompare;
import fi.insomnia.bortal.enums.DatabaseValueCompare; import fi.insomnia.bortal.enums.DatabaseValueCompare;
import fi.insomnia.bortal.model.Role; import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.utilities.SearchQuery; import fi.insomnia.bortal.utilities.SearchQuery;
...@@ -15,6 +16,7 @@ public class UserSearchQuery extends SearchQuery { ...@@ -15,6 +16,7 @@ public class UserSearchQuery extends SearchQuery {
private List<Role> filterRoles = new ArrayList<Role>(); private List<Role> filterRoles = new ArrayList<Role>();
private boolean onlyThisEvent = true; private boolean onlyThisEvent = true;
private boolean placeAssoc = false; private boolean placeAssoc = false;
private DatabaseHasCompare requireImage = DatabaseHasCompare.NONE;
private BigDecimal accountSaldo; private BigDecimal accountSaldo;
private DatabaseValueCompare accountSaldoCompare = DatabaseValueCompare.NONE; private DatabaseValueCompare accountSaldoCompare = DatabaseValueCompare.NONE;
...@@ -64,4 +66,12 @@ public class UserSearchQuery extends SearchQuery { ...@@ -64,4 +66,12 @@ public class UserSearchQuery extends SearchQuery {
this.placeAssoc = placeAssoc; 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 @@ ...@@ -9,8 +9,8 @@
</session-config> </session-config>
<context-param> <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name> <param-name>javax.faces.PROJECT_STAGE</param-name>
<!--<param-value>Production</param-value>--> <param-value>Production</param-value>
<param-value>Development</param-value> <!--<param-value>Development</param-value>-->
</context-param> </context-param>
<context-param> <context-param>
......
...@@ -21,13 +21,11 @@ ...@@ -21,13 +21,11 @@
</h2> </h2>
--> -->
<h:form id="userform" enctype="multipart/form-data">
<h:panelGrid columns="2"> <h:panelGrid columns="2">
<h:panelGroup> <h:panelGroup>
<h:form id="userform" enctype="multipart/form-data">
<ui:fragment rendered="#{not empty userView.user.id}"> <ui:fragment rendered="#{not empty userView.user.id}">
<p:overlayPanel id="chartPanel" for="webcamButton" hideEffect="fade"> <p:overlayPanel id="chartPanel" for="webcamButton" hideEffect="fade">
<p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" /> <p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" />
<p:commandButton type="button" value="Capture" onclick="pc.capture()" /> <p:commandButton type="button" value="Capture" onclick="pc.capture()" />
...@@ -45,9 +43,9 @@ ...@@ -45,9 +43,9 @@
<p:fileUpload id="uploadfile" required="TRUE" requiredMessage="Required!" invalidSizeMessage="#{i18n['user.imageTooBig']}" sizeLimit="1024" value="#{userView.image}" mode="simple" /> <p:fileUpload id="uploadfile" required="TRUE" requiredMessage="Required!" invalidSizeMessage="#{i18n['user.imageTooBig']}" sizeLimit="1024" value="#{userView.image}" mode="simple" />
<p:message for="uploadfile" /> <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> </ui:fragment>
</h:form>
<ui:fragment rendered="#{cc.attrs.creating}"> <ui:fragment rendered="#{cc.attrs.creating}">
<h:outputLabel value="#{i18n['user.login']}" for="mklogin" /> <h:outputLabel value="#{i18n['user.login']}" for="mklogin" />
<br /> <br />
...@@ -77,6 +75,7 @@ ...@@ -77,6 +75,7 @@
</h:panelGroup> </h:panelGroup>
<h:form>
<h:panelGroup> <h:panelGroup>
<table> <table>
...@@ -133,12 +132,12 @@ ...@@ -133,12 +132,12 @@
</table> </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:panelGroup>
</h:form>
</h:panelGrid> </h:panelGrid>
</h:form>
</composite:implementation> </composite:implementation>
</html> </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 { ...@@ -135,4 +135,12 @@ public class FoodWaveView extends GenericCDIView {
this.foodWaveFoodView = foodWaveFoodView; 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 { ...@@ -31,20 +31,15 @@ public class ReaderListDataView extends GenericCDIView {
private static final Logger logger = LoggerFactory.getLogger(ReaderListDataView.class); private static final Logger logger = LoggerFactory.getLogger(ReaderListDataView.class);
public void initView() { public void initView() {
super.requirePermissions(ShopPermission.SHOP_TO_OTHERS); super.requirePermissions(ShopPermission.SHOP_TO_OTHERS);
} }
public ListDataModel<Reader> getReaders() public ListDataModel<Reader> getReaders()
{ {
if (readers == null) {
if (readers == null)
{
readers = new ListDataModel<Reader>(readerbean.getReaders()); readers = new ListDataModel<Reader>(readerbean.getReaders());
} }
return readers; return readers;
} }
} }
...@@ -17,6 +17,7 @@ import fi.insomnia.bortal.beans.ReaderBeanLocal; ...@@ -17,6 +17,7 @@ import fi.insomnia.bortal.beans.ReaderBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal; import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.ShopPermission; import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.enums.apps.UserPermission; import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.Product; import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Reader; import fi.insomnia.bortal.model.Reader;
import fi.insomnia.bortal.model.ReaderEvent; import fi.insomnia.bortal.model.ReaderEvent;
...@@ -24,6 +25,7 @@ import fi.insomnia.bortal.model.ReaderType; ...@@ -24,6 +25,7 @@ import fi.insomnia.bortal.model.ReaderType;
import fi.insomnia.bortal.model.User; import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.utilities.SearchQuery; import fi.insomnia.bortal.utilities.SearchQuery;
import fi.insomnia.bortal.web.cdiview.GenericCDIView; import fi.insomnia.bortal.web.cdiview.GenericCDIView;
import fi.insomnia.bortal.web.cdiview.user.UserView;
@Named @Named
@ConversationScoped @ConversationScoped
...@@ -58,6 +60,9 @@ public class ReaderView extends GenericCDIView { ...@@ -58,6 +60,9 @@ public class ReaderView extends GenericCDIView {
@EJB @EJB
private ProductBeanLocal shopBean; private ProductBeanLocal shopBean;
@Inject
private UserView userview;
public void initEditReader() { public void initEditReader() {
if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS) && reader == null) { if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS) && reader == null) {
reader = readerbean.getReader(readerid); reader = readerbean.getReader(readerid);
...@@ -85,6 +90,18 @@ public class ReaderView extends GenericCDIView { ...@@ -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() public String searchforuser()
{ {
if (usersearch == null || usersearch.length() < 2) { if (usersearch == null || usersearch.length() < 2) {
...@@ -199,4 +216,12 @@ public class ReaderView extends GenericCDIView { ...@@ -199,4 +216,12 @@ public class ReaderView extends GenericCDIView {
this.reader = reader; 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!