Merge pull request #163 from Tecnativa/11.0-contract_variable_qty-recompute_price

[IMP] contract_variable_quantity: Recompute price when changing qty
This commit is contained in:
Pedro M. Baeza
2018-04-27 03:01:57 +02:00
committed by GitHub
4 changed files with 12 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
# Copyright 2004-2010 OpenERP SA
# Copyright 2014-2017 Tecnativa - Pedro M. Baeza
# Copyright 2014-2018 Tecnativa - Pedro M. Baeza
# Copyright 2015 Domatix
# Copyright 2016-2018 Tecnativa - Carlos Dauden
# Copyright 2017 Tecnativa - Vicent Cubells
@@ -8,7 +8,7 @@
{
'name': 'Contracts Management - Recurring',
'version': '11.0.2.0.1',
'version': '11.0.2.0.2',
'category': 'Contract Management',
'license': 'AGPL-3',
'author': "OpenERP SA, "

View File

@@ -3,7 +3,7 @@
# Copyright 2014 Angel Moya <angel.moya@domatix.com>
# Copyright 2016 Carlos Dauden <carlos.dauden@tecnativa.com>
# Copyright 2016-2017 LasLabs Inc.
# Copyright 2015-2017 Tecnativa - Pedro M. Baeza
# Copyright 2015-2018 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from dateutil.relativedelta import relativedelta
@@ -98,7 +98,9 @@ class AccountAnalyticInvoiceLine(models.Model):
for line in self:
if line.automatic_price:
product = line.product_id.with_context(
quantity=line.quantity,
quantity=line.env.context.get(
'contract_line_qty', line.quantity,
),
pricelist=line.analytic_account_id.pricelist_id.id,
partner=line.analytic_account_id.partner_id.id,
date=line.env.context.get('old_date', fields.Date.today()),

View File

@@ -1,10 +1,10 @@
# Copyright 2016 Tecnativa - Pedro M. Baeza
# Copyright 2016-2018 Tecnativa - Pedro M. Baeza
# Copyright 2018 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
'name': 'Variable quantity in contract recurrent invoicing',
'version': '11.0.1.2.0',
'version': '11.0.1.2.1',
'category': 'Contract Management',
'license': 'AGPL-3',
'author': "Tecnativa,"

View File

@@ -38,6 +38,10 @@ class AccountAnalyticAccount(models.Model):
vals = {}
else:
vals['quantity'] = qty
# Re-evaluate price with this new quantity
vals['price_unit'] = line.with_context(
contract_line_qty=qty,
).price_unit
return vals