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 e246166f
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
a12193d8
87b7a565
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
244 additions
and
27 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/FoodWaveBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/FoodWaveFacade.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/FoodWaveBeanLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/FoodWave.java
code/LanBortalWeb/WebContent/WEB-INF/web.xml
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
code/LanBortalWeb/WebContent/foodmanager/listFoodwaves.xhtml
code/LanBortalWeb/WebContent/foodmanager/listOrders.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/FoodWaveView.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/FoodWaveBean.java
View file @
e246166
...
...
@@ -76,4 +76,9 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
return
fwtFacade
.
find
(
templateId
);
}
@Override
public
List
<
FoodWave
>
getEventFoodWaves
()
{
return
foodWaveFacade
.
getEventFoodWaves
();
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/FoodWaveFacade.java
View file @
e246166
...
...
@@ -22,22 +22,26 @@ public class FoodWaveFacade extends IntegerPkGenericFacade<FoodWave> {
@EJB
EventBeanLocal
eventBean
;
public
FoodWaveFacade
()
{
super
(
FoodWave
.
class
);
}
public
List
<
FoodWave
>
getEventFoodWaves
()
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
FoodWave
>
cq
=
cb
.
createQuery
(
FoodWave
.
class
);
Root
<
FoodWave
>
root
=
cq
.
from
(
FoodWave
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
FoodWave_
.
template
).
get
(
FoodWaveTemplate_
.
event
),
eventBean
.
getCurrentEvent
()));
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
FoodWave
>
getOpenFoodWaves
()
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
FoodWave
>
cq
=
cb
.
createQuery
(
FoodWave
.
class
);
Root
<
FoodWave
>
root
=
cq
.
from
(
FoodWave
.
class
);
cq
.
where
(
cb
.
greaterThan
(
root
.
get
(
FoodWave_
.
time
),
Calendar
.
getInstance
()),
cb
.
isFalse
(
root
.
get
(
FoodWave_
.
closed
)),
cb
.
equal
(
root
.
get
(
FoodWave_
.
template
).
get
(
FoodWaveTemplate_
.
event
),
eventBean
.
getCurrentEvent
())
);
cq
.
where
(
cb
.
greaterThan
(
root
.
get
(
FoodWave_
.
time
),
Calendar
.
getInstance
()),
cb
.
isFalse
(
root
.
get
(
FoodWave_
.
closed
)),
cb
.
equal
(
root
.
get
(
FoodWave_
.
template
).
get
(
FoodWaveTemplate_
.
event
),
eventBean
.
getCurrentEvent
()));
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
...
...
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/FoodWaveBeanLocal.java
View file @
e246166
...
...
@@ -25,4 +25,6 @@ public interface FoodWaveBeanLocal {
public
FoodWave
findFoodwave
(
Integer
foodwaveId
);
public
FoodWave
merge
(
FoodWave
foodWave
);
public
List
<
FoodWave
>
getEventFoodWaves
();
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/FoodWave.java
View file @
e246166
...
...
@@ -50,6 +50,9 @@ public class FoodWave extends GenericEntity {
@OneToMany
(
mappedBy
=
"foodWave"
)
private
List
<
AccountEvent
>
accountEvents
;
@OneToMany
(
mappedBy
=
"foodwave"
)
private
List
<
BillLine
>
billLines
;
@ManyToOne
@JoinColumn
(
name
=
"template_id"
,
referencedColumnName
=
"id"
,
nullable
=
false
)
private
FoodWaveTemplate
template
;
...
...
@@ -144,10 +147,30 @@ public class FoodWave extends GenericEntity {
return
true
;
}
public
List
<
BillLine
>
getBillLines
()
{
return
billLines
;
}
public
Integer
getMaximumFoods
()
{
return
maximumFoods
;
}
public
void
setBillLines
(
List
<
BillLine
>
billLines
)
{
this
.
billLines
=
billLines
;
}
public
int
getReservedCount
()
{
int
retval
=
0
;
if
(
getAccountEvents
()
!=
null
)
{
retval
+=
getAccountEvents
().
size
();
}
if
(
getBillLines
()
!=
null
)
{
retval
+=
getBillLines
().
size
();
}
return
retval
;
}
public
void
setMaximumFoods
(
Integer
maximumFoods
)
{
this
.
maximumFoods
=
maximumFoods
;
}
...
...
code/LanBortalWeb/WebContent/WEB-INF/web.xml
View file @
e246166
...
...
@@ -9,8 +9,8 @@
</session-config>
<context-param>
<param-name>
javax.faces.PROJECT_STAGE
</param-name>
<
param-value>
Production
</param-value
>
<
!--<param-value>Development</param-value>--
>
<
!-- <param-value>Production</param-value> --
>
<
param-value>
Development
</param-value
>
</context-param>
<context-param>
...
...
code/LanBortalWeb/WebContent/foodadmin/createTemplate.xhtml
View file @
e246166
...
...
@@ -28,14 +28,15 @@
<h:panelGrid
columns=
"3"
>
<h:outputLabel
for=
"name"
value=
"#{i18n['foodwavetemplate.name']}"
/>
<h:inputText
id=
"name"
required=
"true
"
value=
"#{foodWaveView.template.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"
required=
"true"
value=
"#{foodWaveView.template.description}"
/>
<h:inputText
id=
"description"
value=
"#{foodWaveView.template.description}"
required=
"true"
requiredMessage=
"Description required"
/>
<h:message
for=
"description"
/>
</h:panelGrid>
</p:tab>
...
...
@@ -50,11 +51,11 @@
<h:outputText
value=
"#{i18n['foodwavetemplate.price']}"
/>
<h:outputText
value=
" "
/>
<h:inputText
id=
"productname"
required=
"true"
<h:inputText
id=
"productname"
value=
"#{foodWaveView.currentProduct.name}"
/>
<h:inputText
id=
"productdescription"
required=
"true"
<h:inputText
id=
"productdescription"
value=
"#{foodWaveView.currentProduct.description}"
/>
<h:inputText
id=
"price"
required=
"true"
<h:inputText
id=
"price"
value=
"#{foodWaveView.currentProduct.price}"
/>
<p:commandButton
value=
"#{i18n['foodwavetemplate.addproduct']}"
...
...
@@ -62,14 +63,17 @@
update=
"productTable"
/>
</h:panelGrid>
<p:dataTable
name=
"productTable"
id=
"productTable"
value=
"#{foodWaveView.template.products}"
var=
"product"
editable=
"true"
>
<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%"
/>
<p:inputText
value=
"#{product.name}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Name required"
/>
</f:facet>
</p:cellEditor>
</p:column>
...
...
@@ -80,7 +84,8 @@
<h:outputText
value=
"#{product.description}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.description}"
style=
"width:100%"
/>
<p:inputText
value=
"#{product.description}"
style=
"width:100%"
required=
"true"
requiredMessage=
"Description required"
/>
</f:facet>
</p:cellEditor>
</p:column>
...
...
@@ -90,19 +95,26 @@
<h:outputText
value=
"#{product.price}"
/>
</f:facet>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{product.price}"
style=
"width:100%"
/>
<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: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
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']}"
/>
<h:commandButton
action=
"#{foodWaveView.saveTemplate()}"
value=
"#{i18n['foodwavetemplate.savetemplate']}"
/>
</p:tab>
</p:wizard>
...
...
code/LanBortalWeb/WebContent/foodmanager/listFoodwaves.xhtml
0 → 100644
View file @
e246166
<!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:foodwave=
"http://java.sun.com/jsf/composite/cditools/foodwave"
xmlns:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
>
<h:body>
<ui:composition
template=
"/layout/#{sessionHandler.layout}/template.xhtml"
>
<f:metadata>
<f:event
type=
"preRenderView"
listener=
"#{foodWaveView.initFoodwaveManagerList}"
/>
</f:metadata>
<ui:define
name=
"title"
>
<h1>
fixme
</h1>
</ui:define>
<ui:define
name=
"content"
>
<h:dataTable
columnClasses=
"nowrap,numalign,numalign,nowrap,numalign"
styleClass=
"bordertable"
value=
"#{foodWaveView.foodWaves}"
var=
"foodwave"
>
<h:column
>
<f:facet
name=
"header"
>
<h:outputLabel
id=
"name"
value=
"${i18n['foodWave.name']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.name}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.template.name']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.template.name}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.orders']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.accountEvents.size()}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.unconfirmedOrders']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.billLines.size()}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.totalReserved']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.reservedCount}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.time']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.time.time}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
</h:dataTable>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/LanBortalWeb/WebContent/foodmanager/listOrders.xhtml
0 → 100644
View file @
e246166
<!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:foodwave=
"http://java.sun.com/jsf/composite/cditools/foodwave"
xmlns:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
>
<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:metadata>
<ui:define
name=
"title"
>
<h1>
fixme
</h1>
</ui:define>
<ui:define
name=
"content"
>
<h1><h:outputLabel
id=
"name"
value=
"${i18n['foodWave.billLines']}"
/></h1>
<h:dataTable
columnClasses=
"nowrap,numalign,numalign,nowrap,numalign"
styleClass=
"bordertable"
value=
"#{foodWaveView.billLines}"
var=
"billLine"
>
<h:column
>
<f:facet
name=
"header"
>
<h:outputLabel
id=
"name"
value=
"${i18n['billLine.name']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{billLine.name}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['billLine.quantiny']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.template.name}"
>
<f:param
name=
"foodwaveid"
value=
"#{billLine.quantiny}"
/>
</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.unitprice}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.unconfirmedOrders']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.billLines.size()}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.totalReserved']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.reservedCount}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"${i18n['foodWave.time']}"
/>
</f:facet>
<h:link
outcome=
"/foodmanager/listOrders"
value=
"#{foodwave.time.time}"
>
<f:param
name=
"foodwaveid"
value=
"#{foodwave.id}"
/>
</h:link>
</h:column>
</h:dataTable>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
View file @
e246166
...
...
@@ -192,11 +192,15 @@ foodshop.buyFromInternet = Pay at Internet
foodwave.template.basicinfo
=
Template Information
foodwave.template.edit.title
=
Foodwave Template Editor
foodwave.template.list.title
=
Foodwave Templates
foodwave.template.selectproducts
=
Products
foodwaveTemplate.name
=
Name
foodwavetemplate.actions
=
Actions
foodwavetemplate.addproduct
=
Add
foodwavetemplate.basicinfo
=
Template
foodwavetemplate.createFoodwave
=
Create Foodwave
foodwavetemplate.description
=
Description
foodwavetemplate.editRow
=
Edit
foodwavetemplate.name
=
Name
...
...
@@ -204,6 +208,8 @@ foodwavetemplate.price = Price
foodwavetemplate.productdescription
=
Description
foodwavetemplate.productname
=
Name
foodwavetemplate.removeFromList
=
Remove
foodwavetemplate.save
=
Ok
foodwavetemplate.savetemplate
=
Submit
foodwavetemplate.selectproducts
=
Products
game.gamepoints
=
Game points
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
View file @
e246166
...
...
@@ -190,11 +190,15 @@ foodshop.buyFromInternet = Maksa Internetiss\u00E4
foodwave.template.basicinfo
=
Template Infot
foodwave.template.edit.title
=
Foodwave Template Editori
foodwave.template.list.title
=
Ruokatilaus Templatet
foodwave.template.selectproducts
=
Tuotteet
foodwaveTemplate.name
=
Nimi
foodwavetemplate.actions
=
Toimet
foodwavetemplate.addproduct
=
Lis
\u
00E4
\u
00E4
foodwavetemplate.basicinfo
=
Templeitti
foodwavetemplate.createFoodwave
=
Luo ruokatilaus
foodwavetemplate.description
=
Kuvaus
foodwavetemplate.editRow
=
Muokkaa
foodwavetemplate.name
=
Nimi
...
...
@@ -202,6 +206,8 @@ foodwavetemplate.price = Hinta
foodwavetemplate.productdescription
=
Kuvaus
foodwavetemplate.productname
=
Nimi
\r\n
foodwavetemplate.removeFromList = Poista
foodwavetemplate.save
=
Ok
foodwavetemplate.savetemplate
=
Tallenna
foodwavetemplate.selectproducts
=
Tuotteet
game.gamepoints
=
Insomnia Game pisteet:
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/FoodWaveView.java
View file @
e246166
...
...
@@ -48,8 +48,7 @@ public class FoodWaveView extends GenericCDIView {
public
void
initTemplateList
()
{
if
(
super
.
requirePermissions
(
ShopPermission
.
LIST_USERPRODUCTS
))
{
setTemplates
(
new
ListDataModel
<
FoodWaveTemplate
>(
foodWaveBean
.
getTemplates
()));
setTemplates
(
new
ListDataModel
<
FoodWaveTemplate
>(
foodWaveBean
.
getTemplates
()));
super
.
beginConversation
();
}
...
...
@@ -102,8 +101,11 @@ public class FoodWaveView extends GenericCDIView {
}
public
void
initUserFoodWaveList
()
{
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getOpenFoodWaves
());
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getOpenFoodWaves
());
}
public
void
initFoodwaveManagerList
()
{
this
.
foodWaves
=
new
ListDataModel
<
FoodWave
>(
foodWaveBean
.
getEventFoodWaves
());
}
public
String
editTemplate
()
{
...
...
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