Remove support for Python 2.7
issue7497 review53261002
This commit is contained in:
@@ -25,12 +25,6 @@ services:
|
||||
|
||||
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
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
* Remove support for Python 2.7
|
||||
|
||||
Version 4.8.0 - 2018-04-23
|
||||
* Bug fixes (see mercurial logs for details)
|
||||
* Check pending payment to erase party
|
||||
|
||||
@@ -4,7 +4,7 @@ Installing trytond_account_payment
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
* Python 2.7 or later (http://www.python.org/)
|
||||
* Python 3.4 or later (http://www.python.org/)
|
||||
* trytond (http://www.tryton.org/)
|
||||
* trytond_party (http://www.tryton.org/)
|
||||
* trytond_account (http://www.tryton.org/)
|
||||
|
||||
+5
-8
@@ -24,8 +24,7 @@ __all__ = ['MoveLine', 'PayLine', 'PayLineAskJournal',
|
||||
'Invoice']
|
||||
|
||||
|
||||
class MoveLine:
|
||||
__metaclass__ = PoolMeta
|
||||
class MoveLine(metaclass=PoolMeta):
|
||||
__name__ = 'account.move.line'
|
||||
payment_amount = fields.Function(fields.Numeric('Payment Amount',
|
||||
digits=(16,
|
||||
@@ -63,7 +62,7 @@ class MoveLine:
|
||||
super(MoveLine, cls).__setup__()
|
||||
cls._buttons.update({
|
||||
'pay': {
|
||||
'invisible': ~Eval('payment_kind').in_(dict(KINDS).keys()),
|
||||
'invisible': ~Eval('payment_kind').in_(list(dict(KINDS).keys())),
|
||||
'depends': ['payment_kind'],
|
||||
},
|
||||
'payment_block': {
|
||||
@@ -262,7 +261,7 @@ class PayLine(Wizard):
|
||||
values['journal'] = journal.id
|
||||
values['company'] = company.id
|
||||
values['currency'] = currency.id
|
||||
values['journals'] = [j.id for j in self._get_journals().itervalues()]
|
||||
values['journals'] = [j.id for j in self._get_journals().values()]
|
||||
return values
|
||||
|
||||
def get_payment(self, line, journals):
|
||||
@@ -306,8 +305,7 @@ class PayLine(Wizard):
|
||||
}
|
||||
|
||||
|
||||
class Configuration:
|
||||
__metaclass__ = PoolMeta
|
||||
class Configuration(metaclass=PoolMeta):
|
||||
__name__ = 'account.configuration'
|
||||
payment_group_sequence = fields.MultiValue(fields.Many2One(
|
||||
'ir.sequence', 'Payment Group Sequence', required=True,
|
||||
@@ -364,8 +362,7 @@ class ConfigurationPaymentGroupSequence(ModelSQL, CompanyValueMixin):
|
||||
return None
|
||||
|
||||
|
||||
class Invoice:
|
||||
__metaclass__ = PoolMeta
|
||||
class Invoice(metaclass=PoolMeta):
|
||||
__name__ = 'account.invoice'
|
||||
|
||||
payment_direct_debit = fields.Boolean("Direct Debit",
|
||||
|
||||
@@ -9,8 +9,7 @@ payment_direct_debit = fields.Boolean(
|
||||
"Direct Debit", help="Check if supplier does direct debit.")
|
||||
|
||||
|
||||
class Party:
|
||||
__metaclass__ = PoolMeta
|
||||
class Party(metaclass=PoolMeta):
|
||||
__name__ = 'party.party'
|
||||
|
||||
payment_direct_debit = fields.MultiValue(payment_direct_debit)
|
||||
@@ -30,8 +29,7 @@ class PartyPaymentDirectDebit(ModelSQL, CompanyValueMixin):
|
||||
payment_direct_debit = payment_direct_debit
|
||||
|
||||
|
||||
class PartyReplace:
|
||||
__metaclass__ = PoolMeta
|
||||
class PartyReplace(metaclass=PoolMeta):
|
||||
__name__ = 'party.replace'
|
||||
|
||||
@classmethod
|
||||
@@ -41,8 +39,7 @@ class PartyReplace:
|
||||
]
|
||||
|
||||
|
||||
class PartyErase:
|
||||
__metaclass__ = PoolMeta
|
||||
class PartyErase(metaclass=PoolMeta):
|
||||
__name__ = 'party.erase'
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -1,15 +1,12 @@
|
||||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python3
|
||||
# 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 setuptools import setup
|
||||
import re
|
||||
import os
|
||||
import io
|
||||
try:
|
||||
from configparser import ConfigParser
|
||||
except ImportError:
|
||||
from ConfigParser import ConfigParser
|
||||
import os
|
||||
import re
|
||||
from configparser import ConfigParser
|
||||
from setuptools import setup
|
||||
|
||||
|
||||
def read(fname):
|
||||
@@ -27,6 +24,7 @@ def get_require_version(name):
|
||||
major_version, minor_version + 1)
|
||||
return require
|
||||
|
||||
|
||||
config = ConfigParser()
|
||||
config.readfp(open('tryton.cfg'))
|
||||
info = dict(config.items('tryton'))
|
||||
@@ -104,7 +102,6 @@ setup(name=name,
|
||||
'Natural Language :: Slovenian',
|
||||
'Natural Language :: Spanish',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python :: 2.7',
|
||||
'Programming Language :: Python :: 3.4',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
'Programming Language :: Python :: 3.6',
|
||||
@@ -114,6 +111,7 @@ setup(name=name,
|
||||
'Topic :: Office/Business :: Financial :: Accounting',
|
||||
],
|
||||
license='GPL-3',
|
||||
python_requires='>=3.4',
|
||||
install_requires=requires,
|
||||
dependency_links=dependency_links,
|
||||
zip_safe=False,
|
||||
@@ -124,6 +122,4 @@ setup(name=name,
|
||||
test_suite='tests',
|
||||
test_loader='trytond.test_loader:Loader',
|
||||
tests_require=tests_require,
|
||||
use_2to3=True,
|
||||
convert_2to3_doctests=['tests/scenario_account_payment.rst'],
|
||||
)
|
||||
|
||||
@@ -76,12 +76,12 @@ Partially pay line::
|
||||
>>> payment.amount = Decimal('20.00')
|
||||
>>> payment.click('approve')
|
||||
>>> payment.state
|
||||
u'approved'
|
||||
'approved'
|
||||
>>> process_payment = Wizard('account.payment.process', [payment])
|
||||
>>> process_payment.execute('process')
|
||||
>>> payment.reload()
|
||||
>>> payment.state
|
||||
u'processing'
|
||||
'processing'
|
||||
>>> line.reload()
|
||||
>>> line.payment_amount
|
||||
Decimal('30.00')
|
||||
@@ -102,7 +102,7 @@ Partially fail to pay the remaining::
|
||||
>>> payment.reload()
|
||||
>>> payment.click('fail')
|
||||
>>> payment.state
|
||||
u'failed'
|
||||
'failed'
|
||||
>>> line.reload()
|
||||
>>> line.payment_amount
|
||||
Decimal('30.00')
|
||||
|
||||
@@ -65,7 +65,7 @@ Create invoice::
|
||||
>>> line.unit_price = Decimal('100')
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.state
|
||||
u'posted'
|
||||
'posted'
|
||||
>>> invoice.amount_to_pay
|
||||
Decimal('100.00')
|
||||
>>> line_to_pay, = invoice.lines_to_pay
|
||||
@@ -145,7 +145,7 @@ Create invoice::
|
||||
>>> line.unit_price = Decimal('50')
|
||||
>>> invoice.click('post')
|
||||
>>> invoice.state
|
||||
u'posted'
|
||||
'posted'
|
||||
>>> line_to_pay, = invoice.lines_to_pay
|
||||
>>> bool(line_to_pay.payment_direct_debit)
|
||||
True
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
[tox]
|
||||
envlist = {py27,py34,py35,py36}-{sqlite,postgresql},pypy-{sqlite,postgresql}
|
||||
envlist = {py34,py35,py36}-{sqlite,postgresql},pypy3-{sqlite,postgresql}
|
||||
|
||||
[testenv]
|
||||
commands = {envpython} setup.py test
|
||||
deps =
|
||||
{py27,py34,py35,py36}-postgresql: psycopg2 >= 2.5
|
||||
pypy-postgresql: psycopg2cffi >= 2.5
|
||||
{py34,py35,py36}-postgresql: psycopg2 >= 2.5
|
||||
pypy3-postgresql: psycopg2cffi >= 2.5
|
||||
sqlite: sqlitebck
|
||||
setenv =
|
||||
sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://}
|
||||
|
||||
Reference in New Issue
Block a user