Actualización de las pruebas del modulo
This commit is contained in:
parent
90f641766a
commit
554bf84e53
51
invoice.py
51
invoice.py
@ -1,10 +1,10 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.model import ModelView, ModelSQL, fields
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.model import fields
|
||||
from trytond.pyson import Eval
|
||||
from trytond.model.exceptions import ValidationError
|
||||
|
||||
from trytond.exceptions import UserError
|
||||
|
||||
class Invoice(metaclass=PoolMeta):
|
||||
'Account Invoice'
|
||||
@ -12,28 +12,31 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
_states = {
|
||||
'readonly': Eval('state') != 'draft',
|
||||
}
|
||||
}
|
||||
|
||||
account_analytic = fields.Many2One(
|
||||
'analytic_account.account', 'Analytic Account',
|
||||
domain=[('type', '=', 'normal')],
|
||||
states=_states)
|
||||
|
||||
|
||||
account_analytic = fields.Many2One('analytic_account.account', 'Analytic Account',
|
||||
domain=[('type', '=', 'normal')],
|
||||
states=_states)
|
||||
|
||||
|
||||
class InvoiceLine(metaclass=PoolMeta):
|
||||
'Invoice Line'
|
||||
__name__ = 'account.invoice.line'
|
||||
|
||||
@fields.depends('product', 'unit', '_parent_invoice.type', 'analytic_accounts',
|
||||
'_parent_invoice.party', 'party', 'invoice', 'invoice_type',
|
||||
'_parent_invoice.account_analytic', '_parent_invoice.invoice_date',
|
||||
'_parent_invoice.accounting_date','company', methods=['_get_tax_rule_pattern'])
|
||||
def on_change_product(self):
|
||||
super(InvoiceLine, self).on_change_product()
|
||||
self.analytic_accounts = tuple()
|
||||
try:
|
||||
self.analytic_accounts += ({'root': self.invoice.account_analytic.root,
|
||||
'account': self.invoice.account_analytic},)
|
||||
except:
|
||||
pass
|
||||
'Invoice Line'
|
||||
__name__ = 'account.invoice.line'
|
||||
|
||||
@fields.depends(
|
||||
'product', 'unit', '_parent_invoice.type', 'analytic_accounts',
|
||||
'_parent_invoice.party', 'party', 'invoice', 'invoice_type',
|
||||
'_parent_invoice.account_analytic', '_parent_invoice.invoice_date',
|
||||
'_parent_invoice.accounting_date', 'company',
|
||||
methods=['_get_tax_rule_pattern'])
|
||||
def on_change_product(self):
|
||||
super(InvoiceLine, self).on_change_product()
|
||||
self.analytic_accounts = tuple()
|
||||
try:
|
||||
if self.invoice and self.invoice.account_analytic:
|
||||
self.analytic_accounts += (
|
||||
{'root': self.invoice.account_analytic.root,
|
||||
'account': self.invoice.account_analytic},)
|
||||
except Exception as e:
|
||||
raise ValidationError(f"Se produjo un error: {e}")
|
||||
|
38
purchase.py
38
purchase.py
@ -1,10 +1,10 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.model import ModelView, ModelSQL, fields
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.model import fields
|
||||
from trytond.pyson import Eval
|
||||
from trytond.model.exceptions import ValidationError
|
||||
|
||||
from trytond.exceptions import UserError
|
||||
|
||||
class Purchase(metaclass=PoolMeta):
|
||||
'Purchase Analytic Operation'
|
||||
@ -12,20 +12,25 @@ class Purchase(metaclass=PoolMeta):
|
||||
|
||||
_states = {
|
||||
'readonly': Eval('state') != 'draft',
|
||||
}
|
||||
}
|
||||
|
||||
account_analytic = fields.Many2One(
|
||||
'analytic_account.account', 'Analytic Account', required=True,
|
||||
domain=[('type', '=', 'normal')],
|
||||
states=_states)
|
||||
|
||||
|
||||
account_analytic = fields.Many2One('analytic_account.account', 'Analytic Account', required=True,
|
||||
domain=[('type', '=', 'normal')],
|
||||
states=_states)
|
||||
class PurchaseLine(metaclass=PoolMeta):
|
||||
'Purchase Line Analytic Operation'
|
||||
__name__ = 'purchase.line'
|
||||
__name__ = 'purchase.line'
|
||||
|
||||
@fields.depends('product', 'unit', 'purchase',
|
||||
@fields.depends(
|
||||
'product', 'unit', 'purchase',
|
||||
'_parent_purchase.party', '_parent_purchase.invoice_party',
|
||||
'_parent_purchase.account_analytic', 'product_supplier',
|
||||
'analytic_accounts', methods=['compute_taxes', 'compute_unit_price',
|
||||
'_get_product_supplier_pattern'])
|
||||
'analytic_accounts',
|
||||
methods=['compute_taxes', 'compute_unit_price',
|
||||
'_get_product_supplier_pattern'])
|
||||
def on_change_product(self):
|
||||
if not self.product:
|
||||
return
|
||||
@ -43,7 +48,7 @@ class PurchaseLine(metaclass=PoolMeta):
|
||||
self.unit = self.product.purchase_uom
|
||||
|
||||
product_suppliers = list(self.product.product_suppliers_used(
|
||||
**self._get_product_supplier_pattern()))
|
||||
**self._get_product_supplier_pattern()))
|
||||
if len(product_suppliers) == 1:
|
||||
self.product_supplier, = product_suppliers
|
||||
elif (self.product_supplier
|
||||
@ -57,7 +62,8 @@ class PurchaseLine(metaclass=PoolMeta):
|
||||
|
||||
self.analytic_accounts = tuple()
|
||||
try:
|
||||
self.analytic_accounts += ({'root': self.purchase.account_analytic.root,
|
||||
'account': self.purchase.account_analytic},)
|
||||
except:
|
||||
pass
|
||||
self.analytic_accounts += (
|
||||
{'root': self.purchase.account_analytic.root,
|
||||
'account': self.purchase.account_analytic},)
|
||||
except Exception as e:
|
||||
raise ValidationError(f"Se produjo un error: {e}")
|
||||
|
26
sale.py
26
sale.py
@ -1,10 +1,9 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
from trytond.pool import Pool, PoolMeta
|
||||
from trytond.model import ModelView, ModelSQL, fields
|
||||
from trytond.pyson import Eval
|
||||
from trytond.pool import PoolMeta
|
||||
from trytond.model import fields
|
||||
from trytond.model.exceptions import ValidationError
|
||||
|
||||
from trytond.exceptions import UserError
|
||||
|
||||
class Sale(metaclass=PoolMeta):
|
||||
'Sale Analytic Operation'
|
||||
@ -16,11 +15,10 @@ class Sale(metaclass=PoolMeta):
|
||||
('type', '=', 'normal'),
|
||||
])
|
||||
|
||||
|
||||
class SaleLine(metaclass=PoolMeta):
|
||||
'Sale Line Analytic Operation'
|
||||
__name__ = 'sale.line'
|
||||
|
||||
|
||||
__name__ = 'sale.line'
|
||||
|
||||
@fields.depends('product', 'unit', 'sale',
|
||||
'_parent_sale.party', '_parent_sale.invoice_party',
|
||||
@ -30,7 +28,7 @@ class SaleLine(metaclass=PoolMeta):
|
||||
def on_change_product(self):
|
||||
if not self.product:
|
||||
return
|
||||
|
||||
|
||||
party = None
|
||||
if self.sale:
|
||||
party = self.sale.invoice_party or self.sale.party
|
||||
@ -44,13 +42,13 @@ class SaleLine(metaclass=PoolMeta):
|
||||
|
||||
self.unit_price = self.compute_unit_price()
|
||||
|
||||
|
||||
self.type = 'line'
|
||||
self.amount = self.on_change_with_amount()
|
||||
|
||||
|
||||
self.analytic_accounts = tuple()
|
||||
try:
|
||||
self.analytic_accounts += ({'root': self.sale.account_analytic.root,
|
||||
'account': self.sale.account_analytic},)
|
||||
except:
|
||||
pass
|
||||
self.analytic_accounts += (
|
||||
{'root': self.sale.account_analytic.root,
|
||||
'account': self.sale.account_analytic},)
|
||||
except Exception as e:
|
||||
raise ValidationError(f"Se produjo un error: {e}")
|
||||
|
17
setup.py
17
setup.py
@ -39,7 +39,7 @@ version = info.get('version', '0.0.1')
|
||||
major_version, minor_version, _ = version.split('.', 2)
|
||||
major_version = int(major_version)
|
||||
minor_version = int(minor_version)
|
||||
name = 'trytond_analytic_operation'
|
||||
name = 'trytond_analytic_operations'
|
||||
|
||||
download_url = 'http://downloads.tryton.org/%s.%s/' % (
|
||||
major_version, minor_version)
|
||||
@ -85,19 +85,20 @@ setup(name=name,
|
||||
download_url=download_url,
|
||||
project_urls={
|
||||
"Bug Tracker": 'https://bugs.tryton.org/',
|
||||
"Documentation": 'https://docs.tryton.org/projects/modules-analytic-operation',
|
||||
"Documentation":
|
||||
'https://docs.tryton.org/projects/modules-analytic-operation',
|
||||
"Forum": 'https://www.tryton.org/forum',
|
||||
"Source Code": 'https://hg.tryton.org/modules/analytic_operation',
|
||||
"Source Code": 'https://hg.tryton.org/modules/analytic_operations',
|
||||
},
|
||||
keywords='analitic, invoice, purchase, sale',
|
||||
package_dir={'trytond.modules.analytic_operation': '.'},
|
||||
package_dir={'trytond.modules.analytic_operations': '.'},
|
||||
packages=(
|
||||
['trytond.modules.analytic_operation']
|
||||
+ ['trytond.modules.analytic_operation.%s' % p
|
||||
['trytond.modules.analytic_operations']
|
||||
+ ['trytond.modules.analytic_operations.%s' % p
|
||||
for p in find_packages()]
|
||||
),
|
||||
package_data={
|
||||
'trytond.modules.analytic_operation': (info.get('xml', [])
|
||||
'trytond.modules.analytic_operations': (info.get('xml', [])
|
||||
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
|
||||
'icons/*.svg', 'tests/*.rst']),
|
||||
},
|
||||
@ -150,6 +151,6 @@ setup(name=name,
|
||||
zip_safe=False,
|
||||
entry_points="""
|
||||
[trytond.modules]
|
||||
analytic_operation = trytond.modules.analytic_operation
|
||||
analytic_operations = trytond.modules.analytic_operations
|
||||
""", # noqa: E501
|
||||
)
|
||||
|
@ -5,7 +5,7 @@ from trytond.tests.test_tryton import ModuleTestCase
|
||||
|
||||
class AnalyticOperationTestCase(ModuleTestCase):
|
||||
"Test Analytic Operation module"
|
||||
module = 'analytic_operation'
|
||||
module = 'analytic_operations'
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
|
4
tox.ini
4
tox.ini
@ -4,8 +4,8 @@ envlist = {py37,py38,py39,py310}-{sqlite,postgresql}
|
||||
[testenv]
|
||||
extras = test
|
||||
commands =
|
||||
coverage run --include=./**/analytic_operation/* -m unittest discover -s tests
|
||||
coverage report --include=./**/analytic_operation/* --omit=*/tests/*
|
||||
coverage run --include=./**//* -m unittest discover -s tests
|
||||
coverage report --include=./**/analytic_operations/* --omit=*/tests/*
|
||||
deps =
|
||||
coverage
|
||||
postgresql: psycopg2 >= 2.7.0
|
||||
|
Loading…
Reference in New Issue
Block a user