Remove old-style of super() calls
This commit is contained in:
@@ -391,7 +391,7 @@ class Type(
|
||||
types = cls.search([
|
||||
('parent', 'child_of', [t.id for t in types]),
|
||||
])
|
||||
super(Type, cls).delete(types)
|
||||
super().delete(types)
|
||||
|
||||
def update_type(self, template2type=None):
|
||||
'''
|
||||
@@ -689,7 +689,7 @@ class AccountTemplate(
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AccountTemplate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
cls._order.insert(1, ('name', 'ASC'))
|
||||
table = cls.__table__()
|
||||
@@ -984,7 +984,7 @@ class Account(
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Account, cls).__setup__()
|
||||
super().__setup__()
|
||||
for date in [cls.start_date, cls.end_date]:
|
||||
date.states = {
|
||||
'readonly': (Bool(Eval('template', -1))
|
||||
@@ -1310,7 +1310,7 @@ class Account(
|
||||
default = default.copy()
|
||||
default.setdefault('template', None)
|
||||
default.setdefault('deferrals', [])
|
||||
new_accounts = super(Account, cls).copy(accounts, default=default)
|
||||
new_accounts = super().copy(accounts, default=default)
|
||||
cls._rebuild_tree('parent', None, 0)
|
||||
return new_accounts
|
||||
|
||||
@@ -1327,7 +1327,7 @@ class Account(
|
||||
raise AccessError(
|
||||
gettext('account.msg_delete_account_with_move_lines',
|
||||
account=lines[0].account.rec_name))
|
||||
super(Account, cls).delete(accounts)
|
||||
super().delete(accounts)
|
||||
|
||||
def update_account(self, template2account=None, template2type=None):
|
||||
'''
|
||||
@@ -1726,7 +1726,7 @@ class AccountDeferral(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AccountDeferral, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('deferral_uniq', Unique(t, t.account, t.fiscalyear),
|
||||
@@ -2426,7 +2426,7 @@ class GeneralLedgerLine(DescriptionOriginMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(GeneralLedgerLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('account')
|
||||
cls._order.insert(0, ('date', 'ASC'))
|
||||
cls.description_used.setter = None
|
||||
@@ -2987,7 +2987,7 @@ class AgedBalance(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AgedBalance, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('party', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -92,7 +92,7 @@ class Configuration(
|
||||
return pool.get('account.configuration.sequence')
|
||||
elif field == 'currency_exchange_journal':
|
||||
return pool.get('account.configuration.journal')
|
||||
return super(Configuration, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_tax_rounding(cls, **pattern):
|
||||
|
||||
@@ -62,7 +62,7 @@ class FiscalYear(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(FiscalYear, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('dates_overlap',
|
||||
@@ -228,14 +228,14 @@ class FiscalYear(Workflow, ModelSQL, ModelView):
|
||||
gettext('account.'
|
||||
'msg_change_fiscalyear_move_sequence',
|
||||
fiscalyear=fiscalyear.rec_name))
|
||||
super(FiscalYear, cls).write(*args)
|
||||
super().write(*args)
|
||||
cls._find_cache.clear()
|
||||
|
||||
@classmethod
|
||||
def delete(cls, fiscalyears):
|
||||
Period = Pool().get('account.period')
|
||||
Period.delete([p for f in fiscalyears for p in f.periods])
|
||||
super(FiscalYear, cls).delete(fiscalyears)
|
||||
super().delete(fiscalyears)
|
||||
cls._find_cache.clear()
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -52,7 +52,7 @@ class Journal(
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('name', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -199,7 +199,7 @@ class JournalPeriod(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(JournalPeriod, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('journal_period_uniq', Unique(t, t.journal, t.period),
|
||||
@@ -285,7 +285,7 @@ class JournalPeriod(Workflow, ModelSQL, ModelView):
|
||||
gettext('account'
|
||||
'.msg_create_journal_period_closed_period',
|
||||
period=period.rec_name))
|
||||
return super(JournalPeriod, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
@@ -302,12 +302,12 @@ class JournalPeriod(Workflow, ModelSQL, ModelView):
|
||||
'.msg_open_journal_period_closed_period',
|
||||
journal_period=journal_period.rec_name,
|
||||
period=journal_period.period.rec_name))
|
||||
super(JournalPeriod, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, periods):
|
||||
cls._check(periods)
|
||||
super(JournalPeriod, cls).delete(periods)
|
||||
super().delete(periods)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
|
||||
+13
-13
@@ -129,7 +129,7 @@ class Move(DescriptionOriginMixin, ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
super(Move, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls.create_date.select = True
|
||||
cls._check_modify_exclude = ['lines']
|
||||
@@ -295,14 +295,14 @@ class Move(DescriptionOriginMixin, ModelSQL, ModelView):
|
||||
if len(keys):
|
||||
cls.check_modify(moves)
|
||||
args.extend((moves, values))
|
||||
super(Move, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, moves):
|
||||
MoveLine = Pool().get('account.move.line')
|
||||
cls.check_modify(moves)
|
||||
MoveLine.delete([l for m in moves for l in m.lines])
|
||||
super(Move, cls).delete(moves)
|
||||
super().delete(moves)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, moves, default=None):
|
||||
@@ -589,7 +589,7 @@ class Reconciliation(ModelSQL, ModelView):
|
||||
if table.column_exist('name') and not table.column_exist('number'):
|
||||
table.column_rename('name', 'number')
|
||||
|
||||
super(Reconciliation, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
# Migration from 5.8: add company field
|
||||
if not company_exist and line_h.column_exist('reconciliation'):
|
||||
@@ -624,7 +624,7 @@ class Reconciliation(ModelSQL, ModelView):
|
||||
'reconciliation_sequence',
|
||||
company=vals.get('company', default_company)).get()
|
||||
|
||||
return super(Reconciliation, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, moves, values, *args):
|
||||
@@ -632,7 +632,7 @@ class Reconciliation(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def validate(cls, reconciliations):
|
||||
super(Reconciliation, cls).validate(reconciliations)
|
||||
super().validate(reconciliations)
|
||||
cls.check_lines(reconciliations)
|
||||
|
||||
@classmethod
|
||||
@@ -1091,7 +1091,7 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Line, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('move')
|
||||
cls._check_modify_exclude = {
|
||||
'maturity_date', 'reconciliation', 'tax_lines'}
|
||||
@@ -1417,7 +1417,7 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def validate_fields(cls, lines, field_names):
|
||||
super(Line, cls).validate(lines)
|
||||
super().validate(lines)
|
||||
cls.check_account(lines, field_names)
|
||||
|
||||
@classmethod
|
||||
@@ -1515,7 +1515,7 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
cls.check_modify(lines)
|
||||
cls.check_reconciliation(lines)
|
||||
moves = [x.move for x in lines]
|
||||
super(Line, cls).delete(lines)
|
||||
super().delete(lines)
|
||||
Move.validate_move(moves)
|
||||
|
||||
@classmethod
|
||||
@@ -1533,7 +1533,7 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
all_lines.extend(lines)
|
||||
args.extend((lines, values))
|
||||
|
||||
super(Line, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
Transaction().timestamp = {}
|
||||
Move.validate_move(list(set(l.move for l in all_lines) | set(moves)))
|
||||
@@ -1570,7 +1570,7 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
# prevent default value for field with set_move_field
|
||||
for fname in move_fields(move_name=False):
|
||||
vals.setdefault(fname, None)
|
||||
lines = super(Line, cls).create(vlist)
|
||||
lines = super().create(vlist)
|
||||
period_and_journals = set((line.period, line.journal)
|
||||
for line in lines)
|
||||
for period, journal in period_and_journals:
|
||||
@@ -1590,14 +1590,14 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
|
||||
default.setdefault('move', None)
|
||||
default.setdefault('reconciliation', None)
|
||||
default.setdefault('reconciliations_delegated', [])
|
||||
return super(Line, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
@classmethod
|
||||
def view_toolbar_get(cls):
|
||||
pool = Pool()
|
||||
Template = pool.get('account.move.template')
|
||||
|
||||
toolbar = super(Line, cls).view_toolbar_get()
|
||||
toolbar = super().view_toolbar_get()
|
||||
|
||||
# Add a wizard entry for each templates
|
||||
context = Transaction().context
|
||||
|
||||
@@ -88,7 +88,7 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in account_names:
|
||||
return pool.get('party.party.account')
|
||||
return super(Party, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def _default_tax_rule(cls, type_, **pattern):
|
||||
@@ -332,7 +332,7 @@ class PartyReplace(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def fields_to_replace(cls):
|
||||
return super(PartyReplace, cls).fields_to_replace() + [
|
||||
return super().fields_to_replace() + [
|
||||
('account.move.line', 'party'),
|
||||
]
|
||||
|
||||
@@ -341,7 +341,7 @@ class PartyErase(metaclass=PoolMeta):
|
||||
__name__ = 'party.erase'
|
||||
|
||||
def check_erase_company(self, party, company):
|
||||
super(PartyErase, self).check_erase_company(party, company)
|
||||
super().check_erase_company(party, company)
|
||||
if party.receivable or party.payable:
|
||||
raise EraseError(
|
||||
gettext('account.msg_erase_party_receivable_payable',
|
||||
|
||||
@@ -60,7 +60,7 @@ class Period(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Period, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls.__access__.add('fiscalyear')
|
||||
cls._sql_constraints += [
|
||||
@@ -316,7 +316,7 @@ class Period(Workflow, ModelSQL, ModelView):
|
||||
process_args(args[i])
|
||||
i += 1
|
||||
process_args(args)
|
||||
return super(Period, cls).search(args, offset=offset, limit=limit,
|
||||
return super().search(args, offset=offset, limit=limit,
|
||||
order=order, count=count, query=query)
|
||||
|
||||
@classmethod
|
||||
@@ -330,7 +330,7 @@ class Period(Workflow, ModelSQL, ModelView):
|
||||
raise AccessError(
|
||||
gettext('account.msg_create_period_closed_fiscalyear',
|
||||
fiscalyear=fiscalyear.rec_name))
|
||||
periods = super(Period, cls).create(vlist)
|
||||
periods = super().create(vlist)
|
||||
cls._find_cache.clear()
|
||||
return periods
|
||||
|
||||
@@ -362,12 +362,12 @@ class Period(Workflow, ModelSQL, ModelView):
|
||||
'.msg_change_period_move_sequence',
|
||||
period=period.rec_name))
|
||||
args.extend((periods, values))
|
||||
super(Period, cls).write(*args)
|
||||
super().write(*args)
|
||||
cls._find_cache.clear()
|
||||
|
||||
@classmethod
|
||||
def delete(cls, periods):
|
||||
super(Period, cls).delete(periods)
|
||||
super().delete(periods)
|
||||
cls._find_cache.clear()
|
||||
|
||||
@classmethod
|
||||
|
||||
+16
-16
@@ -57,7 +57,7 @@ class TaxCodeTemplate(PeriodMixin, tree(), ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(TaxCodeTemplate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
cls._order.insert(0, ('account', 'ASC'))
|
||||
|
||||
@@ -159,7 +159,7 @@ class TaxCode(
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.code.search_unaccented = False
|
||||
super(TaxCode, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.add(
|
||||
Index(t, (t.code, Index.Similarity())))
|
||||
@@ -241,14 +241,14 @@ class TaxCode(
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template', None)
|
||||
return super(TaxCode, cls).copy(codes, default=default)
|
||||
return super().copy(codes, default=default)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, codes):
|
||||
codes = cls.search([
|
||||
('parent', 'child_of', [c.id for c in codes]),
|
||||
])
|
||||
super(TaxCode, cls).delete(codes)
|
||||
super().delete(codes)
|
||||
|
||||
@classmethod
|
||||
def update_tax_code(cls, company_id, template2tax_code=None):
|
||||
@@ -641,7 +641,7 @@ class TaxTemplate(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(TaxTemplate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('account', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -979,7 +979,7 @@ class Tax(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template', None)
|
||||
return super(Tax, cls).copy(taxes, default=default)
|
||||
return super().copy(taxes, default=default)
|
||||
|
||||
def _process_tax(self, price_unit):
|
||||
if self.type == 'percentage':
|
||||
@@ -1360,7 +1360,7 @@ class TaxLine(ModelSQL, ModelView):
|
||||
table_h = cls.__table_handler__(module_name)
|
||||
migrate_type = not table_h.column_exist('type')
|
||||
|
||||
super(TaxLine, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
table_h = cls.__table_handler__(module_name)
|
||||
|
||||
@@ -1398,7 +1398,7 @@ class TaxLine(ModelSQL, ModelView):
|
||||
return self.move_line.account.company
|
||||
|
||||
def get_rec_name(self, name):
|
||||
name = super(TaxLine, self).get_rec_name(name)
|
||||
name = super().get_rec_name(name)
|
||||
if self.tax:
|
||||
name = self.tax.rec_name
|
||||
return name
|
||||
@@ -1409,7 +1409,7 @@ class TaxLine(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
lines = super(TaxLine, cls).create(vlist)
|
||||
lines = super().create(vlist)
|
||||
cls.check_modify(lines)
|
||||
return lines
|
||||
|
||||
@@ -1417,12 +1417,12 @@ class TaxLine(ModelSQL, ModelView):
|
||||
def write(cls, *args):
|
||||
lines = sum(args[0:None:2], [])
|
||||
cls.check_modify(lines)
|
||||
super(TaxLine, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, lines):
|
||||
cls.check_modify(lines)
|
||||
super(TaxLine, cls).delete(lines)
|
||||
super().delete(lines)
|
||||
|
||||
@property
|
||||
def period_checked(self):
|
||||
@@ -1528,7 +1528,7 @@ class TaxRule(ModelSQL, ModelView):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template', None)
|
||||
return super(TaxRule, cls).copy(rules, default=default)
|
||||
return super().copy(rules, default=default)
|
||||
|
||||
def apply(self, tax, pattern):
|
||||
'''
|
||||
@@ -1623,7 +1623,7 @@ class TaxRuleLineTemplate(sequence_ordered(), ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(TaxRuleLineTemplate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('rule')
|
||||
cls._order.insert(1, ('rule', 'ASC'))
|
||||
|
||||
@@ -1752,7 +1752,7 @@ class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(TaxRuleLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('rule')
|
||||
cls._order.insert(1, ('rule', 'ASC'))
|
||||
|
||||
@@ -1763,7 +1763,7 @@ class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('template', None)
|
||||
return super(TaxRuleLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
def match(self, pattern):
|
||||
pool = Pool()
|
||||
@@ -1779,7 +1779,7 @@ class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
return False
|
||||
if self.end_date and date > self.end_date:
|
||||
return False
|
||||
return super(TaxRuleLine, self).match(pattern)
|
||||
return super().match(pattern)
|
||||
|
||||
def get_taxes(self, origin_tax):
|
||||
'''
|
||||
|
||||
@@ -62,7 +62,7 @@ class Configuration(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in {'asset_bymonthday', 'asset_bymonth'}:
|
||||
return pool.get('account.configuration.asset_date')
|
||||
return super(Configuration, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_asset_sequence(cls, **pattern):
|
||||
@@ -170,7 +170,7 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
origins = super(Move, cls)._get_origin()
|
||||
origins = super()._get_origin()
|
||||
origins.append('account.asset')
|
||||
origins.append('account.asset.line')
|
||||
return origins
|
||||
@@ -207,7 +207,7 @@ class Period(metaclass=PoolMeta):
|
||||
def close(cls, periods):
|
||||
for period in periods:
|
||||
period.check_asset_line_running()
|
||||
super(Period, cls).close(periods)
|
||||
super().close(periods)
|
||||
|
||||
|
||||
class Journal(metaclass=PoolMeta):
|
||||
@@ -215,5 +215,5 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.type.selection.append(('asset', "Asset"))
|
||||
|
||||
@@ -198,7 +198,7 @@ class Asset(Workflow, ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
super(Asset, cls).__setup__()
|
||||
super().__setup__()
|
||||
table = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
('invoice_line_uniq', Unique(table, table.supplier_invoice_line),
|
||||
@@ -709,7 +709,7 @@ class Asset(Workflow, ModelSQL, ModelView):
|
||||
default.setdefault('supplier_invoice_line', None)
|
||||
default.setdefault('move')
|
||||
default.setdefault('revisions', [])
|
||||
return super(Asset, cls).copy(assets, default=default)
|
||||
return super().copy(assets, default=default)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, assets):
|
||||
@@ -718,7 +718,7 @@ class Asset(Workflow, ModelSQL, ModelView):
|
||||
raise AccessError(
|
||||
gettext('account_asset.msg_asset_delete_draft',
|
||||
asset=asset.rec_name))
|
||||
return super(Asset, cls).delete(assets)
|
||||
return super().delete(assets)
|
||||
|
||||
|
||||
class AssetLine(ModelSQL, ModelView):
|
||||
@@ -746,7 +746,7 @@ class AssetLine(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AssetLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('asset')
|
||||
cls._order.insert(0, ('date', 'ASC'))
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
table = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('asset_uniq', Unique(table, table.asset),
|
||||
@@ -40,7 +40,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
@fields.depends('product', 'invoice', 'invoice_type',
|
||||
'_parent_invoice.invoice_date', '_parent_invoice.accounting_date')
|
||||
def on_change_product(self):
|
||||
super(InvoiceLine, self).on_change_product()
|
||||
super().on_change_product()
|
||||
if self.invoice and self.invoice.type:
|
||||
type_ = self.invoice.type
|
||||
else:
|
||||
@@ -79,4 +79,4 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
if self.asset:
|
||||
date = self.invoice.accounting_date or self.invoice.invoice_date
|
||||
Asset.close([self.asset], account=self.account, date=date)
|
||||
return super(InvoiceLine, self).get_move_lines()
|
||||
return super().get_move_lines()
|
||||
|
||||
@@ -36,7 +36,7 @@ class Category(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in {'account_depreciation', 'account_asset'}:
|
||||
return pool.get('product.category.account')
|
||||
return super(Category, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@property
|
||||
@account_used('account_depreciation')
|
||||
|
||||
@@ -16,7 +16,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'recall_deposit': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
@@ -112,7 +112,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _account_domain(cls, type_):
|
||||
domain = super(InvoiceLine, cls)._account_domain(type_)
|
||||
domain = super()._account_domain(type_)
|
||||
return domain + [('type.deposit', '=', True)]
|
||||
|
||||
|
||||
|
||||
@@ -35,4 +35,4 @@ class MoveLine(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('dunnings', None)
|
||||
return super(MoveLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
@@ -119,7 +119,7 @@ class Dunning(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Dunning, cls).__setup__()
|
||||
super().__setup__()
|
||||
table = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
('line_unique', Unique(table, table.line),
|
||||
@@ -363,7 +363,7 @@ class ProcessDunning(Wizard):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(ProcessDunning, cls).__setup__()
|
||||
super().__setup__()
|
||||
|
||||
# _actions is the list that define the order of each state to process
|
||||
# after the 'process' state.
|
||||
|
||||
@@ -79,7 +79,7 @@ class ProcessDunning(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(ProcessDunning, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._actions.append('send_email')
|
||||
|
||||
def transition_send_email(self):
|
||||
|
||||
@@ -8,5 +8,5 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
return super(Move, cls)._get_origin() + [
|
||||
return super()._get_origin() + [
|
||||
'account.dunning.fee.dunning_level']
|
||||
|
||||
@@ -79,7 +79,7 @@ class Dunning(metaclass=PoolMeta):
|
||||
FeeDunningLevel.save(fees)
|
||||
FeeDunningLevel.process(fees)
|
||||
|
||||
super(Dunning, cls).process(dunnings)
|
||||
super().process(dunnings)
|
||||
|
||||
|
||||
class FeeDunningLevel(ModelSQL, ModelView):
|
||||
@@ -95,7 +95,7 @@ class FeeDunningLevel(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(FeeDunningLevel, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
('dunning_level_unique', Unique(t, t.dunning, t.level),
|
||||
@@ -174,14 +174,14 @@ class Letter(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def get_party_letter(cls):
|
||||
PartyLetter = super(Letter, cls).get_party_letter()
|
||||
PartyLetter = super().get_party_letter()
|
||||
|
||||
class PartyLetterFee(PartyLetter):
|
||||
|
||||
@property
|
||||
def fees(self):
|
||||
fees = defaultdict(int)
|
||||
fees.update(super(PartyLetterFee, self).fees)
|
||||
fees.update(super().fees)
|
||||
for dunning in self.dunnings:
|
||||
for fee in dunning.fees:
|
||||
fees[fee.currency] += fee.amount
|
||||
|
||||
@@ -22,7 +22,7 @@ class ProcessDunning(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(ProcessDunning, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._actions.append('print_letter')
|
||||
|
||||
def do_print_letter(self, action):
|
||||
@@ -48,7 +48,7 @@ class Letter(CompanyReport, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
def execute(cls, ids, data):
|
||||
with Transaction().set_context(address_with_party=True):
|
||||
return super(Letter, cls).execute(ids, data)
|
||||
return super().execute(ids, data)
|
||||
|
||||
@classmethod
|
||||
def get_context(cls, records, header, data):
|
||||
|
||||
@@ -17,7 +17,7 @@ class TaxCodeTemplate(metaclass=PoolMeta):
|
||||
], "AEAT Report")
|
||||
|
||||
def _get_tax_code_value(self, code=None):
|
||||
value = super(TaxCodeTemplate, self)._get_tax_code_value(code=code)
|
||||
value = super()._get_tax_code_value(code=code)
|
||||
value['aeat_report'] = self.aeat_report
|
||||
return value
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ class TaxTemplate(metaclass=PoolMeta):
|
||||
ec_sales_list_code = fields.Char("EC Sales List Code")
|
||||
|
||||
def _get_tax_value(self, tax=None):
|
||||
value = super(TaxTemplate, self)._get_tax_value(tax=tax)
|
||||
value = super()._get_tax_value(tax=tax)
|
||||
if not tax or tax.ec_sales_list_code != self.ec_sales_list_code:
|
||||
value['ec_sales_list_code'] = self.ec_sales_list_code
|
||||
return value
|
||||
|
||||
@@ -99,7 +99,7 @@ class Configuration(_SyntaxMixin, metaclass=PoolMeta):
|
||||
'chorus_piste_client_id', 'chorus_piste_client_secret',
|
||||
'chorus_login', 'chorus_password', 'chorus_service'}:
|
||||
return pool.get('account.credential.chorus')
|
||||
return super(Configuration, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
|
||||
class CredentialChorus(ModelSQL, CompanyValueMixin):
|
||||
@@ -241,7 +241,7 @@ class InvoiceChorus(
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
super(InvoiceChorus, cls).__setup__()
|
||||
super().__setup__()
|
||||
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
@@ -302,7 +302,7 @@ class InvoiceChorus(
|
||||
|
||||
@classmethod
|
||||
def validate(cls, records):
|
||||
super(InvoiceChorus, cls).validate(records)
|
||||
super().validate(records)
|
||||
for record in records:
|
||||
addresses = [
|
||||
record.invoice.company.party.address_get('invoice'),
|
||||
@@ -322,7 +322,7 @@ class InvoiceChorus(
|
||||
raise AccessError(
|
||||
gettext('account_fr_chorus.msg_invoice_delete_sent',
|
||||
invoice=record.invoice.rec_name))
|
||||
super(InvoiceChorus, cls).delete(records)
|
||||
super().delete(records)
|
||||
|
||||
def _send_context(self):
|
||||
return {
|
||||
|
||||
@@ -10,11 +10,11 @@ class UNCEFACTInvoice(metaclass=PoolMeta):
|
||||
def render(self, template):
|
||||
if Transaction().context.get('account_fr_chorus') and not template:
|
||||
template = '16B-CII'
|
||||
return super(UNCEFACTInvoice, self).render(template)
|
||||
return super().render(template)
|
||||
|
||||
@classmethod
|
||||
def party_legal_ids(cls, party, address):
|
||||
ids = super(UNCEFACTInvoice, cls).party_legal_ids(party, address)
|
||||
ids = super().party_legal_ids(party, address)
|
||||
if Transaction().context.get('account_fr_chorus') and address:
|
||||
ids.append((address.siret.code, {'schemeID': '1'}))
|
||||
return ids
|
||||
|
||||
@@ -123,7 +123,7 @@ class InvoiceSequence(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceSequence, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('fiscalyear', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -136,7 +136,7 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
return super(Move, cls)._get_origin() + ['account.invoice']
|
||||
return super()._get_origin() + ['account.invoice']
|
||||
|
||||
|
||||
class MoveLine(metaclass=PoolMeta):
|
||||
@@ -163,7 +163,7 @@ class MoveLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(MoveLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._check_modify_exclude.add('invoice_payment')
|
||||
|
||||
@classmethod
|
||||
@@ -257,7 +257,7 @@ class Reconciliation(metaclass=PoolMeta):
|
||||
Invoice = Pool().get('account.invoice')
|
||||
transaction = Transaction()
|
||||
context = transaction.context
|
||||
reconciliations = super(Reconciliation, cls).create(vlist)
|
||||
reconciliations = super().create(vlist)
|
||||
with transaction.set_context(
|
||||
queue_batch=context.get('queue_batch', True)):
|
||||
Invoice.__queue__.process(
|
||||
@@ -270,7 +270,7 @@ class Reconciliation(metaclass=PoolMeta):
|
||||
transaction = Transaction()
|
||||
context = transaction.context
|
||||
invoices_to_process = _invoices_to_process(reconciliations)
|
||||
super(Reconciliation, cls).delete(reconciliations)
|
||||
super().delete(reconciliations)
|
||||
with transaction.set_context(
|
||||
queue_batch=context.get('queue_batch', True)):
|
||||
Invoice.__queue__.process(list(invoices_to_process))
|
||||
@@ -280,7 +280,7 @@ class RenewFiscalYear(metaclass=PoolMeta):
|
||||
__name__ = 'account.fiscalyear.renew'
|
||||
|
||||
def fiscalyear_defaults(self):
|
||||
defaults = super(RenewFiscalYear, self).fiscalyear_defaults()
|
||||
defaults = super().fiscalyear_defaults()
|
||||
defaults['invoice_sequences'] = None
|
||||
return defaults
|
||||
|
||||
@@ -293,7 +293,7 @@ class RenewFiscalYear(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
Sequence = pool.get('ir.sequence.strict')
|
||||
InvoiceSequence = pool.get('account.fiscalyear.invoice_sequence')
|
||||
fiscalyear = super(RenewFiscalYear, self).create_fiscalyear()
|
||||
fiscalyear = super().create_fiscalyear()
|
||||
|
||||
def standard_period(period):
|
||||
return period.type == 'standard'
|
||||
|
||||
@@ -361,7 +361,7 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
|
||||
Party = pool.get('party.party')
|
||||
cls.number.search_unaccented = False
|
||||
cls.reference.search_unaccented = False
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.update({
|
||||
Index(t, (t.reference, Index.Similarity())),
|
||||
@@ -492,7 +492,7 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
|
||||
def __register__(cls, module_name):
|
||||
sql_table = cls.__table__()
|
||||
|
||||
super(Invoice, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
transaction = Transaction()
|
||||
cursor = transaction.connection.cursor()
|
||||
table = cls.__table_handler__(module_name)
|
||||
@@ -1481,7 +1481,7 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
|
||||
raise AccessError(
|
||||
gettext('account_invoice.msg_invoice_delete_numbered',
|
||||
invoice=invoice.rec_name))
|
||||
super(Invoice, cls).delete(invoices)
|
||||
super().delete(invoices)
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
@@ -1498,7 +1498,7 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
|
||||
cls.check_modify(invoices)
|
||||
all_invoices += invoices
|
||||
update_tax = [i for i in all_invoices if i.state == 'draft']
|
||||
super(Invoice, cls).write(*args)
|
||||
super().write(*args)
|
||||
if update_tax:
|
||||
cls.update_taxes(update_tax)
|
||||
|
||||
@@ -1541,11 +1541,11 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
|
||||
default.setdefault('validated_by')
|
||||
default.setdefault('posted_by')
|
||||
default.setdefault('invoice_report_revisions', None)
|
||||
return super(Invoice, cls).copy(invoices, default=default)
|
||||
return super().copy(invoices, default=default)
|
||||
|
||||
@classmethod
|
||||
def validate(cls, invoices):
|
||||
super(Invoice, cls).validate(invoices)
|
||||
super().validate(invoices)
|
||||
for invoice in invoices:
|
||||
invoice.check_payment_lines()
|
||||
|
||||
@@ -2167,7 +2167,7 @@ class InvoicePaymentLine(ModelSQL):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoicePaymentLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
('line_unique', Unique(t, t.line),
|
||||
@@ -2389,7 +2389,7 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._check_modify_exclude = {'note', 'origin', 'description'}
|
||||
|
||||
# Set account domain dynamically for kind
|
||||
@@ -2429,7 +2429,7 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
super(InvoiceLine, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
table = cls.__table_handler__(module_name)
|
||||
# Migration from 5.0: remove check constraints
|
||||
table.drop_constraint('type_account')
|
||||
@@ -2845,14 +2845,14 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
|
||||
@classmethod
|
||||
def delete(cls, lines):
|
||||
cls.check_modify(lines)
|
||||
super(InvoiceLine, cls).delete(lines)
|
||||
super().delete(lines)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
actions = iter(args)
|
||||
for lines, values in zip(actions, actions):
|
||||
cls.check_modify(lines, set(values))
|
||||
super(InvoiceLine, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
@@ -2864,7 +2864,7 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
|
||||
raise AccessError(
|
||||
gettext('account_invoice.msg_invoice_line_create_draft',
|
||||
invoice=invoice.rec_name))
|
||||
return super(InvoiceLine, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, lines, default=None):
|
||||
@@ -2873,7 +2873,7 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('origin', None)
|
||||
return super(InvoiceLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
def _compute_taxes(self):
|
||||
pool = Pool()
|
||||
@@ -3177,14 +3177,14 @@ class InvoiceTax(sequence_ordered(), ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def delete(cls, taxes):
|
||||
cls.check_modify(taxes)
|
||||
super(InvoiceTax, cls).delete(taxes)
|
||||
super().delete(taxes)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
actions = iter(args)
|
||||
for taxes, values in zip(actions, actions):
|
||||
cls.check_modify(taxes, set(values))
|
||||
super(InvoiceTax, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def create(cls, vlist):
|
||||
@@ -3196,7 +3196,7 @@ class InvoiceTax(sequence_ordered(), ModelSQL, ModelView):
|
||||
raise AccessError(
|
||||
gettext('account_invoice.msg_invoice_tax_create_draft',
|
||||
invoice=invoice.rec_name))
|
||||
return super(InvoiceTax, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
def get_move_lines(self):
|
||||
'''
|
||||
@@ -3374,7 +3374,7 @@ class InvoiceReport(Report):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceReport, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__rpc__['execute'] = RPC(False)
|
||||
|
||||
@classmethod
|
||||
@@ -3560,7 +3560,7 @@ class PayInvoice(Wizard):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(PayInvoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__rpc__['create'].fresh_session = True
|
||||
|
||||
def get_reconcile_lines_for_amount(self, invoice, amount, currency):
|
||||
|
||||
@@ -27,7 +27,7 @@ class ContactMechanism(metaclass=PoolMeta):
|
||||
if _fields is None:
|
||||
_fields = []
|
||||
_fields.append('invoice')
|
||||
return super(ContactMechanism, cls).usages(_fields=_fields)
|
||||
return super().usages(_fields=_fields)
|
||||
|
||||
|
||||
class Party(metaclass=PoolMeta):
|
||||
@@ -42,7 +42,7 @@ class Party(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in {'customer_payment_term', 'supplier_payment_term'}:
|
||||
return pool.get('party.party.payment_term')
|
||||
return super(Party, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_customer_payment_term(cls, **pattern):
|
||||
|
||||
@@ -26,7 +26,7 @@ class PaymentTerm(DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(PaymentTerm, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('name', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -264,7 +264,7 @@ class PaymentTermLineRelativeDelta(sequence_ordered(), ModelSQL, ModelView):
|
||||
table_h.column_rename('month', '_temp_month')
|
||||
table_h.column_rename('weekday', '_temp_weekday')
|
||||
|
||||
super(PaymentTermLineRelativeDelta, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
table_h = cls.__table_handler__(module_name)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'correct': {
|
||||
'invisible': Eval('state') != 'posted',
|
||||
|
||||
@@ -34,7 +34,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._check_modify_exclude.add('numbered_at')
|
||||
cls.party.datetime_field = 'history_datetime'
|
||||
cls.party_tax_identifier.datetime_field = 'history_datetime'
|
||||
@@ -82,7 +82,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
def set_number(cls, invoices):
|
||||
numbered = [i for i in invoices if not i.number or not i.numbered_at]
|
||||
super(Invoice, cls).set_number(invoices)
|
||||
super().set_number(invoices)
|
||||
if numbered:
|
||||
cls.write(numbered, {
|
||||
'numbered_at': CurrentTimestamp(),
|
||||
@@ -92,7 +92,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, invoices):
|
||||
super(Invoice, cls).draft(invoices)
|
||||
super().draft(invoices)
|
||||
cls.write(invoices, {
|
||||
'numbered_at': None,
|
||||
})
|
||||
@@ -104,4 +104,4 @@ class Invoice(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('numbered_at', None)
|
||||
return super(Invoice, cls).copy(invoices, default=default)
|
||||
return super().copy(invoices, default=default)
|
||||
|
||||
@@ -9,7 +9,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
add_remove = [
|
||||
('invoice', '=', None),
|
||||
]
|
||||
|
||||
@@ -137,7 +137,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
default.setdefault('correction', False)
|
||||
if not Transaction().context.get('_account_invoice_correction'):
|
||||
default.setdefault('stock_moves', None)
|
||||
return super(InvoiceLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
def _credit(self):
|
||||
line = super()._credit()
|
||||
|
||||
@@ -74,7 +74,7 @@ class MoveLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(MoveLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.update({
|
||||
Index(
|
||||
@@ -238,7 +238,7 @@ class MoveLine(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('payments', None)
|
||||
return super(MoveLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button_action('account_payment.act_pay_line')
|
||||
@@ -743,12 +743,12 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('party')
|
||||
def on_change_party(self):
|
||||
super(Invoice, self).on_change_party()
|
||||
super().on_change_party()
|
||||
if self.party:
|
||||
self.payment_direct_debit = self.party.payment_direct_debit
|
||||
|
||||
def _get_move_line(self, date, amount):
|
||||
line = super(Invoice, self)._get_move_line(date, amount)
|
||||
line = super()._get_move_line(date, amount)
|
||||
line.payment_direct_debit = self.payment_direct_debit
|
||||
return line
|
||||
|
||||
@@ -759,7 +759,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
Date = pool.get('ir.date')
|
||||
context = Transaction().context
|
||||
|
||||
amounts = super(Invoice, cls).get_amount_to_pay(invoices, name)
|
||||
amounts = super().get_amount_to_pay(invoices, name)
|
||||
|
||||
if context.get('with_payment', True):
|
||||
for company, c_invoices in groupby(
|
||||
@@ -881,7 +881,7 @@ class StatementLine(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('party', methods=['payment'])
|
||||
def on_change_party(self):
|
||||
super(StatementLine, self).on_change_party()
|
||||
super().on_change_party()
|
||||
if self.payment:
|
||||
if self.payment.party != self.party:
|
||||
self.payment = None
|
||||
|
||||
@@ -153,7 +153,7 @@ class Group(ModelSQL, ModelView):
|
||||
values['number'] = config.get_multivalue(
|
||||
'payment_group_sequence',
|
||||
company=values.get('company', default_company)).get()
|
||||
return super(Group, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, groups, default=None):
|
||||
@@ -163,7 +163,7 @@ class Group(ModelSQL, ModelView):
|
||||
default = default.copy()
|
||||
default.setdefault('number', None)
|
||||
default.setdefault('payments', None)
|
||||
return super(Group, cls).copy(groups, default=default)
|
||||
return super().copy(groups, default=default)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@@ -389,7 +389,7 @@ class Payment(Workflow, ModelSQL, ModelView):
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
cls.reference.search_unaccented = False
|
||||
super(Payment, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.update({
|
||||
Index(
|
||||
@@ -654,7 +654,7 @@ class Payment(Workflow, ModelSQL, ModelView):
|
||||
gettext('account_payment.msg_payment_delete_draft',
|
||||
payment=payment.rec_name))
|
||||
lines = {p.line for p in payments if p.line}
|
||||
super(Payment, cls).delete(payments)
|
||||
super().delete(payments)
|
||||
if lines:
|
||||
Line.set_payment_amount(list(lines))
|
||||
|
||||
|
||||
@@ -296,7 +296,7 @@ class Payment(CheckoutMixin, BraintreeCustomerMethodMixin, metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, payments):
|
||||
super(Payment, cls).draft(payments)
|
||||
super().draft(payments)
|
||||
for payment in payments:
|
||||
if payment.braintree_nonce:
|
||||
payment.braintree_nonce = None
|
||||
|
||||
@@ -9,7 +9,7 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
models = super(Move, cls)._get_origin()
|
||||
models = super()._get_origin()
|
||||
return models + ['account.payment']
|
||||
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@ class Payment(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Payment, cls).__setup__()
|
||||
super().__setup__()
|
||||
line_invisible = Eval('account') & ~Eval('line')
|
||||
if 'invisible' in cls.line.states:
|
||||
cls.line.states['invisible'] &= line_invisible
|
||||
@@ -212,7 +212,7 @@ class Payment(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
Line = pool.get('account.move.line')
|
||||
|
||||
super(Payment, cls).succeed(payments)
|
||||
super().succeed(payments)
|
||||
|
||||
cls.set_clearing_move(payments)
|
||||
to_reconcile = []
|
||||
@@ -332,7 +332,7 @@ class Payment(metaclass=PoolMeta):
|
||||
@Workflow.transition('failed')
|
||||
@cancel_clearing_move
|
||||
def fail(cls, payments):
|
||||
super(Payment, cls).fail(payments)
|
||||
super().fail(payments)
|
||||
|
||||
@classmethod
|
||||
def update_reconciled(cls, payments):
|
||||
@@ -379,7 +379,7 @@ class Payment(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('clearing_move')
|
||||
return super(Payment, cls).copy(payments, default=default)
|
||||
return super().copy(payments, default=default)
|
||||
|
||||
|
||||
class Group(metaclass=PoolMeta):
|
||||
|
||||
@@ -61,7 +61,7 @@ class Statement(metaclass=PoolMeta):
|
||||
return payments
|
||||
|
||||
def _group_key(self, line):
|
||||
key = super(Statement, self)._group_key(line)
|
||||
key = super()._group_key(line)
|
||||
if hasattr(line, 'payment'):
|
||||
key += (('payment', line.payment),)
|
||||
return key
|
||||
@@ -72,7 +72,7 @@ class StatementLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(StatementLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.related_to.domain['account.payment'] = [
|
||||
cls.related_to.domain.get('account.payment', []),
|
||||
If(Eval('statement_state') == 'draft',
|
||||
@@ -151,13 +151,13 @@ class StatementLine(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('party', methods=['payment'])
|
||||
def on_change_party(self):
|
||||
super(StatementLine, self).on_change_party()
|
||||
super().on_change_party()
|
||||
if self.party:
|
||||
self.payment_group = None
|
||||
|
||||
@fields.depends('account', methods=['payment', 'payment_group'])
|
||||
def on_change_account(self):
|
||||
super(StatementLine, self).on_change_account()
|
||||
super().on_change_account()
|
||||
if self.payment:
|
||||
clearing_account = self.payment.journal.clearing_account
|
||||
elif self.payment_group:
|
||||
@@ -171,7 +171,7 @@ class StatementLine(metaclass=PoolMeta):
|
||||
def post_move(cls, lines):
|
||||
pool = Pool()
|
||||
Move = pool.get('account.move')
|
||||
super(StatementLine, cls).post_move(lines)
|
||||
super().post_move(lines)
|
||||
Move.post([l.payment.clearing_move for l in lines
|
||||
if l.payment
|
||||
and l.payment.clearing_move
|
||||
|
||||
@@ -127,7 +127,7 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
sepa_method = ('sepa', 'SEPA')
|
||||
if sepa_method not in cls.process_method.selection:
|
||||
cls.process_method.selection.append(sepa_method)
|
||||
@@ -200,7 +200,7 @@ class Group(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Group, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'sepa_generate_message': {
|
||||
'invisible': Eval('process_method') != 'sepa',
|
||||
@@ -383,7 +383,7 @@ class Payment(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('sepa_mandate_sequence_type', None)
|
||||
return super(Payment, cls).copy(payments, default=default)
|
||||
return super().copy(payments, default=default)
|
||||
|
||||
@classmethod
|
||||
def process_method_with_group(cls):
|
||||
@@ -555,7 +555,7 @@ class Mandate(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Mandate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._transitions |= set((
|
||||
('draft', 'requested'),
|
||||
('requested', 'validated'),
|
||||
@@ -676,7 +676,7 @@ class Mandate(Workflow, ModelSQL, ModelView):
|
||||
# Prevent raising false unique constraint
|
||||
if values.get('identification') == '':
|
||||
values['identification'] = None
|
||||
return super(Mandate, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
@@ -688,7 +688,7 @@ class Mandate(Workflow, ModelSQL, ModelView):
|
||||
values = values.copy()
|
||||
values['identification'] = None
|
||||
args.extend((mandates, values))
|
||||
super(Mandate, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, mandates, default=None):
|
||||
@@ -699,7 +699,7 @@ class Mandate(Workflow, ModelSQL, ModelView):
|
||||
default.setdefault('payments', [])
|
||||
default.setdefault('signature_date', None)
|
||||
default.setdefault('identification', None)
|
||||
return super(Mandate, cls).copy(mandates, default=default)
|
||||
return super().copy(mandates, default=default)
|
||||
|
||||
@property
|
||||
def is_valid(self):
|
||||
@@ -795,7 +795,7 @@ class Mandate(Workflow, ModelSQL, ModelView):
|
||||
gettext('account_payment_sepa'
|
||||
'.msg_mandate_delete_draft_cancelled',
|
||||
mandate=mandate.rec_name))
|
||||
super(Mandate, cls).delete(mandates)
|
||||
super().delete(mandates)
|
||||
|
||||
|
||||
class MandateReport(CompanyReport):
|
||||
@@ -836,7 +836,7 @@ class Message(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Message, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.add(
|
||||
Index(
|
||||
@@ -874,7 +874,7 @@ class Message(Workflow, ModelSQL, ModelView):
|
||||
cursor = transaction.connection.cursor()
|
||||
table = cls.__table__()
|
||||
|
||||
super(Message, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
# Migration from 5.6: rename state canceled to cancelled
|
||||
cursor.execute(*table.update(
|
||||
|
||||
@@ -23,7 +23,7 @@ class CAMT054(SEPAHandler):
|
||||
|
||||
def __init__(self, source, Payment):
|
||||
self.Payment = Payment
|
||||
super(CAMT054, self).__init__(source)
|
||||
super().__init__(source)
|
||||
|
||||
def handle(self, event, element):
|
||||
tag = etree.QName(element)
|
||||
|
||||
@@ -14,7 +14,7 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
payable_flavor_cfonb = ('pain.001.001.03-cfonb',
|
||||
'pain.001.001.03 CFONB')
|
||||
receivable_flavor_cfonb = ('pain.008.001.02-cfonb',
|
||||
@@ -45,4 +45,4 @@ class Group(metaclass=PoolMeta):
|
||||
if (self.kind == 'receivable'
|
||||
and self.journal.sepa_receivable_flavor.endswith('-cfonb')):
|
||||
return loader.load('%s.xml' % self.journal.sepa_receivable_flavor)
|
||||
return super(Group, self).get_sepa_template()
|
||||
return super().get_sepa_template()
|
||||
|
||||
@@ -56,7 +56,7 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
stripe_method = ('stripe', 'Stripe')
|
||||
if stripe_method not in cls.process_method.selection:
|
||||
cls.process_method.selection.append(stripe_method)
|
||||
@@ -194,7 +194,7 @@ class Payment(StripeCustomerMethodMixin, CheckoutMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Payment, cls).__setup__()
|
||||
super().__setup__()
|
||||
|
||||
cls.stripe_customer.states['readonly'] = (
|
||||
~Eval('state').in_(['draft', 'submitted', 'approved'])
|
||||
@@ -331,7 +331,7 @@ class Payment(StripeCustomerMethodMixin, CheckoutMixin, metaclass=PoolMeta):
|
||||
# default methods are called only once
|
||||
values.setdefault('stripe_idempotency_key',
|
||||
cls.default_stripe_idempotency_key())
|
||||
return super(Payment, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def copy(cls, payments, default=None):
|
||||
@@ -349,13 +349,13 @@ class Payment(StripeCustomerMethodMixin, CheckoutMixin, metaclass=PoolMeta):
|
||||
default.setdefault('stripe_captured', False)
|
||||
default.setdefault('stripe_chargeable', False)
|
||||
default.setdefault('stripe_capturable', False)
|
||||
return super(Payment, cls).copy(payments, default=default)
|
||||
return super().copy(payments, default=default)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('draft')
|
||||
def draft(cls, payments):
|
||||
super(Payment, cls).draft(payments)
|
||||
super().draft(payments)
|
||||
for payment in payments:
|
||||
if payment.stripe_token:
|
||||
payment.stripe_token = None
|
||||
@@ -991,7 +991,7 @@ class Account(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Account, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'new_identifier': {
|
||||
'icon': 'tryton-refresh',
|
||||
@@ -1475,7 +1475,7 @@ class Customer(CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Customer, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'stripe_checkout': {
|
||||
'invisible': ~Eval('stripe_checkout_needed', False),
|
||||
@@ -1501,7 +1501,7 @@ class Customer(CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
|
||||
or not self.stripe_setup_intent_id)
|
||||
|
||||
def get_rec_name(self, name):
|
||||
name = super(Customer, self).get_rec_name(name)
|
||||
name = super().get_rec_name(name)
|
||||
return self.stripe_customer_id if self.stripe_customer_id else name
|
||||
|
||||
@classmethod
|
||||
@@ -1524,7 +1524,7 @@ class Customer(CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
|
||||
default = default.copy()
|
||||
default.setdefault('stripe_token', None)
|
||||
default.setdefault('stripe_customer_id', None)
|
||||
return super(Customer, cls).copy(customers, default=default)
|
||||
return super().copy(customers, default=default)
|
||||
|
||||
@classmethod
|
||||
def stripe_checkout(cls, customers):
|
||||
|
||||
@@ -31,7 +31,7 @@ class CreateChart(metaclass=PoolMeta):
|
||||
def transition_create_properties(self):
|
||||
pool = Pool()
|
||||
Configuration = pool.get('account.configuration')
|
||||
state = super(CreateChart, self).transition_create_properties()
|
||||
state = super().transition_create_properties()
|
||||
|
||||
with Transaction().set_context(company=self.properties.company.id):
|
||||
config = Configuration(1)
|
||||
@@ -47,7 +47,7 @@ class CreateChart(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
Account = pool.get('account.account')
|
||||
|
||||
defaults = super(CreateChart, self).default_properties(fields)
|
||||
defaults = super().default_properties(fields)
|
||||
expense_accounts = Account.search([
|
||||
('type.expense', '=', True),
|
||||
('company', '=', self.account.company.id),
|
||||
|
||||
@@ -27,7 +27,7 @@ class Configuration(metaclass=PoolMeta):
|
||||
if field in {'default_category_account_expense',
|
||||
'default_category_account_revenue'}:
|
||||
return pool.get('account.configuration.default_account')
|
||||
return super(Configuration, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
|
||||
class ConfigurationDefaultAccount(metaclass=PoolMeta):
|
||||
|
||||
@@ -137,7 +137,7 @@ class Category(CompanyMultiValueMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Category, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.parent.domain = [
|
||||
('accounting', '=', Eval('accounting', False)),
|
||||
cls.parent.domain or []]
|
||||
@@ -150,7 +150,7 @@ class Category(CompanyMultiValueMixin, metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in {'account_expense', 'account_revenue'}:
|
||||
return pool.get('product.category.account')
|
||||
return super(Category, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@classmethod
|
||||
def default_accounting(cls):
|
||||
@@ -230,7 +230,7 @@ class Category(CompanyMultiValueMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def view_attributes(cls):
|
||||
return super(Category, cls).view_attributes() + [
|
||||
return super().view_attributes() + [
|
||||
('/form/notebook/page[@id="accounting"]', 'states', {
|
||||
'invisible': ~Eval('accounting', False),
|
||||
}),
|
||||
@@ -430,5 +430,5 @@ class TemplateCategoryAll(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def union_models(cls):
|
||||
return super(TemplateCategoryAll, cls).union_models() + [
|
||||
return super().union_models() + [
|
||||
'product.template-product.category.account']
|
||||
|
||||
@@ -11,7 +11,7 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.type.selection.append(('statement', "Statement"))
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
return super(Move, cls)._get_origin() + ['account.statement']
|
||||
return super()._get_origin() + ['account.statement']
|
||||
|
||||
@dualmethod
|
||||
@ModelView.button
|
||||
|
||||
@@ -68,7 +68,7 @@ class Journal(DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('name', 'ASC'))
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints = [
|
||||
|
||||
@@ -131,7 +131,7 @@ class Statement(Workflow, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Statement, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.update({
|
||||
Index(
|
||||
@@ -185,7 +185,7 @@ class Statement(Workflow, ModelSQL, ModelView):
|
||||
cursor = transaction.connection.cursor()
|
||||
sql_table = cls.__table__()
|
||||
|
||||
super(Statement, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
# Migration from 5.6: rename state cancel to cancelled
|
||||
cursor.execute(*sql_table.update(
|
||||
@@ -389,7 +389,7 @@ class Statement(Workflow, ModelSQL, ModelView):
|
||||
raise AccessError(
|
||||
gettext('account_statement.msg_statement_delete_cancel',
|
||||
statement=statement.rec_name))
|
||||
super(Statement, cls).delete(statements)
|
||||
super().delete(statements)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@@ -789,7 +789,7 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Line, cls).__setup__()
|
||||
super().__setup__()
|
||||
table = cls.__table__()
|
||||
cls.date.states['readonly'] = (
|
||||
cls.date.states.get('readonly', False)
|
||||
@@ -961,7 +961,7 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
@fields.depends('origin', '_parent_origin.statement_state')
|
||||
def on_change_with_statement_state(self, name=None):
|
||||
try:
|
||||
state = super(Line, self).on_change_with_statement_state()
|
||||
state = super().on_change_with_statement_state()
|
||||
except AttributeError:
|
||||
state = None
|
||||
if self.origin:
|
||||
@@ -995,7 +995,7 @@ class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
|
||||
default = default.copy()
|
||||
default.setdefault('move', None)
|
||||
default.setdefault('related_to', None)
|
||||
return super(Line, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
@classmethod
|
||||
def reconcile(cls, move_lines):
|
||||
@@ -1117,7 +1117,7 @@ class LineGroup(ModelSQL, ModelView):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
super(LineGroup, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('statement')
|
||||
cls._order.insert(0, ('date', 'DESC'))
|
||||
|
||||
@@ -1204,7 +1204,7 @@ class Origin(origin_mixin(_states), ModelSQL, ModelView):
|
||||
# Migration from 5.0: rename informations into information
|
||||
table.column_rename('informations', 'information')
|
||||
|
||||
super(Origin, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
@fields.depends('statement', '_parent_statement.id')
|
||||
def on_change_with_statement_id(self, name=None):
|
||||
|
||||
@@ -14,7 +14,7 @@ class ImportStatementStart(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(ImportStatementStart, cls).__setup__()
|
||||
super().__setup__()
|
||||
aeb43 = ('aeb43', 'AEB Norm 43')
|
||||
cls.file_format.selection.append(aeb43)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class StatementImportStart(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(StatementImportStart, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.file_format.selection.append(('coda', "CODA"))
|
||||
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ class StatementImportStart(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(StatementImportStart, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.file_format.selection.append(('ofx', "OFX"))
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,6 @@ class FiscalYear(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(FiscalYear, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.account_stock_method.selection.append(
|
||||
('anglo_saxon', 'Anglo-Saxon'))
|
||||
|
||||
@@ -59,7 +59,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
Period = pool.get('account.period')
|
||||
Warning = pool.get('res.user.warning')
|
||||
|
||||
result = super(InvoiceLine, self).get_move_lines()
|
||||
result = super().get_move_lines()
|
||||
|
||||
if self.type != 'line':
|
||||
return result
|
||||
|
||||
@@ -26,7 +26,7 @@ class Category(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field == 'account_cogs':
|
||||
return pool.get('product.category.account')
|
||||
return super(Category, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@property
|
||||
@account_used('account_cogs')
|
||||
|
||||
@@ -32,7 +32,7 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Move, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._allow_modify_closed_period.update(['in_anglo_saxon_quantity',
|
||||
'out_anglo_saxon_quantity'])
|
||||
|
||||
@@ -59,7 +59,7 @@ class Move(metaclass=PoolMeta):
|
||||
Uom = pool.get('product.uom')
|
||||
AccountMoveLine = pool.get('account.move.line')
|
||||
Currency = pool.get('currency.currency')
|
||||
lines = super(Move, self)._get_account_stock_move_lines(type_)
|
||||
lines = super()._get_account_stock_move_lines(type_)
|
||||
cost_price_method = self.product.get_multivalue(
|
||||
'cost_price_method', **self._cost_price_pattern)
|
||||
if type_.endswith('supplier') and cost_price_method == 'fixed':
|
||||
@@ -186,7 +186,7 @@ class Move(metaclass=PoolMeta):
|
||||
for prefix in ('in_', 'out_'):
|
||||
default.setdefault(prefix + 'anglo_saxon_quantity',
|
||||
getattr(cls, 'default_%sanglo_saxon_quantity' % prefix)())
|
||||
return super(Move, cls).copy(moves, default=default)
|
||||
return super().copy(moves, default=default)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
|
||||
@@ -43,5 +43,5 @@ class AccountMove(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
return super(AccountMove, cls)._get_origin() + ['stock.move',
|
||||
return super()._get_origin() + ['stock.move',
|
||||
'product.product', 'product.template']
|
||||
|
||||
@@ -70,7 +70,7 @@ class Category(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
if field in account_names:
|
||||
return pool.get('product.category.account')
|
||||
return super(Category, cls).multivalue_model(field)
|
||||
return super().multivalue_model(field)
|
||||
|
||||
@property
|
||||
@account_used('account_stock')
|
||||
@@ -142,7 +142,7 @@ class Template(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Template, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._modify_no_move.append(
|
||||
('cost_price',
|
||||
'account_stock_continental.msg_product_change_cost_price'))
|
||||
|
||||
@@ -171,7 +171,7 @@ class Move(metaclass=PoolMeta):
|
||||
def do(cls, moves):
|
||||
pool = Pool()
|
||||
AccountMove = pool.get('account.move')
|
||||
super(Move, cls).do(moves)
|
||||
super().do(moves)
|
||||
account_moves = []
|
||||
for move in moves:
|
||||
account_move = move._get_account_stock_move()
|
||||
|
||||
@@ -132,7 +132,7 @@ class LandedCost(Workflow, ModelSQL, ModelView, MatchMixin):
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.number.search_unaccented = False
|
||||
super(LandedCost, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.add(
|
||||
Index(
|
||||
@@ -173,7 +173,7 @@ class LandedCost(Workflow, ModelSQL, ModelView, MatchMixin):
|
||||
cursor = Transaction().connection.cursor()
|
||||
sql_table = cls.__table__()
|
||||
|
||||
super(LandedCost, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
# Migration from 5.6: rename state cancel to cancelled
|
||||
cursor.execute(*sql_table.update(
|
||||
@@ -434,7 +434,7 @@ class LandedCost(Workflow, ModelSQL, ModelView, MatchMixin):
|
||||
values['number'] = config.get_multivalue(
|
||||
'landed_cost_sequence',
|
||||
company=values.get('company', default_company)).get()
|
||||
return super(LandedCost, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def delete(cls, landed_costs):
|
||||
@@ -563,7 +563,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._check_modify_exclude.add('landed_cost')
|
||||
|
||||
@classmethod
|
||||
@@ -573,4 +573,4 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('landed_cost', None)
|
||||
return super(InvoiceLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
@@ -10,7 +10,7 @@ class LandedCost(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(LandedCost, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.allocation_method.selection.append(('weight', 'By Weight'))
|
||||
|
||||
def allocate_cost_by_weight(self):
|
||||
|
||||
@@ -54,7 +54,7 @@ class Period(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
Warning = pool.get('res.user.warning')
|
||||
super(Period, cls).close(periods)
|
||||
super().close(periods)
|
||||
for period in periods:
|
||||
if (period.tax_group_on_cash_basis
|
||||
or period.fiscalyear.tax_group_on_cash_basis):
|
||||
@@ -101,7 +101,7 @@ class Tax(metaclass=PoolMeta):
|
||||
def _amount_where(cls, tax_line, move_line, move):
|
||||
context = Transaction().context
|
||||
periods = context.get('periods', [])
|
||||
where = super(Tax, cls)._amount_where(tax_line, move_line, move)
|
||||
where = super()._amount_where(tax_line, move_line, move)
|
||||
return ((where
|
||||
& (tax_line.on_cash_basis == Literal(False))
|
||||
| (tax_line.on_cash_basis == Null))
|
||||
@@ -112,7 +112,7 @@ class Tax(metaclass=PoolMeta):
|
||||
def _amount_domain(cls):
|
||||
context = Transaction().context
|
||||
periods = context.get('periods', [])
|
||||
domain = super(Tax, cls)._amount_domain()
|
||||
domain = super()._amount_domain()
|
||||
return ['OR',
|
||||
[domain,
|
||||
('on_cash_basis', '=', False),
|
||||
@@ -158,7 +158,7 @@ class TaxLine(metaclass=PoolMeta):
|
||||
|
||||
@property
|
||||
def period_checked(self):
|
||||
period = super(TaxLine, self).period_checked
|
||||
period = super().period_checked
|
||||
if self.on_cash_basis:
|
||||
period = self.period
|
||||
return period
|
||||
@@ -216,7 +216,7 @@ class Move(metaclass=PoolMeta):
|
||||
def post(cls, moves):
|
||||
pool = Pool()
|
||||
TaxLine = pool.get('account.tax.line')
|
||||
super(Move, cls).post(moves)
|
||||
super().post(moves)
|
||||
|
||||
tax_lines = []
|
||||
for move in moves:
|
||||
@@ -244,7 +244,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('party', 'type', 'tax_group_on_cash_basis')
|
||||
def on_change_party(self):
|
||||
super(Invoice, self).on_change_party()
|
||||
super().on_change_party()
|
||||
if self.type == 'in' and self.party:
|
||||
self.tax_group_on_cash_basis = (
|
||||
self.party.supplier_tax_group_on_cash_basis)
|
||||
@@ -252,7 +252,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
self.tax_group_on_cash_basis = []
|
||||
|
||||
def get_move(self):
|
||||
move = super(Invoice, self).get_move()
|
||||
move = super().get_move()
|
||||
if self.tax_group_on_cash_basis:
|
||||
for line in move.lines:
|
||||
for tax_line in getattr(line, 'tax_lines', []):
|
||||
@@ -284,7 +284,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
super(Invoice, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
invoices = []
|
||||
actions = iter(args)
|
||||
@@ -296,14 +296,14 @@ class Invoice(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def process(cls, invoices):
|
||||
super(Invoice, cls).process(invoices)
|
||||
super().process(invoices)
|
||||
cls._update_tax_cash_basis(invoices)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('cancelled')
|
||||
def cancel(cls, invoices):
|
||||
super(Invoice, cls).cancel(invoices)
|
||||
super().cancel(invoices)
|
||||
cls._update_tax_cash_basis(invoices)
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -62,7 +62,7 @@ class TaxRuleLineTemplate(_TaxRuleLineMixin, metaclass=PoolMeta):
|
||||
__name__ = 'account.tax.rule.line.template'
|
||||
|
||||
def _get_tax_rule_line_value(self, rule_line=None):
|
||||
value = super(TaxRuleLineTemplate, self)._get_tax_rule_line_value(
|
||||
value = super()._get_tax_rule_line_value(
|
||||
rule_line=rule_line)
|
||||
if not rule_line or rule_line.from_country != self.from_country:
|
||||
value['from_country'] = (
|
||||
@@ -121,7 +121,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
except KeyError:
|
||||
Move = ShipmentOut = ShipmentOutReturn = None
|
||||
|
||||
pattern = super(InvoiceLine, self)._get_tax_rule_pattern()
|
||||
pattern = super()._get_tax_rule_pattern()
|
||||
|
||||
from_country = from_subdivision = to_country = to_subdivision = None
|
||||
if (SaleLine
|
||||
|
||||
@@ -11,7 +11,7 @@ class Purchase(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Purchase, cls).__setup__()
|
||||
super().__setup__()
|
||||
for field in (cls.invoice_address, cls.warehouse):
|
||||
field.states['readonly'] |= (
|
||||
Eval('lines', [0]) & Eval('invoice_address'))
|
||||
|
||||
@@ -11,7 +11,7 @@ class Sale(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Sale, cls).__setup__()
|
||||
super().__setup__()
|
||||
for field in (cls.shipment_party, cls.shipment_address, cls.warehouse):
|
||||
field.states['readonly'] |= (
|
||||
Eval('lines', [0]) & Eval('shipment_address'))
|
||||
|
||||
@@ -96,7 +96,7 @@ class Account(
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
cls.code.search_unaccented = False
|
||||
super(Account, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_indexes.add(
|
||||
Index(t, (t.code, Index.Similarity())))
|
||||
@@ -105,7 +105,7 @@ class Account(
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
super(Account, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
table = cls.__table_handler__(module_name)
|
||||
|
||||
# Migration from 5.0: remove display_balance
|
||||
@@ -361,7 +361,7 @@ class AccountDistribution(ModelView, ModelSQL):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AccountDistribution, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('ratio', 'DESC'))
|
||||
|
||||
@fields.depends('parent', '_parent_parent.root')
|
||||
@@ -402,7 +402,7 @@ class AnalyticAccountEntry(ModelView, ModelSQL):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(AnalyticAccountEntry, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('root_origin_uniq', Unique(t, t.origin, t.root),
|
||||
|
||||
@@ -43,7 +43,7 @@ class Line(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Line, cls).__setup__()
|
||||
super().__setup__()
|
||||
t = cls.__table__()
|
||||
cls._sql_constraints += [
|
||||
('credit_debit_',
|
||||
@@ -58,7 +58,7 @@ class Line(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module_name):
|
||||
super(Line, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
table = cls.__table_handler__(module_name)
|
||||
|
||||
# Migration from 5.0: replace credit_debit constraint by credit_debit_
|
||||
@@ -116,7 +116,7 @@ class Line(ModelSQL, ModelView):
|
||||
def create(cls, vlist):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
lines = super(Line, cls).create(vlist)
|
||||
lines = super().create(vlist)
|
||||
move_lines = [l.move_line for l in lines]
|
||||
MoveLine.set_analytic_state(move_lines)
|
||||
MoveLine.save(move_lines)
|
||||
@@ -126,7 +126,7 @@ class Line(ModelSQL, ModelView):
|
||||
def write(cls, *args):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
super(Line, cls).write(*args)
|
||||
super().write(*args)
|
||||
lines = sum(args[0:None:2], [])
|
||||
move_lines = [l.move_line for l in lines]
|
||||
MoveLine.set_analytic_state(move_lines)
|
||||
@@ -137,7 +137,7 @@ class Line(ModelSQL, ModelView):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
move_lines = [l.move_line for l in lines]
|
||||
super(Line, cls).delete(lines)
|
||||
super().delete(lines)
|
||||
MoveLine.set_analytic_state(move_lines)
|
||||
MoveLine.save(move_lines)
|
||||
|
||||
@@ -150,7 +150,7 @@ class Move(metaclass=PoolMeta):
|
||||
def post(cls, moves):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
super(Move, cls).post(moves)
|
||||
super().post(moves)
|
||||
lines = [l for m in moves for l in m.lines]
|
||||
MoveLine.apply_rule(lines)
|
||||
MoveLine.set_analytic_state(lines)
|
||||
@@ -182,7 +182,7 @@ class MoveLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(MoveLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._buttons.update({
|
||||
'apply_analytic_rules': {
|
||||
'invisible': Eval('analytic_state') != 'draft',
|
||||
|
||||
@@ -12,7 +12,7 @@ class Asset(AnalyticMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Asset, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.analytic_accounts.domain = [
|
||||
('company', '=', Eval('company', -1)),
|
||||
]
|
||||
@@ -22,7 +22,7 @@ class Asset(AnalyticMixin, metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
Entry = pool.get('analytic.account.entry')
|
||||
|
||||
super(Asset, self).on_change_supplier_invoice_line()
|
||||
super().on_change_supplier_invoice_line()
|
||||
if self.supplier_invoice_line:
|
||||
entries = []
|
||||
for entry in self.supplier_invoice_line.analytic_accounts:
|
||||
@@ -35,7 +35,7 @@ class Asset(AnalyticMixin, metaclass=PoolMeta):
|
||||
self.analytic_accounts = entries
|
||||
|
||||
def get_move(self, line):
|
||||
move = super(Asset, self).get_move(line)
|
||||
move = super().get_move(line)
|
||||
self.set_analytic_lines(move, self.product.account_expense_used)
|
||||
return move
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ class InvoiceLine(AnalyticMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(InvoiceLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.analytic_accounts.domain = [
|
||||
('company', '=', Eval('company', -1)),
|
||||
]
|
||||
@@ -24,7 +24,7 @@ class InvoiceLine(AnalyticMixin, metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
AnalyticAccountEntry = pool.get('analytic.account.entry')
|
||||
|
||||
line = super(InvoiceLine, self)._credit()
|
||||
line = super()._credit()
|
||||
if self.analytic_accounts:
|
||||
new_entries = AnalyticAccountEntry.copy(self.analytic_accounts,
|
||||
default={
|
||||
@@ -34,7 +34,7 @@ class InvoiceLine(AnalyticMixin, metaclass=PoolMeta):
|
||||
return line
|
||||
|
||||
def get_move_lines(self):
|
||||
lines = super(InvoiceLine, self).get_move_lines()
|
||||
lines = super().get_move_lines()
|
||||
if self.invoice and self.invoice.type:
|
||||
type_ = self.invoice.type
|
||||
else:
|
||||
@@ -76,7 +76,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
pool = Pool()
|
||||
origins = super(AnalyticAccountEntry, cls)._get_origin()
|
||||
origins = super()._get_origin()
|
||||
origins.append('account.invoice.line')
|
||||
try:
|
||||
pool.get('account.asset')
|
||||
@@ -102,7 +102,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
def search_company(cls, name, clause):
|
||||
pool = Pool()
|
||||
domain = super(AnalyticAccountEntry, cls).search_company(name, clause),
|
||||
domain = super().search_company(name, clause),
|
||||
domain = ['OR',
|
||||
domain,
|
||||
(('origin.' + clause[0],) + tuple(clause[1:3])
|
||||
|
||||
@@ -11,7 +11,7 @@ class PurchaseLine(AnalyticMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(PurchaseLine, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.analytic_accounts.domain = [
|
||||
('company', '=', Eval('company', -1)),
|
||||
]
|
||||
@@ -24,7 +24,7 @@ class PurchaseLine(AnalyticMixin, metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
AnalyticAccountEntry = pool.get('analytic.account.entry')
|
||||
|
||||
invoice_lines = super(PurchaseLine, self).get_invoice_line()
|
||||
invoice_lines = super().get_invoice_line()
|
||||
for invoice_line in invoice_lines:
|
||||
new_entries = AnalyticAccountEntry.copy(self.analytic_accounts,
|
||||
default={
|
||||
@@ -39,7 +39,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
origins = super(AnalyticAccountEntry, cls)._get_origin()
|
||||
origins = super()._get_origin()
|
||||
return origins + ['purchase.line']
|
||||
|
||||
@fields.depends('origin')
|
||||
@@ -53,7 +53,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def search_company(cls, name, clause):
|
||||
domain = super(AnalyticAccountEntry, cls).search_company(name, clause)
|
||||
domain = super().search_company(name, clause)
|
||||
if domain:
|
||||
domain = ['OR', domain]
|
||||
domain.append(
|
||||
|
||||
@@ -39,7 +39,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
origins = super(AnalyticAccountEntry, cls)._get_origin()
|
||||
origins = super()._get_origin()
|
||||
return origins + ['sale.line']
|
||||
|
||||
@fields.depends('origin')
|
||||
@@ -53,7 +53,7 @@ class AnalyticAccountEntry(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def search_company(cls, name, clause):
|
||||
domain = super(AnalyticAccountEntry, cls).search_company(name, clause),
|
||||
domain = super().search_company(name, clause),
|
||||
if domain:
|
||||
domain = ['OR', domain]
|
||||
domain.append(('origin.sale.' + clause[0],
|
||||
|
||||
@@ -30,7 +30,7 @@ class User(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(User, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._preferences_fields.append('mobile')
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -24,7 +24,7 @@ class AuthenticationSMSTestCase(ModuleTestCase):
|
||||
module = 'authentication_sms'
|
||||
|
||||
def setUp(self):
|
||||
super(AuthenticationSMSTestCase, self).setUp()
|
||||
super().setUp()
|
||||
methods = config.get('session', 'authentications', default='')
|
||||
config.set('session', 'authentications', 'sms')
|
||||
self.addCleanup(config.set, 'session', 'authentications', methods)
|
||||
|
||||
@@ -15,7 +15,7 @@ class Party(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
domain = super(Party, cls).search_rec_name(name, clause)
|
||||
domain = super().search_rec_name(name, clause)
|
||||
if clause[1].startswith('!') or clause[1].startswith('not '):
|
||||
bool_op = 'AND'
|
||||
else:
|
||||
|
||||
@@ -69,7 +69,7 @@ class Carrier(DeactivableMixin, ModelSQL, ModelView):
|
||||
def create(cls, *args, **kwargs):
|
||||
pool = Pool()
|
||||
CarrierSelection = pool.get('carrier.selection')
|
||||
carriers = super(Carrier, cls).create(*args, **kwargs)
|
||||
carriers = super().create(*args, **kwargs)
|
||||
CarrierSelection._get_carriers_cache.clear()
|
||||
return carriers
|
||||
|
||||
@@ -77,7 +77,7 @@ class Carrier(DeactivableMixin, ModelSQL, ModelView):
|
||||
def delete(cls, *args, **kwargs):
|
||||
pool = Pool()
|
||||
CarrierSelection = pool.get('carrier.selection')
|
||||
super(Carrier, cls).delete(*args, **kwargs)
|
||||
super().delete(*args, **kwargs)
|
||||
CarrierSelection._get_carriers_cache.clear()
|
||||
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ class Carrier(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Carrier, cls).__setup__()
|
||||
super().__setup__()
|
||||
selection = ('percentage', 'Percentage')
|
||||
if selection not in cls.carrier_cost_method.selection:
|
||||
cls.carrier_cost_method.selection.append(selection)
|
||||
@@ -33,7 +33,7 @@ class Carrier(metaclass=PoolMeta):
|
||||
return currency.round(price), currency_id
|
||||
|
||||
def get_sale_price(self):
|
||||
price, currency_id = super(Carrier, self).get_sale_price()
|
||||
price, currency_id = super().get_sale_price()
|
||||
if self.carrier_cost_method == 'percentage':
|
||||
amount = Transaction().context.get('amount', Decimal(0))
|
||||
currency_id = Transaction().context.get('currency', currency_id)
|
||||
@@ -42,7 +42,7 @@ class Carrier(metaclass=PoolMeta):
|
||||
return price, currency_id
|
||||
|
||||
def get_purchase_price(self):
|
||||
price, currency_id = super(Carrier, self).get_purchase_price()
|
||||
price, currency_id = super().get_purchase_price()
|
||||
if self.carrier_cost_method == 'percentage':
|
||||
amount = Transaction().context.get('amount', Decimal(0))
|
||||
currency_id = Transaction().context.get('currency', currency_id)
|
||||
|
||||
@@ -33,7 +33,7 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('carrier', 'incoming_moves', 'company')
|
||||
def _get_carrier_context(self):
|
||||
context = super(ShipmentIn, self)._get_carrier_context()
|
||||
context = super()._get_carrier_context()
|
||||
if not self.carrier or not self.company:
|
||||
return context
|
||||
if self.carrier.carrier_cost_method != 'percentage':
|
||||
@@ -49,7 +49,7 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('carrier', 'inventory_moves', 'company')
|
||||
def _get_carrier_context(self):
|
||||
context = super(ShipmentOut, self)._get_carrier_context()
|
||||
context = super()._get_carrier_context()
|
||||
if not self.carrier or not self.company:
|
||||
return context
|
||||
if self.carrier.carrier_cost_method != 'percentage':
|
||||
|
||||
@@ -39,7 +39,7 @@ class Carrier(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Carrier, cls).__setup__()
|
||||
super().__setup__()
|
||||
selection = ('weight', 'Weight')
|
||||
if selection not in cls.carrier_cost_method.selection:
|
||||
cls.carrier_cost_method.selection.append(selection)
|
||||
@@ -64,13 +64,13 @@ class Carrier(metaclass=PoolMeta):
|
||||
return weight_price, self.weight_currency.id
|
||||
|
||||
def get_sale_price(self):
|
||||
price, currency_id = super(Carrier, self).get_sale_price()
|
||||
price, currency_id = super().get_sale_price()
|
||||
if self.carrier_cost_method == 'weight':
|
||||
price, currency_id = self._get_weight_price()
|
||||
return price, currency_id
|
||||
|
||||
def get_purchase_price(self):
|
||||
price, currency_id = super(Carrier, self).get_purchase_price()
|
||||
price, currency_id = super().get_purchase_price()
|
||||
if self.carrier_cost_method == 'weight':
|
||||
price, currency_id = self._get_weight_price()
|
||||
return price, currency_id
|
||||
@@ -102,7 +102,7 @@ class WeightPriceList(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(WeightPriceList, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('weight', 'ASC'))
|
||||
|
||||
@fields.depends('carrier', '_parent_carrier.weight_currency')
|
||||
|
||||
@@ -23,7 +23,7 @@ class Sale(metaclass=PoolMeta):
|
||||
return parcel_weight(parcel, self.carrier.weight_uom, 'unit')
|
||||
|
||||
def _get_carrier_context(self, carrier):
|
||||
context = super(Sale, self)._get_carrier_context(carrier)
|
||||
context = super()._get_carrier_context(carrier)
|
||||
|
||||
if not carrier or carrier.carrier_cost_method != 'weight':
|
||||
return context
|
||||
|
||||
@@ -27,7 +27,7 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
@fields.depends('carrier', 'incoming_moves',
|
||||
methods=['_group_parcel_key', '_parcel_weight'])
|
||||
def _get_carrier_context(self):
|
||||
context = super(ShipmentIn, self)._get_carrier_context()
|
||||
context = super()._get_carrier_context()
|
||||
if not self.carrier:
|
||||
return context
|
||||
if self.carrier.carrier_cost_method != 'weight':
|
||||
@@ -63,7 +63,7 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
'warehouse_storage', 'warehouse_output',
|
||||
methods=['_group_parcel_key', '_parcel_weight'])
|
||||
def _get_carrier_context(self):
|
||||
context = super(ShipmentOut, self)._get_carrier_context()
|
||||
context = super()._get_carrier_context()
|
||||
if not self.carrier:
|
||||
return context
|
||||
if self.carrier.carrier_cost_method != 'weight':
|
||||
|
||||
@@ -8,5 +8,5 @@ class Journal(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Journal, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.type.selection.append(('commission', "Commission"))
|
||||
|
||||
@@ -358,7 +358,7 @@ class PlanLines(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
|
||||
if (self.category is not None
|
||||
and self.category.id not in categories):
|
||||
return False
|
||||
return super(PlanLines, self).match(pattern)
|
||||
return super().match(pattern)
|
||||
|
||||
|
||||
class Commission(ModelSQL, ModelView):
|
||||
@@ -404,7 +404,7 @@ class Commission(ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Commission, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__access__.add('agent')
|
||||
cls._buttons.update({
|
||||
'invoice': {
|
||||
@@ -473,7 +473,7 @@ class Commission(ModelSQL, ModelView):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('invoice_line', None)
|
||||
return super(Commission, cls).copy(commissions, default=default)
|
||||
return super().copy(commissions, default=default)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
|
||||
@@ -202,7 +202,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
|
||||
@fields.depends('product', 'principal')
|
||||
def on_change_product(self):
|
||||
super(InvoiceLine, self).on_change_product()
|
||||
super().on_change_product()
|
||||
if self.product:
|
||||
if self.product.principals:
|
||||
if self.principal not in self.product.principals:
|
||||
@@ -212,7 +212,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def view_attributes(cls):
|
||||
return super(InvoiceLine, cls).view_attributes() + [
|
||||
return super().view_attributes() + [
|
||||
('//page[@id="commissions"]', 'states', {
|
||||
'invisible': Eval('type') != 'line',
|
||||
})]
|
||||
@@ -225,7 +225,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
default = default.copy()
|
||||
default.setdefault('commissions', None)
|
||||
default.setdefault('from_commissions', None)
|
||||
return super(InvoiceLine, cls).copy(lines, default=default)
|
||||
return super().copy(lines, default=default)
|
||||
|
||||
|
||||
class CreditInvoiceStart(metaclass=PoolMeta):
|
||||
|
||||
@@ -9,4 +9,4 @@ class Move(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_origin(cls):
|
||||
return super(Move, cls)._get_origin() + ['commission']
|
||||
return super()._get_origin() + ['commission']
|
||||
|
||||
@@ -26,7 +26,7 @@ class Commission(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Commission, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.amount.states['readonly'] |= Bool(Eval('waiting_move'))
|
||||
|
||||
@classmethod
|
||||
@@ -36,7 +36,7 @@ class Commission(metaclass=PoolMeta):
|
||||
else:
|
||||
default = default.copy()
|
||||
default.setdefault('waiting_move', None)
|
||||
return super(Commission, cls).copy(commissions, default=default)
|
||||
return super().copy(commissions, default=default)
|
||||
|
||||
@classmethod
|
||||
def create_waiting_move(cls, commissions):
|
||||
|
||||
@@ -19,7 +19,7 @@ class Invoice(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
Commission = pool.get('commission')
|
||||
|
||||
commissions = super(Invoice, cls).create_commissions(invoices)
|
||||
commissions = super().create_commissions(invoices)
|
||||
|
||||
Commission.create_waiting_move(commissions)
|
||||
return commissions
|
||||
@@ -47,7 +47,7 @@ class InvoiceLine(metaclass=PoolMeta):
|
||||
pool = Pool()
|
||||
MoveLine = pool.get('account.move.line')
|
||||
|
||||
lines = super(InvoiceLine, self).get_move_lines()
|
||||
lines = super().get_move_lines()
|
||||
if self.from_commissions:
|
||||
amounts = defaultdict(int)
|
||||
for commission in self.from_commissions:
|
||||
|
||||
@@ -17,7 +17,7 @@ class Sequence(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Sequence, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('company', 'ASC'))
|
||||
|
||||
@staticmethod
|
||||
@@ -41,7 +41,7 @@ class Date(metaclass=PoolMeta):
|
||||
company = Company(company_id)
|
||||
if company.timezone:
|
||||
timezone = tz.ZoneInfo(company.timezone)
|
||||
return super(Date, cls).today(timezone=timezone)
|
||||
return super().today(timezone=timezone)
|
||||
|
||||
|
||||
class Rule(metaclass=PoolMeta):
|
||||
@@ -83,11 +83,11 @@ class Cron(metaclass=PoolMeta):
|
||||
def run_once(cls, crons):
|
||||
for cron in crons:
|
||||
if not cron.companies:
|
||||
super(Cron, cls).run_once([cron])
|
||||
super().run_once([cron])
|
||||
else:
|
||||
for company in cron.companies:
|
||||
with Transaction().set_context(company=company.id):
|
||||
super(Cron, cls).run_once([cron])
|
||||
super().run_once([cron])
|
||||
|
||||
@staticmethod
|
||||
def default_companies():
|
||||
|
||||
@@ -16,7 +16,7 @@ class CompanyMultiValueMixin(MultiValueMixin):
|
||||
|
||||
def multivalue_records(self, field):
|
||||
Value = self.multivalue_model(field)
|
||||
records = super(CompanyMultiValueMixin, self).multivalue_records(field)
|
||||
records = super().multivalue_records(field)
|
||||
if issubclass(Value, CompanyValueMixin):
|
||||
# Sort to get record with empty company at the end
|
||||
# and so give priority to record with company filled.
|
||||
@@ -27,14 +27,14 @@ class CompanyMultiValueMixin(MultiValueMixin):
|
||||
Value = self.multivalue_model(name)
|
||||
if issubclass(Value, CompanyValueMixin):
|
||||
pattern.setdefault('company', Transaction().context.get('company'))
|
||||
return super(CompanyMultiValueMixin, self).get_multivalue(
|
||||
return super().get_multivalue(
|
||||
name, **pattern)
|
||||
|
||||
def set_multivalue(self, name, value, save=True, **pattern):
|
||||
Value = self.multivalue_model(name)
|
||||
if issubclass(Value, CompanyValueMixin):
|
||||
pattern.setdefault('company', Transaction().context.get('company'))
|
||||
return super(CompanyMultiValueMixin, self).set_multivalue(
|
||||
return super().set_multivalue(
|
||||
name, value, save=save, **pattern)
|
||||
|
||||
|
||||
|
||||
@@ -94,4 +94,4 @@ class LetterReport(Report):
|
||||
@classmethod
|
||||
def execute(cls, ids, data):
|
||||
with Transaction().set_context(address_with_party=True):
|
||||
return super(LetterReport, cls).execute(ids, data)
|
||||
return super().execute(ids, data)
|
||||
|
||||
@@ -114,7 +114,7 @@ class User(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(User, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._context_fields.insert(0, 'company')
|
||||
cls._context_fields.insert(0, 'employee')
|
||||
cls._context_fields.insert(0, 'company_filter')
|
||||
@@ -168,7 +168,7 @@ class User(metaclass=PoolMeta):
|
||||
def get_status_bar(self, name):
|
||||
def same_company(record):
|
||||
return record.company == self.company
|
||||
status = super(User, self).get_status_bar(name)
|
||||
status = super().get_status_bar(name)
|
||||
if (self.employee
|
||||
and len(list(filter(same_company, self.employees))) > 1):
|
||||
status += ' - %s' % self.employee.rec_name
|
||||
@@ -209,7 +209,7 @@ class User(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_preferences(cls, user, context_only=False):
|
||||
res = super(User, cls)._get_preferences(user,
|
||||
res = super()._get_preferences(user,
|
||||
context_only=context_only)
|
||||
if not context_only:
|
||||
res['companies'] = [c.id for c in user.companies]
|
||||
@@ -263,7 +263,7 @@ class User(metaclass=PoolMeta):
|
||||
user_id = Transaction().user
|
||||
if user_id == 0 and 'user' in Transaction().context:
|
||||
user_id = Transaction().context['user']
|
||||
result = super(User, cls).read(ids, fields_names)
|
||||
result = super().read(ids, fields_names)
|
||||
if (fields_names
|
||||
and ((
|
||||
'company' in fields_names
|
||||
|
||||
@@ -8,7 +8,7 @@ class User(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def _get_preferences(cls, user, context_only=False):
|
||||
res = super(User, cls)._get_preferences(user,
|
||||
res = super()._get_preferences(user,
|
||||
context_only=context_only)
|
||||
if user.company:
|
||||
time = {
|
||||
|
||||
@@ -169,7 +169,7 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Country, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('name', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -179,7 +179,7 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
|
||||
data = Data.__table__()
|
||||
cursor = Transaction().connection.cursor()
|
||||
|
||||
super(Country, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
# Migration from 5.2: remove country data
|
||||
cursor.execute(*data.delete(where=(data.module == 'country')
|
||||
@@ -235,7 +235,7 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
|
||||
for code in {'code', 'code3', 'code_numeric'}:
|
||||
if code in vals and vals[code]:
|
||||
vals[code] = vals[code].upper()
|
||||
return super(Country, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
@@ -247,7 +247,7 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
|
||||
values = values.copy()
|
||||
values[code] = values[code].upper()
|
||||
args.extend((countries, values))
|
||||
super(Country, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
|
||||
class Subdivision(DeactivableMixin, ModelSQL, ModelView):
|
||||
@@ -421,7 +421,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Subdivision, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -493,7 +493,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
|
||||
for vals in vlist:
|
||||
if 'code' in vals and vals['code']:
|
||||
vals['code'] = vals['code'].upper()
|
||||
return super(Subdivision, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
@@ -504,7 +504,7 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
|
||||
values = values.copy()
|
||||
values['code'] = values['code'].upper()
|
||||
args.extend((subdivisions, values))
|
||||
super(Subdivision, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
|
||||
class PostalCode(ModelSQL, ModelView):
|
||||
|
||||
@@ -67,7 +67,7 @@ class Currency(
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Currency, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
cls.__rpc__.update({
|
||||
'compute': RPC(instantiate=slice(0, 3, 2)),
|
||||
@@ -80,7 +80,7 @@ class Currency(
|
||||
data = Data.__table__()
|
||||
cursor = Transaction().connection.cursor()
|
||||
|
||||
super(Currency, cls).__register__(module_name)
|
||||
super().__register__(module_name)
|
||||
|
||||
table_h = cls.__table_handler__(module_name)
|
||||
|
||||
@@ -101,7 +101,7 @@ class Currency(
|
||||
|
||||
@classmethod
|
||||
def search_global(cls, text):
|
||||
for record, rec_name, icon in super(Currency, cls).search_global(text):
|
||||
for record, rec_name, icon in super().search_global(text):
|
||||
icon = icon or 'tryton-currency'
|
||||
yield record, rec_name, icon
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class TariffCode(DeactivableMixin, CountryMatchMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(TariffCode, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('code', 'ASC'))
|
||||
|
||||
@classmethod
|
||||
@@ -185,7 +185,7 @@ class DutyRate(CountryMatchMixin, ModelSQL, ModelView):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(DutyRate, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._order.insert(0, ('start_date', 'ASC'))
|
||||
cls._order.insert(0, ('end_date', 'ASC'))
|
||||
|
||||
@@ -210,7 +210,7 @@ class DutyRate(CountryMatchMixin, ModelSQL, ModelView):
|
||||
end = self.end_date or datetime.date.max
|
||||
if not (start <= pattern.pop('date') <= end):
|
||||
return False
|
||||
return super(DutyRate, self).match(pattern)
|
||||
return super().match(pattern)
|
||||
|
||||
def compute(self, currency, quantity, uom, **kwargs):
|
||||
return getattr(self, 'compute_%s' % self.computation_type)(
|
||||
|
||||
@@ -31,7 +31,7 @@ class Category(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Category, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.parent.domain = [
|
||||
('customs', '=', Eval('customs', False)),
|
||||
cls.parent.domain or []]
|
||||
@@ -69,7 +69,7 @@ class Category(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def view_attributes(cls):
|
||||
return super(Category, cls).view_attributes() + [
|
||||
return super().view_attributes() + [
|
||||
('/form/notebook/page[@id="customs"]', 'states', {
|
||||
'invisible': ~Eval('customs', False),
|
||||
}),
|
||||
@@ -81,7 +81,7 @@ class Category(metaclass=PoolMeta):
|
||||
Product_TariffCode = pool.get('product-customs.tariff.code')
|
||||
products = [str(t) for t in categories]
|
||||
|
||||
super(Category, cls).delete(categories)
|
||||
super().delete(categories)
|
||||
|
||||
for products in grouped_slice(products):
|
||||
product_tariffcodes = Product_TariffCode.search([
|
||||
@@ -138,7 +138,7 @@ class Template(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def view_attributes(cls):
|
||||
return super(Template, cls).view_attributes() + [
|
||||
return super().view_attributes() + [
|
||||
('//page[@id="customs"]', 'states', {
|
||||
'invisible': Eval('type') == 'service',
|
||||
}),
|
||||
@@ -150,7 +150,7 @@ class Template(metaclass=PoolMeta):
|
||||
Product_TariffCode = pool.get('product-customs.tariff.code')
|
||||
products = [str(t) for t in templates]
|
||||
|
||||
super(Template, cls).delete(templates)
|
||||
super().delete(templates)
|
||||
|
||||
for products in grouped_slice(products):
|
||||
product_tariffcodes = Product_TariffCode.search([
|
||||
|
||||
@@ -115,7 +115,7 @@ class View(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def read(cls, ids, fields_names):
|
||||
res = super(View, cls).read(ids, fields_names)
|
||||
res = super().read(ids, fields_names)
|
||||
if Transaction().user == 0:
|
||||
return res
|
||||
dashboard_id = cls.dashboard_id()
|
||||
|
||||
@@ -18,7 +18,7 @@ class User(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(User, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls._preferences_fields += [
|
||||
'dashboard_layout',
|
||||
'dashboard_actions',
|
||||
|
||||
@@ -8,6 +8,6 @@ class UserApplication(metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(UserApplication, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.application.selection.append(
|
||||
('document_incoming', "Incoming Document"))
|
||||
|
||||
@@ -56,7 +56,7 @@ class Invoice(Model):
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Invoice, cls).__setup__()
|
||||
super().__setup__()
|
||||
cls.__rpc__.update({
|
||||
'render': RPC(instantiate=0),
|
||||
})
|
||||
|
||||
@@ -114,7 +114,7 @@ class EDocumentUNCEFACTTestCase(ModuleTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super(EDocumentUNCEFACTTestCase, cls).setUpClass()
|
||||
super().setUpClass()
|
||||
activate_module('account_invoice')
|
||||
|
||||
@with_transaction()
|
||||
|
||||
@@ -127,7 +127,7 @@ class TaxTemplate(metaclass=PoolMeta):
|
||||
['unece_category_code'])['unece_category_code']['selection']
|
||||
|
||||
def _get_tax_value(self, tax=None):
|
||||
value = super(TaxTemplate, self)._get_tax_value(tax=tax)
|
||||
value = super()._get_tax_value(tax=tax)
|
||||
for field in ['unece_code', 'unece_category_code']:
|
||||
if not tax or getattr(tax, field) != getattr(self, field):
|
||||
value[field] = getattr(self, field)
|
||||
|
||||
@@ -126,7 +126,7 @@ class User(metaclass=PoolMeta):
|
||||
tocheck.append(values['login'])
|
||||
if tocheck:
|
||||
cls._check_passwd_ldap_user(tocheck)
|
||||
return super(User, cls).create(vlist)
|
||||
return super().create(vlist)
|
||||
|
||||
@classmethod
|
||||
def write(cls, *args):
|
||||
@@ -135,7 +135,7 @@ class User(metaclass=PoolMeta):
|
||||
if values.get('password'):
|
||||
logins = [x.login for x in users]
|
||||
cls._check_passwd_ldap_user(logins)
|
||||
super(User, cls).write(*args)
|
||||
super().write(*args)
|
||||
|
||||
@classmethod
|
||||
def _login_ldap(cls, login, parameters):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user