Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Linnea Samila
/
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 f54af4f9
authored
Jan 27, 2015
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Complete viplist
1 parent
ba482559
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
633 additions
and
144 deletions
code/moya-beans-client/ejbModule/fi/codecrew/moya/beans/VipBeanLocal.java
code/moya-beans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
code/moya-beans/ejbModule/fi/codecrew/moya/beans/VipBean.java
code/moya-beans/ejbModule/fi/codecrew/moya/facade/VipProductDeliveryFacade.java
code/moya-beans/ejbModule/fi/codecrew/moya/facade/VipProductFacade.java
code/moya-database/src/main/java/fi/codecrew/moya/model/Vip.java
code/moya-database/src/main/java/fi/codecrew/moya/model/VipProduct.java
code/moya-web/WebContent/WEB-INF/faces-config.xml
code/moya-web/WebContent/vip/create.xhtml
code/moya-web/WebContent/vip/deliver.xhtml
code/moya-web/WebContent/vip/edit.xhtml
code/moya-web/WebContent/vip/viplist.xhtml
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/GenericCDIView.java
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipDeliverView.java
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipListView.java
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipView.java
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n.properties
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_en.properties
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_fi.properties
code/moya-beans-client/ejbModule/fi/codecrew/moya/beans/VipBeanLocal.java
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
beans
;
package
fi
.
codecrew
.
moya
.
beans
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
import
javax.ejb.Local
;
import
javax.ejb.Local
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.VipProduct
;
import
fi.codecrew.moya.model.VipProductDelivery
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.SearchResult
;
...
@@ -19,4 +22,14 @@ public interface VipBeanLocal {
...
@@ -19,4 +22,14 @@ public interface VipBeanLocal {
Vip
find
(
Integer
id
);
Vip
find
(
Integer
id
);
Vip
createProduct
(
VipProduct
l
);
Vip
save
(
Vip
vip
);
Vip
saveProduct
(
VipProduct
rowData
);
Vip
deleteProduct
(
VipProduct
l
);
VipProductDelivery
createDelivery
(
VipProduct
prod
,
BigDecimal
quantity
,
String
notes
);
}
}
code/moya-beans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
View file @
f54af4f
...
@@ -43,6 +43,7 @@ import fi.codecrew.moya.enums.apps.SpecialPermission;
...
@@ -43,6 +43,7 @@ import fi.codecrew.moya.enums.apps.SpecialPermission;
import
fi.codecrew.moya.enums.apps.TerminalPermission
;
import
fi.codecrew.moya.enums.apps.TerminalPermission
;
import
fi.codecrew.moya.enums.apps.TournamentPermission
;
import
fi.codecrew.moya.enums.apps.TournamentPermission
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.enums.apps.VipPermission
;
import
fi.codecrew.moya.facade.MenuNavigationFacade
;
import
fi.codecrew.moya.facade.MenuNavigationFacade
;
import
fi.codecrew.moya.facade.MenuitemFacade
;
import
fi.codecrew.moya.facade.MenuitemFacade
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.model.LanEvent
;
...
@@ -109,7 +110,7 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -109,7 +110,7 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation
usermenu
=
new
MenuNavigation
(
ev
,
"topmenu.user"
,
5
);
MenuNavigation
usermenu
=
new
MenuNavigation
(
ev
,
"topmenu.user"
,
5
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/frontpage"
),
UserPermission
.
ANYUSER
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/frontpage"
),
UserPermission
.
ANYUSER
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/return"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/return"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/delayed"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/delayed"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/reject"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/checkout/reject"
),
null
).
setVisible
(
false
);
...
@@ -124,7 +125,6 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -124,7 +125,6 @@ public class MenuBean implements MenuBeanLocal {
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/resetmailSent"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/resetmailSent"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/passwordChanged"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/passwordChanged"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/notauthorized"
),
null
).
setVisible
(
false
);
usermenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/notauthorized"
),
null
).
setVisible
(
false
);
MenuNavigation
userEvent
=
usermenu
.
addPage
(
null
,
null
);
MenuNavigation
userEvent
=
usermenu
.
addPage
(
null
,
null
);
userEvent
.
setKey
(
"topnavi.userevent"
);
userEvent
.
setKey
(
"topnavi.userevent"
);
...
@@ -133,23 +133,24 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -133,23 +133,24 @@ public class MenuBean implements MenuBeanLocal {
userEvent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/invite"
),
UserPermission
.
INVITE_USERS
);
userEvent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/invite"
),
UserPermission
.
INVITE_USERS
);
userEvent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/feedback/index"
),
UserPermission
.
VITUTTAAKO
);
userEvent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/feedback/index"
),
UserPermission
.
VITUTTAAKO
);
MenuNavigation
helpmenu
=
usermenu
.
addPage
(
null
,
null
);
MenuNavigation
helpmenu
=
usermenu
.
addPage
(
null
,
null
);
helpmenu
.
setKey
(
"topnavi.help"
);
helpmenu
.
setKey
(
"topnavi.help"
);
helpmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/help"
),
UserPermission
.
HELPPAGE
);
helpmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/help"
),
UserPermission
.
HELPPAGE
);
MenuNavigation
userkauppa
=
usermenu
.
addPage
(
null
,
null
);
MenuNavigation
userkauppa
=
usermenu
.
addPage
(
null
,
null
);
userkauppa
.
setKey
(
"topnavi.usershop"
);
userkauppa
.
setKey
(
"topnavi.usershop"
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/createBill"
),
BillPermission
.
CREATE_BILL
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/createBill"
),
BillPermission
.
CREATE_BILL
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/neomap/reserve"
),
MapPermission
.
BUY_PLACES
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/neomap/reserve"
),
MapPermission
.
BUY_PLACES
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/neomap/notenoughslots"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);;
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/neomap/notenoughslots"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
;
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/list"
),
ShopPermission
.
SHOP_FOODWAVE
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/list"
),
ShopPermission
.
SHOP_FOODWAVE
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/listProducts"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/listProducts"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/ThanksForOrderingFromCounter"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/ThanksForOrderingFromCounter"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/success"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
// landingpages are always "anyuser"
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/success"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
// landingpages are always "anyuser"
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/notification"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/notification"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/pending"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/svm/pending"
),
UserPermission
.
ANYUSER
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/list"
),
BillPermission
.
VIEW_OWN
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/list"
),
BillPermission
.
VIEW_OWN
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/edit"
),
BillPermission
.
VIEW_OWN
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/edit"
),
BillPermission
.
VIEW_OWN
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/showBill"
),
BillPermission
.
VIEW_OWN
).
setVisible
(
false
);
userkauppa
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/bill/showBill"
),
BillPermission
.
VIEW_OWN
).
setVisible
(
false
);
...
@@ -193,7 +194,7 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -193,7 +194,7 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation
createuser
=
usermenu
.
addPage
(
null
,
null
);
MenuNavigation
createuser
=
usermenu
.
addPage
(
null
,
null
);
createuser
.
setKey
(
"topnavi.createuser"
);
createuser
.
setKey
(
"topnavi.createuser"
);
createuser
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/create"
),
UserPermission
.
CREATE_NEW
).
setVisible
(
false
);
createuser
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/create"
),
UserPermission
.
CREATE_NEW
).
setVisible
(
false
);
MenuNavigation
userlectures
=
usermenu
.
addPage
(
null
,
null
);
MenuNavigation
userlectures
=
usermenu
.
addPage
(
null
,
null
);
userlectures
.
setKey
(
"topnavi.userlectures"
);
userlectures
.
setKey
(
"topnavi.userlectures"
);
userlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectures/viewLectures"
),
LecturePermission
.
VIEW
);
userlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectures/viewLectures"
),
LecturePermission
.
VIEW
);
...
@@ -242,10 +243,19 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -242,10 +243,19 @@ public class MenuBean implements MenuBeanLocal {
adminEventCards
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/shopToUser"
),
null
).
setVisible
(
false
);
adminEventCards
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/shopToUser"
),
null
).
setVisible
(
false
);
adminEventCards
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/assocToUser"
),
null
).
setVisible
(
false
);
adminEventCards
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/shop/assocToUser"
),
null
).
setVisible
(
false
);
MenuNavigation
vips
=
adminuser
.
addPage
(
null
,
null
);
vips
.
setKey
(
"subnavi.vips"
);
vips
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/vip/viplist"
),
VipPermission
.
VIEW
);
vips
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/vip/create"
),
VipPermission
.
VIEW
).
setVisible
(
false
);
vips
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/vip/edit"
),
VipPermission
.
VIEW
).
setVisible
(
false
);
MenuNavigation
adminAssociation
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
adminAssociation
=
adminmenu
.
addPage
(
null
,
null
);
adminAssociation
.
setKey
(
"topnavi.adminassoc"
);
adminAssociation
.
setKey
(
"topnavi.adminassoc"
);
adminAssociation
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/networkassociation/index"
),
NetworkAssociationPermission
.
CAN_ADMINISTER_ASSOCIATIONS
);
adminAssociation
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/networkassociation/index"
),
NetworkAssociationPermission
.
CAN_ADMINISTER_ASSOCIATIONS
);
// shop
// shop
MenuNavigation
adminshop
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
adminshop
=
adminmenu
.
addPage
(
null
,
null
);
adminshop
.
setKey
(
"topnavi.adminshop"
);
adminshop
.
setKey
(
"topnavi.adminshop"
);
...
@@ -317,10 +327,8 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -317,10 +327,8 @@ public class MenuBean implements MenuBeanLocal {
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/eventorg/editEvent"
),
EventPermission
.
MANAGE_PROPERTIES
);
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/eventorg/editEvent"
),
EventPermission
.
MANAGE_PROPERTIES
);
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/eventorg/edit"
),
EventPermission
.
MANAGE_PROPERTIES
).
setVisible
(
false
);
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/eventorg/edit"
),
EventPermission
.
MANAGE_PROPERTIES
).
setVisible
(
false
);
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/reports/basicStatistics"
),
EventPermission
.
VIEW_STATISTICS
);
adminevent
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/reports/basicStatistics"
),
EventPermission
.
VIEW_STATISTICS
);
MenuNavigation
tournamentsadm
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
tournamentsadm
=
adminmenu
.
addPage
(
null
,
null
);
tournamentsadm
.
setKey
(
"tournaments.menutitle"
);
tournamentsadm
.
setKey
(
"tournaments.menutitle"
);
...
@@ -332,20 +340,17 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -332,20 +340,17 @@ public class MenuBean implements MenuBeanLocal {
tournamentsadm
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/admin/delete"
),
TournamentPermission
.
MANAGE_ALL
).
setVisible
(
false
);
tournamentsadm
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/admin/delete"
),
TournamentPermission
.
MANAGE_ALL
).
setVisible
(
false
);
tournamentsadm
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/admin/editrules"
),
TournamentPermission
.
MANAGE_ALL
).
setVisible
(
false
);
tournamentsadm
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/admin/editrules"
),
TournamentPermission
.
MANAGE_ALL
).
setVisible
(
false
);
MenuNavigation
adminlectures
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
adminlectures
=
adminmenu
.
addPage
(
null
,
null
);
adminlectures
.
setKey
(
"topnavi.adminlectures"
);
adminlectures
.
setKey
(
"topnavi.adminlectures"
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectureGroups"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectureGroups"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/lectureParticipants"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/lectureParticipants"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectures"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectures"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageParticipants"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageParticipants"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);
MenuNavigation
infoviews
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
infoviews
=
adminmenu
.
addPage
(
null
,
null
);
infoviews
.
setKey
(
"topnavi.infoviews"
);
infoviews
.
setKey
(
"topnavi.infoviews"
);
infoviews
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/admin/adduser/index"
),
TerminalPermission
.
INFO
);
infoviews
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/admin/adduser/index"
),
TerminalPermission
.
INFO
);
MenuNavigation
infonavi
=
infoviews
.
addPage
(
null
,
null
);
MenuNavigation
infonavi
=
infoviews
.
addPage
(
null
,
null
);
infonavi
.
setKey
(
"subnavi.info"
);
infonavi
.
setKey
(
"subnavi.info"
);
infonavi
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/info/index"
),
TerminalPermission
.
INFO
);
infonavi
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/info/index"
),
TerminalPermission
.
INFO
);
...
@@ -514,7 +519,7 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -514,7 +519,7 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation
foodwaveTopmenu
=
usernavi
.
addPage
(
null
,
null
);
MenuNavigation
foodwaveTopmenu
=
usernavi
.
addPage
(
null
,
null
);
foodwaveTopmenu
.
setKey
(
"topnavi.foodwave"
);
foodwaveTopmenu
.
setKey
(
"topnavi.foodwave"
);
foodwaveTopmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/list"
),
ShopPermission
.
SHOP_FOODWAVE
);
foodwaveTopmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/list"
),
ShopPermission
.
SHOP_FOODWAVE
);
// foodwaveTopmenu.addPage(menuitemfacade.findOrCreate("/foodwave/listTemplates"),
// foodwaveTopmenu.addPage(menuitemfacade.findOrCreate("/foodwave/listTemplates"),
// ShopPermission.SHOP_FOODWAVE);
// ShopPermission.SHOP_FOODWAVE);
foodwaveTopmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/listProducts"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
foodwaveTopmenu
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/foodwave/listProducts"
),
ShopPermission
.
SHOP_FOODWAVE
).
setVisible
(
false
);
...
...
code/moya-beans/ejbModule/fi/codecrew/moya/beans/VipBean.java
View file @
f54af4f
...
@@ -2,9 +2,14 @@ package fi.codecrew.moya.beans;
...
@@ -2,9 +2,14 @@ package fi.codecrew.moya.beans;
import
fi.codecrew.moya.enums.apps.VipPermission
;
import
fi.codecrew.moya.enums.apps.VipPermission
;
import
fi.codecrew.moya.facade.VipFacade
;
import
fi.codecrew.moya.facade.VipFacade
;
import
fi.codecrew.moya.facade.VipProductDeliveryFacade
;
import
fi.codecrew.moya.facade.VipProductFacade
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.VipProduct
;
import
fi.codecrew.moya.model.VipProductDelivery
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.jpa.GenericFacade
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -15,6 +20,7 @@ import javax.ejb.EJB;
...
@@ -15,6 +20,7 @@ import javax.ejb.EJB;
import
javax.ejb.LocalBean
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
javax.ejb.Stateless
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
...
@@ -39,6 +45,10 @@ public class VipBean implements VipBeanLocal {
...
@@ -39,6 +45,10 @@ public class VipBean implements VipBeanLocal {
@EJB
@EJB
private
EventBeanLocal
eventbean
;
private
EventBeanLocal
eventbean
;
@EJB
private
VipProductFacade
vipProductFacade
;
@EJB
private
VipProductDeliveryFacade
vpdFacade
;
@Override
@Override
@RolesAllowed
({
VipPermission
.
S_VIEW
})
@RolesAllowed
({
VipPermission
.
S_VIEW
})
...
@@ -62,4 +72,66 @@ public class VipBean implements VipBeanLocal {
...
@@ -62,4 +72,66 @@ public class VipBean implements VipBeanLocal {
public
Vip
find
(
Integer
id
)
{
public
Vip
find
(
Integer
id
)
{
return
vipFacade
.
find
(
id
);
return
vipFacade
.
find
(
id
);
}
}
// @Override
// public SearchResult<Vip> search(SearchQuery sq) {
// // TODO Auto-generated method stub
// return null;
// }
@Override
public
Vip
createProduct
(
VipProduct
l
)
{
Vip
vip
=
vipFacade
.
reload
(
l
.
getVip
());
l
.
setVip
(
vip
);
if
(!
vip
.
getProducts
().
contains
(
l
))
vip
.
getProducts
().
add
(
0
,
l
);
vipProductFacade
.
create
(
l
);
return
vip
;
}
@Override
public
SearchResult
<
Vip
>
search
(
SearchQuery
sq
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Vip
save
(
Vip
vip
)
{
return
vipFacade
.
merge
(
vip
);
}
@Override
public
Vip
saveProduct
(
VipProduct
prod
)
{
VipProduct
ret
=
vipProductFacade
.
merge
(
prod
);
return
ret
.
getVip
();
}
@Override
public
Vip
deleteProduct
(
VipProduct
l
)
{
l
=
vipProductFacade
.
reload
(
l
);
Vip
vip
=
l
.
getVip
();
vip
.
getProducts
().
remove
(
l
);
vipProductFacade
.
remove
(
l
);
return
vip
;
}
@Override
public
VipProductDelivery
createDelivery
(
VipProduct
prod
,
BigDecimal
quantity
,
String
notes
)
{
prod
=
vipProductFacade
.
reload
(
prod
);
VipProductDelivery
vpd
=
new
VipProductDelivery
();
vpd
.
setVipProduct
(
prod
);
vpd
.
setDeliverer
(
permbean
.
getCurrentUser
());
vpd
.
setNotes
(
notes
);
vpd
.
setDeliveryTime
(
new
Date
());
vpd
.
setQuantity
(
quantity
);
vpdFacade
.
create
(
vpd
);
prod
.
getDeliveries
().
add
(
vpd
);
return
vpd
;
}
}
}
code/moya-beans/ejbModule/fi/codecrew/moya/facade/VipProductDeliveryFacade.java
0 → 100644
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
facade
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
fi.codecrew.moya.model.VipProduct
;
import
fi.codecrew.moya.model.VipProductDelivery
;
@Stateless
@LocalBean
public
class
VipProductDeliveryFacade
extends
IntegerPkGenericFacade
<
VipProductDelivery
>
{
public
VipProductDeliveryFacade
()
{
super
(
VipProductDelivery
.
class
);
}
}
code/moya-beans/ejbModule/fi/codecrew/moya/facade/VipProductFacade.java
0 → 100644
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
facade
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Root
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.VipProduct
;
import
fi.codecrew.moya.model.Vip_
;
@Stateless
@LocalBean
public
class
VipProductFacade
extends
IntegerPkGenericFacade
<
VipProduct
>
{
public
VipProductFacade
()
{
super
(
VipProduct
.
class
);
}
}
code/moya-database/src/main/java/fi/codecrew/moya/model/Vip.java
View file @
f54af4f
...
@@ -82,6 +82,16 @@ public class Vip extends GenericEntity {
...
@@ -82,6 +82,16 @@ public class Vip extends GenericEntity {
return
ret
;
return
ret
;
}
}
public
String
getSearchableProductnames
()
{
StringBuilder
sb
=
new
StringBuilder
();
for
(
VipProduct
p
:
products
)
{
sb
.
append
(
p
.
getProductName
());
sb
.
append
(
" "
);
}
return
sb
.
toString
();
}
public
String
getDescription
()
{
public
String
getDescription
()
{
return
description
;
return
description
;
}
}
...
...
code/moya-database/src/main/java/fi/codecrew/moya/model/VipProduct.java
View file @
f54af4f
...
@@ -45,6 +45,15 @@ public class VipProduct extends GenericEntity {
...
@@ -45,6 +45,15 @@ public class VipProduct extends GenericEntity {
@OneToMany
(
mappedBy
=
"vipProduct"
)
@OneToMany
(
mappedBy
=
"vipProduct"
)
private
List
<
VipProductDelivery
>
deliveries
=
new
ArrayList
<>();
private
List
<
VipProductDelivery
>
deliveries
=
new
ArrayList
<>();
public
VipProduct
()
{
super
();
}
public
VipProduct
(
Vip
v
)
{
this
();
this
.
vip
=
v
;
}
/**
/**
* Returns name of the product. If @Field product is empty, use @Field name
* Returns name of the product. If @Field product is empty, use @Field name
*
*
...
@@ -53,7 +62,7 @@ public class VipProduct extends GenericEntity {
...
@@ -53,7 +62,7 @@ public class VipProduct extends GenericEntity {
@Transient
@Transient
public
String
getProductName
()
{
public
String
getProductName
()
{
String
ret
=
name
;
String
ret
=
name
;
if
(
product
=
=
null
)
{
if
(
product
!
=
null
)
{
ret
=
product
.
getName
();
ret
=
product
.
getName
();
}
}
return
ret
;
return
ret
;
...
...
code/moya-web/WebContent/WEB-INF/faces-config.xml
View file @
f54af4f
...
@@ -9,10 +9,14 @@
...
@@ -9,10 +9,14 @@
<var>
i18n
</var>
<var>
i18n
</var>
</resource-bundle>
</resource-bundle>
<message-bundle>
fi.codecrew.moya.resources.i18n
</message-bundle>
<message-bundle>
fi.codecrew.moya.resources.i18n
</message-bundle>
<locale-config>
<locale-config>
<default-locale>
fi
</default-locale>
<default-locale>
fi
</default-locale>
<supported-locale>
en
</supported-locale>
<supported-locale>
en
</supported-locale>
</locale-config>
</locale-config>
<action-listener>
org.primefaces.application.DialogActionListener
</action-listener>
<navigation-handler>
org.primefaces.application.DialogNavigationHandler
</navigation-handler>
<view-handler>
org.primefaces.application.DialogViewHandler
</view-handler>
</application>
</application>
<!-- <navigation-rule> -->
<!-- <navigation-rule> -->
...
...
code/moya-web/WebContent/vip/create.xhtml
View file @
f54af4f
...
@@ -11,17 +11,18 @@
...
@@ -11,17 +11,18 @@
<ui:define
name=
"content"
>
<ui:define
name=
"content"
>
<h:form
id=
"vipcreate"
>
<h:form
id=
"vipcreate"
>
<h:panelGrid
columns=
"2"
>
<h:panelGrid
columns=
"2"
>
<h:outputLabel
for=
"hostselect"
/>
<h:outputLabel
value=
"#{i18n['vip.host']}"
for=
"hostselect"
/>
<p:autoComplete
label=
"#{i18n['vip.host']}"
id=
"hostselect"
value=
"#{vipView.vip.host}"
completeMethod=
"#{vipView.usersearch}"
converter=
"#{eventUserConverter}"
var=
"usr"
itemValue=
"#{usr}"
itemLabel=
"#{usr.wholeName}"
/>
<p:autoComplete
id=
"hostselect"
value=
"#{vipView.vip.host}"
completeMethod=
"#{vipView.usersearch}"
converter=
"#{eventUserConverter}"
var=
"usr"
itemValue=
"#{usr}"
itemLabel=
"#{usr.wholeName}"
/>
</h:panelGrid>
<h:outputLabel
for=
"shortdescr"
value=
"#{i18n['vip.shortdescr']}"
/>
<p:inputTextarea
cols=
"50"
rows=
"3"
value=
"#{vipView.vip.description}"
/>
<p:inputTextarea
id=
"shortdescr"
cols=
"50"
rows=
"3"
value=
"#{vipView.vip.shortdescr}"
/>
<br
/>
<p:inputTextarea
cols=
"50"
rows=
"6"
value=
"#{vipView.vip.description}"
/>
<h:outputLabel
for=
"description"
value=
"#{i18n['vip.description']}"
/>
<br
/>
<p:inputTextarea
id=
"description"
cols=
"50"
rows=
"6"
value=
"#{vipView.vip.description}"
/>
</h:panelGrid>
<p:commandButton
action=
"#{vipView.create()}"
value=
"#{i18n['vip.create']}"
/>
<p:commandButton
action=
"#{vipView.create()}"
value=
"#{i18n['vip.create']}"
/>
</h:form>
</h:form>
...
...
code/moya-web/WebContent/vip/deliver.xhtml
0 → 100644
View file @
f54af4f
<?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:ui=
"http://java.sun.com/jsf/facelets"
xmlns:p=
"http://primefaces.org/ui"
>
<h:head>
</h:head>
<h:body>
<!-- p:panel here because of http://forum.primefaces.org/viewtopic.php?f=3&t=37866 -->
<p:panel>
<h:panelGrid
columns=
"2"
>
<h:outputLabel
value=
"#{i18n['vip.host']}"
for=
"host"
/>
<h:outputText
id=
"host"
value=
"#{vipDeliverView.vip.host.wholeName}"
/>
<h:outputLabel
for=
"description"
value=
"#{i18n['vip.description']}"
/>
<h:outputText
id=
"description"
value=
"#{vipDeliverView.vip.description}"
/>
</h:panelGrid>
<h:form>
<p:dataTable
value=
"#{vipDeliverView.products}"
var=
"wra"
>
<p:column
headerText=
"#{i18n['vipProduct.name']}"
>
<h:outputText
value=
"#{wra.product.productName}"
/>
</p:column>
<p:column
headerText=
"#{i18n['vipProduct.quantity']}"
>
<h:outputText
value=
"#{wra.product.quantity}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:outputText>
</p:column>
<p:column
headerText=
"#{i18n['vipProduct.delivered']}"
>
<h:outputText
value=
"#{wra.product.delivered}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:outputText>
</p:column>
<p:column
headerText=
"#{i18n['vipProduct.deliver']}"
>
<h:inputText
size=
"7"
value=
"#{wra.deliver}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"2"
/>
</h:inputText>
</p:column>
</p:dataTable>
<h:outputText
value=
"#{i18n['vipProduct.deliverNotes']}"
/>
<p:inputTextarea
cols=
"40"
rows=
"3"
value=
"#{vipDeliverView.notes}"
/>
<br
/>
<p:commandButton
action=
"#{vipDeliverView.deliverProducts}"
value=
"#{i18n['vipProduct.deliver']}"
/>
</h:form>
</p:panel>
</h:body>
</html>
\ No newline at end of file
code/moya-web/WebContent/vip/edit.xhtml
View file @
f54af4f
...
@@ -14,54 +14,80 @@
...
@@ -14,54 +14,80 @@
<h:form
id=
"vipcreate"
>
<h:form
id=
"vipcreate"
>
<h:panelGrid
columns=
"2"
>
<h:panelGrid
columns=
"2"
>
<h:outputLabel
for=
"hostselect"
/>
<h:outputLabel
value=
"#{i18n['vip.host']}"
for=
"hostselect"
/>
<p:autoComplete
label=
"#{i18n['vip.host']}"
id=
"hostselect"
value=
"#{vipView.vip.host}"
completeMethod=
"#{vipView.usersearch}"
converter=
"#{eventUserConverter}"
var=
"usr"
itemValue=
"#{usr}"
itemLabel=
"#{usr.wholeName}"
/>
<p:autoComplete
id=
"hostselect"
value=
"#{vipView.vip.host}"
completeMethod=
"#{vipView.usersearch}"
converter=
"#{eventUserConverter}"
var=
"usr"
itemValue=
"#{usr}"
itemLabel=
"#{usr.wholeName}"
/>
<h:outputLabel
for=
"shortdescr"
value=
"#{i18n['vip.shortdescr']}"
/>
<p:inputTextarea
id=
"shortdescr"
cols=
"50"
rows=
"3"
value=
"#{vipView.vip.shortdescr}"
/>
<h:outputLabel
for=
"description"
value=
"#{i18n['vip.description']}"
/>
<p:inputTextarea
id=
"description"
cols=
"50"
rows=
"6"
value=
"#{vipView.vip.description}"
/>
</h:panelGrid>
</h:panelGrid>
<p:inputTextarea
cols=
"50"
rows=
"3"
value=
"#{vipView.vip.description}"
/>
<br
/>
<p:inputTextarea
cols=
"50"
rows=
"6"
value=
"#{vipView.vip.description}"
/>
<br
/>
<br
/>
<p:commandButton
action=
"#{vipView.create()}"
value=
"#{i18n['vip.save']}"
/>
<p:commandButton
action=
"#{vipView.save()}"
value=
"#{i18n['vip.save']}"
/>
<br
/>
<p:dataTable
var=
"prod"
value=
"#{vipView.vipProducts}"
>
</h:form>
<br
/>
<h:form>
<p:dataTable
editable=
"true"
styleClass=
"bordertable"
id=
"vipProdList"
var=
"prod"
value=
"#{vipView.vipProducts}"
>
<p:ajax
event=
"rowEdit"
listener=
"#{vipView.productRowEdit}"
/>
<p:ajax
event=
"rowEdit"
listener=
"#{vipView.productRowEdit}"
/>
<p:ajax
event=
"rowEditCancel"
listener=
"#{vipView.productRowEditCancel}"
/>
<p:ajax
event=
"rowEditCancel"
listener=
"#{vipView.productRowEditCancel}"
/>
<p:column>
<p:column
headerText=
"#{i18n['vipProduct.name']}"
>
<p:cellEditor>
<ui:fragment
rendered=
"#{empty prod.id}"
>
<p:inputText
value=
"#{prod.name}"
/>
<br
/>
<p:selectOneMenu
value=
"#{prod.product}"
converter=
"#{productConverter}"
>
<f:selectItem
itemLabel=
"---"
itemValue=
"0"
/>
<f:selectItems
value=
"#{vipView.eventProducts}"
var=
"p"
itemLabel=
"#{p.name}"
/>
</p:selectOneMenu>
</ui:fragment>
<p:cellEditor
rendered=
"#{not empty prod.id}"
>
<f:facet
name=
"output"
>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{prod.productName}"
/>
<h:outputText
value=
"#{prod.productName}"
/>
</f:facet>
</f:facet>
<f:facet
name=
"input"
>
<f:facet
name=
"input"
>
<p:inputText
value=
"#{prod.name}"
/>
<p:inputText
value=
"#{prod.name}"
/>
<br
/>
<br
/>
<p:selectOneMenu
value=
"#{prod.product}"
var=
"p"
converter=
"#{productConverter}"
>
<p:selectOneMenu
value=
"#{prod.product}"
converter=
"#{productConverter}"
>
<f:selectItem
itemLabel=
"---"
itemValue=
"0"
/>
<f:selectItem
itemLabel=
"---"
itemValue=
"0"
/>
<f:selectItems
value=
"#{vipView.eventProducts}"
itemValue
=
"#{p.name}"
/>
<f:selectItems
value=
"#{vipView.eventProducts}"
var=
"p"
itemLabel
=
"#{p.name}"
/>
</p:selectOneMenu>
</p:selectOneMenu>
</f:facet>
</f:facet>
</p:cellEditor>
</p:cellEditor>
</p:column>
</p:column>
<p:column>
<p:column
style=
"width: 120px;"
headerText=
"#{i18n['vipProduct.quantity']}"
>
<p:cellEditor>
<h:inputText
size=
"15"
rendered=
"#{empty prod.id}"
value=
"#{prod.quantity}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:inputText>
<p:cellEditor
rendered=
"#{not empty prod.id}"
>
<f:facet
name=
"output"
>
<f:facet
name=
"output"
>
<h:outputText
value=
"#{prod.quantity}"
>
<h:outputText
value=
"#{prod.quantity}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:outputText>
</h:outputText>
</f:facet>
</f:facet>
<f:facet
name=
"input"
>
<f:facet
name=
"input"
>
<h:outputText
value=
"#{prod.quantity}"
/>
<h:inputText
size=
"15"
value=
"#{prod.quantity}"
>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:inputText>
</f:facet>
</f:facet>
</p:cellEditor>
</p:cellEditor>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['vipProduct.delivered']}"
>
<p:column
style=
"width:32px"
>
<h:outputText
rendered=
"#{not empty prod.id}"
value=
"#{prod.delivered}"
>
<p:rowEditor
/>
<f:convertNumber
minFractionDigits=
"0"
maxFractionDigits=
"3"
/>
</h:outputText>
</p:column>
<p:column
style=
"width: 90px;"
>
<p:rowEditor
rendered=
"#{not empty prod.id}"
/>
<p:commandButton
action=
"#{vipView.createProduct()}"
update=
"vipProdList"
value=
"#{i18n['vipProduct.create']}"
rendered=
"#{empty prod.id}"
/>
</p:column>
<p:column
style=
"width: 35px;"
>
<p:commandButton
rendered=
"#{not empty prod.id}"
onclick=
"return confirm('#{i18n['vipProduct.deleteProductConfirm']}')"
action=
"#{vipView.deleteProduct()}"
update=
"vipProdList"
icon=
"ui-icon-close"
/>
</p:column>
</p:column>
</p:dataTable>
</p:dataTable>
</h:form>
</h:form>
</ui:define>
</ui:define>
</ui:composition>
</ui:composition>
...
...
code/moya-web/WebContent/vip/viplist.xhtml
View file @
f54af4f
...
@@ -11,7 +11,10 @@
...
@@ -11,7 +11,10 @@
<ui:define
name=
"content"
>
<ui:define
name=
"content"
>
<h:form>
<h:link
rendered=
"#{vipListView.canCreate()}"
outcome=
"/vip/create"
value=
"#{i18n['vip.createNew']}"
/>
<br
/>
<h:form
id=
"vipform"
>
<p:dataTable
id=
"vip"
value=
"#{vipListView.viplist}"
widgetVar=
"viplist"
styleClass=
"moya_datatable4"
var=
"vip"
filteredValue=
"#{vipListView.filteredVips}"
>
<p:dataTable
id=
"vip"
value=
"#{vipListView.viplist}"
widgetVar=
"viplist"
styleClass=
"moya_datatable4"
var=
"vip"
filteredValue=
"#{vipListView.filteredVips}"
>
<f:facet
name=
"header"
>
<f:facet
name=
"header"
>
<p:outputPanel>
<p:outputPanel>
...
@@ -23,10 +26,13 @@
...
@@ -23,10 +26,13 @@
<h:outputText
value=
"#{vip.host.wholeName}"
/>
<h:outputText
value=
"#{vip.host.wholeName}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['vip.description']}"
filterBy=
"#{vip.description}"
filterMatchMode=
"contains"
>
<p:column
headerText=
"#{i18n['vip.description']}"
filterBy=
"#{vip.description}"
filterMatchMode=
"contains"
>
<h:outputText
value=
"#{vip.shortDisplayDescr}"
title=
"#{vip.description}"
/>
<h:outputText
id=
"vipdescr"
value=
"#{vip.shortDisplayDescr}"
title=
"#{vip.description}"
/>
<p:tooltip
id=
"toolTipVipdescr"
for=
"vipdescr"
value=
"#{vip.description}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['vip.products']} | #{i18n['vip.productQuantity']} | #{i18n['vip.productDelivered']}"
>
<p:column
filterBy=
"#{vip.searchableProductnames}"
filterMatchMode=
"contains"
headerText=
"#{i18n['vip.products']} | #{i18n['vip.productQuantity']} | #{i18n['vip.productDelivered']}"
>
<h:dataTable
border=
"0"
var=
"prod"
value=
"#{vip.products}"
>
<h:dataTable
border=
"0"
var=
"prod"
value=
"#{vip.products}"
>
<p:column>
<p:column>
<h:outputText
title=
"#{prod.notes}"
value=
"#{prod.productName}"
/>
<h:outputText
title=
"#{prod.notes}"
value=
"#{prod.productName}"
/>
</p:column>
</p:column>
...
@@ -42,6 +48,12 @@
...
@@ -42,6 +48,12 @@
</p:column>
</p:column>
</h:dataTable>
</h:dataTable>
</p:column>
</p:column>
<p:column>
<p:commandButton
id=
"delivebtn"
rendered=
"#{not empty vip.id}"
value=
"#{i18n['vip.deliver']}"
actionListener=
"#{vipListView.deliverDialog}"
>
<p:ajax
event=
"dialogReturn"
listener=
"#{vipListView.updateViplist()}"
update=
"vip"
/>
</p:commandButton>
</p:column>
<p:column>
<p:column>
<h:link
outcome=
"/vip/edit"
value=
"#{i18n['vip.edit']}"
>
<h:link
outcome=
"/vip/edit"
value=
"#{i18n['vip.edit']}"
>
<f:param
name=
"id"
value=
"#{vip.id}"
/>
<f:param
name=
"id"
value=
"#{vip.id}"
/>
...
...
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/GenericCDIView.java
View file @
f54af4f
...
@@ -40,7 +40,7 @@ public abstract class GenericCDIView implements Serializable {
...
@@ -40,7 +40,7 @@ public abstract class GenericCDIView implements Serializable {
private
static
final
long
serialVersionUID
=
-
4000065015178815761L
;
private
static
final
long
serialVersionUID
=
-
4000065015178815761L
;
@Inject
@Inject
pr
ivate
Conversation
conversation
;
pr
otected
Conversation
conversation
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GenericCDIView
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
GenericCDIView
.
class
);
...
...
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipDeliverView.java
0 → 100644
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
vip
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.inject.Named
;
import
org.primefaces.context.RequestContext
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.VipBeanLocal
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.VipProduct
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
/**
* Created by jkj on 2015-01-11.
*/
@Named
@ConversationScoped
public
class
VipDeliverView
extends
GenericCDIView
{
/**
*
*/
private
static
final
long
serialVersionUID
=
1L
;
private
List
<
VipProductWrapper
>
products
;
@EJB
private
VipBeanLocal
vipbean
;
public
List
<
VipProductWrapper
>
getProducts
()
{
if
(
products
==
null
&&
vip
!=
null
)
{
products
=
VipProductWrapper
.
wrap
(
vip
.
getProducts
());
}
return
products
;
}
private
Vip
vip
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
VipDeliverView
.
class
);
private
String
notes
;
public
Vip
getVip
()
{
return
vip
;
}
public
void
deliverProducts
()
{
for
(
VipProductWrapper
p
:
products
)
{
logger
.
info
(
"Product {}, count: {}"
,
p
.
getProduct
().
getProductName
(),
p
.
getDeliver
());
if
(
p
.
getDeliver
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
vipbean
.
createDelivery
(
p
.
getProduct
(),
p
.
getDeliver
(),
notes
);
}
}
notes
=
null
;
vip
=
null
;
products
=
null
;
RequestContext
.
getCurrentInstance
().
closeDialog
(
null
);
}
public
void
setVip
(
Vip
vip
)
{
this
.
vip
=
vip
;
products
=
null
;
}
public
String
getNotes
()
{
return
notes
;
}
public
void
setNotes
(
String
notes
)
{
this
.
notes
=
notes
;
}
public
static
class
VipProductWrapper
{
private
final
VipProduct
product
;
private
BigDecimal
deliver
;
public
VipProductWrapper
(
VipProduct
prod
)
{
this
.
product
=
prod
;
setDeliver
(
product
.
getQuantity
().
subtract
(
product
.
getDelivered
()));
}
public
static
List
<
VipProductWrapper
>
wrap
(
List
<
VipProduct
>
products
)
{
List
<
VipProductWrapper
>
ret
=
new
ArrayList
<>();
for
(
VipProduct
p
:
products
)
{
ret
.
add
(
new
VipProductWrapper
(
p
));
}
return
ret
;
}
public
VipProduct
getProduct
()
{
return
product
;
}
public
BigDecimal
getDeliver
()
{
return
deliver
;
}
public
void
setDeliver
(
BigDecimal
deliver
)
{
this
.
deliver
=
deliver
;
}
}
}
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipListView.java
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
vip
;
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
vip
;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
javax.ejb.EJB
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.faces.model.ListDataModel
;
import
javax.faces.model.ListDataModel
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
javax.inject.Named
;
import
org.primefaces.context.RequestContext
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.VipBeanLocal
;
import
fi.codecrew.moya.beans.VipBeanLocal
;
import
fi.codecrew.moya.enums.apps.VipPermission
;
import
fi.codecrew.moya.enums.apps.VipPermission
;
import
fi.codecrew.moya.model.Vip
;
import
fi.codecrew.moya.model.Vip
;
...
@@ -27,13 +35,42 @@ public class VipListView extends PaginationView<Vip> {
...
@@ -27,13 +35,42 @@ public class VipListView extends PaginationView<Vip> {
private
ListDataModel
<
Vip
>
viplist
;
private
ListDataModel
<
Vip
>
viplist
;
private
List
<
Vip
>
filteredVips
;
private
List
<
Vip
>
filteredVips
;
@Inject
private
VipDeliverView
deliverView
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
VipListView
.
class
);
public
void
initView
()
{
public
void
initView
()
{
if
(
super
.
requirePermissions
(
VipPermission
.
VIEW
)
&&
viplist
==
null
)
{
if
(
super
.
requirePermissions
(
VipPermission
.
VIEW
)
&&
viplist
==
null
)
{
viplist
=
new
ListDataModel
<
Vip
>(
vipBean
.
getAvailableVips
());
viplist
=
new
ListDataModel
<
Vip
>(
vipBean
.
getAvailableVips
());
filteredVips
=
null
;
super
.
beginConversation
();
super
.
beginConversation
();
}
}
}
}
public
boolean
canCreate
()
{
return
super
.
hasPermission
(
VipPermission
.
EDIT
);
}
public
void
updateViplist
()
{
viplist
=
null
;
initView
();
}
public
void
deliverDialog
()
{
getDeliverView
().
setVip
(
viplist
.
getRowData
());
logger
.
info
(
"Set vip in deliverView to {}"
,
deliverView
.
getVip
());
Map
<
String
,
Object
>
options
=
new
HashMap
<>();
options
.
put
(
"modal"
,
true
);
Map
<
String
,
List
<
String
>>
params
=
null
;
if
(
conversation
.
getId
()
!=
null
)
{
params
=
new
HashMap
<>();
params
.
put
(
"cid"
,
Arrays
.
asList
(
conversation
.
getId
()));
}
RequestContext
.
getCurrentInstance
().
openDialog
(
"/vip/deliver"
,
options
,
params
);
}
public
ListDataModel
<
Vip
>
getViplist
()
{
public
ListDataModel
<
Vip
>
getViplist
()
{
return
viplist
;
return
viplist
;
}
}
...
@@ -50,4 +87,12 @@ public class VipListView extends PaginationView<Vip> {
...
@@ -50,4 +87,12 @@ public class VipListView extends PaginationView<Vip> {
this
.
filteredVips
=
filteredVips
;
this
.
filteredVips
=
filteredVips
;
}
}
public
VipDeliverView
getDeliverView
()
{
return
deliverView
;
}
public
void
setDeliverView
(
VipDeliverView
deliverView
)
{
this
.
deliverView
=
deliverView
;
}
}
}
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/vip/VipView.java
View file @
f54af4f
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
vip
;
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
vip
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.enterprise.context.RequestScoped
;
import
javax.faces.model.ListDataModel
;
import
javax.faces.model.ListDataModel
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
javax.inject.Named
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
@@ -42,6 +43,7 @@ public class VipView extends GenericCDIView {
...
@@ -42,6 +43,7 @@ public class VipView extends GenericCDIView {
private
Vip
vip
;
private
Vip
vip
;
private
Integer
id
;
private
Integer
id
;
@EJB
@EJB
private
UserBeanLocal
userbean
;
private
UserBeanLocal
userbean
;
@EJB
@EJB
...
@@ -59,6 +61,19 @@ public class VipView extends GenericCDIView {
...
@@ -59,6 +61,19 @@ public class VipView extends GenericCDIView {
}
}
}
}
public
void
createProduct
()
{
VipProduct
l
=
vipProducts
.
getRowData
();
vip
=
vipBean
.
createProduct
(
l
);
vipProducts
=
null
;
}
public
void
deleteProduct
()
{
VipProduct
l
=
vipProducts
.
getRowData
();
logger
.
info
(
"Deleting product {}"
,
l
);
vip
=
vipBean
.
deleteProduct
(
l
);
vipProducts
=
null
;
}
public
List
<
Product
>
getEventProducts
()
{
public
List
<
Product
>
getEventProducts
()
{
return
productBean
.
getProducts
();
return
productBean
.
getProducts
();
}
}
...
@@ -67,7 +82,10 @@ public class VipView extends GenericCDIView {
...
@@ -67,7 +82,10 @@ public class VipView extends GenericCDIView {
public
ListDataModel
<
VipProduct
>
getVipProducts
()
{
public
ListDataModel
<
VipProduct
>
getVipProducts
()
{
if
(
vipProducts
==
null
&&
vip
!=
null
)
{
if
(
vipProducts
==
null
&&
vip
!=
null
)
{
vipProducts
=
new
ListDataModel
<>(
vip
.
getProducts
());
ArrayList
<
VipProduct
>
li
=
new
ArrayList
<>();
li
.
add
(
new
VipProduct
(
vip
));
li
.
addAll
(
vip
.
getProducts
());
vipProducts
=
new
ListDataModel
<>(
li
);
}
}
return
vipProducts
;
return
vipProducts
;
}
}
...
@@ -81,7 +99,8 @@ public class VipView extends GenericCDIView {
...
@@ -81,7 +99,8 @@ public class VipView extends GenericCDIView {
}
}
public
void
productRowEdit
()
{
public
void
productRowEdit
()
{
logger
.
warn
(
"Editing product: {}"
,
getVipProducts
().
getRowData
());
vip
=
vipBean
.
saveProduct
(
getVipProducts
().
getRowData
());
// logger.warn("Editing product: {}", getVipProducts().getRowData());
}
}
...
@@ -90,6 +109,11 @@ public class VipView extends GenericCDIView {
...
@@ -90,6 +109,11 @@ public class VipView extends GenericCDIView {
}
}
public
void
save
()
{
vip
=
vipBean
.
save
(
vip
);
vipProducts
=
null
;
}
public
List
<
EventUser
>
usersearch
(
String
search
)
{
public
List
<
EventUser
>
usersearch
(
String
search
)
{
UserSearchQuery
usq
=
new
UserSearchQuery
();
UserSearchQuery
usq
=
new
UserSearchQuery
();
usq
.
setSearch
(
search
);
usq
.
setSearch
(
search
);
...
@@ -101,7 +125,7 @@ public class VipView extends GenericCDIView {
...
@@ -101,7 +125,7 @@ public class VipView extends GenericCDIView {
public
String
create
()
public
String
create
()
{
{
vipBean
.
create
(
vip
);
vipBean
.
create
(
vip
);
return
"/vip/edit
?faces-redirect=true
"
;
return
"/vip/edit"
;
}
}
public
Vip
getVip
()
{
public
Vip
getVip
()
{
...
...
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n.properties
View file @
f54af4f
...
@@ -27,6 +27,8 @@ adduser.update = Update profile picture
...
@@ -27,6 +27,8 @@ adduser.update = Update profile picture
adduser.welcome
=
Welcome
adduser.welcome
=
Welcome
adduser.welcometext
=
Here you can add new user or update your current user profile image. Please select desired action below.
adduser.welcometext
=
Here you can add new user or update your current user profile image. Please select desired action below.
barcodeReader.readBarcode
=
Lue viivakoodi
bill.billAmount
=
Tilauksen summa (sis. alv)
bill.billAmount
=
Tilauksen summa (sis. alv)
bill.billNumber
=
Tilausnumero
bill.billNumber
=
Tilausnumero
bill.cancel
=
Cancel bill
bill.cancel
=
Cancel bill
...
@@ -141,6 +143,7 @@ error.contact = If this happens again, contact Info with the following code:
...
@@ -141,6 +143,7 @@ error.contact = If this happens again, contact Info with the following code:
error.error
=
You have encountered an error.
error.error
=
You have encountered an error.
etickets.eticketcode
=
Lippu
etickets.eticketcode
=
Lippu
etickets.mailSended
=
Lippu l
\u
00E4hetetty s
\u
00E4hk
\u
00F6postiisi
etickets.place
=
Paikka
etickets.place
=
Paikka
etickets.placeinfo
=
Paikkatiedot
etickets.placeinfo
=
Paikkatiedot
etickets.placemap
=
Paikat kartalla
etickets.placemap
=
Paikat kartalla
...
@@ -215,24 +218,33 @@ global.save = Save
...
@@ -215,24 +218,33 @@ global.save = Save
httpsession.creationTime
=
Created
httpsession.creationTime
=
Created
incomingFlow.count
=
M
\u
00E4
\u
00E4r
\u
00E4
incomingFlow.leftCount
=
Noutamatta
incomingView.attach
=
Liit
\u
00E4
incomingView.attach
=
Liit
\u
00E4
incomingView.attachDialogTitle
=
Liit
\u
00E4 koodi k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingView.attachDialogTitle
=
Liit
\u
00E4 koodi k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingView.cancel
=
Peruuta
incomingView.cancel
=
Peruuta
incomingflow.allGiven
=
Merkitty {0} lippu(a) annetuksi.
incomingflow.alreadyShowingUser.message
=
Piipattu k
\u
00E4ytt
\u
00E4j
\u
00E4 on jo n
\u
00E4kyviss
\u
00E4
incomingflow.alreadyShowingUser.message
=
Piipattu k
\u
00E4ytt
\u
00E4j
\u
00E4 on jo n
\u
00E4kyviss
\u
00E4
incomingflow.alreadyShowingUser.title
=
Valmiiksi valittu
incomingflow.alreadyShowingUser.title
=
Valmiiksi valittu
incomingflow.cardCodes
=
Kortin koodit
incomingflow.cardCodes
=
Kortin koodit
incomingflow.cardfiling.label
=
Card filing:
incomingflow.cardfiling.label
=
Card filing:
incomingflow.codeattached.message
=
Piipattu koodi liitetty n
\u
00E4ytett
\u
00E4v
\u
00E4
\u
00E4n korttiin
incomingflow.changereader
=
Vaihda / valitse lukija
incomingflow.codeattached.title
=
Koodi liittetty
incomingflow.codeattached.message
=
Piipattu koodi liitetty n
\u
00E4ytett
\u
00E4v
\u
00E4
\u
00E4n korttiin
incomingflow.giveplace
=
Merkitse annetuksi
incomingflow.codeattached.title
=
Koodi liittetty
incomingflow.groupmemberships
=
Paikkakoodit
incomingflow.giveplace
=
Merkitse annetuksi
incomingflow.invalidbarcode.message
=
Viivakoodilla ei l
\u
00F6ytynyt mit
\u
00E4
\u
00E4n
incomingflow.groupmemberships
=
Paikkakoodit
incomingflow.invalidbarcode.title
=
virheellinen koodi
incomingflow.invalidbarcode.message
=
Viivakoodilla ei l
\u
00F6ytynyt mit
\u
00E4
\u
00E4n
incomingflow.printedCard
=
Kortti
incomingflow.invalidbarcode.title
=
virheellinen koodi
incomingflow.usereditor
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
incomingflow.markEverythingGiven
=
Anna kaikki antamattomat tuotteet
incomingflow.usereditor.info
=
Tiedot
incomingflow.placesummary
=
Paikkayhteenveto
incomingflow.usereditor.picture
=
Kuvanotto
incomingflow.printedCard
=
Kortti
incomingflow.usereditor
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
incomingflow.usereditor.info
=
Tiedot
incomingflow.usereditor.picture
=
Kuvanotto
infoview.multisearch
=
K
\u
00E4ytt
\u
00E4j
\u
00E4haku
invite.permissionDenied
=
Sinulla ei ole oikeutta luovuttaa paikkaa eteenp
\u
00E4in.
invite.permissionDenied
=
Sinulla ei ole oikeutta luovuttaa paikkaa eteenp
\u
00E4in.
invite.userLoginSuccessfull
=
Kutsu vastaanotettu onnistuneesti
invite.userLoginSuccessfull
=
Kutsu vastaanotettu onnistuneesti
...
@@ -381,6 +393,7 @@ productshop.plusOne = +1
...
@@ -381,6 +393,7 @@ productshop.plusOne = +1
productshop.plusTen
=
+10
productshop.plusTen
=
+10
reader.autopoll
=
Jatkuva lukijan seuraaminen
reader.autopoll
=
Jatkuva lukijan seuraaminen
reader.noReader
=
Ei valittua lukijaa
refresh
=
P
\u
00E4ivit
\u
00E4
refresh
=
P
\u
00E4ivit
\u
00E4
...
@@ -410,7 +423,9 @@ shop.unitdiscount = Alennus
...
@@ -410,7 +423,9 @@ shop.unitdiscount = Alennus
submenu.NotImplementedYet
=
Not implemented
submenu.NotImplementedYet
=
Not implemented
submenu.admin.adduser
=
K
\u
00E4ytt
\u
00E4j
\u
00E4nlis
\u
00E4ys
submenu.admin.adduser
=
K
\u
00E4ytt
\u
00E4j
\u
00E4nlis
\u
00E4ys
submenu.admin.adduser.index
=
K
\u
00E4ytt
\u
00E4j
\u
00E4nlis
\u
00E4ys
submenu.admin.adduser.index
=
K
\u
00E4ytt
\u
00E4j
\u
00E4nlis
\u
00E4ys
submenu.admin.incoming.index
=
Sis
\u
00E4
\u
00E4ntulo
submenu.frontpage
=
Frontpage
submenu.frontpage
=
Frontpage
submenu.info.cardlessIncoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.foodwave.foodwaveshop
=
Ruokakauppa
submenu.info.foodwave.foodwaveshop
=
Ruokakauppa
submenu.info.incoming
=
Laaja sis
\u
00E4
\u
00E4ntulon
\u
00E4kym
\u
00E4
submenu.info.incoming
=
Laaja sis
\u
00E4
\u
00E4ntulon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
...
@@ -426,6 +441,7 @@ submenu.shop.createBill = Osta lippuja
...
@@ -426,6 +441,7 @@ submenu.shop.createBill = Osta lippuja
subnavi.cards
=
\u0009\u0009
subnavi.cards
=
\u0009\u0009
subnavi.info
=
Info
subnavi.info
=
Info
subnavi.vips
=
Vippilista
success
=
Onnistui
success
=
Onnistui
...
@@ -447,6 +463,7 @@ user.imageUpload.imageNotFound = Select image to upload
...
@@ -447,6 +463,7 @@ user.imageUpload.imageNotFound = Select image to upload
user.info
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
user.info
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
user.invite.placeInvite.header
=
Liit
\u
00E4 paikka itsellesi
user.invite.placeInvite.header
=
Liit
\u
00E4 paikka itsellesi
user.meta.box.title
=
Metadata
user.meta.box.title
=
Metadata
user.roles
=
Pakotetut roolit
user.saveUserSelectableRoles
=
Tallenna
user.saveUserSelectableRoles
=
Tallenna
user.shirt.L
=
Unisex L
user.shirt.L
=
Unisex L
user.shirt.LadyL
=
Ladyfit L
user.shirt.LadyL
=
Ladyfit L
...
@@ -470,21 +487,24 @@ usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n
...
@@ -470,21 +487,24 @@ usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n
viewlectures.title
=
Kurssit ja luennot
viewlectures.title
=
Kurssit ja luennot
vip.create
=
Luo
vip.createNew
=
Luo uusi
vip.deliver
=
Toimita
vip.description
=
Kuvaus
vip.edit
=
Muokkaa
vip.host
=
Is
\u
00E4nt
\u
00E4
vip.hostsName
=
Is
\u
00E4nt
\u
00E4
vip.productDelivered
=
Toimitettu
vip.productQuantity
=
Lkm
vip.products
=
Tuote
vip.save
=
Tallenna
vip.shortdescr
=
Lyhyt kuvaus
vipProduct.create
=
Lis
\u
00E4
\u
00E4
vipProduct.deliver
=
Toimita
vipProduct.deliverNotes
=
Huomiot
vipProduct.delivered
=
Toimitettu
vipProduct.name
=
Tuote
vipProduct.quantity
=
Lukum
\u
00E4
\u
00E4r
\u
00E4
yes
=
Kyll
\u
00E4
yes
=
Kyll
\u
00E4
infoview.multisearch
=
K
\u
00E4ytt
\u
00E4j
\u
00E4haku
incomingflow.placesummary
=
Paikkayhteenveto
incomingFlow.leftCount
=
Noutamatta
incomingflow.markEverythingGiven
=
Anna kaikki antamattomat tuotteet
submenu.admin.incoming.index
=
Sis
\u
00E4
\u
00E4ntulo
submenu.admin.incoming.printCard
=
submenu.info.cardlessIncoming
=
Sis
\u
00E4
\u
00E4ntulo
incomingflow.changereader
=
Vaihda / valitse lukija
incomingFlow.count
=
M
\u
00E4
\u
00E4r
\u
00E4
user.birthday
=
user.confirmUserToEventAdding
=
user.invalidLoginCredentials
=
barcodeReader.readBarcode
=
Lue viivakoodi
incomingflow.allGiven
=
Merkitty {0} lippu(a) annetuksi.
reader.noReader
=
Ei valittua lukijaa
etickets.mailSended
=
Lippu l
\u
00E4hetetty s
\u
00E4hk
\u
00F6postiisi
user.roles
=
Pakotetut roolit
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_en.properties
View file @
f54af4f
...
@@ -353,6 +353,7 @@ error.contact = If this happens again, contact Info with the following code:
...
@@ -353,6 +353,7 @@ error.contact = If this happens again, contact Info with the following code:
error.error
=
You have encountered an error.
error.error
=
You have encountered an error.
etickets.eticketcode
=
Ticket
etickets.eticketcode
=
Ticket
etickets.mailSended
=
Ticket has been sended to your email
etickets.place
=
Place
etickets.place
=
Place
etickets.placeinfo
=
Placeinfo
etickets.placeinfo
=
Placeinfo
etickets.placemap
=
Places on map
etickets.placemap
=
Places on map
...
@@ -535,33 +536,40 @@ imagefile.file = Imagefile
...
@@ -535,33 +536,40 @@ imagefile.file = Imagefile
importuser.file
=
File
importuser.file
=
File
importuser.template
=
Template
importuser.template
=
Template
incomingFlow.count
=
Count
incomingFlow.leftCount
=
Ungiven
incomingView.attach
=
Attach
incomingView.attach
=
Attach
incomingView.attachDialogTitle
=
Attach code to user
incomingView.attachDialogTitle
=
Attach code to user
incomingView.cancel
=
Cancel
incomingView.cancel
=
Cancel
incomingflow.allGiven
=
Marked {0} tickets given.
incomingflow.alreadyShowingUser.message
=
We are already showing selected user
incomingflow.alreadyShowingUser.message
=
We are already showing selected user
incomingflow.alreadyShowingUser.title
=
Already selected
incomingflow.alreadyShowingUser.title
=
Already selected
incomingflow.barcode
=
Barcode
incomingflow.barcode
=
Barcode
incomingflow.cardCodes
=
Barcodes in card
incomingflow.cardCodes
=
Barcodes in card
incomingflow.cardfiling.label
=
Card filing:
incomingflow.cardfiling.label
=
Card filing:
incomingflow.changereader
=
Select or Change Reader
incomingflow.changereader
=
Select or Change Reader
incomingflow.codeattached.message
=
Code attached to current user's card
incomingflow.codeattached.message
=
Code attached to current user's card
incomingflow.codeattached.title
=
Code attached
incomingflow.codeattached.title
=
Code attached
incomingflow.giveplace
=
Mark given
incomingflow.giveplace
=
Mark given
incomingflow.groupmemberships
=
Group memberships
incomingflow.groupmemberships
=
Group memberships
incomingflow.invalidbarcode.message
=
Nothing found with barcode, you can now add it to the user
incomingflow.invalidbarcode.message
=
Nothing found with barcode, you can now add it to the user
incomingflow.invalidbarcode.title
=
Invalid code
incomingflow.invalidbarcode.title
=
Invalid code
incomingflow.multisearch
=
Multisearch
incomingflow.markEverythingGiven
=
Give ewerything ungiven stuff
incomingflow.printedCard
=
Card
incomingflow.multisearch
=
Multisearch
incomingflow.search
=
Search
incomingflow.placesummary
=
Placesummary
incomingflow.ungiveplace
=
Mark not given
incomingflow.printedCard
=
Card
incomingflow.userdetails
=
User details
incomingflow.search
=
Search
incomingflow.usereditor
=
User
incomingflow.ungiveplace
=
Mark not given
incomingflow.usereditor.info
=
User
incomingflow.userdetails
=
User details
incomingflow.usereditor.picture
=
Picturetake
incomingflow.usereditor
=
User
incomingflow.usereditor.info
=
User
incomingflow.usereditor.picture
=
Picturetake
infoview.back
=
Back
infoview.back
=
Back
infoview.computerplace
=
Computer places
infoview.computerplace
=
Computer places
infoview.multisearch
=
Usersearch
infoview.shop
=
Shop
infoview.shop
=
Shop
inventory.product.info
=
Info
inventory.product.info
=
Info
...
@@ -1074,6 +1082,7 @@ reader.description = Description
...
@@ -1074,6 +1082,7 @@ reader.description = Description
reader.edit
=
Edit
reader.edit
=
Edit
reader.identification
=
Identification
reader.identification
=
Identification
reader.name
=
Reader name
reader.name
=
Reader name
reader.noReader
=
No selected reader
reader.save
=
Save
reader.save
=
Save
reader.select
=
Select reader
reader.select
=
Select reader
reader.tag
=
Tag
reader.tag
=
Tag
...
@@ -1254,6 +1263,7 @@ submenu.foodwave.list = Foodwaves
...
@@ -1254,6 +1263,7 @@ submenu.foodwave.list = Foodwaves
submenu.foodwave.listTemplates
=
Food provides
submenu.foodwave.listTemplates
=
Food provides
submenu.help
=
Ticket help
submenu.help
=
Ticket help
submenu.index
=
Frontpage
submenu.index
=
Frontpage
submenu.info.cardlessIncoming
=
Incoming
submenu.info.foodwave.foodwaveshop
=
Foodshop
submenu.info.foodwave.foodwaveshop
=
Foodshop
submenu.info.incoming
=
Extendet Incomingview
submenu.info.incoming
=
Extendet Incomingview
submenu.info.index
=
Infoview
submenu.info.index
=
Infoview
...
@@ -1328,6 +1338,7 @@ subnavi.info = Info
...
@@ -1328,6 +1338,7 @@ subnavi.info = Info
subnavi.products
=
Products
subnavi.products
=
Products
subnavi.readers
=
Readers
subnavi.readers
=
Readers
subnavi.roles
=
Roles
subnavi.roles
=
Roles
subnavi.vips
=
VIP-list
success
=
Success
success
=
Success
...
@@ -1598,6 +1609,7 @@ user.successfullySaved = Changes saved successfully
...
@@ -1598,6 +1609,7 @@ user.successfullySaved = Changes saved successfully
user.superadmin
=
Superadmin
user.superadmin
=
Superadmin
user.thisIsCurrentImage
=
Current image
user.thisIsCurrentImage
=
Current image
user.town
=
City
user.town
=
City
user.unauthenticated
=
Unauthenticated
user.uploadimage
=
Send image
user.uploadimage
=
Send image
user.userSelectableRoles
=
Select one
user.userSelectableRoles
=
Select one
user.username
=
Username
user.username
=
Username
...
@@ -1650,6 +1662,26 @@ viewexpired.title = Login expired. Please login again.
...
@@ -1650,6 +1662,26 @@ viewexpired.title = Login expired. Please login again.
viewlectures.title
=
Courses and lectures
viewlectures.title
=
Courses and lectures
vip.create
=
Create
vip.createNew
=
Create new
vip.deliver
=
Deliver
vip.description
=
Description
vip.edit
=
Edit
vip.host
=
Host
vip.hostsName
=
Host
vip.productDelivered
=
Delivered
vip.productQuantity
=
Qty
vip.products
=
Product
vip.save
=
Save
vip.shortdescr
=
Short description
vipProduct.create
=
Create
vipProduct.deliver
=
Deliver
vipProduct.deliverNotes
=
Notes
vipProduct.delivered
=
Delivered
vipProduct.name
=
Product
vipProduct.quantity
=
Quantity
voting.allcompos.curEntries
=
# of entries
voting.allcompos.curEntries
=
# of entries
voting.allcompos.descri = Description
voting.allcompos.descri = Description
voting.allcompos.description
=
List of all compos and theirs information.
voting.allcompos.description
=
List of all compos and theirs information.
...
@@ -1693,12 +1725,3 @@ voting.create.voteEnd = Voting close
...
@@ -1693,12 +1725,3 @@ voting.create.voteEnd = Voting close
voting.create.voteStart
=
Voting start
voting.create.voteStart
=
Voting start
yes
=
Yes
yes
=
Yes
infoview.multisearch
=
Usersearch
incomingflow.placesummary
=
Placesummary
incomingFlow.leftCount
=
Ungiven
incomingflow.markEverythingGiven
=
Give ewerything ungiven stuff
submenu.info.cardlessIncoming
=
Incoming
incomingFlow.count
=
Count
incomingflow.allGiven
=
Marked {0} tickets given.
reader.noReader
=
No selected reader
etickets.mailSended
=
Ticket has been sended to your email
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_fi.properties
View file @
f54af4f
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
acc_line.eventuser
=
Asiakas
acc_line.eventuser
=
Asiakas
acc_line.nick
=
Nimimerkki
acc_line.nick
=
Nimimerkki
acc_line.place
=
Paikka
acc_line.product
=
Tuote
acc_line.product
=
Tuote
acc_line.quantity
=
M
\u
00E4
\u
00E4r
\u
00E4
acc_line.quantity
=
M
\u
00E4
\u
00E4r
\u
00E4
acc_line.time
=
Ostoaika
acc_line.time
=
Ostoaika
...
@@ -354,6 +355,7 @@ error.contact = Jos t\u00E4m\u00E4 toistuu, ota seuraava koodi talteen ja ota yh
...
@@ -354,6 +355,7 @@ error.contact = Jos t\u00E4m\u00E4 toistuu, ota seuraava koodi talteen ja ota yh
error.error
=
Olet kohdannut virheen.
error.error
=
Olet kohdannut virheen.
etickets.eticketcode
=
Lippu
etickets.eticketcode
=
Lippu
etickets.mailSended
=
Lippu l
\u
00E4hetetty s
\u
00E4hk
\u
00F6postiisi
etickets.place
=
Paikka
etickets.place
=
Paikka
etickets.placeinfo
=
Paikkatiedot
etickets.placeinfo
=
Paikkatiedot
etickets.placemap
=
Paikat kartalla
etickets.placemap
=
Paikat kartalla
...
@@ -543,35 +545,42 @@ imagefile.file = Kuvatiedosto
...
@@ -543,35 +545,42 @@ imagefile.file = Kuvatiedosto
importuser.file
=
Tiedosto
importuser.file
=
Tiedosto
importuser.template
=
Malli
importuser.template
=
Malli
incomingFlow.count
=
M
\u
00E4
\u
00E4r
\u
00E4
incomingFlow.leftCount
=
Noutamatta
incomingView.attach
=
Liit
\u
00E4
incomingView.attach
=
Liit
\u
00E4
incomingView.attachDialogTitle
=
Liit
\u
00E4 koodi k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingView.attachDialogTitle
=
Liit
\u
00E4 koodi k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingView.cancel
=
Peruuta
incomingView.cancel
=
Peruuta
incomingflow.allGiven
=
Merkitty {0} lippu(a) annetuksi.
incomingflow.alreadyShowingUser.message
=
Piipattu k
\u
00E4ytt
\u
00E4j
\u
00E4 on jo n
\u
00E4kyviss
\u
00E4
incomingflow.alreadyShowingUser.message
=
Piipattu k
\u
00E4ytt
\u
00E4j
\u
00E4 on jo n
\u
00E4kyviss
\u
00E4
incomingflow.alreadyShowingUser.title
=
Valmiiksi valittu
incomingflow.alreadyShowingUser.title
=
Valmiiksi valittu
incomingflow.barcode
=
Viivakoodi
incomingflow.barcode
=
Viivakoodi
incomingflow.cardCodes
=
Korttiin liitetyt koodit
incomingflow.cardCodes
=
Korttiin liitetyt koodit
incomingflow.cardfiling.label
=
Kortin kansiointi:
incomingflow.cardfiling.label
=
Kortin kansiointi:
incomingflow.changereader
=
Vaihda / valitse lukija
incomingflow.changereader
=
Vaihda / valitse lukija
incomingflow.codeattached.message
=
Piipattu koodi liitetty aktiiviseen k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingflow.codeattached.message
=
Piipattu koodi liitetty aktiiviseen k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingflow.codeattached.title
=
Koodi liitetty
incomingflow.codeattached.title
=
Koodi liitetty
incomingflow.giveplace
=
Merkitse annetuksi
incomingflow.giveplace
=
Merkitse annetuksi
incomingflow.groupmemberships
=
Konepaikat sek
\u
00E4 liput
incomingflow.groupmemberships
=
Konepaikat sek
\u
00E4 liput
incomingflow.invalidbarcode.message
=
Piipatulla koodilla ei l
\u
00F6ytynyt mit
\u
00E4
\u
00E4n, voit lis
\u
00E4t
\u
00E4 koodin k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingflow.invalidbarcode.message
=
Piipatulla koodilla ei l
\u
00F6ytynyt mit
\u
00E4
\u
00E4n, voit lis
\u
00E4t
\u
00E4 koodin k
\u
00E4ytt
\u
00E4j
\u
00E4
\u
00E4n
incomingflow.invalidbarcode.title
=
Virheellinen koodi
incomingflow.invalidbarcode.title
=
Virheellinen koodi
incomingflow.multisearch
=
Monihaku
incomingflow.markEverythingGiven
=
Anna kaikki antamattomat tuotteet
incomingflow.printedCard
=
Kortti
incomingflow.multisearch
=
Monihaku
incomingflow.search
=
Etsi
incomingflow.placesummary
=
Paikkayhteenveto
incomingflow.ungiveplace
=
Ei olekkaan annettu
incomingflow.printedCard
=
Kortti
incomingflow.userdetails
=
K
\u
00E4ytt
\u
00E4j
\u
00E4n tiedot
incomingflow.search
=
Etsi
incomingflow.usereditor
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
incomingflow.ungiveplace
=
Ei olekkaan annettu
incomingflow.usereditor.info
=
K
\u
00E4vij
\u
00E4
incomingflow.userdetails
=
K
\u
00E4ytt
\u
00E4j
\u
00E4n tiedot
incomingflow.usereditor.picture
=
Kuvanotto
incomingflow.usereditor
=
K
\u
00E4ytt
\u
00E4j
\u
00E4
incomingflow.usereditor.info
=
K
\u
00E4vij
\u
00E4
incomingflow.usereditor.picture
=
Kuvanotto
index.title
=
Etusivu
index.title
=
Etusivu
infoview.back
=
Takaisin
infoview.back
=
Takaisin
infoview.computerplace
=
Tietokonepaikat
infoview.computerplace
=
Tietokonepaikat
infoview.multisearch
=
K
\u
00E4ytt
\u
00E4j
\u
00E4haku
infoview.shop
=
Kauppa
infoview.shop
=
Kauppa
inventory.product.info
=
Info
inventory.product.info
=
Info
...
@@ -1059,6 +1068,7 @@ reader.description = Kuvaus
...
@@ -1059,6 +1068,7 @@ reader.description = Kuvaus
reader.edit
=
Muokkaa
reader.edit
=
Muokkaa
reader.identification
=
Tunniste
reader.identification
=
Tunniste
reader.name
=
Lukijan nimi
reader.name
=
Lukijan nimi
reader.noReader
=
Ei valittua lukijaa
reader.save
=
Tallenna
reader.save
=
Tallenna
reader.select
=
Valitse lukija
reader.select
=
Valitse lukija
reader.tag
=
Tag
reader.tag
=
Tag
...
@@ -1234,6 +1244,7 @@ submenu.foodwave.list = Ruokatilaukset
...
@@ -1234,6 +1244,7 @@ submenu.foodwave.list = Ruokatilaukset
submenu.frontpage
=
Etusivu
submenu.frontpage
=
Etusivu
submenu.help
=
Lippuopas
submenu.help
=
Lippuopas
submenu.index
=
Etusivu
submenu.index
=
Etusivu
submenu.info.cardlessIncoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.foodwave.foodwaveshop
=
Ruokakauppa
submenu.info.foodwave.foodwaveshop
=
Ruokakauppa
submenu.info.incoming
=
Laaja Sis
\u
00E4
\u
00E4ntulon
\u
00E4kym
\u
00E4
submenu.info.incoming
=
Laaja Sis
\u
00E4
\u
00E4ntulon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
...
@@ -1311,6 +1322,7 @@ subnavi.info = Info
...
@@ -1311,6 +1322,7 @@ subnavi.info = Info
subnavi.products
=
Tuotteet
subnavi.products
=
Tuotteet
subnavi.readers
=
Lukijat
subnavi.readers
=
Lukijat
subnavi.roles
=
Roolit
subnavi.roles
=
Roolit
subnavi.vips
=
Vippilista
success
=
Onnistui
success
=
Onnistui
...
@@ -1581,6 +1593,7 @@ user.successfullySaved = Tiedot tallennettu onnistuneesti
...
@@ -1581,6 +1593,7 @@ user.successfullySaved = Tiedot tallennettu onnistuneesti
user.superadmin
=
Superadmin
user.superadmin
=
Superadmin
user.thisIsCurrentImage
=
Nykyinen kuva
user.thisIsCurrentImage
=
Nykyinen kuva
user.town
=
Kaupunki
user.town
=
Kaupunki
user.unauthenticated
=
Kirjautumaton
user.uploadimage
=
L
\u
00E4het
\u
00E4 kuva
user.uploadimage
=
L
\u
00E4het
\u
00E4 kuva
user.userSelectableRoles
=
Valitse yksi
user.userSelectableRoles
=
Valitse yksi
user.username
=
K
\u
00E4ytt
\u
00E4j
\u
00E4tunnus
user.username
=
K
\u
00E4ytt
\u
00E4j
\u
00E4tunnus
...
@@ -1632,6 +1645,26 @@ viewexpired.title = N\u00E4kym\u00E4 on vanhentunut
...
@@ -1632,6 +1645,26 @@ viewexpired.title = N\u00E4kym\u00E4 on vanhentunut
viewlectures.title
=
Kurssit ja luennot
viewlectures.title
=
Kurssit ja luennot
vip.create
=
Luo
vip.createNew
=
Luo uusi
vip.deliver
=
Toimita
vip.description
=
Kuvaus
vip.edit
=
Muokkaa
vip.host
=
Is
\u
00E4nt
\u
00E4
vip.hostsName
=
Is
\u
00E4nt
\u
00E4
vip.productDelivered
=
Toimitettu
vip.productQuantity
=
Lkm
vip.products
=
Tuote
vip.save
=
Tallenna
vip.shortdescr
=
Lyhyt kuvaus
vipProduct.create
=
Lis
\u
00E4
\u
00E4
vipProduct.deliver
=
Toimita
vipProduct.deliverNotes
=
Huomiot
vipProduct.delivered
=
Toimitettu
vipProduct.name
=
Tuote
vipProduct.quantity
=
Lukum
\u
00E4
\u
00E4r
\u
00E4
voting.allcompos.curEntries
=
Entryja
voting.allcompos.curEntries
=
Entryja
voting.allcompos.descri
=
Kuvaus
voting.allcompos.descri
=
Kuvaus
voting.allcompos.description
=
Compojen informaatiot.
voting.allcompos.description
=
Compojen informaatiot.
...
@@ -1675,14 +1708,3 @@ voting.create.voteEnd = \u00C4\u00E4nestys kiinni
...
@@ -1675,14 +1708,3 @@ voting.create.voteEnd = \u00C4\u00E4nestys kiinni
voting.create.voteStart
=
\u
00C4
\u
00E4nestys auki
voting.create.voteStart
=
\u
00C4
\u
00E4nestys auki
yes
=
Kyll
\u
00E4
yes
=
Kyll
\u
00E4
acc_line.place
=
Paikka
infoview.multisearch
=
K
\u
00E4ytt
\u
00E4j
\u
00E4haku
incomingflow.placesummary
=
Paikkayhteenveto
incomingFlow.leftCount
=
Noutamatta
user.unauthenticated
=
incomingflow.markEverythingGiven
=
Anna kaikki antamattomat tuotteet
submenu.info.cardlessIncoming
=
Sis
\u
00E4
\u
00E4ntulo
incomingFlow.count
=
M
\u
00E4
\u
00E4r
\u
00E4
incomingflow.allGiven
=
Merkitty {0} lippu(a) annetuksi.
reader.noReader
=
Ei valittua lukijaa
etickets.mailSended
=
Lippu l
\u
00E4hetetty s
\u
00E4hk
\u
00F6postiisi
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