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 ee917ef4
authored
Oct 25, 2012
by
Riku Silvola
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of codecrew.fi:bortal
2 parents
7e7d27ae
6599c10a
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
185 additions
and
52 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/BillBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ProductPBean.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/FoodWaveTemplate.java
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
code/LanBortalWeb/WebContent/foodwave/ThanksForOrderingFromCounter.xhtml
code/LanBortalWeb/WebContent/foodwave/list.xhtml
code/LanBortalWeb/WebContent/foodwave/listProducts.xhtml
code/LanBortalWeb/WebContent/foodwave/listTemplates.xhtml
code/LanBortalWeb/WebContent/user/create.xhtml
code/LanBortalWeb/WebContent/useradmin/create.xhtml
code/LanBortalWeb/WebContent/useradmin/list.xhtml
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodShopView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserCartView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserValidator.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/BillBean.java
View file @
ee917ef
...
...
@@ -38,14 +38,7 @@ import fi.insomnia.bortal.utilities.I18n;
*/
@Stateless
@LocalBean
@DeclareRoles
({
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_READ_ALL
,
BillPermission
.
S_VIEW_OWN
,
BillPermission
.
S_WRITE_ALL
,
SpecialPermission
.
S_USER
,
SpecialPermission
.
S_VERKKOMAKSU_CHECK
,
})
@DeclareRoles
({
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_READ_ALL
,
BillPermission
.
S_VIEW_OWN
,
BillPermission
.
S_WRITE_ALL
,
SpecialPermission
.
S_USER
,
SpecialPermission
.
S_VERKKOMAKSU_CHECK
,
})
public
class
BillBean
implements
BillBeanLocal
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
BillBean
.
class
);
...
...
@@ -92,7 +85,8 @@ public class BillBean implements BillBeanLocal {
EventUser
currentuser
=
permbean
.
getCurrentUser
();
logger
.
debug
(
"bill {} user {}"
,
bill
,
currentuser
);
if
(
bill
!=
null
&&
!
currentuser
.
equals
(
bill
.
getUser
())
&&
!
permbean
.
hasPermission
(
BillPermission
.
READ_ALL
))
{
if
(
bill
!=
null
&&
!
currentuser
.
equals
(
bill
.
getUser
())
&&
!
permbean
.
hasPermission
(
BillPermission
.
READ_ALL
))
{
bill
=
null
;
}
return
bill
;
...
...
@@ -197,26 +191,29 @@ public class BillBean implements BillBeanLocal {
@Override
@RolesAllowed
(
BillPermission
.
S_READ_ALL
)
public
Collection
<
BillSummary
>
getBillLineSummary
()
{
Collection
<
BillSummary
>
ret
=
billLineFacade
.
getLineSummary
(
eventbean
.
getCurrentEvent
());
Collection
<
BillSummary
>
ret
=
billLineFacade
.
getLineSummary
(
eventbean
.
getCurrentEvent
());
return
ret
;
}
@Override
@RolesAllowed
({
BillPermission
.
S_WRITE_ALL
,
SpecialPermission
.
S_VERKKOMAKSU_CHECK
})
@RolesAllowed
({
BillPermission
.
S_WRITE_ALL
,
SpecialPermission
.
S_VERKKOMAKSU_CHECK
})
public
void
markPaid
(
Bill
bill
,
Calendar
when
)
{
if
(
bill
.
getAccountEvent
()
!=
null
||
bill
.
getPaidDate
()
!=
null
)
{
if
(
bill
.
getAccountEvent
()
!=
null
||
bill
.
getPaidDate
()
!=
null
)
{
throw
new
EJBException
(
"Bill already marked paid!"
);
}
bill
=
billFacade
.
reload
(
bill
);
Product
creditproduct
=
productBean
.
findCreditProduct
();
EventUser
user
=
bill
.
getUser
();
AccountEvent
ac
=
productBean
.
createAccountEvent
(
creditproduct
,
bill
.
totalPrice
(),
user
);
AccountEvent
ac
=
productBean
.
createAccountEvent
(
creditproduct
,
bill
.
totalPrice
(),
user
);
logger
.
info
(
"Created creditentry. {}, userproducts {}"
,
ac
,
user
.
getAccountEvents
().
size
());
logger
.
info
(
"Created creditentry. {}, userproducts {}"
,
ac
,
user
.
getAccountEvents
().
size
());
ac
.
setDelivered
(
when
);
ac
.
setEventTime
(
when
);
...
...
@@ -231,17 +228,24 @@ public class BillBean implements BillBeanLocal {
for
(
BillLine
bl
:
bill
.
getBillLines
())
{
Product
prod
=
bl
.
getLineProduct
();
if
(
prod
!=
null
&&
prod
.
getProductFlags
().
contains
(
ProductFlag
.
PREPAID_INSTANT_CREATE
))
{
logger
.
debug
(
"Creating Bill prepaidInstant product {}, {}"
,
prod
.
getName
(),
bl
.
getQuantity
());
if
(
prod
.
getProductFlags
().
contains
(
ProductFlag
.
RESERVE_PLACE_WHEN_BOUGHT
)
||
prod
.
getProductFlags
().
contains
(
ProductFlag
.
CREATE_NEW_PLACE_WHEN_BOUGHT
))
{
placebean
.
lockPlaceProduct
(
bill
.
getUser
(),
prod
,
bl
.
getQuantity
());
&&
prod
.
getProductFlags
().
contains
(
ProductFlag
.
PREPAID_INSTANT_CREATE
))
{
logger
.
debug
(
"Creating Bill prepaidInstant product {}, {}"
,
prod
.
getName
(),
bl
.
getQuantity
());
if
(
prod
.
getProductFlags
().
contains
(
ProductFlag
.
RESERVE_PLACE_WHEN_BOUGHT
)
||
prod
.
getProductFlags
().
contains
(
ProductFlag
.
CREATE_NEW_PLACE_WHEN_BOUGHT
))
{
placebean
.
lockPlaceProduct
(
bill
.
getUser
(),
prod
,
bl
.
getQuantity
());
}
AccountEvent
ac2
=
productPBean
.
createAccountEvent
(
prod
,
bl
.
getQuantity
(),
user
,
bill
.
getSentDate
());
logger
.
info
(
"Created ac from product. {}, userproducts {}"
,
ac2
,
user
.
getAccountEvents
().
size
());
AccountEvent
ac2
=
productPBean
.
createAccountEvent
(
prod
,
bl
.
getQuantity
(),
user
,
bill
.
getSentDate
(),
bl
.
getFoodwave
());
logger
.
info
(
"Created ac from product. {}, userproducts {}"
,
ac2
,
user
.
getAccountEvents
().
size
());
ac2
.
setSeller
(
permbean
.
getCurrentUser
());
}
...
...
@@ -249,7 +253,9 @@ public class BillBean implements BillBeanLocal {
}
MailMessage
msg
=
new
MailMessage
();
msg
.
setSubject
(
I18n
.
get
(
"bill.billMarkedPaidMail.subject"
));
msg
.
setMessage
(
I18n
.
get
(
"bill.billMarkedPaidMail.message"
,
(
bill
.
getBillNumber
()
==
null
)
?
"----"
:
bill
.
getBillNumber
().
toString
()));
msg
.
setMessage
(
I18n
.
get
(
"bill.billMarkedPaidMail.message"
,
(
bill
.
getBillNumber
()
==
null
)
?
"----"
:
bill
.
getBillNumber
()
.
toString
()));
msg
.
setTo
(
bill
.
getUser
().
getUser
());
utilbean
.
sendMail
(
msg
);
eventUserFacade
.
flush
();
...
...
@@ -259,9 +265,13 @@ public class BillBean implements BillBeanLocal {
@Override
@RolesAllowed
({
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_WRITE_ALL
})
public
void
createBill
(
Bill
bill
)
{
if
(!
permbean
.
isCurrentUser
(
bill
.
getUser
())
&&
!
permbean
.
hasPermission
(
BillPermission
.
WRITE_ALL
))
{
loggingBean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
permbean
.
getCurrentUser
(),
"Not enought rights to create bill for user "
);
throw
new
EJBAccessException
(
"Could not create bill for another user"
);
if
(!
permbean
.
isCurrentUser
(
bill
.
getUser
())
&&
!
permbean
.
hasPermission
(
BillPermission
.
WRITE_ALL
))
{
loggingBean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
permbean
.
getCurrentUser
(),
"Not enought rights to create bill for user "
);
throw
new
EJBAccessException
(
"Could not create bill for another user"
);
}
billFacade
.
create
(
bill
);
generateBillNumber
(
bill
);
...
...
@@ -275,9 +285,13 @@ public class BillBean implements BillBeanLocal {
@Override
@RolesAllowed
({
BillPermission
.
S_VIEW_OWN
,
BillPermission
.
S_READ_ALL
})
public
List
<
Bill
>
find
(
EventUser
user
)
{
if
(!
permbean
.
isCurrentUser
(
user
)
&&
!
permbean
.
hasPermission
(
BillPermission
.
READ_ALL
))
{
loggingBean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
permbean
.
getCurrentUser
(),
"Not enought rights to get bill list for user "
);
throw
new
EJBAccessException
(
"Could not list bills for another user"
);
if
(!
permbean
.
isCurrentUser
(
user
)
&&
!
permbean
.
hasPermission
(
BillPermission
.
READ_ALL
))
{
loggingBean
.
logMessage
(
SecurityLogType
.
permissionDenied
,
permbean
.
getCurrentUser
(),
"Not enought rights to get bill list for user "
);
throw
new
EJBAccessException
(
"Could not list bills for another user"
);
}
return
billFacade
.
find
(
user
);
}
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ProductPBean.java
View file @
ee917ef
...
...
@@ -18,6 +18,7 @@ import fi.insomnia.bortal.model.AccountEvent;
import
fi.insomnia.bortal.model.Discount
;
import
fi.insomnia.bortal.model.DiscountInstance
;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.FoodWave
;
import
fi.insomnia.bortal.model.Product
;
/**
...
...
@@ -31,7 +32,8 @@ public class ProductPBean {
private
PermissionBean
permbean
;
@EJB
private
AccountEventFacade
accounteventfacade
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ProductPBean
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
ProductPBean
.
class
);
/**
* Default constructor.
...
...
@@ -40,6 +42,11 @@ public class ProductPBean {
// TODO Auto-generated constructor stub
}
public
AccountEvent
createAccountEvent
(
Product
product
,
BigDecimal
quantity
,
EventUser
user
,
Calendar
date
)
{
return
this
.
createAccountEvent
(
product
,
quantity
,
user
,
date
,
null
);
}
/**
* Creates new AccountEvent from provided product to provided user <br>
* <strong>Notice</strong>, that this function expects the user parameter to
...
...
@@ -56,11 +63,13 @@ public class ProductPBean {
* AccountEvent creation time
* @return The created AccountEvent entity
*/
public
AccountEvent
createAccountEvent
(
Product
product
,
BigDecimal
quantity
,
EventUser
user
,
Calendar
date
)
{
public
AccountEvent
createAccountEvent
(
Product
product
,
BigDecimal
quantity
,
EventUser
user
,
Calendar
date
,
FoodWave
foodwave
)
{
if
(!
product
.
getEvent
().
equals
(
user
.
getEvent
()))
{
throw
new
EJBException
(
"Trying to create accountevent for different event in user and product"
);
if
(!
product
.
getEvent
().
equals
(
user
.
getEvent
()))
{
throw
new
EJBException
(
"Trying to create accountevent for different event in user and product"
);
}
BigDecimal
unitPrice
=
product
.
getPrice
().
negate
();
...
...
@@ -69,11 +78,16 @@ public class ProductPBean {
unitPrice
=
unitPrice
.
multiply
(
d
.
getPercentage
());
}
AccountEvent
ret
=
new
AccountEvent
(
user
,
product
,
unitPrice
,
quantity
,
Calendar
.
getInstance
());
AccountEvent
ret
=
new
AccountEvent
(
user
,
product
,
unitPrice
,
quantity
,
Calendar
.
getInstance
());
ret
.
setDelivered
(
Calendar
.
getInstance
());
ret
.
setSeller
(
permbean
.
getCurrentUser
());
if
(
foodwave
!=
null
)
{
ret
.
setFoodWave
(
foodwave
);
}
List
<
DiscountInstance
>
accEventdiscounts
=
ret
.
getDiscountInstances
();
for
(
Discount
d
:
discounts
)
{
// discountsArray.add(discInst);
...
...
code/LanBortalDatabase/src/fi/insomnia/bortal/model/FoodWaveTemplate.java
View file @
ee917ef
...
...
@@ -14,6 +14,7 @@ import javax.persistence.Lob;
import
javax.persistence.ManyToMany
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.OneToMany
;
import
javax.persistence.OrderBy
;
import
javax.persistence.Table
;
import
org.eclipse.persistence.annotations.OptimisticLocking
;
...
...
@@ -45,6 +46,7 @@ public class FoodWaveTemplate extends GenericEntity {
private
List
<
Product
>
products
;
@OneToMany
(
mappedBy
=
"template"
)
@OrderBy
(
value
=
"time"
)
private
List
<
FoodWave
>
foodwaves
;
public
FoodWaveTemplate
()
{
...
...
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
View file @
ee917ef
...
...
@@ -2,7 +2,7 @@
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:products=
"http://java.sun.com/jsf/composite/cditools/products"
xmlns:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
>
xmlns:products=
"http://java.sun.com/jsf/composite/cditools/products"
xmlns:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:p=
"http://primefaces.org/ui"
>
<h:body>
<ui:composition
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<f:metadata>
...
...
@@ -15,12 +15,47 @@
<ui:define
name=
"content"
>
<h:form>
<p:wizard>
<p:tab
id=
"basicinfo"
title=
"#{i18n['foodwavetemplate.basicinfo']}"
>
<h:panelGrid
columns=
"3"
>
<h:outputLabel
for=
"name"
value=
"#{i18n['foodwavetemplate.name']}"
/>
<h:inputText
id=
"name"
value=
"#{foodWaveView.template.name}"
/>
<h:message
for=
"name"
/>
<h:outputLabel
for=
"description"
value=
"#{i18n['foodwavetemplate.description']}"
/>
<h:inputText
id=
"description"
value=
"#{foodWaveView.template.description}"
/>
<h:message
for=
"description"
/>
</h:panelGrid>
</p:tab>
<p:tab
id=
"selectproducts"
title=
"#{i18n['foodwavetemplate.selectproducts']}"
>
<h:messages
/>
<h:panelGrid
columns=
"4"
>
<h:outputText
value=
"#{i18n['foodwavetemplate.productname']}"
/>
<h:outputText
value=
"#{i18n['foodwavetemplate.productdescription']}"
/>
<h:outputText
value=
"#{i18n['foodwavetemplate.price']}"
/>
<h:outputText
value=
" "
/>
<h:inputText
id=
"productname"
value=
"#{foodWaveView.currentProduct.name}"
/>
<h:inputText
id=
"productdescription"
value=
"#{foodWaveView.currentProduct.name}"
/>
<h:inputText
id=
"price"
value=
"#{foodWaveView.currentProduct.price}"
/>
<p:commandButton
value=
"#{i18n['foodwavetemplate.addproduct']}"
actionListener=
"#{foodWaveView.addProductToTemplate}"
update=
"productTable"
/>
</h:panelGrid>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foowavetemplate.create']}"
/>
<p:dataTable
name=
"productTable"
id=
"productTable"
value=
"#{foodWaveView.template.products}"
var=
"product"
>
<p:column
headerText=
"#{i18n['foodwavetemplate.productname']}"
>
<h:outputText
value=
"#{product.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.productdescription']}"
>
<h:outputText
value=
"#{product.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.price']}"
>
<h:outputText
value=
"#{product.price}"
/>
</p:column>
</p:dataTable>
</p:tab>
</p:wizard>
</h:form>
...
...
code/LanBortalWeb/WebContent/foodwave/ThanksForOrderingFromCounter.xhtml
View file @
ee917ef
...
...
@@ -19,7 +19,6 @@
<ui:define
name=
"title"
>
<h1>
#{i18n['user.shop.title']}
</h1>
<users:usertabs
tabId=
"foodwave"
/>
</ui:define>
<ui:define
name=
"content"
>
Kiitoksia tilauksesta, muista käydä maksamassa tilaukset tiskillä.
...
...
code/LanBortalWeb/WebContent/foodwave/list.xhtml
View file @
ee917ef
...
...
@@ -19,7 +19,6 @@
<ui:define
name=
"title"
>
<h1>
#{i18n['user.shop.title']}
</h1>
<users:usertabs
tabId=
"foodwave"
/>
</ui:define>
<ui:define
name=
"content"
>
...
...
code/LanBortalWeb/WebContent/foodwave/listProducts.xhtml
View file @
ee917ef
...
...
@@ -20,7 +20,6 @@
<ui:define
name=
"title"
>
<h1>
#{i18n['user.foodwave.products.title']}
</h1>
<users:usertabs
tabId=
"foodwave"
/>
</ui:define>
<ui:define
name=
"content"
>
...
...
code/LanBortalWeb/WebContent/foodwave/listTemplates.xhtml
View file @
ee917ef
...
...
@@ -12,7 +12,6 @@
<ui:define
name=
"title"
>
<h1>
#{i18n['user.shop.title']}
</h1>
<users:usertabs
tabId=
"foodwave"
/>
</ui:define>
<ui:define
name=
"content"
>
...
...
code/LanBortalWeb/WebContent/user/create.xhtml
View file @
ee917ef
code/LanBortalWeb/WebContent/useradmin/create.xhtml
View file @
ee917ef
...
...
@@ -12,7 +12,7 @@
</f:metadata>
<ui:param
name=
"thispage"
value=
"page.user.create"
/>
<ui:define
name=
"content"
>
<users:create
creating=
"true"
commitaction=
"#{userView.createUser()}"
commitvalue=
"#{i18n['user.create']}"
/>
<users:create
creating=
"true"
commitaction=
"#{userView.create
Admin
User()}"
commitvalue=
"#{i18n['user.create']}"
/>
</ui:define>
</ui:composition>
...
...
code/LanBortalWeb/WebContent/useradmin/list.xhtml
View file @
ee917ef
...
...
@@ -49,7 +49,7 @@
<div
id=
"usercart"
style=
"display: #{((userCartView.isEmpty())?'none':'block')};"
>
<h:outputText
value=
"#{i18n['usercart.cartsize']}"
/>
<h:outputText
value=
" #{userCartView.userCartSize}"
/>
<h:commandButton
action=
"#{userCartView.clearCart}"
value=
"#{i18n['usercart.clear']}"
/>
<h:commandButton
action=
"#{userCartView.clearCart
()
}"
value=
"#{i18n['usercart.clear']}"
/>
<br
/>
<h:commandButton
actionListener=
"#{userSearchView.addToCart}"
value=
"#{i18n['usercart.addSearcherUsers']}"
/>
<h:commandButton
action=
"#{userCartView.traverse}"
value=
"#{i18n['usercart.traverse']}"
/>
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
View file @
ee917ef
...
...
@@ -77,6 +77,8 @@ billine.vat = VAT
bills.noBills
=
No bills
card.massprint.title
=
Print all
cardTemplate.create
=
Create
cardTemplate.edit
=
Edit
cardTemplate.id
=
Id
...
...
@@ -104,6 +106,7 @@ checkout.return.successMessage = Payment confirmed. Your products have been paid
compo.edit
=
Edit compo
compo.saveVotes
=
Save votes
compo.savesort
=
Save order
compo.votesSaved
=
Votes saved
compofile.download
=
Download
...
...
@@ -270,6 +273,13 @@ mapView.errorWhenReservingPlace = Error when reserving place!
mapView.errorWhileBuyingPlaces
=
Error when buying places. Please try again. If error reoccurs please contact organizers.
mapView.notEnoughCreditsToReserve
=
You don't have enough credits to reserve this place.
menu.item
=
Item
menu.name
=
Name
menu.select
=
Select
menu.sort
=
Sort
menuitem.navigation.key
=
Product flag
nasty.user
=
Go away!
org.hibernate.validator.constraints.Email.message
=
not a well-formed email address
...
...
@@ -465,11 +475,14 @@ productshop.plusTen = +10
productshop.total
=
Total
reader.assocToCard
=
Associate to card
reader.automaticProduct
=
Default product
reader.automaticProductCount
=
Amount
reader.createNewCard
=
Create new card
reader.description
=
Description
reader.edit
=
Edit
reader.identification
=
Identification
reader.name
=
Reader name
reader.save
=
Save
reader.select
=
Select reader
reader.tag
=
Tag
reader.type
=
Type
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
View file @
ee917ef
...
...
@@ -75,6 +75,8 @@ billine.vat = ALV
bills.noBills
=
Ei laskuja
card.massprint.title
=
Tulosta kaikki
cardTemplate.create
=
Luo
cardTemplate.edit
=
Muokkaa
cardTemplate.id
=
Id
...
...
@@ -102,6 +104,7 @@ checkout.return.successMessage = Maksu vahvistettu. Tuotteet on maksettu ja voit
compo.edit
=
Muokkaa compoa
compo.saveVotes
=
Tallenna
\u
00E4
\u
00E4net
compo.savesort
=
Tallenna j
\u
00E4rjestys
compo.votesSaved
=
\u
00C4
\u
00E4net tallennettu
compofile.download
=
lataa
...
...
@@ -278,9 +281,12 @@ mapView.errorWhileBuyingPlaces = Virhe paikkojen ostossa. Ole hyv\u00E4 ja yr
mapView.notEnoughCreditsToReserve
=
Sinulla ei ole riitt
\u
00E4v
\u
00E4sti suoritettuja konepaikkamaksuja t
\u
00E4m
\u
00E4n paikan varaamiseen.
menu.index
=
Etusivu
menu.name
=
Nimi
menu.place.placemap
=
Paikkakartta
menu.poll.index
=
Kyselyt
menu.select
=
Valitse
menu.shop.createBill
=
Kauppa
menu.sort
=
J
\u
00E4rjest
\u
00E4
menu.user.edit
=
Omat tiedot
news.abstract
=
Lyhennelm
\u
00E4
...
...
@@ -453,11 +459,14 @@ productshop.plusTen = +10
productshop.total
=
Yhteens
\u
00E4
reader.assocToCard
=
Yhdist
\u
00E4 korttiin
reader.automaticProduct
=
Oletustuote
reader.automaticProductCount
=
M
\u
00E4
\u
00E4r
\u
00E4
reader.createNewCard
=
Luo uusi kortti
reader.description
=
Kuvaus
reader.edit
=
Muokkaa
reader.identification
=
Tunniste
reader.name
=
Lukijan nimi
reader.save
=
Tallenna
reader.select
=
Valitse lukija
reader.tag
=
Tag
reader.type
=
Tyyppi
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodShopView.java
View file @
ee917ef
...
...
@@ -26,6 +26,7 @@ public class FoodShopView extends GenericCDIView {
private
static
final
long
serialVersionUID
=
1288114954999406683L
;
@Inject
@SelectedUser
private
EventUser
user
;
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveView.java
View file @
ee917ef
package
fi
.
insomnia
.
bortal
.
web
.
cdiview
.
shop
;
import
java.util.ArrayList
;
import
java.util.TreeSet
;
import
java.util.Vector
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.faces.model.ListDataModel
;
...
...
@@ -11,6 +15,8 @@ import fi.insomnia.bortal.beans.FoodWaveBeanLocal;
import
fi.insomnia.bortal.enums.apps.ShopPermission
;
import
fi.insomnia.bortal.model.FoodWave
;
import
fi.insomnia.bortal.model.FoodWaveTemplate
;
import
fi.insomnia.bortal.model.Product
;
import
fi.insomnia.bortal.model.ProductFlag
;
import
fi.insomnia.bortal.web.cdiview.GenericCDIView
;
@Named
...
...
@@ -34,6 +40,8 @@ public class FoodWaveView extends GenericCDIView {
private
FoodWave
selectedFoodWave
=
null
;
private
Product
currentProduct
;
public
void
initTemplateList
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
LIST_USERPRODUCTS
))
{
...
...
@@ -59,11 +67,36 @@ public class FoodWaveView extends GenericCDIView {
if
(
super
.
requirePermissions
(
ShopPermission
.
MANAGE_PRODUCTS
)
&&
template
==
null
)
{
template
=
new
FoodWaveTemplate
();
template
.
setProducts
(
new
ArrayList
<
Product
>());
template
.
setEvent
(
eventbean
.
getCurrentEvent
());
createNewProductSkeleton
();
super
.
beginConversation
();
}
}
private
void
createNewProductSkeleton
()
{
TreeSet
<
ProductFlag
>
ts
=
new
TreeSet
<
ProductFlag
>();
ts
.
add
(
ProductFlag
.
PREPAID_INSTANT_CREATE
);
currentProduct
=
new
Product
();
currentProduct
.
setProductFlags
(
ts
);
}
public
void
addProductToTemplate
()
{
template
.
getProducts
().
add
(
currentProduct
);
createNewProductSkeleton
();
}
public
Product
getCurrentProduct
()
{
return
currentProduct
;
}
public
void
setCurrentProduct
(
Product
currentProduct
)
{
this
.
currentProduct
=
currentProduct
;
}
public
void
initUserFoodWaveList
()
{
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getOpenFoodWaves
());
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserCartView.java
View file @
ee917ef
...
...
@@ -69,7 +69,8 @@ public class UserCartView extends GenericCDIView {
updateCurrent
();
return
"/useradmin/userCartShow"
;
}
else
return
"/useradmin/list"
;
else
return
"/useradmin/list"
;
}
public
String
saveUser
()
{
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserValidator.java
View file @
ee917ef
...
...
@@ -14,7 +14,9 @@ import javax.inject.Named;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.beans.PermissionBeanLocal
;
import
fi.insomnia.bortal.beans.UserBeanLocal
;
import
fi.insomnia.bortal.enums.apps.UserPermission
;
import
fi.insomnia.bortal.utilities.I18n
;
@Named
...
...
@@ -29,12 +31,15 @@ public class UserValidator implements Serializable {
private
static
final
Integer
PASSWORD_MIN_LENGTH
=
8
;
@EJB
private
transient
UserBeanLocal
userbean
;
@EJB
private
transient
PermissionBeanLocal
permbean
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
UserValidator
.
class
);
public
void
validateEmail
(
FacesContext
context
,
UIComponent
ui
,
Object
value
)
{
String
email
=
(
String
)
value
;
if
(
email
.
indexOf
(
'@'
)
==
-
1
)
{
if
(
!
permbean
.
hasPermission
(
UserPermission
.
MODIFY
)
&&
(
email
==
null
||
email
.
indexOf
(
'@'
)
==
-
1
)
)
{
message
(
context
,
ui
,
"userview.invalidEmail"
);
}
}
...
...
@@ -53,6 +58,8 @@ public class UserValidator implements Serializable {
public
void
password
(
FacesContext
context
,
UIComponent
ui
,
Object
object
)
{
logger
.
info
(
"Executing pwd, firstpwd {}"
,
firstpwd
);
if
(!
permbean
.
hasPermission
(
UserPermission
.
MODIFY
))
{
if
(
object
==
null
)
{
message
(
context
,
ui
,
"user.passwordlengthMessage"
);
return
;
...
...
@@ -65,10 +72,12 @@ public class UserValidator implements Serializable {
logger
.
info
(
"Setting firstpwd to {} as {}"
,
firstpwd
,
object
.
getClass
());
return
;
}
logger
.
info
(
"Checking length"
);
if
(!
firstpwd
.
equals
(
object
))
{
message
(
context
,
ui
,
"userview.passwordsDontMatch"
);
}
}
logger
.
info
(
"Done pwd"
);
}
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserView.java
View file @
ee917ef
...
...
@@ -142,8 +142,8 @@ public class UserView extends GenericCDIView {
// user = userbean.getEventUser(img.getUser());
// croppedImage = null;
if
(
croppedImage
==
null
)
return
null
;
if
(
croppedImage
==
null
)
return
null
;
logger
.
info
(
"Cropped image {}x{}"
,
croppedImage
.
getLeft
(),
croppedImage
.
getTop
());
logger
.
info
(
"Cropped data bytesize {}, type {}"
,
croppedImage
.
getBytes
().
length
,
croppedImage
.
getOriginalFilename
());
...
...
@@ -166,18 +166,18 @@ public class UserView extends GenericCDIView {
try
{
mpr
=
cardPrintBean
.
getUserCardAsPrintablePdf
(
this
.
user
.
getId
());
file
=
File
.
createTempFile
(
"cardprintout"
,
null
);
file
=
File
.
createTempFile
(
"cardprintout"
,
null
);
FileOutputStream
fostream
=
new
FileOutputStream
(
file
);
fostream
.
write
(
mpr
.
getPdf
());
fostream
.
close
();
setStreamedFile
(
new
DefaultStreamedContent
(
new
FileInputStream
(
this
.
file
)));
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
FacesContext
.
getCurrentInstance
().
addMessage
(
null
,
new
FacesMessage
(
e
.
getMessage
()));
}
}
public
String
acceptPrintedCard
()
{
if
(
mpr
!=
null
&&
mpr
.
getAffectedUsers
().
size
()
>
0
)
{
if
(
mpr
!=
null
&&
mpr
.
getAffectedUsers
().
size
()
>
0
)
{
cardPrintBean
.
acceptMassPrintResult
(
mpr
);
return
"accepted"
;
}
else
{
...
...
@@ -290,6 +290,12 @@ public class UserView extends GenericCDIView {
return
"/user/created"
;
}
public
String
createAdminUser
()
{
userbean
.
createNewUser
(
user
,
getPassword
());
canSave
=
permbean
.
hasPermission
(
UserPermission
.
MODIFY
);
return
"/useradmin/edit"
;
}
public
void
setUserid
(
Integer
userid
)
{
this
.
userid
=
userid
;
}
...
...
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