Update to 4.7

This commit is contained in:
C?dric Krier 2018-02-02 16:16:07 +01:00
parent af4045e2b5
commit 6dd1269b9b
9 changed files with 87 additions and 37 deletions

View File

@ -1,9 +1,49 @@
image: python:all
env:
- POSTGRESQL_URI=postgresql://postgres@127.0.0.1:5432/
- MYSQL_URI=mysql://root@127.0.0.1:3306/
script:
- pip install tox
- tox -e "{py27,py33,py34,py35}-{sqlite,postgresql}" --skip-missing-interpreters
clone:
hg:
image: plugins/hg
pipeline:
tox:
image: ${IMAGE}
environment:
- CFLAGS=-O0
- DB_CACHE=/cache
- TOX_TESTENV_PASSENV=CFLAGS DB_CACHE
- POSTGRESQL_URI=postgresql://postgres@postgresql:5432/
commands:
- pip install tox
- tox -e "${TOXENV}-${DATABASE}"
services:
- postgres
postgresql:
image: postgres
when:
matrix:
DATABASE: postgresql
matrix:
include:
- IMAGE: python:2.7
TOXENV: py27
DATABASE: sqlite
- IMAGE: python:2.7
TOXENV: py27
DATABASE: postgresql
- IMAGE: python:3.4
TOXENV: py34
DATABASE: sqlite
- IMAGE: python:3.4
TOXENV: py34
DATABASE: postgresql
- IMAGE: python:3.5
TOXENV: py35
DATABASE: sqlite
- IMAGE: python:3.5
TOXENV: py35
DATABASE: postgresql
- IMAGE: python:3.6
TOXENV: py36
DATABASE: sqlite
- IMAGE: python:3.6
TOXENV: py36
DATABASE: postgresql

View File

@ -2,13 +2,13 @@
# The COPYRIGHT file at the top level of this repository contains
# the full copyright notices and license terms.
from trytond.pool import Pool
from .product_oneclick import *
from . import product_oneclick
def register():
Pool.register(
ProductOneClickView,
product_oneclick.ProductOneClickView,
module='product_oneclick', type_='model')
Pool.register(
ProductOneClick,
product_oneclick.ProductOneClick,
module='product_oneclick', type_='wizard')

View File

