[14.0][MIG] contract_variable_qty_prorated

This commit is contained in:
Giovanni
2022-10-31 10:03:58 +01:00
parent 5daadbd0f3
commit 11ffdc6853
7 changed files with 23 additions and 18 deletions

View File

@@ -6,12 +6,12 @@
"summary": """ "summary": """
This module adds a formula to compute prorated quantity to invoice as This module adds a formula to compute prorated quantity to invoice as
extension of the module contract_variable_quantity""", extension of the module contract_variable_quantity""",
"version": "12.0.1.1.0", "version": "14.0.1.0.0",
"development_status": "Beta", "development_status": "Beta",
"license": "AGPL-3", "license": "AGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)", "author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"maintainers": ["sbejaoui"], "maintainers": ["sbejaoui"],
"website": "https://github.com/oca/contract", "website": "https://github.com/OCA/contract",
"depends": ["contract_variable_quantity"], "depends": ["contract_variable_quantity"],
"data": [ "data": [
"data/contract_variable_qty_prorated.xml", "data/contract_variable_qty_prorated.xml",

View File

@@ -1,10 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2018 ACSONE SA/NV <!-- Copyright 2018 ACSONE SA/NV
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo> <odoo>
<record id="contract_variable_qty_prorated" <record id="contract_variable_qty_prorated" model="contract.line.qty.formula">
model="contract.line.qty.formula">
<field name='name'>Prorated Quantity</field> <field name='name'>Prorated Quantity</field>
<field name="code"> <field name="code">
result = 0 result = 0

View File

@@ -7,10 +7,7 @@ from odoo import api, models
class ContractLine(models.Model): class ContractLine(models.Model):
_inherit = "contract.line" _inherit = "contract.line"
@api.multi def compute_prorated(self, period_first_date, period_last_date, invoice_date):
def compute_prorated(
self, period_first_date, period_last_date, invoice_date
):
self.ensure_one() self.ensure_one()
return self._compute_prorated( return self._compute_prorated(
period_first_date, period_first_date,
@@ -42,9 +39,7 @@ class ContractLine(models.Model):
recurring_rule_type == "monthlylastday" recurring_rule_type == "monthlylastday"
and recurring_invoicing_type == "post-paid" and recurring_invoicing_type == "post-paid"
): ):
relative_delta = self.get_relative_delta( relative_delta = self.get_relative_delta("monthly", recurring_interval)
"monthly", recurring_interval
)
theoretical_next_date += self.get_relative_delta("daily", 1) theoretical_next_date += self.get_relative_delta("daily", 1)
if recurring_invoicing_type == "pre-paid": if recurring_invoicing_type == "pre-paid":

View File

@@ -1,2 +1,3 @@
* Souheil Bejaoui <souheil.bejaoui@acsone.eu> * Souheil Bejaoui <souheil.bejaoui@acsone.eu>
* Thomas Binsfeld <thomas.binsfeld@acsone.eu> * Thomas Binsfeld <thomas.binsfeld@acsone.eu>
* Giovanni Serra <giovanni@gslab.it>

View File

@@ -1,19 +1,22 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8" ?>
<!-- <!--
Copyright 2018 ACSONE SA/NV. Copyright 2018 ACSONE SA/NV.
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
--> -->
<odoo> <odoo>
<record id="contract_abstract_contract_line_form_view" model="ir.ui.view"> <record id="contract_abstract_contract_line_form_view" model="ir.ui.view">
<field name="name">Contract Line Form View (in abstract_contract_view.xml)</field> <field
name="name"
>Contract Line Form View (in abstract_contract_view.xml)</field>
<field name="model">contract.abstract.contract.line</field> <field name="model">contract.abstract.contract.line</field>
<field name="inherit_id" ref="contract.contract_abstract_contract_line_form_view"/> <field
name="inherit_id"
ref="contract.contract_abstract_contract_line_form_view"
/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="//field[@name='quantity']" position="attributes"> <xpath expr="//field[@name='quantity']" position="attributes">
<attribute name="attrs"/> <attribute name="attrs" />
<attribute name="required">True</attribute> <attribute name="required">True</attribute>
</xpath> </xpath>
</field> </field>

View File

@@ -0,0 +1 @@
../../../../contract_variable_qty_prorated

View File

@@ -0,0 +1,6 @@
import setuptools
setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)