2 Commits
7.0 ... 7.6

Author SHA1 Message Date
1f79f62d6b Update: tryton 7.6 2025-06-06 15:51:56 -05:00
root
554bf84e53 Actualización de las pruebas del modulo 2024-01-03 16:20:28 +00:00
7 changed files with 74 additions and 66 deletions

View File

@@ -1,10 +1,10 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of # This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms. # this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta from trytond.pool import PoolMeta
from trytond.model import ModelView, ModelSQL, fields from trytond.model import fields
from trytond.pyson import Eval from trytond.pyson import Eval
from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Invoice(metaclass=PoolMeta): class Invoice(metaclass=PoolMeta):
'Account Invoice' 'Account Invoice'
@@ -12,28 +12,31 @@ class Invoice(metaclass=PoolMeta):
_states = { _states = {
'readonly': Eval('state') != 'draft', 'readonly': Eval('state') != 'draft',
} }
account_analytic = fields.Many2One(
account_analytic = fields.Many2One('analytic_account.account', 'Analytic Account', 'analytic_account.account', 'Analytic Account',
domain=[('type', '=', 'normal')], domain=[('type', '=', 'normal')],
states=_states) states=_states)
class InvoiceLine(metaclass=PoolMeta): class InvoiceLine(metaclass=PoolMeta):
'Invoice Line' 'Invoice Line'
__name__ = 'account.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
@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}")

View File