@ -44,20 +44,20 @@ class ProductOneClickView(ModelView):
salable = fields.Boolean('Salable')
sale_uom = fields.Many2One('product.uom', 'Sale UOM',
states={
'invisible':~Eval('salable', False),
'invisible': ~Eval('salable', False),
'required': Eval('salable', False),
},
#~ domain=[
#~ ('category', '=', Eval('default_uom_category')),
#~ ],
domain=[
('category', '=', Eval('default_uom_category')),
],
depends=['salable', 'default_uom_category'])
purchasable = fields.Boolean('Purchasable')
purchase_uom = fields.Many2One('product.uom', 'Purchase UOM',
states={
'invisible':~Eval('purchasable'),
'invisible': ~Eval('purchasable'),
'required': Eval('purchasable', False),
},
#~ domain=[('category', '=', Eval('default_uom_category'))],
domain=[('category', '=', Eval('default_uom_category'))],
depends=['purchasable', 'default_uom_category'])
@staticmethod
@ -92,6 +92,11 @@ class ProductOneClickView(ModelView):
self.sale_uom = template.sale_uom
self.purchase_uom = template.purchase_uom
@fields.depends('default_uom')
def on_change_with_default_uom_category(self):
if self.default_uom:
return self.default_uom.category.id
@classmethod
def view_attributes(cls):
return super(ProductOneClickView, cls).view_attributes() + [

View File

@ -12,7 +12,10 @@ try:
except ImportError:
from ConfigParser import ConfigParser
MODULE2PREFIX = {}
MODULE = 'product_oneclick'
PREFIX = 'trytonzz'
MODULE2PREFIX = {
}
def read(fname):
@ -20,6 +23,7 @@ def read(fname):
os.path.join(os.path.dirname(__file__), fname),
'r', encoding='utf-8').read()
def get_require_version(name):
if minor_version % 2:
require = '%s >= %s.%s.dev0, < %s.%s'
@ -39,8 +43,6 @@ 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 = 'trytonzz_product_oneclick'
download_url = 'https://bitbucket.org/zikzakmedia/trytond-product_oneclick'
requires = []
for dep in info.get('depends', []):
@ -55,22 +57,22 @@ if minor_version % 2:
# Add development index for testing with proteus
dependency_links.append('https://trydevpi.tryton.org/')
setup(name=name,
setup(name='%s_%s' % (PREFIX, MODULE),
version=version,
description='Tryton Product Oneclick Module',
long_description=read('README'),
author='Zikzakmedia SL',
author_email='zikzak@zikzakmedia.com',
url='https://bitbucket.org/zikzakmedia/',
download_url=download_url,
download_url='https://bitbucket.org/zikzakmedia/trytond-%s' % MODULE,
keywords='',
package_dir={'trytond.modules.product_oneclick': '.'},
package_dir={'trytond.modules.%s' % MODULE: '.'},
packages=[
'trytond.modules.product_oneclick',
'trytond.modules.product_oneclick.tests',
'trytond.modules.%s' % MODULE,
'trytond.modules.%s.tests' % MODULE,
],
package_data={
'trytond.modules.product_oneclick': (info.get('xml', [])
'trytond.modules.%s' % MODULE: (info.get('xml', [])
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.odt',
'icons/*.svg', 'tests/*.rst']),
},
@ -97,9 +99,9 @@ setup(name=name,
'Natural Language :: Spanish',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3.3',
'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Office/Business',
@ -110,8 +112,8 @@ setup(name=name,
zip_safe=False,
entry_points="""
[trytond.modules]
product_oneclick = trytond.modules.product_oneclick
""",
%s = trytond.modules.%s
""" % (MODULE, MODULE),
test_suite='tests',
test_loader='trytond.test_loader:Loader',
tests_require=tests_require,

View File

@ -1,7 +1,9 @@
# This file is part of product_oneclick module for Tryton.
# The COPYRIGHT file at the top level of this repository contains
# the full copyright notices and license terms.
from .test_product_oneclick import suite
try:
from trytond.modules.product_oneclick.tests.test_product_oneclick import suite
except ImportError:
from .test_product_oneclick import suite
__all__ = ['suite']

View File

@ -15,4 +15,4 @@ def suite():
suite = trytond.tests.test_tryton.suite()
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
ProductOneclickTestCase))
return suite
return suite

View File

@ -1,12 +1,13 @@
[tox]
envlist = {py27,py33,py34,py35}-{sqlite,postgresql,mysql},pypy-{sqlite,postgresql}
envlist = {py27,py34,py35,py36}-{sqlite,postgresql,mysql},pypy-{sqlite,postgresql}
[testenv]
commands = {envpython} setup.py test
deps =
{py27,py33,py34,py35}-postgresql: psycopg2 >= 2.5
{py27,py34,py35,py36}-postgresql: psycopg2 >= 2.5
pypy-postgresql: psycopg2cffi >= 2.5
mysql: MySQL-python
sqlite: sqlitebck
setenv =
sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://}
postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://}
@ -14,4 +15,4 @@ setenv =
sqlite: DB_NAME={env:SQLITE_NAME::memory:}
postgresql: DB_NAME={env:POSTGRESQL_NAME:test}
mysql: DB_NAME={env:MYSQL_NAME:test}
install_command = pip install --pre --find-links https://trydevpi.tryton.org/ {opts} {packages}
install_command = pip install --pre --find-links https://trydevpi.tryton.org/ --process-dependency-links {opts} {packages}

View File

@ -1,5 +1,5 @@
[tryton]
version=4.1.0
version=4.7.0
depends:
ir
res

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of product_oneclick module for Tryton.
The COPYRIGHT file at the top level of this repository contains the full copyright notices and license terms. -->
<form string="Create product" col="4">
<form col="4">
<label name="name"/>
<field name="name"/>
<label name="code"/>