Commit b284c103 by Tuukka Kivilahti

branch tells it all

1 parent 9ce826bb
...@@ -32,4 +32,6 @@ public interface TicketBeanLocal { ...@@ -32,4 +32,6 @@ public interface TicketBeanLocal {
List<GroupMembership> findMembershipPrintlistForUser(EventUser user); List<GroupMembership> findMembershipPrintlistForUser(EventUser user);
void sendTicketEmail(EventUser user, String url); void sendTicketEmail(EventUser user, String url);
void sendTicketEmailToAll(String url);
} }
...@@ -44,6 +44,7 @@ import javax.ejb.Stateless; ...@@ -44,6 +44,7 @@ import javax.ejb.Stateless;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.security.acl.Group;
import java.text.MessageFormat; import java.text.MessageFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
...@@ -117,6 +118,11 @@ public class TicketBean implements TicketBeanLocal { ...@@ -117,6 +118,11 @@ public class TicketBean implements TicketBeanLocal {
} }
@Override @Override
public void sendTicketEmail(EventUser user , String url) { public void sendTicketEmail(EventUser user , String url) {
...@@ -142,6 +148,38 @@ public class TicketBean implements TicketBeanLocal { ...@@ -142,6 +148,38 @@ public class TicketBean implements TicketBeanLocal {
} }
/**
* Quick and dirty, you can refactor this
* @param url
*/
@Override
public void sendTicketEmailToAll(String url) {
List<GroupMembership> ships = gmemfacade.findGroupmemberships();
ArrayList<EventUser> usersWithTickets = new ArrayList<>();
for(GroupMembership ship : ships) {
if(ship.getEnteredEvent() == null && ship.getPlaceReservation() != null) {
if(ship.getUser() != null) {
if(!usersWithTickets.contains(ship.getUser())) {
usersWithTickets.add(ship.getUser());
}
} else {
if(!usersWithTickets.contains(ship.getPlaceGroup().getCreator())) {
usersWithTickets.add(ship.getPlaceGroup().getCreator());
}
}
}
}
for(EventUser user : usersWithTickets) {
this.sendTicketEmail(user, url);
}
}
private byte[] getTicketPdf(EventUser user, String codetext) { private byte[] getTicketPdf(EventUser user, String codetext) {
PDF pdf = null; PDF pdf = null;
......
...@@ -1110,6 +1110,8 @@ public class UserBean implements UserBeanLocal { ...@@ -1110,6 +1110,8 @@ public class UserBean implements UserBeanLocal {
return eventUserFacade.findByLogin(username); return eventUserFacade.findByLogin(username);
} }
@Override @Override
@RolesAllowed(EventPermission.S_MANAGE_EVENT) @RolesAllowed(EventPermission.S_MANAGE_EVENT)
public EventUser getUserByAuthcode(String authcode) { public EventUser getUserByAuthcode(String authcode) {
......
...@@ -210,4 +210,20 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi ...@@ -210,4 +210,20 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi
} }
public List<GroupMembership> findGroupmemberships() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<GroupMembership> cq = cb.createQuery(GroupMembership.class);
Root<GroupMembership> root = cq.from(GroupMembership.class);
Path<PlaceGroup> pg = root.get(GroupMembership_.placeGroup);
cq.where(cb.equal(pg.get(PlaceGroup_.event), eventbean.getCurrentEvent()));
return getEm().createQuery(cq).getResultList();
}
} }
...@@ -30,6 +30,7 @@ import javax.persistence.criteria.CriteriaQuery; ...@@ -30,6 +30,7 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import javax.persistence.metamodel.SingularAttribute; import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.model.EventUser;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -217,6 +218,9 @@ public class UserFacade extends IntegerPkGenericFacade<User> { ...@@ -217,6 +218,9 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
return sort; return sort;
} }
// public SearchResult<User> searchEventUsers(SearchQuery query) // public SearchResult<User> searchEventUsers(SearchQuery query)
// { // {
// ArrayList<FacadeCallback<EventUser>> callbacks = new // ArrayList<FacadeCallback<EventUser>> callbacks = new
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
#{sessionHandler.flushCache()} #{sessionHandler.flushCache()}
<h:form> <h:form>
<h:commandButton action="#{testView.sendMultibuggageSpam}" value="MULTIUSERSPAM" onclick="return confirm('SPAMSPAMSPAMS?!');" />
<h:commandButton action="#{testView.resetMenu()}" value="Reset to newui menu" onclick="return confirm('THIS WILL RESET ALL MODIFICATIONS TO DEFAULT MENU!!\n Are you really sure?!');" /> <h:commandButton action="#{testView.resetMenu()}" value="Reset to newui menu" onclick="return confirm('THIS WILL RESET ALL MODIFICATIONS TO DEFAULT MENU!!\n Are you really sure?!');" />
<h:commandButton action="#{testView.resetOldMenu()}" value="Reset to old menu" onclick="return confirm('THIS WILL RESET ALL MODIFICATIONS TO DEFAULT MENU!!\n Are you really sure?!');" /> <h:commandButton action="#{testView.resetOldMenu()}" value="Reset to old menu" onclick="return confirm('THIS WILL RESET ALL MODIFICATIONS TO DEFAULT MENU!!\n Are you really sure?!');" />
</h:form> </h:form>
......
gitla<?xml version='1.0' encoding='UTF-8' ?> <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:p="http://primefaces.org/ui">
......
...@@ -23,27 +23,19 @@ ...@@ -23,27 +23,19 @@
package fi.codecrew.moya.web; package fi.codecrew.moya.web;
import java.util.Calendar; import java.util.Calendar;
import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.*;
import fi.codecrew.moya.model.*;
import fi.codecrew.moya.web.cdiview.eticket.EticketView;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.MenuBeanLocal;
import fi.codecrew.moya.beans.PollBeanLocal;
import fi.codecrew.moya.beans.RoleBeanLocal;
import fi.codecrew.moya.beans.TestDataBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.beans.UserUtilBeanLocal;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.Poll;
import fi.codecrew.moya.model.PollQuestion;
import fi.codecrew.moya.model.PossibleAnswer;
/** /**
* *
* @author tuukka * @author tuukka
...@@ -57,6 +49,9 @@ public class TestDataView { ...@@ -57,6 +49,9 @@ public class TestDataView {
@EJB @EJB
private TestDataBeanLocal testdatabean; private TestDataBeanLocal testdatabean;
@EJB
TicketBeanLocal ticketBean;
@EJB @EJB
private UserBeanLocal userbean; private UserBeanLocal userbean;
@EJB @EJB
...@@ -72,6 +67,9 @@ public class TestDataView { ...@@ -72,6 +67,9 @@ public class TestDataView {
@EJB @EJB
private MenuBeanLocal menubean; private MenuBeanLocal menubean;
@Inject
private EticketView eticketView;
public void convertUsernames() { public void convertUsernames() {
utilbean.convertUsernames(); utilbean.convertUsernames();
...@@ -87,6 +85,10 @@ public class TestDataView { ...@@ -87,6 +85,10 @@ public class TestDataView {
return null; return null;
} }
public void sendMultibuggageSpam() {
ticketBean.sendTicketEmailToAll(eticketView.getTicketUrl());
}
public String makeTestData() { public String makeTestData() {
testdatabean.createAdmin(); testdatabean.createAdmin();
return null; return null;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!