Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Antti Väyrynen
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d0e3a491
authored
May 11, 2013
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'devel' of codecrew.fi:bortal into devel
2 parents
4334df4c
439d8512
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
108 additions
and
13 deletions
code/MoyaWeb/WebContent/WEB-INF/web.xml
code/MoyaWeb/WebContent/admin/incoming/printCard.xhtml
code/MoyaWeb/WebContent/resources/cditools/reader/rfid.xhtml
code/MoyaWeb/WebContent/resources/cditools/user/edit.xhtml
code/MoyaWeb/WebContent/resources/cditools/user/previewAndPrintCard.xhtml
code/MoyaWeb/src/fi/codecrew/moya/servlet/FileDownloadServlet.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
code/MoyaWeb/src/fi/codecrew/moya/web/flow/IncomingView.java
code/MoyaWeb/WebContent/WEB-INF/web.xml
View file @
d0e3a49
...
...
@@ -10,7 +10,7 @@
<context-param>
<param-name>
javax.faces.PROJECT_STAGE
</param-name>
<!-- Production | Development -->
<param-value>
Production
</param-value>
<param-value>
Development
</param-value>
</context-param>
<context-param>
<param-name>
javax.faces.FACELETS_SKIP_COMMENTS
</param-name>
...
...
code/MoyaWeb/WebContent/admin/incoming/printCard.xhtml
View file @
d0e3a49
...
...
@@ -12,28 +12,31 @@
</f:metadata>
<ui:define
name=
"content"
>
<h:outputScript
library=
"primefaces"
name=
"jquery/jquery.js"
target=
"head"
/>
<h:panelGrid
columns=
"3"
>
<h:form>
<p:poll
interval=
"1"
listener=
"#{incomingView.polledRead}"
/>
</h:form>
<h:panelGrid
columns=
"3"
>
<h:panelGroup>
<user:edit
commitaction=
"#{incomingView.saveUser()}"
commitvalue=
"#{i18n['user.save']}"
/>
<user:edit
commitaction=
"#{incomingView.saveUser()}"
commitvalue=
"#{i18n['user.save']}"
camAlwaysOn=
"true"
/>
</h:panelGroup>
<h:panelGroup>
<h:form>
<p:imageCropper
value=
"#{userView.croppedImage}"
aspectRatio=
"0.7317073170731707"
image=
"/dydata/userimage/#{userView.user.currentImage.id}.jpg"
/>
<h:commandButton
action=
"#{userView.crop}"
value=
"#{i18n['user.cropImage']}"
/>
<h:commandButton
action=
"#{userView.cancelCrop}"
value=
"#{i18n['user.cropImage']}"
/>
</h:form>
</h:panelGroup>
<h:panelGroup>
<h:form>
<user:previewAndPrintCard
/>
<p:commandButton
action=
"#{userView.acceptPrintedCard()}"
value=
"accept printed card"
/>
<p:graphicImage
url=
"/dydata/usercard/#{userView.user.user.id}.png"
width=
"300"
/><br
/>
<h:commandButton
action=
"#{incomingView.printCard}"
value=
"#{i18n['print']}"
/>
</h:form>
</h:panelGroup>
</h:panelGrid>
...
...
code/MoyaWeb/WebContent/resources/cditools/reader/rfid.xhtml
View file @
d0e3a49
...
...
@@ -22,9 +22,9 @@ xmlns:reader="http://java.sun.com/jsf/composite/cditools/reader"
<h:dataTable
border=
"1"
id=
"reader"
value=
"#{readerListDataView.readers}"
var=
"rr"
>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
$
{i18n['reader.name']}"
/>
<h:outputText
value=
"
#
{i18n['reader.name']}"
/>
</f:facet>
<h:outputText
value=
"#{rr}"
/>
<h:outputText
value=
"#{rr
.identification
}"
/>
</h:column>
<h:column>
<h:commandButton
action=
"#{readerListDataView.selectReader}"
value=
"#{i18n['reader.select']}"
/>
...
...
code/MoyaWeb/WebContent/resources/cditools/user/edit.xhtml
View file @
d0e3a49
...
...
@@ -7,6 +7,7 @@
<composite:interface>
<composite:attribute
name=
"creating"
required=
"false"
default=
"false"
/>
<composite:attribute
name=
"commitaction"
required=
"true"
method-signature=
"java.lang.String action()"
/>
<composite:attribute
name=
"camAlwaysOn"
required=
"false"
default=
"false"
/>
</composite:interface>
<composite:implementation>
...
...
@@ -19,20 +20,25 @@
<h:panelGroup>
<ui:fragment
rendered=
"#{not empty userView.user.id}"
>
<p:dialog
id=
"chartPanel"
for=
"webcamButton"
modal=
"true"
dynamic=
"true"
widgetVar=
"webcamDialog"
>
<p:dialog
rendered=
"#{!cc.attrs.camAlwaysOn}"
id=
"chartPanel"
for=
"webcamButton"
modal=
"true"
dynamic=
"true"
widgetVar=
"webcamDialog"
>
<p:photoCam
widgetVar=
"pc"
listener=
"#{userView.oncapture}"
update=
"@all"
/>
<p:commandButton
type=
"button"
value=
"Capture"
onclick=
"pc.capture()"
/>
</p:dialog>
<h:outputText
rendered=
"#{empty userView.user.currentImage}"
value=
"#{i18n['user.noCurrentImage']}"
/>
<ui:fragment
rendered=
"#{!empty userView.user.currentImage}"
>
<img
style=
"width: 150px;"
src=
"#{request.contextPath}/dydata/userimage/#{userView.user.currentImage.id}.img"
alt=
"image"
/>
</ui:fragment>
<br
/>
<p:commandButton
id=
"webcamButton"
value=
"#{i18n['userimage.webcam']}"
onclick=
"webcamDialog.show()"
type=
"button"
/>
<p:commandButton
rendered=
"#{!cc.attrs.camAlwaysOn}"
id=
"webcamButton"
value=
"#{i18n['userimage.webcam']}"
onclick=
"webcamDialog.show()"
type=
"button"
/>
<br
/>
<br
/>
<ui:fragment
rendered=
"#{cc.attrs.camAlwaysOn}"
>
<p:photoCam
widgetVar=
"pc"
listener=
"#{userView.oncapture}"
update=
"@all"
/>
<p:commandButton
type=
"button"
value=
"Capture"
onclick=
"pc.capture()"
/>
</ui:fragment>
<p:fileUpload
id=
"uploadfile"
required=
"TRUE"
requiredMessage=
"Required!"
invalidSizeMessage=
"#{i18n['user.imageTooBig']}"
sizeLimit=
"1024"
value=
"#{userView.image}"
mode=
"simple"
/>
<p:message
for=
"uploadfile"
/>
...
...
code/MoyaWeb/WebContent/resources/cditools/user/previewAndPrintCard.xhtml
View file @
d0e3a49
...
...
@@ -9,9 +9,12 @@
<composite:implementation>
<div>
<p:graphicImage
url=
"/dydata/usercard/#{userView.user.user.id}.png"
width=
"300"
/><br
/>
<p:commandButton
action=
"#{userView.prepareCardDownload()}"
rendered=
"#{userView.waitForAcceptance==false}"
value=
"print card"
ajax=
"true"
update=
"@form"
onclick=
"PrimeFaces.monitorDownload(start, stop)"
>
<p:fileDownload
value=
"#{userView.streamedFile}"
/>
</p:commandButton>
</div>
</composite:implementation>
</html>
...
...
code/MoyaWeb/src/fi/codecrew/moya/servlet/FileDownloadServlet.java
View file @
d0e3a49
...
...
@@ -17,13 +17,16 @@ import javax.servlet.http.HttpServletResponse;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.CardPrintBeanLocal
;
import
fi.codecrew.moya.beans.CardTemplateBeanLocal
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.beans.PermissionBeanLocal
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.model.CardTemplate
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.LanEventProperty
;
import
fi.codecrew.moya.model.LanEventPropertyKey
;
import
fi.codecrew.moya.model.PrintedCard
;
import
fi.codecrew.moya.model.UserImage
;
/**
...
...
@@ -41,6 +44,13 @@ public class FileDownloadServlet extends GenericImageServlet {
@EJB
private
transient
UserBeanLocal
userbean
;
@EJB
private
transient
CardTemplateBeanLocal
cardbean
;
@EJB
private
transient
CardPrintBeanLocal
cardprint
;
@EJB
private
transient
PermissionBeanLocal
permbean
;
...
...
@@ -57,6 +67,14 @@ public class FileDownloadServlet extends GenericImageServlet {
private
static
final
Pattern
URLPATTERN
=
Pattern
.
compile
(
"([^./]+)"
);
/**
* Usage MoyaWeb/dydata/format/
* possible formats
* logo
* userimage/<eventuserid>.jpg
* cardtemplate/<cardtemplateid>.png
* usercard/
*/
@Override
protected
ImageMover
getImagedata
()
{
ImageMover
ret
=
new
ImageMover
();
...
...
@@ -117,6 +135,28 @@ public class FileDownloadServlet extends GenericImageServlet {
}
}
}
else
if
(
urlparts
.
get
(
0
).
equals
(
"usercard"
)
&&
urlparts
.
size
()
>
2
)
{
int
userid
=
Integer
.
parseInt
(
urlparts
.
get
(
1
));
EventUser
usr
=
userbean
.
findByUserId
(
userid
);
logger
.
info
(
"Trying to print usercard for user {}"
,
usr
);
if
(
usr
!=
null
)
{
PrintedCard
card
=
cardbean
.
checkPrintedCard
(
usr
);
try
{
byte
[]
img
=
cardprint
.
constructPNG
(
card
);
if
(
img
.
length
>
0
)
{
ret
.
setData
(
img
);
ret
.
setImagetype
(
"image/png"
);
}
}
catch
(
Exception
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
}
if
(
ret
.
getImagetype
()
==
null
)
{
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
View file @
d0e3a49
...
...
@@ -27,6 +27,7 @@ import fi.codecrew.moya.beans.EventBeanLocal;
import
fi.codecrew.moya.beans.ReaderBeanLocal
;
import
fi.codecrew.moya.beans.RoleBeanLocal
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.enums.CardState
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.model.CardTemplate
;
import
fi.codecrew.moya.model.EventUser
;
...
...
@@ -167,6 +168,7 @@ public class UserView extends GenericCDIView {
userbean
.
saveCroppedImage
(
user
.
getUser
().
getCurrentImage
(),
croppedImage
.
getLeft
(),
croppedImage
.
getTop
(),
croppedImage
.
getWidth
(),
croppedImage
.
getHeight
());
user
=
userbean
.
getEventUser
(
newImage
.
getUser
());
}
catch
(
IOException
e
)
{
logger
.
info
(
"Error converting image"
,
e
);
...
...
@@ -318,6 +320,8 @@ public class UserView extends GenericCDIView {
if
(
readerView
.
getBarcode
()
!=
null
&&
!
readerView
.
getBarcode
().
isEmpty
())
{
card
.
setBarcode
(
readerView
.
getBarcode
());
card
.
setCardState
(
CardState
.
VALIDATED
);
logger
.
debug
(
"barcode {} to card {} "
,
readerView
.
getBarcode
(),
card
.
getUser
().
getNick
());
cardBean
.
saveCard
(
card
);
}
else
if
(
readerView
.
getReaderEvent
()
!=
null
)
{
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/flow/IncomingView.java
View file @
d0e3a49
package
fi
.
codecrew
.
moya
.
web
.
flow
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
...
...
@@ -7,9 +8,16 @@ import javax.inject.Named;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.CardTemplateBeanLocal
;
import
fi.codecrew.moya.beans.PermissionBeanLocal
;
import
fi.codecrew.moya.beans.ReaderBeanLocal
;
import
fi.codecrew.moya.enums.CardState
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.PrintedCard
;
import
fi.codecrew.moya.web.annotations.SelectedUser
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
import
fi.codecrew.moya.web.cdiview.reader.ReaderNameContainer
;
import
fi.codecrew.moya.web.cdiview.reader.ReaderView
;
import
fi.codecrew.moya.web.cdiview.user.UserView
;
...
...
@@ -29,6 +37,17 @@ public class IncomingView extends GenericCDIView {
@Inject
private
ReaderView
readerView
;
@Inject
private
ReaderNameContainer
namecontainer
;
@EJB
private
CardTemplateBeanLocal
cardBean
;
@EJB
private
PermissionBeanLocal
permBean
;
public
void
initView
()
{
super
.
beginConversation
();
...
...
@@ -37,7 +56,10 @@ public class IncomingView extends GenericCDIView {
private
boolean
initialized
=
false
;
public
void
initPrintCardView
()
{
if
(!
permbean
.
hasPermission
(
UserPermission
.
MODIFY
)
||
namecontainer
.
getReaderId
()
==
null
||
namecontainer
.
getReaderId
()
<=
0
)
{
super
.
navihandler
.
redirectNavigation
(
"index.jsf"
);
}
if
(!
initialized
)
{
logger
.
debug
(
"INITIALIZING!!!!"
);
initializePoller
();
...
...
@@ -79,6 +101,7 @@ public class IncomingView extends GenericCDIView {
// still there, it must be "clean" barcode
if
(
userview
.
getUser
()
!=
null
)
{
userview
.
attachBarcodeToCard
();
}
}
...
...
@@ -99,5 +122,21 @@ public class IncomingView extends GenericCDIView {
//userview.prepareCardDownload();
return
"printCard"
;
}
public
String
printCard
()
{
PrintedCard
card
=
cardBean
.
checkPrintedCard
(
user
);
card
.
setCardState
(
CardState
.
VALIDATED
);
cardBean
.
saveCard
(
card
);
return
null
;
}
}
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment