Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Riina Antikainen
/
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 b2593292
authored
Jun 05, 2013
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Card status changing
1 parent
1c03cfcd
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
163 additions
and
81 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/CardTemplateBean.java
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/CardTemplateBeanLocal.java
code/MoyaWeb/WebContent/useradmin/overview.xhtml
code/MoyaWeb/WebContent/useradmin/sendPicture.xhtml
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserOverviewView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/CardTemplateBean.java
View file @
b259329
...
...
@@ -272,7 +272,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
}
@Override
public
PrintedCard
setCardState
(
int
cardId
,
CardState
state
)
throws
Exception
{
public
PrintedCard
setCardState
(
Integer
cardId
,
CardState
state
)
throws
Exception
{
PrintedCard
card
=
printedcardfacade
.
find
(
cardId
);
switch
(
state
)
{
...
...
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/CardTemplateBeanLocal.java
View file @
b259329
...
...
@@ -44,6 +44,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
List
<
PrintedCard
>
getCardsByState
(
CardState
...
pendingPrint
);
PrintedCard
setCardState
(
int
cardId
,
CardState
printed
)
throws
Exception
;
PrintedCard
setCardState
(
Integer
cardId
,
CardState
printed
)
throws
Exception
;
}
code/MoyaWeb/WebContent/useradmin/overview.xhtml
View file @
b259329
<!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:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:tools=
"http://java.sun.com/jsf/composite/cditools"
xmlns:p=
"http://primefaces.org/ui"
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:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:tools=
"http://java.sun.com/jsf/composite/cditools"
xmlns:p=
"http://primefaces.org/ui"
xmlns:f=
"http://java.sun.com/jsf/core"
>
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{userOverviewView.initView()}"
/>
</f:metadata>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{userOverviewView.initView()}"
/>
</f:metadata>
<ui:define
name=
"content"
>
<p:dialog
id=
"rejectDialog"
widgetVar=
"dialog"
>
<p>
Diibadaaba diibadaaba, daaba dii
</p>
<p:inputTextarea
/>
<br/>
<p:commandButton
oncomplete=
"dialog.hide()"
actionListener=
"
todo"
value=
"Apply"
/>
<p:commandButton
onclick=
"dialog.hide()"
type=
"button"
value=
"Cancel"
/>
<br
/>
<p:commandButton
oncomplete=
"dialog.hide()"
actionListener=
"
#{userOverviewView.rejectCard()}"
value=
"Apply"
/>
<p:commandButton
onclick=
"dialog.hide()"
type=
"button"
value=
"Cancel"
/>
</p:dialog>
<h:form
id=
"form"
>
<h:form
id=
"form"
>
<p:dataTable
value=
"#{userOverviewView.userOverviewItems}"
var=
"cartItem"
binding=
"#{table}"
id=
"cartOverviewTable"
>
<p:column
style=
"#{cartItem.printedCard == null ? 'background:grey;' : ''}"
>
<h:panelGroup
layout=
"block"
id=
"schneider"
style=
"background: red;"
styleClass=
"cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}"
>
<ui:fragment
rendered=
"#{!empty cartItem.eventUser.currentImage}"
>
<img
style=
"width: 150px;"
src=
"#{request.contextPath}/dydata/userimage/#{cartItem.eventUser.currentImage.id}.img"
alt=
"image"
/>
</ui:fragment>
<ui:fragment
rendered=
"#{empty cartItem.eventUser.currentImage}"
>
<h:outputText
value=
"#{i18n['overview.noimage']}"
/>
</ui:fragment>
</h:panelGroup>
</p:column>
<p:column
style=
"#{cartItem.printedCard == null ? 'background:grey;' : ''}"
>
<h2><h:outputText
value=
"#{cartItem.eventUser.nick}"
/></h2>
<h:outputText
value=
"#{cartItem.eventUser.firstnames} #{cartItem.eventUser.lastname}"
/>
<h:outputText
value=
"zz #{cartItem.printedCard.template.name}"
/>
<h:panelGroup
layout=
"block"
id=
"schneider"
style=
"background: red;"
styleClass=
"cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}"
>
<ui:fragment
rendered=
"#{!empty cartItem.eventUser.currentImage}"
>
<img
style=
"width: 150px;"
src=
"#{request.contextPath}/dydata/userimage/#{cartItem.eventUser.currentImage.id}.img"
alt=
"image"
/>
</ui:fragment>
<ui:fragment
rendered=
"#{empty cartItem.eventUser.currentImage}"
>
<h:outputText
value=
"#{i18n['overview.noimage']}"
/>
</ui:fragment>
</h:panelGroup>
</p:column>
<p:column
id=
"cardinfo"
style=
"#{cartItem.printedCard == null ? 'background:grey;' : ''}"
>
<h2>
<h:outputText
value=
"#{cartItem.eventUser.nick}"
/>
</h2>
<h:panelGrid
columns=
"2"
border=
"0"
>
<h:outputText
value=
"#{i18n['user.wholeName']}"
/>
<h:outputText
value=
"#{cartItem.eventUser.firstnames} #{cartItem.eventUser.lastname}"
/>
<h:outputText
value=
"#{i18n['printedCard.template']}"
/>
<h:outputText
value=
"#{cartItem.printedCard.template.name}"
/>
<h:outputText
value=
"#{i18n['printedCard.cardState']}"
/>
<h:outputText
value=
"#{cartItem.printedCard.cardState}"
/>
</h:panelGrid>
</p:column>
<p:column
styleClass=
"cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}"
>
<p:commandButton
value=
"OK #{table.rowIndex}"
actionListener=
"#{
cartItem.acceptCard}"
ajax=
"true"
update=
"schneider
"
>
<!-- <f:ajax execute="uov-items" render="@all"></f:ajax> -->
<p:commandButton
value=
"OK #{table.rowIndex}"
actionListener=
"#{
userOverviewView.acceptCard()}"
ajax=
"true"
update=
"schneider cardinfo
"
>
<!-- <f:ajax execute="uov-items" render="@all"></f:ajax> -->
</p:commandButton>
<p:commandButton
id=
"Reject"
value=
"Reject"
onclick=
"dialog.show();"
type=
"button"
/>
<p:commandButton
id=
"Reject"
value=
"Reject"
onclick=
"dialog.show();"
type=
"button"
/>
</p:column>
</p:dataTable>
</h:form>
...
...
code/MoyaWeb/WebContent/useradmin/sendPicture.xhtml
View file @
b259329
...
...
@@ -3,9 +3,7 @@
"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"
xmlns:reader=
"http://java.sun.com/jsf/composite/cditools/reader"
>
xmlns:shop=
"http://java.sun.com/jsf/composite/cditools/shop"
xmlns:reader=
"http://java.sun.com/jsf/composite/cditools/reader"
>
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<ui:param
name=
"thispage"
value=
"page.user.create"
/>
...
...
@@ -18,7 +16,7 @@
<h1>
#{i18n['sendPicture.header']}
</h1>
<users:usertabs
tabId=
"picture"
/>
</ui:define>
<ui:define
name=
"content"
>
...
...
@@ -47,15 +45,23 @@
</h:panelGrid>
<ui:fragment
rendered=
"#{userView.canManage()}"
>
<h2>
Ylläpito
</h2>
<h:form>
<users:previewAndPrintCard
/>
<p:commandButton
action=
"#{userView.acceptPrintedCard()}"
value=
"accept printed card"
/>
</h:form>
<h:form
rendered=
"#{!empty userView.printedCard}"
>
<h:selectOneMenu
value=
"#{userView.printedCard.cardState}"
>
<f:selectItems
value=
"#{userView.printedCardStates}"
/>
</h:selectOneMenu>
<h:commandButton
action=
"#{userView.setCardState()}"
value=
"#{i18n['printedCard.setState']}"
/>
</h:form>
<h3>
RFID
</h3>
<reader:barcode
_rfid
selectvalue=
"#{i18n['readerevent.associateToUser']}"
selectaction=
"#{userView.attachBarcodeToCard()}"
/>
<reader:barcode
_rfid
selectvalue=
"#{i18n['readerevent.associateToUser']}"
selectaction=
"#{userView.attachBarcodeToCard()}"
/>
</ui:fragment>
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserOverviewView.java
View file @
b259329
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
user
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.faces.model.ListDataModel
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.CardTemplateBeanLocal
;
import
fi.codecrew.moya.enums.CardState
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.PrintedCard
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
...
...
@@ -21,28 +24,65 @@ public class UserOverviewView extends GenericCDIView {
private
static
final
long
serialVersionUID
=
-
9115983838324313414L
;
@Inject
UserCartView
userCartView
;
@EJB
CardTemplateBeanLocal
cardTemplateBean
;
private
List
<
UserOverviewItem
>
userOverviewItems
=
null
;
private
UserCartView
userCartView
;
@EJB
private
CardTemplateBeanLocal
cardTemplateBean
;
private
ListDataModel
<
UserOverviewItem
>
userOverviewItems
=
null
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
UserOverviewView
.
class
);
public
void
initView
()
{
if
(
userOverviewItems
==
null
)
{
userOverviewItems
=
new
ArrayList
<
UserOverviewItem
>();
for
(
EventUser
eu
:
userCartView
.
getUsercart
())
{
if
(
userOverviewItems
==
null
)
{
ArrayList
<
UserOverviewItem
>
ovlist
=
new
ArrayList
<
UserOverviewItem
>();
for
(
EventUser
eu
:
getUserCartView
()
.
getUsercart
())
{
PrintedCard
pc
=
cardTemplateBean
.
checkPrintedCard
(
eu
);
UserOverviewItem
uoi
=
new
UserOverviewItem
(
eu
,
pc
);
userOverviewItems
.
add
(
uoi
);
ovlist
.
add
(
uoi
);
}
userOverviewItems
=
new
ListDataModel
<>(
ovlist
);
}
}
public
List
<
UserOverviewItem
>
getUserOverviewItems
()
{
public
List
DataModel
<
UserOverviewItem
>
getUserOverviewItems
()
{
return
userOverviewItems
;
}
public
void
setUserOverviewItems
(
List
<
UserOverviewItem
>
userOverviewItems
)
{
public
void
rejectCard
()
{
UserOverviewItem
cardItem
=
userOverviewItems
.
getRowData
();
logger
.
info
(
"Rejecting card"
);
PrintedCard
card
=
cardItem
.
getPrintedCard
();
card
.
setCardState
(
CardState
.
REJECTED
);
card
=
cardTemplateBean
.
saveCard
(
card
);
cardItem
.
setPrintedCard
(
card
);
// cardTemplateBean.setCardState(cardItem.getPrintedCard(), CardState.REJECTED);
}
public
void
acceptCard
()
{
UserOverviewItem
cardItem
=
userOverviewItems
.
getRowData
();
PrintedCard
card
=
cardItem
.
getPrintedCard
();
card
.
setCardState
(
CardState
.
VALIDATED
);
card
=
cardTemplateBean
.
saveCard
(
card
);
cardItem
.
setPrintedCard
(
card
);
logger
.
info
(
"Accepted card: {}"
,
cardItem
.
getPrintedCard
());
}
public
void
setUserOverviewItems
(
ListDataModel
<
UserOverviewItem
>
userOverviewItems
)
{
this
.
userOverviewItems
=
userOverviewItems
;
}
public
UserCartView
getUserCartView
()
{
return
userCartView
;
}
public
void
setUserCartView
(
UserCartView
userCartView
)
{
this
.
userCartView
=
userCartView
;
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
View file @
b259329
...
...
@@ -55,20 +55,20 @@ public class UserView extends GenericCDIView {
@EJB
private
transient
UserBeanLocal
userbean
;
@EJB
private
transient
ReaderBeanLocal
readerbean
;
private
Integer
userid
;
private
transient
UploadedFile
image
;
private
CroppedImage
croppedImage
;
private
EventUser
user
;
@Inject
private
transient
Conversation
conversation
;
@Inject
private
transient
ReaderView
readerView
;
...
...
@@ -87,7 +87,7 @@ public class UserView extends GenericCDIView {
@EJB
private
transient
CardTemplateBeanLocal
cardBean
;
private
List
<
Role
>
usersRoles
;
@EJB
private
transient
RoleBeanLocal
rolebean
;
...
...
@@ -101,7 +101,20 @@ public class UserView extends GenericCDIView {
private
MassPrintResult
mpr
=
null
;
private
boolean
waitForAcceptance
=
false
;
private
String
captureForwardUrl
=
""
;
private
PrintedCard
printedCard
;
public
PrintedCard
getPrintedCard
()
{
if
(
printedCard
==
null
)
{
printedCard
=
cardBean
.
checkPrintedCard
(
user
);
}
return
printedCard
;
}
public
void
setPrintedCard
(
PrintedCard
card
)
{
printedCard
=
card
;
}
@Produces
@LoggedIn
public
EventUser
getCurrentUser
()
{
...
...
@@ -113,7 +126,7 @@ public class UserView extends GenericCDIView {
byte
[]
data
=
captureEvent
.
getData
();
UserImage
img
=
userbean
.
uploadImage
(
user
,
"image/png"
,
data
,
"userimage.png"
,
"Uploaded image"
);
user
=
userbean
.
getEventUser
(
img
.
getUser
());
// super.navihandler.forward("/admin/adduser/capturesuccess");
// super.navihandler.forward("/admin/adduser/capturesuccess");
if
(
getCaptureForwardUrl
().
equals
(
""
))
super
.
navihandler
.
forward
(
getCaptureForwardUrl
());
}
...
...
@@ -168,7 +181,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
);
...
...
@@ -181,7 +194,7 @@ public class UserView extends GenericCDIView {
try
{
mpr
=
cardPrintBean
.
getUserCardAsPrintablePdf
(
getSelectedUser
().
getId
());
ByteArrayInputStream
pdfstream
=
new
ByteArrayInputStream
(
mpr
.
getPdf
());
setStreamedFile
(
new
DefaultStreamedContent
(
pdfstream
,
"application/pdf"
,
"user_"
+
getSelectedUser
().
getId
()
+
"_card.pdf"
));
setStreamedFile
(
new
DefaultStreamedContent
(
pdfstream
,
"application/pdf"
,
"user_"
+
getSelectedUser
().
getId
()
+
"_card.pdf"
));
logger
.
info
(
"user_"
+
getSelectedUser
().
getId
()
+
"_card.pdf"
);
}
catch
(
Exception
e
)
{
FacesContext
.
getCurrentInstance
().
addMessage
(
null
,
new
FacesMessage
(
e
.
getMessage
()));
...
...
@@ -200,27 +213,28 @@ public class UserView extends GenericCDIView {
public
String
makeCard
()
{
PrintedCard
c
ard
=
cardBean
.
checkPrintedCard
(
user
);
if
(
c
ard
!=
null
)
printedC
ard
=
cardBean
.
checkPrintedCard
(
user
);
if
(
printedC
ard
!=
null
)
{
user
=
c
ard
.
getUser
();
user
=
printedC
ard
.
getUser
();
}
return
null
;
}
public
String
sendImage
()
{
if
(
getImage
()
==
null
)
{
super
.
addFaceMessage
(
"user.imageUpload.imageNotFound"
);
}
else
{
UserImage
userimage
=
userbean
.
uploadImage
(
user
,
getImage
().
getContentType
(),
getImage
().
getContents
(),
getImage
().
getFileName
(),
""
);
user
=
userbean
.
getEventUser
(
userimage
.
getUser
());
super
.
addFaceMessage
(
"user.imageUploaded"
);
}
printedCard
=
null
;
return
null
;
}
...
...
@@ -228,9 +242,10 @@ public class UserView extends GenericCDIView {
if
(
super
.
requirePermissions
(
UserPermission
.
CREATE_NEW
))
{
user
=
new
EventUser
(
new
User
(),
eventbean
.
getCurrentEvent
(),
permbean
.
getCurrentUser
());
super
.
beginConversation
();
printedCard
=
null
;
}
}
public
void
initView
()
{
/*
...
...
@@ -300,35 +315,39 @@ public class UserView extends GenericCDIView {
{
return
permbean
.
isCurrentUser
(
user
);
}
/**
public
void
setCardState
()
{
printedCard
=
cardBean
.
saveCard
(
printedCard
);
}
/**
* attach barcode or rfid to card
*
* @return
*/
public
String
attachBarcodeToCard
()
{
PrintedCard
card
=
readerView
.
getPrintedCard
();
// already attached
if
(
card
!=
null
)
{
if
(
card
!=
null
)
{
super
.
addFaceMessage
(
"usercard.alreadyassociated"
);
return
null
;
}
// still there, we can get real card and update it's barcodes
card
=
cardBean
.
checkPrintedCard
(
user
);
if
(
readerView
.
getBarcode
()
!=
null
&&
!
readerView
.
getBarcode
().
isEmpty
())
{
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
());
logger
.
debug
(
"barcode {} to card {} "
,
readerView
.
getBarcode
(),
card
.
getUser
().
getNick
());
cardBean
.
saveCard
(
card
);
}
else
if
(
readerView
.
getReaderEvent
()
!=
null
)
{
}
else
if
(
readerView
.
getReaderEvent
()
!=
null
)
{
readerbean
.
assocTagToCard
(
readerView
.
getReaderEvent
().
getValue
(),
readerView
.
getReaderEvent
().
getReader
().
getIdentification
(),
card
);
}
return
null
;
}
...
...
@@ -336,7 +355,7 @@ public class UserView extends GenericCDIView {
userbean
.
createNewUser
(
user
,
getPassword
());
return
"/user/created"
;
}
public
String
createUserAdduserView
()
{
userbean
.
createNewUser
(
user
,
getPassword
());
authView
.
executeAdduserAutoLogin
(
user
,
getPassword
());
...
...
@@ -427,7 +446,7 @@ public class UserView extends GenericCDIView {
}
public
StreamedContent
getStreamedFile
()
{
if
(
streamedFile
==
null
)
if
(
streamedFile
==
null
)
logger
.
info
(
"Tried to get empty streamed file"
);
return
streamedFile
;
}
...
...
@@ -443,4 +462,9 @@ public class UserView extends GenericCDIView {
public
void
setCaptureForwardUrl
(
String
captureForwardUrl
)
{
this
.
captureForwardUrl
=
captureForwardUrl
;
}
public
CardState
[]
getPrintedCardStates
()
{
return
CardState
.
values
();
}
}
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