Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Riina Antikainen
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 9cb48f04
authored
Jan 07, 2018
by
Tuukka Kivilahti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
adding deliverable stuff
1 parent
dbdee32e
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
87 additions
and
28 deletions
code/moya-beans/ejbModule/fi/codecrew/moya/beans/BootstrapBean.java
code/moya-beans/ejbModule/fi/codecrew/moya/beans/ProductBean.java
code/moya-database/src/main/java/fi/codecrew/moya/model/AccountEvent.java
code/moya-database/src/main/java/fi/codecrew/moya/model/Product.java
code/moya-web/WebContent/info/incoming.xhtml
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/shop/ProductShopView.java
code/moya-web/src/main/java/fi/codecrew/moya/web/flow/IncomingView.java
code/moya-beans/ejbModule/fi/codecrew/moya/beans/BootstrapBean.java
View file @
9cb48f0
This diff is collapsed.
Click to expand it.
code/moya-beans/ejbModule/fi/codecrew/moya/beans/ProductBean.java
View file @
9cb48f0
...
...
@@ -607,7 +607,7 @@ public class ProductBean implements ProductBeanLocal {
e
=
accounteventfacade
.
reload
(
e
);
if
(
e
.
getDelivered
()
!=
null
)
{
throw
new
EJBException
(
"AccountEvent "
+
e
+
" already marked
pai
d!"
);
throw
new
EJBException
(
"AccountEvent "
+
e
+
" already marked
delivere
d!"
);
}
e
.
setDelivered
(
c
);
...
...
code/moya-database/src/main/java/fi/codecrew/moya/model/AccountEvent.java
View file @
9cb48f0
...
...
@@ -74,9 +74,6 @@ public class AccountEvent extends GenericEntity {
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Calendar
delivered
;
@Column
(
name
=
"delivered_count"
,
nullable
=
false
,
precision
=
24
,
scale
=
4
)
private
BigDecimal
deliveredCount
=
new
BigDecimal
(
0
);
/**
* If this AccountEvent is a product in foodwace, this field is a reference
* to that foodwave.
...
...
@@ -239,14 +236,6 @@ public class AccountEvent extends GenericEntity {
this
.
description
=
description
;
}
public
BigDecimal
getDeliveredCount
()
{
return
deliveredCount
;
}
public
void
setDeliveredCount
(
BigDecimal
deliveredCount
)
{
this
.
deliveredCount
=
deliveredCount
;
}
public
boolean
isEventDelivered
()
{
return
(
delivered
!=
null
);
}
...
...
code/moya-database/src/main/java/fi/codecrew/moya/model/Product.java
View file @
9cb48f0
...
...
@@ -422,6 +422,10 @@ public class Product extends GenericEntity {
return
getProductFlags
().
contains
(
ProductFlag
.
USERSHOP_AUTOPRODUCT
);
}
public
boolean
isDeliverableProduct
()
{
return
!(
isUsershopAutoproduct
()
||
getProductFlags
().
contains
(
ProductFlag
.
PREPAID_CREDIT
));
}
public
Role
getShopRequiredRole
()
{
return
shopRequiredRole
;
}
...
...
code/moya-web/WebContent/info/incoming.xhtml
View file @
9cb48f0
...
...
@@ -320,6 +320,54 @@
<br
/>
<br
/>
<br
/>
<h:outputText
rendered=
"#{empty incomingView.}"
value=
"#{i18n['placegroupview.noMemberships']}"
/>
<h:form
rendered=
"#{!empty incomingView.groupMemberships}"
id=
"placelistform"
>
<p:fieldset
legend=
"#{i18n['incomingflow.groupmemberships']}"
toggleable=
"true"
collapsed=
"#{fieldsetView.isCollapsed(component.id)}"
>
<p:ajax
event=
"toggle"
listener=
"#{fieldsetView.handleToggle}"
/>
<p:dataTable
value=
"#{incomingView.groupMemberships}"
var=
"member"
rowStyleClass=
"#{member.enteredEvent != null ? 'success':''}"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['placegroupview.reservationName']}"
/>
</f:facet>
<h:outputText
value=
"#{member.placeReservation.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['placegroupview.reservationProduct']}"
/>
</f:facet>
<h:outputText
value=
"#{member.placeReservation.product.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['placegroupview.token']}"
/>
</f:facet>
<h:outputText
rendered=
"#{empty member.user}"
value=
"#{member.inviteToken}"
/>
<h:outputText
rendered=
"#{!empty member.user}"
value=
"#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['placegroupview.groupCreator']}"
/>
</f:facet>
<h:outputText
value=
"#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})"
/>
</p:column>
<p:column>
<p:commandButton
update=
":placelistform"
rendered=
"#{empty member.enteredEvent}"
actionListener=
"#{incomingView.givePlace}"
value=
"#{i18n['incomingflow.giveplace']}"
/>
<p:commandButton
update=
":placelistform"
rendered=
"#{!empty member.enteredEvent}"
actionListener=
"#{incomingView.ungivePlace}"
value=
"#{i18n['incomingflow.ungiveplace']}"
/>
</p:column>
</p:dataTable>
</p:fieldset>
</h:form>
<br
/>
<br
/>
<br
/>
<h:form
id=
"cardcodeform"
>
<p:fieldset
legend=
"#{i18n['incomingflow.cardCodes']}"
toggleable=
"true"
collapsed=
"#{fieldsetView.isCollapsed(component.id)}"
>
<p:ajax
event=
"toggle"
listener=
"#{fieldsetView.handleToggle}"
/>
...
...
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/shop/ProductShopView.java
View file @
9cb48f0
...
...
@@ -19,12 +19,7 @@
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
shop
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Iterator
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.*
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
...
...
@@ -34,6 +29,7 @@ import javax.faces.model.ListDataModel;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
fi.codecrew.moya.model.*
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
...
...
@@ -42,14 +38,6 @@ import fi.codecrew.moya.beans.EventBeanLocal;
import
fi.codecrew.moya.beans.ProductBeanLocal
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.enums.apps.ShopPermission
;
import
fi.codecrew.moya.model.Bill
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.model.LanEventProperty
;
import
fi.codecrew.moya.model.LanEventPropertyKey
;
import
fi.codecrew.moya.model.Product
;
import
fi.codecrew.moya.model.ProductFlag
;
import
fi.codecrew.moya.model.ReaderEvent
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
import
fi.codecrew.moya.web.cdiview.reader.ReaderView
;
import
fi.codecrew.moya.web.cdiview.user.UserView
;
...
...
@@ -400,11 +388,15 @@ public class ProductShopView extends GenericCDIView {
for
(
ProductShopItem
shopitem
:
shoppingcart
)
{
if
(
shopitem
.
getCount
().
compareTo
(
BigDecimal
.
ZERO
)
>
0
)
{
// retuser = productBean.createAccountEvent(shopitem.getProduct(), shopitem.getCount(), shopitem.getOverriddenUnitPrice(), userView.getSelectedUser()).getUser();
BigDecimal
overriddenPrice
=
(
shopitem
.
isOverrideUnitPrice
())
?
shopitem
.
getOverriddenUnitPrice
()
:
null
;
retuser
=
productBean
.
createAccountEvent
(
shopitem
.
getProduct
(),
overriddenPrice
,
shopitem
.
getCount
(),
userView
.
getSelectedUser
()).
getUser
();
AccountEvent
ae
=
productBean
.
createAccountEvent
(
shopitem
.
getProduct
(),
overriddenPrice
,
shopitem
.
getCount
(),
userView
.
getSelectedUser
());
// buying from shop means that product is delivered already
ae
=
productBean
.
markDelivered
(
ae
,
Calendar
.
getInstance
());
retuser
=
ae
.
getUser
();
}
}
...
...
code/moya-web/src/main/java/fi/codecrew/moya/web/flow/IncomingView.java
View file @
9cb48f0
...
...
@@ -40,6 +40,7 @@ import javax.inject.Inject;
import
javax.inject.Named
;
import
javax.json.JsonObject
;
import
java.util.ArrayList
;
import
java.util.List
;
@Named
@ConversationScoped
...
...
@@ -92,6 +93,7 @@ public class IncomingView extends GenericCDIView {
// private String searchBarcode = "";
private
ListDataModel
<
GroupMembership
>
memberlist
=
null
;
private
ListDataModel
<
AccountEvent
>
deliverableAccountevents
=
null
;
private
ListDataModel
<
CardCode
>
cardCodes
;
public
void
initView
()
{
...
...
@@ -111,6 +113,7 @@ public class IncomingView extends GenericCDIView {
public
void
initPrintCardView
()
{
memberlist
=
null
;
deliverableAccountevents
=
null
;
if
(!
super
.
requirePermissions
(
UserPermission
.
MODIFY
))
{
super
.
navihandler
.
redirectNavigation
(
"index.jsf"
);
...
...
@@ -216,6 +219,7 @@ public class IncomingView extends GenericCDIView {
EventUser
user
=
event
.
getUser
();
memberlist
=
null
;
deliverableAccountevents
=
null
;
if
(
user
==
null
)
{
logger
.
debug
(
"got no user from barcode"
);
...
...
@@ -282,6 +286,28 @@ public class IncomingView extends GenericCDIView {
return
memberlist
;
}
public
ListDataModel
<
AccountEvent
>
getDeliverableAccountevents
()
{
List
<
AccountEvent
>
accountEvents
=
new
ArrayList
<>();
for
(
AccountEvent
ae
:
userview
.
getSelectedUser
().
getAccountEvents
())
{
if
(!
ae
.
getProduct
().
isDeliverableProduct
())
{
continue
;
}
// places are there already, so don't add them second time
if
(
ae
.
getProduct
().
getPlaces
()
!=
null
&&
!
ae
.
getProduct
().
getPlaces
().
isEmpty
())
{
continue
;
}
accountEvents
.
add
(
ae
);
}
deliverableAccountevents
=
new
ListDataModel
<
AccountEvent
>(
accountEvents
);
return
deliverableAccountevents
;
}
public
ListDataModel
<
CardCode
>
getCardCodes
()
{
if
(
userview
.
getPrintedCard
()
==
null
)
...
...
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