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 7e22d2bb
authored
Oct 26, 2012
by
Antti Tönkyrä
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of codecrew.fi:bortal
2 parents
31fdc4a0
a62b9c85
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
443 additions
and
298 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/FoodWaveBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PermissionBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PlaceBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ProductPBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/RoleBean.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/FoodWaveBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/RoleBeanLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/BillLine.java
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/MapPermission.java
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/ShopPermission.java
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
code/LanBortalWeb/WebContent/foodadmin/editTemplate.xhtml
code/LanBortalWeb/WebContent/foodadmin/listTemplates.xhtml
code/LanBortalWeb/WebContent/foodmanager/listOrders.xhtml
code/LanBortalWeb/WebContent/foodwave/list.xhtml
code/LanBortalWeb/WebContent/foodwave/listTemplates.xhtml
code/LanBortalWeb/WebContent/resources/cditools/foodwave/listTemplates.xhtml
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveFoodView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/FoodWaveBean.java
View file @
7e22d2b
package
fi
.
insomnia
.
bortal
.
beans
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.annotation.security.DeclareRoles
;
...
...
@@ -11,14 +12,16 @@ import sun.reflect.generics.reflectiveObjects.NotImplementedException;
import
fi.insomnia.bortal.enums.apps.ShopPermission
;
import
fi.insomnia.bortal.facade.FoodWaveFacade
;
import
fi.insomnia.bortal.facade.FoodWaveTemplateFacade
;
import
fi.insomnia.bortal.facade.ProductFacade
;
import
fi.insomnia.bortal.model.FoodWave
;
import
fi.insomnia.bortal.model.FoodWaveTemplate
;
import
fi.insomnia.bortal.model.Product
;
/**
* Session Bean implementation class FoodWaveBean
*/
@Stateless
@DeclareRoles
(
ShopPermission
.
S_MANAGE_PRODUCTS
)
@DeclareRoles
(
{
ShopPermission
.
S_MANAGE_PRODUCTS
,
ShopPermission
.
S_SHOP_FOODWAVE
,
ShopPermission
.
S_MANAGE_FOODWAVES
}
)
public
class
FoodWaveBean
implements
FoodWaveBeanLocal
{
@EJB
...
...
@@ -26,6 +29,8 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
@EJB
private
FoodWaveFacade
foodWaveFacade
;
@EJB
private
ProductFacade
productfacade
;
@Override
@RolesAllowed
(
ShopPermission
.
S_MANAGE_PRODUCTS
)
...
...
@@ -38,7 +43,7 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
public
void
createFoodWave
(
FoodWave
fw
)
{
foodWaveFacade
.
create
(
fw
);
}
@Override
@RolesAllowed
(
ShopPermission
.
S_MANAGE_PRODUCTS
)
public
FoodWaveTemplate
saveOrCreateTemplate
(
FoodWaveTemplate
template
)
{
...
...
@@ -57,11 +62,12 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
}
@Override
@RolesAllowed
(
"SHOP/READ"
)
@RolesAllowed
(
ShopPermission
.
S_SHOP_FOODWAVE
)
public
List
<
FoodWave
>
getOpenFoodWaves
()
{
return
foodWaveFacade
.
getOpenFoodWaves
();
}
@RolesAllowed
({
ShopPermission
.
S_SHOP_FOODWAVE
,
ShopPermission
.
S_MANAGE_FOODWAVES
})
public
FoodWave
findFoodwave
(
Integer
foodwaveId
)
{
return
foodWaveFacade
.
find
(
foodwaveId
);
}
...
...
@@ -81,10 +87,34 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
public
FoodWaveTemplate
findTemplate
(
Integer
templateId
)
{
return
fwtFacade
.
find
(
templateId
);
}
@Override
public
List
<
FoodWave
>
getEventFoodWaves
()
{
return
foodWaveFacade
.
getEventFoodWaves
();
}
@Override
@RolesAllowed
(
ShopPermission
.
S_MANAGE_FOODWAVES
)
public
FoodWaveTemplate
addProductToTemplate
(
FoodWaveTemplate
template
,
Product
product
)
{
template
=
fwtFacade
.
reload
(
template
);
if
(
product
.
getId
()
==
null
)
{
productfacade
.
create
(
product
);
}
else
{
product
=
productfacade
.
reload
(
product
);
}
if
(
product
.
getFoodWaveTemplates
()
==
null
)
{
product
.
setFoodWaveTemplates
(
new
ArrayList
<
FoodWaveTemplate
>());
}
if
(
template
.
getProducts
()
==
null
)
{
template
.
setProducts
(
new
ArrayList
<
Product
>());
}
template
.
getProducts
().
add
(
product
);
product
.
getFoodWaveTemplates
().
add
(
template
);
return
template
;
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PermissionBean.java
View file @
7e22d2b
...
...
@@ -51,6 +51,7 @@ import fi.insomnia.bortal.model.User;
MapPermission
.
S_MANAGE_MAPS
,
MapPermission
.
S_MANAGE_OTHERS
,
MapPermission
.
S_BUY_PLACES
,
MapPermission
.
S_RELEASE_PLACE
,
ShopPermission
.
S_LIST_ALL_PRODUCTS
,
ShopPermission
.
S_LIST_USERPRODUCTS
,
...
...
@@ -58,6 +59,7 @@ import fi.insomnia.bortal.model.User;
ShopPermission
.
S_MANAGE_PRODUCTS
,
ShopPermission
.
S_SHOP_PRODUCTS
,
ShopPermission
.
S_SHOP_FOODWAVE
,
ShopPermission
.
S_MANAGE_FOODWAVES
,
BillPermission
.
S_CREATE_BILL
,
BillPermission
.
S_READ_ALL
,
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PlaceBean.java
View file @
7e22d2b
...
...
@@ -459,7 +459,7 @@ public class PlaceBean implements PlaceBeanLocal {
* @return true when successfull, on any erroro false.
*/
@Override
@RolesAllowed
(
MapPermission
.
S_BUY_PLACES
)
@RolesAllowed
(
{
MapPermission
.
S_RELEASE_PLACE
,
MapPermission
.
S_MANAGE_OTHERS
}
)
public
boolean
releasePlace
(
Place
place
)
{
place
=
placeFacade
.
find
(
place
.
getId
());
EventUser
user
=
permbean
.
getCurrentUser
();
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ProductPBean.java
View file @
7e22d2b
...
...
@@ -86,6 +86,10 @@ public class ProductPBean {
if
(
foodwave
!=
null
)
{
ret
.
setFoodWave
(
foodwave
);
if
(
foodwave
.
getAccountEvents
()
==
null
)
{
foodwave
.
setAccountEvents
(
new
ArrayList
<
AccountEvent
>());
}
foodwave
.
getAccountEvents
().
add
(
ret
);
}
List
<
DiscountInstance
>
accEventdiscounts
=
ret
.
getDiscountInstances
();
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/RoleBean.java
View file @
7e22d2b
...
...
@@ -39,10 +39,10 @@ public class RoleBean implements RoleBeanLocal {
// private static final String PUBLIC_ROLE_NAME =
// BeanRole.ANONYMOUS.toString();
@SuppressWarnings
(
"unused"
)
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
RoleBean
.
class
);
@Resource
private
SessionContext
sc
;
@EJB
...
...
@@ -172,12 +172,6 @@ public class RoleBean implements RoleBeanLocal {
}
@Override
@RolesAllowed
(
UserPermission
.
S_READ_ROLES
)
public
List
<
Role
>
getRoles
(
EventUser
user
)
{
return
roleFacade
.
findForUser
(
user
);
}
@Override
@RolesAllowed
(
UserPermission
.
S_WRITE_ROLES
)
public
void
saveRoles
(
EventUser
usr
,
List
<
Role
>
usersRoles
)
{
...
...
@@ -193,4 +187,10 @@ public class RoleBean implements RoleBeanLocal {
}
}
}
@Override
@RolesAllowed
(
UserPermission
.
S_READ_ROLES
)
public
List
<
Role
>
getRoles
(
EventUser
selectedUser
)
{
return
roleFacade
.
findForUser
(
selectedUser
);
}
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/FoodWaveBeanLocal.java
View file @
7e22d2b
...
...
@@ -6,6 +6,7 @@ import javax.ejb.Local;
import
fi.insomnia.bortal.model.FoodWave
;
import
fi.insomnia.bortal.model.FoodWaveTemplate
;
import
fi.insomnia.bortal.model.Product
;
@Local
public
interface
FoodWaveBeanLocal
{
...
...
@@ -29,4 +30,6 @@ public interface FoodWaveBeanLocal {
public
List
<
FoodWave
>
getEventFoodWaves
();
public
void
createFoodWave
(
FoodWave
fw
);
FoodWaveTemplate
addProductToTemplate
(
FoodWaveTemplate
template
,
Product
currentProduct
);
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/RoleBeanLocal.java
View file @
7e22d2b
...
...
@@ -34,6 +34,6 @@ public interface RoleBeanLocal {
public
void
saveRoles
(
EventUser
usr
,
List
<
Role
>
usersRoles
);
List
<
Role
>
getRoles
(
EventUser
u
ser
);
public
List
<
Role
>
getRoles
(
EventUser
selectedU
ser
);
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/BillLine.java
View file @
7e22d2b
...
...
@@ -117,6 +117,8 @@ public class BillLine extends GenericEntity {
this
.
setUnitPrice
(
product
.
getPrice
().
abs
());
this
.
setVat
(
product
.
getVat
());
this
.
setFoodwave
(
foodwave
);
}
...
...
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/MapPermission.java
View file @
7e22d2b
...
...
@@ -6,7 +6,7 @@ public enum MapPermission implements IAppPermission {
MANAGE_OTHERS
,
// ("Manage other users reservations in map"),
BUY_PLACES
,
// ("Reserve and buy places from map"),
VIEW
,
// ("View maps"),
MANAGE_MAPS
,
// ("Create and modify maps")
MANAGE_MAPS
,
RELEASE_PLACE
,
// ("Create and modify maps")
;
...
...
@@ -14,7 +14,7 @@ public enum MapPermission implements IAppPermission {
public
static
final
String
S_BUY_PLACES
=
"MAP/BUY_PLACES"
;
public
static
final
String
S_VIEW
=
"MAP/VIEW"
;
public
static
final
String
S_MANAGE_MAPS
=
"MAP/MANAGE_MAPS"
;
public
static
final
String
S_RELEASE_PLACE
=
"MAP/RELEASE_PLACE"
;
private
final
String
fullName
;
private
final
String
key
;
private
static
final
String
I18N_HEADER
=
"bortalApplication.map."
;
...
...
code/LanBortalUtilities/src/fi/insomnia/bortal/enums/apps/ShopPermission.java
View file @
7e22d2b
...
...
@@ -10,6 +10,7 @@ public enum ShopPermission implements IAppPermission {
SHOP_PRODUCTS
,
// ("Shop products to self"),
MANAGE_PRODUCTS
,
// ("Create and modify products"),
SHOP_FOODWAVE
,
// Shop for food
MANAGE_FOODWAVES
,
;
...
...
@@ -19,6 +20,7 @@ public enum ShopPermission implements IAppPermission {
public
static
final
String
S_SHOP_PRODUCTS
=
"SHOP/SHOP_PRODUCTS"
;
public
static
final
String
S_MANAGE_PRODUCTS
=
"SHOP/MANAGE_PRODUCTS"
;
public
static
final
String
S_SHOP_FOODWAVE
=
"SHOP/SHOP_FOODWAVE"
;
public
static
final
String
S_MANAGE_FOODWAVES
=
"SHOP/MANAGE_FOODWAVES"
;
private
final
String
fullName
;
private
final
String
key
;
...
...
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
View file @
7e22d2b
...
...
@@ -23,101 +23,102 @@
<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}"
required=
"true"
requiredMessage=
"Name required"
/>
<h:message
for=
"name"
/>
<!-- <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}"
required=
"true"
requiredMessage=
"Name required"
/>
<h:message
for=
"name"
/>
<h:outputLabel
for=
"description"
value=
"#{i18n['foodwavetemplate.description']}"
/>
<h:inputText
id=
"description"
value=
"#{foodWaveView.template.description}"
required=
"true"
requiredMessage=
"Description required"
/>
<h:message
for=
"description"
/>
</h:panelGrid>
</p:tab>
<h:outputLabel
for=
"description"
value=
"#{i18n['foodwavetemplate.description']}"
/>
<h:inputText
id=
"description"
value=
"#{foodWaveView.template.description}"
required=
"true"
requiredMessage=
"Description required"
/>
<h:message
for=
"description"
/>
</h:panelGrid>
<!--
</p:tab>
<p:tab id="selectproducts"
title=
"#{i18n['foodwavetemplate.selectproducts']}"
>
<h:messages
/>
<h:panelGrid
columns=
"4"
>
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: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.description}"
/>
<h:inputText
id=
"price"
value=
"#{foodWaveView.currentProduct.price}"
/>
<h:inputText
id=
"productname"
value=
"#{foodWaveView.currentProduct.name}"
/>
<h:inputText
id=
"productdescription"
value=
"#{foodWaveView.currentProduct.description}"
/>
<h:inputText
id=
"price"
value=
"#{foodWaveView.currentProduct.price}"
/>
<p:commandButton
value=
"#{i18n['foodwavetemplate.addproduct']}"
actionListener=
"#{foodWaveView.addProductToTemplate}"
update=
"productTable"
/>
<p:commandButton
value=
"#{i18n['foodwavetemplate.addproduct']}"
actionListener=
"#{foodWaveView.addProductToTemplate}"
update=
"productTable"
/>
</h:panelGrid>
<p:dataTable
name=
"productTable"
id=
"productTable"
value=
"#{foodWaveView.template.products}"
var=
"product"
editable=
"true"
>
<p:column
headerText=
"#{i18n['foodwavetemplate.productname']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.name}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.name}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Name required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.productdescription']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.description}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.description}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Description required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.price']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.price}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.price}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Price required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.editRow']}"
style=
"width:20px"
>
<p:rowEditor
/>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.actions']}"
style=
"width:20px;"
>
<p:commandButton
value=
"#{i18n['foodwavetemplate.removeFromList']}"
action=
"#{foodWaveView.removeProductFromList(product)}"
update=
"productTable"
/>
</p:column>
</p:dataTable>
</h:panelGrid>
<p:dataTable
name=
"productTable"
id=
"productTable"
value=
"#{foodWaveView.template.products}"
var=
"product"
editable=
"true"
>
<p:column
headerText=
"#{i18n['foodwavetemplate.productname']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.name}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.name}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Name required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.productdescription']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.description}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.description}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Description required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.price']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.price}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.price}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Price required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.editRow']}"
style=
"width:20px"
>
<p:rowEditor
/>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.actions']}"
style=
"width:20px;"
>
<p:commandButton
value=
"#{i18n['foodwavetemplate.removeFromList']}"
action=
"#{foodWaveView.removeProductFromList(product)}"
update=
"productTable"
/>
</p:column>
</p:dataTable>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.savetemplate']}"
/>
</p:tab>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.savetemplate']}"
>
<f:param
value=
"#{foodWaveView.templateId}"
name=
"id"
/>
</h:commandButton>
>
<!-- </p:tab> -->
<
/p:wizard
>
<
!-- </p:wizard> --
>
</h:form>
...
...
code/LanBortalWeb/WebContent/foodadmin/editTemplate.xhtml
View file @
7e22d2b
<!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: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"
>
<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:p=
"http://primefaces.org/ui"
>
<h:body>
<ui:composition
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<ui:composition
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initEditTemplate()}"
/>
<f:viewParam
name=
"id"
value=
"#{foodWaveView.templateId}"
/>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initEditTemplate()}"
/>
</f:metadata>
<ui:define
name=
"title"
>
...
...
@@ -18,41 +26,130 @@
<h:form>
<p:panel
header=
"#{i18n['foodwavetemplate.edit']}"
>
<h:panelGrid
columns=
"3"
>
<h:outputLabel
for=
"name"
value=
"#{i18n['foodwavetemplate.name']}"
/>
<h:outputLabel
for=
"name"
value=
"#{i18n['foodwave.template.name']}"
/>
<h:inputText
id=
"name"
value=
"#{foodWaveView.template.name}"
/>
<h:message
for=
"name"
/>
<h:outputLabel
for=
"desc"
value=
"#{i18n['foodwavetemplate.description']}"
/>
<h:inputText
id=
"desc"
value=
"#{foodWaveView.template.description}"
/>
<h:outputLabel
for=
"desc"
value=
"#{i18n['foodwave.template.description']}"
/>
<h:inputText
id=
"desc"
value=
"#{foodWaveView.template.description}"
/>
<h:message
for=
"desc"
/>
<h:outputText
value=
" "
/>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.save']}"
/>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.save']}"
/>
</h:panelGrid>
<h:selectOneMenu
value=
"#{foodWaveView.currentProduct}"
converter=
"#{productConverter}"
>
<f:selectItems
value=
"#{foodWaveView.products}"
var=
"product"
itemLabel=
"#{product.name}"
></f:selectItems>
</h:selectOneMenu>
<p:commandButton
value=
"#{i18n['foodwavetemplate.addproduct']}"
actionListener=
"#{foodWaveView.addProductToTemplate}"
update=
"productTable"
/>
<!-- <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.description}" />
<h:inputText id="price"
value="#{foodWaveView.currentProduct.price}" />
<p:commandButton value="#{i18n['foodwavetemplate.addproduct']}"
actionListener="#{foodWaveView.addProductToTemplate}"
update="productTable" />
</h:panelGrid>
-->
<p:dataTable
name=
"productTable"
id=
"productTable"
value=
"#{foodWaveView.template.products}"
var=
"product"
editable=
"true"
>
<p:column
headerText=
"#{i18n['foodwavetemplate.productname']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.name}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.name}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Name required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.productdescription']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.description}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.description}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Description required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.price']}"
>
<p:cellEditor>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{product.price}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.price}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Price required"
/>
</f:facet>
</p:cellEditor>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.editRow']}"
style=
"width:20px"
>
<p:rowEditor
/>
</p:column>
<p:column
headerText=
"#{i18n['foodwavetemplate.actions']}"
style=
"width:20px;"
>
<p:commandButton
value=
"#{i18n['foodwavetemplate.removeFromList']}"
action=
"#{foodWaveView.removeProductFromList(product)}"
update=
"productTable"
/>
</p:column>
</p:dataTable>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.savetemplate']}"
/>
<!-- -->
</p:panel>
</h:form>
<h:form>
<p:panel
header=
"#{i18n['foodwavetemplate.createwave']}"
>
<h:panelGrid
columns=
"3"
>
<h:outputLabel
for=
"waveName"
value=
"#{i18n['foodwavetemplate.waveName']}"
/>
<h:inputText
id=
"waveName"
value=
"#{foodWaveView.selectedFoodWave.name}"
/>
<h:outputLabel
for=
"waveName"
value=
"#{i18n['foodwavetemplate.waveName']}"
/>
<h:inputText
id=
"waveName"
value=
"#{foodWaveView.selectedFoodWave.name}"
/>
<h:message
for=
"waveName"
/>
<h:outputLabel
for=
"waveMaxFoods"
value=
"#{i18n['foodwavetemplate.maxfoods']}"
/>
<h:inputText
id=
"waveMaxFoods"
value=
"#{foodWaveView.selectedFoodWave.maximumFoods}"
/>
<h:outputLabel
for=
"waveMaxFoods"
value=
"#{i18n['foodwavetemplate.maxfoods']}"
/>
<h:inputText
id=
"waveMaxFoods"
value=
"#{foodWaveView.selectedFoodWave.maximumFoods}"
/>
<h:message
for=
"waveMaxFoods"
/>
<h:outputLabel
for=
"startTime"
value=
"#{i18n['foodwavetemplate.startTime']}"
/>
<p:calendar
id=
"startTime"
value=
"#{foodWaveView.startDate}"
pattern=
"dd.MM.yyyy HH:mm"
/>
<h:outputLabel
for=
"startTime"
value=
"#{i18n['foodwavetemplate.startTime']}"
/>
<p:calendar
id=
"startTime"
value=
"#{foodWaveView.startDate}"
pattern=
"dd.MM.yyyy HH:mm"
/>
<h:message
for=
"startTime"
/>
</h:panelGrid>
<h:commandButton
action=
"#{foodWaveView.createFoodwave()}"
value=
"#{i18n['foodwavetemplate.createFoodwave']}"
/>
<h:commandButton
action=
"#{foodWaveView.createFoodwave()}"
value=
"#{i18n['foodwavetemplate.createFoodwave']}"
/>
</p:panel>
</h:form>
<ui:fragment>
</ui:fragment>
</ui:define>
</ui:composition>
</h:body>
...
...
code/LanBortalWeb/WebContent/foodadmin/listTemplates.xhtml
View file @
7e22d2b
...
...
@@ -23,7 +23,7 @@
<h:outputText
value=
"#{foodwaveTemplate.name}"
/>
</h:column>
<h:column>
<h:link
value=
"
LOL
"
outcome=
"/foodadmin/editTemplate"
>
<h:link
value=
"
#{i18n['foodadmin.editTemplate']}
"
outcome=
"/foodadmin/editTemplate"
>
<f:param
value=
"#{foodwaveTemplate.id}"
name=
"id"
/>
</h:link>
</h:column>
...
...
code/LanBortalWeb/WebContent/foodmanager/listOrders.xhtml
View file @
7e22d2b
...
...
@@ -6,8 +6,9 @@
<h:body>
<ui:composition
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initFoodwaveBillLineList}"
/>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initFoodwaveAccountEventList}"
/>
<f:viewParam
name=
"foodwaveid"
value=
"#{foodWaveView.foodWaveId}"
required=
"true"
/>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initFoodWaveOrderList}"
/>
<!-- <f:event type="preRenderView" listener="#{foodWaveView.initFoodwaveAccountEventList}" /> -->
</f:metadata>
<ui:define
name=
"title"
>
...
...
@@ -32,14 +33,14 @@
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.template.name}"
>
<f:param
name=
"foodwaveid"
value=
"#{
billLine.quantiny
}"
/>
<f:param
name=
"foodwaveid"
value=
"#{
foodWaveView.billLines.rowCount
}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['billLine.unitprice']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{
billLine.unit
price}"
>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{
foodWaveView.currentProduct.
price}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
...
...
@@ -47,18 +48,18 @@
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.unconfirmedOrders']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{food
wave.billLines.size()
}"
>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{food
WaveView.billLines.rowCount
}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
</h:column>
<!--
<h:column>
<f:facet name="header">
<h:outputText value="${i18n['foodWave.totalReserved']}" />
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{food
wave.reservedCount
}"
>
<h:link outcome="/foodmanager/listOrders" value="#{food
WaveView.currentProduct.totalreserved
}">
<f:param name="foodwaveid" value="#{foodwave.id}" />
</h:link>
</h:column>
</h:column>
-->
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.time']}"
/>
...
...
code/LanBortalWeb/WebContent/foodwave/list.xhtml
View file @
7e22d2b
...
...
@@ -13,12 +13,12 @@
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<f:metadata>
<f:viewParam
name=
"userid"
value=
"#{userView.userid}"
/>
<f:
event
type=
"preRenderView"
listener=
"#{foodWaveView.initTemplateList
}"
/>
<f:
viewParam
name=
"templateid"
value=
"#{foodWaveView.templateId}"
/>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initListFoodwaves
}"
/>
</f:metadata>
<ui:define
name=
"title"
>
<h1>
#{i18n['user.
shop
.title']}
</h1>
<h1>
#{i18n['user.
foodwavelist
.title']}
</h1>
</ui:define>
<ui:define
name=
"content"
>
...
...
@@ -36,7 +36,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.template
.
name']}"
/>
<h:outputText
value=
"${i18n['foodWave.templatename']}"
/>
</f:facet>
<h:link
outcome=
"/foodwave/listProducts"
value=
"#{foodwave.template.name}"
>
...
...
code/LanBortalWeb/WebContent/foodwave/listTemplates.xhtml
View file @
7e22d2b
...
...
@@ -15,9 +15,7 @@
</ui:define>
<ui:define
name=
"content"
>
<foodwave:listTemplates
selectaction=
"#{foodWaveView.selectTemplate}"
items=
"#{foodWaveView.templates}"
commitValue=
"#{i18n['food']}"
/>
<foodwave:listTemplates
outcome=
"/foodwave/list"
items=
"#{foodWaveView.templates}"
/>
</ui:define>
...
...
code/LanBortalWeb/WebContent/resources/cditools/foodwave/listTemplates.xhtml
View file @
7e22d2b
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:composite=
"http://java.sun.com/jsf/composite"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:tools=
"http://java.sun.com/jsf/composite/tools"
>
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:composite=
"http://java.sun.com/jsf/composite"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:tools=
"http://java.sun.com/jsf/composite/tools"
>
<composite:interface>
<composite:attribute
name=
"items"
required=
"true"
/>
<composite:attribute
name=
"selectaction"
method-signature=
"java.lang.String action()"
required=
"true"
/>
<composite:attribute
name=
"outcome"
required=
"true"
/>
</composite:interface>
<composite:implementation>
...
...
@@ -21,29 +15,26 @@
<!-- <h:outputScript target="head" library="script" name="shopscript.js" /> -->
<h:outputScript
library=
"primefaces"
name=
"jquery/jquery.js"
/>
<h:form>
<h:dataTable
columnClasses=
"nowrap,numalign,numalign,nowrap,numalign"
styleClass=
"bordertable"
id=
"billcart"
value=
"#{cc.attrs.items}"
var=
"template"
>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
id=
"name"
value=
"${i18n['foodWave.name']}"
/>
</f:facet>
<h:commandLink
action=
"#{cc.attrs.selectaction}"
value=
"#{template.name}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.description']}"
/>
</f:facet>
<h:outputText
id=
"description"
value=
"#{template.description}"
/>
</h:column>
</h:dataTable>
</h:form>
<h:dataTable
columnClasses=
"nowrap,numalign,numalign,nowrap,numalign"
styleClass=
"bordertable"
id=
"billcart"
value=
"#{cc.attrs.items}"
var=
"template"
>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
id=
"name"
value=
"${i18n['foodWave.name']}"
/>
</f:facet>
<h:link
outcome=
"#{cc.attrs.outcome}"
value=
"#{template.name}"
>
<f:param
name=
"templateid"
value=
"#{template.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.description']}"
/>
</f:facet>
<h:outputText
id=
"description"
value=
"#{template.description}"
/>
</h:column>
</h:dataTable>
</composite:implementation>
</html>
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveFoodView.java
View file @
7e22d2b
...
...
@@ -9,6 +9,9 @@ import javax.faces.model.ListDataModel;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.insomnia.bortal.beans.AccountEventBeanLocal
;
import
fi.insomnia.bortal.beans.BillBeanLocal
;
import
fi.insomnia.bortal.beans.EventBeanLocal
;
...
...
@@ -34,62 +37,54 @@ public class FoodWaveFoodView extends GenericCDIView {
@EJB
private
FoodWaveBeanLocal
foodWaveBean
;
@EJB
EventBeanLocal
eventBean
;
@EJB
private
AccountEventBeanLocal
accountEventBean
;
@EJB
private
BillBeanLocal
billBean
;
private
FoodWave
foodWave
=
null
;
@EJB
private
transient
ProductBeanLocal
productBean
;
@Inject
@SelectedUser
private
EventUser
user
;
@Inject
private
BillEditView
billEditView
;
private
Integer
foodwaveid
=
0
;
private
ListDataModel
<
Product
>
products
;
private
transient
ListDataModel
<
ProductShopItem
>
shoppingcart
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FoodWaveFoodView
.
class
);
public
void
initFoodWaveFoods
()
{
if
(
requirePermissions
(
ShopPermission
.
LIST_USERPRODUCTS
)
&&
getFoodwaveid
()
>
0
&&
getShoppingcart
()
==
null
)
{
setFoodWave
(
foodWaveBean
.
findFoodwave
(
getFoodwaveid
()));
setShoppingcart
(
new
ListDataModel
<
ProductShopItem
>(
ProductShopItem
.
productGTList
(
getFoodWave
().
getTemplate
().
getProducts
()
)));
System
.
out
.
println
(
"beginconversation"
);
if
(
requirePermissions
(
ShopPermission
.
LIST_USERPRODUCTS
)
&&
getFoodwaveid
()
>
0
&&
getShoppingcart
()
==
null
)
{
foodWave
=
foodWaveBean
.
findFoodwave
(
getFoodwaveid
());
logger
.
debug
(
"Foodwave {}"
,
foodWave
);
shoppingcart
=
new
ListDataModel
<
ProductShopItem
>(
ProductShopItem
.
productGTList
(
foodWave
.
getTemplate
().
getProducts
()));
this
.
beginConversation
();
//products = new ListDataModel<Product>(getFoodWave().getTemplate().getProducts());
}
}
public
ListDataModel
<
Product
>
getProducts
()
{
return
products
;
}
public
void
setProducts
(
ListDataModel
<
Product
>
products
)
{
this
.
products
=
products
;
}
public
Integer
getFoodwaveid
()
{
return
foodwaveid
;
}
...
...
@@ -109,10 +104,10 @@ public class FoodWaveFoodView extends GenericCDIView {
public
String
add
(
Integer
count
)
{
ProductShopItem
item
=
getShoppingcart
().
getRowData
();
item
.
setCount
(
item
.
getCount
().
add
(
BigDecimal
.
valueOf
(
count
)));
System
.
out
.
println
(
"foobar"
+
item
.
getCount
());
System
.
out
.
println
(
"foobar"
+
item
.
getCount
());
return
null
;
}
public
String
addOne
()
{
return
add
(
1
);
...
...
@@ -131,15 +126,13 @@ public class FoodWaveFoodView extends GenericCDIView {
return
ret
;
}
/**
* Just create bills, they are nice
* <insert picture of bill gates here>
/**
* Just create bills, they are nice <insert picture of bill gates here>
*
* @return
*/
public
Bill
createBillFromShoppingcart
()
{
Bill
bill
=
new
Bill
(
eventBean
.
getCurrentEvent
(),
user
);
bill
.
setOurReference
(
eventBean
.
getCurrentEvent
().
getName
());
...
...
@@ -152,26 +145,24 @@ public class FoodWaveFoodView extends GenericCDIView {
return
bill
;
}
public
String
buyFromCounter
()
{
createBillFromShoppingcart
();
return
"/foodwave/ThanksForOrderingFromCounter"
;
}
public
String
buyFromInternet
()
{
Bill
bill
=
createBillFromShoppingcart
();
if
(
bill
!=
null
)
{
if
(
bill
!=
null
)
{
getBillEditView
().
setBillid
(
bill
.
getId
());
return
"/bill/showBill?faces-redirect=true&IncludeViewParams=true"
;
}
return
null
;
}
public
void
setUser
(
EventUser
user
)
{
this
.
user
=
user
;
...
...
@@ -199,20 +190,12 @@ public class FoodWaveFoodView extends GenericCDIView {
return
false
;
}
public
BillEditView
getBillEditView
()
{
return
billEditView
;
}
public
void
setBillEditView
(
BillEditView
billEditView
)
{
this
.
billEditView
=
billEditView
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveView.java
View file @
7e22d2b
...
...
@@ -3,8 +3,8 @@ package fi.insomnia.bortal.web.cdiview.shop;
import
java.util.ArrayList
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.TreeSet
;
import
java.util.Vector
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
...
...
@@ -14,7 +14,10 @@ import javax.inject.Named;
import
fi.insomnia.bortal.beans.EventBeanLocal
;
import
fi.insomnia.bortal.beans.FoodWaveBeanLocal
;
import
fi.insomnia.bortal.beans.ProductBeanLocal
;
import
fi.insomnia.bortal.enums.apps.ShopPermission
;
import
fi.insomnia.bortal.model.AccountEvent
;
import
fi.insomnia.bortal.model.BillLine
;
import
fi.insomnia.bortal.model.FoodWave
;
import
fi.insomnia.bortal.model.FoodWaveTemplate
;
import
fi.insomnia.bortal.model.Product
;
...
...
@@ -32,26 +35,36 @@ public class FoodWaveView extends GenericCDIView {
@Inject
private
FoodWaveFoodView
foodWaveFoodView
;
private
ListDataModel
<
FoodWaveTemplate
>
templates
;
private
FoodWaveTemplate
template
;
private
Integer
templateId
;
@EJB
private
EventBeanLocal
eventbean
;
private
ListDataModel
<
FoodWave
>
foodWaves
;
@EJB
private
ProductBeanLocal
productbeanlocal
;
private
FoodWave
selectedFoodWave
=
null
;
private
Date
startDate
;
private
Product
currentProduct
;
private
ListDataModel
<
BillLine
>
billLines
;
private
Integer
foodWaveId
;
private
ListDataModel
<
AccountEvent
>
accountEventLines
;
private
List
<
FoodWave
>
foodWaves
;
public
List
<
Product
>
getProducts
()
{
return
productbeanlocal
.
getProducts
();
}
public
void
initTemplateList
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
LIST_USERPRODUCTS
))
{
super
.
requirePermissions
(
ShopPermission
.
SHOP_FOODWAVE
);
}
setTemplates
(
new
ListDataModel
<
FoodWaveTemplate
>(
foodWaveBean
.
getTemplates
()));
super
.
beginConversation
();
public
void
initFoodwaveManagerList
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
MANAGE_FOODWAVES
))
{
foodWaves
=
foodWaveBean
.
getEventFoodWaves
();
}
}
...
...
@@ -60,18 +73,34 @@ public class FoodWaveView extends GenericCDIView {
Calendar
c
=
Calendar
.
getInstance
();
c
.
setTime
(
startDate
);
selectedFoodWave
.
setTime
(
c
);
foodWaveBean
.
createFoodWave
(
selectedFoodWave
);
return
"/foodadmin/listTemplates"
;
// initFoodwaveManagerList();
return
"/foodmanager/listFoodwaves"
;
}
public
void
initListFoodwaves
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
SHOP_FOODWAVE
)
&&
template
==
null
)
{
if
(
templateId
!=
null
)
{
template
=
foodWaveBean
.
findTemplate
(
templateId
);
foodWaves
=
template
.
getFoodwaves
();
}
else
{
foodWaves
=
foodWaveBean
.
getOpenFoodWaves
();
}
super
.
beginConversation
();
}
}
public
void
initEditTemplate
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
MANAGE_PRODUCTS
)
&&
template
==
null
)
{
template
=
foodWaveBean
.
findTemplate
(
templateId
);
// prepare to make new foodwaves
selectedFoodWave
=
new
FoodWave
();
selectedFoodWave
.
setTemplate
(
template
);
super
.
beginConversation
();
...
...
@@ -85,27 +114,27 @@ public class FoodWaveView extends GenericCDIView {
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
);
currentProduct
.
setEvent
(
eventbean
.
getCurrentEvent
());
}
public
void
addProductToTemplate
()
{
template
.
getProducts
().
add
(
currentProduct
);
template
=
foodWaveBean
.
addProductToTemplate
(
template
,
currentProduct
);
createNewProductSkeleton
();
}
public
Product
getCurrentProduct
()
{
return
currentProduct
;
}
...
...
@@ -114,23 +143,33 @@ public class FoodWaveView extends GenericCDIView {
this
.
currentProduct
=
currentProduct
;
}
public
void
initUserFoodWaveList
()
{
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getOpenFoodWaves
());
}
public
void
initFoodwaveManagerList
()
{
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getEventFoodWaves
());
}
// public void initUserFoodWaveList() {
// this.foodWaves = new
// ListDataModel<FoodWave>(foodWaveBean.getOpenFoodWaves());
// }
//
// public void initFoodwaveManagerList() {
// this.foodWaves = new
// ListDataModel<FoodWave>(foodWaveBean.getEventFoodWaves());
// }
public
void
initFoodWaveOrderList
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
MANAGE_FOODWAVES
)
&&
selectedFoodWave
==
null
)
{
selectedFoodWave
=
foodWaveBean
.
findFoodwave
(
foodWaveId
);
billLines
=
new
ListDataModel
<
BillLine
>(
selectedFoodWave
.
getBillLines
());
this
.
accountEventLines
=
new
ListDataModel
<
AccountEvent
>(
selectedFoodWave
.
getAccountEvents
());
super
.
beginConversation
();
}
public
String
editTemplate
()
{
setTemplate
(
getTemplates
().
getRowData
());
return
"/foodadmin/editTemplate"
;
}
public
String
saveTemplate
()
{
setTemplate
(
foodWaveBean
.
saveOrCreateTemplate
(
getTemplate
()));
template
=
foodWaveBean
.
saveOrCreateTemplate
(
getTemplate
());
selectedFoodWave
=
new
FoodWave
();
selectedFoodWave
.
setTemplate
(
template
);
return
"/foodadmin/editTemplate"
;
}
...
...
@@ -142,34 +181,8 @@ public class FoodWaveView extends GenericCDIView {
this
.
template
=
template
;
}
public
ListDataModel
<
FoodWaveTemplate
>
getTemplates
()
{
return
templates
;
}
public
void
setTemplates
(
ListDataModel
<
FoodWaveTemplate
>
templates
)
{
this
.
templates
=
templates
;
}
public
ListDataModel
<
FoodWave
>
getFoodWaves
()
{
return
foodWaves
;
}
public
String
selectFoodWave
()
{
if
(
foodWaves
.
isRowAvailable
())
{
// setSelectedFoodWave(foodWaves.getRowData());
}
return
"/foodwave/listProducts"
;
}
public
String
selectTemplate
()
{
if
(
templates
.
isRowAvailable
())
{
foodWaves
=
new
ListDataModel
<
FoodWave
>(
templates
.
getRowData
()
.
getOrderableFoodwaves
());
}
return
"/foodwave/list"
;
public
List
<
FoodWaveTemplate
>
getTemplates
()
{
return
foodWaveBean
.
getTemplates
();
}
public
FoodWave
getSelectedFoodWave
()
{
...
...
@@ -180,14 +193,6 @@ public class FoodWaveView extends GenericCDIView {
this
.
selectedFoodWave
=
selectedFoodWave
;
}
private
FoodWaveFoodView
getFoodWaveFoodView
()
{
return
foodWaveFoodView
;
}
private
void
setFoodWaveFoodView
(
FoodWaveFoodView
foodWaveFoodView
)
{
this
.
foodWaveFoodView
=
foodWaveFoodView
;
}
public
Integer
getTemplateId
()
{
return
templateId
;
}
...
...
@@ -197,7 +202,7 @@ public class FoodWaveView extends GenericCDIView {
}
public
void
removeProductFromList
(
Product
product
)
{
template
.
getProducts
().
remove
(
product
);
}
...
...
@@ -208,4 +213,29 @@ public class FoodWaveView extends GenericCDIView {
public
void
setStartDate
(
Date
startDate
)
{
this
.
startDate
=
startDate
;
}
public
Integer
getFoodWaveId
()
{
return
foodWaveId
;
}
public
void
setFoodWaveId
(
Integer
foodWaveId
)
{
this
.
foodWaveId
=
foodWaveId
;
}
public
ListDataModel
<
BillLine
>
getBillLines
()
{
return
billLines
;
}
public
void
setBillLines
(
ListDataModel
<
BillLine
>
billLines
)
{
this
.
billLines
=
billLines
;
}
public
void
setFoodWaves
(
List
<
FoodWave
>
foodWaves
)
{
this
.
foodWaves
=
foodWaves
;
}
public
List
<
FoodWave
>
getFoodWaves
()
{
return
foodWaves
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/user/UserView.java
View file @
7e22d2b
...
...
@@ -130,6 +130,7 @@ public class UserView extends GenericCDIView {
usersRoles
=
rolebean
.
getRoles
(
getSelectedUser
());
}
return
usersRoles
;
}
public
String
crop
()
...
...
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