Remove old-style of super() calls

This commit is contained in:
Nicolas Évrard
2025-04-04 00:45:18 +02:00
parent 5781a49606
commit cbdad75620
350 changed files with 1235 additions and 1235 deletions
+8 -8
View File
@@ -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
+1 -1
View File
@@ -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):
+3 -3
View File
@@ -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
+5 -5
View File
@@ -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
View File
@@ -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
+3 -3
View File
@@ -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',
+5 -5
View File
@@ -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
View File
@@ -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):
'''
+4 -4
View File
@@ -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"))
+4 -4
View File
@@ -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'))
+3 -3
View File
@@ -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()
+1 -1
View File
@@ -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')
+2 -2
View File
@@ -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)]
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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.
+1 -1
View File
@@ -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):
+1 -1
View File
@@ -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']
+4 -4
View File
@@ -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
+2 -2
View File
@@ -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):
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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
+4 -4
View File
@@ -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 {
+2 -2
View File
@@ -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
+7 -7
View File
@@ -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'
+18 -18
View File
@@ -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):
+2 -2
View File
@@ -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):
+2 -2
View File
@@ -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',
+4 -4
View File
@@ -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),
]
+1 -1
View File
@@ -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()
+6 -6
View File
@@ -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
+4 -4
View File
@@ -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))
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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']
+4 -4
View File
@@ -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
+10 -10
View File
@@ -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(
+1 -1
View File
@@ -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()
+9 -9
View File
@@ -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):
+2 -2
View File
@@ -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),
+1 -1
View File
@@ -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):
+4 -4
View File
@@ -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']
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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 = [
+8 -8
View File
@@ -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):
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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"))
+1 -1
View File
@@ -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"))
+1 -1
View File
@@ -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'))
+1 -1
View File
@@ -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
+1 -1
View File
@@ -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')
+3 -3
View File
@@ -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
+1 -1
View File
@@ -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']
+2 -2
View File
@@ -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'))
+1 -1
View File
@@ -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()
+5 -5
View File
@@ -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):
+10 -10
View File
@@ -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
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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'))
+1 -1
View File
@@ -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'))
+4 -4
View File
@@ -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),
+7 -7
View File
@@ -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',
+3 -3
View File
@@ -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
+5 -5
View File
@@ -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])
+4 -4
View File
@@ -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(
+2 -2
View File
@@ -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],
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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:
+2 -2
View File
@@ -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()
+3 -3
View File
@@ -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)
+2 -2
View File
@@ -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':
+4 -4
View File
@@ -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')
+1 -1
View File
@@ -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
+2 -2
View File
@@ -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':
+1 -1
View File
@@ -8,5 +8,5 @@ class Journal(metaclass=PoolMeta):
@classmethod
def __setup__(cls):
super(Journal, cls).__setup__()
super().__setup__()
cls.type.selection.append(('commission', "Commission"))
+3 -3
View File
@@ -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
+3 -3
View File
@@ -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):
+1 -1
View File
@@ -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']
+2 -2
View File
@@ -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):
+2 -2
View File
@@ -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:
+4 -4
View File
@@ -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():
+3 -3
View File
@@ -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)
+1 -1
View File
@@ -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)
+4 -4
View File
@@ -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
+1 -1
View File
@@ -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 = {
+7 -7
View File
@@ -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):
+3 -3
View File
@@ -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
+3 -3
View File
@@ -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)(
+5 -5
View File
@@ -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([
+1 -1
View File
@@ -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()
+1 -1
View File
@@ -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',
+1 -1
View File
@@ -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"))
+1 -1
View File
@@ -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()
+1 -1
View File
@@ -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)
+2 -2
View File
@@ -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