@@ -1,10 +1,10 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of # This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms. # this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta from trytond.pool import PoolMeta
from trytond.model import ModelView, ModelSQL, fields from trytond.model import fields
from trytond.pyson import Eval from trytond.pyson import Eval
from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Purchase(metaclass=PoolMeta): class Purchase(metaclass=PoolMeta):
'Purchase Analytic Operation' 'Purchase Analytic Operation'
@@ -12,20 +12,25 @@ class Purchase(metaclass=PoolMeta):
_states = { _states = {
'readonly': Eval('state') != 'draft', '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): class PurchaseLine(metaclass=PoolMeta):
'Purchase Line Analytic Operation' '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.party', '_parent_purchase.invoice_party',
'_parent_purchase.account_analytic', 'product_supplier', '_parent_purchase.account_analytic', 'product_supplier',
'analytic_accounts', methods=['compute_taxes', 'compute_unit_price', 'analytic_accounts',
'_get_product_supplier_pattern']) methods=['compute_taxes', 'compute_unit_price',
'_get_product_supplier_pattern'])
def on_change_product(self): def on_change_product(self):
if not self.product: if not self.product:
return return
@@ -43,7 +48,7 @@ class PurchaseLine(metaclass=PoolMeta):
self.unit = self.product.purchase_uom self.unit = self.product.purchase_uom
product_suppliers = list(self.product.product_suppliers_used( product_suppliers = list(self.product.product_suppliers_used(
**self._get_product_supplier_pattern())) **self._get_product_supplier_pattern()))
if len(product_suppliers) == 1: if len(product_suppliers) == 1:
self.product_supplier, = product_suppliers self.product_supplier, = product_suppliers
elif (self.product_supplier elif (self.product_supplier
@@ -57,7 +62,8 @@ class PurchaseLine(metaclass=PoolMeta):
self.analytic_accounts = tuple() self.analytic_accounts = tuple()
try: try:
self.analytic_accounts += ({'root': self.purchase.account_analytic.root, self.analytic_accounts += (
'account': self.purchase.account_analytic},) {'root': self.purchase.account_analytic.root,
except: 'account': self.purchase.account_analytic},)
pass except Exception as e:
raise ValidationError(f"Se produjo un error: {e}")

22
sale.py
View File

@@ -1,10 +1,9 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of # This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms. # this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta from trytond.pool import PoolMeta
from trytond.model import ModelView, ModelSQL, fields from trytond.model import fields
from trytond.pyson import Eval from trytond.model.exceptions import ValidationError
from trytond.exceptions import UserError
class Sale(metaclass=PoolMeta): class Sale(metaclass=PoolMeta):
'Sale Analytic Operation' 'Sale Analytic Operation'
@@ -16,11 +15,10 @@ class Sale(metaclass=PoolMeta):
('type', '=', 'normal'), ('type', '=', 'normal'),
]) ])
class SaleLine(metaclass=PoolMeta): class SaleLine(metaclass=PoolMeta):
'Sale Line Analytic Operation' 'Sale Line Analytic Operation'
__name__ = 'sale.line' __name__ = 'sale.line'
@fields.depends('product', 'unit', 'sale', @fields.depends('product', 'unit', 'sale',
'_parent_sale.party', '_parent_sale.invoice_party', '_parent_sale.party', '_parent_sale.invoice_party',
@@ -44,13 +42,13 @@ class SaleLine(metaclass=PoolMeta):
self.unit_price = self.compute_unit_price() self.unit_price = self.compute_unit_price()
self.type = 'line' self.type = 'line'
self.amount = self.on_change_with_amount() self.amount = self.on_change_with_amount()
self.analytic_accounts = tuple() self.analytic_accounts = tuple()
try: try:
self.analytic_accounts += ({'root': self.sale.account_analytic.root, self.analytic_accounts += (
'account': self.sale.account_analytic},) {'root': self.sale.account_analytic.root,
except: 'account': self.sale.account_analytic},)
pass except Exception as e:
raise ValidationError(f"Se produjo un error: {e}")

View File

@@ -39,7 +39,7 @@ version = info.get('version', '0.0.1')
major_version, minor_version, _ = version.split('.', 2) major_version, minor_version, _ = version.split('.', 2)
major_version = int(major_version) major_version = int(major_version)
minor_version = int(minor_version) minor_version = int(minor_version)
name = 'trytond_analytic_operation' name = 'trytond_analytic_operations'
download_url = 'http://downloads.tryton.org/%s.%s/' % ( download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version) major_version, minor_version)
@@ -85,19 +85,20 @@ setup(name=name,
download_url=download_url, download_url=download_url,
project_urls={ project_urls={
"Bug Tracker": 'https://bugs.tryton.org/', "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', "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', keywords='analitic, invoice, purchase, sale',
package_dir={'trytond.modules.analytic_operation': '.'}, package_dir={'trytond.modules.analytic_operations': '.'},
packages=( packages=(
['trytond.modules.analytic_operation'] ['trytond.modules.analytic_operations']
+ ['trytond.modules.analytic_operation.%s' % p + ['trytond.modules.analytic_operations.%s' % p
for p in find_packages()] for p in find_packages()]
), ),
package_data={ package_data={
'trytond.modules.analytic_operation': (info.get('xml', []) 'trytond.modules.analytic_operations': (info.get('xml', [])
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt', + ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
'icons/*.svg', 'tests/*.rst']), 'icons/*.svg', 'tests/*.rst']),
}, },
@@ -150,6 +151,6 @@ setup(name=name,
zip_safe=False, zip_safe=False,
entry_points=""" entry_points="""
[trytond.modules] [trytond.modules]
analytic_operation = trytond.modules.analytic_operation analytic_operations = trytond.modules.analytic_operations
""", # noqa: E501 """, # noqa: E501
) )

View File

@@ -5,7 +5,7 @@ from trytond.tests.test_tryton import ModuleTestCase
class AnalyticOperationTestCase(ModuleTestCase): class AnalyticOperationTestCase(ModuleTestCase):
"Test Analytic Operation module" "Test Analytic Operation module"
module = 'analytic_operation' module = 'analytic_operations'
del ModuleTestCase del ModuleTestCase

View File

@@ -4,8 +4,8 @@ envlist = {py37,py38,py39,py310}-{sqlite,postgresql}
[testenv] [testenv]
extras = test extras = test
commands = commands =
coverage run --include=./**/analytic_operation/* -m unittest discover -s tests coverage run --include=./**//* -m unittest discover -s tests
coverage report --include=./**/analytic_operation/* --omit=*/tests/* coverage report --include=./**/analytic_operations/* --omit=*/tests/*
deps = deps =
coverage coverage
postgresql: psycopg2 >= 2.7.0 postgresql: psycopg2 >= 2.7.0

View File

@@ -1,5 +1,5 @@
[tryton] [tryton]
version=7.0.0 version=7.6.0
depends: depends:
ir ir
purchase purchase