Commit f0c1ead7 by Tuukka Kivilahti

Merge branch 'devel' of codecrew.fi:tkfftk/moya into devel

2 parents 5952697b b73eabd9
Showing with 97 additions and 53 deletions
......@@ -463,3 +463,10 @@ public class Bill extends GenericEntity {
......@@ -88,4 +88,12 @@
</dependencies>
<repositories>
<repository>
<id>jvnet-nexus-releases</id>
<name>jvnet-nexus-releases</name>
<url>https://maven.java.net/content/repositories/releases/</url>
</repository>
</repositories>
</project>
\ No newline at end of file
......@@ -74,11 +74,11 @@ public class JpegReader {
List<Segment> segments = parser.readSegments(byteSource, new int[] { 0xffee }, true);
if (segments != null && segments.size() >= 1) {
UnknownSegment app14Segment = (UnknownSegment) segments.get(0);
byte[] data = app14Segment.bytes;
byte[] data = app14Segment.getSegmentData();
if (data.length >= 12 && data[0] == 'A' && data[1] == 'd' && data[2] == 'o' && data[3] == 'b' && data[4] == 'e')
{
hasAdobeMarker = true;
int transform = app14Segment.bytes[11] & 0xff;
int transform = data[11] & 0xff;
if (transform == 2)
colorType = COLOR_TYPE_YCCK;
}
......
......@@ -22,5 +22,6 @@
<attribute name="owner.project.facets" value="jst.web"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="output" path="target/classes"/>
</classpath>
......@@ -15,7 +15,9 @@
<h:form>
<p:poll interval="1" listener="#{incomingView.polledRead}" onerror="location.reload();" />
</h:form>
<h1>#{i18n['incomingflow.userdetails']} (RFID-lukija: #{incomingView.readerId})</h1>
<h:form>
<h1>#{i18n['incomingflow.userdetails']} (RFID-lukija: #{incomingView.readerId})</h1><h:commandButton action="#{incomingView.changeReader}" value="#{i18n['incomingflow.changereader']}" />
</h:form>
<h:panelGrid id="cropper" columns="3">
<h:panelGroup>
<user:edit id="usereditor" commitaction="#{incomingView.saveUser()}" commitvalue="#{i18n['user.save']}" camAlwaysOn="true" />
......@@ -41,9 +43,9 @@
</h:panelGrid>
<h:outputText rendered="#{empty incomingView.groupMemberships}" value="#{i18n['placegroupview.noMemberships']}" />
<h:form rendered="#{!empty incomingViewgroupMemberships}" id="placelistform">
<h:form rendered="#{!empty incomingView.groupMemberships}" id="placelistform">
<p:dataTable value="#{incomingView.groupMemberships}" var="member">
<p:dataTable value="#{incomingView.groupMemberships}" var="member" rowStyleClass="#{member.enteredEvent != null ? 'success':''}">
<p:column>
<f:facet name="header">
......
<!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:c="http://java.sun.com/jsp/jstl/core"
xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:f="http://java.sun.com/jsf/core"
>
<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:c="http://java.sun.com/jsp/jstl/core"
xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:f="http://java.sun.com/jsf/core">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<ui:param name="thispage" value="page.place.mygroups" />
......@@ -37,31 +35,26 @@
<h:outputText value="#{i18n['placegroupview.token']}" />
</f:facet>
<h:outputText rendered="#{empty member.user}" value="#{member.inviteToken}" />
<h:outputText rendered="#{!empty member.user}"
value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})"
/>
<h:outputText rendered="#{!empty member.user}" value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.groupCreator']}" />
</f:facet>
<h:outputText
value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})"
/>
<h:outputText value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
</h:column>
<h:column>
<h:commandButton rendered="#{placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull}"
action="#{placeGroupView.releasePlace()}" value="#{i18n['placegroupview.releasePlace']}"
/>
<h:commandButton rendered="#{placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull}" action="#{placeGroupView.releasePlace()}"
value="#{i18n['placegroupview.releasePlace']}" />
</h:column>
</h:dataTable>
</h:form>
<p>
<input type="button" onclick="location.replace('#{request.contextPath}/PlaceGroupPdf');" value="#{i18n['placegroup.printPdf']}" />
<input type="button" onclick="location.replace('#{request.contextPath}/PlaceGroupPdf?eventuserId=#{placeGroupView.user.id}');" value="#{i18n['placegroup.printPdf']}" />
</p>
<h2>#{i18n['placetoken.pageHeader']}</h2>
......
......@@ -286,3 +286,9 @@ label {
#header_right {
text-align: right;
}
.success {
color: #006600;
}
\ No newline at end of file
......@@ -112,3 +112,7 @@
.paid {
color: #006600;
}
.success {
color: #006600;
}
\ No newline at end of file
......@@ -409,6 +409,7 @@ importuser.file = File
importuser.template = Template
incomingflow.barcode = Barcode
incomingflow.changereader = Change Reader
incomingflow.giveplace = Mark given
incomingflow.multisearch = Multisearch
incomingflow.search = Search
......@@ -750,7 +751,7 @@ product.shopInstant = Create automatic cashpayment
product.sort = Sort nr
product.totalPrice = Total
product.unitName = Unit name
product.vat = VAT-%
product.vat = VAT-% (0.0 - 0.99)
productFlag.CREATE_NEW_PLACE_WHEN_BOUGHT = Create new place bought
productFlag.PREPAID_CREDIT = Prepaid credit
......
......@@ -418,6 +418,7 @@ importuser.file = Tiedosto
importuser.template = Malli
incomingflow.barcode = Viivakoodi
incomingflow.changereader = Vaihda lukijaa
incomingflow.giveplace = Merkitse annetuksi
incomingflow.multisearch = Monihaku
incomingflow.search = Etsi
......@@ -734,7 +735,7 @@ product.shopInstant = Luo k\u00E4teismaksu tuotteille
product.sort = J\u00E4rjestys luku
product.totalPrice = Summa
product.unitName = Tuoteyksikk\u00F6
product.vat = ALV-%
product.vat = ALV-% (0.0 - 0.99)
productFlag.CREATE_NEW_PLACE_WHEN_BOUGHT = Luo uusi paikka ostettaessa
productFlag.PREPAID_CREDIT = Prepaid credit
......
......@@ -15,6 +15,9 @@ import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser;
/**
* Servlet implementation class PlaceGroupPdf
......@@ -28,6 +31,8 @@ public class PlaceGroupPdf extends HttpServlet {
@EJB
private transient PermissionBeanLocal permbean;
@EJB
private transient UserBeanLocal userbean;
private static final Logger logger = LoggerFactory.getLogger(PlaceGroupPdf.class);
/**
......@@ -45,12 +50,34 @@ public class PlaceGroupPdf extends HttpServlet {
private void output(HttpServletRequest request, HttpServletResponse response) {
try {
String uid = request.getParameter("eventuserId");
if (!permbean.isLoggedIn()) {
response.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
}
EventUser user = permbean.getCurrentUser();
if (uid != null)
{
Integer uidInt = new Integer(uid);
if (!user.getId().equals(uidInt))
{
if (!permbean.hasPermission(UserPermission.VIEW_ALL))
{
response.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
}
user = userbean.findByEventUserId(uidInt);
}
}
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "filename=Reservations.pdf");
ServletOutputStream ostream = response.getOutputStream();
pgbean.getGroupMembershipPdf(permbean.getCurrentUser(), ostream);
pgbean.getGroupMembershipPdf(user, ostream);
// ByteArrayOutputStream billstream = new ByteArrayOutputStream();
// billentity.getPdfBillStream(bill, billstream);
......
......@@ -251,18 +251,18 @@ public class PlaceMap extends HttpServlet {
}
if (p.isReservedFor(user)) {
logger.debug("Setting place selected {}", p);
// logger.debug("Setting place selected {}", p);
color = SELECTED_COLOR;
} else if (user.equals(p.getCurrentUser())
|| (p.getGroup() != null && user.equals(p.getGroup().getCreator()))
|| (p.getPlaceReserver() != null && user.equals(p
.getPlaceReserver().getUser()))) {
color = OWNED_COLOR;
logger.debug("Setting place owned {}", p);
// logger.debug("Setting place owned {}", p);
} else if (p.isTaken()) {
color = RESERVED_COLOR;
logger.debug("Setting place Reserved {}", p);
// logger.debug("Setting place Reserved {}", p);
} else if (p.getProduct().getColor() != null && !p.getProduct().getColor().isEmpty()) {
......@@ -281,7 +281,7 @@ public class PlaceMap extends HttpServlet {
.getHeight()));
if (color != null) {
logger.debug("Setting fill color: {} for p", color, p);
//logger.debug("Setting fill color: {} for p", color, p);
g.setColor(color);
g.fill(new Rectangle(p.getMapX() + BORDER_WIDTH, p.getMapY()
+ BORDER_WIDTH, p.getWidth() - BORDER_WIDTH, p.getHeight()
......
......@@ -233,7 +233,7 @@ public class IncomingView extends GenericCDIView {
public ListDataModel<GroupMembership> getGroupMemberships() {
memberlist = new ListDataModel<GroupMembership>(
placegroupBean.getMembershipsAndCreations(user));
placegroupBean.getMembershipsAndCreations(userview.getUser()));
return memberlist;
}
......@@ -257,6 +257,11 @@ public class IncomingView extends GenericCDIView {
return null;
}
public void changeReader() {
namecontainer.setReaderId(null);
super.navihandler.redirectNavigation("index.jsf");
}
......
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</style>
</resources>
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>
......@@ -10,6 +10,6 @@
<string name="seenInMoya">(as seen in Moya)</string>
<string name="shared_pref_readername">readername</string>
<string name="change">Change</string>
<string name="success">Success</string>
<string name="success">Success!</string>
</resources>
......@@ -5,12 +5,13 @@ import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
......@@ -18,10 +19,16 @@ import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private static String URL = "http://demo.codecrew.fi/MoyaWeb/shop/rfidListener.jsf";
private static String URL = "http://lantrek.moya.fi/MoyaWeb/shop/rfidListener.jsf";
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
......@@ -116,11 +123,13 @@ public class MainActivity extends Activity {
}
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return false;
}
}
......
File mode changed
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!