Browse Source

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

[IMP] contract_variable_quantity: Recompute price when changing qty
pull/168/head
Pedro M. Baeza 7 years ago
committed by GitHub
parent
commit
28e3d2a00c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      contract/__manifest__.py
  2. 6
      contract/models/account_analytic_invoice_line.py
  3. 4
      contract_variable_quantity/__manifest__.py
  4. 4
      contract_variable_quantity/models/contract.py

4
contract/__manifest__.py

@ -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, "

6
contract/models/account_analytic_invoice_line.py

@ -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()),

4
contract_variable_quantity/__manifest__.py

@ -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,"

4
contract_variable_quantity/models/contract.py

@ -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

Loading…
Cancel
Save