Commit b18a72d9 by Tuukka Kivilahti

eventlist for superusers, also some index -file for there also

1 parent 539b52d8
......@@ -69,4 +69,6 @@ public interface EventBeanLocal {
List<LanEvent> findAllEventsForCurrentUser();
List<LanEvent> findFutureAndRunningEventsForCurrentUser();
List<LanEvent> findFutureEvents();
}
......@@ -304,6 +304,24 @@ public class BootstrapBean implements BootstrapBeanLocal {
"ALTER TABLE events ADD CONSTRAINT FK_events_organiser_responsible_users FOREIGN KEY (organiser_responsible_user_id) REFERENCES users (id)",
"ALTER TABLE events ADD codecrew_notes TEXT",
});
/*
MERGEREQUESTIN TARKASTAJALLE:
Ylempään:
User eikä eventuser, koska muuten teoriassa insomni xiv:n laneventistä voitaisiin sitten viitata eventuseriin, joka liittyy vectorama 2014:sta.
Onko näin hyvä, vai muutanko eventUseriksi, mielipiteitä?
Alempaan:
Meillä on vanhoja tapahtumia joissa ei ole lopetusaikaa -> jotta nämä "näytetään tulevat tapahtumat" -näkymät ois
hyödyllisiä, niin tämä päivitys on kiva. Jos olet erimieltä niin kerro irkissä ennen acceptointia ja teen muita temppuja :).
*/
dbUpdates.add(new String[] {
"update events set end_time = '2010-01-01 00:00:00' where end_time is null"
});
}
public BootstrapBean() {
......
......@@ -368,4 +368,13 @@ public class EventBean implements EventBeanLocal {
return retlist;
}
@Override
public List<LanEvent> findFutureEvents() {
if(!permbean.getCurrentUser().isSuperadmin()) {
throw new EJBAccessException("Must be superadmin to see all events, sorry");
}
return eventFacade.findFutureEvents();
}
}
......@@ -18,6 +18,8 @@
*/
package fi.codecrew.moya.facade;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.ejb.LocalBean;
......@@ -102,4 +104,28 @@ public class EventFacade extends IntegerPkGenericFacade<LanEvent> {
List<LanEvent> events = getEm().createQuery(cq).getResultList();
return events;
}
/**
* Finds all "future" -events, this means also events that are ended under week ago
*
* @return
*/
public List<LanEvent> findFutureEvents() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<LanEvent> cq = cb.createQuery(LanEvent.class);
Root<LanEvent> root = cq.from(LanEvent.class);
Calendar tmpCal = Calendar.getInstance();
tmpCal.add(Calendar.WEEK_OF_YEAR, -1);
Date compareDate = tmpCal.getTime();
cq.where(
cb.or(
cb.isNull(root.get(LanEvent_.endTime)),
cb.greaterThanOrEqualTo(root.get(LanEvent_.endTime), compareDate)
)
);
return getEm().createQuery(cq).getResultList();
}
}
......@@ -18,6 +18,7 @@
*/
package fi.codecrew.moya.model;
import java.beans.Transient;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
......@@ -375,6 +376,19 @@ public class LanEvent extends GenericEntity {
this.codecrewNotes = codecrewNotes;
}
/**
* @return first domain from domains -list
*/
@Transient
public String getFirstDomain() {
if(getDomains() == null || getDomains().size() <= 0) {
return "";
}
return getDomains().get(0).getDomain();
}
// public List<Vip> getVips() {
// return vips;
// }
......
<!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:users="http://java.sun.com/jsf/composite/tools/user" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
</f:metadata>
<ui:define name="content">
<h:form>
<h:link outcome="eventCalendar" value="#{i18n['event.calendar.title']}" /><br />
<h:link outcome="listFutureEvents" value="#{i18n['event.listFutureEvents.title']}" /><br />
<h:link outcome="list" value="#{i18n['event.calendar.title']}" /><br />
<h:link outcome="create" value="#{i18n['eventorg.create.title']}" /><br />
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
<!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:users="http://java.sun.com/jsf/composite/tools/user" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
</f:metadata>
<ui:define name="content">
<h:form>
<p:fieldset legend="#{i18n['event.listFutureEvents.title']}">
<p:dataTable value="#{eventorgView.futureEvents}" var="event">
<p:column>
<f:facet name="header">
<p:outputLabel value="#{i18n['eventorg.organisation']}"/>
</f:facet>
<p:link outcome="/eventorg/edit" value="#{event.organiser.organisation}">
<f:param name="id" value="#{event.organiser.id}" />
</p:link>
</p:column>
<p:column>
<f:facet name="header">
<p:outputLabel value="#{i18n['event.name']}"/>
</f:facet>
<p:link outcome="/eventorg/editEvent" value="#{event.name}">
<f:param name="eventid" value="#{event.id}" />
</p:link>
</p:column>
<p:column style="width: 80px">
<f:facet name="header">
<p:outputLabel value="#{i18n['event.ticketSalesBegin']}"/>
</f:facet>
<p:outputLabel value="#{event.ticketSalesBegin}">
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:outputLabel>
</p:column>
<p:column style="width: 80px">
<f:facet name="header">
<p:outputLabel value="#{i18n['event.startTime']}"/>
</f:facet>
<p:outputLabel value="#{event.startTime}" >
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:outputLabel>
</p:column>
<p:column style="width: 80px">
<f:facet name="header">
<p:outputLabel value="#{i18n['event.endTime']}"/>
</f:facet>
<p:outputLabel value="#{event.endTime}" >
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<p:outputLabel value="#{i18n['eventorg.codecrewResponsible']}"/>
</f:facet>
<p:outputLabel rendered="#{event.codecrewResponsible != null}" value="#{event.codecrewResponsible.shortUserDescriptor} // #{event.codecrewResponsible.phone}" />
</p:column>
<p:column >
<f:facet name="header">
<p:outputLabel value="#{i18n['eventorg.organiserResponsible']}"/>
</f:facet>
<p:outputLabel rendered="#{event.organiserResponsible != null}" value="#{event.organiserResponsible.shortUserDescriptor} // #{event.codecrewResponsible.phone}" />
</p:column>
<p:column>
<a href="https://#{event.firstDomain}/">https://#{event.firstDomain}/"</a>
</p:column>
</p:dataTable>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
......@@ -293,6 +293,10 @@ public class EventOrgView extends GenericCDIView {
return eventsCalendar;
}
public List<LanEvent> getFutureEvents() {
return eventbean.findFutureEvents();
}
public String copySiteContent() {
sitepagebean.copySites(copyParty, event);
......
......@@ -533,3 +533,6 @@ eventorg.codecrewDetails=Tapahtuman j\u00E4rjest\u00E4j\u00E4tiedot
eventorg.codecrewResponsible=Codecrewin tukihenkil\u00F6
eventorg.organiserResponsible=J\u00E4rjest\u00E4j\u00E4n vastaava
eventorg.codecrewNotes=Codecrew -muistiinpanot
eventorg.list.title=Tapahtumaj\u00E4rjest\u00E4j\u00E4t
eventorg.create.title=Luo tapahtumaj\u00E4rjest\u00E4j\u00E4
event.listFutureEvents.title=Lista tulevista tapahtumista
......@@ -1754,3 +1754,6 @@ eventorg.codecrewDetails=Event organizer information
eventorg.codecrewResponsible=Codecrew support
eventorg.organiserResponsible=Organizer responsible
eventorg.codecrewNotes=Codecrew notes
eventorg.list.title=Event organisers
eventorg.create.title=Create eventorganiser
event.listFutureEvents.title=List of future events
......@@ -384,7 +384,7 @@ event.id = Eventin id
event.name = Tapahtuman nimi
event.nextBillNumber = Seuraavan laskun numero
event.nodates.message = Lis\u00E4\u00E4 tapahtumaan v\u00E4hint\u00E4\u00E4n aloitusp\u00E4iv\u00E4, lopetusp\u00E4iv\u00E4 sek\u00E4 lipunmyynnin aloitusp\u00E4iv\u00E4.
event.nodates.title = P\u00E4iv\u00E4m\u00E4\u00E4ri\u00E4 puuttuu!
event.nodates.title = P\u00E4iv\u00E4m\u00E4\u00E4ri\u00E4 puuttuu\!
event.privateProperties.title = Yksityiset ominaisuudet
event.properties.title = Ominaisuudet
event.referenceNumberBase = Viitenumeron pohja
......@@ -1738,3 +1738,6 @@ eventorg.codecrewDetails=Tapahtuman j\u00E4rjest\u00E4j\u00E4tiedot
eventorg.codecrewResponsible=Codecrewin tukihenkil\u00F6
eventorg.organiserResponsible=J\u00E4rjest\u00E4j\u00E4n vastaava
eventorg.codecrewNotes=Codecrew -muistiinpanot
eventorg.list.title=Tapahtumaj\u00E4rjest\u00E4j\u00E4t
eventorg.create.title=Luo tapahtumaj\u00E4rjest\u00E4j\u00E4
event.listFutureEvents.title=Lista tulevista tapahtumista
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!