diff --git a/.hgignore b/.gitignore similarity index 87% rename from .hgignore rename to .gitignore index e2b39b0..88532e8 100644 --- a/.hgignore +++ b/.gitignore @@ -1,4 +1,4 @@ -syntax: glob +*.pyc build/* mds_cashbook_bookcategory.egg-info/* dist/* diff --git a/README.rst b/README.rst index 207238b..8ef20d6 100644 --- a/README.rst +++ b/README.rst @@ -9,27 +9,11 @@ pip install mds-cashbook-bookcategory Requires ======== -- Tryton 6.0 +- Tryton 7.0 Changes ======= -*6.0.4 - 05.06.2023* +*7.0.0 - 01.12.2023* -- code optimized - -*6.0.3 - 05.02.2023* - -- updt: remove left/right fields - -*6.0.2 - 08.11.2022* - -- add: show linked cashbook on category-form - -*6.0.1 - 08.11.2022* - -- works - -*6.0.0 - 07.11.2022* - -- init +- compatibilty to Tryton 7.0 diff --git a/__init__.py b/__init__.py index e8af3da..e5bafe6 100644 --- a/__init__.py +++ b/__init__.py @@ -6,6 +6,7 @@ from trytond.pool import Pool from .category import Category from .book import CategoryCashbookRel, Cashbook +from .ir import Rule def register(): @@ -13,4 +14,5 @@ def register(): Category, Cashbook, CategoryCashbookRel, + Rule, module='cashbook_bookcategory', type_='model') diff --git a/book.py b/book.py index 00a2d5e..ee219a4 100644 --- a/book.py +++ b/book.py @@ -22,10 +22,10 @@ class CategoryCashbookRel(ModelSQL): __name__ = 'cashbook.bookcategory-rel' category = fields.Many2One( - string='Category', required=True, select=True, + string='Category', required=True, model_name='cashbook.bookcategory', ondelete='CASCADE') cashbook = fields.Many2One( - string='Cashbook', required=True, select=True, + string='Cashbook', required=True, model_name='cashbook.book', ondelete='CASCADE') # end CategoryCashbookRel diff --git a/category.py b/category.py index b428e51..7b97dcb 100644 --- a/category.py +++ b/category.py @@ -17,7 +17,7 @@ class Category(tree(separator=' / '), ModelSQL, ModelView): name = fields.Char(string='Name', required=True, translate=True) parent = fields.Many2One( - string='Parent', select=True, + string='Parent', model_name='cashbook.bookcategory', ondelete='CASCADE') childs = fields.One2Many( string='Children', field='parent', diff --git a/category.xml b/category.xml index eab3ea6..41b5fbb 100644 --- a/category.xml +++ b/category.xml @@ -115,7 +115,7 @@ diff --git a/ir.py b/ir.py new file mode 100644 index 0000000..182092e --- /dev/null +++ b/ir.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# This file is part of the cashbook-module from m-ds.de for Tryton. +# The COPYRIGHT file at the top level of this repository contains the +# full copyright notices and license terms. + +from trytond.pool import PoolMeta + + +class Rule(metaclass=PoolMeta): + __name__ = 'ir.rule' + + @classmethod + def _context_modelnames(cls): + """ list of models to add 'user_id' to context + """ + result = super(Rule, cls)._context_modelnames() + return result | { + 'cashbook.bookcategory', + } + +# end Rule diff --git a/setup.py b/setup.py index 728ff37..043ba3f 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ """ # Always prefer setuptools over distutils -from setuptools import setup, find_packages +from setuptools import setup # To use a consistent encoding from codecs import open from os import path @@ -36,10 +36,10 @@ with open(path.join(here, 'versiondep.txt'), encoding='utf-8') as f: l2 = i.strip().split(';') if len(l2) < 4: continue - modversion[l2[0]] = {'min':l2[1], 'max':l2[2], 'prefix':l2[3]} + modversion[l2[0]] = {'min': l2[1], 'max': l2[2], 'prefix': l2[3]} # tryton-version -major_version = 6 +major_version = 7 minor_version = 0 requires = [] @@ -51,19 +51,21 @@ for dep in info.get('depends', []): prefix = modversion[dep]['prefix'] if len(modversion[dep]['max']) > 0: - requires.append('%s_%s >= %s, <= %s' % - (prefix, dep, modversion[dep]['min'], modversion[dep]['max'])) - else : - requires.append('%s_%s >= %s' % - (prefix, dep, modversion[dep]['min'])) - else : - requires.append('%s_%s >= %s.%s, < %s.%s' % - ('trytond', dep, major_version, minor_version, + requires.append('%s_%s >= %s, <= %s' % ( + prefix, dep, modversion[dep]['min'], + modversion[dep]['max'])) + else: + requires.append('%s_%s >= %s' % ( + prefix, dep, modversion[dep]['min'])) + else: + requires.append('%s_%s >= %s.%s, < %s.%s' % ( + 'trytond', dep, major_version, minor_version, major_version, minor_version + 1)) -requires.append('trytond >= %s.%s, < %s.%s' % - (major_version, minor_version, major_version, minor_version + 1)) +requires.append('trytond >= %s.%s, < %s.%s' % ( + major_version, minor_version, major_version, minor_version + 1)) -setup(name='%s_%s' % (PREFIX, MODULE), +setup( + name='%s_%s' % (PREFIX, MODULE), version=info.get('version', '0.0.1'), description='Tryton module to add categories for cashbooks.', long_description=long_description, @@ -74,35 +76,33 @@ setup(name='%s_%s' % (PREFIX, MODULE), author_email='service@m-ds.de', license='GPL-3', classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Environment :: Plugins', - 'Framework :: Tryton', - 'Intended Audience :: Developers', - 'Intended Audience :: Customer Service', - 'Intended Audience :: Information Technology', - 'Intended Audience :: Financial and Insurance Industry', - 'Topic :: Office/Business', - 'Topic :: Office/Business :: Financial :: Accounting', - 'Natural Language :: German', - 'Natural Language :: English', - 'Operating System :: OS Independent', - 'License :: OSI Approved :: GNU General Public License (GPL)', - 'Programming Language :: Python :: 3.7', - 'Programming Language :: Python :: 3.8', + 'Development Status :: 5 - Production/Stable', + 'Environment :: Plugins', + 'Framework :: Tryton', + 'Intended Audience :: Developers', + 'Intended Audience :: Customer Service', + 'Intended Audience :: Information Technology', + 'Intended Audience :: Financial and Insurance Industry', + 'Topic :: Office/Business', + 'Topic :: Office/Business :: Financial :: Accounting', + 'Natural Language :: German', + 'Natural Language :: English', + 'Operating System :: OS Independent', + 'License :: OSI Approved :: GNU General Public License (GPL)', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', ], - keywords='tryton cashbook category', package_dir={'trytond.modules.%s' % MODULE: '.'}, packages=[ 'trytond.modules.%s' % MODULE, ], package_data={ - 'trytond.modules.%s' % MODULE: (info.get('xml', []) - + ['tryton.cfg', 'locale/*.po', 'tests/*.py', - 'view/*.xml', - 'versiondep.txt', 'README.rst']), + 'trytond.modules.%s' % MODULE: (info.get('xml', []) + [ + 'tryton.cfg', 'locale/*.po', 'tests/*.py', + 'view/*.xml', 'versiondep.txt', 'README.rst']), }, - install_requires=requires, zip_safe=False, entry_points=""" diff --git a/tests/__init__.py b/tests/__init__.py index a6930ba..cf7e957 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -2,25 +2,3 @@ # This file is part of the cashbook-module from m-ds for Tryton. # The COPYRIGHT file at the top level of this repository contains the # full copyright notices and license terms. - -import trytond.tests.test_tryton -import unittest - -from .test_category import CategoryTestCase - - -__all__ = ['suite'] - - -class CashbookCategoryTestCase(CategoryTestCase): - 'Test cashbook module' - module = 'cashbook_bookcategory' - -# end CashbookCategoryTestCase - - -def suite(): - suite = trytond.tests.test_tryton.suite() - suite.addTests(unittest.TestLoader().loadTestsFromTestCase( - CashbookCategoryTestCase)) - return suite diff --git a/tests/test_category.py b/tests/test_category.py index 4bf63d5..ddc689d 100644 --- a/tests/test_category.py +++ b/tests/test_category.py @@ -6,7 +6,7 @@ from trytond.tests.test_tryton import with_transaction from trytond.pool import Pool from trytond.transaction import Transaction -from trytond.modules.cashbook.tests import CashbookTestCase +from trytond.modules.cashbook.tests.test_module import CashbookTestCase class CategoryTestCase(CashbookTestCase): @@ -98,3 +98,6 @@ class CategoryTestCase(CashbookTestCase): self.assertEqual(len(book.categories), 0) # end CategoryTestCase + + +del CashbookTestCase diff --git a/tryton.cfg b/tryton.cfg index 706d511..8fb9398 100644 --- a/tryton.cfg +++ b/tryton.cfg @@ -1,5 +1,5 @@ [tryton] -version=6.0.4 +version=7.0.0 depends: cashbook xml: diff --git a/versiondep.txt b/versiondep.txt index 834317e..afb67b8 100644 --- a/versiondep.txt +++ b/versiondep.txt @@ -1 +1,2 @@ -cashbook;6.0.28;6.0.999;mds +cashbook;7.0.31;7.0.999;mds +