Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Romain Courteaud
slapos.core
Commits
c462a6e4
Commit
c462a6e4
authored
Jun 05, 2024
by
Romain Courteaud
🐸
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
slapos_subscription_request: quantity precision is not related to the price currency
parent
07fd88e9
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
31 deletions
+1
-31
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/OpenSaleOrderCell_createDiscountSalePackingList.py
...equest/OpenSaleOrderCell_createDiscountSalePackingList.py
+1
-31
No files found.
master/bt5/slapos_subscription_request/SkinTemplateItem/portal_skins/slapos_subscription_request/OpenSaleOrderCell_createDiscountSalePackingList.py
View file @
c462a6e4
...
@@ -53,26 +53,6 @@ if (0 < unused_day_count):
...
@@ -53,26 +53,6 @@ if (0 < unused_day_count):
**
sale_packing_list_edit_kw
**
sale_packing_list_edit_kw
)
)
"""
price = -subscription_request.getPrice() * (unused_day_count / (next_period_date - start_date))
precision = context.getQuantityPrecisionFromResource(subscription_request.getPriceCurrencyValue())
# Use currency precision to reduce the float length
price = float(('%%0.%sf' % precision) % price)
discount_service = portal.restrictedTraverse('service_module/slapos_discount')
sale_packing_list.newContent(
portal_type="Sale Packing List Line",
resource_value=discount_service,
# Use a quantity of 1 to be able to count how many discount were distributed
quantity=1,
price=price,
quantity_unit_value=discount_service.getQuantityUnitValue(),
base_contribution_list=discount_service.getBaseContributionList(),
use=discount_service.getUse(),
activate_kw=activate_kw
)
"""
variation_category_list
=
open_sale_order_cell
.
getVariationCategoryList
()
variation_category_list
=
open_sale_order_cell
.
getVariationCategoryList
()
sale_packing_list_line
=
sale_packing_list
.
newContent
(
sale_packing_list_line
=
sale_packing_list
.
newContent
(
portal_type
=
"Sale Packing List Line"
,
portal_type
=
"Sale Packing List Line"
,
...
@@ -104,19 +84,10 @@ if (0 < unused_day_count):
...
@@ -104,19 +84,10 @@ if (0 < unused_day_count):
quantity
=
open_sale_order_cell
.
getQuantity
()
*
(
unused_day_count
/
(
next_period_date
-
start_date
))
quantity
=
open_sale_order_cell
.
getQuantity
()
*
(
unused_day_count
/
(
next_period_date
-
start_date
))
# precision = context.getQuantityPrecisionFromResource(subscription_request.getResourceValue())
# precision = context.getQuantityPrecisionFromResource(subscription_request.getResourceValue())
# XXX use currency precision, to ensure accounting is readable?
precision
=
context
.
getQuantityPrecisionFromResource
(
open_sale_order_cell
.
getResourceValue
())
precision
=
context
.
getQuantityPrecisionFromResource
(
open_sale_order_cell
.
getPriceCurrencyValue
())
# precision = 3
# Use currency precision to reduce the float length
# Use currency precision to reduce the float length
quantity
=
float
((
'%%0.%sf'
%
precision
)
%
quantity
)
quantity
=
float
((
'%%0.%sf'
%
precision
)
%
quantity
)
# raise NotImplementedError('%s %s -- %s' % (precision, quantity, subscription_request.getResourceValue().getBaseUnitQuantity()))
price
=
-
open_sale_order_cell
.
getPrice
()
*
(
unused_day_count
/
(
next_period_date
-
start_date
))
precision
=
context
.
getQuantityPrecisionFromResource
(
open_sale_order_cell
.
getPriceCurrencyValue
())
# Use currency precision to reduce the float length
price
=
float
((
'%%0.%sf'
%
precision
)
%
price
)
aggregate_value_list
=
[
x
for
x
in
open_sale_order_cell
.
getAggregateValue
()
if
(
x
.
getPortalType
()
!=
'Hosting Subscription'
)]
aggregate_value_list
=
[
x
for
x
in
open_sale_order_cell
.
getAggregateValue
()
if
(
x
.
getPortalType
()
!=
'Hosting Subscription'
)]
sale_packing_list_cell
.
edit
(
sale_packing_list_cell
.
edit
(
# Quantity is negative, to reduce the stock of the consumed product
# Quantity is negative, to reduce the stock of the consumed product
...
@@ -126,7 +97,6 @@ if (0 < unused_day_count):
...
@@ -126,7 +97,6 @@ if (0 < unused_day_count):
activate_kw
=
activate_kw
activate_kw
=
activate_kw
)
)
# """
sale_packing_list
.
Delivery_fixBaseContributionTaxableRate
()
sale_packing_list
.
Delivery_fixBaseContributionTaxableRate
()
sale_packing_list
.
Base_checkConsistency
()
sale_packing_list
.
Base_checkConsistency
()
sale_packing_list
.
confirm
()
sale_packing_list
.
confirm
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
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 comment