diff --git a/modules/account/account.py b/modules/account/account.py
index 773f94bffb..b09eb0393b 100644
--- a/modules/account/account.py
+++ b/modules/account/account.py
@@ -134,7 +134,6 @@ def TypeMixin(template=False):
class TypeTemplate(
TypeMixin(template=True), sequence_ordered(), tree(separator='\\'),
ModelSQL, ModelView):
- 'Account Type Template'
__name__ = 'account.account.type.template'
parent = fields.Many2One(
'account.account.type.template', "Parent", ondelete='RESTRICT',
@@ -221,7 +220,6 @@ class TypeTemplate(
class Type(
TypeMixin(), sequence_ordered(), tree(separator='\\'),
ModelSQL, ModelView):
- 'Account Type'
__name__ = 'account.account.type'
parent = fields.Many2One('account.account.type', 'Parent',
@@ -445,7 +443,6 @@ class Type(
class OpenType(Wizard):
- 'Open Type'
__name__ = 'account.account.open_type'
start = StateTransition()
account = StateAction('account.act_account_balance_sheet')
@@ -661,7 +658,6 @@ def AccountMixin(template=False):
class AccountTemplate(
AccountMixin(template=True), PeriodMixin, tree(), ModelSQL, ModelView):
- 'Account Template'
__name__ = 'account.account.template'
type = fields.Many2One(
'account.account.type.template', "Type", ondelete="RESTRICT")
@@ -833,7 +829,6 @@ class AccountTemplate(
class AccountTemplateTaxTemplate(ModelSQL):
- 'Account Template - Tax Template'
__name__ = 'account.account.template-account.tax.template'
account = fields.Many2One(
'account.account.template', "Account Template",
@@ -853,7 +848,6 @@ class AccountTemplateTaxTemplate(ModelSQL):
class Account(
AccountMixin(), ContextCompanyMixin, ActivePeriodMixin, tree(),
ModelSQL, ModelView):
- 'Account'
__name__ = 'account.account'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -1464,7 +1458,6 @@ class Account(
class AccountParty(ActivePeriodMixin, ModelSQL):
- "Account Party"
__name__ = 'account.account.party'
account = fields.Many2One('account.account', "Account")
party = fields.Many2One(
@@ -1690,11 +1683,7 @@ class AccountParty(ActivePeriodMixin, ModelSQL):
class AccountDeferral(ModelSQL, ModelView):
- '''
- Account Deferral
-
- It is used to deferral the debit/credit of account by fiscal year.
- '''
+ "Used to defer the debit/credit of accounts by fiscal year"
__name__ = 'account.account.deferral'
account = fields.Many2One('account.account', "Account", required=True)
fiscalyear = fields.Many2One(
@@ -1839,7 +1828,6 @@ class AccountDeferral(ModelSQL, ModelView):
class AccountTax(ModelSQL):
- 'Account - Tax'
__name__ = 'account.account-account.tax'
account = fields.Many2One(
'account.account', "Account", ondelete='CASCADE', required=True)
@@ -1855,7 +1843,6 @@ class AccountTax(ModelSQL):
class AccountContext(ModelView):
- 'Account Context'
__name__ = 'account.account.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -2150,7 +2137,6 @@ class _GeneralLedgerAccount(ActivePeriodMixin, ModelSQL, ModelView):
class GeneralLedgerAccount(_GeneralLedgerAccount):
- 'General Ledger Account'
__name__ = 'account.general_ledger.account'
type = fields.Many2One('account.account.type', "Type")
@@ -2167,7 +2153,6 @@ class GeneralLedgerAccount(_GeneralLedgerAccount):
class GeneralLedgerAccountContext(ModelView):
- 'General Ledger Account Context'
__name__ = 'account.general_ledger.account.context'
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
required=True,
@@ -2324,7 +2309,6 @@ class GeneralLedgerAccountContext(ModelView):
class GeneralLedgerAccountParty(_GeneralLedgerAccount):
- "General Ledger Account Party"
__name__ = 'account.general_ledger.account.party'
party = fields.Many2One(
@@ -2360,7 +2344,6 @@ class GeneralLedgerAccountParty(_GeneralLedgerAccount):
class OpenGeneralLedgerAccountParty(Wizard):
- "Open General Ledger Account Party"
__name__ = 'account.general_ledger.account.party.open'
start_state = 'open'
open = StateAction('account.act_general_ledger_line_form')
@@ -2380,7 +2363,6 @@ class OpenGeneralLedgerAccountParty(Wizard):
class GeneralLedgerLine(DescriptionOriginMixin, ModelSQL, ModelView):
- 'General Ledger Line'
__name__ = 'account.general_ledger.line'
move = fields.Many2One('account.move', 'Move')
@@ -2578,7 +2560,6 @@ class GeneralLedgerLine(DescriptionOriginMixin, ModelSQL, ModelView):
class GeneralLedgerLineContext(GeneralLedgerAccountContext):
- 'General Ledger Line Context'
__name__ = 'account.general_ledger.line.context'
party_cumulate = fields.Boolean('Cumulate per Party')
@@ -2656,7 +2637,6 @@ class TrialBalance(Report):
class BalanceSheetContext(ModelView):
- 'Balance Sheet Context'
__name__ = 'account.balance_sheet.context'
date = fields.Date('Date', required=True)
company = fields.Many2One('company.company', 'Company', required=True)
@@ -2677,7 +2657,6 @@ class BalanceSheetContext(ModelView):
class BalanceSheetComparisionContext(BalanceSheetContext):
- 'Balance Sheet Context'
__name__ = 'account.balance_sheet.comparison.context'
comparison = fields.Boolean('Comparison')
date_cmp = fields.Date('Date', states={
@@ -2705,7 +2684,6 @@ class BalanceSheetComparisionContext(BalanceSheetContext):
class IncomeStatementContext(ModelView):
- 'Income Statement Context'
__name__ = 'account.income_statement.context'
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
required=True,
@@ -2912,7 +2890,6 @@ class IncomeStatementContext(ModelView):
class AgedBalanceContext(ModelView):
- 'Aged Balance Context'
__name__ = 'account.aged_balance.context'
type = fields.Selection([
('customer', 'Customers'),
@@ -2988,7 +2965,6 @@ class AgedBalanceContext(ModelView):
class AgedBalance(ModelSQL, ModelView):
- 'Aged Balance'
__name__ = 'account.aged_balance'
party = fields.Many2One(
@@ -3165,12 +3141,10 @@ class AgedBalanceReport(Report):
class CreateChartStart(ModelView):
- 'Create Chart'
__name__ = 'account.create_chart.start'
class CreateChartAccount(ModelView):
- 'Create Chart'
__name__ = 'account.create_chart.account'
company = fields.Many2One('company.company', 'Company', required=True)
account_template = fields.Many2One('account.account.template',
@@ -3182,7 +3156,6 @@ class CreateChartAccount(ModelView):
class CreateChartProperties(ModelView):
- 'Create Chart'
__name__ = 'account.create_chart.properties'
company = fields.Many2One('company.company', 'Company')
account_receivable = fields.Many2One('account.account',
@@ -3204,7 +3177,6 @@ class CreateChartProperties(ModelView):
class CreateChart(Wizard):
- 'Create Chart'
__name__ = 'account.create_chart'
start = StateView('account.create_chart.start',
'account.create_chart_start_view_form', [
@@ -3354,7 +3326,6 @@ class CreateChart(Wizard):
class UpdateChartStart(ModelView):
- 'Update Chart'
__name__ = 'account.update_chart.start'
account = fields.Many2One(
'account.account', "Root Account", required=True,
@@ -3365,12 +3336,10 @@ class UpdateChartStart(ModelView):
class UpdateChartSucceed(ModelView):
- 'Update Chart'
__name__ = 'account.update_chart.succeed'
class UpdateChart(Wizard):
- 'Update Chart'
__name__ = 'account.update_chart'
start = StateView('account.update_chart.start',
'account.update_chart_start_view_form', [
diff --git a/modules/account/configuration.py b/modules/account/configuration.py
index f1bc33bf86..2e699d51aa 100644
--- a/modules/account/configuration.py
+++ b/modules/account/configuration.py
@@ -14,7 +14,6 @@ tax_roundings = [
class Configuration(
ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Account Configuration'
__name__ = 'account.configuration'
default_account_receivable = fields.MultiValue(fields.Many2One(
'account.account', "Default Account Receivable",
@@ -111,7 +110,6 @@ class Configuration(
class ConfigurationDefaultAccount(ModelSQL, CompanyValueMixin):
- "Account Configuration Default Account"
__name__ = 'account.configuration.default_account'
default_account_receivable = fields.Many2One(
'account.account', "Default Account Receivable",
@@ -146,7 +144,6 @@ class ConfigurationDefaultAccount(ModelSQL, CompanyValueMixin):
class DefaultTaxRule(ModelSQL, CompanyValueMixin):
- "Account Configuration Default Tax Rule"
__name__ = 'account.configuration.default_tax_rule'
default_customer_tax_rule = fields.Many2One(
'account.tax.rule', "Default Customer Tax Rule",
@@ -163,7 +160,6 @@ class DefaultTaxRule(ModelSQL, CompanyValueMixin):
class ConfigurationTaxRounding(ModelSQL, CompanyValueMixin):
- 'Account Configuration Tax Rounding'
__name__ = 'account.configuration.tax_rounding'
configuration = fields.Many2One('account.configuration', 'Configuration',
required=True, ondelete='CASCADE',
@@ -179,7 +175,6 @@ class ConfigurationTaxRounding(ModelSQL, CompanyValueMixin):
class Sequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Sequence"
__name__ = 'account.configuration.sequence'
reconciliation_sequence = fields.Many2One(
'ir.sequence', "Reconciliation Sequence", required=True,
@@ -201,7 +196,6 @@ class Sequence(ModelSQL, CompanyValueMixin):
class Journal(ModelSQL, CompanyValueMixin):
- "Account Configuration Journal"
__name__ = 'account.configuration.journal'
currency_exchange_journal = fields.Many2One(
'account.journal', "Currency Exchange Journal",
diff --git a/modules/account/fiscalyear.py b/modules/account/fiscalyear.py
index 21c2393064..ec16266f80 100644
--- a/modules/account/fiscalyear.py
+++ b/modules/account/fiscalyear.py
@@ -29,7 +29,6 @@ STATES = {
class FiscalYear(Workflow, ModelSQL, ModelView):
- 'Fiscal Year'
__name__ = 'account.fiscalyear'
name = fields.Char('Name', size=None, required=True)
start_date = fields.Date('Starting Date', required=True, states=STATES,
@@ -375,7 +374,6 @@ class FiscalYear(Workflow, ModelSQL, ModelView):
class BalanceNonDeferralStart(ModelView):
- 'Balance Non-Deferral'
__name__ = 'account.fiscalyear.balance_non_deferral.start'
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
required=True, domain=[('state', '=', 'open')])
@@ -417,7 +415,6 @@ class BalanceNonDeferralStart(ModelView):
class BalanceNonDeferral(Wizard):
- 'Balance Non-Deferral'
__name__ = 'account.fiscalyear.balance_non_deferral'
start = StateView('account.fiscalyear.balance_non_deferral.start',
'account.fiscalyear_balance_non_deferral_start_view_form', [
@@ -501,7 +498,6 @@ class BalanceNonDeferral(Wizard):
class CreatePeriodsStart(ModelView):
- "Create Periods Start"
__name__ = 'account.fiscalyear.create_periods.start'
frequency = fields.Selection([
('monthly', "Monthly"),
@@ -540,7 +536,6 @@ class CreatePeriodsStart(ModelView):
class CreatePeriods(Wizard):
- "Create Periods"
__name__ = 'account.fiscalyear.create_periods'
start = StateView('account.fiscalyear.create_periods.start',
'account.fiscalyear_create_periods_start_view_form', [
@@ -561,7 +556,6 @@ def month_delta(d1, d2):
class RenewFiscalYearStart(ModelView):
- "Renew Fiscal Year Start"
__name__ = 'account.fiscalyear.renew.start'
name = fields.Char("Name", required=True)
company = fields.Many2One('company.company', "Company", required=True)
@@ -614,7 +608,6 @@ class RenewFiscalYearStart(ModelView):
class RenewFiscalYear(Wizard):
- "Renew Fiscal Year"
__name__ = 'account.fiscalyear.renew'
start = StateView('account.fiscalyear.renew.start',
'account.fiscalyear_renew_start_view_form', [
diff --git a/modules/account/journal.py b/modules/account/journal.py
index eb6533412b..987081645a 100644
--- a/modules/account/journal.py
+++ b/modules/account/journal.py
@@ -28,7 +28,6 @@ class Journal(
DeactivableMixin, MatchMixin,
sequence_ordered('matching_sequence', "Matching Sequence"),
ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Journal'
__name__ = 'account.journal'
name = fields.Char('Name', size=None, required=True, translate=True)
code = fields.Char('Code', size=None)
@@ -187,7 +186,6 @@ class Journal(
class JournalSequence(ModelSQL, CompanyValueMixin):
- "Journal Sequence"
__name__ = 'account.journal.sequence'
journal = fields.Many2One(
'account.journal', "Journal", ondelete='CASCADE',
@@ -215,7 +213,6 @@ class JournalSequence(ModelSQL, CompanyValueMixin):
class JournalCashContext(ModelView):
- 'Journal Cash Context'
__name__ = 'account.journal.open_cash.context'
start_date = fields.Date('Start Date', required=True)
end_date = fields.Date('End Date', required=True)
@@ -227,7 +224,6 @@ class JournalCashContext(ModelView):
class JournalPeriod(Workflow, ModelSQL, ModelView):
- 'Journal - Period'
__name__ = 'account.journal.period'
journal = fields.Many2One(
'account.journal', 'Journal', required=True, ondelete='CASCADE',
diff --git a/modules/account/move.py b/modules/account/move.py
index c552f3e4b1..fde1d8efec 100644
--- a/modules/account/move.py
+++ b/modules/account/move.py
@@ -83,7 +83,6 @@ class DescriptionOriginMixin:
class Move(DescriptionOriginMixin, ModelSQL, ModelView):
- 'Account Move'
__name__ = 'account.move'
_rec_name = 'number'
number = fields.Char('Number', required=True, readonly=True)
@@ -565,7 +564,6 @@ class Move(DescriptionOriginMixin, ModelSQL, ModelView):
class Reconciliation(ModelSQL, ModelView):
- 'Account Move Reconciliation Lines'
__name__ = 'account.move.reconciliation'
_rec_name = 'number'
number = fields.Char("Number", required=True)
@@ -900,7 +898,6 @@ class MoveLineMixin:
class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
- 'Account Move Line'
__name__ = 'account.move.line'
_states = {
@@ -1871,7 +1868,6 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
class LineReceivablePayableContext(ModelView):
- "Receivable/Payable Line Context"
__name__ = 'account.move.line.receivable_payable.context'
reconciled = fields.Boolean("Reconciled")
@@ -1892,7 +1888,6 @@ class LineReceivablePayableContext(ModelView):
class WriteOff(DeactivableMixin, ModelSQL, ModelView):
- 'Reconcile Write Off'
__name__ = 'account.move.reconcile.write_off'
company = fields.Many2One('company.company', "Company", required=True)
name = fields.Char("Name", required=True, translate=True)
@@ -1928,7 +1923,6 @@ class WriteOff(DeactivableMixin, ModelSQL, ModelView):
class OpenJournalAsk(ModelView):
- 'Open Journal Ask'
__name__ = 'account.move.open_journal.ask'
journal = fields.Many2One('account.journal', 'Journal', required=True)
period = fields.Many2One('account.period', 'Period', required=True,
@@ -1949,7 +1943,6 @@ class OpenJournalAsk(ModelView):
class OpenJournal(Wizard):
- 'Open Journal'
__name__ = 'account.move.open_journal'
start = StateTransition()
ask = StateView('account.move.open_journal.ask',
@@ -2017,7 +2010,6 @@ class OpenJournal(Wizard):
class OpenAccount(Wizard):
- 'Open Account'
__name__ = 'account.move.open_account'
start_state = 'open_'
open_ = StateAction('account.act_move_line_form')
@@ -2067,7 +2059,6 @@ class OpenAccount(Wizard):
class ReconcileLinesWriteOff(ModelView):
- 'Reconcile Lines Write-Off'
__name__ = 'account.move.reconcile_lines.writeoff'
company = fields.Many2One('company.company', "Company", readonly=True)
writeoff = fields.Many2One('account.move.reconcile.write_off', "Write Off",
@@ -2088,7 +2079,6 @@ class ReconcileLinesWriteOff(ModelView):
class ReconcileLines(Wizard):
- 'Reconcile Lines'
__name__ = 'account.move.reconcile_lines'
start = StateTransition()
writeoff = StateView('account.move.reconcile_lines.writeoff',
@@ -2162,7 +2152,6 @@ class ReconcileLines(Wizard):
class UnreconcileLines(Wizard):
- 'Unreconcile Lines'
__name__ = 'account.move.unreconcile_lines'
start_state = 'unreconcile'
unreconcile = StateTransition()
@@ -2197,7 +2186,6 @@ class UnreconcileLines(Wizard):
class Reconcile(Wizard):
- 'Reconcile'
__name__ = 'account.reconcile'
start = StateView(
'account.reconcile.start',
@@ -2458,7 +2446,6 @@ class Reconcile(Wizard):
class ReconcileStart(ModelView):
- "Reconcile"
__name__ = 'account.reconcile.start'
automatic = fields.Boolean(
"Automatic",
@@ -2477,7 +2464,6 @@ class ReconcileStart(ModelView):
class ReconcileShow(ModelView):
- 'Reconcile'
__name__ = 'account.reconcile.show'
company = fields.Many2One('company.company', "Company", readonly=True)
accounts = fields.Many2Many('account.account', None, None, 'Account',
@@ -2548,7 +2534,6 @@ class ReconcileShow(ModelView):
class CancelMoves(Wizard):
- 'Cancel Moves'
__name__ = 'account.move.cancel'
start_state = 'default'
default = StateView('account.move.cancel.default',
@@ -2610,7 +2595,6 @@ class CancelMoves(Wizard):
class CancelMovesDefault(ModelView):
- 'Cancel Moves'
__name__ = 'account.move.cancel.default'
description = fields.Char('Description')
reversal = fields.Boolean(
@@ -2623,7 +2607,6 @@ class CancelMovesDefault(ModelView):
class GroupLines(Wizard):
- "Group Lines"
__name__ = 'account.move.line.group'
start = StateView('account.move.line.group.start',
'account.move_line_group_start_view_form', [
@@ -2799,7 +2782,6 @@ class GroupLines(Wizard):
class GroupLinesStart(ModelView):
- "Group Lines"
__name__ = 'account.move.line.group.start'
journal = fields.Many2One('account.journal', "Journal", required=True)
@@ -2807,7 +2789,6 @@ class GroupLinesStart(ModelView):
class RescheduleLines(Wizard):
- "Reschedule Lines"
__name__ = 'account.move.line.reschedule'
start = StateView('account.move.line.reschedule.start',
'account.move_line_reschedule_start_view_form', [
@@ -3035,7 +3016,6 @@ class RescheduleLines(Wizard):
class RescheduleLinesStart(ModelView):
- "Reschedule Lines"
__name__ = 'account.move.line.reschedule.start'
start_date = fields.Date("Start Date", required=True)
frequency = fields.Selection([
@@ -3098,7 +3078,6 @@ class RescheduleLinesStart(ModelView):
class RescheduleLinesPreview(ModelView):
- "Reschedule Lines"
__name__ = 'account.move.line.reschedule.preview'
journal = fields.Many2One('account.journal', "Journal", required=True)
description = fields.Char("Description")
@@ -3111,7 +3090,6 @@ class RescheduleLinesPreview(ModelView):
class RescheduleLinesTerm(ModelView):
- "Reschedule Lines"
__name__ = 'account.move.line.reschedule.term'
date = fields.Date("Date", required=True)
amount = Monetary(
@@ -3120,7 +3098,6 @@ class RescheduleLinesTerm(ModelView):
class DelegateLines(Wizard):
- "Delegate Lines"
__name__ = 'account.move.line.delegate'
start = StateView(
'account.move.line.delegate.start',
@@ -3229,7 +3206,6 @@ class DelegateLines(Wizard):
class DelegateLinesStart(ModelView):
- "Delegate Lines"
__name__ = 'account.move.line.delegate.start'
journal = fields.Many2One('account.journal', "Journal", required=True)
diff --git a/modules/account/move_template.py b/modules/account/move_template.py
index e86b7bc9d9..b6a2e1b64a 100644
--- a/modules/account/move_template.py
+++ b/modules/account/move_template.py
@@ -21,7 +21,6 @@ from .exceptions import (
class MoveTemplate(DeactivableMixin, ModelSQL, ModelView):
- 'Account Move Template'
__name__ = 'account.move.template'
name = fields.Char('Name', required=True, translate=True)
keywords = fields.One2Many('account.move.template.keyword', 'move',
@@ -96,7 +95,6 @@ class MoveTemplate(DeactivableMixin, ModelSQL, ModelView):
class MoveTemplateKeyword(sequence_ordered(), ModelSQL, ModelView):
- 'Account Move Template Keyword'
__name__ = 'account.move.template.keyword'
name = fields.Char('Name', required=True)
string = fields.Char('String', required=True, translate=True)
@@ -200,7 +198,6 @@ class MoveTemplateKeyword(sequence_ordered(), ModelSQL, ModelView):
class MoveLineTemplate(ModelSQL, ModelView):
- 'Account Move Line Template'
__name__ = 'account.move.line.template'
move = fields.Many2One(
'account.move.template', "Move", required=True, ondelete='CASCADE')
@@ -288,7 +285,6 @@ class MoveLineTemplate(ModelSQL, ModelView):
class TaxLineTemplate(ModelSQL, ModelView):
- 'Account Tax Line Template'
__name__ = 'account.tax.line.template'
line = fields.Many2One(
'account.move.line.template', "Line",
@@ -370,7 +366,6 @@ class KeywordStateView(StateView):
class CreateMove(Wizard):
- 'Create Move from Template'
__name__ = 'account.move.template.create'
start = StateTransition()
template = StateView('account.move.template.create.template',
@@ -426,7 +421,6 @@ class CreateMove(Wizard):
class CreateMoveTemplate(ModelView):
- 'Create Move from Template'
__name__ = 'account.move.template.create.template'
template = fields.Many2One('account.move.template', 'Template',
required=True,
@@ -493,6 +487,5 @@ class CreateMoveTemplate(ModelView):
class CreateMoveKeywords(ModelView):
- 'Create Move from Template'
__no_slots__ = True
__name__ = 'account.move.template.create.keywords'
diff --git a/modules/account/party.py b/modules/account/party.py
index 952edeba9f..49c3c5d1a6 100644
--- a/modules/account/party.py
+++ b/modules/account/party.py
@@ -288,7 +288,6 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
class PartyAccount(ModelSQL, CompanyValueMixin):
- "Party Account"
__name__ = 'party.party.account'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
diff --git a/modules/account/period.py b/modules/account/period.py
index 71068e1617..715d0bbc15 100644
--- a/modules/account/period.py
+++ b/modules/account/period.py
@@ -23,7 +23,6 @@ _STATES = {
class Period(Workflow, ModelSQL, ModelView):
- 'Period'
__name__ = 'account.period'
name = fields.Char('Name', required=True)
start_date = fields.Date('Starting Date', required=True, states=_STATES,
diff --git a/modules/account/tax.py b/modules/account/tax.py
index 580cce414b..8df933bc68 100644
--- a/modules/account/tax.py
+++ b/modules/account/tax.py
@@ -34,7 +34,6 @@ KINDS = [
class TaxGroup(ModelSQL, ModelView):
- 'Tax Group'
__name__ = 'account.tax.group'
name = fields.Char('Name', size=None, required=True)
code = fields.Char('Code', size=None, required=True)
@@ -46,7 +45,6 @@ class TaxGroup(ModelSQL, ModelView):
class TaxCodeTemplate(PeriodMixin, tree(), ModelSQL, ModelView):
- 'Tax Code Template'
__name__ = 'account.tax.code.template'
name = fields.Char('Name', required=True)
code = fields.Char('Code')
@@ -125,7 +123,6 @@ class TaxCodeTemplate(PeriodMixin, tree(), ModelSQL, ModelView):
class TaxCode(
ContextCompanyMixin, ActivePeriodMixin, tree(), ModelSQL, ModelView):
- 'Tax Code'
__name__ = 'account.tax.code'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -307,7 +304,6 @@ class TaxCode(
class TaxCodeLineTemplate(ModelSQL, ModelView):
- "Tax Code Line Template"
__name__ = 'account.tax.code.line.template'
code = fields.Many2One('account.tax.code.template', "Code", required=True)
@@ -365,7 +361,6 @@ class TaxCodeLineTemplate(ModelSQL, ModelView):
class TaxCodeLine(ModelSQL, ModelView):
- "Tax Code Line"
__name__ = 'account.tax.code.line'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -476,7 +471,6 @@ class TaxCodeLine(ModelSQL, ModelView):
class TaxCodeContext(ModelView):
- "Tax Code Context"
__name__ = 'account.tax.code.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -590,7 +584,6 @@ class TaxCodeContext(ModelView):
class TaxTemplate(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin):
- 'Account Tax Template'
__name__ = 'account.tax.template'
name = fields.Char('Name', required=True)
description = fields.Char('Description', required=True)
@@ -750,14 +743,10 @@ class TaxTemplate(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin):
class Tax(sequence_ordered(), ModelSQL, ModelView, DeactivableMixin):
- '''
- Account Tax
-
- Type:
- percentage: tax = price * rate
- fixed: tax = amount
- none: tax = none
- '''
+ """Type:
+ percentage: tax = price * rate
+ fixed: tax = amount
+ none: tax = none"""
__name__ = 'account.tax'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -1308,7 +1297,6 @@ class TaxableMixin(object):
class TaxLine(ModelSQL, ModelView):
- 'Tax Line'
__name__ = 'account.tax.line'
currency = fields.Function(fields.Many2One(
'currency.currency', "Currency"),
@@ -1426,7 +1414,6 @@ class TaxLine(ModelSQL, ModelView):
class TaxRuleTemplate(ModelSQL, ModelView):
- 'Tax Rule Template'
__name__ = 'account.tax.rule.template'
name = fields.Char('Name', required=True)
kind = fields.Selection(KINDS, 'Kind', required=True)
@@ -1484,7 +1471,6 @@ class TaxRuleTemplate(ModelSQL, ModelView):
class TaxRule(ModelSQL, ModelView):
- 'Tax Rule'
__name__ = 'account.tax.rule'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -1564,7 +1550,6 @@ class TaxRule(ModelSQL, ModelView):
class TaxRuleLineTemplate(sequence_ordered(), ModelSQL, ModelView):
- 'Tax Rule Line Template'
__name__ = 'account.tax.rule.line.template'
rule = fields.Many2One('account.tax.rule.template', 'Rule', required=True,
ondelete='CASCADE')
@@ -1681,7 +1666,6 @@ class TaxRuleLineTemplate(sequence_ordered(), ModelSQL, ModelView):
class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Tax Rule Line'
__name__ = 'account.tax.rule.line'
_states = {
'readonly': (Bool(Eval('template', -1))
@@ -1838,7 +1822,6 @@ class TaxRuleLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
class OpenTaxCode(Wizard):
- 'Open Code'
__name__ = 'account.tax.open_code'
start_state = 'open_'
open_ = StateAction('account.act_tax_line_form')
@@ -1860,7 +1843,6 @@ class OpenTaxCode(Wizard):
class TestTax(Wizard):
- "Test Tax"
__name__ = 'account.tax.test'
start_state = 'test'
test = StateView(
@@ -1877,7 +1859,6 @@ class TestTax(Wizard):
class TestTaxView(ModelView, TaxableMixin):
- "Test Tax"
__name__ = 'account.tax.test'
tax_date = fields.Date("Date")
taxes = fields.One2Many('account.tax', None, "Taxes",
@@ -1935,7 +1916,6 @@ class TestTaxView(ModelView, TaxableMixin):
class TestTaxViewResult(ModelView):
- "Test Tax"
__name__ = 'account.tax.test.result'
tax = fields.Many2One('account.tax', "Tax")
description = fields.Char("Description")
diff --git a/modules/account_asset/account.py b/modules/account_asset/account.py
index 1df034bbb3..5ce839f2bf 100644
--- a/modules/account_asset/account.py
+++ b/modules/account_asset/account.py
@@ -84,7 +84,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationAssetSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Asset Sequence"
__name__ = 'account.configuration.asset_sequence'
asset_sequence = fields.Many2One(
'ir.sequence', "Asset Reference Sequence", required=True,
@@ -105,7 +104,6 @@ class ConfigurationAssetSequence(ModelSQL, CompanyValueMixin):
class ConfigurationAssetDate(ModelSQL, CompanyValueMixin):
- "Account Configuration Asset Date"
__name__ = 'account.configuration.asset_date'
asset_bymonthday = asset_bymonthday
asset_bymonth = asset_bymonth
@@ -120,7 +118,6 @@ class ConfigurationAssetDate(ModelSQL, CompanyValueMixin):
class ConfigurationAssetFrequency(ModelSQL, CompanyValueMixin):
- "Account Configuration Asset Frequency"
__name__ = 'account.configuration.asset_frequency'
asset_frequency = asset_frequency
get_asset_frequencies = get_asset_selection('frequency')
diff --git a/modules/account_asset/asset.py b/modules/account_asset/asset.py
index 34081f4479..9050db37ce 100644
--- a/modules/account_asset/asset.py
+++ b/modules/account_asset/asset.py
@@ -51,7 +51,6 @@ def normalized_delta(start, end):
class Asset(Workflow, ModelSQL, ModelView):
- 'Asset'
__name__ = 'account.asset'
_rec_name = 'number'
number = fields.Char("Number", readonly=True)
@@ -723,7 +722,6 @@ class Asset(Workflow, ModelSQL, ModelView):
class AssetLine(ModelSQL, ModelView):
- 'Asset Line'
__name__ = 'account.asset.line'
asset = fields.Many2One('account.asset', 'Asset', required=True,
ondelete='CASCADE', readonly=True)
@@ -758,7 +756,6 @@ class AssetLine(ModelSQL, ModelView):
class AssetUpdateMove(ModelSQL):
- 'Asset - Update - Move'
__name__ = 'account.asset-update-account.move'
asset = fields.Many2One(
'account.asset', "Asset", ondelete='CASCADE', required=True)
@@ -766,7 +763,6 @@ class AssetUpdateMove(ModelSQL):
class CreateMovesStart(ModelView):
- 'Create Moves Start'
__name__ = 'account.asset.create_moves.start'
date = fields.Date('Date')
@@ -777,7 +773,6 @@ class CreateMovesStart(ModelView):
class CreateMoves(Wizard):
- 'Create Moves'
__name__ = 'account.asset.create_moves'
start = StateView('account.asset.create_moves.start',
'account_asset.asset_create_moves_start_view_form', [
@@ -800,7 +795,6 @@ class CreateMoves(Wizard):
class UpdateAssetShowDepreciation(ModelView):
- 'Update Asset Show Depreciation'
__name__ = 'account.asset.update.show_depreciation'
amount = fields.Numeric('Amount', readonly=True)
date = fields.Date('Date', required=True,
@@ -820,7 +814,6 @@ class UpdateAssetShowDepreciation(ModelView):
class UpdateAsset(Wizard):
- 'Update Asset'
__name__ = 'account.asset.update'
start = StateView('account.asset.revision',
'account_asset.asset_revision_view_form', [
@@ -935,7 +928,6 @@ class UpdateAsset(Wizard):
class AssetRevision(ModelSQL, ModelView):
- "Asset Revision"
__name__ = 'account.asset.revision'
currency = fields.Function(
fields.Many2One('currency.currency', "Currency"),
@@ -983,7 +975,6 @@ class AssetRevision(ModelSQL, ModelView):
class AssetDepreciationTable(CompanyReport):
- 'Asset Depreciation Table'
__name__ = 'account.asset.depreciation_table'
@classmethod
@@ -1147,7 +1138,6 @@ class AssetDepreciationTable(CompanyReport):
class PrintDepreciationTableStart(ModelView):
- 'Asset Depreciation Table Start'
__name__ = 'account.asset.print_depreciation_table.start'
start_date = fields.Date('Start Date', required=True,
@@ -1165,7 +1155,6 @@ class PrintDepreciationTableStart(ModelView):
class PrintDepreciationTable(Wizard):
- 'Asset Depreciation Table'
__name__ = 'account.asset.print_depreciation_table'
start = StateView('account.asset.print_depreciation_table.start',
'account_asset.print_depreciation_table_start_view_form', [
diff --git a/modules/account_be/account.py b/modules/account_be/account.py
index a19c2dd952..b23d89aa0a 100644
--- a/modules/account_be/account.py
+++ b/modules/account_be/account.py
@@ -33,7 +33,6 @@ class CreateChart(metaclass=PoolMeta):
class BEVATCustomer(ModelSQL, ModelView):
- "Belgian VAT Customer"
__name__ = 'account.be.vat_customer'
company_tax_identifier = fields.Many2One(
@@ -118,7 +117,6 @@ class BEVATCustomer(ModelSQL, ModelView):
class BEVATCustomerContext(ModelView):
- "Belgian VAT Customer Context"
__name__ = 'account.be.vat_customer.context'
company = fields.Many2One('company.company', "Company", required=True)
diff --git a/modules/account_budget/account.py b/modules/account_budget/account.py
index 6929f2bd7d..421199a3bd 100644
--- a/modules/account_budget/account.py
+++ b/modules/account_budget/account.py
@@ -254,7 +254,6 @@ class BudgetLineMixin(
class BudgetContext(ModelView):
- "Account Budget Context"
__name__ = 'account.budget.context'
budget = fields.Many2One('account.budget', "Budget", required=True)
@@ -298,7 +297,6 @@ class BudgetContext(ModelView):
class Budget(BudgetMixin, ModelSQL, ModelView):
- "Account Budget"
__name__ = 'account.budget'
fiscalyear = fields.Many2One(
@@ -438,7 +436,6 @@ class Budget(BudgetMixin, ModelSQL, ModelView):
class BudgetLine(BudgetLineMixin, ModelSQL, ModelView):
- "Account Budget Line"
__name__ = 'account.budget.line'
budget = fields.Many2One(
@@ -610,7 +607,6 @@ class BudgetLine(BudgetLineMixin, ModelSQL, ModelView):
class BudgetLinePeriod(AmountMixin, ModelSQL, ModelView):
- "Account Budget Line Period"
__name__ = 'account.budget.line.period'
budget_line = fields.Many2One(
@@ -794,7 +790,6 @@ class CopyBudgetStartMixin:
class CopyBudget(CopyBudgetMixin, Wizard):
- "Copy Budget"
__name__ = 'account.budget.copy'
start = StateView('account.budget.copy.start',
@@ -816,7 +811,6 @@ class CopyBudget(CopyBudgetMixin, Wizard):
class CopyBudgetStart(CopyBudgetStartMixin, ModelView):
- "Copy Budget"
__name__ = 'account.budget.copy.start'
fiscalyear = fields.Many2One(
@@ -828,7 +822,6 @@ class CopyBudgetStart(CopyBudgetStartMixin, ModelView):
class CreatePeriods(Wizard):
- "Create Periods"
__name__ = 'account.budget.line.create_periods'
start = StateView('account.budget.line.create_periods.start',
@@ -852,7 +845,6 @@ class CreatePeriods(Wizard):
class CreatePeriodsStart(ModelView):
- "Create Periods"
__name__ = 'account.budget.line.create_periods.start'
method = fields.Selection([
diff --git a/modules/account_cash_rounding/account.py b/modules/account_cash_rounding/account.py
index e596e75cdc..ae2f03c325 100644
--- a/modules/account_cash_rounding/account.py
+++ b/modules/account_cash_rounding/account.py
@@ -49,7 +49,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationCashRoundingAccount(ModelSQL, CompanyValueMixin):
- "Account Configuration Cash Rounding Account"
__name__ = 'account.configuration.cash_rounding_account'
cash_rounding = fields.Boolean("Cash Rounding")
diff --git a/modules/account_consolidation/account.py b/modules/account_consolidation/account.py
index f54dbfc4ab..282f501ad7 100644
--- a/modules/account_consolidation/account.py
+++ b/modules/account_consolidation/account.py
@@ -145,7 +145,6 @@ class Invoice(metaclass=PoolMeta):
class Consolidation(
sequence_ordered(), tree(separator='\\'), ModelSQL, ModelView):
- "Account Consolidation"
__name__ = 'account.consolidation'
parent = fields.Many2One(
@@ -293,7 +292,6 @@ class Consolidation(
class ConsolidationBalanceSheetContext(ModelView):
- "Consolidation Balance Sheet Context"
__name__ = 'account.consolidation.balance_sheet.context'
date = fields.Date("Date", required=True)
posted = fields.Boolean("Posted Moves", help="Only include posted moves.")
@@ -352,7 +350,6 @@ class ConsolidationBalanceSheetContext(ModelView):
class ConsolidationIncomeStatementContext(ModelView):
- "Consolidation Income Statement Context"
__name__ = 'account.consolidation.income_statement.context'
from_date = fields.Date(
"From Date",
diff --git a/modules/account_credit_limit/account.py b/modules/account_credit_limit/account.py
index 6157d4f90d..f094d1320e 100644
--- a/modules/account_credit_limit/account.py
+++ b/modules/account_credit_limit/account.py
@@ -31,7 +31,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationDefaultCreditLimitAmount(ModelSQL, CompanyValueMixin):
- "Account Configuration Default Credit Limit Amount"
__name__ = 'account.configuration.default_credit_limit_amount'
default_credit_limit_amount = default_credit_limit_amount
default_credit_limit_amount_digits = fields.Function(
diff --git a/modules/account_credit_limit/party.py b/modules/account_credit_limit/party.py
index fa48ea3f69..7b75b850f9 100644
--- a/modules/account_credit_limit/party.py
+++ b/modules/account_credit_limit/party.py
@@ -120,7 +120,6 @@ class Party(metaclass=PoolMeta):
class PartyCreditLimitAmount(ModelSQL, CompanyValueMixin):
- "Party Credit Limit Amount"
__name__ = 'party.party.credit_limit_amount'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
diff --git a/modules/account_deposit/invoice.py b/modules/account_deposit/invoice.py
index 8df5f739d6..7175c1dcf7 100644
--- a/modules/account_deposit/invoice.py
+++ b/modules/account_deposit/invoice.py
@@ -117,7 +117,6 @@ class InvoiceLine(metaclass=PoolMeta):
class DepositRecall(Wizard):
- 'Recall deposit on Invoice'
__name__ = 'account.invoice.recall_deposit'
start = StateView('account.invoice.recall_deposit.start',
'account_deposit.recall_deposit_start_view_form', [
@@ -138,7 +137,6 @@ class DepositRecall(Wizard):
class DepositRecallStart(ModelView):
- 'Recall deposit on Invoice'
__name__ = 'account.invoice.recall_deposit.start'
company = fields.Many2One('company.company', 'Company', readonly=True)
currency = fields.Many2One('currency.currency', "Currency", readonly=True)
diff --git a/modules/account_dunning/account.py b/modules/account_dunning/account.py
index 8198e34bcd..581f5b5689 100644
--- a/modules/account_dunning/account.py
+++ b/modules/account_dunning/account.py
@@ -14,7 +14,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationDefaultDunningProcedure(ModelSQL, ValueMixin):
- "Account Configuration Default Dunning Procedure"
__name__ = 'account.configuration.default_dunning_procedure'
default_dunning_procedure = default_dunning_procedure
diff --git a/modules/account_dunning/dunning.py b/modules/account_dunning/dunning.py
index e0a0276a90..2feda0e3d6 100644
--- a/modules/account_dunning/dunning.py
+++ b/modules/account_dunning/dunning.py
@@ -16,7 +16,6 @@ from trytond.wizard import (
class Procedure(ModelSQL, ModelView):
- 'Account Dunning Procedure'
__name__ = 'account.dunning.procedure'
name = fields.Char('Name', required=True, translate=True,
help="The main identifier of the Dunning Procedure.")
@@ -29,7 +28,6 @@ class Procedure(ModelSQL, ModelView):
class Level(sequence_ordered(), ModelSQL, ModelView):
- 'Account Dunning Level'
__name__ = 'account.dunning.level'
procedure = fields.Many2One(
'account.dunning.procedure', "Procedure", required=True)
@@ -51,7 +49,6 @@ _STATES = {
class Dunning(ModelSQL, ModelView):
- 'Account Dunning'
__name__ = 'account.dunning'
company = fields.Many2One(
'company.company', "Company", required=True, states=_STATES,
@@ -310,7 +307,6 @@ class Dunning(ModelSQL, ModelView):
class CreateDunningStart(ModelView):
- 'Create Account Dunning'
__name__ = 'account.dunning.create.start'
date = fields.Date('Date', required=True,
help="Create dunning up to this date.")
@@ -322,7 +318,6 @@ class CreateDunningStart(ModelView):
class CreateDunning(Wizard):
- 'Create Account Dunning'
__name__ = 'account.dunning.create'
start = StateView('account.dunning.create.start',
'account_dunning.dunning_create_start_view_form', [
@@ -339,12 +334,10 @@ class CreateDunning(Wizard):
class ProcessDunningStart(ModelView):
- 'Create Account Dunning'
__name__ = 'account.dunning.process.start'
class ProcessDunning(Wizard):
- 'Process Account Dunning'
__name__ = 'account.dunning.process'
start = StateView('account.dunning.process.start',
'account_dunning.dunning_process_start_view_form', [
@@ -375,7 +368,6 @@ class ProcessDunning(Wizard):
class RescheduleDunning(Wizard):
- "Reschedule Account Dunning"
__name__ = 'account.dunning.reschedule'
start = StateAction('account.act_reschedule_lines_wizard')
diff --git a/modules/account_dunning/party.py b/modules/account_dunning/party.py
index eb3d736e26..5c9ea0575d 100644
--- a/modules/account_dunning/party.py
+++ b/modules/account_dunning/party.py
@@ -24,7 +24,6 @@ class Party(metaclass=PoolMeta):
class PartyDunningProcedure(ModelSQL, ValueMixin):
- "Party Dunning Procedure"
__name__ = 'party.party.dunning_procedure'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/account_dunning_fee/dunning.py b/modules/account_dunning_fee/dunning.py
index 270be9d071..68389bb172 100644
--- a/modules/account_dunning_fee/dunning.py
+++ b/modules/account_dunning_fee/dunning.py
@@ -10,7 +10,6 @@ from trytond.transaction import Transaction
class Fee(DeactivableMixin, ModelSQL, ModelView):
- 'Account Dunning Fee'
__name__ = 'account.dunning.fee'
name = fields.Char('Name', required=True, translate=True)
product = fields.Many2One('product.product', 'Product', required=True,
@@ -83,7 +82,6 @@ class Dunning(metaclass=PoolMeta):
class FeeDunningLevel(ModelSQL, ModelView):
- 'Account Dunning Fee Dunning-Level'
__name__ = 'account.dunning.fee.dunning_level'
dunning = fields.Many2One(
diff --git a/modules/account_es/reporting_tax.py b/modules/account_es/reporting_tax.py
index 07e477ce85..606ce01062 100644
--- a/modules/account_es/reporting_tax.py
+++ b/modules/account_es/reporting_tax.py
@@ -334,7 +334,6 @@ class AEAT303(AEATReport):
class PrintAEATStart(ModelView):
- 'Print AEAT Start'
__name__ = 'account.reporting.aeat.start'
report = fields.Selection([
@@ -347,7 +346,6 @@ class PrintAEATStart(ModelView):
class PrintAEAT(Wizard):
- 'Print AEAT'
__name__ = 'account.reporting.aeat'
start = StateView('account.reporting.aeat.start',
'account_es.print_aeat_start_view_form', [
@@ -379,7 +377,6 @@ class PrintAEAT(Wizard):
class ESVATList(ModelSQL, ModelView):
- "Spanish VAT List"
__name__ = 'account.reporting.vat_list_es'
company_tax_identifier = fields.Many2One(
@@ -510,7 +507,6 @@ class ESVATList(ModelSQL, ModelView):
class ESVATListContext(ModelView):
- "Spanish VAT List Context"
__name__ = 'account.reporting.vat_list_es.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -561,7 +557,6 @@ class AEAT347(Report):
class ECOperationList(ECSalesList):
- "EC Operation List"
__name__ = 'account.reporting.es_ec_operation_list'
@classmethod
@@ -633,7 +628,6 @@ class ECOperationList(ECSalesList):
class ECOperationListContext(ECSalesListContext):
- "EC Operation List Context"
__name__ = 'account.reporting.es_ec_operation_list.context'
start_date = fields.Date("Start Date",
@@ -713,7 +707,6 @@ class AEAT349(Report):
class ESVATBookContext(ModelView):
- "Spanish VAT Book Context"
__name__ = 'account.reporting.vat_book_es.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -761,7 +754,6 @@ class ESVATBookContext(ModelView):
class ESVATBook(ModelSQL, ModelView):
- "Spanish VAT Book"
__name__ = 'account.reporting.vat_book_es'
invoice = fields.Many2One('account.invoice', "Invoice")
diff --git a/modules/account_es_sii/account.py b/modules/account_es_sii/account.py
index ee8d3aff05..6b3e905ef8 100644
--- a/modules/account_es_sii/account.py
+++ b/modules/account_es_sii/account.py
@@ -66,7 +66,6 @@ class Configuration(metaclass=PoolMeta):
class CredentialSII(ModelSQL, CompanyValueMixin):
- "Account Credential SII"
__name__ = 'account.credential.sii'
es_sii_url = fields.Selection(SII_URL, "SII URL", translate=False)
@@ -256,7 +255,6 @@ class Invoice(metaclass=PoolMeta):
class InvoiceSII(ModelSQL, ModelView):
- "Invoice SII"
__name__ = 'account.invoice.sii'
invoice = fields.Many2One(
diff --git a/modules/account_eu/account.py b/modules/account_eu/account.py
index a56eef38da..76ac7897ee 100644
--- a/modules/account_eu/account.py
+++ b/modules/account_eu/account.py
@@ -35,7 +35,6 @@ class Tax(metaclass=PoolMeta):
class ECSalesList(ModelSQL, ModelView):
- "EC Sales List"
__name__ = 'account.ec_sales_list'
company_tax_identifier = fields.Many2One(
@@ -109,7 +108,6 @@ class ECSalesList(ModelSQL, ModelView):
class ECSalesListContext(ModelView):
- "EC Sales List Context"
__name__ = 'account.ec_sales_list.context'
company = fields.Many2One('company.company', "Company", required=True)
diff --git a/modules/account_export/account.py b/modules/account_export/account.py
index 9b7d0fdb6c..29943e57b3 100644
--- a/modules/account_export/account.py
+++ b/modules/account_export/account.py
@@ -42,7 +42,6 @@ class Configuration(_ExportTypes, metaclass=PoolMeta):
class ConfigurationExport(_ExportTypes, ModelSQL, CompanyValueMixin):
- "Account Configuration Export"
__name__ = 'account.configuration.export'
move_export_type = fields.Selection(
@@ -71,7 +70,6 @@ class Move(metaclass=PoolMeta):
class MoveExport(Workflow, ModelSQL, ModelView):
- "Account Move Export"
__name__ = 'account.move.export'
company = fields.Many2One('company.company', "Company", required=True)
diff --git a/modules/account_fr/account.py b/modules/account_fr/account.py
index 75e5e3f8f4..5abe858b98 100644
--- a/modules/account_fr/account.py
+++ b/modules/account_fr/account.py
@@ -67,7 +67,6 @@ class CreateChart(metaclass=PoolMeta):
class FrFEC(Wizard):
- 'Generate FEC'
__name__ = 'account.fr.fec'
start = StateView('account.fr.fec.start',
@@ -307,7 +306,6 @@ class FrFEC(Wizard):
class FrFECStart(ModelView):
- 'Generate FEC'
__name__ = 'account.fr.fec.start'
fiscalyear = fields.Many2One(
@@ -330,7 +328,6 @@ class FrFECStart(ModelView):
class FrFECResult(ModelView):
- 'Generate FEC'
__name__ = 'account.fr.fec.result'
file = fields.Binary('File', readonly=True, filename='filename')
diff --git a/modules/account_fr_chorus/account.py b/modules/account_fr_chorus/account.py
index 8e86b3b4a8..010eb2c4b3 100644
--- a/modules/account_fr_chorus/account.py
+++ b/modules/account_fr_chorus/account.py
@@ -103,7 +103,6 @@ class Configuration(_SyntaxMixin, metaclass=PoolMeta):
class CredentialChorus(ModelSQL, CompanyValueMixin):
- "Account Credential Chorus"
__name__ = 'account.credential.chorus'
chorus_piste_client_id = fields.Char("Piste Client ID", strip=False)
@@ -205,7 +204,6 @@ class Invoice(metaclass=PoolMeta):
class InvoiceChorus(
Workflow, ModelSQL, ModelView, _SyntaxMixin, metaclass=PoolMeta):
- "Invoice Chorus"
__name__ = 'account.invoice.chorus'
_history = True
diff --git a/modules/account_invoice/account.py b/modules/account_invoice/account.py
index 19eb41f129..b820a98ad3 100644
--- a/modules/account_invoice/account.py
+++ b/modules/account_invoice/account.py
@@ -32,7 +32,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationDefaultPaymentTerm(ModelSQL, CompanyValueMixin):
- "Account Configuration Default Payment Term"
__name__ = 'account.configuration.default_payment_term'
default_customer_payment_term = fields.Many2One(
@@ -81,7 +80,6 @@ class Period(metaclass=PoolMeta):
class InvoiceSequence(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Invoice Sequence'
__name__ = 'account.fiscalyear.invoice_sequence'
company = fields.Many2One('company.company', "Company", required=True)
fiscalyear = fields.Many2One(
diff --git a/modules/account_invoice/invoice.py b/modules/account_invoice/invoice.py
index 0648d3e5b0..d20bd53949 100644
--- a/modules/account_invoice/invoice.py
+++ b/modules/account_invoice/invoice.py
@@ -60,7 +60,6 @@ class InvoiceReportMixin:
class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
- 'Invoice'
__name__ = 'account.invoice'
_rec_name = 'number'
_order_name = 'number'
@@ -2123,7 +2122,6 @@ class Invoice(Workflow, ModelSQL, ModelView, TaxableMixin, InvoiceReportMixin):
class InvoiceAdditionalMove(ModelSQL):
- "Invoice Additional Move"
__name__ = 'account.invoice-additional-account.move'
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='CASCADE', required=True)
@@ -2132,7 +2130,6 @@ class InvoiceAdditionalMove(ModelSQL):
class AlternativePayee(ModelSQL):
- "Invoice Alternative Payee"
__name__ = 'account.invoice.alternative_payee'
invoice = fields.Many2One(
@@ -2142,7 +2139,6 @@ class AlternativePayee(ModelSQL):
class InvoicePaymentLine(ModelSQL):
- 'Invoice - Payment Line'
__name__ = 'account.invoice-account.move.line'
invoice = fields.Many2One(
'account.invoice', "Invoice", ondelete='CASCADE', required=True)
@@ -2199,7 +2195,6 @@ class InvoicePaymentLine(ModelSQL):
class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
- 'Invoice Line'
__name__ = 'account.invoice.line'
_states = {
'readonly': Eval('invoice_state') != 'draft',
@@ -2962,7 +2957,6 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
class InvoiceLineTax(ModelSQL):
- 'Invoice Line - Tax'
__name__ = 'account.invoice.line-account.tax'
line = fields.Many2One(
'account.invoice.line', "Invoice Line",
@@ -2988,7 +2982,6 @@ class InvoiceLineTax(ModelSQL):
class InvoiceTax(sequence_ordered(), ModelSQL, ModelView):
- 'Invoice Tax'
__name__ = 'account.invoice.tax'
_rec_name = 'description'
_states = {
@@ -3275,7 +3268,6 @@ class InvoiceTax(sequence_ordered(), ModelSQL, ModelView):
class PaymentMethod(DeactivableMixin, ModelSQL, ModelView):
- 'Payment Method'
__name__ = 'account.invoice.payment.method'
company = fields.Many2One('company.company', "Company", required=True)
name = fields.Char("Name", required=True, translate=True)
@@ -3312,7 +3304,6 @@ class PaymentMethod(DeactivableMixin, ModelSQL, ModelView):
class InvoiceReportRevision(ModelSQL, ModelView, InvoiceReportMixin):
- "Invoice Report Revision"
__name__ = 'account.invoice.report.revision'
invoice = fields.Many2One(
'account.invoice', "Invoice", required=True, ondelete='CASCADE')
@@ -3358,7 +3349,6 @@ class InvoiceReportRevision(ModelSQL, ModelView, InvoiceReportMixin):
class RefreshInvoiceReport(Wizard):
- "Refresh Invoice Report"
__name__ = 'account.invoice.refresh_invoice_report'
start_state = 'archive'
archive = StateTransition()
@@ -3429,7 +3419,6 @@ class InvoiceReport(Report):
class PayInvoiceStart(ModelView):
- 'Pay Invoice'
__name__ = 'account.invoice.pay.start'
payee = fields.Many2One(
@@ -3471,7 +3460,6 @@ class PayInvoiceStart(ModelView):
class PayInvoiceAsk(ModelView):
- 'Pay Invoice'
__name__ = 'account.invoice.pay.ask'
type = fields.Selection([
('writeoff', "Write-Off"),
@@ -3552,7 +3540,6 @@ class PayInvoiceAsk(ModelView):
class PayInvoice(Wizard):
- 'Pay Invoice'
__name__ = 'account.invoice.pay'
start = StateView('account.invoice.pay.start',
'account_invoice.pay_start_view_form', [
@@ -3703,7 +3690,6 @@ class PayInvoice(Wizard):
class CreditInvoiceStart(ModelView):
- 'Credit Invoice'
__name__ = 'account.invoice.credit.start'
invoice_date = fields.Date("Invoice Date")
with_refund = fields.Boolean('With Refund',
@@ -3716,7 +3702,6 @@ class CreditInvoiceStart(ModelView):
class CreditInvoice(Wizard):
- 'Credit Invoice'
__name__ = 'account.invoice.credit'
start = StateView('account.invoice.credit.start',
'account_invoice.credit_start_view_form', [
@@ -3757,7 +3742,6 @@ class CreditInvoice(Wizard):
class RescheduleLinesToPay(Wizard):
- "Reschedule Lines to Pay"
__name__ = 'account.invoice.lines_to_pay.reschedule'
start = StateAction('account.act_reschedule_lines_wizard')
@@ -3771,7 +3755,6 @@ class RescheduleLinesToPay(Wizard):
class DelegateLinesToPay(Wizard):
- "Delegate Lines to Pay"
__name__ = 'account.invoice.lines_to_pay.delegate'
start = StateAction('account.act_delegate_lines_wizard')
diff --git a/modules/account_invoice/party.py b/modules/account_invoice/party.py
index 133683f6b6..5746807ff0 100644
--- a/modules/account_invoice/party.py
+++ b/modules/account_invoice/party.py
@@ -55,7 +55,6 @@ class Party(metaclass=PoolMeta):
class PartyPaymentTerm(ModelSQL, ValueMixin):
- "Party Payment Term"
__name__ = 'party.party.payment_term'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/account_invoice/payment_term.py b/modules/account_invoice/payment_term.py
index fe9f14a6b3..0cd82eec4b 100644
--- a/modules/account_invoice/payment_term.py
+++ b/modules/account_invoice/payment_term.py
@@ -18,7 +18,6 @@ from .exceptions import PaymentTermComputeError, PaymentTermValidationError
class PaymentTerm(DeactivableMixin, ModelSQL, ModelView):
- 'Payment Term'
__name__ = 'account.invoice.payment_term'
name = fields.Char('Name', size=None, required=True, translate=True)
description = fields.Text('Description', translate=True)
@@ -81,7 +80,6 @@ class PaymentTerm(DeactivableMixin, ModelSQL, ModelView):
class PaymentTermLine(sequence_ordered(), ModelSQL, ModelView):
- 'Payment Term Line'
__name__ = 'account.invoice.payment_term.line'
payment = fields.Many2One('account.invoice.payment_term', 'Payment Term',
required=True, ondelete="CASCADE")
@@ -221,7 +219,6 @@ class PaymentTermLine(sequence_ordered(), ModelSQL, ModelView):
class PaymentTermLineRelativeDelta(sequence_ordered(), ModelSQL, ModelView):
- 'Payment Term Line Relative Delta'
__name__ = 'account.invoice.payment_term.line.delta'
line = fields.Many2One('account.invoice.payment_term.line',
'Payment Term Line', required=True, ondelete='CASCADE')
@@ -310,7 +307,6 @@ class PaymentTermLineRelativeDelta(sequence_ordered(), ModelSQL, ModelView):
class TestPaymentTerm(Wizard):
- 'Test Payment Term'
__name__ = 'account.invoice.payment_term.test'
start_state = 'test'
test = StateView('account.invoice.payment_term.test',
@@ -326,7 +322,6 @@ class TestPaymentTerm(Wizard):
class TestPaymentTermView(ModelView):
- 'Test Payment Term'
__name__ = 'account.invoice.payment_term.test'
payment_term = fields.Many2One('account.invoice.payment_term',
'Payment Term', required=True)
@@ -365,7 +360,6 @@ class TestPaymentTermView(ModelView):
class TestPaymentTermViewResult(ModelView):
- 'Test Payment Term'
__name__ = 'account.invoice.payment_term.test.result'
date = fields.Date('Date', readonly=True)
amount = Monetary(
diff --git a/modules/account_invoice_correction/invoice.py b/modules/account_invoice_correction/invoice.py
index bffe03fad9..9783d3c752 100644
--- a/modules/account_invoice_correction/invoice.py
+++ b/modules/account_invoice_correction/invoice.py
@@ -29,7 +29,6 @@ class Invoice(metaclass=PoolMeta):
class InvoiceCorrectStart(ModelView):
- "Correct Invoice"
__name__ = 'account.invoice.correct.start'
invoice = fields.Many2One('account.invoice', 'Invoice', readonly=True)
@@ -42,7 +41,6 @@ class InvoiceCorrectStart(ModelView):
class InvoiceCorrect(Wizard):
- "Correct Invoice"
__name__ = 'account.invoice.correct'
start = StateView('account.invoice.correct.start',
diff --git a/modules/account_invoice_defer/account.py b/modules/account_invoice_defer/account.py
index 36719bc913..f37b48c22a 100644
--- a/modules/account_invoice_defer/account.py
+++ b/modules/account_invoice_defer/account.py
@@ -54,7 +54,6 @@ class ConfigurationDefaultAccount(metaclass=PoolMeta):
class InvoiceDeferred(Workflow, ModelSQL, ModelView):
- "Invoice Deferred"
__name__ = 'account.invoice.deferred'
_states = {
@@ -388,7 +387,6 @@ class InvoiceDeferred(Workflow, ModelSQL, ModelView):
class InvoiceDeferredCreateMoves(Wizard):
- "Invoice Deferred Create Moves"
__name__ = 'account.invoice.deferred.create_moves'
start_state = 'create_moves'
create_moves = StateTransition()
diff --git a/modules/account_invoice_stock/account.py b/modules/account_invoice_stock/account.py
index f63bcaa7cb..2489f9db9d 100644
--- a/modules/account_invoice_stock/account.py
+++ b/modules/account_invoice_stock/account.py
@@ -32,7 +32,6 @@ class Invoice(metaclass=PoolMeta):
class InvoiceLineStockMove(ModelSQL):
- 'Invoice Line - Stock Move'
__name__ = 'account.invoice.line-stock.move'
invoice_line = fields.Many2One(
diff --git a/modules/account_move_line_grouping/account.py b/modules/account_move_line_grouping/account.py
index 25bb0e4f32..d6f2bab74e 100644
--- a/modules/account_move_line_grouping/account.py
+++ b/modules/account_move_line_grouping/account.py
@@ -37,7 +37,6 @@ class MoveLine(metaclass=PoolMeta):
class MoveLineGroup(MoveLineMixin, ModelSQL, ModelView):
- "Account Move Line Group"
__name__ = 'account.move.line.group'
move = fields.Many2One('account.move', "Move", readonly=True)
@@ -216,7 +215,6 @@ class MoveLineGroup(MoveLineMixin, ModelSQL, ModelView):
class MoveLineGroup_MoveLine(ModelSQL):
- "Account Move Line Group - Move Line"
__name__ = 'account.move.line.group-move.line'
group = fields.Many2One('account.move.line.group', "Group")
diff --git a/modules/account_payment/account.py b/modules/account_payment/account.py
index 67f1ac477c..50706307df 100644
--- a/modules/account_payment/account.py
+++ b/modules/account_payment/account.py
@@ -338,7 +338,6 @@ class MoveLine(metaclass=PoolMeta):
class CreateDirectDebit(Wizard):
- "Create Direct Debit"
__name__ = 'account.move.line.create_direct_debit'
start = StateView('account.move.line.create_direct_debit.start',
@@ -359,7 +358,6 @@ class CreateDirectDebit(Wizard):
class CreateDirectDebitStart(ModelView):
- "Create Direct Debit"
__name__ = 'account.move.line.create_direct_debit.start'
date = fields.Date(
@@ -372,7 +370,6 @@ class CreateDirectDebitStart(ModelView):
class PayLineStart(ModelView):
- "Pay Line"
__name__ = 'account.move.line.pay.start'
date = fields.Date(
"Date",
@@ -381,7 +378,6 @@ class PayLineStart(ModelView):
class PayLineAskJournal(ModelView):
- 'Pay Line'
__name__ = 'account.move.line.pay.ask_journal'
company = fields.Many2One('company.company', 'Company', readonly=True)
currency = fields.Many2One('currency.currency', 'Currency', readonly=True)
@@ -396,7 +392,6 @@ class PayLineAskJournal(ModelView):
class PayLine(Wizard):
- 'Pay Line'
__name__ = 'account.move.line.pay'
start = StateView(
'account.move.line.pay.start',
@@ -590,7 +585,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationPaymentSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Payment Sequence"
__name__ = 'account.configuration.payment_sequence'
payment_sequence = fields.Many2One(
'ir.sequence', "Payment Sequence", required=True,
@@ -612,7 +606,6 @@ class ConfigurationPaymentSequence(ModelSQL, CompanyValueMixin):
class ConfigurationPaymentGroupSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Payment Group Sequence"
__name__ = 'account.configuration.payment_group_sequence'
payment_group_sequence = fields.Many2One(
'ir.sequence', "Payment Group Sequence", required=True,
diff --git a/modules/account_payment/party.py b/modules/account_payment/party.py
index 92e7b60882..9b8c75ee64 100644
--- a/modules/account_payment/party.py
+++ b/modules/account_payment/party.py
@@ -47,7 +47,6 @@ class Party(metaclass=PoolMeta):
class PartyPaymentDirectDebit(ModelSQL, CompanyValueMixin):
- "Party Payment Direct Debit"
__name__ = 'party.party.payment_direct_debit'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
@@ -60,7 +59,6 @@ class PartyPaymentDirectDebit(ModelSQL, CompanyValueMixin):
class PartyReceptionDirectDebit(
sequence_ordered(), MatchMixin, ModelView, ModelSQL):
- "Party Reception Direct Debit"
__name__ = 'party.party.reception_direct_debit'
party = fields.Many2One(
diff --git a/modules/account_payment/payment.py b/modules/account_payment/payment.py
index fe814c7359..36fc5dec55 100644
--- a/modules/account_payment/payment.py
+++ b/modules/account_payment/payment.py
@@ -34,7 +34,6 @@ KINDS = [
class Journal(DeactivableMixin, ModelSQL, ModelView):
- 'Payment Journal'
__name__ = 'account.payment.journal'
name = fields.Char('Name', required=True)
currency = fields.Many2One('currency.currency', 'Currency', required=True)
@@ -61,7 +60,6 @@ class Journal(DeactivableMixin, ModelSQL, ModelView):
class Group(ModelSQL, ModelView):
- 'Payment Group'
__name__ = 'account.payment.group'
_rec_name = 'number'
number = fields.Char('Number', required=True, readonly=True)
@@ -271,7 +269,6 @@ _STATES = {
class Payment(Workflow, ModelSQL, ModelView):
- 'Payment'
__name__ = 'account.payment'
_rec_name = 'number'
number = fields.Char("Number", required=True, readonly=True)
@@ -713,7 +710,6 @@ class Payment(Workflow, ModelSQL, ModelView):
class ProcessPayment(Wizard):
- 'Process Payment'
__name__ = 'account.payment.process'
start_state = 'process'
process = StateAction('account_payment.act_payment_group_form')
diff --git a/modules/account_payment_braintree/account.py b/modules/account_payment_braintree/account.py
index 7cfbfcea80..2a3d5d3476 100644
--- a/modules/account_payment_braintree/account.py
+++ b/modules/account_payment_braintree/account.py
@@ -533,7 +533,6 @@ class Payment(CheckoutMixin, BraintreeCustomerMethodMixin, metaclass=PoolMeta):
class PaymentBraintreeRefund(Workflow, ModelSQL, ModelView):
- "Braintree Payment Refund"
__name__ = 'account.payment.braintree.refund'
payment = fields.Many2One(
@@ -779,7 +778,6 @@ class PaymentBraintreeRefund(Workflow, ModelSQL, ModelView):
class PaymentBraintreeAccount(ModelSQL, ModelView):
- "Braintree Account"
__name__ = 'account.payment.braintree.account'
name = fields.Char("Name", required=True)
@@ -932,7 +930,6 @@ class PaymentBraintreeAccount(ModelSQL, ModelView):
class PaymentBraintreeCustomer(
CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
- "Braintree Customer"
__name__ = 'account.payment.braintree.customer'
_history = True
_rec_name = 'braintree_customer_id'
@@ -1201,7 +1198,6 @@ class PaymentBraintreeCustomer(
class PaymentBraintreeCustomerIdentical(ModelSQL):
- "Braintree Customer Identical"
__name__ = 'account.payment.braintree.customer.identical'
source = fields.Many2One('account.payment.braintree.customer', "Source")
target = fields.Many2One('account.payment.braintree.customer', "Target")
@@ -1229,7 +1225,6 @@ class PaymentBraintreeCustomerIdentical(ModelSQL):
class PaymentBraintreeCustomerPaymentMethodDelete(Wizard):
- "Delete Customer Payment Method"
__name__ = 'account.payment.braintree.customer.payment_method.delete'
start_state = 'ask'
ask = StateView(
@@ -1253,7 +1248,6 @@ class PaymentBraintreeCustomerPaymentMethodDelete(Wizard):
class PaymentBraintreeCustomerPaymentMethodDeleteAsk(ModelView):
- "Delete Customer Payment Method"
__name__ = 'account.payment.braintree.customer.payment_method.delete.ask'
customer = fields.Many2One(
@@ -1270,7 +1264,6 @@ class PaymentBraintreeCustomerPaymentMethodDeleteAsk(ModelView):
class PaymentBraintreeCheckout(Wizard):
- "Braintree Checkout"
__name__ = 'account.payment.braintree.checkout'
start_state = 'checkout'
checkout = StateAction('account_payment_braintree.url_checkout')
@@ -1281,5 +1274,4 @@ class PaymentBraintreeCheckout(Wizard):
class PaymentBraintreeCheckoutPage(Report):
- "Braintree Checkout"
__name__ = 'account.payment.braintree.checkout'
diff --git a/modules/account_payment_clearing/payment.py b/modules/account_payment_clearing/payment.py
index a3ecb84b07..d0a5957a23 100644
--- a/modules/account_payment_clearing/payment.py
+++ b/modules/account_payment_clearing/payment.py
@@ -443,7 +443,6 @@ class Group(metaclass=PoolMeta):
class Succeed(Wizard):
- "Succeed Payment"
__name__ = 'account.payment.succeed'
start = StateView('account.payment.succeed.start',
'account_payment_clearing.succeed_start_view_form', [
@@ -459,7 +458,6 @@ class Succeed(Wizard):
class SucceedStart(ModelView):
- "Succeed Payment"
__name__ = 'account.payment.succeed.start'
date = fields.Date("Date", required=True)
diff --git a/modules/account_payment_sepa/account.py b/modules/account_payment_sepa/account.py
index 74ef0465d8..3cbbdce6b3 100644
--- a/modules/account_payment_sepa/account.py
+++ b/modules/account_payment_sepa/account.py
@@ -19,7 +19,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationSepaMandateSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration SEPA Mandate Sequence"
__name__ = 'account.configuration.sepa_mandate_sequence'
sepa_mandate_sequence = fields.Many2One(
'ir.sequence', "SEPA Mandate Sequence",
diff --git a/modules/account_payment_sepa/payment.py b/modules/account_payment_sepa/payment.py
index dd59886ce9..60b6b598f7 100644
--- a/modules/account_payment_sepa/payment.py
+++ b/modules/account_payment_sepa/payment.py
@@ -473,7 +473,6 @@ class Payment(metaclass=PoolMeta):
class Mandate(Workflow, ModelSQL, ModelView):
- 'SEPA Mandate'
__name__ = 'account.payment.sepa.mandate'
party = fields.Many2One(
'party.party', "Party", required=True,
@@ -801,7 +800,6 @@ class MandateReport(CompanyReport):
class Message(Workflow, ModelSQL, ModelView):
- 'SEPA Message'
__name__ = 'account.payment.sepa.message'
_states = {
'readonly': Eval('state') != 'draft',
diff --git a/modules/account_payment_stripe/payment.py b/modules/account_payment_stripe/payment.py
index 3a237fa5f1..bedece1f52 100644
--- a/modules/account_payment_stripe/payment.py
+++ b/modules/account_payment_stripe/payment.py
@@ -704,7 +704,6 @@ class Payment(StripeCustomerMethodMixin, CheckoutMixin, metaclass=PoolMeta):
class Refund(Workflow, ModelSQL, ModelView):
- "Stripe Payment Refund"
__name__ = 'account.payment.stripe.refund'
payment = fields.Many2One(
@@ -963,7 +962,6 @@ class Refund(Workflow, ModelSQL, ModelView):
class Account(ModelSQL, ModelView):
- "Stripe Account"
__name__ = 'account.payment.stripe.account'
name = fields.Char("Name", required=True)
@@ -1411,7 +1409,6 @@ class Account(ModelSQL, ModelView):
class Customer(CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
- "Stripe Customer"
__name__ = 'account.payment.stripe.customer'
_history = True
_rec_name = 'stripe_customer_id'
@@ -1879,7 +1876,6 @@ class Customer(CheckoutMixin, DeactivableMixin, ModelSQL, ModelView):
class CustomerFingerprint(ModelSQL):
- "Stripe Customer Fingerprint"
__name__ = 'account.payment.stripe.customer.fingerprint'
customer = fields.Many2One(
'account.payment.stripe.customer', "Customer",
@@ -1898,7 +1894,6 @@ class CustomerFingerprint(ModelSQL):
class CustomerIdentical(ModelSQL):
- "Stripe Customer Identical"
__name__ = 'account.payment.stripe.customer.identical'
source = fields.Many2One('account.payment.stripe.customer', "Source")
target = fields.Many2One('account.payment.stripe.customer', "Target")
@@ -1924,7 +1919,6 @@ class CustomerIdentical(ModelSQL):
class Checkout(Wizard):
- "Stripe Checkout"
__name__ = 'account.payment.stripe.checkout'
start_state = 'checkout'
checkout = StateAction('account_payment_stripe.url_checkout')
@@ -1935,12 +1929,10 @@ class Checkout(Wizard):
class CheckoutPage(Report):
- "Stripe Checkout"
__name__ = 'account.payment.stripe.checkout'
class CustomerSourceDetach(Wizard):
- "Detach Customer Source"
__name__ = 'account.payment.stripe.customer.source.detach'
start_state = 'ask'
ask = StateView(
@@ -1963,7 +1955,6 @@ class CustomerSourceDetach(Wizard):
class CustomerSourceDetachAsk(ModelView):
- "Detach Customer Source"
__name__ = 'account.payment.stripe.customer.source.detach.ask'
customer = fields.Many2One(
diff --git a/modules/account_product/product.py b/modules/account_product/product.py
index 856d6344b2..5aa70ea232 100644
--- a/modules/account_product/product.py
+++ b/modules/account_product/product.py
@@ -255,7 +255,6 @@ class Category(CompanyMultiValueMixin, metaclass=PoolMeta):
class CategoryAccount(ModelSQL, CompanyValueMixin):
- "Category Account"
__name__ = 'product.category.account'
category = fields.Many2One(
'product.category', "Category", ondelete='CASCADE',
@@ -278,7 +277,6 @@ class CategoryAccount(ModelSQL, CompanyValueMixin):
class CategoryCustomerTax(ModelSQL):
- 'Category - Customer Tax'
__name__ = 'product.category-customer-account.tax'
category = fields.Many2One(
'product.category', "Category", ondelete='CASCADE', required=True)
@@ -299,7 +297,6 @@ class CategoryCustomerTax(ModelSQL):
class CategorySupplierTax(ModelSQL):
- 'Category - Supplier Tax'
__name__ = 'product.category-supplier-account.tax'
category = fields.Many2One(
'product.category', "Category", ondelete='CASCADE', required=True)
@@ -412,7 +409,6 @@ class Product(metaclass=PoolMeta):
class TemplateAccountCategory(ModelSQL):
- "Template - Account Category"
__name__ = 'product.template-product.category.account'
template = fields.Many2One('product.template', 'Template')
category = fields.Many2One('product.category', 'Category')
diff --git a/modules/account_receivable_rule/account.py b/modules/account_receivable_rule/account.py
index 680a1ab4b5..2211d64cf4 100644
--- a/modules/account_receivable_rule/account.py
+++ b/modules/account_receivable_rule/account.py
@@ -360,7 +360,6 @@ class AccountRuleAccountAbstract(sequence_ordered(), ModelSQL, ModelView):
class AccountReceivableRule(AccountRuleAbstract):
- "Account Receivable Rule"
__name__ = 'account.account.receivable.rule'
accounts = fields.One2Many(
@@ -387,7 +386,6 @@ class AccountReceivableRule(AccountRuleAbstract):
class AccountReceivableRuleAccount(AccountRuleAccountAbstract):
- "Account Receivable Rule Account"
__name__ = 'account.account.receivable.rule.account'
rule = fields.Many2One(
diff --git a/modules/account_rule/account.py b/modules/account_rule/account.py
index a2eae28d8a..0c1142654e 100644
--- a/modules/account_rule/account.py
+++ b/modules/account_rule/account.py
@@ -33,7 +33,6 @@ class Configuration(metaclass=PoolMeta):
class AccountRule(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
- "Account Rule"
__name__ = 'account.account.rule'
company = fields.Many2One('company.company', "Company", required=True)
diff --git a/modules/account_statement/journal.py b/modules/account_statement/journal.py
index 7db8e3a24a..25f58c4292 100644
--- a/modules/account_statement/journal.py
+++ b/modules/account_statement/journal.py
@@ -8,7 +8,6 @@ from trytond.transaction import Transaction
class Journal(DeactivableMixin, ModelSQL, ModelView):
- 'Statement Journal'
__name__ = 'account.statement.journal'
name = fields.Char('Name', required=True)
journal = fields.Many2One(
diff --git a/modules/account_statement/statement.py b/modules/account_statement/statement.py
index ad08e81837..38e15ca03f 100644
--- a/modules/account_statement/statement.py
+++ b/modules/account_statement/statement.py
@@ -50,7 +50,6 @@ class Unequal(object):
class Statement(Workflow, ModelSQL, ModelView):
- 'Account Statement'
__name__ = 'account.statement'
_states = {'readonly': Eval('state') != 'draft'}
@@ -740,7 +739,6 @@ _states = {
class Line(origin_mixin(_states), sequence_ordered(), ModelSQL, ModelView):
- 'Account Statement Line'
__name__ = 'account.statement.line'
move = fields.Many2One('account.move', 'Account Move', readonly=True,
@@ -1090,7 +1088,6 @@ del _states
class LineGroup(ModelSQL, ModelView):
- 'Account Statement Line Group'
__name__ = 'account.statement.line.group'
_rec_name = 'number'
statement = fields.Many2One('account.statement', 'Statement')
@@ -1175,7 +1172,6 @@ _states = {
class Origin(origin_mixin(_states), ModelSQL, ModelView):
- "Account Statement Origin"
__name__ = 'account.statement.origin'
_rec_name = 'number'
@@ -1258,12 +1254,10 @@ del _states
class OriginInformation(DictSchemaMixin, ModelSQL, ModelView):
- "Statement Origin Information"
__name__ = 'account.statement.origin.information'
class ImportStatementStart(ModelView):
- "Statement Import Start"
__name__ = 'account.statement.import.start'
company = fields.Many2One('company.company', "Company", required=True)
file_ = fields.Binary("File", required=True)
@@ -1280,7 +1274,6 @@ class ImportStatementStart(ModelView):
class ImportStatement(Wizard):
- "Statement Import"
__name__ = 'account.statement.import'
start = StateView('account.statement.import.start',
'account_statement.statement_import_start_view_form', [
@@ -1305,7 +1298,6 @@ class ImportStatement(Wizard):
class ReconcileStatement(Wizard):
- "Statement Reconcile"
__name__ = 'account.statement.reconcile'
start = StateAction('account.act_reconcile')
diff --git a/modules/account_statement_rule/account.py b/modules/account_statement_rule/account.py
index 5162211290..f616bfe2cd 100644
--- a/modules/account_statement_rule/account.py
+++ b/modules/account_statement_rule/account.py
@@ -62,7 +62,6 @@ class StatementOrigin(metaclass=PoolMeta):
class StatementRule(sequence_ordered(), ModelSQL, ModelView):
- "Account Statement Rule"
__name__ = 'account.statement.rule'
name = fields.Char("Name")
@@ -147,7 +146,6 @@ class StatementRule(sequence_ordered(), ModelSQL, ModelView):
class StatementRuleInformation(sequence_ordered(), ModelSQL, ModelView):
- "Account Statement Rule Information"
__name__ = 'account.statement.rule.information'
rule = fields.Many2One(
@@ -275,7 +273,6 @@ _add_range(StatementRuleInformation, 'number', fields.Numeric, "Numeric")
class StatementRuleLine(sequence_ordered(), ModelSQL, ModelView):
- "Account Statement Rule Line"
__name__ = 'account.statement.rule.line'
rule = fields.Many2One(
diff --git a/modules/account_stock_continental/account.py b/modules/account_stock_continental/account.py
index 12f5646944..88d6b59050 100644
--- a/modules/account_stock_continental/account.py
+++ b/modules/account_stock_continental/account.py
@@ -17,7 +17,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationStockJournal(ModelSQL, ValueMixin):
- "Account Configuration Stock Journal"
__name__ = 'account.configuration.stock_journal'
stock_journal = stock_journal
diff --git a/modules/account_stock_eu/account_stock_eu.py b/modules/account_stock_eu/account_stock_eu.py
index c1833f717b..b46ef49cd2 100644
--- a/modules/account_stock_eu/account_stock_eu.py
+++ b/modules/account_stock_eu/account_stock_eu.py
@@ -23,7 +23,6 @@ from trytond.wizard import Button, StateTransition, StateView, Wizard
class IntrastatTransaction(DeactivableMixin, ModelSQL, ModelView):
- "Intrastat Transaction"
__name__ = 'account.stock.eu.intrastat.transaction'
_rec_name = 'code'
@@ -78,7 +77,6 @@ class IntrastatTransaction(DeactivableMixin, ModelSQL, ModelView):
class IntrastatTransport(DeactivableMixin, ModelSQL, ModelView):
- "Intrastat Transport"
__name__ = 'account.stock.eu.intrastat.transport'
name = fields.Char("Name", translate=True, required=True)
@@ -86,7 +84,6 @@ class IntrastatTransport(DeactivableMixin, ModelSQL, ModelView):
class IntrastatDeclaration(Workflow, ModelSQL, ModelView):
- "Intrastat Declaration"
__name__ = 'account.stock.eu.intrastat.declaration'
_states = {
@@ -232,7 +229,6 @@ class IntrastatDeclaration(Workflow, ModelSQL, ModelView):
class IntrastatDeclarationContext(ModelView):
- "Intrastat Declaration Context"
__name__ = 'account.stock.eu.intrastat.declaration.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -266,7 +262,6 @@ class IntrastatDeclarationContext(ModelView):
class IntrastatDeclarationLine(ModelSQL, ModelView):
- "Intrastat Declaration Line"
__name__ = 'account.stock.eu.intrastat.declaration.line'
type = fields.Selection([
@@ -397,7 +392,6 @@ class IntrastatDeclarationLine_Incoterm(metaclass=PoolMeta):
class IntrastatDeclarationExport(Wizard):
- "Intrastat Declaration Export"
__name__ = 'account.stock.eu.intrastat.declaration.export'
start_state = 'generate'
@@ -473,7 +467,6 @@ class IntrastatDeclarationExport_Incoterm(metaclass=PoolMeta):
class IntrastatDeclarationExportResult(ModelView):
- "Intrastat Declaration Export"
__name__ = 'account.stock.eu.intrastat.declaration.export.result'
file = fields.Binary("File", readonly=True, filename='filename')
diff --git a/modules/account_stock_landed_cost/account.py b/modules/account_stock_landed_cost/account.py
index 6637df3cd0..132981f73d 100644
--- a/modules/account_stock_landed_cost/account.py
+++ b/modules/account_stock_landed_cost/account.py
@@ -45,7 +45,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationLandedCostSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Landed Cost Sequence"
__name__ = 'account.configuration.landed_cost_sequence'
landed_cost_sequence = fields.Many2One(
'ir.sequence', "Landed Cost Sequence", required=True,
@@ -67,7 +66,6 @@ class ConfigurationLandedCostSequence(ModelSQL, CompanyValueMixin):
class LandedCost(Workflow, ModelSQL, ModelView, MatchMixin):
- 'Landed Cost'
__name__ = 'account.landed_cost'
_rec_name = 'number'
number = fields.Char("Number", readonly=True)
@@ -445,7 +443,6 @@ class LandedCost(Workflow, ModelSQL, ModelView, MatchMixin):
class LandedCost_Shipment(ModelSQL):
- 'Landed Cost - Shipment'
__name__ = 'account.landed_cost-stock.shipment.in'
landed_cost = fields.Many2One(
'account.landed_cost', 'Landed Cost',
@@ -455,7 +452,6 @@ class LandedCost_Shipment(ModelSQL):
class LandedCost_ProductCategory(ModelSQL):
- "Landed Cost - Product Category"
__name__ = 'account.landed_cost-product.category'
landed_cost = fields.Many2One(
'account.landed_cost', 'Landed Cost',
@@ -465,7 +461,6 @@ class LandedCost_ProductCategory(ModelSQL):
class LandedCost_Product(ModelSQL):
- "Landed Cost - Product"
__name__ = 'account.landed_cost-product.product'
landed_cost = fields.Many2One(
'account.landed_cost', "Landed Cost",
@@ -501,7 +496,6 @@ class ShowLandedCostMixin(Wizard):
class PostLandedCost(ShowLandedCostMixin):
- "Post Landed Cost"
__name__ = 'account.landed_cost.post'
post = StateTransition()
@@ -519,7 +513,6 @@ class PostLandedCost(ShowLandedCostMixin):
class ShowLandedCost(ShowLandedCostMixin):
- "Show Landed Cost"
__name__ = 'account.landed_cost.show'
@classmethod
@@ -535,7 +528,6 @@ class ShowLandedCost(ShowLandedCostMixin):
class LandedCostShow(ModelView):
- "Landed Cost Show"
__name__ = 'account.landed_cost.show'
cost = fields.Numeric("Cost", digits=price_digits, readonly=True)
@@ -544,7 +536,6 @@ class LandedCostShow(ModelView):
class LandedCostShowMove(ModelView):
- "Landed Cost Show"
__name__ = 'account.landed_cost.show.move'
move = fields.Many2One('stock.move', "Move", readonly=True)
diff --git a/modules/account_stock_shipment_cost/account.py b/modules/account_stock_shipment_cost/account.py
index 88d50ee148..3e45e861f7 100644
--- a/modules/account_stock_shipment_cost/account.py
+++ b/modules/account_stock_shipment_cost/account.py
@@ -36,7 +36,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationShipmentCostSequence(ModelSQL, CompanyValueMixin):
- "Account Configuration Shipment Cost Sequence"
__name__ = 'account.configuration.shipment_cost_sequence'
shipment_cost_sequence = fields.Many2One(
'ir.sequence', "Shipment Cost Sequence", required=True,
@@ -59,7 +58,6 @@ class ConfigurationShipmentCostSequence(ModelSQL, CompanyValueMixin):
class ShipmentCost(Workflow, ModelSQL, ModelView):
- "Shipment Cost"
__name__ = 'account.shipment_cost'
_rec_name = 'number'
@@ -338,7 +336,6 @@ class ShipmentCost(Workflow, ModelSQL, ModelView):
class ShipmentCost_Shipment(ModelSQL):
- "Shipment Cost - Shipment"
__name__ = 'account.shipment_cost-stock.shipment.out'
shipment_cost = fields.Many2One(
'account.shipment_cost', "Shipment Cost",
@@ -348,7 +345,6 @@ class ShipmentCost_Shipment(ModelSQL):
class ShipmentCost_ShipmentReturn(ModelSQL):
- "Shipment Cost - Shipment Return"
__name__ = 'account.shipment_cost-stock.shipment.out.return'
shipment_cost = fields.Many2One(
'account.shipment_cost', "Shipment Cost",
@@ -384,7 +380,6 @@ class ShowShipmentCostMixin(Wizard):
class PostShipmentCost(ShowShipmentCostMixin):
- "Post Shipment Cost"
__name__ = 'account.shipment_cost.post'
post = StateTransition()
@@ -402,7 +397,6 @@ class PostShipmentCost(ShowShipmentCostMixin):
class ShowShipmentCost(ShowShipmentCostMixin):
- "Show Shipment Cost"
__name__ = 'account.shipment_cost.show'
@classmethod
@@ -418,7 +412,6 @@ class ShowShipmentCost(ShowShipmentCostMixin):
class ShipmentCostShow(ModelView):
- "Shipment Cost Show"
__name__ = 'account.shipment_cost.show'
cost = fields.Numeric("Cost", digits=price_digits, readonly=True)
@@ -428,7 +421,6 @@ class ShipmentCostShow(ModelView):
class ShipmentCostShowShipment(ModelView):
- "Post Shipment Cost"
__name__ = 'account.shipment_cost.show.shipment'
shipment = fields.Reference("Shipments", [
diff --git a/modules/account_tax_cash/account.py b/modules/account_tax_cash/account.py
index a9a8073cb2..5a67d593d4 100644
--- a/modules/account_tax_cash/account.py
+++ b/modules/account_tax_cash/account.py
@@ -82,7 +82,6 @@ class Period(metaclass=PoolMeta):
class TaxGroupCash(ModelSQL):
- "Tax Group On Cash Basis"
__name__ = 'account.tax.group.cash'
fiscalyear = fields.Many2One(
@@ -356,7 +355,6 @@ class InvoiceTax(metaclass=PoolMeta):
class InvoiceTaxGroupCash(ModelSQL):
- "Tax Group on Cash Basis per Invoice"
__name__ = 'account.invoice.tax.group.cash'
invoice = fields.Many2One(
diff --git a/modules/analytic_account/account.py b/modules/analytic_account/account.py
index 7b54d5cb79..14cb1a1c9e 100644
--- a/modules/analytic_account/account.py
+++ b/modules/analytic_account/account.py
@@ -26,7 +26,6 @@ from .exceptions import AccountValidationError
class Account(
DeactivableMixin, tree('distribution_parents'), tree(),
ModelSQL, ModelView):
- 'Analytic Account'
__name__ = 'analytic_account.account'
name = fields.Char("Name", required=True, translate=True)
code = fields.Char("Code")
@@ -336,14 +335,12 @@ class Account(
class AccountContext(ModelView):
- 'Open Chart of Accounts'
__name__ = 'analytic_account.account.context'
start_date = fields.Date('Start Date')
end_date = fields.Date('End Date')
class AccountDistribution(ModelView, ModelSQL):
- "Analytic Account Distribution"
__name__ = 'analytic_account.account.distribution'
parent = fields.Many2One(
'analytic_account.account', "Parent", required=True)
@@ -372,7 +369,6 @@ class AccountDistribution(ModelView, ModelSQL):
class AnalyticAccountEntry(ModelView, ModelSQL):
- 'Analytic Account Entry'
__name__ = 'analytic.account.entry'
origin = fields.Reference('Origin', selection='get_origin')
root = fields.Many2One(
diff --git a/modules/analytic_account/line.py b/modules/analytic_account/line.py
index ecaa9dbeee..0723232bb9 100644
--- a/modules/analytic_account/line.py
+++ b/modules/analytic_account/line.py
@@ -15,7 +15,6 @@ from trytond.wizard import StateAction, Wizard
class Line(ModelSQL, ModelView):
- 'Analytic Line'
__name__ = 'analytic_account.line'
debit = Monetary(
"Debit", currency='currency', digits='currency', required=True)
@@ -280,7 +279,6 @@ class MoveLine(metaclass=PoolMeta):
class OpenAccount(Wizard):
- 'Open Account'
__name__ = 'analytic_account.line.open_account'
start_state = 'open_'
open_ = StateAction('analytic_account.act_line_form')
diff --git a/modules/analytic_account/rule.py b/modules/analytic_account/rule.py
index 63cf073b39..484e385563 100644
--- a/modules/analytic_account/rule.py
+++ b/modules/analytic_account/rule.py
@@ -9,7 +9,6 @@ from .account import AnalyticMixin
class Rule(sequence_ordered(), MatchMixin, AnalyticMixin, ModelSQL, ModelView):
- "Analytic Rule"
__name__ = 'analytic_account.rule'
company = fields.Many2One(
diff --git a/modules/analytic_budget/analytic_account.py b/modules/analytic_budget/analytic_account.py
index f244607c71..2c1c5c6730 100644
--- a/modules/analytic_budget/analytic_account.py
+++ b/modules/analytic_budget/analytic_account.py
@@ -14,7 +14,6 @@ from trytond.wizard import Button, StateAction, StateView, Wizard
class BudgetContext(ModelView):
- "Analytic Budget Context"
__name__ = 'analytic_account.budget.context'
budget = fields.Many2One(
@@ -39,7 +38,6 @@ class BudgetContext(ModelView):
class Budget(BudgetMixin, ModelSQL, ModelView):
- "Analytic Budget"
__name__ = 'analytic_account.budget'
start_date = fields.Date(
@@ -135,7 +133,6 @@ class Budget(BudgetMixin, ModelSQL, ModelView):
class BudgetLine(BudgetLineMixin, ModelSQL, ModelView):
- "Analytic Budget"
__name__ = 'analytic_account.budget.line'
budget = fields.Many2One(
@@ -200,7 +197,6 @@ class BudgetLine(BudgetLineMixin, ModelSQL, ModelView):
class CopyBudget(CopyBudgetMixin, Wizard):
- "Copy Analytic Budget"
__name__ = 'analytic_account.budget.copy'
start = StateView('analytic_account.budget.copy.start',
@@ -224,7 +220,6 @@ class CopyBudget(CopyBudgetMixin, Wizard):
class CopyBudgetStart(CopyBudgetStartMixin, ModelView):
- "Copy Analytic Budget"
__name__ = 'analytic_account.budget.copy.start'
start_date = fields.Date(
diff --git a/modules/attendance/attendance.py b/modules/attendance/attendance.py
index c63896b48f..39bbe6998a 100644
--- a/modules/attendance/attendance.py
+++ b/modules/attendance/attendance.py
@@ -28,7 +28,6 @@ class SQLiteStrftime(Function):
class Line(ModelSQL, ModelView):
- "Attendance Line"
__name__ = 'attendance.line'
company = fields.Many2One('company.company', "Company", required=True,
@@ -157,7 +156,6 @@ class Line(ModelSQL, ModelView):
class Period(Workflow, ModelSQL, ModelView):
- "Attendance Period"
__name__ = 'attendance.period'
_states = {
'readonly': Eval('state') == 'closed',
@@ -274,7 +272,6 @@ class Period(Workflow, ModelSQL, ModelView):
class SheetLine(ModelSQL, ModelView):
- "Attendance SheetLine"
__name__ = 'attendance.sheet.line'
company = fields.Many2One('company.company', "Company")
@@ -368,7 +365,6 @@ class SheetLine(ModelSQL, ModelView):
class Sheet(ModelSQL, ModelView):
- "Attendance Sheet"
__name__ = 'attendance.sheet'
company = fields.Many2One('company.company', "Company")
diff --git a/modules/authentication_sms/res.py b/modules/authentication_sms/res.py
index db675b1b5e..b9f57da4a7 100644
--- a/modules/authentication_sms/res.py
+++ b/modules/authentication_sms/res.py
@@ -52,10 +52,8 @@ class User(metaclass=PoolMeta):
class UserLoginSMSCode(ModelSQL):
- """SMS Code
-
- This class is separated from the res.user one in order to prevent locking
- the res.user table when in a long running process.
+ """This class is separated from the res.user one in order to prevent
+ locking the res.user table when in a long running process.
"""
__name__ = 'res.user.login.sms_code'
diff --git a/modules/bank/bank.py b/modules/bank/bank.py
index c3f2f085db..e29617daea 100644
--- a/modules/bank/bank.py
+++ b/modules/bank/bank.py
@@ -21,7 +21,6 @@ from .exceptions import AccountValidationError, IBANValidationError, InvalidBIC
class Bank(ModelSQL, ModelView):
- 'Bank'
__name__ = 'bank'
party = fields.Many2One('party.party', 'Party', required=True,
ondelete='CASCADE')
@@ -88,7 +87,6 @@ class Bank(ModelSQL, ModelView):
class Account(DeactivableMixin, ModelSQL, ModelView):
- 'Bank Account'
__name__ = 'bank.account'
bank = fields.Many2One(
'bank', "Bank",
@@ -178,7 +176,6 @@ class Account(DeactivableMixin, ModelSQL, ModelView):
class AccountNumber(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
- 'Bank Account Number'
__name__ = 'bank.account.number'
_rec_name = 'number'
account = fields.Many2One(
@@ -300,7 +297,6 @@ class AccountNumber(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
class AccountParty(ModelSQL):
- 'Bank Account - Party'
__name__ = 'bank.account-party.party'
account = fields.Many2One(
'bank.account', "Account", ondelete='CASCADE', required=True)
diff --git a/modules/carrier/carrier.py b/modules/carrier/carrier.py
index 8436a65e61..57c0819804 100644
--- a/modules/carrier/carrier.py
+++ b/modules/carrier/carrier.py
@@ -9,7 +9,6 @@ from trytond.transaction import inactive_records
class Carrier(DeactivableMixin, ModelSQL, ModelView):
- 'Carrier'
__name__ = 'carrier'
party = fields.Many2One('party.party', 'Party', required=True,
ondelete='CASCADE', help="The party which represents the carrier.")
@@ -84,7 +83,6 @@ class Carrier(DeactivableMixin, ModelSQL, ModelView):
class Selection(
DeactivableMixin, sequence_ordered(), MatchMixin, ModelSQL, ModelView):
- 'Carrier Selection'
__name__ = 'carrier.selection'
_get_carriers_cache = Cache(
'carrier.selection.get_carriers', context=False)
diff --git a/modules/carrier_carriage/sale.py b/modules/carrier_carriage/sale.py
index 49e7ad73e6..f0aaae50b4 100644
--- a/modules/carrier_carriage/sale.py
+++ b/modules/carrier_carriage/sale.py
@@ -132,7 +132,6 @@ class Line(metaclass=PoolMeta):
class Carriage(sequence_ordered(), ModelSQL, ModelView):
- "Sale Carriage"
__name__ = 'sale.carriage'
_states = {
diff --git a/modules/carrier_carriage/stock.py b/modules/carrier_carriage/stock.py
index d49267201e..d665217745 100644
--- a/modules/carrier_carriage/stock.py
+++ b/modules/carrier_carriage/stock.py
@@ -16,7 +16,6 @@ except ImportError:
class Carriage(sequence_ordered(), ShipmentCostMixin, ModelSQL, ModelView):
- "Shipment Carriage"
__name__ = 'stock.shipment.carriage'
_states = {
diff --git a/modules/carrier_weight/carrier.py b/modules/carrier_weight/carrier.py
index 9ed0bec303..384cd9f1a6 100644
--- a/modules/carrier_weight/carrier.py
+++ b/modules/carrier_weight/carrier.py
@@ -77,7 +77,6 @@ class Carrier(metaclass=PoolMeta):
class WeightPriceList(ModelSQL, ModelView):
- 'Carrier Weight Price List'
__name__ = 'carrier.weight_price_list'
carrier = fields.Many2One(
'carrier', "Carrier", required=True,
diff --git a/modules/commission/commission.py b/modules/commission/commission.py
index 45a73ed013..b99178e4f5 100644
--- a/modules/commission/commission.py
+++ b/modules/commission/commission.py
@@ -30,7 +30,6 @@ from .exceptions import FormulaError
class Agent(DeactivableMixin, ModelSQL, ModelView):
- 'Commission Agent'
__name__ = 'commission.agent'
party = fields.Many2One('party.party', "Party", required=True,
context={
@@ -179,7 +178,6 @@ class Agent(DeactivableMixin, ModelSQL, ModelView):
class AgentSelection(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
- "Agent Selection"
__name__ = 'commission.agent.selection'
agent = fields.Many2One(
'commission.agent', "Agent", required=True,
@@ -248,7 +246,6 @@ class AgentSelection(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
class Plan(ModelSQL, ModelView):
- 'Commission Plan'
__name__ = 'commission.plan'
name = fields.Char('Name', required=True, translate=True)
commission_product = fields.Many2One('product.product',
@@ -304,7 +301,6 @@ class Plan(ModelSQL, ModelView):
class PlanLines(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Commission Plan Line'
__name__ = 'commission.plan.line'
plan = fields.Many2One('commission.plan', 'Plan', required=True,
ondelete='CASCADE',
@@ -366,7 +362,6 @@ class PlanLines(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
class Commission(ModelSQL, ModelView):
- 'Commission'
__name__ = 'commission'
_readonly_states = {
'readonly': Bool(Eval('invoice_line')),
@@ -608,7 +603,6 @@ class Commission(ModelSQL, ModelView):
class CreateInvoice(Wizard):
- 'Create Commission Invoice'
__name__ = 'commission.create_invoice'
start_state = 'ask'
ask = StateView('commission.create_invoice.ask',
@@ -646,7 +640,6 @@ class CreateInvoice(Wizard):
class CreateInvoiceAsk(ModelView):
- 'Create Commission Invoice'
__name__ = 'commission.create_invoice.ask'
from_ = fields.Date('From',
domain=[
diff --git a/modules/commission/commission_reporting.py b/modules/commission/commission_reporting.py
index 1dae9ed8c8..6e53f52bc6 100644
--- a/modules/commission/commission_reporting.py
+++ b/modules/commission/commission_reporting.py
@@ -18,7 +18,6 @@ from trytond.transaction import Transaction
class Agent(ModelView, ModelSQL):
- "Commission Reporting per Agent"
__name__ = 'commission.reporting.agent'
agent = fields.Many2One('commission.agent', 'Agent')
@@ -151,7 +150,6 @@ class Agent(ModelView, ModelSQL):
class AgentTimeseries(Agent):
- "Commission Reporting per Agent"
__name__ = 'commission.reporting.agent.time_series'
date = fields.Date("Date")
@@ -187,7 +185,6 @@ class AgentTimeseries(Agent):
class Context(ModelView):
- "Commission Reporting Context"
__name__ = 'commission.reporting.context'
type = fields.Selection([
diff --git a/modules/commission/product.py b/modules/commission/product.py
index 492060597c..f0a23f055a 100644
--- a/modules/commission/product.py
+++ b/modules/commission/product.py
@@ -26,7 +26,6 @@ class Template(metaclass=PoolMeta):
class Template_Agent(ModelSQL):
- 'Product Template - Commission Agent'
__name__ = 'product.template-commission.agent'
template = fields.Many2One(
'product.template', "Template", required=True)
diff --git a/modules/company/company.py b/modules/company/company.py
index fbc8e84398..d6e82b5c59 100644
--- a/modules/company/company.py
+++ b/modules/company/company.py
@@ -42,7 +42,6 @@ _SUBSTITUTION_HELP = (
class Company(ModelSQL, ModelView):
- 'Company'
__name__ = 'company.company'
party = fields.Many2One('party.party', 'Party', required=True,
ondelete='CASCADE')
@@ -198,7 +197,6 @@ class Company(ModelSQL, ModelView):
class CompanyLogoCache(ModelSQL):
- "Company Logo Cache"
__name__ = 'company.company.logo.cache'
company = fields.Many2One(
@@ -228,7 +226,6 @@ class CompanyLogoCache(ModelSQL):
class Employee(ModelSQL, ModelView):
- 'Employee'
__name__ = 'company.employee'
party = fields.Many2One('party.party', 'Party', required=True,
context={
@@ -319,12 +316,10 @@ class Employee(ModelSQL, ModelView):
class CompanyConfigStart(ModelView):
- 'Company Config'
__name__ = 'company.company.config.start'
class CompanyConfig(Wizard):
- 'Configure Company'
__name__ = 'company.company.config'
start = StateView('company.company.config.start',
'company.company_config_start_view_form', [
diff --git a/modules/company/ir.py b/modules/company/ir.py
index 905937b938..1b317d29eb 100644
--- a/modules/company/ir.py
+++ b/modules/company/ir.py
@@ -96,7 +96,6 @@ class Cron(metaclass=PoolMeta):
class CronCompany(ModelSQL):
- 'Cron - Company'
__name__ = 'ir.cron-company.company'
cron = fields.Many2One(
'ir.cron', "Cron", ondelete='CASCADE', required=True)
diff --git a/modules/company/res.py b/modules/company/res.py
index 551e2535de..c489162fbb 100644
--- a/modules/company/res.py
+++ b/modules/company/res.py
@@ -10,7 +10,6 @@ from trytond.transaction import Transaction
class UserCompany(ModelSQL):
- "User - Company"
__name__ = 'res.user-company.company'
user = fields.Many2One(
@@ -43,7 +42,6 @@ class UserCompany(ModelSQL):
class UserEmployee(ModelSQL):
- 'User - Employee'
__name__ = 'res.user-company.employee'
user = fields.Many2One(
'res.user', "User", ondelete='CASCADE', required=True)
diff --git a/modules/country/country.py b/modules/country/country.py
index d53598fa40..4dcc819728 100644
--- a/modules/country/country.py
+++ b/modules/country/country.py
@@ -14,7 +14,6 @@ from trytond.transaction import Transaction
class Organization(ModelSQL, ModelView):
- "Organization"
__name__ = 'country.organization'
name = fields.Char("Name", required=True, translate=True)
@@ -30,7 +29,6 @@ class Organization(ModelSQL, ModelView):
class OrganizationMember(ModelSQL, ModelView):
- "Organization Member"
__name__ = 'country.organization.member'
organization = fields.Many2One(
@@ -105,7 +103,6 @@ class OrganizationMember(ModelSQL, ModelView):
class Region(tree(), ModelSQL, ModelView):
- "Region"
__name__ = 'country.region'
name = fields.Char("Name", required=True, translate=True)
@@ -141,7 +138,6 @@ class Region(tree(), ModelSQL, ModelView):
class Country(DeactivableMixin, ModelSQL, ModelView):
- 'Country'
__name__ = 'country.country'
name = fields.Char(
"Name", required=True, translate=True,
@@ -253,7 +249,6 @@ class Country(DeactivableMixin, ModelSQL, ModelView):
class Subdivision(DeactivableMixin, ModelSQL, ModelView):
- "Subdivision"
__name__ = 'country.subdivision'
country = fields.Many2One(
'country.country', "Country", required=True,
@@ -484,7 +479,6 @@ class Subdivision(DeactivableMixin, ModelSQL, ModelView):
class PostalCode(ModelSQL, ModelView):
- "Postal Code"
__name__ = 'country.postal_code'
country = fields.Many2One(
'country.country', "Country", required=True, ondelete='CASCADE',
diff --git a/modules/currency/currency.py b/modules/currency/currency.py
index 6ac5511d11..2981cf36cb 100644
--- a/modules/currency/currency.py
+++ b/modules/currency/currency.py
@@ -38,7 +38,6 @@ ROUNDING_OPPOSITES = {
class Currency(
SymbolMixin, DigitsMixin, DeactivableMixin, ModelSQL, ModelView):
- 'Currency'
__name__ = 'currency.currency'
name = fields.Char('Name', required=True, translate=True,
help="The main identifier of the currency.")
@@ -268,7 +267,6 @@ class Currency(
class CurrencyRate(ModelSQL, ModelView):
- "Currency Rate"
__name__ = 'currency.currency.rate'
date = fields.Date(
"Date", required=True,
@@ -326,7 +324,6 @@ class CronFetchError(Exception):
class Cron(ModelSQL, ModelView):
- "Currency Cron"
__name__ = 'currency.cron'
source = fields.Selection(
@@ -476,7 +473,6 @@ class Cron(ModelSQL, ModelView):
class Cron_Currency(ModelSQL):
- "Currency Cron - Currency"
__name__ = 'currency.cron-currency.currency'
cron = fields.Many2One(
diff --git a/modules/customs/customs.py b/modules/customs/customs.py
index 679017669d..3276bceedd 100644
--- a/modules/customs/customs.py
+++ b/modules/customs/customs.py
@@ -41,7 +41,6 @@ class CountryMatchMixin(MatchMixin):
class TariffCode(DeactivableMixin, CountryMatchMixin, ModelSQL, ModelView):
- 'Tariff Code'
__name__ = 'customs.tariff.code'
_rec_name = 'code'
code = fields.Char('Code', required=True,
@@ -143,7 +142,6 @@ class TariffCode(DeactivableMixin, CountryMatchMixin, ModelSQL, ModelView):
class DutyRate(CountryMatchMixin, ModelSQL, ModelView):
- 'Duty Rate'
__name__ = 'customs.duty.rate'
tariff_code = fields.Many2One(
'customs.tariff.code', "Tariff Code", required=True)
diff --git a/modules/customs/product.py b/modules/customs/product.py
index 2dd235d04b..c6ae9a42b9 100644
--- a/modules/customs/product.py
+++ b/modules/customs/product.py
@@ -152,7 +152,6 @@ class Template(metaclass=PoolMeta):
class Product_TariffCode(sequence_ordered(), ModelSQL, ModelView):
- 'Product - Tariff Code'
__name__ = 'product-customs.tariff.code'
product = fields.Reference('Product', selection=[
('product.template', 'Template'),
diff --git a/modules/dashboard/dashboard.py b/modules/dashboard/dashboard.py
index 81e971d75f..4ba65a022a 100644
--- a/modules/dashboard/dashboard.py
+++ b/modules/dashboard/dashboard.py
@@ -5,7 +5,6 @@ from trytond.pyson import Eval
class Action(sequence_ordered(), ModelSQL, ModelView):
- "Dashboard Action"
__name__ = "dashboard.action"
user = fields.Many2One('res.user', "User", required=True)
act_window = fields.Many2One('ir.action.act_window', 'Action',
diff --git a/modules/document_incoming/document.py b/modules/document_incoming/document.py
index 5099485b01..19dc6ec47d 100644
--- a/modules/document_incoming/document.py
+++ b/modules/document_incoming/document.py
@@ -27,12 +27,10 @@ else:
class IncomingConfiguration(ModelSingleton, ModelSQL, ModelView):
- "Incoming Document Configuration"
__name__ = 'document.incoming.configuration'
class Incoming(DeactivableMixin, Workflow, ModelSQL, ModelView):
- "Incoming Document"
__name__ = 'document.incoming'
_states = {
@@ -298,7 +296,6 @@ def iter_pages(expression, size):
class IncomingSplit(Wizard):
- "Split Incoming Document"
__name__ = 'document.incoming.split'
start = StateView(
@@ -356,7 +353,6 @@ class IncomingSplit(Wizard):
class IncomingSplitStart(ModelView):
- "Split Incoming Document"
__name__ = 'document.incoming.split.start'
data = fields.Binary("Data", readonly=True)
diff --git a/modules/document_incoming_ocr/document.py b/modules/document_incoming_ocr/document.py
index e6a756c258..3299c7127d 100644
--- a/modules/document_incoming_ocr/document.py
+++ b/modules/document_incoming_ocr/document.py
@@ -389,7 +389,6 @@ class IncomingSupplierInvoicePurchase(metaclass=PoolMeta):
class IncomingOCRService(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Incoming Document OCR Service"
__name__ = 'document.incoming.ocr.service'
type = fields.Selection([
diff --git a/modules/edocument_uncefact/edocument.py b/modules/edocument_uncefact/edocument.py
index 1dfb29bb36..4c125ce1f4 100644
--- a/modules/edocument_uncefact/edocument.py
+++ b/modules/edocument_uncefact/edocument.py
@@ -51,7 +51,6 @@ def remove_comment(stream):
class Invoice(Model):
- "EDocument UN/CEFACT Invoice"
__name__ = 'edocument.uncefact.invoice'
__slots__ = ('invoice',)
diff --git a/modules/inbound_email/inbound_email.py b/modules/inbound_email/inbound_email.py
index a22d5211f3..bfa8f5cb7e 100644
--- a/modules/inbound_email/inbound_email.py
+++ b/modules/inbound_email/inbound_email.py
@@ -26,7 +26,6 @@ else:
class Inbox(ModelSQL, ModelView):
- "Inbound Email Inbox"
__name__ = 'inbound.email.inbox'
name = fields.Char("Name", required=True)
@@ -105,7 +104,6 @@ def _email_attachments(message):
class Email(ModelSQL, ModelView):
- "Inbound Email"
__name__ = 'inbound.email'
inbox = fields.Many2One(
@@ -234,7 +232,6 @@ class Email(ModelSQL, ModelView):
class Rule(sequence_ordered(), ModelSQL, ModelView):
- "Inbound Email Rule"
__name__ = 'inbound.email.rule'
inbox = fields.Many2One(
@@ -305,7 +302,6 @@ class Rule(sequence_ordered(), ModelSQL, ModelView):
class RuleHeader(ModelSQL, ModelView):
- "Inbound Email Rule Header"
__name__ = 'inbound.email.rule.header'
rule = fields.Many2One(
diff --git a/modules/incoterm/incoterm.py b/modules/incoterm/incoterm.py
index c625eaf9c9..843f3b9df7 100644
--- a/modules/incoterm/incoterm.py
+++ b/modules/incoterm/incoterm.py
@@ -7,7 +7,6 @@ from trytond.pool import Pool
class Incoterm(MatchMixin, ModelSQL, ModelView):
- "Incoterm"
__name__ = 'incoterm.incoterm'
_rec_name = 'code'
@@ -65,7 +64,6 @@ class Incoterm(MatchMixin, ModelSQL, ModelView):
class Incoterm_Company(ModelSQL):
- "Incoterm - Company"
__name__ = 'incoterm.incoterm-company.company'
incoterm = fields.Many2One('incoterm.incoterm', "Incoterm", required=True)
diff --git a/modules/incoterm/party.py b/modules/incoterm/party.py
index 7fdc2984c8..b1a0024120 100644
--- a/modules/incoterm/party.py
+++ b/modules/incoterm/party.py
@@ -86,7 +86,6 @@ class Address(metaclass=PoolMeta):
class Incoterm(sequence_ordered(), ModelView, ModelSQL):
- "Party Incoterm"
__name__ = 'party.incoterm'
party = fields.Many2One(
diff --git a/modules/marketing_automation/marketing_automation.py b/modules/marketing_automation/marketing_automation.py
index 27413143ac..6b0cf872c8 100644
--- a/modules/marketing_automation/marketing_automation.py
+++ b/modules/marketing_automation/marketing_automation.py
@@ -95,7 +95,6 @@ def trend_mixin(model_name, field_name):
class Scenario(
trend_mixin('marketing.automation.reporting.scenario', 'scenario'),
Workflow, ModelSQL, ModelView):
- "Marketing Scenario"
__name__ = 'marketing.automation.scenario'
name = fields.Char("Name", translate=True)
@@ -315,7 +314,6 @@ class Scenario(
class Activity(
trend_mixin('marketing.automation.reporting.activity', 'activity'),
ModelSQL, ModelView):
- "Marketing Activity"
__name__ = 'marketing.automation.activity'
name = fields.Char("Name", translate=True, required=True)
@@ -764,7 +762,6 @@ class Activity(
class Record(ModelSQL, ModelView):
- "Marketing Record"
__name__ = 'marketing.automation.record'
scenario = fields.Many2One(
@@ -865,7 +862,6 @@ class Record(ModelSQL, ModelView):
class RecordActivity(Workflow, ModelSQL, ModelView):
- "Marketing Record Activity"
__name__ = 'marketing.automation.record.activity'
record = fields.Many2One(
@@ -1051,5 +1047,4 @@ class RecordActivity(Workflow, ModelSQL, ModelView):
class Unsubscribe(Report):
- "Marketing Automation Unsubscribe"
__name__ = 'marketing.automation.unsubscribe'
diff --git a/modules/marketing_automation/marketing_automation_reporting.py b/modules/marketing_automation/marketing_automation_reporting.py
index e76e20aa21..d28317f658 100644
--- a/modules/marketing_automation/marketing_automation_reporting.py
+++ b/modules/marketing_automation/marketing_automation_reporting.py
@@ -14,7 +14,6 @@ from trytond.transaction import Transaction
class Context(ModelView):
- "Marketing Automation Reporting Context"
__name__ = 'marketing.automation.reporting.context'
from_date = fields.Date("From Date",
@@ -83,7 +82,6 @@ class Abstract(ModelSQL, ModelView):
class Scenario(Abstract):
- "Marketing Automation Reporting Scenario"
__name__ = 'marketing.automation.reporting.scenario'
scenario = fields.Many2One(
@@ -151,7 +149,6 @@ class Scenario(Abstract):
class Activity(Abstract):
- "Marketing Automation Reporting Activity"
__name__ = 'marketing.automation.reporting.activity'
activity = fields.Many2One(
diff --git a/modules/marketing_automation/party.py b/modules/marketing_automation/party.py
index b6ed5d6995..e99a832ec8 100644
--- a/modules/marketing_automation/party.py
+++ b/modules/marketing_automation/party.py
@@ -38,7 +38,6 @@ class Party(MarketingAutomationMixin, metaclass=PoolMeta):
class PartyUnsubscribedScenario(ModelSQL):
- "Party Unsubscribed Scenario"
__name__ = 'party.party-unsubscribed-marketing.automation.scenario'
party = fields.Many2One(
diff --git a/modules/marketing_campaign/marketing.py b/modules/marketing_campaign/marketing.py
index 96e876c9e7..1cf2244020 100644
--- a/modules/marketing_campaign/marketing.py
+++ b/modules/marketing_campaign/marketing.py
@@ -67,17 +67,14 @@ class Parameter(DeactivableMixin, ModelSQL, ModelView):
class Campaign(Parameter):
- "Marketing Campaign"
__name__ = 'marketing.campaign'
class Medium(Parameter):
- "Marketing Medium"
__name__ = 'marketing.medium'
class Source(Parameter):
- "Marketing Source"
__name__ = 'marketing.source'
diff --git a/modules/marketing_campaign/sale_opportunity_reporting.py b/modules/marketing_campaign/sale_opportunity_reporting.py
index c25bac9dc9..0c6d2046df 100644
--- a/modules/marketing_campaign/sale_opportunity_reporting.py
+++ b/modules/marketing_campaign/sale_opportunity_reporting.py
@@ -67,7 +67,6 @@ class Context(MarketingCampaignMixin, metaclass=PoolMeta):
class MarketingContext(BaseContext, metaclass=PoolMeta):
- "Sale Opportunity Reporting Context"
__name__ = 'sale.opportunity.reporting.marketing.context'
group_by_marketing_campaign = fields.Boolean(
@@ -79,7 +78,6 @@ class MarketingContext(BaseContext, metaclass=PoolMeta):
class Marketing(MarketingCampaignMixin, ModelView, Abstract):
- "Sale Opportunity Reporting per Marketing"
__name__ = 'sale.opportunity.reporting.marketing'
@classmethod
diff --git a/modules/marketing_campaign/sale_reporting.py b/modules/marketing_campaign/sale_reporting.py
index 7aee1fccc8..870922183e 100644
--- a/modules/marketing_campaign/sale_reporting.py
+++ b/modules/marketing_campaign/sale_reporting.py
@@ -68,7 +68,6 @@ class Context(MarketingCampaignMixin, metaclass=PoolMeta):
class MarketingContext(BaseContext):
- "Sale Reporting Context"
__name__ = 'sale.reporting.marketing.context'
group_by_marketing_campaign = fields.Boolean(
@@ -80,7 +79,6 @@ class MarketingContext(BaseContext):
class Marketing(MarketingCampaignMixin, Abstract, ModelView):
- "Sale Reporting per Marketing"
__name__ = 'sale.reporting.marketing'
@classmethod
diff --git a/modules/marketing_email/marketing.py b/modules/marketing_email/marketing.py
index aae3aa04f4..0fb1965f53 100644
--- a/modules/marketing_email/marketing.py
+++ b/modules/marketing_email/marketing.py
@@ -57,7 +57,6 @@ def _extract_params(url):
class Email(DeactivableMixin, ModelSQL, ModelView):
- "Marketing Email"
__name__ = 'marketing.email'
_rec_name = 'email'
@@ -243,7 +242,6 @@ class EmailUnsubscribe(Report):
class EmailList(DeactivableMixin, ModelSQL, ModelView):
- "Marketing Mailing List"
__name__ = 'marketing.email.list'
name = fields.Char("Name", required=True)
@@ -339,7 +337,6 @@ class EmailList(DeactivableMixin, ModelSQL, ModelView):
class Message(Workflow, ModelSQL, ModelView):
- "Marketing Email Message"
__name__ = 'marketing.email.message'
_rec_name = 'title'
@@ -529,7 +526,6 @@ class Message(Workflow, ModelSQL, ModelView):
class SendTest(Wizard):
- "Send Test Email"
__name__ = 'marketing.email.send_test'
start = StateView(
'marketing.email.send_test',
@@ -557,7 +553,6 @@ class SendTest(Wizard):
class SendTestView(ModelView):
- "Send Test Email"
__name__ = 'marketing.email.send_test'
list_ = fields.Many2One(
diff --git a/modules/notification_email/notification.py b/modules/notification_email/notification.py
index a7adc568b0..a172d82e9c 100644
--- a/modules/notification_email/notification.py
+++ b/modules/notification_email/notification.py
@@ -19,7 +19,6 @@ from .exceptions import TemplateError
class Email(ModelSQL, ModelView):
- "Email Notification"
__name__ = 'notification.email'
from_ = fields.Char(
@@ -328,7 +327,6 @@ class Email(ModelSQL, ModelView):
class EmailAttachment(ModelSQL):
- "Email Notification Attachment"
__name__ = 'notification.email.attachment'
notification = fields.Many2One(
diff --git a/modules/party/address.py b/modules/party/address.py
index a663cb021c..efb88280cf 100644
--- a/modules/party/address.py
+++ b/modules/party/address.py
@@ -25,7 +25,6 @@ from .exceptions import InvalidFormat
class Address(
DeactivableMixin, sequence_ordered(), _ContactMechanismMixin,
ModelSQL, ModelView):
- "Address"
__name__ = 'party.address'
party = fields.Many2One(
'party.party', "Party", required=True, ondelete='CASCADE',
@@ -274,7 +273,6 @@ class Address(
class AddressFormat(DeactivableMixin, MatchMixin, ModelSQL, ModelView):
- "Address Format"
__name__ = 'party.address.format'
country_code = fields.Char("Country Code", size=2)
language_code = fields.Char("Language Code", size=2)
@@ -407,7 +405,6 @@ ${COUNTRY}"""
class SubdivisionType(DeactivableMixin, ModelSQL, ModelView):
- "Address Subdivision Type"
__name__ = 'party.address.subdivision_type'
country_code = fields.Char("Country Code", size=2, required=True)
types = fields.MultiSelection('get_subdivision_types', "Subdivision Types")
diff --git a/modules/party/category.py b/modules/party/category.py
index d05366379d..e3295b6076 100644
--- a/modules/party/category.py
+++ b/modules/party/category.py
@@ -8,7 +8,6 @@ from trytond.model import (
class Category(DeactivableMixin, tree(separator=' / '), ModelSQL, ModelView):
- "Category"
__name__ = 'party.category'
name = fields.Char(
"Name", required=True, translate=True,
diff --git a/modules/party/configuration.py b/modules/party/configuration.py
index 3039236384..daee05dfdb 100644
--- a/modules/party/configuration.py
+++ b/modules/party/configuration.py
@@ -20,7 +20,6 @@ party_lang = fields.Many2One("ir.lang", 'Party Language',
class Configuration(ModelSingleton, ModelSQL, ModelView, MultiValueMixin):
- 'Party Configuration'
__name__ = 'party.configuration'
party_sequence = fields.MultiValue(party_sequence)
@@ -108,7 +107,6 @@ class Configuration(ModelSingleton, ModelSQL, ModelView, MultiValueMixin):
class ConfigurationSequence(ModelSQL, ValueMixin):
- 'Party Configuration Sequence'
__name__ = 'party.configuration.party_sequence'
party_sequence = party_sequence
@@ -118,6 +116,5 @@ class ConfigurationSequence(ModelSQL, ValueMixin):
class ConfigurationLang(ModelSQL, ValueMixin):
- 'Party Configuration Lang'
__name__ = 'party.configuration.party_lang'
party_lang = party_lang
diff --git a/modules/party/contact_mechanism.py b/modules/party/contact_mechanism.py
index 526f510b4d..4607507e83 100644
--- a/modules/party/contact_mechanism.py
+++ b/modules/party/contact_mechanism.py
@@ -68,7 +68,6 @@ class _ContactMechanismMixin:
class ContactMechanism(
DeactivableMixin, sequence_ordered(), ModelSQL, ModelView,
MultiValueMixin):
- "Contact Mechanism"
__name__ = 'party.contact_mechanism'
_rec_name = 'value'
@@ -352,7 +351,6 @@ class ContactMechanism(
class ContactMechanismLanguage(ModelSQL, ValueMixin):
- "Contact Mechanism Language"
__name__ = 'party.contact_mechanism.language'
contact_mechanism = fields.Many2One(
'party.contact_mechanism', "Contact Mechanism",
diff --git a/modules/party/party.py b/modules/party/party.py
index 7eb9b1ea7e..ceef77d222 100644
--- a/modules/party/party.py
+++ b/modules/party/party.py
@@ -32,7 +32,6 @@ logger = logging.getLogger(__name__)
class Party(
DeactivableMixin, _ContactMechanismMixin, ModelSQL, ModelView,
MultiValueMixin):
- "Party"
__name__ = 'party.party'
_contact_mechanism_states = {
@@ -433,7 +432,6 @@ class Party(
class PartyLang(ModelSQL, ValueMixin):
- "Party Lang"
__name__ = 'party.party.lang'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
@@ -441,7 +439,6 @@ class PartyLang(ModelSQL, ValueMixin):
class PartyCategory(ModelSQL):
- 'Party - Category'
__name__ = 'party.party-party.category'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE', required=True)
@@ -797,7 +794,6 @@ TAX_IDENTIFIER_TYPES = list(map(replace_vat, TAX_IDENTIFIER_TYPES))
class Identifier(sequence_ordered(), DeactivableMixin, ModelSQL, ModelView):
- 'Party Identifier'
__name__ = 'party.identifier'
_rec_name = 'code'
party = fields.Many2One(
@@ -918,7 +914,6 @@ class Identifier(sequence_ordered(), DeactivableMixin, ModelSQL, ModelView):
class CheckVIESResult(ModelView):
- 'Check VIES'
__name__ = 'party.check_vies.result'
parties_succeed = fields.Many2Many('party.party', None, None,
'Parties Succeed', readonly=True, states={
@@ -931,7 +926,6 @@ class CheckVIESResult(ModelView):
class CheckVIES(Wizard):
- 'Check VIES'
__name__ = 'party.check_vies'
start_state = 'check'
@@ -983,7 +977,6 @@ class CheckVIES(Wizard):
class Replace(Wizard):
- "Replace Party"
__name__ = 'party.replace'
start_state = 'ask'
ask = StateView('party.replace.ask', 'party.replace_ask_view_form', [
@@ -1086,7 +1079,6 @@ class Replace(Wizard):
class ReplaceAsk(ModelView):
- "Replace Party"
__name__ = 'party.replace.ask'
source = fields.Many2One('party.party', "Source", required=True,
help="The party to be replaced.")
@@ -1109,7 +1101,6 @@ class ReplaceAsk(ModelView):
class Erase(Wizard):
- "Erase Party"
__name__ = 'party.erase'
start_state = 'ask'
ask = StateView('party.erase.ask', 'party.erase_ask_view_form', [
@@ -1215,7 +1206,6 @@ class Erase(Wizard):
class EraseAsk(ModelView):
- "Erase Party"
__name__ = 'party.erase.ask'
party = fields.Many2One('party.party', "Party", required=True,
help="The party to be erased.")
diff --git a/modules/party_relationship/party.py b/modules/party_relationship/party.py
index 961443f274..f02d159d40 100644
--- a/modules/party_relationship/party.py
+++ b/modules/party_relationship/party.py
@@ -19,7 +19,6 @@ default_depth = config.getint('party_relationship', 'depth', default=7)
class RelationType(ModelSQL, ModelView):
- 'Relation Type'
__name__ = 'party.relation.type'
name = fields.Char('Name', required=True, translate=True,
@@ -41,7 +40,6 @@ class RelationType(ModelSQL, ModelView):
class Relation(ModelSQL):
- 'Party Relation'
__name__ = 'party.relation'
from_ = fields.Many2One(
@@ -126,7 +124,6 @@ class Relation(ModelSQL):
class RelationAll(Relation, ModelView):
- 'Party Relation'
__name__ = 'party.relation.all'
@classmethod
diff --git a/modules/product/category.py b/modules/product/category.py
index ce4be65e37..05f6e45628 100644
--- a/modules/product/category.py
+++ b/modules/product/category.py
@@ -12,7 +12,6 @@ from trytond.tools import is_full_text, lstrip_wildcard
class Category(tree(separator=' / '), ModelSQL, ModelView):
- "Product Category"
__name__ = "product.category"
name = fields.Char('Name', required=True, translate=True)
code = fields.Char(
diff --git a/modules/product/configuration.py b/modules/product/configuration.py
index f6bc3ea2e4..1d77b1caf9 100644
--- a/modules/product/configuration.py
+++ b/modules/product/configuration.py
@@ -20,7 +20,6 @@ def get_cost_price_methods(cls):
class Configuration(ModelSingleton, ModelSQL, ModelView, MultiValueMixin):
- 'Product Configuration'
__name__ = 'product.configuration'
default_cost_price_method = fields.MultiValue(default_cost_price_method)
@@ -49,7 +48,6 @@ class Configuration(ModelSingleton, ModelSQL, ModelView, MultiValueMixin):
class ConfigurationDefaultCostPriceMethod(ModelSQL, ValueMixin):
- "Product Configuration Default Cost Price Method"
__name__ = 'product.configuration.default_cost_price_method'
default_cost_price_method = default_cost_price_method
get_cost_price_methods = get_cost_price_methods
diff --git a/modules/product/product.py b/modules/product/product.py
index d27cdaaef8..e5d0955d1a 100644
--- a/modules/product/product.py
+++ b/modules/product/product.py
@@ -58,9 +58,7 @@ def round_price(value, rounding=None):
class Template(
DeactivableMixin, ModelSQL, ModelView, CompanyMultiValueMixin):
- "Product Template"
__name__ = "product.template"
- _order_name = 'rec_name'
name = fields.Char(
"Name", size=None, required=True, translate=True)
code_readonly = fields.Function(
@@ -380,7 +378,6 @@ class ProductDeactivatableMixin(TemplateDeactivatableMixin):
class Product(
TemplateDeactivatableMixin, tree('replaced_by'), ModelSQL, ModelView,
CompanyMultiValueMixin):
- "Product Variant"
__name__ = "product.product"
_order_name = 'rec_name'
template = fields.Many2One(
@@ -766,7 +763,6 @@ class Product(
class ProductListPrice(ModelSQL, CompanyValueMixin):
- "Product List Price"
__name__ = 'product.list_price'
template = fields.Many2One(
'product.template', "Template", ondelete='CASCADE',
@@ -783,7 +779,6 @@ class ProductListPrice(ModelSQL, CompanyValueMixin):
class ProductCostPriceMethod(ModelSQL, CompanyValueMixin):
- "Product Cost Price Method"
__name__ = 'product.cost_price_method'
template = fields.Many2One(
'product.template', "Template", ondelete='CASCADE',
@@ -805,7 +800,6 @@ class ProductCostPriceMethod(ModelSQL, CompanyValueMixin):
class ProductCostPrice(ModelSQL, CompanyValueMixin):
- "Product Cost Price"
__name__ = 'product.cost_price'
product = fields.Many2One(
'product.product', "Product", ondelete='CASCADE',
@@ -823,7 +817,6 @@ class ProductCostPrice(ModelSQL, CompanyValueMixin):
class TemplateCategory(ModelSQL):
- 'Template - Category'
__name__ = 'product.template-product.category'
template = fields.Many2One(
'product.template', "Template", ondelete='CASCADE', required=True)
@@ -832,7 +825,6 @@ class TemplateCategory(ModelSQL):
class TemplateCategoryAll(UnionMixin, ModelSQL):
- "Template - Category All"
__name__ = 'product.template-product.category.all'
template = fields.Many2One('product.template', "Template")
category = fields.Many2One('product.category', "Category")
@@ -843,7 +835,6 @@ class TemplateCategoryAll(UnionMixin, ModelSQL):
class ProductIdentifier(sequence_ordered(), ModelSQL, ModelView):
- "Product Identifier"
__name__ = 'product.identifier'
_rec_name = 'code'
product = fields.Many2One(
@@ -924,7 +915,6 @@ class ProductIdentifier(sequence_ordered(), ModelSQL, ModelView):
class ProductReplace(Wizard):
- "Replace Product"
__name__ = 'product.product.replace'
start_state = 'ask'
ask = StateView(
@@ -946,7 +936,6 @@ class ProductReplace(Wizard):
class ProductReplaceAsk(ModelView):
- "Replace Product"
__name__ = 'product.product.replace.ask'
source = fields.Many2One(
'product.product', "Source", required=True,
diff --git a/modules/product/uom.py b/modules/product/uom.py
index 5c7eff5079..f7eec3475c 100644
--- a/modules/product/uom.py
+++ b/modules/product/uom.py
@@ -21,7 +21,6 @@ uom_conversion_digits = (
class UomCategory(ModelSQL, ModelView):
- "Unit of Measure Category"
__name__ = 'product.uom.category'
name = fields.Char('Name', required=True, translate=True)
uoms = fields.One2Many('product.uom', 'category', "Units of Measure")
@@ -33,7 +32,6 @@ class UomCategory(ModelSQL, ModelView):
class Uom(SymbolMixin, DigitsMixin, DeactivableMixin, ModelSQL, ModelView):
- "Unit of Measure"
__name__ = 'product.uom'
name = fields.Char("Name", size=None, required=True, translate=True)
symbol = fields.Char(
diff --git a/modules/product_attribute/product.py b/modules/product_attribute/product.py
index e6f974ee34..dbf13289e2 100644
--- a/modules/product_attribute/product.py
+++ b/modules/product_attribute/product.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval
class AttributeSet(ModelSQL, ModelView, metaclass=PoolMeta):
- "Product Attribute Set"
__name__ = 'product.attribute.set'
name = fields.Char('Name', required=True, translate=True,
help="The main identifier of product attribute set.")
@@ -17,7 +16,6 @@ class AttributeSet(ModelSQL, ModelView, metaclass=PoolMeta):
class Attribute(DictSchemaMixin, ModelSQL, ModelView, metaclass=PoolMeta):
- "Product Attribute"
__name__ = 'product.attribute'
sets = fields.Many2Many('product.attribute-product.attribute-set',
'attribute', 'attribute_set', 'Sets',
@@ -25,7 +23,6 @@ class Attribute(DictSchemaMixin, ModelSQL, ModelView, metaclass=PoolMeta):
class AttributeAttributeSet(ModelSQL, metaclass=PoolMeta):
- "Product Attribute - Set"
__name__ = 'product.attribute-product.attribute-set'
attribute = fields.Many2One(
'product.attribute', "Attribute",
diff --git a/modules/product_classification/product.py b/modules/product_classification/product.py
index 52d5dd5e7f..c524f86838 100644
--- a/modules/product_classification/product.py
+++ b/modules/product_classification/product.py
@@ -71,12 +71,10 @@ class Product(metaclass=PoolMeta):
class ClassificationDummy(ClassificationMixin, ModelStorage, ModelView):
- 'Dummy Product Classification'
__name__ = 'product.classification.dummy'
class ClassificationTreeDummy(
classification_tree('product.classification_tree.dummy'),
ModelStorage, ModelView):
- 'Dummy Product Classification Tree'
__name__ = 'product.classification_tree.dummy'
diff --git a/modules/product_classification_taxonomic/product.py b/modules/product_classification_taxonomic/product.py
index 5d51117ce1..cc868d45e6 100644
--- a/modules/product_classification_taxonomic/product.py
+++ b/modules/product_classification_taxonomic/product.py
@@ -16,7 +16,6 @@ class Template(metaclass=PoolMeta):
class Taxon(classification_tree('product.taxon'), ModelSQL, ModelView):
- 'Taxon'
__name__ = 'product.taxon'
rank = fields.Selection([
(None, ""),
@@ -38,7 +37,6 @@ class Taxon(classification_tree('product.taxon'), ModelSQL, ModelView):
class Cultivar(ClassificationMixin, ModelSQL, ModelView):
- 'Cultivar'
__name__ = 'product.cultivar'
taxon = fields.Many2One('product.taxon', 'Taxon', required=True)
groups = fields.Many2Many('product.cultivar-product.cultivar.group',
@@ -46,7 +44,6 @@ class Cultivar(ClassificationMixin, ModelSQL, ModelView):
class CultivarGroup(DeactivableMixin, ModelSQL, ModelView):
- 'Cultivar Group'
__name__ = 'product.cultivar.group'
name = fields.Char('Name', translate=True)
cultivars = fields.Many2Many('product.cultivar-product.cultivar.group',
@@ -54,7 +51,6 @@ class CultivarGroup(DeactivableMixin, ModelSQL, ModelView):
class Cultivar_CultivarGroup(ModelSQL):
- 'Cultivar-CultivarGroup'
__name__ = 'product.cultivar-product.cultivar.group'
cultivar = fields.Many2One(
'product.cultivar', "Cultivar", required=True)
diff --git a/modules/product_cost_history/product.py b/modules/product_cost_history/product.py
index 0755025bcc..fe9695c992 100644
--- a/modules/product_cost_history/product.py
+++ b/modules/product_cost_history/product.py
@@ -61,7 +61,6 @@ class CostPrice(metaclass=PoolMeta):
class ProductCostHistory(ModelSQL, ModelView):
- 'History of Product Cost'
__name__ = 'product.product.cost_history'
product = fields.Many2One('product.product', "Product")
date = fields.Date('Date')
diff --git a/modules/product_cost_warehouse/ir.py b/modules/product_cost_warehouse/ir.py
index 681ef59d37..04ad64679f 100644
--- a/modules/product_cost_warehouse/ir.py
+++ b/modules/product_cost_warehouse/ir.py
@@ -28,7 +28,6 @@ class Cron(metaclass=PoolMeta):
class CronWarehouse(ModelSQL):
- "Cron - Warehouse"
__name__ = 'ir.cron-stock.warehouse'
cron = fields.Many2One(
'ir.cron', "Cron", ondelete='CASCADE', required=True)
diff --git a/modules/product_cost_warehouse/product.py b/modules/product_cost_warehouse/product.py
index b58a637b77..dc1dc4b9e1 100644
--- a/modules/product_cost_warehouse/product.py
+++ b/modules/product_cost_warehouse/product.py
@@ -23,7 +23,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationCostPriceWarehouse(ModelSQL, CompanyValueMixin):
- "Product Configuration Cost Price per Warehouse"
__name__ = 'product.configuration.cost_price_warehouse'
cost_price_warehouse = cost_price_warehouse
diff --git a/modules/product_image/product.py b/modules/product_image/product.py
index 5af8bac9e5..9979decd76 100644
--- a/modules/product_image/product.py
+++ b/modules/product_image/product.py
@@ -207,7 +207,6 @@ class ImageMixin(_ImageMixin):
class Image(ImageMixin, sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Product Image"
__name__ = 'product.image'
template = fields.Many2One(
'product.template', "Product",
@@ -256,7 +255,6 @@ class ImageCacheMixin(_ImageMixin):
class ImageCache(ImageCacheMixin, ModelSQL):
- "Product Image Cache"
__name__ = 'product.image.cache'
product_image = fields.Many2One(
'product.image', "Product Image", required=True, ondelete='CASCADE')
@@ -295,7 +293,6 @@ class Category(ImageURLMixin, metaclass=PoolMeta):
class CategoryImage(
ImageMixin, sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Category Image"
__name__ = 'product.category.image'
category = fields.Many2One(
'product.category', "Category",
@@ -316,7 +313,6 @@ class CategoryImage(
class CategoryImageCache(ImageCacheMixin, ModelSQL):
- "Category Image Cache"
__name__ = 'product.category.image.cache'
category_image = fields.Many2One(
'product.category.image', "Category Image", required=True,
diff --git a/modules/product_kit/product.py b/modules/product_kit/product.py
index fb33c0711e..776fd8758b 100644
--- a/modules/product_kit/product.py
+++ b/modules/product_kit/product.py
@@ -219,7 +219,6 @@ class ComponentMixin(sequence_ordered(), ModelStorage):
class Component(ComponentMixin, ModelSQL, ModelView):
- "Product Component"
__name__ = "product.component"
parent_template = fields.Many2One(
diff --git a/modules/product_kit/purchase.py b/modules/product_kit/purchase.py
index 384b99f8cd..5e4cd1e991 100644
--- a/modules/product_kit/purchase.py
+++ b/modules/product_kit/purchase.py
@@ -76,7 +76,6 @@ class Line(order_line_mixin('purchase'), metaclass=PoolMeta):
class LineComponent(
order_line_component_mixin('purchase'), ComponentMixin,
ModelSQL, ModelView):
- "Purchase Line Component"
__name__ = 'purchase.line.component'
def get_move(self, move_type):
@@ -152,7 +151,6 @@ class LineComponent(
class LineComponentIgnoredMove(ModelSQL):
- 'Purchase Line Component - Ignored Move'
__name__ = 'purchase.line.component-ignored-stock.move'
component = fields.Many2One(
'purchase.line.component', "Component",
@@ -162,7 +160,6 @@ class LineComponentIgnoredMove(ModelSQL):
class LineComponentRecreatedMove(ModelSQL):
- 'Purchase Line Component - Recreated Move'
__name__ = 'purchase.line.component-recreated-stock.move'
component = fields.Many2One(
'purchase.line.component', "Component",
diff --git a/modules/product_kit/sale.py b/modules/product_kit/sale.py
index 267e605fa2..58f9aa4d87 100644
--- a/modules/product_kit/sale.py
+++ b/modules/product_kit/sale.py
@@ -70,7 +70,6 @@ class Line(order_line_mixin('sale'), metaclass=PoolMeta):
class LineComponent(
order_line_component_mixin('sale'), ComponentMixin,
ModelSQL, ModelView):
- "Sale Line Component"
__name__ = 'sale.line.component'
@property
@@ -178,7 +177,6 @@ class LineComponent(
class LineComponentIgnoredMove(ModelSQL):
- 'Sale Line Component - Ignored Move'
__name__ = 'sale.line.component-ignored-stock.move'
component = fields.Many2One(
'sale.line.component', "Component",
@@ -188,7 +186,6 @@ class LineComponentIgnoredMove(ModelSQL):
class LineComponentRecreatedMove(ModelSQL):
- 'Sale Line Component - Recreated Move'
__name__ = 'sale.line.component-recreated-stock.move'
component = fields.Many2One(
'sale.line.component', "Sale Line Component",
diff --git a/modules/product_price_list/price_list.py b/modules/product_price_list/price_list.py
index f7d2f9c02b..e1b3563c04 100644
--- a/modules/product_price_list/price_list.py
+++ b/modules/product_price_list/price_list.py
@@ -41,7 +41,6 @@ for op in _OPERATORS:
class PriceList(DeactivableMixin, ModelSQL, ModelView):
- 'Price List'
__name__ = 'product.price_list'
name = fields.Char('Name', required=True, translate=True,
@@ -144,7 +143,6 @@ class PriceList(DeactivableMixin, ModelSQL, ModelView):
class PriceListLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Price List Line'
__name__ = 'product.price_list.line'
price_list = fields.Many2One('product.price_list', 'Price List',
@@ -226,5 +224,4 @@ class PriceListLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
class PriceListLineContext(ModelView):
- "Price List Line Context"
__name__ = 'product.price_list.line.context'
diff --git a/modules/product_price_list_cache/product.py b/modules/product_price_list_cache/product.py
index b78753508d..462398e7a0 100644
--- a/modules/product_price_list_cache/product.py
+++ b/modules/product_price_list_cache/product.py
@@ -88,7 +88,6 @@ class PriceList(metaclass=PoolMeta):
class PriceListCache(ModelSQL):
- "Price List Cache"
__name__ = 'product.price_list.cache'
price_list = fields.Many2One(
diff --git a/modules/production/bom.py b/modules/production/bom.py
index a7427282b8..62ab654acb 100644
--- a/modules/production/bom.py
+++ b/modules/production/bom.py
@@ -11,7 +11,6 @@ from trytond.wizard import Button, StateView, Wizard
class BOM(DeactivableMixin, ModelSQL, ModelView):
- "Bill of Material"
__name__ = 'production.bom'
name = fields.Char('Name', required=True, translate=True)
@@ -116,7 +115,6 @@ class BOM(DeactivableMixin, ModelSQL, ModelView):
class BOMInput(ModelSQL, ModelView):
- "Bill of Material Input"
__name__ = 'production.bom.input'
bom = fields.Many2One(
@@ -198,8 +196,8 @@ class BOMInput(ModelSQL, ModelView):
class BOMOutput(BOMInput):
- "Bill of Material Output"
__name__ = 'production.bom.output'
+ __string__ = None
_table = None # Needed to override BOMInput._table
def compute_quantity(self, factor):
@@ -230,7 +228,6 @@ class BOMOutput(BOMInput):
class BOMTree(ModelView):
- 'BOM Tree'
__name__ = 'production.bom.tree'
product = fields.Many2One('product.product', 'Product')
@@ -270,7 +267,6 @@ class BOMTree(ModelView):
class OpenBOMTreeStart(ModelView):
- 'Open BOM Tree'
__name__ = 'production.bom.tree.open.start'
quantity = fields.Float('Quantity', digits='unit', required=True)
@@ -289,7 +285,6 @@ class OpenBOMTreeStart(ModelView):
class OpenBOMTreeTree(ModelView):
- 'Open BOM Tree'
__name__ = 'production.bom.tree.open.tree'
bom_tree = fields.One2Many('production.bom.tree', None, 'BOM Tree',
@@ -319,7 +314,6 @@ class OpenBOMTreeTree(ModelView):
class OpenBOMTree(Wizard):
- 'Open BOM Tree'
__name__ = 'production.bom.tree.open'
start = StateView('production.bom.tree.open.start',
diff --git a/modules/production/configuration.py b/modules/production/configuration.py
index af9d5191a3..69a5552ac9 100644
--- a/modules/production/configuration.py
+++ b/modules/production/configuration.py
@@ -9,7 +9,6 @@ from trytond.pyson import Eval, Id
class Configuration(
ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Production Configuration'
__name__ = 'production.configuration'
production_sequence = fields.MultiValue(fields.Many2One(
@@ -34,7 +33,6 @@ class Configuration(
class ConfigurationProductionSequence(ModelSQL, CompanyValueMixin):
- "Production Configuration Production Sequence"
__name__ = 'production.configuration.production_sequence'
production_sequence = fields.Many2One(
'ir.sequence', "Production Sequence", required=True,
diff --git a/modules/production/product.py b/modules/production/product.py
index 1e67064975..232ad62753 100644
--- a/modules/production/product.py
+++ b/modules/production/product.py
@@ -85,7 +85,6 @@ class Product(metaclass=PoolMeta):
class ProductBom(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
- 'Product - BOM'
__name__ = 'product.product-production.bom'
product = fields.Many2One(
@@ -110,7 +109,6 @@ class ProductBom(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
class ProductionLeadTime(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Production Lead Time'
__name__ = 'production.lead_time'
product = fields.Many2One(
diff --git a/modules/production/production.py b/modules/production/production.py
index e27e867b28..54f238edb2 100644
--- a/modules/production/production.py
+++ b/modules/production/production.py
@@ -23,7 +23,6 @@ from .exceptions import CostWarning
class Production(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
- "Production"
__name__ = 'production'
_rec_name = 'number'
_assign_moves_field = 'inputs'
diff --git a/modules/production_routing/routing.py b/modules/production_routing/routing.py
index 53adc2ad5e..a79509c801 100644
--- a/modules/production_routing/routing.py
+++ b/modules/production_routing/routing.py
@@ -5,7 +5,6 @@ from trytond.model import (
class Routing(DeactivableMixin, ModelSQL, ModelView):
- 'Routing'
__name__ = 'production.routing'
name = fields.Char('Name', required=True, translate=True)
steps = fields.One2Many('production.routing.step', 'routing', 'Steps')
@@ -14,13 +13,11 @@ class Routing(DeactivableMixin, ModelSQL, ModelView):
class RoutingOperation(DeactivableMixin, ModelSQL, ModelView):
- 'Operation'
__name__ = 'production.routing.operation'
name = fields.Char('Operation', required=True, translate=True)
class RoutingStep(sequence_ordered(), ModelSQL, ModelView):
- 'Route'
__name__ = 'production.routing.step'
operation = fields.Many2One('production.routing.operation', 'Operation',
required=True)
@@ -41,7 +38,6 @@ class RoutingStep(sequence_ordered(), ModelSQL, ModelView):
class Routing_BOM(ModelSQL):
- 'Routing - BOM'
__name__ = 'production.routing-production.bom'
routing = fields.Many2One('production.routing', 'Routing', required=True)
bom = fields.Many2One('production.bom', 'BOM', required=True)
diff --git a/modules/production_split/production.py b/modules/production_split/production.py
index 18fee34996..9a31828729 100644
--- a/modules/production_split/production.py
+++ b/modules/production_split/production.py
@@ -70,7 +70,6 @@ class Production(metaclass=PoolMeta):
class SplitProduction(Wizard):
- 'Split Production'
__name__ = 'production.split'
start = StateView('production.split.start',
'production_split.split_start_view_form', [
@@ -92,7 +91,6 @@ class SplitProduction(Wizard):
class SplitProductionStart(ModelView):
- 'Split Production'
__name__ = 'production.split.start'
count = fields.Integer('Count', help='The limit number of productions')
quantity = fields.Float("Quantity", digits='unit', required=True)
diff --git a/modules/production_work/work.py b/modules/production_work/work.py
index 58e1627257..b334acb1d7 100644
--- a/modules/production_work/work.py
+++ b/modules/production_work/work.py
@@ -26,13 +26,11 @@ from .exceptions import PickerError
class WorkCenterCategory(ModelSQL, ModelView):
- 'Work Center Category'
__name__ = 'production.work.center.category'
name = fields.Char('Name', required=True, translate=True)
class WorkCenter(DeactivableMixin, tree(separator=' / '), ModelSQL, ModelView):
- 'Work Center'
__name__ = 'production.work.center'
name = fields.Char('Name', required=True, translate=True)
parent = fields.Many2One('production.work.center', 'Parent',
@@ -102,7 +100,6 @@ class WorkCenter(DeactivableMixin, tree(separator=' / '), ModelSQL, ModelView):
class Work(sequence_ordered(), ModelSQL, ModelView):
- 'Production Work'
__name__ = 'production.work'
operation = fields.Many2One('production.routing.operation', 'Operation',
required=True)
@@ -308,7 +305,6 @@ def set_work_state(func):
class WorkCycle(Workflow, ModelSQL, ModelView):
- 'Work Cycle'
__name__ = 'production.work.cycle'
work = fields.Many2One(
'production.work', "Work", required=True, ondelete='CASCADE')
diff --git a/modules/project/work.py b/modules/project/work.py
index 54cd1238d9..5601a8e868 100644
--- a/modules/project/work.py
+++ b/modules/project/work.py
@@ -17,7 +17,6 @@ from .exceptions import WorkProgressValidationError
class WorkStatus(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
- 'Work Status'
__name__ = 'project.work.status'
_get_default_status_cache = Cache('project_work_status.get_default_status')
@@ -118,7 +117,6 @@ class WorkStatus(DeactivableMixin, sequence_ordered(), ModelSQL, ModelView):
class Work(sequence_ordered(), tree(separator='\\'), ModelSQL, ModelView):
- 'Work Effort'
__name__ = 'project.work'
name = fields.Char("Name", required=True)
type = fields.Selection([
diff --git a/modules/project_invoice/project.py b/modules/project_invoice/project.py
index 8033ca8129..3425186995 100644
--- a/modules/project_invoice/project.py
+++ b/modules/project_invoice/project.py
@@ -665,7 +665,6 @@ class Work(Effort, Progress, Timesheet, metaclass=PoolMeta):
class WorkInvoicedProgress(ModelView, ModelSQL):
- 'Work Invoiced Progress'
__name__ = 'project.work.invoiced_progress'
work = fields.Many2One('project.work', "Work", ondelete='RESTRICT')
progress = fields.Float('Progress', required=True,
@@ -700,7 +699,6 @@ class WorkInvoicedProgress(ModelView, ModelSQL):
class OpenInvoice(Wizard):
- 'Open Invoice'
__name__ = 'project.open_invoice'
start_state = 'open_'
open_ = StateAction('account_invoice.act_invoice_form')
diff --git a/modules/project_plan/allocation.py b/modules/project_plan/allocation.py
index 667a943474..d34665a4ee 100644
--- a/modules/project_plan/allocation.py
+++ b/modules/project_plan/allocation.py
@@ -5,7 +5,6 @@ from trytond.pool import Pool
class Allocation(ModelSQL, ModelView):
- 'Allocation'
__name__ = 'project.allocation'
employee = fields.Many2One(
'company.employee', "Employee", required=True, ondelete='CASCADE')
diff --git a/modules/project_plan/work.py b/modules/project_plan/work.py
index 902f8b38f5..ea9353bc5d 100644
--- a/modules/project_plan/work.py
+++ b/modules/project_plan/work.py
@@ -588,7 +588,6 @@ class Work(tree(parent='successors'), metaclass=PoolMeta):
class PredecessorSuccessor(ModelSQL):
- 'Predecessor - Successor'
__name__ = 'project.predecessor_successor'
predecessor = fields.Many2One(
'project.work', "Predecessor", ondelete='CASCADE', required=True)
@@ -642,7 +641,6 @@ class PredecessorSuccessor(ModelSQL):
class Leveling(Wizard):
- 'Tasks Leveling'
__name__ = 'project_plan.work.leveling'
start_state = 'leveling'
leveling = StateTransition()
diff --git a/modules/purchase/configuration.py b/modules/purchase/configuration.py
index 3d946bf1a8..c9ffdba9bd 100644
--- a/modules/purchase/configuration.py
+++ b/modules/purchase/configuration.py
@@ -22,7 +22,6 @@ def get_purchase_methods(field_name):
class Configuration(
ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Purchase Configuration'
__name__ = 'purchase.configuration'
purchase_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', "Purchase Sequence", required=True,
@@ -65,7 +64,6 @@ class Configuration(
class ConfigurationSequence(ModelSQL, CompanyValueMixin):
- "Purchase Configuration Sequence"
__name__ = 'purchase.configuration.sequence'
purchase_sequence = fields.Many2One(
'ir.sequence', "Purchase Sequence", required=True,
@@ -86,7 +84,6 @@ class ConfigurationSequence(ModelSQL, CompanyValueMixin):
class ConfigurationPurchaseMethod(ModelSQL, ValueMixin):
- "Purchase Configuration Purchase Method"
__name__ = 'purchase.configuration.purchase_method'
purchase_invoice_method = purchase_invoice_method
get_purchase_invoice_method = get_purchase_methods('invoice_method')
diff --git a/modules/purchase/party.py b/modules/purchase/party.py
index 9794804b98..5d6174c88f 100644
--- a/modules/purchase/party.py
+++ b/modules/purchase/party.py
@@ -38,7 +38,6 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
class CustomerCode(ModelSQL, CompanyValueMixin):
- "Party Customer Code"
__name__ = 'party.party.customer_code'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
@@ -50,7 +49,6 @@ class CustomerCode(ModelSQL, CompanyValueMixin):
class SupplierLeadTime(ModelSQL, CompanyValueMixin):
- "Supplier Lead Time"
__name__ = 'party.party.supplier_lead_time'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
@@ -62,7 +60,6 @@ class SupplierLeadTime(ModelSQL, CompanyValueMixin):
class PartySupplierCurrency(ModelSQL, ValueMixin):
- "Party Supplier Currency"
__name__ = 'party.party.supplier_currency'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/purchase/product.py b/modules/purchase/product.py
index 8490b130d3..bdf3a1fc36 100644
--- a/modules/purchase/product.py
+++ b/modules/purchase/product.py
@@ -310,7 +310,6 @@ class Product(metaclass=PoolMeta):
class ProductSupplier(
sequence_ordered(), ProductDeactivatableMixin, MatchMixin,
ModelSQL, ModelView):
- 'Product Supplier'
__name__ = 'purchase.product_supplier'
template = fields.Many2One(
'product.template', "Product",
@@ -515,7 +514,6 @@ class ProductSupplier(
class ProductSupplierPrice(
sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Product Supplier Price'
__name__ = 'purchase.product_supplier.price'
product_supplier = fields.Many2One('purchase.product_supplier',
'Supplier', required=True, ondelete='CASCADE')
diff --git a/modules/purchase/purchase.py b/modules/purchase/purchase.py
index 21e1e3232d..2ddaa1ec80 100644
--- a/modules/purchase/purchase.py
+++ b/modules/purchase/purchase.py
@@ -71,7 +71,6 @@ def search_shipments_returns(model_name):
class Purchase(
Workflow, ModelSQL, ModelView, TaxableMixin,
AttachmentCopyMixin, NoteCopyMixin):
- 'Purchase'
__name__ = 'purchase.purchase'
_rec_name = 'number'
@@ -1089,7 +1088,6 @@ class Purchase(
class PurchaseIgnoredInvoice(ModelSQL):
- 'Purchase - Ignored Invoice'
__name__ = 'purchase.purchase-ignored-account.invoice'
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True)
@@ -1109,7 +1107,6 @@ class PurchaseIgnoredInvoice(ModelSQL):
class PurchaseRecreatedInvoice(ModelSQL):
- 'Purchase - Recreated Invoice'
__name__ = 'purchase.purchase-recreated-account.invoice'
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True)
@@ -1129,7 +1126,6 @@ class PurchaseRecreatedInvoice(ModelSQL):
class Line(sequence_ordered(), ModelSQL, ModelView):
- 'Purchase Line'
__name__ = 'purchase.line'
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True,
@@ -2135,7 +2131,6 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
class LineTax(ModelSQL):
- 'Purchase Line - Tax'
__name__ = 'purchase.line-account.tax'
line = fields.Many2One(
'purchase.line', "Purchase Line", ondelete='CASCADE', required=True,
@@ -2162,7 +2157,6 @@ class LineTax(ModelSQL):
class LineIgnoredMove(ModelSQL):
- 'Purchase Line - Ignored Move'
__name__ = 'purchase.line-ignored-stock.move'
purchase_line = fields.Many2One(
'purchase.line', "Purchase Line", ondelete='CASCADE', required=True)
@@ -2182,7 +2176,6 @@ class LineIgnoredMove(ModelSQL):
class LineRecreatedMove(ModelSQL):
- 'Purchase Line - Ignored Move'
__name__ = 'purchase.line-recreated-stock.move'
purchase_line = fields.Many2One(
'purchase.line', "Purchase Line", ondelete='CASCADE', required=True)
@@ -2222,7 +2215,6 @@ class PurchaseReport(CompanyReport):
class HandleShipmentExceptionAsk(ModelView):
- 'Handle Shipment Exception'
__name__ = 'purchase.handle.shipment.exception.ask'
recreate_moves = fields.Many2Many(
'stock.move', None, None, "Stock Moves to Recreate",
@@ -2243,7 +2235,6 @@ class HandleShipmentExceptionAsk(ModelView):
class HandleShipmentException(Wizard):
- 'Handle Shipment Exception'
__name__ = 'purchase.handle.shipment.exception'
start_state = 'ask'
ask = StateView('purchase.handle.shipment.exception.ask',
@@ -2291,7 +2282,6 @@ class HandleShipmentException(Wizard):
class HandleInvoiceExceptionAsk(ModelView):
- 'Handle Invoice Exception'
__name__ = 'purchase.handle.invoice.exception.ask'
recreate_invoices = fields.Many2Many(
'account.invoice', None, None, "Invoices to Recreate",
@@ -2312,7 +2302,6 @@ class HandleInvoiceExceptionAsk(ModelView):
class HandleInvoiceException(Wizard):
- 'Handle Invoice Exception'
__name__ = 'purchase.handle.invoice.exception'
start_state = 'ask'
ask = StateView('purchase.handle.invoice.exception.ask',
@@ -2362,7 +2351,6 @@ class ModifyHeaderStateView(StateView):
class ModifyHeader(Wizard):
- "Modify Header"
__name__ = 'purchase.modify_header'
start = ModifyHeaderStateView('purchase.purchase',
'purchase.modify_header_form', [
@@ -2415,12 +2403,10 @@ class ModifyHeader(Wizard):
class ReturnPurchaseStart(ModelView):
- "Return Purchase"
__name__ = 'purchase.return_purchase.start'
class ReturnPurchase(Wizard):
- "Return Purchase"
__name__ = 'purchase.return_purchase'
start = StateView('purchase.return_purchase.start',
'purchase.return_purchase_start_view_form', [
diff --git a/modules/purchase/purchase_reporting.py b/modules/purchase/purchase_reporting.py
index e55c5bd9dd..46ffaf0f25 100644
--- a/modules/purchase/purchase_reporting.py
+++ b/modules/purchase/purchase_reporting.py
@@ -164,7 +164,6 @@ class AbstractTimeseries(Abstract):
class Context(ModelView):
- "Purchase Reporting Context"
__name__ = 'purchase.reporting.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -225,7 +224,6 @@ class Context(ModelView):
class Main(Abstract, ModelView):
- "Purchase Reporting"
__name__ = 'purchase.reporting.main'
time_series = fields.Function(fields.One2Many(
@@ -243,7 +241,6 @@ class Main(Abstract, ModelView):
class MainTimeseries(AbstractTimeseries, ModelView):
- "Purchase Reporting"
__name__ = 'purchase.reporting.main.time_series'
@@ -275,7 +272,6 @@ class SupplierMixin(object):
class Supplier(SupplierMixin, Abstract, ModelView):
- "Purchase Reporting per Supplier"
__name__ = 'purchase.reporting.supplier'
time_series = fields.One2Many(
@@ -294,7 +290,6 @@ class Supplier(SupplierMixin, Abstract, ModelView):
class SupplierTimeseries(SupplierMixin, AbstractTimeseries, ModelView):
- "Purchase Reporting per Supplier"
__name__ = 'purchase.reporting.supplier.time_series'
@@ -350,7 +345,6 @@ class ProductMixin(object):
class Product(ProductMixin, Abstract, ModelView):
- "Purchase Reporting per Product"
__name__ = 'purchase.reporting.product'
time_series = fields.One2Many(
@@ -369,5 +363,4 @@ class Product(ProductMixin, Abstract, ModelView):
class ProductTimeseries(ProductMixin, AbstractTimeseries, ModelView):
- "Purchase Reporting per Product"
__name__ = 'purchase.reporting.product.time_series'
diff --git a/modules/purchase_amendment/purchase.py b/modules/purchase_amendment/purchase.py
index 7bfc70cca7..afadee2e3b 100644
--- a/modules/purchase_amendment/purchase.py
+++ b/modules/purchase_amendment/purchase.py
@@ -34,7 +34,6 @@ class Purchase(metaclass=PoolMeta):
class Amendment(Workflow, ModelSQL, ModelView):
- "Purchase Amendment"
__name__ = 'purchase.amendment'
purchase = fields.Many2One(
@@ -162,7 +161,6 @@ class Amendment(Workflow, ModelSQL, ModelView):
class AmendmentLine(ModelSQL, ModelView):
- "Purchase Amendment Line"
__name__ = 'purchase.amendment.line'
amendment = fields.Many2One(
diff --git a/modules/purchase_blanket_agreement/purchase.py b/modules/purchase_blanket_agreement/purchase.py
index cf05404aaa..559bc8598c 100644
--- a/modules/purchase_blanket_agreement/purchase.py
+++ b/modules/purchase_blanket_agreement/purchase.py
@@ -57,7 +57,6 @@ def blanket_agreement_quantity_warning():
class Configuration(metaclass=PoolMeta):
- "Purchase Configuration"
__name__ = 'purchase.configuration'
blanket_agreement_sequence = fields.MultiValue(fields.Many2One(
@@ -86,7 +85,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationSequence(metaclass=PoolMeta):
- "Purchase Configuration Sequence"
__name__ = 'purchase.configuration.sequence'
blanket_agreement_sequence = fields.Many2One(
'ir.sequence', "Blanket Agreement Sequence", required=True,
@@ -109,7 +107,6 @@ class ConfigurationSequence(metaclass=PoolMeta):
class BlanketAgreement(Workflow, ModelSQL, ModelView):
- "Purchase Blanket Agreement"
__name__ = 'purchase.blanket_agreement'
_rec_name = 'number'
@@ -431,7 +428,6 @@ class BlanketAgreement(Workflow, ModelSQL, ModelView):
class BlanketAgreementLine(ModelSQL, ModelView):
- "Purchase Blanket Agreement Line"
__name__ = 'purchase.blanket_agreement.line'
_states = {
@@ -848,7 +844,6 @@ class Line(metaclass=PoolMeta):
class BlanketAgreementCreatePurchase(Wizard):
- "Create Purchase"
__name__ = 'purchase.blanket_agreement.create_purchase'
start = StateView(
'purchase.blanket_agreement.create_purchase.start',
@@ -878,7 +873,6 @@ class BlanketAgreementCreatePurchase(Wizard):
class BlanketAgreementCreatePurchaseStart(ModelView):
- "Create Purchase"
__name__ = 'purchase.blanket_agreement.create_purchase.start'
blanket_agreement = fields.Many2One(
diff --git a/modules/purchase_invoice_line_standalone/party.py b/modules/purchase_invoice_line_standalone/party.py
index eb29018d55..c62692a8d3 100644
--- a/modules/purchase_invoice_line_standalone/party.py
+++ b/modules/purchase_invoice_line_standalone/party.py
@@ -20,7 +20,6 @@ class Party(metaclass=PoolMeta):
class PartyPurchaseInvoiceLineStandalone(ModelSQL, ValueMixin):
- "Party Purchase Invoice Line Standalone"
__name__ = 'party.party.purchase_invoice_line_standalone'
party = fields.Many2One(
diff --git a/modules/purchase_invoice_line_standalone/purchase.py b/modules/purchase_invoice_line_standalone/purchase.py
index edc3801fa6..6c5b320107 100644
--- a/modules/purchase_invoice_line_standalone/purchase.py
+++ b/modules/purchase_invoice_line_standalone/purchase.py
@@ -70,7 +70,6 @@ class Purchase(metaclass=PoolMeta):
class PurchaseIgnoredInvoiceLine(ModelSQL):
- 'Purchase - Ignored Invoice Line'
__name__ = 'purchase.purchase-ignored-account.invoice.line'
purchase = fields.Many2One(
'purchase.purchase', "Purchase", ondelete='CASCADE', required=True)
diff --git a/modules/purchase_price_list/party.py b/modules/purchase_price_list/party.py
index 2269a723ea..a60495d267 100644
--- a/modules/purchase_price_list/party.py
+++ b/modules/purchase_price_list/party.py
@@ -22,7 +22,6 @@ class Party(metaclass=PoolMeta):
class PartyPurchasePriceList(ModelSQL, CompanyValueMixin):
- "Party Purchase Price List"
__name__ = 'party.party.purchase_price_list'
party = fields.Many2One(
diff --git a/modules/purchase_request/purchase_request.py b/modules/purchase_request/purchase_request.py
index a2ded88dc8..626391f8d5 100644
--- a/modules/purchase_request/purchase_request.py
+++ b/modules/purchase_request/purchase_request.py
@@ -24,7 +24,6 @@ STATES = {
class PurchaseRequest(ModelSQL, ModelView):
- 'Purchase Request'
__name__ = 'purchase.request'
product = fields.Many2One(
@@ -346,7 +345,6 @@ class PurchaseRequest(ModelSQL, ModelView):
class CreatePurchaseAskParty(ModelView):
- 'Create Purchase Ask Party'
__name__ = 'purchase.request.create_purchase.ask_party'
product = fields.Many2One('product.product', 'Product', readonly=True)
description = fields.Text('Description', readonly=True)
@@ -355,7 +353,6 @@ class CreatePurchaseAskParty(ModelView):
class CreatePurchase(Wizard):
- 'Create Purchase'
__name__ = 'purchase.request.create_purchase'
start = StateTransition()
ask_party = StateView('purchase.request.create_purchase.ask_party',
@@ -525,7 +522,6 @@ class CreatePurchase(Wizard):
class HandlePurchaseCancellationException(Wizard):
- 'Handle Purchase Cancellation Exception'
__name__ = 'purchase.request.handle.purchase.cancellation'
start = StateView('purchase.request.handle.purchase.cancellation.start',
@@ -552,5 +548,4 @@ class HandlePurchaseCancellationException(Wizard):
class HandlePurchaseCancellationExceptionStart(ModelView):
- 'Handle Purchase Cancellation Exception - Start'
__name__ = 'purchase.request.handle.purchase.cancellation.start'
diff --git a/modules/purchase_request_quotation/purchase.py b/modules/purchase_request_quotation/purchase.py
index 19ee2448df..6c946523d3 100644
--- a/modules/purchase_request_quotation/purchase.py
+++ b/modules/purchase_request_quotation/purchase.py
@@ -85,7 +85,6 @@ class ConfigurationSequence(metaclass=PoolMeta):
class Quotation(Workflow, ModelSQL, ModelView):
- "Purchase Request For Quotation"
__name__ = 'purchase.request.quotation'
_rec_name = 'number'
@@ -279,7 +278,6 @@ class Quotation(Workflow, ModelSQL, ModelView):
class QuotationLine(ModelSQL, ModelView):
- "Purchase Request For Quotation Line"
__name__ = 'purchase.request.quotation.line'
supplier = fields.Function(fields.Many2One('party.party', 'Supplier'),
@@ -451,7 +449,6 @@ class PurchaseRequestQuotationReport(CompanyReport):
class CreatePurchaseRequestQuotationAskSuppliers(ModelView):
- 'Create Purchase Request Quotation Ask Suppliers'
__name__ = 'purchase.request.quotation.create.ask_suppliers'
suppliers = fields.Many2Many('party.party', None, None, 'Suppliers',
@@ -459,7 +456,6 @@ class CreatePurchaseRequestQuotationAskSuppliers(ModelView):
class CreatePurchaseRequestQuotationSucceed(ModelView):
- 'Create Purchase Request Quotation Succeed'
__name__ = 'purchase.request.quotation.create.succeed'
number_quotations = fields.Integer('Number of Created Quotations',
@@ -467,7 +463,6 @@ class CreatePurchaseRequestQuotationSucceed(ModelView):
class CreatePurchaseRequestQuotation(Wizard):
- 'Create Purchase Request Quotation'
__name__ = 'purchase.request.quotation.create'
start = StateTransition()
@@ -630,7 +625,6 @@ class PurchaseRequest(metaclass=PoolMeta):
class CreatePurchase(Wizard):
- 'Create Purchase'
__name__ = 'purchase.request.create_purchase'
init = StateTransition()
diff --git a/modules/purchase_requisition/purchase.py b/modules/purchase_requisition/purchase.py
index 873e5093b9..4c536a8ffb 100644
--- a/modules/purchase_requisition/purchase.py
+++ b/modules/purchase_requisition/purchase.py
@@ -69,7 +69,6 @@ class ConfigurationSequence(metaclass=PoolMeta):
class PurchaseRequisition(Workflow, ModelSQL, ModelView):
- "Purchase Requisition"
__name__ = 'purchase.requisition'
_rec_name = 'number'
_states = {
@@ -424,7 +423,6 @@ class PurchaseRequisition(Workflow, ModelSQL, ModelView):
class PurchaseRequisitionLine(sequence_ordered(), ModelSQL, ModelView):
- "Purchase Requisition Line"
__name__ = 'purchase.requisition.line'
_states = {
'readonly': Eval('purchase_requisition_state') != 'draft',
@@ -680,7 +678,6 @@ class HandlePurchaseCancellationException(metaclass=PoolMeta):
class CreatePurchase(Wizard):
- 'Create Purchase'
__name__ = 'purchase.request.create_purchase'
def _group_purchase_line_key(self, request):
diff --git a/modules/quality/quality.py b/modules/quality/quality.py
index 5a64140d59..79141bc765 100644
--- a/modules/quality/quality.py
+++ b/modules/quality/quality.py
@@ -25,7 +25,6 @@ from .exceptions import InspectionError, InspectionValidationError
class Configuration(
ModelSingleton, CompanyMultiValueMixin, ModelSQL, ModelView):
- "Quality Configuration"
__name__ = 'quality.configuration'
inspection_sequence = fields.MultiValue(fields.Many2One(
@@ -68,7 +67,6 @@ class Configuration(
class ConfigurationSequence(CompanyValueMixin, ModelSQL):
- "Quality Configuration Sequence"
__name__ = 'quality.configuration.sequence'
inspection_sequence = fields.Many2One(
'ir.sequence', "Inspection Sequence", required=True,
@@ -160,7 +158,6 @@ class ControlledMixin(ModelStorage):
class Control(DeactivableMixin, MatchMixin, ModelSQL, ModelView):
- "Quality Control"
__name__ = 'quality.control'
name = fields.Char("Name", required=True, translate=True)
@@ -297,7 +294,6 @@ class Control(DeactivableMixin, MatchMixin, ModelSQL, ModelView):
class ControlPoint(DictSchemaMixin, ModelSQL, ModelView):
- "Quality Control Point"
__name__ = 'quality.control.point'
control = fields.Many2One(
@@ -341,7 +337,6 @@ class ControlPoint(DictSchemaMixin, ModelSQL, ModelView):
class Inspection(Workflow, ModelSQL, ModelView):
- "Quality Inspection"
__name__ = 'quality.inspection'
_rec_name = 'number'
@@ -607,7 +602,6 @@ class Inspection(Workflow, ModelSQL, ModelView):
class Alert(Workflow, ModelSQL, ModelView):
- "Quality Alert"
__name__ = 'quality.alert'
_rec_name = 'number'
@@ -761,7 +755,6 @@ class InspectStateView(StateView):
class Inspect(Wizard):
- "Inspect Quality"
__name__ = 'quality.inspect'
start = StateTransition()
@@ -855,7 +848,6 @@ class Inspect(Wizard):
class InspectStore(ModelView):
- "Inspect Quality"
__name__ = 'quality.inspect.store'
inspections = fields.Many2Many(
diff --git a/modules/sale/configuration.py b/modules/sale/configuration.py
index 14c01e8e97..ae043a7200 100644
--- a/modules/sale/configuration.py
+++ b/modules/sale/configuration.py
@@ -33,7 +33,6 @@ def default_func(field_name):
class Configuration(
ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Sale Configuration'
__name__ = 'sale.configuration'
sale_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', "Sale Sequence", required=True,
@@ -71,7 +70,6 @@ class Configuration(
class ConfigurationSequence(ModelSQL, CompanyValueMixin):
- "Sale Configuration Sequence"
__name__ = 'sale.configuration.sequence'
sale_sequence = fields.Many2One(
'ir.sequence', "Sale Sequence", required=True,
@@ -91,7 +89,6 @@ class ConfigurationSequence(ModelSQL, CompanyValueMixin):
class ConfigurationSaleMethod(ModelSQL, ValueMixin):
- "Sale Configuration Sale Method"
__name__ = 'sale.configuration.sale_method'
sale_invoice_method = sale_invoice_method
get_sale_invoice_methods = get_sale_methods('invoice_method')
diff --git a/modules/sale/party.py b/modules/sale/party.py
index 5b5563b223..c97b9d6b31 100644
--- a/modules/sale/party.py
+++ b/modules/sale/party.py
@@ -64,7 +64,6 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
class PartySaleMethod(ModelSQL, CompanyValueMixin):
- "Party Sale Method"
__name__ = 'party.party.sale_method'
party = fields.Many2One(
@@ -83,7 +82,6 @@ class PartySaleMethod(ModelSQL, CompanyValueMixin):
class PartyCustomerCurrency(ModelSQL, ValueMixin):
- "Party Customer Currency"
__name__ = 'party.party.customer_currency'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/sale/product.py b/modules/sale/product.py
index eb82542b60..cc172a56e2 100644
--- a/modules/sale/product.py
+++ b/modules/sale/product.py
@@ -29,7 +29,6 @@ class Configuration(metaclass=PoolMeta):
class DefaultLeadTime(ModelSQL, ValueMixin):
- "Product Default Lead Time"
__name__ = 'product.configuration.default_lead_time'
default_lead_time = default_lead_time
@@ -95,7 +94,6 @@ class Template(metaclass=PoolMeta):
class ProductLeadTime(ModelSQL, ValueMixin):
- "Product Lead Time"
__name__ = 'product.lead_time'
template = fields.Many2One(
@@ -220,7 +218,6 @@ class Product(metaclass=PoolMeta):
class SaleContext(ModelView):
- "Product Sale Context"
__name__ = 'product.sale.context'
locations = fields.Many2Many(
diff --git a/modules/sale/sale.py b/modules/sale/sale.py
index d1668ccbdf..b33b3789de 100644
--- a/modules/sale/sale.py
+++ b/modules/sale/sale.py
@@ -72,7 +72,6 @@ def search_shipments_returns(model_name):
class Sale(
Workflow, ModelSQL, ModelView, TaxableMixin,
AttachmentCopyMixin, NoteCopyMixin):
- 'Sale'
__name__ = 'sale.sale'
_rec_name = 'number'
company = fields.Many2One(
@@ -1227,7 +1226,6 @@ class Sale(
class SaleIgnoredInvoice(ModelSQL):
- 'Sale - Ignored Invoice'
__name__ = 'sale.sale-ignored-account.invoice'
sale = fields.Many2One(
'sale.sale', "Sale", ondelete='CASCADE', required=True)
@@ -1247,7 +1245,6 @@ class SaleIgnoredInvoice(ModelSQL):
class SaleRecreatedInvoice(ModelSQL):
- 'Sale - Recreated Invoice'
__name__ = 'sale.sale-recreated-account.invoice'
sale = fields.Many2One(
'sale.sale', "Sale", ondelete='CASCADE', required=True)
@@ -1267,7 +1264,6 @@ class SaleRecreatedInvoice(ModelSQL):
class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
- 'Sale Line'
__name__ = 'sale.line'
sale = fields.Many2One(
'sale.sale', "Sale", ondelete='CASCADE', required=True,
@@ -2186,7 +2182,6 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
class SaleLineTax(ModelSQL):
- 'Sale Line - Tax'
__name__ = 'sale.line-account.tax'
line = fields.Many2One(
'sale.line', "Sale Line", ondelete='CASCADE', required=True)
@@ -2210,7 +2205,6 @@ class SaleLineTax(ModelSQL):
class SaleLineIgnoredMove(ModelSQL):
- 'Sale Line - Ignored Move'
__name__ = 'sale.line-ignored-stock.move'
sale_line = fields.Many2One(
'sale.line', "Sale Line", ondelete='CASCADE', required=True)
@@ -2230,7 +2224,6 @@ class SaleLineIgnoredMove(ModelSQL):
class SaleLineRecreatedMove(ModelSQL):
- 'Sale Line - Recreated Move'
__name__ = 'sale.line-recreated-stock.move'
sale_line = fields.Many2One(
'sale.line', "Sale Line", ondelete='CASCADE', required=True)
@@ -2270,7 +2263,6 @@ class SaleReport(CompanyReport):
class HandleShipmentExceptionAsk(ModelView):
- 'Handle Shipment Exception'
__name__ = 'sale.handle.shipment.exception.ask'
recreate_moves = fields.Many2Many(
'stock.move', None, None, "Stock Moves to Recreate",
@@ -2291,7 +2283,6 @@ class HandleShipmentExceptionAsk(ModelView):
class HandleShipmentException(Wizard):
- 'Handle Shipment Exception'
__name__ = 'sale.handle.shipment.exception'
start_state = 'ask'
ask = StateView('sale.handle.shipment.exception.ask',
@@ -2339,7 +2330,6 @@ class HandleShipmentException(Wizard):
class HandleInvoiceExceptionAsk(ModelView):
- 'Handle Invoice Exception'
__name__ = 'sale.handle.invoice.exception.ask'
recreate_invoices = fields.Many2Many(
'account.invoice', None, None, "Invoices to Recreate",
@@ -2360,7 +2350,6 @@ class HandleInvoiceExceptionAsk(ModelView):
class HandleInvoiceException(Wizard):
- 'Handle Invoice Exception'
__name__ = 'sale.handle.invoice.exception'
start_state = 'ask'
ask = StateView('sale.handle.invoice.exception.ask',
@@ -2399,12 +2388,10 @@ class HandleInvoiceException(Wizard):
class ReturnSaleStart(ModelView):
- 'Return Sale'
__name__ = 'sale.return_sale.start'
class ReturnSale(Wizard):
- 'Return Sale'
__name__ = 'sale.return_sale'
start = StateView('sale.return_sale.start',
'sale.return_sale_start_view_form', [
@@ -2440,7 +2427,6 @@ class ModifyHeaderStateView(StateView):
class ModifyHeader(Wizard):
- "Modify Header"
__name__ = 'sale.modify_header'
start = ModifyHeaderStateView('sale.sale',
'sale.modify_header_form', [
diff --git a/modules/sale/sale_reporting.py b/modules/sale/sale_reporting.py
index e600393e32..ecbee78fee 100644
--- a/modules/sale/sale_reporting.py
+++ b/modules/sale/sale_reporting.py
@@ -236,7 +236,6 @@ class AbstractTimeseries(Abstract):
class Context(ModelView):
- "Sale Reporting Context"
__name__ = 'sale.reporting.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -295,7 +294,6 @@ class Context(ModelView):
class Main(Abstract, ModelView):
- "Sale Reporting"
__name__ = 'sale.reporting.main'
time_series = fields.Function(fields.One2Many(
@@ -313,7 +311,6 @@ class Main(Abstract, ModelView):
class MainTimeseries(AbstractTimeseries, ModelView):
- "Sale Reporting"
__name__ = 'sale.reporting.main.time_series'
@@ -347,7 +344,6 @@ class CustomerMixin(object):
class Customer(CustomerMixin, Abstract, ModelView):
- "Sale Reporting per Customer"
__name__ = 'sale.reporting.customer'
time_series = fields.One2Many(
@@ -373,7 +369,6 @@ class Customer(CustomerMixin, Abstract, ModelView):
class CustomerTimeseries(CustomerMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Customer"
__name__ = 'sale.reporting.customer.time_series'
@@ -435,7 +430,6 @@ class CustomerCategoryMixin:
class CustomerCategory(CustomerCategoryMixin, Abstract, ModelView):
- "Sale Reporting per Customer Category"
__name__ = 'sale.reporting.customer.category'
time_series = fields.One2Many(
@@ -455,12 +449,10 @@ class CustomerCategory(CustomerCategoryMixin, Abstract, ModelView):
class CustomerCategoryTimeseries(
CustomerCategoryMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Customer Category"
__name__ = 'sale.reporting.customer.category.time_series'
class CustomerCategoryTree(ModelSQL, ModelView):
- "Sale Reporting per Customer Category"
__name__ = 'sale.reporting.customer.category.tree'
name = fields.Function(
@@ -589,7 +581,6 @@ class ProductMixin(object):
class Product(ProductMixin, Abstract, ModelView):
- "Sale Reporting per Product"
__name__ = 'sale.reporting.product'
time_series = fields.One2Many(
@@ -608,7 +599,6 @@ class Product(ProductMixin, Abstract, ModelView):
class ProductTimeseries(ProductMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Product"
__name__ = 'sale.reporting.product.time_series'
@@ -682,7 +672,6 @@ class ProductCategoryMixin(object):
class ProductCategory(ProductCategoryMixin, Abstract, ModelView):
- "Sale Reporting per Product Category"
__name__ = 'sale.reporting.product.category'
time_series = fields.One2Many(
@@ -702,12 +691,10 @@ class ProductCategory(ProductCategoryMixin, Abstract, ModelView):
class ProductCategoryTimeseries(
ProductCategoryMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Product Category"
__name__ = 'sale.reporting.product.category.time_series'
class ProductCategoryTree(ModelSQL, ModelView):
- "Sale Reporting per Product Category"
__name__ = 'sale.reporting.product.category.tree'
name = fields.Function(
@@ -844,7 +831,6 @@ class CountryMixin(object):
class RegionTree(ModelSQL, ModelView):
- "Sale Reporting per Region"
__name__ = 'sale.reporting.region.tree'
name = fields.Function(
@@ -927,7 +913,6 @@ class RegionTree(ModelSQL, ModelView):
class OpenRegionTree(Wizard):
- "Open Region"
__name__ = 'sale.reporting.region.tree.open'
start = StateAction('sale.act_reporting_country_tree')
@@ -953,7 +938,6 @@ class OpenRegionTree(Wizard):
class Country(CountryMixin, Abstract):
- "Sale Reporting per Country"
__name__ = 'sale.reporting.country'
time_series = fields.One2Many(
@@ -972,7 +956,6 @@ class Country(CountryMixin, Abstract):
class CountryTimeseries(CountryMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Country"
__name__ = 'sale.reporting.country.time_series'
@@ -1008,7 +991,6 @@ class SubdivisionMixin(CountryMixin):
class Subdivision(SubdivisionMixin, Abstract):
- "Sale Reporting per Subdivision"
__name__ = 'sale.reporting.country.subdivision'
time_series = fields.One2Many(
@@ -1027,12 +1009,10 @@ class Subdivision(SubdivisionMixin, Abstract):
class SubdivisionTimeseries(SubdivisionMixin, AbstractTimeseries, ModelView):
- "Sale Reporting per Subdivision"
__name__ = 'sale.reporting.country.subdivision.time_series'
class CountryTree(UnionMixin, Abstract, ModelView):
- "Sale Reporting per Country"
__name__ = 'sale.reporting.country.tree'
region = fields.Function(fields.Char("Region"), 'get_rec_name')
@@ -1074,7 +1054,6 @@ class CountryTree(UnionMixin, Abstract, ModelView):
class OpenCountryTree(Wizard):
- "Open Country"
__name__ = 'sale.reporting.country.tree.open'
start = StateTransition()
diff --git a/modules/sale_advance_payment/sale.py b/modules/sale_advance_payment/sale.py
index 9ed254940f..6c7dc83eb4 100644
--- a/modules/sale_advance_payment/sale.py
+++ b/modules/sale_advance_payment/sale.py
@@ -21,7 +21,6 @@ from .exceptions import FormulaError
class AdvancePaymentTerm(
DeactivableMixin, ModelSQL, ModelView):
- "Advance Payment Term"
__name__ = 'sale.advance_payment_term'
name = fields.Char("Name", required=True, translate=True)
@@ -45,7 +44,6 @@ class AdvancePaymentTerm(
class AdvancePaymentTermLine(ModelView, ModelSQL, CompanyMultiValueMixin):
- "Advance Payment Term Line"
__name__ = 'sale.advance_payment_term.line'
_rec_name = 'description'
@@ -125,7 +123,6 @@ class AdvancePaymentTermLine(ModelView, ModelSQL, CompanyMultiValueMixin):
class AdvancePaymentTermLineAccount(ModelSQL, CompanyValueMixin):
- "Advance Payment Term Line Account"
__name__ = 'sale.advance_payment_term.line.account'
line = fields.Many2One(
@@ -143,7 +140,6 @@ class AdvancePaymentTermLineAccount(ModelSQL, CompanyValueMixin):
class AdvancePaymentCondition(ModelSQL, ModelView):
- "Advance Payment Condition"
__name__ = 'sale.advance_payment.condition'
_rec_name = 'description'
diff --git a/modules/sale_amendment/sale.py b/modules/sale_amendment/sale.py
index 0070667998..debfa5bd9e 100644
--- a/modules/sale_amendment/sale.py
+++ b/modules/sale_amendment/sale.py
@@ -34,7 +34,6 @@ class Sale(metaclass=PoolMeta):
class Amendment(Workflow, ModelSQL, ModelView):
- "Sale Amendment"
__name__ = 'sale.amendment'
sale = fields.Many2One(
@@ -178,7 +177,6 @@ class Amendment(Workflow, ModelSQL, ModelView):
class AmendmentLine(ModelSQL, ModelView):
- "Sale Amendment Line"
__name__ = 'sale.amendment.line'
amendment = fields.Many2One(
diff --git a/modules/sale_blanket_agreement/sale.py b/modules/sale_blanket_agreement/sale.py
index 7573c56999..39f2242d12 100644
--- a/modules/sale_blanket_agreement/sale.py
+++ b/modules/sale_blanket_agreement/sale.py
@@ -57,7 +57,6 @@ def blanket_agreement_quantity_warning():
class Configuration(metaclass=PoolMeta):
- "Sale Configuration"
__name__ = 'sale.configuration'
blanket_agreement_sequence = fields.MultiValue(fields.Many2One(
@@ -86,7 +85,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationSequence(metaclass=PoolMeta):
- "Sale Configuration Sequence"
__name__ = 'sale.configuration.sequence'
blanket_agreement_sequence = fields.Many2One(
'ir.sequence', "Blanket Agreement Sequence", required=True,
@@ -109,7 +107,6 @@ class ConfigurationSequence(metaclass=PoolMeta):
class BlanketAgreement(Workflow, ModelSQL, ModelView):
- "Sale Blanket Agreement"
__name__ = 'sale.blanket_agreement'
_rec_name = 'number'
@@ -432,7 +429,6 @@ class BlanketAgreement(Workflow, ModelSQL, ModelView):
class BlanketAgreementLine(ModelSQL, ModelView):
- "Sale Blanket Agreement Line"
__name__ = 'sale.blanket_agreement.line'
_states = {
@@ -784,7 +780,6 @@ class Line(metaclass=PoolMeta):
class BlanketAgreementCreateSale(Wizard):
- "Create Sale"
__name__ = 'sale.blanket_agreement.create_sale'
start = StateView(
'sale.blanket_agreement.create_sale.start',
@@ -814,7 +809,6 @@ class BlanketAgreementCreateSale(Wizard):
class BlanketAgreementCreateSaleStart(ModelView):
- "Create Sale"
__name__ = 'sale.blanket_agreement.create_sale.start'
blanket_agreement = fields.Many2One('sale.blanket_agreement', "Agreement")
diff --git a/modules/sale_complaint/complaint.py b/modules/sale_complaint/complaint.py
index 93f28986a3..e4f3aba89d 100644
--- a/modules/sale_complaint/complaint.py
+++ b/modules/sale_complaint/complaint.py
@@ -24,7 +24,6 @@ from .exceptions import ComplaintSimilarWarning
class Type(DeactivableMixin, ModelSQL, ModelView):
- 'Customer Complaint Type'
__name__ = 'sale.complaint.type'
name = fields.Char('Name', required=True)
@@ -35,7 +34,6 @@ class Type(DeactivableMixin, ModelSQL, ModelView):
class Complaint(Workflow, ModelSQL, ModelView):
- 'Customer Complaint'
__name__ = 'sale.complaint'
_rec_name = 'number'
@@ -434,7 +432,6 @@ class Complaint(Workflow, ModelSQL, ModelView):
class Action(ModelSQL, ModelView):
- 'Customer Complaint Action'
__name__ = 'sale.complaint.action'
_states = {
@@ -781,7 +778,6 @@ class _Action_Line:
class Action_SaleLine(_Action_Line, ModelView, ModelSQL):
- 'Customer Complaint Action - Sale Line'
__name__ = 'sale.complaint.action-sale.line'
line = fields.Many2One(
@@ -812,7 +808,6 @@ class Action_SaleLine(_Action_Line, ModelView, ModelSQL):
class Action_InvoiceLine(_Action_Line, ModelView, ModelSQL):
- 'Customer Complaint Action - Invoice Line'
__name__ = 'sale.complaint.action-account.invoice.line'
line = fields.Many2One(
diff --git a/modules/sale_extra/sale.py b/modules/sale_extra/sale.py
index 71427e6a6c..4bfcede243 100644
--- a/modules/sale_extra/sale.py
+++ b/modules/sale_extra/sale.py
@@ -65,7 +65,6 @@ class Line(metaclass=PoolMeta):
class Extra(DeactivableMixin, ModelSQL, ModelView, MatchMixin):
- 'Sale Extra'
__name__ = 'sale.extra'
name = fields.Char('Name', translate=True, required=True)
@@ -160,7 +159,6 @@ class Extra(DeactivableMixin, ModelSQL, ModelView, MatchMixin):
class ExtraLine(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Sale Extra Line'
__name__ = 'sale.extra.line'
extra = fields.Many2One('sale.extra', 'Extra', required=True,
diff --git a/modules/sale_gift_card/account.py b/modules/sale_gift_card/account.py
index 5b9c749ca8..6da82c93b8 100644
--- a/modules/sale_gift_card/account.py
+++ b/modules/sale_gift_card/account.py
@@ -33,7 +33,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationGiftCardAccount(ModelSQL, CompanyValueMixin):
- "Account Configuration Gift Card Account"
__name__ = 'account.configuration.gift_card_account'
gift_card_account_expense = fields.Many2One(
diff --git a/modules/sale_gift_card/sale.py b/modules/sale_gift_card/sale.py
index dbcf837719..35a0419b2a 100644
--- a/modules/sale_gift_card/sale.py
+++ b/modules/sale_gift_card/sale.py
@@ -43,7 +43,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationGiftCardSequence(ModelSQL, CompanyValueMixin):
- "Gift Card Configuration Sequence"
__name__ = 'sale.configuration.gift_card.sequence'
gift_card_sequence = fields.Many2One(
'ir.sequence', "Gift Card Sequence",
@@ -55,7 +54,6 @@ class ConfigurationGiftCardSequence(ModelSQL, CompanyValueMixin):
class GiftCard(ModelSQL, ModelView):
- "Gift Card"
__name__ = 'sale.gift_card'
_rec_name = 'number'
@@ -557,7 +555,6 @@ class POSPay(metaclass=PoolMeta):
class POSPayGiftCard(ModelView):
- "POS Pay - Gift Card"
__name__ = 'sale.point.sale.pay.gift_card'
sale = fields.Many2One('sale.point.sale', "Sale")
diff --git a/modules/sale_invoice_date/sale.py b/modules/sale_invoice_date/sale.py
index 41529afa7e..b88654c087 100644
--- a/modules/sale_invoice_date/sale.py
+++ b/modules/sale_invoice_date/sale.py
@@ -8,7 +8,6 @@ from trytond.pool import Pool, PoolMeta
class InvoiceTerm(DeactivableMixin, ModelSQL, ModelView):
- "Invoice Term"
__name__ = 'sale.invoice.term'
name = fields.Char(
@@ -28,7 +27,6 @@ class InvoiceTerm(DeactivableMixin, ModelSQL, ModelView):
class InvoiceTermRelativeDelta(sequence_ordered(), ModelSQL, ModelView):
- "Invoice Term Delta"
__name__ = 'sale.invoice.term.relative_delta'
term = fields.Many2One(
diff --git a/modules/sale_invoice_grouping/party.py b/modules/sale_invoice_grouping/party.py
index 5080435792..4f9ac40eff 100644
--- a/modules/sale_invoice_grouping/party.py
+++ b/modules/sale_invoice_grouping/party.py
@@ -25,7 +25,6 @@ class Party(metaclass=PoolMeta):
class PartySaleInvoiceGroupingMethod(ModelSQL, ValueMixin):
- "Party Sale Invoice Grouping Method"
__name__ = 'party.party.sale_invoice_grouping_method'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/sale_opportunity/configuration.py b/modules/sale_opportunity/configuration.py
index 64ed7ea0a5..87f4da65bc 100644
--- a/modules/sale_opportunity/configuration.py
+++ b/modules/sale_opportunity/configuration.py
@@ -6,7 +6,6 @@ from trytond.pyson import Eval, Id
class Configuration(metaclass=PoolMeta):
- 'Sale Configuration'
__name__ = 'sale.configuration'
sale_opportunity_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', "Opportunity Sequence", required=True,
diff --git a/modules/sale_opportunity/opportunity.py b/modules/sale_opportunity/opportunity.py
index 1611e09764..b4c9d5307e 100644
--- a/modules/sale_opportunity/opportunity.py
+++ b/modules/sale_opportunity/opportunity.py
@@ -23,7 +23,6 @@ from trytond.transaction import Transaction
class SaleOpportunity(
Workflow, ModelSQL, ModelView,
AttachmentCopyMixin, NoteCopyMixin):
- 'Sale Opportunity'
__name__ = "sale.opportunity"
_history = True
_rec_name = 'number'
@@ -528,7 +527,6 @@ class SaleOpportunity(
class SaleOpportunityLine(sequence_ordered(), ModelSQL, ModelView):
- 'Sale Opportunity Line'
__name__ = "sale.opportunity.line"
_history = True
_states = {
diff --git a/modules/sale_opportunity/opportunity_reporting.py b/modules/sale_opportunity/opportunity_reporting.py
index 18d56a00ba..9ff9bfaca9 100644
--- a/modules/sale_opportunity/opportunity_reporting.py
+++ b/modules/sale_opportunity/opportunity_reporting.py
@@ -304,7 +304,6 @@ class AbstractConversionTimeseries(AbstractConversion, AbstractTimeseries):
class Context(ModelView):
- "Sale Opportunity Reporting Context"
__name__ = 'sale.opportunity.reporting.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -354,7 +353,6 @@ class Context(ModelView):
class Main(Abstract, ModelView):
- "Sale Opportunity Reporting"
__name__ = 'sale.opportunity.reporting.main'
time_series = fields.Function(fields.One2Many(
@@ -372,12 +370,10 @@ class Main(Abstract, ModelView):
class MainTimeseries(AbstractTimeseries, ModelView):
- "Sale Opportunity Reporting"
__name__ = 'sale.opportunity.reporting.main.time_series'
class Conversion(AbstractConversion, ModelView):
- "Sale Opportunity Reporting Conversion"
__name__ = 'sale.opportunity.reporting.conversion'
time_series = fields.Function(fields.One2Many(
@@ -396,7 +392,6 @@ class Conversion(AbstractConversion, ModelView):
class ConversionTimeseries(AbstractConversionTimeseries, ModelView):
- "Sale Opportunity Reporting Conversion"
__name__ = 'sale.opportunity.reporting.conversion.time_series'
@@ -427,7 +422,6 @@ class EmployeeMixin:
class ConversionEmployee(EmployeeMixin, AbstractConversion, ModelView):
- "Sale Opportunity Reporting Conversion per Employee"
__name__ = 'sale.opportunity.reporting.conversion.employee'
time_series = fields.One2Many(
@@ -454,5 +448,4 @@ class ConversionEmployee(EmployeeMixin, AbstractConversion, ModelView):
class ConversionEmployeeTimeseries(
EmployeeMixin, AbstractConversionTimeseries, ModelView):
- "Sale Opportunity Reporting Conversion per Employee"
__name__ = 'sale.opportunity.reporting.conversion.employee.time_series'
diff --git a/modules/sale_point/product.py b/modules/sale_point/product.py
index 6974447e1c..3e29d41d0e 100644
--- a/modules/sale_point/product.py
+++ b/modules/sale_point/product.py
@@ -46,7 +46,6 @@ class Product(metaclass=PoolMeta):
class GrossPrice(ModelSQL, CompanyValueMixin):
- "Product Gross Price"
__name__ = 'product.gross_price'
template = fields.Many2One(
'product.template', "Template", ondelete='CASCADE')
diff --git a/modules/sale_point/sale.py b/modules/sale_point/sale.py
index 4a3e5b3521..394898866e 100644
--- a/modules/sale_point/sale.py
+++ b/modules/sale_point/sale.py
@@ -28,7 +28,6 @@ from .exceptions import SaleValidationError, SessionValidationError
class POS(ModelSQL, ModelView):
- "Point of Sale"
__name__ = 'sale.point'
name = fields.Char("Name", required=True)
company = fields.Many2One('company.company', "Company", required=True)
@@ -94,7 +93,6 @@ class POS(ModelSQL, ModelView):
class POSSale(Workflow, ModelSQL, ModelView, TaxableMixin):
- "POS Sale"
__name__ = 'sale.point.sale'
_rec_name = 'number'
@@ -452,7 +450,6 @@ class POSSale(Workflow, ModelSQL, ModelView, TaxableMixin):
class POSSaleLine(ModelSQL, ModelView, TaxableMixin):
- "POS Sale Line"
__name__ = 'sale.point.sale.line'
_states = {
@@ -726,7 +723,6 @@ class POSSaleLine(ModelSQL, ModelView, TaxableMixin):
class POSCashSession(Workflow, ModelSQL, ModelView):
- "POS Cash Session"
__name__ = 'sale.point.cash.session'
point = fields.Many2One(
@@ -954,7 +950,6 @@ class POSCashSession(Workflow, ModelSQL, ModelView):
class POSCashSessionRelation(ModelSQL):
- "POS Session Relation"
__name__ = 'sale.point.cash.session.relation'
previous = fields.Many2One('sale.point.cash.session', "Previous")
@@ -976,7 +971,6 @@ class POSCashSessionRelation(ModelSQL):
class POSPayment(ModelSQL, ModelView):
- "POS Payment"
__name__ = 'sale.point.payment'
_states = {
@@ -1109,7 +1103,6 @@ class POSPayment(ModelSQL, ModelView):
class POSPaymentMethod(DeactivableMixin, ModelSQL, ModelView):
- "POS Payment Method"
__name__ = 'sale.point.payment.method'
company = fields.Many2One('company.company', "Company", required=True)
name = fields.Char("Name", required=True, translate=True)
@@ -1141,7 +1134,6 @@ class POSPaymentMethod(DeactivableMixin, ModelSQL, ModelView):
class POSPay(Wizard):
- "POS Pay"
__name__ = 'sale.point.sale.pay'
start_state = 'payment'
payment = StateView(
@@ -1185,7 +1177,6 @@ class POSPay(Wizard):
class POSCashTransfer(Workflow, ModelSQL, ModelView):
- "POS Cash Transfer"
__name__ = 'sale.point.cash.transfer'
_states = {
@@ -1346,7 +1337,6 @@ class POSCashTransfer(Workflow, ModelSQL, ModelView):
class POSCashTransferType(ModelSQL, ModelView):
- "POS Cash Transfer Type"
__name__ = 'sale.point.cash.transfer.type'
company = fields.Many2One('company.company', "Company", required=True)
diff --git a/modules/sale_price_list/configuration.py b/modules/sale_price_list/configuration.py
index 4c4ac453c7..1257e6d522 100644
--- a/modules/sale_price_list/configuration.py
+++ b/modules/sale_price_list/configuration.py
@@ -21,7 +21,6 @@ class Configuration(CompanyMultiValueMixin, metaclass=PoolMeta):
class ConfigurationSalePriceList(ModelSQL, CompanyValueMixin):
- "Sale Configuration Sale PriceList"
__name__ = 'sale.configuration.sale_price_list'
sale_price_list = fields.Many2One(
'product.price_list', "Sale Price List",
diff --git a/modules/sale_price_list/party.py b/modules/sale_price_list/party.py
index 73337e12f2..77dfb665b1 100644
--- a/modules/sale_price_list/party.py
+++ b/modules/sale_price_list/party.py
@@ -42,7 +42,6 @@ class Party(CompanyMultiValueMixin, metaclass=PoolMeta):
class PartySalePriceList(ModelSQL, CompanyValueMixin):
- "Party Sale Price List"
__name__ = 'party.party.sale_price_list'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE',
diff --git a/modules/sale_product_customer/product.py b/modules/sale_product_customer/product.py
index 86ba5ef65c..0c3c31c783 100644
--- a/modules/sale_product_customer/product.py
+++ b/modules/sale_product_customer/product.py
@@ -12,7 +12,6 @@ from trytond.tools import is_full_text, lstrip_wildcard
class ProductCustomer(
sequence_ordered(), ProductDeactivatableMixin, MatchMixin,
ModelSQL, ModelView):
- 'Product Customer'
__name__ = 'sale.product_customer'
template = fields.Many2One(
diff --git a/modules/sale_product_recommendation/sale.py b/modules/sale_product_recommendation/sale.py
index 5b6e1fe5c5..c3625f7ea7 100644
--- a/modules/sale_product_recommendation/sale.py
+++ b/modules/sale_product_recommendation/sale.py
@@ -41,7 +41,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationProductRecommendation(ModelSQL, ValueMixin):
- "Product Recommendation"
__name__ = 'sale.configuration.product_recommendation'
product_recommendation_method = fields.Selection(
diff --git a/modules/sale_product_recommendation_association_rule/sale.py b/modules/sale_product_recommendation_association_rule/sale.py
index bed1805c30..c1e7a8a73c 100644
--- a/modules/sale_product_recommendation_association_rule/sale.py
+++ b/modules/sale_product_recommendation_association_rule/sale.py
@@ -80,7 +80,6 @@ class Sale(metaclass=PoolMeta):
class ProductAssociationRule(ModelSQL, ModelView):
- "Product Association Rule"
__name__ = 'sale.product.association.rule'
antecedents = fields.Many2Many(
@@ -247,7 +246,6 @@ class ProductAssociationRule(ModelSQL, ModelView):
class ProductAssociationRuleAntecedent(ModelSQL):
- "Product Association Rule Antecedent"
__name__ = 'sale.product.association.rule.antecedent'
rule = fields.Many2One(
@@ -258,7 +256,6 @@ class ProductAssociationRuleAntecedent(ModelSQL):
class ProductAssociationRuleConsequent(ModelSQL):
- "Product Association Rule Consequent"
__name__ = 'sale.product.association.rule.consequent'
rule = fields.Many2One(
diff --git a/modules/sale_promotion/sale.py b/modules/sale_promotion/sale.py
index 21ce909c54..891d6934b9 100644
--- a/modules/sale_promotion/sale.py
+++ b/modules/sale_promotion/sale.py
@@ -84,7 +84,6 @@ class Line(metaclass=PoolMeta):
class Promotion(
DeactivableMixin, ModelSQL, ModelView, MatchMixin):
- 'Sale Promotion'
__name__ = 'sale.promotion'
name = fields.Char('Name', translate=True, required=True)
@@ -322,7 +321,6 @@ class Promotion(
class Promotion_Product(ModelSQL):
- 'Sale Promotion - Product'
__name__ = 'sale.promotion-product.product'
promotion = fields.Many2One(
@@ -332,7 +330,6 @@ class Promotion_Product(ModelSQL):
class Promotion_ProductCategory(ModelSQL):
- "Sale Promotion - Product Category"
__name__ = 'sale.promotion-product.category'
promotion = fields.Many2One(
diff --git a/modules/sale_promotion/sale_reporting.py b/modules/sale_promotion/sale_reporting.py
index eb9f2004ab..9ae882b49b 100644
--- a/modules/sale_promotion/sale_reporting.py
+++ b/modules/sale_promotion/sale_reporting.py
@@ -8,7 +8,6 @@ from trytond.modules.sale.sale_reporting import Abstract
class Promotion(Abstract, ModelView):
- "Sale Reporting per Promotion"
__name__ = 'sale.reporting.promotion'
promotion = fields.Many2One('sale.promotion', "Promotion")
diff --git a/modules/sale_promotion_coupon/sale.py b/modules/sale_promotion_coupon/sale.py
index 0f11322ac7..0317564e09 100644
--- a/modules/sale_promotion_coupon/sale.py
+++ b/modules/sale_promotion_coupon/sale.py
@@ -66,7 +66,6 @@ class Promotion(metaclass=PoolMeta):
class PromotionCoupon(ModelSQL, ModelView):
- "Promotion Coupon"
__name__ = 'sale.promotion.coupon'
name = fields.Char("Name", required=True)
@@ -131,7 +130,6 @@ class PromotionCoupon(ModelSQL, ModelView):
class PromotionCouponNumber(DeactivableMixin, ModelSQL, ModelView):
- "Promotion Coupon Number"
__name__ = 'sale.promotion.coupon.number'
_rec_name = 'number'
@@ -386,7 +384,6 @@ class Sale(metaclass=PoolMeta):
class Sale_PromotionCouponNumber(ModelSQL):
- "Sale - Promotion Coupon Number"
__name__ = 'sale.sale-sale.promotion.coupon.number'
sale = fields.Many2One(
diff --git a/modules/sale_shipment_cost/stock.py b/modules/sale_shipment_cost/stock.py
index cf994a5497..1efee3b864 100644
--- a/modules/sale_shipment_cost/stock.py
+++ b/modules/sale_shipment_cost/stock.py
@@ -161,7 +161,6 @@ class ShipmentCostSaleMixin:
class ShipmentCostSale(ModelSQL):
- "Shipment Cost Sale"
__name__ = 'stock.shipment.cost_sale'
shipment = fields.Reference(
diff --git a/modules/sale_shipment_grouping/party.py b/modules/sale_shipment_grouping/party.py
index 0b42084937..44b37ad7a9 100644
--- a/modules/sale_shipment_grouping/party.py
+++ b/modules/sale_shipment_grouping/party.py
@@ -25,7 +25,6 @@ class Party(metaclass=PoolMeta):
class PartySaleShipmentGroupingMethod(ModelSQL, ValueMixin):
- "Party Sale Shipment Grouping Method"
__name__ = 'party.party.sale_shipment_grouping_method'
party = fields.Many2One(
'party.party', "Party", ondelete='CASCADE')
diff --git a/modules/sale_shipment_tolerance/configuration.py b/modules/sale_shipment_tolerance/configuration.py
index 0757216892..e84420dfe6 100644
--- a/modules/sale_shipment_tolerance/configuration.py
+++ b/modules/sale_shipment_tolerance/configuration.py
@@ -44,7 +44,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationShipmentTolerance(ModelSQL, ValueMixin):
- "Sale Configuration Shipment Tolerance"
__name__ = 'sale.configuration.shipment_tolerance'
sale_under_shipment_tolerance = sale_under_shipment_tolerance
sale_over_shipment_tolerance = sale_over_shipment_tolerance
diff --git a/modules/sale_subscription/recurrence.py b/modules/sale_subscription/recurrence.py
index 2c316e87c9..d3e1c3162b 100644
--- a/modules/sale_subscription/recurrence.py
+++ b/modules/sale_subscription/recurrence.py
@@ -32,7 +32,6 @@ FREQUENCIES = {
class RecurrenceRuleSet(ModelSQL, ModelView):
- "Subscription Recurrence Rule Set"
__name__ = 'sale.subscription.recurrence.rule.set'
name = fields.Char(
@@ -66,7 +65,6 @@ class RecurrenceRuleSet(ModelSQL, ModelView):
class RecurrenceRule(ModelSQL, ModelView):
- "Subscription Recurrence Rule"
__name__ = 'sale.subscription.recurrence.rule'
set_ = fields.Many2One(
@@ -235,7 +233,6 @@ class RecurrenceRule(ModelSQL, ModelView):
class TestRecurrenceRuleSet(Wizard):
- "Test Subscription Recurrence Rule Set"
__name__ = 'sale.subscription.recurrence.rule.set.test'
start_state = 'test'
test = StateView(
@@ -253,7 +250,6 @@ class TestRecurrenceRuleSet(Wizard):
class TestRecurrenceRuleSetView(ModelView):
- "Test Subscription Recurrence Rule Set"
__name__ = 'sale.subscription.recurrence.rule.set.test'
recurrence = fields.Many2One(
'sale.subscription.recurrence.rule.set',
@@ -283,6 +279,5 @@ class TestRecurrenceRuleSetView(ModelView):
class TestRecurrenceRuleSetViewResult(ModelView):
- "Test Subscription Recurrence Rule Set Result"
__name__ = 'sale.subscription.recurrence.rule.set.test.result'
date = fields.Date("Date", readonly=True)
diff --git a/modules/sale_subscription/service.py b/modules/sale_subscription/service.py
index 59962088b7..2b23969a27 100644
--- a/modules/sale_subscription/service.py
+++ b/modules/sale_subscription/service.py
@@ -5,7 +5,6 @@ from trytond.pyson import Eval
class Service(DeactivableMixin, ModelSQL, ModelView):
- "Subscription Service"
__name__ = 'sale.subscription.service'
product = fields.Many2One(
diff --git a/modules/sale_subscription/subscription.py b/modules/sale_subscription/subscription.py
index e4e6e21000..0afdd0c2a6 100644
--- a/modules/sale_subscription/subscription.py
+++ b/modules/sale_subscription/subscription.py
@@ -26,7 +26,6 @@ from .exceptions import InvalidRecurrence, InvoiceError
class Subscription(Workflow, ModelSQL, ModelView):
- "Subscription"
__name__ = 'sale.subscription'
_rec_name = 'number'
@@ -502,7 +501,6 @@ class Subscription(Workflow, ModelSQL, ModelView):
class Line(sequence_ordered(), ModelSQL, ModelView):
- "Subscription Line"
__name__ = 'sale.subscription.line'
subscription = fields.Many2One(
@@ -872,7 +870,6 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
class LineConsumption(ModelSQL, ModelView):
- "Subscription Line Consumption"
__name__ = 'sale.subscription.line.consumption'
line = fields.Many2One(
@@ -967,7 +964,6 @@ class LineConsumption(ModelSQL, ModelView):
class CreateLineConsumption(Wizard):
- "Create Subscription Line Consumption"
__name__ = 'sale.subscription.line.consumption.create'
start = StateView(
'sale.subscription.line.consumption.create.start',
@@ -989,7 +985,6 @@ class CreateLineConsumption(Wizard):
class CreateLineConsumptionStart(ModelView):
- "Create Subscription Line Consumption"
__name__ = 'sale.subscription.line.consumption.create.start'
date = fields.Date("Date")
@@ -1002,7 +997,6 @@ class CreateLineConsumptionStart(ModelView):
class CreateSubscriptionInvoice(Wizard):
- "Create Subscription Invoice"
__name__ = 'sale.subscription.create_invoice'
start = StateView(
'sale.subscription.create_invoice.start',
@@ -1020,7 +1014,6 @@ class CreateSubscriptionInvoice(Wizard):
class CreateSubscriptionInvoiceStart(ModelView):
- "Create Subscription Invoice"
__name__ = 'sale.subscription.create_invoice.start'
date = fields.Date("Date")
diff --git a/modules/sale_subscription_asset/sale.py b/modules/sale_subscription_asset/sale.py
index a385ddd7db..a92979043b 100644
--- a/modules/sale_subscription_asset/sale.py
+++ b/modules/sale_subscription_asset/sale.py
@@ -30,7 +30,6 @@ class SubscriptionService(metaclass=PoolMeta):
class SubscriptionServiceStockLot(ModelSQL):
- "Subscription Service - Stock Lot Asset"
__name__ = 'sale.subscription.service-stock.lot.asset'
service = fields.Many2One(
diff --git a/modules/sale_supply_drop_shipment/purchase.py b/modules/sale_supply_drop_shipment/purchase.py
index 7ffee1d4f0..242c3d211b 100644
--- a/modules/sale_supply_drop_shipment/purchase.py
+++ b/modules/sale_supply_drop_shipment/purchase.py
@@ -45,7 +45,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationPurchaseDropLocation(ModelSQL, ValueMixin):
- "Purchase Configuration Purchase Drop Location"
__name__ = 'purchase.configuration.purchase_drop_location'
purchase_drop_location = purchase_drop_location
diff --git a/modules/sale_supply_drop_shipment/sale.py b/modules/sale_supply_drop_shipment/sale.py
index 27b7fa1596..a288cb88d8 100644
--- a/modules/sale_supply_drop_shipment/sale.py
+++ b/modules/sale_supply_drop_shipment/sale.py
@@ -22,7 +22,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationSaleDropLocation(ModelSQL, ValueMixin):
- "Sale Configuration Sale Drop Location"
__name__ = 'sale.configuration.sale_drop_location'
sale_drop_location = sale_drop_location
diff --git a/modules/sale_supply_drop_shipment/stock.py b/modules/sale_supply_drop_shipment/stock.py
index fc4781a596..7448b57ad1 100644
--- a/modules/sale_supply_drop_shipment/stock.py
+++ b/modules/sale_supply_drop_shipment/stock.py
@@ -68,7 +68,6 @@ class ConfigurationSequence(metaclass=PoolMeta):
class ShipmentDrop(
ShipmentCheckQuantity, ShipmentMixin, Workflow, ModelSQL, ModelView):
- "Drop Shipment"
__name__ = 'stock.shipment.drop'
company = fields.Many2One('company.company', 'Company', required=True,
diff --git a/modules/stock/configuration.py b/modules/stock/configuration.py
index ae9a2efd9b..62d4fb6e3d 100644
--- a/modules/stock/configuration.py
+++ b/modules/stock/configuration.py
@@ -43,7 +43,6 @@ def default_sequence(name):
class Configuration(
ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin):
- 'Stock Configuration'
__name__ = 'stock.configuration'
shipment_in_sequence = fields.MultiValue(fields.Many2One(
'ir.sequence', "Supplier Shipment Sequence", required=True,
@@ -128,7 +127,6 @@ class Configuration(
class ConfigurationSequence(ModelSQL, CompanyValueMixin):
- "Stock Configuration Sequence"
__name__ = 'stock.configuration.sequence'
shipment_in_sequence = fields.Many2One(
'ir.sequence', "Supplier Shipment Sequence", required=True,
@@ -185,7 +183,6 @@ class ConfigurationSequence(ModelSQL, CompanyValueMixin):
class ConfigurationLocation(ModelSQL, ValueMixin):
- "Stock Configuration Location"
__name__ = 'stock.configuration.location'
shipment_internal_transit = shipment_internal_transit
diff --git a/modules/stock/inventory.py b/modules/stock/inventory.py
index fdbb851442..4d7da7bf9b 100644
--- a/modules/stock/inventory.py
+++ b/modules/stock/inventory.py
@@ -20,7 +20,6 @@ from .exceptions import (
class Inventory(Workflow, ModelSQL, ModelView):
- 'Stock Inventory'
__name__ = 'stock.inventory'
_rec_name = 'number'
@@ -356,7 +355,6 @@ class Inventory(Workflow, ModelSQL, ModelView):
class InventoryLine(ModelSQL, ModelView):
- 'Stock Inventory Line'
__name__ = 'stock.inventory.line'
_states = {
'readonly': Eval('inventory_state') != 'draft',
@@ -552,7 +550,6 @@ class InventoryLine(ModelSQL, ModelView):
class Count(Wizard):
- "Stock Inventory Count"
__name__ = 'stock.inventory.count'
start_state = 'search'
@@ -625,7 +622,6 @@ class Count(Wizard):
class CountSearch(ModelView):
- "Stock Inventory Count"
__name__ = 'stock.inventory.count.search'
search = fields.Reference(
@@ -647,7 +643,6 @@ class CountSearch(ModelView):
class CountQuantity(ModelView):
- "Stock Inventory Count"
__name__ = 'stock.inventory.count.quantity'
line = fields.Many2One(
diff --git a/modules/stock/location.py b/modules/stock/location.py
index 4073884579..f8388feb03 100644
--- a/modules/stock/location.py
+++ b/modules/stock/location.py
@@ -22,7 +22,6 @@ from .exceptions import LocationValidationError
class WarehouseWasteLocation(ModelSQL):
- "Warehouse Waste Location"
__name__ = 'stock.location.waste'
warehouse = fields.Many2One(
@@ -34,7 +33,6 @@ class WarehouseWasteLocation(ModelSQL):
class Location(DeactivableMixin, tree(), ModelSQL, ModelView):
- "Stock Location"
__name__ = 'stock.location'
_default_warehouse_cache = Cache('stock.location.default_warehouse',
context=False)
@@ -656,7 +654,6 @@ class Location(DeactivableMixin, tree(), ModelSQL, ModelView):
class ProductsByLocationsContext(ModelView):
- 'Products by Locations'
__name__ = 'stock.products_by_locations.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -685,7 +682,6 @@ class ProductsByLocationsContext(ModelView):
class ProductsByLocations(DeactivableMixin, ModelSQL, ModelView):
- "Products by Locations"
__name__ = 'stock.products_by_locations'
product = fields.Many2One('product.product', "Product")
@@ -747,7 +743,6 @@ class ProductsByLocations(DeactivableMixin, ModelSQL, ModelView):
class LocationLeadTime(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'Location Lead Time'
__name__ = 'stock.location.lead_time'
warehouse_from = fields.Many2One('stock.location', 'Warehouse From',
diff --git a/modules/stock/move.py b/modules/stock/move.py
index 4497b77487..316cf431a3 100644
--- a/modules/stock/move.py
+++ b/modules/stock/move.py
@@ -175,7 +175,6 @@ class StockMixin(object):
class Move(Workflow, ModelSQL, ModelView):
- "Stock Move"
__name__ = 'stock.move'
_order_name = 'product'
product = fields.Many2One(
diff --git a/modules/stock/party.py b/modules/stock/party.py
index 86a0de07b3..d959bb4b9e 100644
--- a/modules/stock/party.py
+++ b/modules/stock/party.py
@@ -64,7 +64,6 @@ class Party(metaclass=PoolMeta):
class PartyLocation(ModelSQL, ValueMixin):
- "Party Location"
__name__ = 'party.party.location'
party = fields.Many2One('party.party', "Party", ondelete='CASCADE')
supplier_location = supplier_location
@@ -90,7 +89,6 @@ class PartyLocation(ModelSQL, ValueMixin):
class PartyDeliveredToWarehouse(ModelSQL):
- "Party Delivered to Warehouse"
__name__ = 'party.party-delivered_to-stock.location'
party = fields.Many2One(
diff --git a/modules/stock/period.py b/modules/stock/period.py
index 1fa989ef7d..998fc90518 100644
--- a/modules/stock/period.py
+++ b/modules/stock/period.py
@@ -15,7 +15,6 @@ from .exceptions import PeriodCloseError
class Period(Workflow, ModelSQL, ModelView):
- 'Stock Period'
__name__ = 'stock.period'
date = fields.Date('Date', required=True, states={
'readonly': Eval('state') == 'closed',
@@ -166,11 +165,7 @@ class Period(Workflow, ModelSQL, ModelView):
class Cache(ModelSQL, ModelView):
- '''
- Stock Period Cache
-
- It is used to store cached computation of stock quantities.
- '''
+ "It is used to store cached computation of stock quantities"
__name__ = 'stock.period.cache'
period = fields.Many2One(
'stock.period', "Period",
diff --git a/modules/stock/product.py b/modules/stock/product.py
index b297aa0506..aa07ca2cfe 100644
--- a/modules/stock/product.py
+++ b/modules/stock/product.py
@@ -564,7 +564,6 @@ class Product(StockMixin, object, metaclass=PoolMeta):
class ProductByLocationContext(ModelView):
- 'Product by Location'
__name__ = 'product.by_location.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -593,7 +592,6 @@ class ProductByLocationContext(ModelView):
class OpenProductQuantitiesByWarehouse(Wizard):
- "Open Product Quantities By Warehouse"
__name__ = 'stock.product_quantities_warehouse.open'
start_state = 'open_'
open_ = StateAction('stock.act_product_quantities_warehouse')
@@ -637,7 +635,6 @@ class OpenProductQuantitiesByWarehouse(Wizard):
class ProductQuantitiesByWarehouse(ModelSQL, ModelView):
- 'Product Quantities By Warehouse'
__name__ = 'stock.product_quantities_warehouse'
class _Date(fields.Date):
@@ -869,7 +866,6 @@ class ProductQuantitiesByWarehouse(ModelSQL, ModelView):
class ProductQuantitiesByWarehouseContext(ModelView):
- 'Product Quantities By Warehouse'
__name__ = 'stock.product_quantities_warehouse.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -897,7 +893,6 @@ class ProductQuantitiesByWarehouseContext(ModelView):
class OpenProductQuantitiesByWarehouseMove(Wizard):
- "Open Product Quantities By Warehouse Moves"
__name__ = 'stock.product_quantities_warehouse.move.open'
start_state = 'open_'
open_ = StateAction('stock.act_product_quantities_warehouse_move')
@@ -914,7 +909,6 @@ class OpenProductQuantitiesByWarehouseMove(Wizard):
class ProductQuantitiesByWarehouseMove(ModelSQL, ModelView):
- "Product Quantities By Warehouse Moves"
__name__ = 'stock.product_quantities_warehouse.move'
product = fields.Reference("Product", [
@@ -1148,7 +1142,6 @@ class ProductQuantitiesByWarehouseMove(ModelSQL, ModelView):
class RecomputeCostPrice(Wizard):
- 'Recompute Cost Price'
__name__ = 'product.recompute_cost_price'
start = StateView(
'product.recompute_cost_price.start',
@@ -1190,13 +1183,11 @@ class RecomputeCostPrice(Wizard):
class RecomputeCostPriceStart(ModelView):
- "Recompute Cost Price"
__name__ = 'product.recompute_cost_price.start'
from_ = fields.Date("From")
class ModifyCostPrice(Wizard):
- "Modify Cost Price"
__name__ = 'product.modify_cost_price'
start = StateView(
'product.modify_cost_price.start',
@@ -1263,7 +1254,6 @@ class ModifyCostPrice(Wizard):
class ModifyCostPriceStart(ModelView):
- "Modify Cost Price"
__name__ = 'product.modify_cost_price.start'
date = fields.Date("Date", required=True)
cost_price = fields.Char(
@@ -1283,7 +1273,6 @@ class ModifyCostPriceStart(ModelView):
class CostPriceRevision(ModelSQL, ModifyCostPriceStart):
- "Product Cost Price Revision"
__name__ = 'product.cost_price.revision'
template = fields.Many2One(
'product.template', "Product",
diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py
index e5dab4ae59..95b51b2e58 100644
--- a/modules/stock/shipment.py
+++ b/modules/stock/shipment.py
@@ -306,7 +306,6 @@ class ShipmentCheckQuantity:
class ShipmentIn(
ShipmentCheckQuantity, ShipmentMixin, Workflow, ModelSQL, ModelView):
- "Supplier Shipment"
__name__ = 'stock.shipment.in'
company = fields.Many2One(
@@ -768,7 +767,6 @@ class ShipmentIn(
class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
- "Supplier Return Shipment"
__name__ = 'stock.shipment.in.return'
_assign_moves_field = 'moves'
@@ -1133,7 +1131,6 @@ class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
class ShipmentOut(
ShipmentCheckQuantity, ShipmentAssignMixin, Workflow, ModelSQL,
ModelView):
- "Customer Shipment"
__name__ = 'stock.shipment.out'
_assign_moves_field = 'moves'
company = fields.Many2One(
@@ -1859,7 +1856,6 @@ class ShipmentOut(
class ShipmentOutReturn(
ShipmentCheckQuantity, ShipmentMixin, Workflow, ModelSQL, ModelView):
- "Customer Return Shipment"
__name__ = 'stock.shipment.out.return'
company = fields.Many2One(
@@ -2300,7 +2296,6 @@ class ShipmentOutReturn(
class ShipmentInternal(
ShipmentCheckQuantity, ShipmentAssignMixin, Workflow, ModelSQL,
ModelView):
- "Internal Shipment"
__name__ = 'stock.shipment.internal'
_assign_moves_field = 'moves'
effective_start_date = fields.Date('Effective Start Date',
@@ -3009,7 +3004,6 @@ class ShipmentInternal(
class Assign(Wizard):
- "Assign Shipment"
__name__ = 'stock.shipment.assign'
start = StateTransition()
partial = StateView(
@@ -3058,7 +3052,6 @@ class Assign(Wizard):
class AssignPartial(ModelView):
- "Assign Shipment"
__name__ = 'stock.shipment.assign.partial'
moves = fields.Many2Many(
'stock.move', None, None, "Moves", readonly=True,
@@ -3083,7 +3076,6 @@ class ShipmentReport(CompanyReport):
class DeliveryNote(ShipmentReport):
- 'Delivery Note'
__name__ = 'stock.shipment.out.delivery_note'
@classmethod
@@ -3102,7 +3094,6 @@ class DeliveryNote(ShipmentReport):
class PickingList(ShipmentReport):
- 'Picking List'
__name__ = 'stock.shipment.out.picking_list'
@classmethod
@@ -3120,7 +3111,6 @@ class PickingList(ShipmentReport):
class SupplierRestockingList(ShipmentReport):
- 'Supplier Restocking List'
__name__ = 'stock.shipment.in.restocking_list'
@classmethod
@@ -3138,7 +3128,6 @@ class SupplierRestockingList(ShipmentReport):
class CustomerReturnRestockingList(ShipmentReport):
- 'Customer Return Restocking List'
__name__ = 'stock.shipment.out.return.restocking_list'
@classmethod
@@ -3156,7 +3145,6 @@ class CustomerReturnRestockingList(ShipmentReport):
class InteralShipmentReport(ShipmentReport):
- 'Interal Shipment Report'
__name__ = 'stock.shipment.internal.report'
@classmethod
diff --git a/modules/stock/stock_reporting_margin.py b/modules/stock/stock_reporting_margin.py
index 39b122c08f..620a8b3a8b 100644
--- a/modules/stock/stock_reporting_margin.py
+++ b/modules/stock/stock_reporting_margin.py
@@ -262,7 +262,6 @@ class AbstractTimeseries(Abstract):
class Context(ModelView):
- "Stock Reporting Margin Context"
__name__ = 'stock.reporting.margin.context'
company = fields.Many2One('company.company', "Company", required=True)
@@ -320,7 +319,6 @@ class Context(ModelView):
class Main(Abstract, ModelView):
- "Stock Reporting Margin"
__name__ = 'stock.reporting.margin.main'
time_series = fields.Function(fields.One2Many(
@@ -337,7 +335,6 @@ class Main(Abstract, ModelView):
class MainTimeseries(AbstractTimeseries, ModelView):
- "Stock Reporting Margin"
__name__ = 'stock.reporting.margin.main.time_series'
@@ -411,7 +408,6 @@ class ProductMixin:
class Product(ProductMixin, Abstract, ModelView):
- "Stock Reporting Margin per Product"
__name__ = 'stock.reporting.margin.product'
time_series = fields.One2Many(
@@ -429,7 +425,6 @@ class Product(ProductMixin, Abstract, ModelView):
class ProductTimeseries(ProductMixin, AbstractTimeseries, ModelView):
- "Stock Reporting Margin per Product"
__name__ = 'stock.reporting.margin.product.time_series'
@@ -499,7 +494,6 @@ class CategoryMixin:
class Category(CategoryMixin, Abstract, ModelView):
- "Stock Reporting Margin per Category"
__name__ = 'stock.reporting.margin.category'
time_series = fields.One2Many(
@@ -518,12 +512,10 @@ class Category(CategoryMixin, Abstract, ModelView):
class CategoryTimeseries(CategoryMixin, AbstractTimeseries, ModelView):
- "Stock Reporting Margin per Category"
__name__ = 'stock.reporting.margin.category.time_series'
class CategoryTree(ModelSQL, ModelView):
- "Stock Reporting Margin per Category"
__name__ = 'stock.reporting.margin.category.tree'
name = fields.Function(
diff --git a/modules/stock_assign_manual/stock.py b/modules/stock_assign_manual/stock.py
index 84ef9cbaa3..72590df180 100644
--- a/modules/stock_assign_manual/stock.py
+++ b/modules/stock_assign_manual/stock.py
@@ -111,7 +111,6 @@ class ShipmentInternal(ShipmentUnassignMixin, metaclass=PoolMeta):
class ShipmentAssignManual(Wizard):
- "Manual Assign Shipment"
__name__ = 'stock.shipment.assign.manual'
start_state = 'next_'
next_ = StateTransition()
@@ -165,7 +164,6 @@ class ShipmentAssignManual(Wizard):
class ShipmentAssignManualShow(ModelView):
- "Manual Assign Shipment"
__name__ = 'stock.shipment.assign.manual.show'
skipped = fields.Many2Many(
@@ -321,7 +319,6 @@ class ShipmentAssignManualShow(ModelView):
class ShipmentUnassignManual(Wizard):
- "Manual Unassign Shipment"
__name__ = 'stock.shipment.unassign.manual'
start = StateTransition()
show = StateView('stock.shipment.unassign.manual.show',
@@ -355,7 +352,6 @@ class ShipmentUnassignManual(Wizard):
class ShipmentAssignedMove(ModelView):
- "Shipment Assigned Move"
__name__ = 'stock.shipment.assigned.move'
move = fields.Many2One('stock.move', "Move", required=True)
@@ -417,7 +413,6 @@ class ShipmentAssignedMove(ModelView):
class ShipmentUnassignManualShow(ModelView):
- "Manually Unassign Shipment"
__name__ = 'stock.shipment.unassign.manual.show'
moves = fields.One2Many(
diff --git a/modules/stock_forecast/forecast.py b/modules/stock_forecast/forecast.py
index 7288457923..82dcceb0e9 100644
--- a/modules/stock_forecast/forecast.py
+++ b/modules/stock_forecast/forecast.py
@@ -24,7 +24,6 @@ from trytond.wizard import Button, StateTransition, StateView, Wizard
class Forecast(Workflow, ModelSQL, ModelView):
- "Stock Forecast"
__name__ = "stock.forecast"
_states = {
@@ -253,7 +252,6 @@ class Forecast(Workflow, ModelSQL, ModelView):
class ForecastLine(ModelSQL, ModelView):
- 'Stock Forecast Line'
__name__ = 'stock.forecast.line'
_states = {
'readonly': Eval('forecast_state') != 'draft',
@@ -494,7 +492,6 @@ class ForecastLine(ModelSQL, ModelView):
class ForecastCompleteAsk(ModelView):
- 'Complete Forecast'
__name__ = 'stock.forecast.complete.ask'
company = fields.Many2One('company.company', "Company", readonly=True)
warehouse = fields.Many2One('stock.location', "Warehouse", readonly=True)
@@ -532,7 +529,6 @@ class ForecastCompleteAsk(ModelView):
class ForecastComplete(Wizard):
- 'Complete Forecast'
__name__ = 'stock.forecast.complete'
start_state = 'ask'
ask = StateView('stock.forecast.complete.ask',
diff --git a/modules/stock_inventory_location/inventory.py b/modules/stock_inventory_location/inventory.py
index 792176a607..027dd346ec 100644
--- a/modules/stock_inventory_location/inventory.py
+++ b/modules/stock_inventory_location/inventory.py
@@ -7,7 +7,6 @@ from trytond.wizard import Button, StateAction, StateView, Wizard
class CreateInventoriesStart(ModelView):
- 'Create Inventories'
__name__ = 'stock.inventory.create.start'
date = fields.Date('Date', required=True)
company = fields.Many2One('company.company', "Company", required=True)
@@ -50,7 +49,6 @@ class CreateInventoriesStart(ModelView):
class CreateInventories(Wizard):
- 'Create Inventories'
__name__ = 'stock.inventory.create'
start = StateView('stock.inventory.create.start',
'stock_inventory_location.inventory_create_start_view_form', [
diff --git a/modules/stock_location_move/stock.py b/modules/stock_location_move/stock.py
index e19a6613fa..d833289d66 100644
--- a/modules/stock_location_move/stock.py
+++ b/modules/stock_location_move/stock.py
@@ -209,7 +209,6 @@ class ShipmentInternal(metaclass=PoolMeta):
class ShipmentInternal_Location(ModelSQL):
- "Shipment Internal - Location"
__name__ = 'stock.shipment.internal-location'
shipment = fields.Many2One(
diff --git a/modules/stock_lot/product.py b/modules/stock_lot/product.py
index 66ef30fe78..a9e4b0dad7 100644
--- a/modules/stock_lot/product.py
+++ b/modules/stock_lot/product.py
@@ -23,7 +23,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationDefaultLotSequence(ModelSQL, ValueMixin):
- "Product Configuration Default Lot Sequence"
__name__ = 'product.configuration.default_lot_sequence'
default_lot_sequence = fields.Many2One(
'ir.sequence', "Default Lot Sequence",
diff --git a/modules/stock_lot/stock.py b/modules/stock_lot/stock.py
index fcc4d9fed0..bf99547f50 100644
--- a/modules/stock_lot/stock.py
+++ b/modules/stock_lot/stock.py
@@ -78,7 +78,6 @@ class LotMixin:
class Lot(DeactivableMixin, ModelSQL, ModelView, LotMixin, StockMixin):
- "Stock Lot"
__name__ = 'stock.lot'
_rec_name = 'number'
@@ -178,9 +177,7 @@ class Lot(DeactivableMixin, ModelSQL, ModelView, LotMixin, StockMixin):
class LotTrace(ModelSQL, ModelView):
- "Lot Trace"
__name__ = 'stock.lot.trace'
-
product = fields.Many2One(
'product.product', "Product",
context={
@@ -324,7 +321,6 @@ class LotTrace(ModelSQL, ModelView):
class LotByLocationContext(ModelView):
- 'Lot by Location'
__name__ = 'stock.lots_by_location.context'
forecast_date = fields.Date(
'At Date', help=('Allow to compute expected '
@@ -347,7 +343,6 @@ class LotByLocationContext(ModelView):
class LotsByLocations(ModelSQL, ModelView):
- "Lots by Locations"
__name__ = 'stock.lots_by_locations'
lot = fields.Many2One('stock.lot', "Lot")
@@ -500,7 +495,6 @@ class Move(metaclass=PoolMeta):
class MoveAddLots(Wizard):
- "Add Lots"
__name__ = 'stock.move.add.lots'
start = StateView('stock.move.add.lots.start',
'stock_lot.move_add_lots_start_view_form', [
@@ -568,7 +562,6 @@ class MoveAddLots(Wizard):
class MoveAddLotsStart(ModelView):
- "Add Lots"
__name__ = 'stock.move.add.lots.start'
product = fields.Many2One('product.product', "Product", readonly=True)
@@ -632,7 +625,6 @@ class MoveAddLotsStart(ModelView):
class MoveAddLotsStartLot(ModelView, LotMixin):
- "Add Lots"
__name__ = 'stock.move.add.lots.start.lot'
parent = fields.Many2One('stock.move.add.lots.start', "Parent")
@@ -808,12 +800,9 @@ class Period(metaclass=PoolMeta):
class PeriodCacheLot(ModelSQL, ModelView):
- '''
- Stock Period Cache per Lot
-
- It is used to store cached computation of stock quantities per lot.
- '''
+ "It is used to store cached computation of stock quantities per lot"
__name__ = 'stock.period.cache.lot'
+
period = fields.Many2One(
'stock.period', "Period",
required=True, readonly=True, ondelete='CASCADE')
diff --git a/modules/stock_lot_sled/stock.py b/modules/stock_lot_sled/stock.py
index ffa7e8dd04..b225c50769 100644
--- a/modules/stock_lot_sled/stock.py
+++ b/modules/stock_lot_sled/stock.py
@@ -40,7 +40,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationLotShelfLife(ModelSQL, ValueMixin):
- "Stock Configuration Lot Shelf Life"
__name__ = 'stock.location.lot.shelf_life'
shelf_life_delay = shelf_life_delay
diff --git a/modules/stock_package/stock.py b/modules/stock_package/stock.py
index fd121a0e3a..f1bfc4daf1 100644
--- a/modules/stock_package/stock.py
+++ b/modules/stock_package/stock.py
@@ -155,7 +155,6 @@ class MeasurementsMixin:
class Package(tree(), MeasurementsMixin, ModelSQL, ModelView):
- 'Stock Package'
__name__ = 'stock.package'
_rec_name = 'number'
number = fields.Char("Number", readonly=True, required=True)
@@ -354,7 +353,6 @@ class Package(tree(), MeasurementsMixin, ModelSQL, ModelView):
class Type(MeasurementsMixin, DeactivableMixin, ModelSQL, ModelView):
- 'Stock Package Type'
__name__ = 'stock.package.type'
name = fields.Char('Name', required=True)
diff --git a/modules/stock_package_shipping/stock.py b/modules/stock_package_shipping/stock.py
index 54076ce663..5b8e9dff00 100644
--- a/modules/stock_package_shipping/stock.py
+++ b/modules/stock_package_shipping/stock.py
@@ -311,7 +311,6 @@ class ShipmentInReturn(ShippingMixin, metaclass=PoolMeta):
class CreateShipping(Wizard):
- 'Create Shipping'
__name__ = 'stock.shipment.create_shipping'
start = StateTransition()
@@ -342,7 +341,6 @@ class ShippingLabel(Report):
class PrintShippingLabel(Wizard):
- "Print Shipping Label"
__name__ = 'stock.shipment.print_shipping_label'
start_state = 'print_'
print_ = StateAction('stock_package_shipping.report_shipping_label')
diff --git a/modules/stock_package_shipping_dpd/carrier.py b/modules/stock_package_shipping_dpd/carrier.py
index cfa95dae25..412ac97ba5 100644
--- a/modules/stock_package_shipping_dpd/carrier.py
+++ b/modules/stock_package_shipping_dpd/carrier.py
@@ -16,7 +16,6 @@ from .exceptions import DPDCredentialWarning, DPDError
class CredentialDPD(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'DPD Credential'
__name__ = 'carrier.credential.dpd'
company = fields.Many2One('company.company', 'Company')
diff --git a/modules/stock_package_shipping_dpd/stock.py b/modules/stock_package_shipping_dpd/stock.py
index f3f554e760..c2e8a74713 100644
--- a/modules/stock_package_shipping_dpd/stock.py
+++ b/modules/stock_package_shipping_dpd/stock.py
@@ -112,7 +112,6 @@ class CreateShipping(metaclass=PoolMeta):
class CreateDPDShipping(Wizard):
- 'Create DPD Shipping'
__name__ = 'stock.shipment.create_shipping.dpd'
start = StateTransition()
diff --git a/modules/stock_package_shipping_mygls/carrier.py b/modules/stock_package_shipping_mygls/carrier.py
index 5474031fef..e2dda5a2d5 100644
--- a/modules/stock_package_shipping_mygls/carrier.py
+++ b/modules/stock_package_shipping_mygls/carrier.py
@@ -10,7 +10,6 @@ from .exceptions import MyGLSCredentialWarning
class CredentialMyGLS(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "MyGLS Credential"
__name__ = 'carrier.credential.mygls'
company = fields.Many2One('company.company', "Company")
diff --git a/modules/stock_package_shipping_mygls/stock.py b/modules/stock_package_shipping_mygls/stock.py
index be14c83f8a..b94a1a053d 100644
--- a/modules/stock_package_shipping_mygls/stock.py
+++ b/modules/stock_package_shipping_mygls/stock.py
@@ -138,7 +138,6 @@ class ShipmentCreateShipping(metaclass=PoolMeta):
class ShipmentCreateShippingMyGLS(Wizard):
- "Create MyGLS Shipping"
__name__ = 'stock.shipment.create_shipping.mygls'
start = StateTransition()
diff --git a/modules/stock_package_shipping_sendcloud/carrier.py b/modules/stock_package_shipping_sendcloud/carrier.py
index 71428b45c1..83d2dbe97b 100644
--- a/modules/stock_package_shipping_sendcloud/carrier.py
+++ b/modules/stock_package_shipping_sendcloud/carrier.py
@@ -49,7 +49,6 @@ def sendcloud_api(func):
class CredentialSendcloud(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Sendcloud Credential"
__name__ = 'carrier.credential.sendcloud'
company = fields.Many2One('company.company', "Company")
@@ -205,7 +204,6 @@ class CredentialSendcloud(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
class SendcloudAddress(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Sendcloud Address"
__name__ = 'carrier.sendcloud.address'
sendcloud = fields.Many2One(
@@ -244,7 +242,6 @@ class SendcloudAddress(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
class SendcloudShippingMethod(
sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- "Sendcloud Shipping Method"
__name__ = 'carrier.sendcloud.shipping_method'
sendcloud = fields.Many2One(
diff --git a/modules/stock_package_shipping_sendcloud/stock.py b/modules/stock_package_shipping_sendcloud/stock.py
index 5c783cb62e..46e26c5476 100644
--- a/modules/stock_package_shipping_sendcloud/stock.py
+++ b/modules/stock_package_shipping_sendcloud/stock.py
@@ -90,7 +90,6 @@ class CreateShipping(metaclass=PoolMeta):
class CreateShippingSendcloud(Wizard):
- "Create Sendcloud Shipping"
__name__ = 'stock.shipment.create_shipping.sendcloud'
start = StateTransition()
diff --git a/modules/stock_package_shipping_ups/carrier.py b/modules/stock_package_shipping_ups/carrier.py
index 6cbfbf08e7..2400c7dcd6 100644
--- a/modules/stock_package_shipping_ups/carrier.py
+++ b/modules/stock_package_shipping_ups/carrier.py
@@ -14,7 +14,6 @@ from .exceptions import UPSCredentialWarning
class CredentialUPS(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- 'UPS Credential'
__name__ = 'carrier.credential.ups'
_rec_name = 'account_number'
diff --git a/modules/stock_package_shipping_ups/stock.py b/modules/stock_package_shipping_ups/stock.py
index ff57dbe6d4..194ae5db22 100644
--- a/modules/stock_package_shipping_ups/stock.py
+++ b/modules/stock_package_shipping_ups/stock.py
@@ -155,7 +155,6 @@ class CreateShipping(metaclass=PoolMeta):
class CreateShippingUPS(Wizard):
- 'Create UPS Shipping'
__name__ = 'stock.shipment.create_shipping.ups'
start = StateTransition()
diff --git a/modules/stock_product_location/location.py b/modules/stock_product_location/location.py
index 4f3be6ed87..bb318f09c6 100644
--- a/modules/stock_product_location/location.py
+++ b/modules/stock_product_location/location.py
@@ -7,10 +7,7 @@ from trytond.pyson import Bool, Eval, If
class ProductLocation(sequence_ordered(), ModelSQL, ModelView, MatchMixin):
- '''
- Product Location
- It defines the default storage location by warehouse for a product.
- '''
+ "It defines the default storage location by warehouse for a product"
__name__ = 'stock.product.location'
template = fields.Many2One(
'product.template', "Product",
diff --git a/modules/stock_product_location_place/stock.py b/modules/stock_product_location_place/stock.py
index a96033e1fa..506222fca0 100644
--- a/modules/stock_product_location_place/stock.py
+++ b/modules/stock_product_location_place/stock.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval, If
class ProductLocationPlace(ModelSQL, ModelView):
- "Product Location Place"
__name__ = 'stock.product.location.place'
_rec_name = 'place'
diff --git a/modules/stock_quantity_early_planning/stock.py b/modules/stock_quantity_early_planning/stock.py
index 0f989dff28..0d2c7def6e 100644
--- a/modules/stock_quantity_early_planning/stock.py
+++ b/modules/stock_quantity_early_planning/stock.py
@@ -14,7 +14,6 @@ from trytond.wizard import Button, StateAction, StateView, Wizard
class QuantityEarlyPlan(Workflow, ModelSQL, ModelView):
- "Stock Quantity Early Plan"
__name__ = 'stock.quantity.early_plan'
company = fields.Many2One(
@@ -549,7 +548,6 @@ class Move(metaclass=PoolMeta):
class QuantityEarlyPlanGenerate(Wizard):
- "Stock Quantity Early Plan Generate"
__name__ = 'stock.quantity.early_plan.generate'
start = StateView(
'stock.quantity.early_plan.generate.start',
@@ -570,7 +568,6 @@ class QuantityEarlyPlanGenerate(Wizard):
class QuantityEarlyPlanGenerateStart(ModelView):
- "Stock Quantity Early Plan Generate"
__name__ = 'stock.quantity.early_plan.generate.start'
warehouses = fields.Many2Many(
'stock.location', None, None, "Warehouses",
diff --git a/modules/stock_quantity_issue/stock.py b/modules/stock_quantity_issue/stock.py
index be5fe56212..f09030d2f8 100644
--- a/modules/stock_quantity_issue/stock.py
+++ b/modules/stock_quantity_issue/stock.py
@@ -19,7 +19,6 @@ from .exceptions import QuantityIssueError
class QuantityIssue(
sequence_ordered('priority', "Priority", "ASC NULLS LAST"),
Workflow, ModelSQL, ModelView):
- "Stock Quantity Issue"
__name__ = 'stock.quantity.issue'
company = fields.Many2One(
@@ -347,7 +346,6 @@ class QuantityIssueProduction(metaclass=PoolMeta):
class QuantityIssueProduct(ModelSQL):
- "Stock Quantity Issue Product"
__name__ = 'stock.quantity.issue.product'
issue = fields.Many2One(
@@ -391,7 +389,6 @@ class QuantityIssueProduct(ModelSQL):
class QuantityIssueGenerate(Wizard):
- "Stock Quantity Issue Generate"
__name__ = 'stock.quantity.issue.generate'
start = StateView(
'stock.quantity.issue.generate.start',
@@ -409,7 +406,6 @@ class QuantityIssueGenerate(Wizard):
class QuantityIssueGenerateStart(ModelView):
- "Stock Quantity Issue Generate"
__name__ = 'stock.quantity.issue.generate.start'
warehouses = fields.Many2Many(
'stock.location', None, None, "Warehouses",
diff --git a/modules/stock_shipment_measurements/stock.py b/modules/stock_shipment_measurements/stock.py
index 035a2fb943..9e0a6a2c33 100644
--- a/modules/stock_shipment_measurements/stock.py
+++ b/modules/stock_shipment_measurements/stock.py
@@ -50,7 +50,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationMeasurement(ModelSQL, CompanyValueMixin):
- "Stock Configuration Measurement"
__name__ = 'stock.configuration.measurement'
measurement_weight_uom = fields.Many2One(
diff --git a/modules/stock_split/stock.py b/modules/stock_split/stock.py
index 04b64be38a..d726c9a8f1 100644
--- a/modules/stock_split/stock.py
+++ b/modules/stock_split/stock.py
@@ -75,7 +75,6 @@ class Move(metaclass=PoolMeta):
class SplitMoveStart(ModelView):
- 'Split Move'
__name__ = 'stock.move.split.start'
count = fields.Integer('Counts', help='The limit number of moves.')
quantity = fields.Float("Quantity", digits='unit', required=True)
@@ -90,7 +89,6 @@ class SplitMoveStart(ModelView):
class SplitMove(Wizard):
- 'Split Move'
__name__ = 'stock.move.split'
start = StateView('stock.move.split.start',
'stock_split.split_start_view_form', [
@@ -143,7 +141,6 @@ class ShipmentInternal(_ShipmentSplit, metaclass=PoolMeta):
class SplitShipment(Wizard):
- "Split Shipment"
__name__ = 'stock.shipment.split'
start = StateView('stock.shipment.split.start',
'stock_split.shipment_split_start_view_form', [
@@ -190,7 +187,6 @@ class SplitShipment(Wizard):
class SplitShipmentStart(ModelView):
- "Split Shipment"
__name__ = 'stock.shipment.split.start'
moves = fields.Many2Many(
'stock.move', None, None, "Moves",
diff --git a/modules/stock_supply/order_point.py b/modules/stock_supply/order_point.py
index 86a5663a02..9d82ed9a05 100644
--- a/modules/stock_supply/order_point.py
+++ b/modules/stock_supply/order_point.py
@@ -14,7 +14,6 @@ from trytond.transaction import Transaction
class OrderPoint(ModelSQL, ModelView):
"""
- Order Point
Provide a way to define a supply policy for each
product on each locations. Order points on warehouse are
considered by the supply scheduler to generate purchase requests.
diff --git a/modules/stock_supply/purchase_request.py b/modules/stock_supply/purchase_request.py
index 6549a4de9f..4070889f93 100644
--- a/modules/stock_supply/purchase_request.py
+++ b/modules/stock_supply/purchase_request.py
@@ -24,13 +24,11 @@ class PurchaseConfiguration(metaclass=PoolMeta):
class PurchaseConfigurationSupplyPeriod(ModelSQL, ValueMixin):
- "Purchase Configuration Supply Period"
__name__ = 'purchase.configuration.supply_period'
supply_period = supply_period
class PurchaseRequest(metaclass=PoolMeta):
- 'Purchase Request'
__name__ = 'purchase.request'
@classmethod
diff --git a/modules/stock_supply/stock.py b/modules/stock_supply/stock.py
index 00b4f0b82d..e66e9cc58c 100644
--- a/modules/stock_supply/stock.py
+++ b/modules/stock_supply/stock.py
@@ -11,7 +11,6 @@ from .exceptions import SupplyWarning
class Supply(Wizard):
- "Supply Stock"
__name__ = 'stock.supply'
start = StateView(
'stock.supply.start',
@@ -126,7 +125,6 @@ class Supply(Wizard):
class SupplyStart(ModelView):
- "Supply Stock"
__name__ = 'stock.supply.start'
warehouses = fields.Many2Many(
diff --git a/modules/stock_supply_day/purchase.py b/modules/stock_supply_day/purchase.py
index 772cffe594..46b95d163d 100644
--- a/modules/stock_supply_day/purchase.py
+++ b/modules/stock_supply_day/purchase.py
@@ -42,7 +42,6 @@ class ProductSupplier(metaclass=PoolMeta):
class ProductSupplierDay(ModelSQL):
- 'Product Supplier Day'
__name__ = 'purchase.product_supplier.day'
product_supplier = fields.Many2One(
'purchase.product_supplier', 'Supplier',
diff --git a/modules/stock_supply_production/production.py b/modules/stock_supply_production/production.py
index 34892f09d8..7a73954802 100644
--- a/modules/stock_supply_production/production.py
+++ b/modules/stock_supply_production/production.py
@@ -23,7 +23,6 @@ class Configuration(metaclass=PoolMeta):
class ConfigurationSupplyPeriod(ModelSQL, ValueMixin):
- "Production Configuration Supply Period"
__name__ = 'production.configuration.supply_period'
supply_period = supply_period
diff --git a/modules/timesheet/line.py b/modules/timesheet/line.py
index 3c031abb71..ca8d27fce9 100644
--- a/modules/timesheet/line.py
+++ b/modules/timesheet/line.py
@@ -18,7 +18,6 @@ from .exceptions import DurationValidationError
class Line(ModelSQL, ModelView):
- 'Timesheet Line'
__name__ = 'timesheet.line'
company = fields.Many2One('company.company', 'Company', required=True,
help="The company on which the time is spent.")
@@ -161,7 +160,6 @@ class Line(ModelSQL, ModelView):
class EnterLinesStart(ModelView):
- 'Enter Lines'
__name__ = 'timesheet.line.enter.start'
employee = fields.Many2One('company.employee', 'Employee', required=True,
domain=[
@@ -191,7 +189,6 @@ class EnterLinesStart(ModelView):
class EnterLines(Wizard):
- 'Enter Lines'
__name__ = 'timesheet.line.enter'
start = StateView('timesheet.line.enter.start',
'timesheet.line_enter_start_view_form', [
@@ -226,7 +223,6 @@ class EnterLines(Wizard):
class HoursEmployee(ModelSQL, ModelView):
- 'Hours per Employee'
__name__ = 'timesheet.hours_employee'
employee = fields.Many2One('company.employee', 'Employee')
duration = fields.TimeDelta('Duration', 'company_work_time')
@@ -254,14 +250,12 @@ class HoursEmployee(ModelSQL, ModelView):
class HoursEmployeeContext(ModelView):
- 'Hours per Employee Context'
__name__ = 'timesheet.hours_employee.context'
start_date = fields.Date('Start Date')
end_date = fields.Date('End Date')
class HoursEmployeeWeekly(ModelSQL, ModelView):
- 'Hours per Employee per Week'
__name__ = 'timesheet.hours_employee_weekly'
year = fields.Integer("Year")
week = fields.Integer("Week")
@@ -298,7 +292,6 @@ class HoursEmployeeWeekly(ModelSQL, ModelView):
class HoursEmployeeMonthly(ModelSQL, ModelView):
- 'Hours per Employee per Month'
__name__ = 'timesheet.hours_employee_monthly'
year = fields.Integer("Year")
month = fields.Many2One('ir.calendar.month', "Month")
diff --git a/modules/timesheet/work.py b/modules/timesheet/work.py
index 2d3e6092d2..30c513e7f6 100644
--- a/modules/timesheet/work.py
+++ b/modules/timesheet/work.py
@@ -17,7 +17,6 @@ from .exceptions import CompanyValidationError
class Work(ModelSQL, ModelView):
- 'Work'
__name__ = 'timesheet.work'
name = fields.Char('Name',
states={
@@ -174,7 +173,6 @@ class Work(ModelSQL, ModelView):
class WorkContext(ModelView):
- 'Work Context'
__name__ = 'timesheet.work.context'
from_date = fields.Date('From Date',
help="Do not take into account lines before the date.")
diff --git a/modules/timesheet_cost/company.py b/modules/timesheet_cost/company.py
index 6aadb35e10..c69c672c3d 100644
--- a/modules/timesheet_cost/company.py
+++ b/modules/timesheet_cost/company.py
@@ -71,7 +71,6 @@ class Employee(metaclass=PoolMeta):
class EmployeeCostPrice(ModelSQL, ModelView):
- 'Employee Cost Price'
__name__ = 'company.employee_cost_price'
date = fields.Date("Date", required=True)
cost_price = fields.Numeric('Cost Price',
diff --git a/modules/user_role/res.py b/modules/user_role/res.py
index dfe1ecfb15..4a1bb7e03f 100644
--- a/modules/user_role/res.py
+++ b/modules/user_role/res.py
@@ -8,7 +8,6 @@ from trytond.pyson import Bool, Eval, If
class Role(ModelSQL, ModelView):
- "Role"
__name__ = 'res.role'
name = fields.Char("Name", required=True, translate=True)
groups = fields.Many2Many('res.role-res.group', 'role', 'group', "Groups")
@@ -27,7 +26,6 @@ class Role(ModelSQL, ModelView):
class RoleGroup(ModelSQL):
- "Role - Group"
__name__ = 'res.role-res.group'
role = fields.Many2One(
'res.role', "Role", ondelete='CASCADE', required=True)
@@ -85,7 +83,6 @@ class User(metaclass=PoolMeta):
class UserRole(ModelSQL, ModelView):
- "User Role"
__name__ = 'res.user.role'
user = fields.Many2One(
'res.user', "User", ondelete='CASCADE', required=True)
diff --git a/modules/web_shop/web.py b/modules/web_shop/web.py
index c16076be3b..72ea25291a 100644
--- a/modules/web_shop/web.py
+++ b/modules/web_shop/web.py
@@ -44,7 +44,6 @@ class Inactivate(ModelSQL, DeactivableMixin):
class Shop(DeactivableMixin, ModelSQL, ModelView):
- "Web Shop"
__name__ = 'web.shop'
name = fields.Char("Name", required=True)
@@ -314,7 +313,6 @@ class Shop_TaxRuleCountry(metaclass=PoolMeta):
class Shop_Warehouse(ModelSQL):
- "Web Shop - Warehouse"
__name__ = 'web.shop-stock.location'
shop = fields.Many2One(
@@ -327,7 +325,6 @@ class Shop_Warehouse(ModelSQL):
class Shop_Country(ModelSQL):
- "Web Shop - Country"
__name__ = 'web.shop-country.country'
shop = fields.Many2One(
@@ -337,7 +334,6 @@ class Shop_Country(ModelSQL):
class Shop_Product(Inactivate):
- "Web Shop - Product"
__name__ = 'web.shop-product.product'
shop = fields.Many2One(
@@ -347,7 +343,6 @@ class Shop_Product(Inactivate):
class Shop_ProductCategory(Inactivate):
- "Web Shop - Product Category"
__name__ = 'web.shop-product.category'
shop = fields.Many2One(
@@ -376,7 +371,6 @@ class ShopAttribute(metaclass=PoolMeta):
class Shop_Attribute(Inactivate):
- "Web Shop - Attribute"
__name__ = 'web.shop-product.attribute'
shop = fields.Many2One(
diff --git a/modules/web_shop_product_data_feed/product.py b/modules/web_shop_product_data_feed/product.py
index 52cce4f2b8..b8eebe222c 100644
--- a/modules/web_shop_product_data_feed/product.py
+++ b/modules/web_shop_product_data_feed/product.py
@@ -43,7 +43,6 @@ class Product(metaclass=PoolMeta):
class CategoryGoogle(ModelSQL, ModelView):
- "Google Product Category"
__name__ = 'product.category.google'
code = fields.Char("Code", required=True)
@@ -51,7 +50,6 @@ class CategoryGoogle(ModelSQL, ModelView):
class CategoryFacebook(ModelSQL, ModelView):
- "Facebook Product Category"
__name__ = 'product.category.facebook'
code = fields.Char("Code", required=True)
diff --git a/modules/web_shop_shopify/product.py b/modules/web_shop_shopify/product.py
index 7cb0fe61c5..21add964dc 100644
--- a/modules/web_shop_shopify/product.py
+++ b/modules/web_shop_shopify/product.py
@@ -294,7 +294,6 @@ class Product(IdentifiersMixin, metaclass=PoolMeta):
class ShopifyInventoryItem(IdentifiersMixin, ModelSQL, ModelView):
- "Shopify Inventory Item"
__name__ = 'product.shopify_inventory_item'
product = fields.Function(
diff --git a/modules/web_shop_shopify/stock.py b/modules/web_shop_shopify/stock.py
index 7ddcfadaa2..25b1764d13 100644
--- a/modules/web_shop_shopify/stock.py
+++ b/modules/web_shop_shopify/stock.py
@@ -100,7 +100,6 @@ class ShipmentOut(metaclass=PoolMeta):
class ShipmentShopifyIdentifier(IdentifierMixin, ModelSQL, ModelView):
- "Shopify Shipment Identifier"
__name__ = 'stock.shipment.shopify_identifier'
shipment = fields.Reference("Shipment", [
diff --git a/modules/web_shop_shopify/web.py b/modules/web_shop_shopify/web.py
index b8fc1ce1aa..84b8796eea 100644
--- a/modules/web_shop_shopify/web.py
+++ b/modules/web_shop_shopify/web.py
@@ -599,7 +599,6 @@ class Shop(metaclass=PoolMeta):
class ShopShopifyIdentifier(IdentifierMixin, ModelSQL, ModelView):
- "Shopify Identifier"
__name__ = 'web.shop.shopify_identifier'
record = fields.Reference("Record", 'get_records', required=True)
@@ -709,7 +708,6 @@ class Shop_Attribute(metaclass=PoolMeta):
class ShopShopifyPaymentJournal(
sequence_ordered(), MatchMixin, ModelSQL, ModelView):
- "Shopify Payment Journal"
__name__ = 'web.shop.shopify_payment_journal'
shop = fields.Many2One(
diff --git a/modules/web_shop_vue_storefront/web.py b/modules/web_shop_vue_storefront/web.py
index 54329825b7..e69a139117 100644
--- a/modules/web_shop_vue_storefront/web.py
+++ b/modules/web_shop_vue_storefront/web.py
@@ -518,7 +518,6 @@ class ShopShipmentCost(metaclass=PoolMeta):
class ShopVSFIdentifier(ModelSQL):
- "Web Shop Vue Storefront Identifier"
__name__ = 'web.shop.vsf_identifier'
record = fields.Reference("Record", 'get_records', required=True)
diff --git a/modules/web_shortener/web.py b/modules/web_shortener/web.py
index 10772492b8..8d3b357631 100644
--- a/modules/web_shortener/web.py
+++ b/modules/web_shortener/web.py
@@ -21,7 +21,6 @@ logger = logging.getLogger(__name__)
class ShortenedURL(ModelSQL, ModelView):
- "Short URL"
__name__ = 'web.shortened_url'
shortened_url = fields.Function(
@@ -125,7 +124,6 @@ class ShortenedURL(ModelSQL, ModelView):
class URLAccess(ModelSQL):
- "URL Access"
__name__ = 'web.shortened_url.access'
url = fields.Many2One('web.shortened_url', "URL", required=True)
diff --git a/modules/web_user/user.py b/modules/web_user/user.py
index 338120104f..f5bc94f858 100644
--- a/modules/web_user/user.py
+++ b/modules/web_user/user.py
@@ -68,7 +68,6 @@ def _extract_params(url):
class User(avatar_mixin(100), DeactivableMixin, ModelSQL, ModelView):
- 'Web User'
__name__ = 'web.user'
_rec_name = 'email'
@@ -427,7 +426,6 @@ class User(avatar_mixin(100), DeactivableMixin, ModelSQL, ModelView):
class User_PartySecondary(ModelSQL):
- "Web User - Secondary Party"
__name__ = 'web.user-party.party.secondary'
user = fields.Many2One(
@@ -437,13 +435,11 @@ class User_PartySecondary(ModelSQL):
class UserAuthenticateAttempt(LoginAttempt):
- 'Web User Authenticate Attempt'
__name__ = 'web.user.authenticate.attempt'
_table = None # Needed to reset LoginAttempt._table
class UserSession(ModelSQL):
- 'Web User Session'
__name__ = 'web.user.session'
_rec_name = 'key'
diff --git a/trytond/CHANGELOG b/trytond/CHANGELOG
index 076a31cac6..b4223c0d4c 100644
--- a/trytond/CHANGELOG
+++ b/trytond/CHANGELOG
@@ -1,3 +1,4 @@
+* Replace usage of docstring of Model by __string__ attribute
* Rename ir.model.field 'field_description' into 'string'
* Replace docstring of models by __string__
* Rename ir.model 'name' field into 'string' and 'model' into 'name'
diff --git a/trytond/doc/ref/models.rst b/trytond/doc/ref/models.rst
index 874c369ebc..2a868fb2ca 100644
--- a/trytond/doc/ref/models.rst
+++ b/trytond/doc/ref/models.rst
@@ -23,6 +23,11 @@ Class attributes are:
The a unique name to reference the model throughout the platform.
+.. attribute:: Model.__string__
+
+ A string for the label of the model.
+ The default value is built from :attr:`~Model.__name__`.
+
.. attribute:: Model.__access__
A set that contains the names of relation field for which the access rights
diff --git a/trytond/doc/tutorial/module/model.rst b/trytond/doc/tutorial/module/model.rst
index bd5e8ede2f..288afbc172 100644
--- a/trytond/doc/tutorial/module/model.rst
+++ b/trytond/doc/tutorial/module/model.rst
@@ -21,7 +21,6 @@ Our model in :file:`opportunity.py` file currently looks like this:
from trytond.model import ModelSQL, fields
class Opportunity(ModelSQL):
- "Opportunity"
__name__ = 'training.opportunity'
_rec_name = 'description'
diff --git a/trytond/doc/tutorial/module/table_query.rst b/trytond/doc/tutorial/module/table_query.rst
index e02a1b82ff..1ed6baa87f 100644
--- a/trytond/doc/tutorial/module/table_query.rst
+++ b/trytond/doc/tutorial/module/table_query.rst
@@ -22,7 +22,6 @@ First we create a :class:`~trytond.model.ModelSQL` class which defines a
from sql.functions import CurrentTimestamp, DateTrunc
...
class OpportunityMonthly(ModelSQL, ModelView):
- "Opportunity Monthly"
__name__ = 'training.opportunity.monthly'
month = fields.Date("Month")
diff --git a/trytond/doc/tutorial/module/wizard.rst b/trytond/doc/tutorial/module/wizard.rst
index f957ca061b..ffeef005ae 100644
--- a/trytond/doc/tutorial/module/wizard.rst
+++ b/trytond/doc/tutorial/module/wizard.rst
@@ -20,7 +20,6 @@ First we define a :class:`~trytond.model.ModelView` class in
.. code-block:: python
class ConvertStart(ModelView):
- "Convert Opportunities"
__name__ = 'training.opportunity.convert.start'
end_date = fields.Date("End Date", required=True)
@@ -81,7 +80,6 @@ Now we can define the :class:`~trytond.wizard.Wizard` with a ``start``
})
...
class Convert(Wizard):
- "Convert Opportunities"
__name__ = 'training.opportunity.convert'
start = StateView(
diff --git a/trytond/trytond/ir/action.py b/trytond/trytond/ir/action.py
index 4a995f1722..adac069a73 100644
--- a/trytond/trytond/ir/action.py
+++ b/trytond/trytond/ir/action.py
@@ -51,7 +51,6 @@ ACTION_SELECTION = [
class Action(DeactivableMixin, ModelSQL, ModelView):
- "Action"
__name__ = 'ir.action'
name = fields.Char('Name', required=True, translate=True)
type = fields.Selection(
@@ -151,7 +150,6 @@ class Action(DeactivableMixin, ModelSQL, ModelView):
class ActionKeyword(ModelSQL, ModelView):
- "Action keyword"
__name__ = 'ir.action.keyword'
keyword = fields.Selection([
('tree_open', 'Open tree'),
@@ -471,7 +469,6 @@ class ActionReport(
'module_ref', 'module', 'ir.module,name', "Module",
readonly=True, ondelete='CASCADE'),
ActionMixin, ModelSQL, ModelView):
- "Action report"
__name__ = 'ir.action.report'
_action_name = 'report_name'
model = fields.Char('Model')
@@ -735,7 +732,6 @@ class ActionActWindow(
'context_model_ref', 'context_model', 'ir.model,name',
"Context Model", ondelete='CASCADE'),
ActionMixin, ModelSQL, ModelView):
- "Action act window"
__name__ = 'ir.action.act_window'
domain = fields.Char('Domain Value')
context = fields.Char('Context Value')
@@ -937,7 +933,6 @@ class ActionActWindow(
class ActionActWindowView(
sequence_ordered(), DeactivableMixin, ModelSQL, ModelView):
- "Action act window view"
__name__ = 'ir.action.act_window.view'
view = fields.Many2One(
'ir.ui.view', "View", required=True, ondelete='CASCADE',
@@ -989,7 +984,6 @@ class ActionActWindowView(
class ActionActWindowDomain(
sequence_ordered(), DeactivableMixin, ModelSQL, ModelView):
- "Action act window domain"
__name__ = 'ir.action.act_window.domain'
name = fields.Char('Name', translate=True)
domain = fields.Char('Domain')
@@ -1115,7 +1109,6 @@ class ActionWizard(
class ActionURL(ActionMixin, ModelSQL, ModelView):
- "Action URL"
__name__ = 'ir.action.url'
url = fields.Char('Action Url', required=True)
diff --git a/trytond/trytond/ir/attachment.py b/trytond/trytond/ir/attachment.py
index e5496ccce5..2659116784 100644
--- a/trytond/trytond/ir/attachment.py
+++ b/trytond/trytond/ir/attachment.py
@@ -22,7 +22,6 @@ else:
class Attachment(ResourceMixin, ModelSQL, ModelView):
- "Attachment"
__name__ = 'ir.attachment'
name = fields.Char('Name', required=True)
type = fields.Selection([
diff --git a/trytond/trytond/ir/avatar.py b/trytond/trytond/ir/avatar.py
index 525aa8f0f1..6c820f6464 100644
--- a/trytond/trytond/ir/avatar.py
+++ b/trytond/trytond/ir/avatar.py
@@ -39,7 +39,6 @@ class ImageMixin:
class Avatar(ImageMixin, ResourceMixin, ModelSQL):
- "Avatar"
__name__ = 'ir.avatar'
uuid = fields.Char("UUID", required=True)
@@ -162,7 +161,6 @@ class Avatar(ImageMixin, ResourceMixin, ModelSQL):
class AvatarCache(ImageMixin, ModelSQL):
- "Avatar Cache"
__name__ = 'ir.avatar.cache'
avatar = fields.Many2One(
diff --git a/trytond/trytond/ir/cache.py b/trytond/trytond/ir/cache.py
index 6baa262402..6149f3beff 100644
--- a/trytond/trytond/ir/cache.py
+++ b/trytond/trytond/ir/cache.py
@@ -4,7 +4,6 @@ from trytond.model import ModelSQL, Unique, fields
class Cache(ModelSQL):
- "Cache"
__name__ = 'ir.cache'
name = fields.Char('Name', required=True)
timestamp = fields.Timestamp("Timestamp")
diff --git a/trytond/trytond/ir/calendar_.py b/trytond/trytond/ir/calendar_.py
index d3648841a5..610cb0852c 100644
--- a/trytond/trytond/ir/calendar_.py
+++ b/trytond/trytond/ir/calendar_.py
@@ -52,7 +52,6 @@ class _Calendar(ModelSQL):
class Month(_Calendar):
- "Month"
__name__ = 'ir.calendar.month'
_min_index = 1
_max_index = 12
@@ -60,7 +59,6 @@ class Month(_Calendar):
class Day(_Calendar):
- "Day"
__name__ = 'ir.calendar.day'
_min_index = 0
_max_index = 6
diff --git a/trytond/trytond/ir/cron.py b/trytond/trytond/ir/cron.py
index 17bf03a6f9..c9b8daf1fc 100644
--- a/trytond/trytond/ir/cron.py
+++ b/trytond/trytond/ir/cron.py
@@ -33,7 +33,6 @@ def str2bigint(s):
class Cron(DeactivableMixin, ModelSQL, ModelView):
- "Cron"
__name__ = "ir.cron"
_states = {
'readonly': Eval('running', False),
diff --git a/trytond/trytond/ir/date.py b/trytond/trytond/ir/date.py
index e1fb0a4197..4030d9c369 100644
--- a/trytond/trytond/ir/date.py
+++ b/trytond/trytond/ir/date.py
@@ -7,7 +7,6 @@ from trytond.rpc import RPC
class Date(Model):
- 'Date'
__name__ = 'ir.date'
@classmethod
diff --git a/trytond/trytond/ir/email_.py b/trytond/trytond/ir/email_.py
index ca736522e9..f547b000c2 100644
--- a/trytond/trytond/ir/email_.py
+++ b/trytond/trytond/ir/email_.py
@@ -58,7 +58,6 @@ def _formataddr(pair):
class Email(ResourceAccessMixin, ModelSQL, ModelView):
- "Email"
__name__ = 'ir.email'
user = fields.Function(fields.Char("User"), 'get_user')
@@ -230,7 +229,6 @@ class Email(ResourceAccessMixin, ModelSQL, ModelView):
class EmailAddress(ModelSQL):
- "Email Address"
__name__ = 'ir.email.address'
email = fields.Many2One(
@@ -239,7 +237,6 @@ class EmailAddress(ModelSQL):
class EmailTemplate(ModelSQL, ModelView):
- "Email Template"
__name__ = 'ir.email.template'
model = fields.Many2One('ir.model', "Model", required=True)
@@ -579,7 +576,6 @@ class EmailTemplate(ModelSQL, ModelView):
class EmailTemplate_Report(ModelSQL):
- "Email Template - Report"
__name__ = 'ir.email.template-ir.action.report'
template = fields.Many2One(
diff --git a/trytond/trytond/ir/error.py b/trytond/trytond/ir/error.py
index 8b87d6163b..b711ace0dc 100644
--- a/trytond/trytond/ir/error.py
+++ b/trytond/trytond/ir/error.py
@@ -45,7 +45,6 @@ def reset_user(*fields):
class Error(Workflow, ModelView, ModelSQL):
- "Error"
__name__ = 'ir.error'
origin = fields.Reference("Origin", [
diff --git a/trytond/trytond/ir/export.py b/trytond/trytond/ir/export.py
index af9ef3b5c3..6a14b4de50 100644
--- a/trytond/trytond/ir/export.py
+++ b/trytond/trytond/ir/export.py
@@ -25,7 +25,6 @@ class _ClearCache(ModelSQL):
class Export(_ClearCache, ModelSQL, ModelView):
- "Export"
__name__ = "ir.export"
name = fields.Char('Name')
resource = fields.Char('Resource')
@@ -131,7 +130,6 @@ class Export(_ClearCache, ModelSQL, ModelView):
class ExportLine(_ClearCache, ModelSQL, ModelView):
- "Export line"
__name__ = 'ir.export.line'
name = fields.Char('Name')
export = fields.Many2One('ir.export', 'Export', required=True,
diff --git a/trytond/trytond/ir/lang.py b/trytond/trytond/ir/lang.py
index ae2a07bb76..65976eb783 100644
--- a/trytond/trytond/ir/lang.py
+++ b/trytond/trytond/ir/lang.py
@@ -64,8 +64,8 @@ def _replace(src, old, new, escape='%'):
class Lang(DeactivableMixin, ModelSQL, ModelView):
- "Language"
__name__ = "ir.lang"
+ __string__ = "Language"
name = fields.Char('Name', required=True, translate=True)
code = fields.Char('Code', required=True, help="RFC 4646 tag.")
translatable = fields.Boolean('Translatable', readonly=True)
@@ -615,9 +615,7 @@ class Lang(DeactivableMixin, ModelSQL, ModelView):
class LangConfigStart(ModelView):
- "Configure languages"
__name__ = 'ir.lang.config.start'
-
languages = fields.Many2Many('ir.lang', None, None, "Languages")
@classmethod
@@ -628,7 +626,6 @@ class LangConfigStart(ModelView):
class LangConfig(Wizard):
- 'Configure languages'
__name__ = 'ir.lang.config'
start = StateView('ir.lang.config.start',
diff --git a/trytond/trytond/ir/message.py b/trytond/trytond/ir/message.py
index deb7217492..8eb500b3fd 100644
--- a/trytond/trytond/ir/message.py
+++ b/trytond/trytond/ir/message.py
@@ -8,7 +8,6 @@ from trytond.transaction import Transaction
class Message(ModelSQL, ModelView):
- "Message"
__name__ = "ir.message"
_message_cache = Cache('ir.message', context=False)
diff --git a/trytond/trytond/ir/model.py b/trytond/trytond/ir/model.py
index 4d516b971c..ded49ca2ee 100644
--- a/trytond/trytond/ir/model.py
+++ b/trytond/trytond/ir/model.py
@@ -45,7 +45,6 @@ class Model(
readonly=True, ondelete='CASCADE',
help="Module in which this model is defined."),
ModelSQL, ModelView):
- "Model"
__name__ = 'ir.model'
_rec_name = 'string'
string = fields.Char(
@@ -58,12 +57,7 @@ class Model(
states={
'readonly': Bool(Eval('module')),
})
- info = fields.Text('Information',
- states={
- 'readonly': Bool(Eval('module')),
- },
- depends=['module'])
- module = fields.Char("Module", readonly=True)
+ module = fields.Char('Module', readonly=True)
global_search_p = fields.Boolean('Global Search')
fields = fields.One2Many('ir.model.field', 'model_ref', "Fields")
_get_names_cache = Cache('ir.model.get_names')
@@ -114,18 +108,14 @@ class Model(
model_id, = cursor.fetchone()
if not model_id:
cursor.execute(*ir_model.insert(
- [ir_model.name, ir_model.string, ir_model.info,
- ir_model.module],
- [[
- model.__name__, model._get_name(), model.__doc__,
- module_name]]))
+ [ir_model.name, ir_model.string, ir_model.module],
+ [[model.__name__, model.__string__, module_name]]))
cursor.execute(*ir_model.select(ir_model.id,
where=ir_model.name == model.__name__))
(model_id,) = cursor.fetchone()
- elif model.__doc__:
+ else:
cursor.execute(*ir_model.update(
- [ir_model.string, ir_model.info],
- [model._get_name(), model.__doc__],
+ [ir_model.string], [model.__string__],
where=ir_model.id == model_id))
cls._get_names_cache.clear()
return model_id
@@ -246,7 +236,6 @@ class ModelField(
readonly=True, ondelete='CASCADE',
help="Module in which this field is defined."),
ModelSQL, ModelView):
- "Model field"
__name__ = 'ir.model.field'
_rec_name = 'string'
name = fields.Char('Name', required=True,
@@ -511,7 +500,6 @@ class ModelAccess(
'model_ref', 'model', 'ir.model,name', "Model",
required=True, ondelete='CASCADE'),
DeactivableMixin, ModelSQL, ModelView):
- "Model access"
__name__ = 'ir.model.access'
model = fields.Char("Model", required=True)
group = fields.Many2One('res.group', 'Group',
@@ -769,7 +757,6 @@ class ModelFieldAccess(
('model', '=', Eval('model')),
]),
DeactivableMixin, ModelSQL, ModelView):
- "Model Field Access"
__name__ = 'ir.model.field.access'
model = fields.Char("Model", required=True)
field = fields.Char("Field", required=True)
@@ -957,7 +944,6 @@ class ModelButton(
'model_ref', 'model', 'ir.model,name', "Model",
required=True, readonly=True, ondelete='CASCADE'),
DeactivableMixin, ModelSQL, ModelView):
- "Model Button"
__name__ = 'ir.model.button'
name = fields.Char('Name', required=True, readonly=True)
string = fields.Char("Label", translate=True)
@@ -1122,7 +1108,6 @@ class ModelButton(
class ModelButtonRule(ModelSQL, ModelView):
- "Model Button Rule"
__name__ = 'ir.model.button.rule'
button = fields.Many2One(
'ir.model.button', "Button", required=True, ondelete='CASCADE')
@@ -1202,7 +1187,6 @@ class ModelButtonRule(ModelSQL, ModelView):
class ModelButtonClick(DeactivableMixin, ModelSQL, ModelView):
- "Model Button Click"
__name__ = 'ir.model.button.click'
button = fields.Many2One(
'ir.model.button', "Button", required=True, ondelete='CASCADE')
@@ -1272,7 +1256,6 @@ class ModelButtonClick(DeactivableMixin, ModelSQL, ModelView):
class ModelButtonReset(ModelSQL):
- "Model Button Reset"
__name__ = 'ir.model.button-button.reset'
button_ruled = fields.Many2One(
'ir.model.button', "Button Ruled",
@@ -1290,7 +1273,6 @@ class ModelData(
'module_ref', 'module', 'ir.module,name', "Module",
required=True, ondelete='CASCADE'),
ModelSQL, ModelView):
- "Model data"
__name__ = 'ir.model.data'
fs_id = fields.Char('Identifier on File System', required=True,
help="The id of the record as known on the file system.")
@@ -1599,7 +1581,6 @@ class Log(ResourceAccessMixin, ModelSQL, ModelView):
class PrintModelGraphStart(ModelView):
- 'Print Model Graph'
__name__ = 'ir.model.print_model_graph.start'
level = fields.Integer('Level', required=True)
filter = fields.Text('Filter', help="Entering a Python "
diff --git a/trytond/trytond/ir/module.py b/trytond/trytond/ir/module.py
index c9de521dbe..29db8cecd4 100644
--- a/trytond/trytond/ir/module.py
+++ b/trytond/trytond/ir/module.py
@@ -35,7 +35,6 @@ def filter_state(state):
class Module(ModelSQL, ModelView):
- "Module"
__name__ = "ir.module"
name = fields.Char("Name", readonly=True, required=True)
version = fields.Function(fields.Char('Version'), 'get_version')
@@ -271,7 +270,6 @@ class Module(ModelSQL, ModelView):
class ModuleDependency(ModelSQL, ModelView):
- "Module dependency"
__name__ = "ir.module.dependency"
name = fields.Char('Name')
module = fields.Many2One('ir.module', 'Module',
@@ -310,8 +308,8 @@ class ModuleDependency(ModelSQL, ModelView):
class ModuleConfigWizardItem(sequence_ordered(), ModelSQL, ModelView):
- "Config wizard to run after activating a module"
__name__ = 'ir.module.config_wizard.item'
+
action = fields.Many2One('ir.action', 'Action', required=True,
readonly=True)
state = fields.Selection([
@@ -338,12 +336,10 @@ class ModuleConfigWizardItem(sequence_ordered(), ModelSQL, ModelView):
class ModuleConfigWizardFirst(ModelView):
- 'Module Config Wizard First'
__name__ = 'ir.module.config_wizard.first'
class ModuleConfigWizardOther(ModelView):
- 'Module Config Wizard Other'
__name__ = 'ir.module.config_wizard.other'
percentage = fields.Float('Percentage', digits=(1, 2), readonly=True)
@@ -360,12 +356,10 @@ class ModuleConfigWizardOther(ModelView):
class ModuleConfigWizardDone(ModelView):
- 'Module Config Wizard Done'
__name__ = 'ir.module.config_wizard.done'
class ModuleConfigWizard(Wizard):
- 'Run config wizards'
__name__ = 'ir.module.config_wizard'
class ConfigStateAction(StateAction):
@@ -436,18 +430,15 @@ class ModuleConfigWizard(Wizard):
class ModuleActivateUpgradeStart(ModelView):
- 'Module Activate Upgrade Start'
__name__ = 'ir.module.activate_upgrade.start'
module_info = fields.Text('Modules to update', readonly=True)
class ModuleActivateUpgradeDone(ModelView):
- 'Module Activate Upgrade Done'
__name__ = 'ir.module.activate_upgrade.done'
class ModuleActivateUpgrade(Wizard):
- "Activate / Upgrade modules"
__name__ = 'ir.module.activate_upgrade'
start = StateView('ir.module.activate_upgrade.start',
@@ -522,7 +513,6 @@ class ModuleActivateUpgrade(Wizard):
class ModuleConfig(Wizard):
- 'Configure Modules'
__name__ = 'ir.module.config'
start = StateView('ir.module.config.start',
@@ -544,7 +534,6 @@ class ModuleConfig(Wizard):
class ModuleConfigStart(ModelView):
- "Configure Modules"
__name__ = 'ir.module.config.start'
modules = fields.Many2Many(
diff --git a/trytond/trytond/ir/note.py b/trytond/trytond/ir/note.py
index 49b3dc8685..53e4b950d7 100644
--- a/trytond/trytond/ir/note.py
+++ b/trytond/trytond/ir/note.py
@@ -18,7 +18,6 @@ __all__ = ['NoteCopyMixin']
class Note(ResourceMixin, ModelSQL, ModelView):
- "Note"
__name__ = 'ir.note'
message = fields.Text('Message', states={
'readonly': Eval('id', 0) > 0,
@@ -113,7 +112,6 @@ class Note(ResourceMixin, ModelSQL, ModelView):
class NoteRead(ModelSQL):
- "Note Read"
__name__ = 'ir.note.read'
note = fields.Many2One('ir.note', 'Note', required=True,
ondelete='CASCADE')
diff --git a/trytond/trytond/ir/queue_.py b/trytond/trytond/ir/queue_.py
index 84e3012d78..99b58298de 100644
--- a/trytond/trytond/ir/queue_.py
+++ b/trytond/trytond/ir/queue_.py
@@ -19,7 +19,6 @@ batch_size = config.getint('queue', 'batch_size', default=20)
class Queue(ModelSQL):
- "Queue"
__name__ = 'ir.queue'
name = fields.Char("Name", required=True)
diff --git a/trytond/trytond/ir/rule.py b/trytond/trytond/ir/rule.py
index 9ee552bbf0..ae96754e45 100644
--- a/trytond/trytond/ir/rule.py
+++ b/trytond/trytond/ir/rule.py
@@ -44,7 +44,6 @@ class RuleGroup(
'model_ref', 'model', 'ir.model,name', "Model",
required=True, ondelete='CASCADE'),
ModelSQL, ModelView):
- "Rule group"
__name__ = 'ir.rule.group'
name = fields.Char(
"Name", translate=True, required=True,
@@ -148,7 +147,6 @@ class RuleGroup(
class Rule(ModelSQL, ModelView):
- "Rule"
__name__ = 'ir.rule'
rule_group = fields.Many2One('ir.rule.group', 'Group',
required=True, ondelete="CASCADE")
diff --git a/trytond/trytond/ir/sequence.py b/trytond/trytond/ir/sequence.py
index f1ffb20c9d..1aaa00dfe4 100644
--- a/trytond/trytond/ir/sequence.py
+++ b/trytond/trytond/ir/sequence.py
@@ -32,7 +32,6 @@ class SQLSequenceError(ValidationError):
class SequenceType(ModelSQL, ModelView):
- "Sequence type"
__name__ = 'ir.sequence.type'
name = fields.Char('Sequence Name', required=True, translate=True)
@@ -48,7 +47,6 @@ class SequenceType(ModelSQL, ModelView):
class Sequence(DeactivableMixin, ModelSQL, ModelView):
- "Sequence"
__name__ = 'ir.sequence'
_strict = False
@@ -456,7 +454,6 @@ class Sequence(DeactivableMixin, ModelSQL, ModelView):
class SequenceStrict(Sequence):
- "Sequence Strict"
__name__ = 'ir.sequence.strict'
_table = None # Needed to reset Sequence._table
_strict = True
diff --git a/trytond/trytond/ir/session.py b/trytond/trytond/ir/session.py
index 9da6eef4e2..f31e5f4048 100644
--- a/trytond/trytond/ir/session.py
+++ b/trytond/trytond/ir/session.py
@@ -14,7 +14,6 @@ _reset_interval = _session_timeout // 10
class Session(ModelSQL):
- "Session"
__name__ = 'ir.session'
_rec_name = 'key'
@@ -159,7 +158,6 @@ class Session(ModelSQL):
class SessionWizard(ModelSQL):
- "Session Wizard"
__name__ = 'ir.session.wizard'
data = fields.Text('Data')
diff --git a/trytond/trytond/ir/translation.py b/trytond/trytond/ir/translation.py
index a0bd8fc479..e68f1fb1fd 100644
--- a/trytond/trytond/ir/translation.py
+++ b/trytond/trytond/ir/translation.py
@@ -138,7 +138,7 @@ class Translation(
return
name = model.__name__ + ',name'
- src = model._get_name()
+ src = model.__string__
if not src:
return
cursor.execute(*ir_translation.select(ir_translation.id,
@@ -380,7 +380,7 @@ class Translation(
continue
if not model.__doc__:
continue
- value = model._get_name()
+ value = model.__string__
if isinstance(value, StringPartitioned):
for source in value:
translations[record.id] += source
diff --git a/trytond/trytond/ir/trigger.py b/trytond/trytond/ir/trigger.py
index 57e28ce177..4d0b5298da 100644
--- a/trytond/trytond/ir/trigger.py
+++ b/trytond/trytond/ir/trigger.py
@@ -25,7 +25,6 @@ class ConditionError(ValidationError):
class Trigger(DeactivableMixin, ModelSQL, ModelView):
- "Trigger"
__name__ = 'ir.trigger'
name = fields.Char('Name', required=True, translate=True)
model = fields.Many2One('ir.model', 'Model', required=True)
diff --git a/trytond/trytond/ir/view/model_form.xml b/trytond/trytond/ir/view/model_form.xml
index abcb0e7e6b..13798ef129 100644
--- a/trytond/trytond/ir/view/model_form.xml
+++ b/trytond/trytond/ir/view/model_form.xml
@@ -10,7 +10,5 @@ this repository contains the full copyright notices and license terms. -->
-
-
diff --git a/trytond/trytond/ir/view/model_list.xml b/trytond/trytond/ir/view/model_list.xml
index e022a81d5b..5ecacd43f7 100644
--- a/trytond/trytond/ir/view/model_list.xml
+++ b/trytond/trytond/ir/view/model_list.xml
@@ -4,7 +4,6 @@ this repository contains the full copyright notices and license terms. -->
-
diff --git a/trytond/trytond/model/fields/boolean.py b/trytond/trytond/model/fields/boolean.py
index 87023db4cc..e089bbc8dc 100644
--- a/trytond/trytond/model/fields/boolean.py
+++ b/trytond/trytond/model/fields/boolean.py
@@ -17,7 +17,8 @@ class Boolean(Field):
on_change=on_change, on_change_with=on_change_with,
depends=depends, context=context, loading=loading)
- __init__.__doc__ = Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ = Field.__init__.__doc__
def _domain_add_null(self, column, operator, value, expression):
expression = super(Boolean, self)._domain_add_null(
diff --git a/trytond/trytond/model/fields/char.py b/trytond/trytond/model/fields/char.py
index 8e09d167aa..79363186ff 100644
--- a/trytond/trytond/model/fields/char.py
+++ b/trytond/trytond/model/fields/char.py
@@ -45,7 +45,9 @@ class Char(FieldTranslate):
self.translate = translate
self.__size = None
self.size = size
- __init__.__doc__ += Field.__init__.__doc__
+
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def _get_size(self):
return self.__size
diff --git a/trytond/trytond/model/fields/date.py b/trytond/trytond/model/fields/date.py
index d49a9f722d..b934f6d66b 100644
--- a/trytond/trytond/model/fields/date.py
+++ b/trytond/trytond/model/fields/date.py
@@ -107,7 +107,8 @@ class DateTime(Timestamp):
depends=depends, context=context, loading=loading)
self.format = format
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def sql_format(self, value):
value = super().sql_format(value)
diff --git a/trytond/trytond/model/fields/float.py b/trytond/trytond/model/fields/float.py
index 2804f7f947..2887c24170 100644
--- a/trytond/trytond/model/fields/float.py
+++ b/trytond/trytond/model/fields/float.py
@@ -46,7 +46,8 @@ class Float(Field):
self.__digits = None
self.digits = digits
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def _get_digits(self):
return self.__digits
diff --git a/trytond/trytond/model/fields/function.py b/trytond/trytond/model/fields/function.py
index e7972c605c..0cfa8b302d 100644
--- a/trytond/trytond/model/fields/function.py
+++ b/trytond/trytond/model/fields/function.py
@@ -53,7 +53,8 @@ class Function(Field):
'loading must be "lazy" or "eager"'
self.loading = loading
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def __copy__(self):
return Function(copy.copy(self._field), self.getter,
diff --git a/trytond/trytond/model/fields/many2many.py b/trytond/trytond/model/fields/many2many.py
index 29969d2427..816f297f38 100644
--- a/trytond/trytond/model/fields/many2many.py
+++ b/trytond/trytond/model/fields/many2many.py
@@ -59,7 +59,8 @@ class Many2Many(Field):
self.__filter = None
self.filter = filter
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def _get_size(self):
return self.__size
diff --git a/trytond/trytond/model/fields/many2one.py b/trytond/trytond/model/fields/many2one.py
index 8cd66ca6fa..d7714a12b4 100644
--- a/trytond/trytond/model/fields/many2one.py
+++ b/trytond/trytond/model/fields/many2one.py
@@ -62,7 +62,9 @@ class Many2One(Field):
self.search_order = search_order
self.__search_context = None
self.search_context = search_context or {}
- __init__.__doc__ += Field.__init__.__doc__
+
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def __get_required(self):
return self.__required
diff --git a/trytond/trytond/model/fields/multiselection.py b/trytond/trytond/model/fields/multiselection.py
index 861d57f29c..52c366675c 100644
--- a/trytond/trytond/model/fields/multiselection.py
+++ b/trytond/trytond/model/fields/multiselection.py
@@ -42,7 +42,9 @@ class MultiSelection(SelectionMixin, Field):
self.sort = sort
self.translate_selection = translate
self.help_selection = help_selection
- __init__.__doc__ += Field.__init__.__doc__
+
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def set_rpc(self, model):
super().set_rpc(model)
diff --git a/trytond/trytond/model/fields/one2many.py b/trytond/trytond/model/fields/one2many.py
index dd2efbcf0b..5dc043c07b 100644
--- a/trytond/trytond/model/fields/one2many.py
+++ b/trytond/trytond/model/fields/one2many.py
@@ -65,7 +65,8 @@ class One2Many(Field):
self.__filter = None
self.filter = filter
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def _get_add_remove(self):
return self.__add_remove
diff --git a/trytond/trytond/model/fields/reference.py b/trytond/trytond/model/fields/reference.py
index c974807753..39937c922d 100644
--- a/trytond/trytond/model/fields/reference.py
+++ b/trytond/trytond/model/fields/reference.py
@@ -61,7 +61,8 @@ class Reference(SelectionMixin, Field):
self.__search_context = None
self.search_context = search_context or {}
- __init__.__doc__ += Field.__init__.__doc__
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
@property
def domain(self):
diff --git a/trytond/trytond/model/fields/selection.py b/trytond/trytond/model/fields/selection.py
index bfc9487385..fd9f983dc2 100644
--- a/trytond/trytond/model/fields/selection.py
+++ b/trytond/trytond/model/fields/selection.py
@@ -126,7 +126,9 @@ class Selection(SelectionMixin, Field):
self.sort = sort
self.translate_selection = translate
self.help_selection = help_selection
- __init__.__doc__ += Field.__init__.__doc__
+
+ if __init__.__doc__:
+ __init__.__doc__ += Field.__init__.__doc__
def set_rpc(self, model):
super(Selection, self).set_rpc(model)
diff --git a/trytond/trytond/model/model.py b/trytond/trytond/model/model.py
index c4fcd66520..22d0df6050 100644
--- a/trytond/trytond/model/model.py
+++ b/trytond/trytond/model/model.py
@@ -6,7 +6,7 @@ import copy
import sys
from collections import defaultdict
from functools import total_ordering
-from itertools import chain
+from itertools import chain, groupby
from trytond.i18n import lazy_gettext
from trytond.model import fields
@@ -19,6 +19,15 @@ from trytond.url import URLMixin
__all__ = ['Model']
+def humanize(name):
+ if name.startswith('test.'):
+ name = name[len('test.'):]
+ parts = name.replace('_', '.').replace('-', '.-.').split('.')
+ parts = (p for p in parts if p not in {'res', 'ir'})
+ parts = [k for k, _ in groupby(parts)]
+ return ' '.join(parts).title()
+
+
class ModelMeta(PoolMeta):
@property
def __queue__(self):
@@ -35,6 +44,7 @@ class Model(URLMixin, PoolBase, metaclass=ModelMeta):
__slots__ = (
'_id', '_values', '_init_values', '_removed', '_deleted',
'__weakref__')
+ __string__ = None
_rec_name = 'name'
id = fields.Integer(lazy_gettext('ir.msg_ID'), readonly=True)
@@ -42,6 +52,8 @@ class Model(URLMixin, PoolBase, metaclass=ModelMeta):
@classmethod
def __setup__(cls):
super(Model, cls).__setup__()
+ if not cls.__string__:
+ cls.__string__ = humanize(cls.__name__)
cls.__rpc__ = {
'default_get': RPC(cache=dict(seconds=5 * 60)),
'fields_get': RPC(cache=dict(days=1)),
@@ -101,18 +113,6 @@ class Model(URLMixin, PoolBase, metaclass=ModelMeta):
'Duplicate fields on %s: %s, %s'
% (cls, field.name, name))
- @classmethod
- def _get_name(cls):
- '''
- Returns the first non-empty line of the model docstring.
- '''
- assert cls.__doc__, '%s has no docstring' % cls
- lines = cls.__doc__.splitlines()
- for line in lines:
- line = line.strip()
- if line:
- return line
-
@classmethod
def __register__(cls, module_name):
"""
diff --git a/trytond/trytond/res/group.py b/trytond/trytond/res/group.py
index d44a392bf2..fe1d9e31fc 100644
--- a/trytond/trytond/res/group.py
+++ b/trytond/trytond/res/group.py
@@ -29,7 +29,6 @@ class MenuMany2Many(fields.Many2Many):
class Group(DeactivableMixin, tree(), ModelSQL, ModelView):
- "Group"
__name__ = "res.group"
name = fields.Char('Name', required=True, translate=True)
users = fields.Many2Many('res.user-res.group', 'group', 'user', 'Users')
diff --git a/trytond/trytond/res/ir.py b/trytond/trytond/res/ir.py
index b67b1ca4a0..b3081adacf 100644
--- a/trytond/trytond/res/ir.py
+++ b/trytond/trytond/res/ir.py
@@ -16,7 +16,6 @@ class UIMenu(metaclass=PoolMeta):
class UIMenuGroup(ModelSQL):
- "UI Menu - Group"
__name__ = 'ir.ui.menu-res.group'
menu = fields.Many2One('ir.ui.menu', 'Menu', ondelete='CASCADE',
required=True)
@@ -25,7 +24,6 @@ class UIMenuGroup(ModelSQL):
class ActionGroup(ModelSQL):
- "Action - Group"
__name__ = 'ir.action-res.group'
action = fields.Many2One('ir.action', 'Action', ondelete='CASCADE',
required=True)
@@ -173,7 +171,6 @@ class ModelButton(metaclass=PoolMeta):
class ModelButtonGroup(DeactivableMixin, ModelSQL):
- "Model Button - Group"
__name__ = 'ir.model.button-res.group'
button = fields.Many2One('ir.model.button', 'Button',
ondelete='CASCADE', required=True)
@@ -221,7 +218,6 @@ class RuleGroup(metaclass=PoolMeta):
class RuleGroupGroup(ModelSQL):
- "Rule Group - Group"
__name__ = 'ir.rule.group-res.group'
rule_group = fields.Many2One('ir.rule.group', 'Rule Group',
ondelete='CASCADE', required=True)
@@ -255,7 +251,6 @@ class SequenceType(metaclass=PoolMeta):
class SequenceTypeGroup(ModelSQL):
- 'Sequence Type - Group'
__name__ = 'ir.sequence.type-res.group'
sequence_type = fields.Many2One('ir.sequence.type', 'Sequence Type',
ondelete='CASCADE', required=True)
@@ -283,9 +278,7 @@ class Export(metaclass=PoolMeta):
class Export_Group(ModelSQL):
- "Export Group"
__name__ = 'ir.export-res.group'
-
export = fields.Many2One(
'ir.export', "Export", required=True, ondelete='CASCADE')
group = fields.Many2One(
@@ -293,6 +286,6 @@ class Export_Group(ModelSQL):
class Export_Write_Group(Export_Group):
- "Export Modification Group"
__name__ = 'ir.export-write-res.group'
+ __string__ = None
_table = None # Needed to reset Export_Group._table
diff --git a/trytond/trytond/res/user.py b/trytond/trytond/res/user.py
index 0c605da1e2..2af15cc2cb 100644
--- a/trytond/trytond/res/user.py
+++ b/trytond/trytond/res/user.py
@@ -112,7 +112,6 @@ class UserValidationError(ValidationError):
class User(avatar_mixin(100, 'login'), DeactivableMixin, ModelSQL, ModelView):
- "User"
__name__ = "res.user"
name = fields.Char('Name')
login = fields.Char('Login', required=True)
@@ -828,11 +827,8 @@ class User(avatar_mixin(100, 'login'), DeactivableMixin, ModelSQL, ModelView):
class LoginAttempt(ModelSQL):
- """Login Attempt
-
- This class is separated from the res.user one in order to prevent locking
- the res.user table when in a long running process.
- """
+ """This class is separated from the res.user one in order to prevent
+ locking the res.user table when in a long running process."""
__name__ = 'res.user.login.attempt'
login = fields.Char('Login', size=512)
device_cookie = fields.Char("Device Cookie", strip=False)
@@ -915,7 +911,6 @@ class LoginAttempt(ModelSQL):
class UserDevice(ModelSQL):
- "User Device"
__name__ = 'res.user.device'
login = fields.Char("Login", required=True)
@@ -971,7 +966,6 @@ class UserDevice(ModelSQL):
class UserAction(ModelSQL):
- 'User - Action'
__name__ = 'res.user-ir.action'
user = fields.Many2One('res.user', 'User', ondelete='CASCADE',
required=True)
@@ -1002,7 +996,6 @@ class UserAction(ModelSQL):
class UserGroup(ModelSQL):
- 'User - Group'
__name__ = 'res.user-res.group'
user = fields.Many2One('res.user', 'User', ondelete='CASCADE',
required=True)
@@ -1049,9 +1042,7 @@ class UserGroup(ModelSQL):
class Warning_(ModelSQL, ModelView):
- 'User Warning'
__name__ = 'res.user.warning'
-
user = fields.Many2One('res.user', 'User', required=True)
name = fields.Char('Name', required=True)
always = fields.Boolean('Always')
@@ -1100,7 +1091,6 @@ class Warning_(ModelSQL, ModelView):
class UserApplication(Workflow, ModelSQL, ModelView):
- "User Application"
__name__ = 'res.user.application'
_rec_name = 'key'
@@ -1218,12 +1208,10 @@ class EmailResetPassword(Report):
class UserConfigStart(ModelView):
- 'User Config Init'
__name__ = 'res.user.config.start'
class UserConfig(Wizard):
- 'Configure users'
__name__ = 'res.user.config'
start = StateView('res.user.config.start',
diff --git a/trytond/trytond/tests/access.py b/trytond/trytond/tests/access.py
index e4c2ef99a9..247917d5ec 100644
--- a/trytond/trytond/tests/access.py
+++ b/trytond/trytond/tests/access.py
@@ -5,7 +5,6 @@ from trytond.pool import Pool
class TestAccess(ModelSQL):
- 'Test Access'
__name__ = 'test.access'
field1 = fields.Char('Field 1')
field2 = fields.Char('Field 2')
@@ -18,14 +17,12 @@ class TestAccess(ModelSQL):
class TestAccessRelate(ModelSQL):
- "Test Access"
__name__ = 'test.access.relate'
value = fields.Integer("Value")
parent = fields.Many2One('test.access.relate', "Parent")
class TestAccessModel(TestAccess):
- "Test Access from Model"
__name__ = 'test.access.model'
access = fields.Many2One('test.access', "Access")
diff --git a/trytond/trytond/tests/copy_.py b/trytond/trytond/tests/copy_.py
index e8bd5c2f29..84953812ef 100644
--- a/trytond/trytond/tests/copy_.py
+++ b/trytond/trytond/tests/copy_.py
@@ -6,13 +6,11 @@ from trytond.pool import Pool
class Copy(ModelSQL):
- "Copy"
__name__ = 'test.copy'
name = fields.Char("Name")
class CopyOne2Many(ModelSQL):
- "Copy One2Many"
__name__ = 'test.copy.one2many'
name = fields.Char('Name')
one2many = fields.One2Many('test.copy.one2many.target', 'one2many',
@@ -20,14 +18,12 @@ class CopyOne2Many(ModelSQL):
class CopyOne2ManyTarget(ModelSQL):
- "Copy One2Many Target"
__name__ = 'test.copy.one2many.target'
name = fields.Char('Name')
one2many = fields.Many2One('test.copy.one2many', 'One2Many')
class CopyOne2ManyReference(ModelSQL):
- "Copy One2Many Reference"
__name__ = 'test.copy.one2many_reference'
name = fields.Char('Name')
one2many = fields.One2Many('test.copy.one2many_reference.target',
@@ -35,7 +31,6 @@ class CopyOne2ManyReference(ModelSQL):
class CopyOne2ManyReferenceTarget(ModelSQL):
- "Copy One2Many ReferenceTarget"
__name__ = 'test.copy.one2many_reference.target'
name = fields.Char('Name')
one2many = fields.Reference('One2Many', [
@@ -45,7 +40,6 @@ class CopyOne2ManyReferenceTarget(ModelSQL):
class CopyMany2Many(ModelSQL):
- "Copy Many2Many"
__name__ = 'test.copy.many2many'
name = fields.Char('Name')
many2many = fields.Many2Many('test.copy.many2many.rel', 'many2many',
@@ -53,13 +47,11 @@ class CopyMany2Many(ModelSQL):
class CopyMany2ManyTarget(ModelSQL):
- "Copy Many2Many Target"
__name__ = 'test.copy.many2many.target'
name = fields.Char('Name')
class CopyMany2ManyRelation(ModelSQL):
- "Copy Many2Many Relation"
__name__ = 'test.copy.many2many.rel'
name = fields.Char('Name')
many2many = fields.Many2One('test.copy.many2many', 'Many2Many')
@@ -68,7 +60,6 @@ class CopyMany2ManyRelation(ModelSQL):
class CopyMany2ManyReference(ModelSQL):
- "Copy Many2ManyReference"
__name__ = 'test.copy.many2many_reference'
name = fields.Char('Name')
many2many = fields.Many2Many('test.copy.many2many_reference.rel',
@@ -76,13 +67,11 @@ class CopyMany2ManyReference(ModelSQL):
class CopyMany2ManyReferenceTarget(ModelSQL):
- "Copy Many2ManyReference Target"
__name__ = 'test.copy.many2many_reference.target'
name = fields.Char('Name')
class CopyMany2ManyReferenceRelation(ModelSQL):
- "Copy Many2ManyReference Relation"
__name__ = 'test.copy.many2many_reference.rel'
name = fields.Char('Name')
many2many = fields.Reference('Many2Many', [
@@ -94,7 +83,6 @@ class CopyMany2ManyReferenceRelation(ModelSQL):
class CopyBinary(ModelSQL):
- "Copy Binary"
__name__ = 'test.copy.binary'
binary = fields.Binary("Binary")
binary_id = fields.Binary("Binary with ID", file_id='file_id')
@@ -102,7 +90,6 @@ class CopyBinary(ModelSQL):
class CopyAccess(ModelSQL):
- "Copy with Access"
__name__ = 'test.copy.access'
name = fields.Char("Name")
@@ -112,7 +99,6 @@ class CopyAccess(ModelSQL):
class CopyTranslate(ModelSQL):
- "Copy Translate"
__name__ = 'test.copy.translate'
name = fields.Char("Name", translate=True)
diff --git a/trytond/trytond/tests/export_data.py b/trytond/trytond/tests/export_data.py
index 5736a28dbe..0de242536c 100644
--- a/trytond/trytond/tests/export_data.py
+++ b/trytond/trytond/tests/export_data.py
@@ -6,14 +6,12 @@ from trytond.pool import Pool, PoolMeta
class ExportDataTarget(ModelSQL):
- "Export Data Target"
__name__ = 'test.export_data.target'
name = fields.Char('Name')
value = fields.Float("Value")
class ExportData(ModelSQL):
- "Export Data"
__name__ = 'test.export_data'
boolean = fields.Boolean('Boolean')
integer = fields.Integer('Integer')
@@ -43,13 +41,11 @@ class ExportData(ModelSQL):
class ExportDataTarget2(metaclass=PoolMeta):
- 'Export Date Target'
__name__ = 'test.export_data.target'
one2many = fields.Many2One('test.export_data', 'Export Data')
class ExportDataRelation(ModelSQL):
- "Export Data Many2Many"
__name__ = 'test.export_data.relation'
many2many = fields.Many2One('test.export_data', 'Export Data')
target = fields.Many2One('test.export_data.target', 'Target')
diff --git a/trytond/trytond/tests/field_binary.py b/trytond/trytond/tests/field_binary.py
index 2aef4f2ffd..1721e5880e 100644
--- a/trytond/trytond/tests/field_binary.py
+++ b/trytond/trytond/tests/field_binary.py
@@ -6,13 +6,11 @@ from trytond.pool import Pool
class Binary(ModelSQL):
- 'Binary'
__name__ = 'test.binary'
binary = fields.Binary('Binary')
class BinaryDefault(ModelSQL):
- 'Binary Default'
__name__ = 'test.binary_default'
binary = fields.Binary('Binary Default')
@@ -22,13 +20,11 @@ class BinaryDefault(ModelSQL):
class BinaryRequired(ModelSQL):
- 'Binary Required'
__name__ = 'test.binary_required'
binary = fields.Binary('Binary Required', required=True)
class BinaryFileStorage(ModelSQL):
- "Binary in FileStorage"
__name__ = 'test.binary_filestorage'
binary = fields.Binary('Binary', file_id='binary_id')
binary_id = fields.Char('Binary ID')
diff --git a/trytond/trytond/tests/field_boolean.py b/trytond/trytond/tests/field_boolean.py
index e3c8962aa3..187e828c86 100644
--- a/trytond/trytond/tests/field_boolean.py
+++ b/trytond/trytond/tests/field_boolean.py
@@ -6,13 +6,11 @@ from trytond.pool import Pool
class Boolean(ModelSQL):
- 'Boolean'
__name__ = 'test.boolean'
boolean = fields.Boolean(string='Boolean', help='Test boolean')
class BooleanDefault(ModelSQL):
- 'Boolean Default'
__name__ = 'test.boolean_default'
boolean = fields.Boolean(string='Boolean', help='Test boolean')
diff --git a/trytond/trytond/tests/field_char.py b/trytond/trytond/tests/field_char.py
index 988ab9aa3d..422419d75b 100644
--- a/trytond/trytond/tests/field_char.py
+++ b/trytond/trytond/tests/field_char.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval
class Char(ModelSQL):
- 'Char'
__name__ = 'test.char'
char = fields.Char("Char")
char_lstripped = fields.Char("Char", strip='leading')
@@ -16,7 +15,6 @@ class Char(ModelSQL):
class CharDefault(ModelSQL):
- 'Char Default'
__name__ = 'test.char_default'
char = fields.Char("Char")
@@ -26,19 +24,16 @@ class CharDefault(ModelSQL):
class CharRequired(ModelSQL):
- 'Char Required'
__name__ = 'test.char_required'
char = fields.Char("Char", required=True)
class CharSize(ModelSQL):
- 'Char Size'
__name__ = 'test.char_size'
char = fields.Char("Char", size=5)
class CharSizePYSON(ModelSQL):
- "Char PYSON Size"
__name__ = 'test.char_size_pyson'
char = fields.Char(
"Char", size=Eval('size', 0),
@@ -47,7 +42,6 @@ class CharSizePYSON(ModelSQL):
class CharTranslate(ModelSQL):
- 'Char Translate'
__name__ = 'test.char_translate'
char = fields.Char("Char", translate=True)
char_lstripped = fields.Char("Char", strip='leading', translate=True)
@@ -57,13 +51,11 @@ class CharTranslate(ModelSQL):
class CharUnaccentedOn(ModelSQL):
- 'Char Unaccented'
__name__ = 'test.char_unaccented_on'
char = fields.Char("Char")
class CharUnaccentedOff(ModelSQL):
- 'Char Unaccented'
__name__ = 'test.char_unaccented_off'
char = fields.Char("Char")
@@ -74,7 +66,6 @@ class CharUnaccentedOff(ModelSQL):
class CharUnaccentedTranslate(ModelSQL):
- 'Char Unaccented Translate'
__name__ = 'test.char_unaccented_translate'
char = fields.Char("Char", translate=True)
diff --git a/trytond/trytond/tests/field_context.py b/trytond/trytond/tests/field_context.py
index 79ef9d275f..e6568eb547 100644
--- a/trytond/trytond/tests/field_context.py
+++ b/trytond/trytond/tests/field_context.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval
class FieldContextParent(ModelSQL):
- 'Field Context Parent'
__name__ = 'test.field_context.parent'
name = fields.Char('Name')
child = fields.Many2One('test.field_context.child', 'Child',
@@ -19,7 +18,6 @@ class FieldContextParent(ModelSQL):
class FieldContextChild(ModelSQL):
- 'Field Context Child'
__name__ = 'test.field_context.child'
diff --git a/trytond/trytond/tests/field_date.py b/trytond/trytond/tests/field_date.py
index d0a005c200..28619f6fde 100644
--- a/trytond/trytond/tests/field_date.py
+++ b/trytond/trytond/tests/field_date.py
@@ -8,14 +8,12 @@ from trytond.pool import Pool
class Date(ModelSQL):
- 'Date'
__name__ = 'test.date'
date = fields.Date(string='Date', help='Test date',
required=False)
class DateDefault(ModelSQL):
- 'Date Default'
__name__ = 'test.date_default'
date = fields.Date(string='Date', help='Test date',
required=False)
@@ -26,7 +24,6 @@ class DateDefault(ModelSQL):
class DateRequired(ModelSQL):
- 'Date Required'
__name__ = 'test.date_required'
date = fields.Date(string='Date', help='Test date',
required=True)
diff --git a/trytond/trytond/tests/field_datetime.py b/trytond/trytond/tests/field_datetime.py
index 463a5253e4..24d98656ce 100644
--- a/trytond/trytond/tests/field_datetime.py
+++ b/trytond/trytond/tests/field_datetime.py
@@ -8,14 +8,12 @@ from trytond.pool import Pool
class DateTime(ModelSQL):
- 'DateTime'
__name__ = 'test.datetime'
datetime = fields.DateTime(string='DateTime', help='Test datetime',
required=False)
class DateTimeDefault(ModelSQL):
- 'DateTime Default'
__name__ = 'test.datetime_default'
datetime = fields.DateTime(string='DateTime', help='Test datetime',
required=False)
@@ -26,14 +24,12 @@ class DateTimeDefault(ModelSQL):
class DateTimeRequired(ModelSQL):
- 'DateTime Required'
__name__ = 'test.datetime_required'
datetime = fields.DateTime(string='DateTime', help='Test datetime',
required=True)
class DateTimeFormat(ModelSQL):
- 'DateTime Format'
__name__ = 'test.datetime_format'
datetime = fields.DateTime(string='DateTime', format='%H:%M')
diff --git a/trytond/trytond/tests/field_dict.py b/trytond/trytond/tests/field_dict.py
index f10a38f896..de2b80ca04 100644
--- a/trytond/trytond/tests/field_dict.py
+++ b/trytond/trytond/tests/field_dict.py
@@ -6,12 +6,10 @@ from trytond.pool import Pool
class DictSchema(DictSchemaMixin, ModelSQL):
- 'Dict Schema'
__name__ = 'test.dict.schema'
class Dict(ModelSQL):
- 'Dict'
__name__ = 'test.dict'
dico = fields.Dict('test.dict.schema', 'Test Dict')
dico_string = dico.translated('dico')
@@ -19,7 +17,6 @@ class Dict(ModelSQL):
class DictDefault(ModelSQL):
- 'Dict Default'
__name__ = 'test.dict_default'
dico = fields.Dict(None, 'Test Dict')
@@ -29,32 +26,27 @@ class DictDefault(ModelSQL):
class DictRequired(ModelSQL):
- 'Dict Required'
__name__ = 'test.dict_required'
dico = fields.Dict(None, 'Test Dict', required=True)
class DictText(ModelSQL):
- 'Dict TEXT'
__name__ = 'test.dict_text'
dico = fields.Dict('test.dict.schema', 'Test Dict')
dico._sql_type = 'TEXT'
class DictNoSchema(ModelSQL):
- "Dict No Schema"
__name__ = 'test.dict_noschema'
dico = fields.Dict(None, "Dict")
class DictUnaccentedOn(ModelSQL):
- "Dict Unaccented On"
__name__ = 'test.dict_unaccented_on'
dico = fields.Dict(None, "Dict")
class DictUnaccentedOff(ModelSQL):
- "Dict Unaccented Off"
__name__ = 'test.dict_unaccented_off'
dico = fields.Dict(None, "Dict")
diff --git a/trytond/trytond/tests/field_float.py b/trytond/trytond/tests/field_float.py
index 4b48935ffb..8a411eb080 100644
--- a/trytond/trytond/tests/field_float.py
+++ b/trytond/trytond/tests/field_float.py
@@ -7,14 +7,12 @@ from trytond.pyson import Eval
class Float(ModelSQL):
- 'Float'
__name__ = 'test.float'
float = fields.Float(string='Float', help='Test float',
required=False)
class FloatDefault(ModelSQL):
- 'Float Default'
__name__ = 'test.float_default'
float = fields.Float(string='Float', help='Test float',
required=False)
@@ -25,14 +23,12 @@ class FloatDefault(ModelSQL):
class FloatRequired(ModelSQL):
- 'Float Required'
__name__ = 'test.float_required'
float = fields.Float(string='Float', help='Test float',
required=True)
class FloatDigits(ModelSQL):
- 'Float Digits'
__name__ = 'test.float_digits'
digits = fields.Integer('Digits')
float = fields.Float(string='Float', help='Test float',
diff --git a/trytond/trytond/tests/field_fmany2one.py b/trytond/trytond/tests/field_fmany2one.py
index 8fd8c51bb4..e21752c5f6 100644
--- a/trytond/trytond/tests/field_fmany2one.py
+++ b/trytond/trytond/tests/field_fmany2one.py
@@ -6,7 +6,6 @@ from trytond.pool import Pool
class FMany2OneTarget(ModelSQL):
- "FMany2One Target"
__name__ = 'test.fmany2one_target'
name = fields.Char("Name")
@@ -27,7 +26,6 @@ class FMany2OneTargetChild(
fields.fmany2one(
'parent', 'parent_name', 'test.fmany2one_target,name', "Parent"),
ModelSQL):
- "FMany2One Target Child"
__name__ = 'test.fmany2one_target.child'
name = fields.Char("Name")
@@ -51,7 +49,6 @@ class FMany2One(
'child', 'child_name,target_name',
'test.fmany2one_target.child,name,parent_name', "Child"),
ModelSQL):
- "FMany2One"
__name__ = 'test.fmany2one'
target_name = fields.Char("Target Name")
@@ -63,7 +60,6 @@ class FMany2OneRequired(
'target', 'target_name', 'test.fmany2one_target,name', "Target",
required=True),
ModelSQL):
- "FMany2One required"
__name__ = 'test.fmany2one_required'
target_name = fields.Char("Target Name", required=True)
diff --git a/trytond/trytond/tests/field_function.py b/trytond/trytond/tests/field_function.py
index a265f5c78d..3253810444 100644
--- a/trytond/trytond/tests/field_function.py
+++ b/trytond/trytond/tests/field_function.py
@@ -7,7 +7,6 @@ from trytond.transaction import Transaction
class FunctionDefinition(ModelStorage):
- "Function Definition"
__name__ = 'test.function.definition'
function = fields.Function(
fields.Integer("Integer"),
@@ -22,7 +21,6 @@ class FunctionDefinition(ModelStorage):
class FunctionAccessor(ModelSQL):
- "Function Accessor"
__name__ = 'test.function.accessor'
target = fields.Many2One('test.function.accessor.target', "Target")
@@ -37,12 +35,10 @@ class FunctionAccessor(ModelSQL):
class FunctionAccessorTarget(ModelSQL):
- "Function Accessor Target"
__name__ = 'test.function.accessor.target'
class FunctonGetter(ModelSQL):
- "Function Getter"
__name__ = 'test.function.getter'
function_class = fields.Function(
@@ -74,7 +70,6 @@ class FunctonGetter(ModelSQL):
class FunctionGetterContext(ModelSQL):
- "Function Getter Context"
__name__ = 'test.function.getter_context'
function_with_context = fields.Function(
@@ -91,7 +86,6 @@ class FunctionGetterContext(ModelSQL):
class FunctionGetterLocalCache(ModelSQL):
- "Function Getter with local cache"
__name__ = 'test.function.getter_local_cache'
function1 = fields.Function(
diff --git a/trytond/trytond/tests/field_integer.py b/trytond/trytond/tests/field_integer.py
index b40c23d0d7..a393a635e0 100644
--- a/trytond/trytond/tests/field_integer.py
+++ b/trytond/trytond/tests/field_integer.py
@@ -6,14 +6,12 @@ from trytond.pool import Pool
class Integer(ModelSQL):
- 'Integer'
__name__ = 'test.integer'
integer = fields.Integer(string='Integer', help='Test integer',
required=False)
class IntegerDefault(ModelSQL):
- 'Integer Default'
__name__ = 'test.integer_default'
integer = fields.Integer(string='Integer', help='Test integer',
required=False)
@@ -24,14 +22,12 @@ class IntegerDefault(ModelSQL):
class IntegerRequired(ModelSQL):
- 'Integer Required'
__name__ = 'test.integer_required'
integer = fields.Integer(string='Integer', help='Test integer',
required=True)
class IntegerDomain(ModelSQL):
- 'Integer Domain'
__name__ = 'test.integer_domain'
integer = fields.Integer('Integer', domain=[('integer', '>', 42)])
diff --git a/trytond/trytond/tests/field_many2many.py b/trytond/trytond/tests/field_many2many.py
index 67017fb053..a375236220 100644
--- a/trytond/trytond/tests/field_many2many.py
+++ b/trytond/trytond/tests/field_many2many.py
@@ -7,60 +7,51 @@ from trytond.transaction import Transaction
class Many2Many(ModelSQL):
- 'Many2Many'
__name__ = 'test.many2many'
targets = fields.Many2Many('test.many2many.relation', 'origin', 'target',
'Targets')
class Many2ManyTarget(ModelSQL):
- 'Many2Many Target'
__name__ = 'test.many2many.target'
name = fields.Char('Name')
class Many2ManyRelation(ModelSQL):
- 'Many2Many Relation'
__name__ = 'test.many2many.relation'
origin = fields.Many2One('test.many2many', 'Origin')
target = fields.Many2One('test.many2many.target', 'Target')
class Many2ManyRequired(ModelSQL):
- 'Many2Many Required'
__name__ = 'test.many2many_required'
targets = fields.Many2Many('test.many2many_required.relation', 'origin',
'target', 'Targets', required=True)
class Many2ManyRequiredTarget(ModelSQL):
- 'Many2Many Required Target'
__name__ = 'test.many2many_required.target'
name = fields.Char('Name')
class Many2ManyRequiredRelation(ModelSQL):
- 'Many2Many Required Relation'
__name__ = 'test.many2many_required.relation'
origin = fields.Many2One('test.many2many_required', 'Origin')
target = fields.Many2One('test.many2many_required.target', 'Target')
class Many2ManyReference(ModelSQL):
- 'Many2Many Reference'
__name__ = 'test.many2many_reference'
targets = fields.Many2Many('test.many2many_reference.relation', 'origin',
'target', 'Targets')
class Many2ManyReferenceTarget(ModelSQL):
- 'Many2Many Reference Target'
__name__ = 'test.many2many_reference.target'
name = fields.Char('Name')
class Many2ManyReferenceRelation(ModelSQL):
- 'Many2Many Relation'
__name__ = 'test.many2many_reference.relation'
origin = fields.Reference('Origin', [
(None, ''),
@@ -71,27 +62,23 @@ class Many2ManyReferenceRelation(ModelSQL):
class Many2ManySize(ModelSQL):
- 'Many2Many Size Relation'
__name__ = 'test.many2many_size'
targets = fields.Many2Many('test.many2many_size.relation', 'origin',
'target', 'Targets', size=3)
class Many2ManySizeTarget(ModelSQL):
- 'Many2Many Size Target'
__name__ = 'test.many2many_size.target'
name = fields.Char('Name')
class Many2ManySizeRelation(ModelSQL):
- 'Many2Many Size Relation'
__name__ = 'test.many2many_size.relation'
origin = fields.Many2One('test.many2many_size', 'Origin')
target = fields.Many2One('test.many2many_size.target', 'Target')
class Many2ManyDomain(ModelSQL):
- "Many2Many Domain"
__name__ = 'test.many2many_domain'
targets = fields.Many2Many(
'test.many2many_domain.relation', 'origin', 'target', "Targets",
@@ -101,20 +88,17 @@ class Many2ManyDomain(ModelSQL):
class Many2ManyDomainTarget(ModelSQL):
- "Many2Many Domain Target"
__name__ = 'test.many2many_domain.target'
value = fields.Integer("Value")
class Many2ManyDomainRelation(ModelSQL):
- "Many2Many Domain Relation"
__name__ = 'test.many2many_domain.relation'
origin = fields.Many2One('test.many2many_domain', "Origin")
target = fields.Many2One('test.many2many_domain.target', "Target")
class Many2ManyFilter(ModelSQL):
- 'Many2Many Filter Relation'
__name__ = 'test.many2many_filter'
targets = fields.Many2Many('test.many2many_filter.relation', 'origin',
'target', 'Targets')
@@ -127,20 +111,17 @@ class Many2ManyFilter(ModelSQL):
class Many2ManyFilterTarget(ModelSQL):
- 'Many2Many Filter Target'
__name__ = 'test.many2many_filter.target'
value = fields.Integer('Value')
class Many2ManyFilterRelation(ModelSQL):
- 'Many2Many Filter Relation'
__name__ = 'test.many2many_filter.relation'
origin = fields.Many2One('test.many2many_filter', 'Origin')
target = fields.Many2One('test.many2many_filter.target', 'Target')
class Many2ManyFilterDomain(ModelSQL):
- 'Many2Many Filter Domain Relation'
__name__ = 'test.many2many_filter_domain'
targets = fields.Many2Many('test.many2many_filter_domain.relation',
'origin', 'target', 'Targets', domain=[('value', '<', 10)])
@@ -150,20 +131,17 @@ class Many2ManyFilterDomain(ModelSQL):
class Many2ManyFilterDomainTarget(ModelSQL):
- 'Many2Many Filter Domain Target'
__name__ = 'test.many2many_filter_domain.target'
value = fields.Integer('Value')
class Many2ManyFilterDomainRelation(ModelSQL):
- 'Many2Many Filter Domain Relation'
__name__ = 'test.many2many_filter_domain.relation'
origin = fields.Many2One('test.many2many_filter_domain', 'Origin')
target = fields.Many2One('test.many2many_filter.target', 'Target')
class Many2ManyTree(ModelSQL):
- 'Many2Many Tree'
__name__ = 'test.many2many_tree'
parents = fields.Many2Many('test.many2many_tree.relation',
'child', 'parent', 'Parents')
@@ -172,14 +150,12 @@ class Many2ManyTree(ModelSQL):
class Many2ManyTreeRelation(ModelSQL):
- 'Many2Many Tree Relation'
__name__ = 'test.many2many_tree.relation'
parent = fields.Many2One('test.many2many_tree', 'Parent')
child = fields.Many2One('test.many2many_tree', 'Child')
class Many2ManyContext(ModelSQL):
- "Many2Many Context"
__name__ = 'test.many2many_context'
targets = fields.Many2Many(
'test.many2many_context.relation', 'origin', 'target', "Targets",
@@ -187,14 +163,12 @@ class Many2ManyContext(ModelSQL):
class Many2ManyContextRelation(ModelSQL):
- "Many2Many Context Relation"
__name__ = 'test.many2many_context.relation'
origin = fields.Many2One('test.many2many_context', "Origin")
target = fields.Many2One('test.many2many_context.target', "Target")
class Many2ManyContextTarget(ModelSQL):
- "Many2Many Context Target"
__name__ = 'test.many2many_context.target'
context = fields.Function(fields.Char("context"), 'get_context')
@@ -204,7 +178,6 @@ class Many2ManyContextTarget(ModelSQL):
class Many2ManyOrder(ModelSQL):
- "Many2Many Order"
__name__ = 'test.many2many_order'
targets = fields.Many2Many(
'test.many2many_order.relation', 'origin', 'target', "Targets")
@@ -215,14 +188,12 @@ class Many2ManyOrder(ModelSQL):
class Many2ManyOrderRelation(ModelSQL):
- "Many2Many Order Relation"
__name__ = 'test.many2many_order.relation'
origin = fields.Many2One('test.many2many_order', "Origin")
target = fields.Many2One('test.many2many_order.target', "Target")
class Many2ManyOrderTarget(ModelSQL):
- "Many2Many Order Target"
__name__ = 'test.many2many_order.target'
diff --git a/trytond/trytond/tests/field_many2one.py b/trytond/trytond/tests/field_many2one.py
index 944747e40d..d08f477d94 100644
--- a/trytond/trytond/tests/field_many2one.py
+++ b/trytond/trytond/tests/field_many2one.py
@@ -7,7 +7,6 @@ from trytond.transaction import Transaction
class Many2OneTarget(DeactivableMixin, ModelSQL):
- "Many2One Domain Validation Target"
__name__ = 'test.many2one_target'
_order_name = 'value'
@@ -15,14 +14,12 @@ class Many2OneTarget(DeactivableMixin, ModelSQL):
class Many2One(ModelSQL):
- "Many2One"
__name__ = 'test.many2one'
many2one = fields.Many2One('test.many2one_target', 'many2one')
class Many2OneDomainValidation(ModelSQL):
- "Many2One Domain Validation"
- __name__ = 'test.many2one_domainvalidation'
+ __name__ = 'test.many2one_domain_validation'
many2one = fields.Many2One('test.many2one_target',
'many2one',
domain=[
@@ -32,24 +29,20 @@ class Many2OneDomainValidation(ModelSQL):
class Many2OneNoForeignKey(ModelSQL):
- "Many2One No Foreign Key"
__name__ = 'test.many2one_no_foreign_key'
many2one = fields.Many2One('test.many2one_target_storage', 'many2one')
class Many2OneTargetStorage(ModelStorage):
- "Many2One Target Storage"
__name__ = 'test.many2one_target_storage'
class Many2OneTree(ModelSQL):
- 'Many2One Tree'
__name__ = 'test.many2one_tree'
many2one = fields.Many2One('test.many2one_tree', 'many2one')
class Many2OneMPTT(ModelSQL):
- 'Many2One MPTT'
__name__ = 'test.many2one_mptt'
many2one = fields.Many2One('test.many2one_mptt', 'many2one',
left='left', right='right')
@@ -66,14 +59,12 @@ class Many2OneMPTT(ModelSQL):
class Many2OnePath(ModelSQL):
- "Many2One Path"
__name__ = 'test.many2one_path'
many2one = fields.Many2One('test.many2one_path', 'many2one', path='path')
path = fields.Char("Path")
class Many2OneContext(ModelSQL):
- "Many2One Context"
__name__ = 'test.many2one_context'
target = fields.Many2One(
'test.many2one_context.target', "target",
@@ -81,7 +72,6 @@ class Many2OneContext(ModelSQL):
class Many2OneTargetContext(ModelSQL):
- "Many2One Target Context"
__name__ = 'test.many2one_context.target'
context = fields.Function(fields.Char("context"), 'get_context')
diff --git a/trytond/trytond/tests/field_multiselection.py b/trytond/trytond/tests/field_multiselection.py
index 1e88c21202..6bf65ea751 100644
--- a/trytond/trytond/tests/field_multiselection.py
+++ b/trytond/trytond/tests/field_multiselection.py
@@ -6,7 +6,6 @@ from trytond.pool import Pool
class MultiSelection(ModelSQL):
- 'MultiSelection'
__name__ = 'test.multi_selection'
selects = fields.MultiSelection([
('foo', "Foo"),
@@ -32,14 +31,12 @@ class MultiSelection(ModelSQL):
class MultiSelectionRequired(ModelSQL):
- "MultiSelection Required"
__name__ = 'test.multi_selection_required'
selects = fields.MultiSelection(
[('foo', "Foo"), ('bar', "Bar")], "Selects", required=True)
class MultiSelectionText(MultiSelection):
- "MultiSelection TEXT"
__name__ = 'test.multi_selection_text'
@classmethod
@@ -51,7 +48,6 @@ class MultiSelectionText(MultiSelection):
class MultiSelectionRequiredText(MultiSelectionRequired):
- "MultiSelection Required Text"
__name__ = 'test.multi_selection_required_text'
@classmethod
diff --git a/trytond/trytond/tests/field_numeric.py b/trytond/trytond/tests/field_numeric.py
index 2647b2f510..67e6ef8ecf 100644
--- a/trytond/trytond/tests/field_numeric.py
+++ b/trytond/trytond/tests/field_numeric.py
@@ -9,14 +9,12 @@ from trytond.pyson import Eval
class Numeric(ModelSQL):
- 'Numeric'
__name__ = 'test.numeric'
numeric = fields.Numeric(string='Numeric', help='Test numeric',
required=False)
class NumericDefault(ModelSQL):
- 'Numeric Default'
__name__ = 'test.numeric_default'
numeric = fields.Numeric(string='Numeric', help='Test numeric',
required=False)
@@ -27,14 +25,12 @@ class NumericDefault(ModelSQL):
class NumericRequired(ModelSQL):
- 'Numeric Required'
__name__ = 'test.numeric_required'
numeric = fields.Numeric(string='Numeric', help='Test numeric',
required=True)
class NumericDigits(ModelSQL):
- 'Numeric Digits'
__name__ = 'test.numeric_digits'
digits = fields.Integer('Digits')
numeric = fields.Numeric(string='Numeric', help='Test numeric',
diff --git a/trytond/trytond/tests/field_one2many.py b/trytond/trytond/tests/field_one2many.py
index 827ae0d4a2..7edb1981e9 100644
--- a/trytond/trytond/tests/field_one2many.py
+++ b/trytond/trytond/tests/field_one2many.py
@@ -8,41 +8,35 @@ from trytond.transaction import Transaction
class One2Many(ModelSQL):
- 'One2Many Relation'
__name__ = 'test.one2many'
targets = fields.One2Many('test.one2many.target', 'origin', 'Targets')
class One2ManyTarget(ModelSQL):
- 'One2Many Target'
__name__ = 'test.one2many.target'
name = fields.Char('Name')
origin = fields.Many2One('test.one2many', 'Origin')
class One2ManyRequired(ModelSQL):
- 'One2Many Required'
__name__ = 'test.one2many_required'
targets = fields.One2Many('test.one2many_required.target', 'origin',
'Targets', required=True)
class One2ManyRequiredTarget(ModelSQL):
- 'One2Many Required Target'
__name__ = 'test.one2many_required.target'
name = fields.Char('Name')
origin = fields.Many2One('test.one2many_required', 'Origin')
class One2ManyReference(ModelSQL):
- 'One2Many Reference Relation'
__name__ = 'test.one2many_reference'
targets = fields.One2Many('test.one2many_reference.target', 'origin',
'Targets')
class One2ManyReferenceTarget(ModelSQL):
- 'One2Many Reference Target'
__name__ = 'test.one2many_reference.target'
name = fields.Char('Name')
origin = fields.Reference('Origin', [
@@ -52,20 +46,17 @@ class One2ManyReferenceTarget(ModelSQL):
class One2ManySize(ModelSQL):
- 'One2Many Size Relation'
__name__ = 'test.one2many_size'
targets = fields.One2Many('test.one2many_size.target', 'origin', 'Targets',
size=3)
class One2ManySizeTarget(ModelSQL):
- 'One2Many Size Target'
__name__ = 'test.one2many_size.target'
origin = fields.Many2One('test.one2many_size', 'Origin')
class One2ManySizePYSON(ModelSQL):
- 'One2Many Size PYSON Relation'
__name__ = 'test.one2many_size_pyson'
limit = fields.Integer('Limit')
targets = fields.One2Many('test.one2many_size_pyson.target', 'origin',
@@ -73,13 +64,11 @@ class One2ManySizePYSON(ModelSQL):
class One2ManySizePYSONTarget(ModelSQL):
- 'One2Many Size PYSON Target'
__name__ = 'test.one2many_size_pyson.target'
origin = fields.Many2One('test.one2many_size_pyson', 'Origin')
class One2ManyDomain(ModelSQL):
- "One2Many Domain"
__name__ = 'test.one2many_domain'
targets = fields.One2Many(
'test.one2many_domain.target', 'origin', "Targets",
@@ -89,14 +78,12 @@ class One2ManyDomain(ModelSQL):
class One2ManyDomainTarget(ModelSQL):
- "One2Many Domain Target"
__name__ = 'test.one2many_domain.target'
origin = fields.Many2One('test.one2many_domain', "Origin")
value = fields.Integer("Value")
class One2ManyFilter(ModelSQL):
- 'One2Many Filter Relation'
__name__ = 'test.one2many_filter'
targets = fields.One2Many('test.one2many_filter.target', 'origin',
'Targets')
@@ -105,14 +92,12 @@ class One2ManyFilter(ModelSQL):
class One2ManyFilterTarget(ModelSQL):
- 'One2Many Filter Target'
__name__ = 'test.one2many_filter.target'
origin = fields.Many2One('test.one2many_filter', 'Origin')
value = fields.Integer('Value')
class One2ManyFilterDomain(ModelSQL):
- 'One2Many Filter Relation'
__name__ = 'test.one2many_filter_domain'
targets = fields.One2Many('test.one2many_filter_domain.target', 'origin',
'Targets', domain=[('value', '<', 10)])
@@ -122,14 +107,12 @@ class One2ManyFilterDomain(ModelSQL):
class One2ManyFilterDomainTarget(ModelSQL):
- 'One2Many Filter Domain Target'
__name__ = 'test.one2many_filter_domain.target'
origin = fields.Many2One('test.one2many_filter_domain', 'Origin')
value = fields.Integer('Value')
class One2ManyContext(ModelSQL):
- "One2Many Context"
__name__ = 'test.one2many_context'
targets = fields.One2Many(
'test.one2many_context.target', 'origin', "Targets",
@@ -137,7 +120,6 @@ class One2ManyContext(ModelSQL):
class One2ManyContextTarget(ModelSQL):
- "One2Many Context Target"
__name__ = 'test.one2many_context.target'
origin = fields.Many2One('test.one2many_context', "Origin")
context = fields.Function(fields.Integer("context"), 'get_context')
@@ -148,7 +130,6 @@ class One2ManyContextTarget(ModelSQL):
class One2ManyOrder(ModelSQL):
- "One2Many Order"
__name__ = 'test.one2many_order'
targets = fields.One2Many(
'test.one2many_order.target', 'origin', "Targets")
@@ -158,7 +139,6 @@ class One2ManyOrder(ModelSQL):
class One2ManyOrderTarget(ModelSQL):
- "One2Many Order Target"
__name__ = 'test.one2many_order.target'
origin = fields.Many2One('test.one2many_order', "Origin")
diff --git a/trytond/trytond/tests/field_one2one.py b/trytond/trytond/tests/field_one2one.py
index 981fc9e1c9..e97965e0ea 100644
--- a/trytond/trytond/tests/field_one2one.py
+++ b/trytond/trytond/tests/field_one2one.py
@@ -6,20 +6,17 @@ from trytond.pool import Pool
class One2One(ModelSQL):
- 'One2One'
__name__ = 'test.one2one'
one2one = fields.One2One('test.one2one.relation', 'origin', 'target',
string='One2One', help='Test one2one', required=False)
class One2OneTarget(ModelSQL):
- 'One2One Target'
__name__ = 'test.one2one.target'
name = fields.Char('Name')
class One2OneRelation(ModelSQL):
- 'One2One Relation'
__name__ = 'test.one2one.relation'
origin = fields.Many2One('test.one2one', 'Origin')
target = fields.Many2One('test.one2one.target', 'Target')
@@ -37,14 +34,12 @@ class One2OneRelation(ModelSQL):
class One2OneRequired(ModelSQL):
- 'One2One'
__name__ = 'test.one2one_required'
one2one = fields.One2One('test.one2one_required.relation', 'origin',
'target', string='One2One', help='Test one2one', required=True)
class One2OneRequiredRelation(ModelSQL):
- 'One2One Relation'
__name__ = 'test.one2one_required.relation'
origin = fields.Many2One('test.one2one_required', 'Origin')
target = fields.Many2One('test.one2one.target', 'Target')
@@ -62,7 +57,6 @@ class One2OneRequiredRelation(ModelSQL):
class One2OneDomain(ModelSQL):
- 'One2One'
__name__ = 'test.one2one_domain'
one2one = fields.One2One('test.one2one_domain.relation', 'origin',
'target', string='One2One', help='Test one2one',
@@ -70,7 +64,6 @@ class One2OneDomain(ModelSQL):
class One2OneDomainRelation(ModelSQL):
- 'One2One Relation'
__name__ = 'test.one2one_domain.relation'
origin = fields.Many2One('test.one2one_domain', 'Origin')
target = fields.Many2One('test.one2one.target', 'Target')
diff --git a/trytond/trytond/tests/field_reference.py b/trytond/trytond/tests/field_reference.py
index 8140aa270c..a4a5de6247 100644
--- a/trytond/trytond/tests/field_reference.py
+++ b/trytond/trytond/tests/field_reference.py
@@ -8,7 +8,6 @@ from trytond.transaction import Transaction
class Reference(ModelSQL):
- 'Reference'
__name__ = 'test.reference'
reference = fields.Reference('Reference', selection=[
(None, ''),
@@ -17,13 +16,11 @@ class Reference(ModelSQL):
class ReferenceTarget(ModelSQL):
- 'Reference Target'
__name__ = 'test.reference.target'
name = fields.Char('Name', required=True)
class ReferenceRequired(ModelSQL):
- 'Reference Required'
__name__ = 'test.reference_required'
reference = fields.Reference('Reference', selection=[
(None, ''),
@@ -32,7 +29,6 @@ class ReferenceRequired(ModelSQL):
class ReferenceContext(ModelSQL):
- "Reference Context"
__name__ = 'test.reference_context'
target = fields.Reference("Reference", selection=[
(None, ''),
@@ -41,7 +37,6 @@ class ReferenceContext(ModelSQL):
class ReferenceContextTarget(ModelSQL):
- "Reference Context Target"
__name__ = 'test.reference_context.target'
context = fields.Function(fields.Char("context"), 'get_context')
@@ -51,36 +46,33 @@ class ReferenceContextTarget(ModelSQL):
class ReferenceDomainValidation(ModelSQL):
- "Reference Domain Validation"
- __name__ = 'test.reference_domainvalidation'
+ __name__ = 'test.reference_domain_validation'
reference = fields.Reference("Reference", selection=[
(None, ''),
('test.reference.target', "Target"),
- ('test.reference_domainvalidation.target', "Domain Target"),
+ ('test.reference_domain_validation.target', "Domain Target"),
],
domain={
- 'test.reference_domainvalidation.target': [
+ 'test.reference_domain_validation.target': [
('value', '>', 5),
],
})
class ReferenceDomainValidationTarget(ModelSQL):
- "Reference Domain Validation Target"
- __name__ = 'test.reference_domainvalidation.target'
+ __name__ = 'test.reference_domain_validation.target'
value = fields.Integer("Value")
class ReferenceDomainValidationPYSON(ModelSQL):
- "Reference Domain Validation"
- __name__ = 'test.reference_domainvalidation_pyson'
+ __name__ = 'test.reference_domain_validation_pyson'
reference = fields.Reference("Reference", selection=[
(None, ''),
('test.reference.target', "Target"),
- ('test.reference_domainvalidation.target', "Domain Target"),
+ ('test.reference_domain_validation.target', "Domain Target"),
],
domain={
- 'test.reference_domainvalidation.target': [
+ 'test.reference_domain_validation.target': [
('value', '>', Eval('value')),
],
},
diff --git a/trytond/trytond/tests/field_selection.py b/trytond/trytond/tests/field_selection.py
index cbae723df8..0ae88a3d20 100644
--- a/trytond/trytond/tests/field_selection.py
+++ b/trytond/trytond/tests/field_selection.py
@@ -6,7 +6,6 @@ from trytond.pool import Pool
class Selection(ModelSQL):
- 'Selection'
__name__ = 'test.selection'
select = fields.Selection([
('', ''), ('arabic', 'Arabic'), ('hexa', 'Hexadecimal')],
@@ -39,14 +38,12 @@ class Selection(ModelSQL):
class SelectionRequired(ModelSQL):
- 'Selection Required'
__name__ = 'test.selection_required'
select = fields.Selection([('arabic', 'Arabic'), ('latin', 'Latin')],
'Selection', required=True)
class SelectionLabel(ModelSQL):
- "Selection with different label"
__name__ = 'test.selection_label'
select = fields.Selection([
('a', "Z"),
diff --git a/trytond/trytond/tests/field_text.py b/trytond/trytond/tests/field_text.py
index 1c4a946cf1..d07ba72c4a 100644
--- a/trytond/trytond/tests/field_text.py
+++ b/trytond/trytond/tests/field_text.py
@@ -6,14 +6,12 @@ from trytond.pool import Pool
class Text(ModelSQL):
- 'Text'
__name__ = 'test.text'
text = fields.Text(string='Text', size=None, help='Test text',
required=False)
class TextDefault(ModelSQL):
- 'Text Default'
__name__ = 'test.text_default'
text = fields.Text(string='Text', size=None, help='Test text',
required=False)
@@ -24,28 +22,24 @@ class TextDefault(ModelSQL):
class TextRequired(ModelSQL):
- 'Text Required'
__name__ = 'test.text_required'
text = fields.Text(string='Text', size=None, help='Test text',
required=True)
class TextSize(ModelSQL):
- 'Text Size'
__name__ = 'test.text_size'
text = fields.Text(string='Text', size=5, help='Test text',
required=False)
class TextTranslate(ModelSQL):
- 'Text Translate'
__name__ = 'test.text_translate'
text = fields.Text(string='Text', size=None, help='Test text',
required=False, translate=True)
class FullText(ModelSQL):
- "FullText"
__name__ = 'test.text_full'
full_text = fields.FullText("Full Text")
diff --git a/trytond/trytond/tests/field_time.py b/trytond/trytond/tests/field_time.py
index 29d8c0b272..04b361f555 100644
--- a/trytond/trytond/tests/field_time.py
+++ b/trytond/trytond/tests/field_time.py
@@ -8,13 +8,11 @@ from trytond.pool import Pool
class Time(ModelSQL):
- 'Time'
__name__ = 'test.time'
time = fields.Time(string='Time', help='Test time', required=False)
class TimeDefault(ModelSQL):
- 'Time Default'
__name__ = 'test.time_default'
time = fields.Time(string='Time', help='Test time', required=False)
@@ -24,19 +22,16 @@ class TimeDefault(ModelSQL):
class TimeRequired(ModelSQL):
- 'Time'
__name__ = 'test.time_required'
time = fields.Time(string='Time', help='Test time', required=True)
class TimeFormat(ModelSQL):
- 'Time Format'
__name__ = 'test.time_format'
time = fields.Time(string='Time', format='%H:%M')
class TimePrecision(ModelSQL):
- "Time precision"
__name__ = 'test.time_precision'
time = fields.Time(string="Time", format="%H:%M:%S.%f")
diff --git a/trytond/trytond/tests/field_timedelta.py b/trytond/trytond/tests/field_timedelta.py
index 0701722fd3..15252a0487 100644
--- a/trytond/trytond/tests/field_timedelta.py
+++ b/trytond/trytond/tests/field_timedelta.py
@@ -8,14 +8,12 @@ from trytond.pool import Pool
class TimeDelta(ModelSQL):
- 'TimeDelta'
__name__ = 'test.timedelta'
timedelta = fields.TimeDelta(string='TimeDelta', help='Test timedelta',
required=False)
class TimeDeltaDefault(ModelSQL):
- 'TimeDelta Default'
__name__ = 'test.timedelta_default'
timedelta = fields.TimeDelta(string='TimeDelta', help='Test timedelta',
required=False)
@@ -26,7 +24,6 @@ class TimeDeltaDefault(ModelSQL):
class TimeDeltaRequired(ModelSQL):
- 'TimeDelta Required'
__name__ = 'test.timedelta_required'
timedelta = fields.TimeDelta(string='TimeDelta', help='Test timedelta',
required=True)
diff --git a/trytond/trytond/tests/history.py b/trytond/trytond/tests/history.py
index 01985df246..49759a7c5e 100644
--- a/trytond/trytond/tests/history.py
+++ b/trytond/trytond/tests/history.py
@@ -5,7 +5,6 @@ from trytond.pool import Pool
class TestHistory(ModelSQL):
- 'Test History'
__name__ = 'test.history'
_history = True
value = fields.Integer('Value')
@@ -17,7 +16,6 @@ class TestHistory(ModelSQL):
class TestHistoryLine(ModelSQL):
- 'Test History Line'
__name__ = 'test.history.line'
_history = True
history = fields.Many2One('test.history', 'History')
diff --git a/trytond/trytond/tests/import_data.py b/trytond/trytond/tests/import_data.py
index c824eaf3c9..413aa9a429 100644
--- a/trytond/trytond/tests/import_data.py
+++ b/trytond/trytond/tests/import_data.py
@@ -6,74 +6,62 @@ from trytond.pool import Pool
class ImportData(ModelSQL):
- "Import Data"
__name__ = 'test.import_data'
name = fields.Char("Name")
value = fields.Integer("Value")
class ImportDataBoolean(ModelSQL):
- "Import Data Boolean"
__name__ = 'test.import_data.boolean'
boolean = fields.Boolean('Boolean')
class ImportDataInteger(ModelSQL):
- "Import Data Integer"
__name__ = 'test.import_data.integer'
integer = fields.Integer('Integer')
class ImportDataFloat(ModelSQL):
- "Import Data Float"
__name__ = 'test.import_data.float'
float = fields.Float('Float')
class ImportDataNumeric(ModelSQL):
- "Import Data Numeric"
__name__ = 'test.import_data.numeric'
numeric = fields.Numeric('Numeric')
class ImportDataChar(ModelSQL):
- "Import Data Char"
__name__ = 'test.import_data.char'
char = fields.Char('Char')
class ImportDataTranslate(ModelSQL):
- "Import Data Translate"
__name__ = 'test.import_data.translate'
translate = fields.Char("Translate", translate=True)
class ImportDataText(ModelSQL):
- "Import Data Text"
__name__ = 'test.import_data.text'
text = fields.Text('Text')
class ImportDataDate(ModelSQL):
- "Import Data Date"
__name__ = 'test.import_data.date'
date = fields.Date('Date')
class ImportDataDateTime(ModelSQL):
- "Import Data DateTime"
__name__ = 'test.import_data.datetime'
datetime = fields.DateTime('DateTime')
class ImportDataTimeDelta(ModelSQL):
- "Import Data TimeDelta"
__name__ = 'test.import_data.timedelta'
timedelta = fields.TimeDelta('TimeDelta')
class ImportDataSelection(ModelSQL):
- "Import Data Selection"
__name__ = 'test.import_data.selection'
selection = fields.Selection([
(None, ''),
@@ -83,40 +71,34 @@ class ImportDataSelection(ModelSQL):
class ImportDataMany2OneTarget(ModelSQL):
- "Import Data Many2One Target"
__name__ = 'test.import_data.many2one.target'
name = fields.Char('Name')
class ImportDataMany2One(ModelSQL):
- "Import Data Many2One"
__name__ = 'test.import_data.many2one'
many2one = fields.Many2One('test.import_data.many2one.target',
'Many2One')
class ImportDataMany2ManyTarget(ModelSQL):
- "Import Data Many2Many Target"
__name__ = 'test.import_data.many2many.target'
name = fields.Char('Name')
class ImportDataMany2Many(ModelSQL):
- "Import Data Many2Many"
__name__ = 'test.import_data.many2many'
many2many = fields.Many2Many('test.import_data.many2many.relation',
'many2many', 'target', 'Many2Many')
class ImportDataMany2ManyRelation(ModelSQL):
- "Import Data Many2Many Relation"
__name__ = 'test.import_data.many2many.relation'
many2many = fields.Many2One('test.import_data.many2many', 'Many2One')
target = fields.Many2One('test.import_data.many2many.target', 'Target')
class ImportDataOne2Many(ModelSQL):
- "Import Data One2Many"
__name__ = 'test.import_data.one2many'
name = fields.Char('Name')
one2many = fields.One2Many('test.import_data.one2many.target', 'one2many',
@@ -124,14 +106,12 @@ class ImportDataOne2Many(ModelSQL):
class ImportDataOne2ManyTarget(ModelSQL):
- "Import Data One2Many Target"
__name__ = 'test.import_data.one2many.target'
name = fields.Char('Name')
one2many = fields.Many2One('test.import_data.one2many', 'One2Many')
class ImportDataOne2Manies(ModelSQL):
- "Import Data One2Manies"
__name__ = 'test.import_data.one2manies'
name = fields.Char("Name")
one2many1 = fields.One2Many(
@@ -141,33 +121,28 @@ class ImportDataOne2Manies(ModelSQL):
class ImportDataOne2Many1Target(ModelSQL):
- "Import Data One2Many 1 Target"
__name__ = 'test.import_data.one2many1.target'
name = fields.Char("Name")
one2many = fields.Many2One('test.import_data.one2manies', "One2Many")
class ImportDataOne2Many2Target(ModelSQL):
- "Import Data One2Many 2 Target"
__name__ = 'test.import_data.one2many2.target'
name = fields.Char("Name")
one2many = fields.Many2One('test.import_data.one2manies', "One2Many")
class ImportDataBinary(ModelSQL):
- "Import Data Binary"
__name__ = 'test.import_data.binary'
data = fields.Binary("Data")
class ImportDataReferenceSelection(ModelSQL):
- "Import Data Reference Selection"
__name__ = 'test.import_data.reference.selection'
name = fields.Char('Name')
class ImportDataReference(ModelSQL):
- "Import Data Reference"
__name__ = 'test.import_data.reference'
reference = fields.Reference('Reference', [
(None, ''),
@@ -176,7 +151,6 @@ class ImportDataReference(ModelSQL):
class ImportDataUpdate(ModelSQL):
- "Import Data for Update"
__name__ = 'test.import_data.update'
name = fields.Char("Name")
diff --git a/trytond/trytond/tests/mixin.py b/trytond/trytond/tests/mixin.py
index 6fdd952d11..2e14a1103a 100644
--- a/trytond/trytond/tests/mixin.py
+++ b/trytond/trytond/tests/mixin.py
@@ -22,12 +22,10 @@ class ReportMixin:
class DeactivableModelView(DeactivableMixin, ModelView):
- 'Deactivable ModelView'
__name__ = 'test.deactivable.modelview'
class DeactivableModelSQL(DeactivableMixin, ModelSQL):
- 'Deactivable ModelView'
__name__ = 'test.deactivable.modelsql'
diff --git a/trytond/trytond/tests/model.py b/trytond/trytond/tests/model.py
index 011c05f267..a00db1d383 100644
--- a/trytond/trytond/tests/model.py
+++ b/trytond/trytond/tests/model.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval
class Model(ModelSQL):
- 'Model'
__name__ = 'test.model'
name = fields.Char('Name')
selection = fields.Selection([
@@ -22,29 +21,29 @@ class Model(ModelSQL):
class ModelParent(Model):
- "Model Parent"
__name__ = 'test.model_parent'
+ __string__ = None
name = fields.Char("Name")
children = fields.One2Many('test.model_child', 'parent', "Children")
class ModelChild(Model):
- "Model Child"
__name__ = 'test.model_child'
+ __string__ = None
name = fields.Char("Name")
parent = fields.Many2One('test.model_parent', "Parent")
class ModelChildChild(Model):
- "Model Child Child"
+ __string__ = None
__name__ = 'test.model_child_child'
name = fields.Char("Name")
parent = fields.Many2One('test.model_child', "Parent")
class ModelContext(Model):
- "Model with contextual field"
__name__ = 'test.model_context'
+ __string__ = None
name = fields.Char("Name")
target = fields.Many2One(
'test.model', "Target",
@@ -54,8 +53,8 @@ class ModelContext(Model):
class ModelContextParent(Model):
- "Model with contextual field from _parent"
__name__ = 'test.model_context_parent'
+ __string__ = None
parent = fields.Many2One('test.model', "Parent")
target = fields.Many2One(
'test.model', "Target",
@@ -65,7 +64,6 @@ class ModelContextParent(Model):
class ModelDefault(Model):
- "Model with default"
__name__ = 'test.model.default'
name = fields.Char("Name")
@@ -78,7 +76,6 @@ class ModelDefault(Model):
class Singleton(ModelSingleton, ModelSQL):
- 'Singleton'
__name__ = 'test.singleton'
name = fields.Char('Name')
@@ -88,38 +85,32 @@ class Singleton(ModelSingleton, ModelSQL):
class URLObject(ModelSQL):
- 'URLObject'
__name__ = 'test.urlobject'
name = fields.Char('Name')
class Model4Union1(ModelSQL):
- 'Model for union 1'
__name__ = 'test.model.union1'
name = fields.Char('Name')
optional = fields.Char('Optional')
class Model4Union2(ModelSQL):
- 'Model for union 2'
__name__ = 'test.model.union2'
name = fields.Char('Name')
class Model4Union3(ModelSQL):
- 'Model for union 3'
__name__ = 'test.model.union3'
name = fields.Char('Name')
class Model4Union4(ModelSQL):
- 'Model for union 4'
__name__ = 'test.model.union4'
name = fields.Char('Name')
class Union(UnionMixin, ModelSQL):
- 'Union'
__name__ = 'test.union'
name = fields.Char('Name')
optional = fields.Char('Optional')
@@ -130,7 +121,6 @@ class Union(UnionMixin, ModelSQL):
class UnionUnion(UnionMixin, ModelSQL):
- 'Union of union'
__name__ = 'test.union.union'
name = fields.Char('Name')
@@ -140,20 +130,17 @@ class UnionUnion(UnionMixin, ModelSQL):
class Model4UnionTree1(ModelSQL):
- 'Model for union tree 1'
__name__ = 'test.model.union.tree1'
name = fields.Char('Name')
class Model4UnionTree2(ModelSQL):
- 'Model for union tree 2'
__name__ = 'test.model.union.tree2'
name = fields.Char('Name')
parent = fields.Many2One('test.model.union.tree1', 'Parent')
class UnionTree(UnionMixin, ModelSQL):
- 'Union tree'
__name__ = 'test.union.tree'
name = fields.Char('Name')
parent = fields.Many2One('test.union.tree', 'Parent')
@@ -165,7 +152,6 @@ class UnionTree(UnionMixin, ModelSQL):
class SequenceOrderedModel(sequence_ordered(), ModelSQL):
- 'Sequence Ordered Model'
__name__ = 'test.order.sequence'
diff --git a/trytond/trytond/tests/model_log.py b/trytond/trytond/tests/model_log.py
index 575684101f..84185bb09c 100644
--- a/trytond/trytond/tests/model_log.py
+++ b/trytond/trytond/tests/model_log.py
@@ -7,7 +7,6 @@ from trytond.wizard import StateTransition, Wizard
class Model(Workflow, ModelSQL, ModelView):
- "Model"
__name__ = 'test.model_log.model'
name = fields.Char("Name")
@@ -42,7 +41,6 @@ class Model(Workflow, ModelSQL, ModelView):
class Wizard(Wizard):
- "Wizard"
__name__ = 'test.model_log.wizard'
no_modification = StateTransition()
modification = StateTransition()
diff --git a/trytond/trytond/tests/modelsql.py b/trytond/trytond/tests/modelsql.py
index e834d256a2..36a858a308 100644
--- a/trytond/trytond/tests/modelsql.py
+++ b/trytond/trytond/tests/modelsql.py
@@ -10,7 +10,6 @@ from trytond.pyson import Eval
class ModelSQLRead(ModelSQL):
- "ModelSQL to test read"
__name__ = 'test.modelsql.read'
name = fields.Char("Name")
target = fields.Many2One('test.modelsql.read.target', "Target")
@@ -20,7 +19,6 @@ class ModelSQLRead(ModelSQL):
class ModelSQLReadTarget(ModelSQL):
- "ModelSQL Target to test read"
__name__ = 'test.modelsql.read.target'
name = fields.Char("Name")
parent = fields.Many2One('test.modelsql.read', "Parent")
@@ -28,7 +26,6 @@ class ModelSQLReadTarget(ModelSQL):
class ModelSQLReadContextID(ModelSQL):
- "ModelSQL to test read with ID in context"
__name__ = 'test.modelsql.read.context_id'
name = fields.Char("Name", context={
'test': Eval('id'),
@@ -36,7 +33,6 @@ class ModelSQLReadContextID(ModelSQL):
class ModelSQLReadLimit(ModelSQL):
- "ModelSQL to test related limit"
__name__ = 'test.modelsql.read.limit'
name = fields.Char("Name")
targets = fields.One2Many(
@@ -50,7 +46,6 @@ class ModelSQLReadLimit(ModelSQL):
class ModelSQLReadLimitTarget(ModelSQL):
- "ModelSQL to test related limit"
__name__ = 'test.modelsql.read.limit.target'
name = fields.Char("Name")
integer = fields.Integer("Integer")
@@ -58,7 +53,6 @@ class ModelSQLReadLimitTarget(ModelSQL):
class ModelSQLRequiredField(ModelSQL):
- 'model with a required field'
__name__ = 'test.modelsql'
integer = fields.Integer(string="integer", required=True)
@@ -66,12 +60,10 @@ class ModelSQLRequiredField(ModelSQL):
class ModelSQLTimestamp(ModelSQL):
- 'Model to test timestamp'
__name__ = 'test.modelsql.timestamp'
class ModelSQLCreate(ModelSQL):
- "Model to test creation"
__name__ = 'test.modelsql.create'
char = fields.Char("Char")
@@ -79,19 +71,16 @@ class ModelSQLCreate(ModelSQL):
class ModelSQLWrite(ModelSQL):
- "ModelSQL to test write"
__name__ = 'test.modelsql.write'
name = fields.Char("Name")
class ModelSQLDelete(ModelSQL):
- "ModelSQL to test delete"
__name__ = 'test.modelsql.delete'
name = fields.Char("Name")
class ModelSQLFieldSet(ModelSQL):
- 'Model to test field set'
__name__ = 'test.modelsql.field_set'
field = fields.Function(fields.Integer('Field'),
@@ -106,27 +95,23 @@ class ModelSQLFieldSet(ModelSQL):
class ModelSQLOne2Many(ModelSQL):
- "ModelSQL One2Many"
__name__ = 'test.modelsql.one2many'
targets = fields.One2Many(
'test.modelsql.one2many.target', 'origin', "Targets")
class ModelSQLOne2ManyTarget(ModelSQL):
- "ModelSQL One2Many Target"
__name__ = 'test.modelsql.one2many.target'
name = fields.Char("Name", required=True)
origin = fields.Many2One('test.modelsql.one2many', "Origin")
class ModelSQLSearch(ModelSQL):
- "ModelSQL Search"
__name__ = 'test.modelsql.search'
name = fields.Char("Name")
class ModelSQLSearchOR2Union(ModelSQL):
- "ModelSQL Search OR to UNION optimization"
__name__ = 'test.modelsql.search.or2union'
name = fields.Char("Name")
target = fields.Many2One('test.modelsql.search.or2union.target', "Target")
@@ -161,14 +146,12 @@ class ModelSQLSearchOR2Union(ModelSQL):
class ModelSQLSearchOR2UnionTarget(ModelSQL):
- "ModelSQL Target to test read"
__name__ = 'test.modelsql.search.or2union.target'
name = fields.Char("Name")
parent = fields.Many2One('test.modelsql.search.or2union', "Parent")
class ModelSQLSearchOR2UnionOrder(ModelSQL):
- "ModelSQL Search OR to UNION optimization with class order"
__name__ = 'test.modelsql.search.or2union.class_order'
name = fields.Char("Name")
reference = fields.Reference("Reference", [
@@ -186,7 +169,6 @@ class ModelSQLSearchOR2UnionOrder(ModelSQL):
class ModelSQLSearchOR2UnionOrderTarget(ModelSQL):
- "ModelSQL Target to test read"
__name__ = 'test.modelsql.search.or2union.class_order.target'
name = fields.Char("Name")
parent = fields.Many2One(
@@ -194,7 +176,6 @@ class ModelSQLSearchOR2UnionOrderTarget(ModelSQL):
class ModelSQLForeignKey(DeactivableMixin, ModelSQL):
- "ModelSQL Foreign Key"
__name__ = 'test.modelsql.fk'
target_cascade = fields.Many2One(
@@ -206,12 +187,10 @@ class ModelSQLForeignKey(DeactivableMixin, ModelSQL):
class ModelSQLForeignKeyTarget(ModelSQL):
- "ModelSQL Foreign Key Target"
__name__ = 'test.modelsql.fk.target'
class ModelSQLForeignKeyTree(ModelSQL):
- "ModelSQL Foreign Key Tree"
__name__ = 'test.modelsql.fk.tree'
parent_cascade = fields.Many2One(
@@ -223,26 +202,22 @@ class ModelSQLForeignKeyTree(ModelSQL):
class NullOrder(ModelSQL):
- "Null Order"
__name__ = 'test.modelsql.null_order'
integer = fields.Integer('Integer')
class ModelTranslation(ModelSQL):
- "ModelSQL with translated field"
__name__ = 'test.modelsql.translation'
name = fields.Char("Name", translate=True)
class ModelTranslationName(ModelSQL):
- "ModelSQL with the 'name' field translated"
__name__ = 'test.modelsql.name_translated'
name = fields.Char("Name", translate=True, help="Name help")
class ModelCheck(ModelSQL):
- "ModelSQL with check constraint"
__name__ = 'test.modelsql.check'
value = fields.Integer("Value")
@@ -256,7 +231,6 @@ class ModelCheck(ModelSQL):
class ModelUnique(ModelSQL):
- "ModelSQL with unique constraint"
__name__ = 'test.modelsql.unique'
value = fields.Integer("Value")
@@ -270,7 +244,6 @@ class ModelUnique(ModelSQL):
class ModelExclude(ModelSQL):
- "ModelSQL with exclude constraint"
__name__ = 'test.modelsql.exclude'
value = fields.Integer("Value")
condition = fields.Boolean("Condition")
@@ -291,7 +264,6 @@ class ModelExclude(ModelSQL):
class ModelLock(ModelSQL):
- 'Model to test lock'
__name__ = 'test.modelsql.lock'
diff --git a/trytond/trytond/tests/modelstorage.py b/trytond/trytond/tests/modelstorage.py
index 2665eab32b..3278b5d8a4 100644
--- a/trytond/trytond/tests/modelstorage.py
+++ b/trytond/trytond/tests/modelstorage.py
@@ -9,19 +9,16 @@ from trytond.transaction import Transaction
class ModelStorage(ModelSQL):
- 'Model stored'
__name__ = 'test.modelstorage'
name = fields.Char('Name')
class ModelStorageRequired(ModelSQL):
- 'Model stored'
__name__ = 'test.modelstorage.required'
name = fields.Char('Name', required=True)
class ModelStorageSaveMany2One(ModelSQL):
- "ModelStorage to test save with Many2One"
__name__ = 'test.modelstorage.save_m2o'
target = fields.Many2One('test.modelstorage.save_m2o.target', "Target")
targets = fields.One2Many(
@@ -29,7 +26,6 @@ class ModelStorageSaveMany2One(ModelSQL):
class ModelStorageSaveMany2OneTarget(ModelSQL):
- "ModelStorage to test save with Many2One - Target"
__name__ = 'test.modelstorage.save_m2o.target'
parent = fields.Many2One('test.modelstorage.save_m2o', "Parent")
@@ -38,12 +34,10 @@ class ModelStorageSaveMany2OneTarget(ModelSQL):
class ModelStorageSaveMany2OneTargetTarget(ModelSQL):
- "ModelStorage to test save with Many2One - Target of Target"
__name__ = 'test.modelstorage.save_m2o.o2m_target.target'
class ModelStorageSave2Many(ModelSQL):
- "Model Storage to test save with xxx2many"
__name__ = 'test.modelstorage.save2many'
targets = fields.One2Many(
'test.modelstorage.save2many.target', 'parent', "Targets")
@@ -52,20 +46,17 @@ class ModelStorageSave2Many(ModelSQL):
class ModelStorageSave2ManyTarget(ModelSQL):
- "Model Storage to test save with xxx2many"
__name__ = 'test.modelstorage.save2many.target'
parent = fields.Many2One('test.modelstorage.save2many', "Parent")
class ModelStorageSave2ManyRelation(ModelSQL):
- "Model Storage to test save with xxx2many"
__name__ = 'test.modelstorage.save2many.relation'
parent = fields.Many2One('test.modelstorage.save2many', "Parent")
target = fields.Many2One('test.modelstorage.save2many.target', "Target")
class ModelStorageContext(ModelSQL):
- 'Model Storage to test Context'
__name__ = 'test.modelstorage.context'
context = fields.Function(fields.Dict(None, 'Context'), 'get_context')
@@ -74,7 +65,6 @@ class ModelStorageContext(ModelSQL):
class ModelStoragePYSONDomain(ModelSQL):
- "Model stored with PYSON domain"
__name__ = 'test.modelstorage.pyson_domain'
constraint = fields.Char("Constraint")
value = fields.Char(
@@ -86,7 +76,6 @@ class ModelStoragePYSONDomain(ModelSQL):
class ModelStorageRelationDomain(ModelSQL):
- "Model stored containing a relation field with a domain"
__name__ = 'test.modelstorage.relation_domain'
relation = fields.Many2One(
'test.modelstorage.relation_domain.target', "Value",
@@ -124,7 +113,6 @@ class ModelStorageRelationDomain(ModelSQL):
class ModelStorageRelationDomainTarget(ModelSQL):
- "Target of Model stored containing a relation field with a domain"
__name__ = 'test.modelstorage.relation_domain.target'
value = fields.Char("Value")
valid = fields.Function(
@@ -142,7 +130,6 @@ class ModelStorageRelationDomainTarget(ModelSQL):
class ModelStorageRelationMultiDomain(ModelSQL):
- "Model stored containing a relation fields with multi domain"
__name__ = 'test.modelstorage.relation_multi_domain'
relation = fields.Many2One(
'test.modelstorage.relation_multi_domain.target', "Value",
@@ -153,14 +140,12 @@ class ModelStorageRelationMultiDomain(ModelSQL):
class ModelStorageRelationMultiDomainTarget(ModelSQL):
- "Target of Model stored containing a relation field with multi domain"
__name__ = 'test.modelstorage.relation_multi_domain.target'
test1 = fields.Boolean("Test 1")
test2 = fields.Boolean("Test 2")
class ModelStorageRelationDomain2(ModelSQL):
- "Model stored containing a relation field with a domain with 2 level"
__name__ = 'test.modelstorage.relation_domain2'
relation = fields.Many2One(
'test.modelstorage.relation_domain2.target', "Relation",
@@ -170,14 +155,12 @@ class ModelStorageRelationDomain2(ModelSQL):
class ModelStorageRelationDomain2Target(ModelSQL):
- "First Target of Model stored containing a relation field with a domain"
__name__ = 'test.modelstorage.relation_domain2.target'
relation2 = fields.Many2One(
'test.modelstorage.relation_domain.target', "Relation 2")
class ModelStorageEvalEnvironment(ModelStorage_):
- "Model for EvalEnvironment"
__name__ = 'test.modelstorage.eval_environment'
char = fields.Char("Name")
reference = fields.Reference(
@@ -195,7 +178,6 @@ class ModelStorageEvalEnvironment(ModelStorage_):
class ModelStorageDomainNotRequired(ModelSQL):
- "Model for domain on not required field"
__name__ = 'test.modelstorage.domain_not_required'
domain_not_required = fields.Integer(
diff --git a/trytond/trytond/tests/modelview.py b/trytond/trytond/tests/modelview.py
index 236071ab24..664b63ddc9 100644
--- a/trytond/trytond/tests/modelview.py
+++ b/trytond/trytond/tests/modelview.py
@@ -7,7 +7,6 @@ from trytond.pyson import Eval, If
class ModelViewChangedValues(ModelView):
- 'ModelView Changed Values'
__name__ = 'test.modelview.changed_values'
name = fields.Char('Name')
target = fields.Many2One('test.modelview.changed_values.target', 'Target')
@@ -34,39 +33,33 @@ class ModelViewChangedValues(ModelView):
class ModelViewChangedValuesDictSchema(DictSchemaMixin, ModelSQL):
- 'ModelView Changed Values Dict Schema'
__name__ = 'test.modelview.changed_values.dictionary'
class ModelViewChangedValuesTarget(ModelView):
- 'ModelView Changed Values Target'
__name__ = 'test.modelview.changed_values.target'
name = fields.Char('Name')
parent = fields.Many2One('test.modelview.changed_values', 'Parent')
class ModelViewChangedValuesStoredTarget(ModelSQL):
- "ModelSQL Changed Values Target"
__name__ = 'test.modelview.changed_values.stored_target'
name = fields.Char("Name")
class ModelViewStoredChangedValues(ModelSQL, ModelView):
- "ModelView Stored Changed Values Stored"
__name__ = 'test.modelview.stored.changed_values'
targets = fields.One2Many(
'test.modelview.stored.changed_values.target', 'parent', "Targets")
class ModelViewStoredChangedValuesTarget(ModelSQL, ModelView):
- "ModelSQL Stored Changed Values Target"
__name__ = 'test.modelview.stored.changed_values.target'
name = fields.Char("Name")
parent = fields.Many2One('test.modelview.stored.changed_values', "Parent")
class ModelViewButton(ModelView):
- 'ModelView Button'
__name__ = 'test.modelview.button'
value = fields.Integer("Value")
@@ -88,7 +81,6 @@ class ModelViewButton(ModelView):
class ModelViewButtonDepends(ModelView):
- 'ModelView Button Depends'
__name__ = 'test.modelview.button_depends'
value = fields.Integer("Value")
@@ -108,7 +100,6 @@ class ModelViewButtonDepends(ModelView):
class ModelViewButtonAction(ModelView):
- 'ModelView Button Action'
__name__ = 'test.modelview.button_action'
@classmethod
@@ -130,7 +121,6 @@ class ModelViewButtonAction(ModelView):
class ModelViewButtonChange(ModelView):
- "ModelView Button Change"
__name__ = 'test.modelview.button_change'
name = fields.Char("Name")
@@ -153,17 +143,14 @@ class ModelViewButtonChange(ModelView):
class ModelViewLink(ModelView):
- "ModelView Link"
__name__ = 'test.modelview.link'
class ModelViewLinkTarget(ModelSQL):
- "ModelView Link Target"
__name__ = 'test.modelview.link.target'
class ModelViewRPC(ModelView):
- 'ModelView RPC'
__name__ = 'test.modelview.rpc'
selection = fields.Selection([('a', 'A')], 'Selection')
@@ -215,12 +202,10 @@ class ModelViewRPC(ModelView):
class ModelViewEmptyPage(ModelView):
- 'ModelView Empty Page'
__name__ = 'test.modelview.empty_page'
class ModelViewCircularDepends(ModelView):
- 'ModelView Circular Depends'
__name__ = 'test.modelview.circular_depends'
foo = fields.Char("Char", depends=['bar'])
@@ -229,7 +214,6 @@ class ModelViewCircularDepends(ModelView):
class ModeViewDependsDepends(ModelView):
- "ModelView depends of depends"
__name__ = 'test.modelview.depends_depends'
foo = fields.Char("Foo", depends=['bar'])
@@ -238,7 +222,6 @@ class ModeViewDependsDepends(ModelView):
class ModelViewViewAttributes(ModelView):
- 'ModelView View Attributes'
__name__ = 'test.modelview.view_attributes'
foo = fields.Char("Char")
@@ -252,7 +235,6 @@ class ModelViewViewAttributes(ModelView):
class ModelViewViewAttributesDepends(ModelView):
- 'ModelView View Attributes Depends'
__name__ = 'test.modelview.view_attributes_depends'
foo = fields.Char("Char")
@@ -267,7 +249,6 @@ class ModelViewViewAttributesDepends(ModelView):
class ModelViewStatesDepends(ModelView):
- "ModelView States Depends"
__name__ = 'test.modelview.states_depends'
foo = fields.Char("Foo",
@@ -282,14 +263,12 @@ class ModelViewStatesDepends(ModelView):
class ModelViewAutocomplete(ModelView):
- "ModelView Autocomplete"
__name__ = 'test.modelview.autocomplete'
name = fields.Char("Name")
class ModelViewAutocompleteStorage(ModelSQL, ModelViewAutocomplete):
- "ModelView Autocomplete Storage"
__name__ = 'test.modelview.autocomplete.storage'
diff --git a/trytond/trytond/tests/mptt.py b/trytond/trytond/tests/mptt.py
index d9ac62a606..78d5fdccd2 100644
--- a/trytond/trytond/tests/mptt.py
+++ b/trytond/trytond/tests/mptt.py
@@ -9,7 +9,6 @@ from trytond.pool import Pool
class MPTT(DeactivableMixin, tree(), ModelSQL, ModelView):
- 'Modified Preorder Tree Traversal'
__name__ = 'test.mptt'
name = fields.Char('Name', required=True)
parent = fields.Many2One('test.mptt', "Parent", left="left", right="right")
diff --git a/trytond/trytond/tests/multivalue.py b/trytond/trytond/tests/multivalue.py
index eb270ec47a..6300c39b15 100644
--- a/trytond/trytond/tests/multivalue.py
+++ b/trytond/trytond/tests/multivalue.py
@@ -5,7 +5,6 @@ from trytond.pool import Pool
class ModelMultiValue(ModelSQL, MultiValueMixin):
- "Model MultiValue"
__name__ = 'test.model_multivalue'
value = fields.MultiValue(fields.Char("Value"))
value_default = fields.MultiValue(fields.Char("Value Default"))
@@ -54,7 +53,6 @@ class ModelMultiValue(ModelSQL, MultiValueMixin):
class ModelValue(ModelSQL, ValueMixin):
- "Model Value"
__name__ = 'test.model_multivalue.value'
record = fields.Many2One(
'test.model_multivalue', "Record")
@@ -76,7 +74,6 @@ class ModelValue(ModelSQL, ValueMixin):
class ModelMultiValueTarget(ModelSQL):
- "Model MultiValue Target"
__name__ = 'test.model_multivalue.target'
name = fields.Char("Name")
diff --git a/trytond/trytond/tests/path.py b/trytond/trytond/tests/path.py
index 9e18427aec..c1d2dc0abd 100644
--- a/trytond/trytond/tests/path.py
+++ b/trytond/trytond/tests/path.py
@@ -5,7 +5,6 @@ from trytond.pool import Pool
class Path(DeactivableMixin, tree(), ModelSQL):
- "Path"
__name__ = 'test.path'
name = fields.Char("Name", required=True)
parent = fields.Many2One('test.path', "Parent", path='path')
diff --git a/trytond/trytond/tests/report.py b/trytond/trytond/tests/report.py
index 85e7582cd7..645c2ad87c 100644
--- a/trytond/trytond/tests/report.py
+++ b/trytond/trytond/tests/report.py
@@ -6,7 +6,6 @@ from trytond.report import Report
class TestReport(Report):
- "Test Report"
__name__ = 'test.test_report'
diff --git a/trytond/trytond/tests/resource.py b/trytond/trytond/tests/resource.py
index 6723fbc8c8..2f5ea132b5 100644
--- a/trytond/trytond/tests/resource.py
+++ b/trytond/trytond/tests/resource.py
@@ -6,7 +6,6 @@ from trytond.pool import Pool
class TestResource(ModelSQL, NoteCopyMixin):
- "Test Resource"
__name__ = 'test.resource'
@classmethod
@@ -15,7 +14,6 @@ class TestResource(ModelSQL, NoteCopyMixin):
class TestResourceOther(ModelSQL):
- "Test Resource Other"
__name__ = 'test.resource.other'
diff --git a/trytond/trytond/tests/rule.py b/trytond/trytond/tests/rule.py
index 9447f2f7a6..784ba9950b 100644
--- a/trytond/trytond/tests/rule.py
+++ b/trytond/trytond/tests/rule.py
@@ -5,20 +5,17 @@ from trytond.pool import Pool
class TestRule(ModelSQL):
- "Test Rule"
__name__ = 'test.rule'
field = fields.Char("Field")
relation = fields.Many2One('test.rule.relation', "Relation")
class TestRuleRelation(ModelSQL):
- "Test Rule Relation"
__name__ = 'test.rule.relation'
field = fields.Char("Field")
class TestRuleModel(ModelSQL):
- "Test Rule from Model"
__name__ = 'test.rule.model'
__access__ = 'test.rule'
diff --git a/trytond/trytond/tests/test_field_many2one.py b/trytond/trytond/tests/test_field_many2one.py
index 2c9882d960..a6992252ba 100644
--- a/trytond/trytond/tests/test_field_many2one.py
+++ b/trytond/trytond/tests/test_field_many2one.py
@@ -61,7 +61,7 @@ class FieldMany2OneTestCase(TestCase):
"Test create many2one with valid domain"
pool = Pool()
Target = pool.get('test.many2one_target')
- Many2One = pool.get('test.many2one_domainvalidation')
+ Many2One = pool.get('test.many2one_domain_validation')
target, = Target.create([{'value': 6}])
many2one, = Many2One.create([{
@@ -75,7 +75,7 @@ class FieldMany2OneTestCase(TestCase):
"Test create many2one with invalid domain"
pool = Pool()
Target = pool.get('test.many2one_target')
- Many2One = pool.get('test.many2one_domainvalidation')
+ Many2One = pool.get('test.many2one_domain_validation')
target, = Target.create([{'value': 1}])
with self.assertRaisesRegex(
@@ -92,7 +92,7 @@ class FieldMany2OneTestCase(TestCase):
"Test create many2one with domain and inactive target"
pool = Pool()
Target = pool.get('test.many2one_target')
- Many2One = pool.get('test.many2one_domainvalidation')
+ Many2One = pool.get('test.many2one_domain_validation')
target, = Target.create([{'value': 6, 'active': False}])
many2one, = Many2One.create([{
diff --git a/trytond/trytond/tests/test_field_one2one.py b/trytond/trytond/tests/test_field_one2one.py
index b249b3e33c..fa040925ca 100644
--- a/trytond/trytond/tests/test_field_one2one.py
+++ b/trytond/trytond/tests/test_field_one2one.py
@@ -123,7 +123,7 @@ class FieldOne2OneTestCase(TestCase):
with self.assertRaisesRegex(
DomainValidationError,
'The value "%s" for field "One2One" '
- 'in record ".*" of "One2One"' % target.rec_name):
+ 'in record ".*" of "One2One Domain"' % target.rec_name):
One2One.create([{
'one2one': target.id,
}])
diff --git a/trytond/trytond/tests/test_field_reference.py b/trytond/trytond/tests/test_field_reference.py
index 1b161bfe71..4756d5e528 100644
--- a/trytond/trytond/tests/test_field_reference.py
+++ b/trytond/trytond/tests/test_field_reference.py
@@ -484,8 +484,8 @@ class FieldReferenceTestCase(TestCase):
def test_domain_valid(self):
"Test reference with valid domain"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
- Target = pool.get('test.reference_domainvalidation.target')
+ Reference = pool.get('test.reference_domain_validation')
+ Target = pool.get('test.reference_domain_validation.target')
target = Target(value=42)
target.save()
@@ -498,8 +498,8 @@ class FieldReferenceTestCase(TestCase):
def test_domain_invalid(self):
"Test reference with invalid domain"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
- Target = pool.get('test.reference_domainvalidation.target')
+ Reference = pool.get('test.reference_domain_validation')
+ Target = pool.get('test.reference_domain_validation.target')
target = Target(value=1)
target.save()
@@ -515,7 +515,7 @@ class FieldReferenceTestCase(TestCase):
def test_no_domain(self):
"Test reference with no domain"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
+ Reference = pool.get('test.reference_domain_validation')
Target = pool.get('test.reference.target')
target = Target(name="Test")
target.save()
@@ -529,7 +529,7 @@ class FieldReferenceTestCase(TestCase):
def test_domain_none_value(self):
"Test reference with domain and None value"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
+ Reference = pool.get('test.reference_domain_validation')
reference, = Reference.create([{
'reference': None,
@@ -540,7 +540,7 @@ class FieldReferenceTestCase(TestCase):
def test_domain_no_id_value(self):
"Test reference with domain and no id"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
+ Reference = pool.get('test.reference_domain_validation')
reference, = Reference.create([{
'reference': 'test.reference.target,',
@@ -551,7 +551,7 @@ class FieldReferenceTestCase(TestCase):
def test_domain_negative_id_value(self):
"Test reference with domain and negative id"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
+ Reference = pool.get('test.reference_domain_validation')
reference, = Reference.create([{
'reference': 'test.reference.target,-1',
@@ -562,11 +562,11 @@ class FieldReferenceTestCase(TestCase):
def test_domain_different_targets(self):
"Test reference with domain and different targets"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation')
+ Reference = pool.get('test.reference_domain_validation')
Target1 = pool.get('test.reference.target')
target1 = Target1(name="Test")
target1.save()
- Target2 = pool.get('test.reference_domainvalidation.target')
+ Target2 = pool.get('test.reference_domain_validation.target')
target2 = Target2(value=6)
target2.save()
@@ -581,8 +581,8 @@ class FieldReferenceTestCase(TestCase):
def test_domain_pyson(self):
"Test reference with pyson domain"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation_pyson')
- Target = pool.get('test.reference_domainvalidation.target')
+ Reference = pool.get('test.reference_domain_validation_pyson')
+ Target = pool.get('test.reference_domain_validation.target')
target = Target(value=42)
target.save()
@@ -596,7 +596,7 @@ class FieldReferenceTestCase(TestCase):
def test_domain_pyson_no_id_value(self):
"Test reference with pyson domain and no id"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation_pyson')
+ Reference = pool.get('test.reference_domain_validation_pyson')
reference, = Reference.create([{
'reference': 'test.reference.target,',
@@ -607,7 +607,7 @@ class FieldReferenceTestCase(TestCase):
def test_domain_pyson_negative_id_value(self):
"Test reference with pyson domain and negative id"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation_pyson')
+ Reference = pool.get('test.reference_domain_validation_pyson')
reference, = Reference.create([{
'reference': 'test.reference.target,-1',
@@ -618,11 +618,11 @@ class FieldReferenceTestCase(TestCase):
def test_domain_pyson_different_targets(self):
"Test reference with pyson domain and different targets"
pool = Pool()
- Reference = pool.get('test.reference_domainvalidation_pyson')
+ Reference = pool.get('test.reference_domain_validation_pyson')
Target1 = pool.get('test.reference.target')
target1 = Target1(name="Test")
target1.save()
- Target2 = pool.get('test.reference_domainvalidation.target')
+ Target2 = pool.get('test.reference_domain_validation.target')
target2 = Target2(value=42)
target2.save()
diff --git a/trytond/trytond/tests/test_model.py b/trytond/trytond/tests/test_model.py
index 66ca01c8d4..2594712b5a 100644
--- a/trytond/trytond/tests/test_model.py
+++ b/trytond/trytond/tests/test_model.py
@@ -3,7 +3,7 @@
from copy import copy
-from trytond.model.model import record
+from trytond.model.model import humanize, record
from trytond.pool import Pool
from trytond.tests.test_tryton import (
TestCase, activate_module, with_transaction)
@@ -390,6 +390,21 @@ class ModelTestCase(TestCase):
'target': target.id,
})
+ def test_humanize(self):
+ "Test humanize name"
+ for name, result in [
+ ('res.foo', "Foo"),
+ ('ir.foo', "Foo"),
+ ('ir.foo-res.bar', "Foo - Bar"),
+ ('foo.foo', "Foo"),
+ ('foo.bar', "Foo Bar"),
+ ('foo_bar', "Foo Bar"),
+ ('foo-bar', "Foo - Bar"),
+ ('bar_foo.foo', "Bar Foo"),
+ ]:
+ with self.subTest(name=name):
+ self.assertEqual(humanize(name), result)
+
class ModelTranslationTestCase(TestCase):
"Test Model translation"
diff --git a/trytond/trytond/tests/test_modelsql.py b/trytond/trytond/tests/test_modelsql.py
index eb8f9a6a0f..fcaaff49c4 100644
--- a/trytond/trytond/tests/test_modelsql.py
+++ b/trytond/trytond/tests/test_modelsql.py
@@ -583,7 +583,7 @@ class ModelSQLTestCase(TestCase):
record.save()
err = cm.exception
self.assertIn(TargetModel.name.string, err.message)
- self.assertIn(TargetModel.__doc__, err.message)
+ self.assertIn(TargetModel.__string__, err.message)
@with_transaction()
def test_write_no_exist(self):
@@ -683,7 +683,7 @@ class ModelSQLTestCase(TestCase):
Target.delete([target])
err = cm.exception
self.assertIn(Model.target_null.string, err.message)
- self.assertIn(Model.__doc__, err.message)
+ self.assertIn(Model.__string__, err.message)
@with_transaction()
def test_foreign_key_restrict(self):
@@ -701,7 +701,7 @@ class ModelSQLTestCase(TestCase):
Target.delete([target])
err = cm.exception
self.assertIn(Model.target_restrict.string, err.message)
- self.assertIn(Model.__doc__, err.message)
+ self.assertIn(Model.__string__, err.message)
@with_transaction()
def test_foreign_key_restrict_inactive(self):
@@ -719,7 +719,7 @@ class ModelSQLTestCase(TestCase):
Target.delete([target])
err = cm.exception
self.assertIn(Model.target_restrict.string, err.message)
- self.assertIn(Model.__doc__, err.message)
+ self.assertIn(Model.__string__, err.message)
@with_transaction()
def test_foreign_key_restrict_tree(self):
diff --git a/trytond/trytond/tests/tree.py b/trytond/trytond/tests/tree.py
index 3644f101f4..0c232488d1 100644
--- a/trytond/trytond/tests/tree.py
+++ b/trytond/trytond/tests/tree.py
@@ -6,21 +6,18 @@ from trytond.pool import Pool
class Tree(tree(separator=' / '), ModelSQL):
- "Tree"
__name__ = 'test.tree'
name = fields.Char("Name")
parent = fields.Many2One('test.tree', "Parent")
class TreeWildcard(tree(separator='\\'), ModelSQL):
- "Tree separator wildcard"
__name__ = 'test.tree_wildcard'
name = fields.Char("Name")
parent = fields.Many2One('test.tree_wildcard', "Parent")
class Polytree(tree(parent='parents'), ModelSQL):
- "PolyTree"
__name__ = 'test.polytree'
name = fields.Char("Name")
parents = fields.Many2Many(
@@ -28,7 +25,6 @@ class Polytree(tree(parent='parents'), ModelSQL):
class PolytreeEdge(ModelSQL):
- "Polytree Edge"
__name__ = 'test.polytree.edge'
parent = fields.Many2One('test.polytree', "Parent")
child = fields.Many2One('test.polytree', "Child")
diff --git a/trytond/trytond/tests/trigger.py b/trytond/trytond/tests/trigger.py
index ea11d08b9a..ed999dc357 100644
--- a/trytond/trytond/tests/trigger.py
+++ b/trytond/trytond/tests/trigger.py
@@ -17,13 +17,11 @@ class Trigger(metaclass=PoolMeta):
class Triggered(ModelSQL):
- 'Triggered'
__name__ = 'test.triggered'
name = fields.Char('Name')
class TriggerAction(ModelSQL):
- 'Trigger Action Model'
__name__ = 'test.trigger_action'
@staticmethod
diff --git a/trytond/trytond/tests/wizard.py b/trytond/trytond/tests/wizard.py
index ba07866610..3f3a4d5f58 100644
--- a/trytond/trytond/tests/wizard.py
+++ b/trytond/trytond/tests/wizard.py
@@ -8,7 +8,6 @@ from trytond.wizard import (
class TestWizardStart(ModelSQL, ModelView):
- 'Test Wizard'
__name__ = 'test.test_wizard.start'
name = fields.Char('Test me')
user = fields.Many2One('res.user', 'User')
@@ -20,7 +19,6 @@ class TestWizardStart(ModelSQL, ModelView):
class TestWizard(Wizard):
- 'Test Wizard'
__name__ = 'test.test_wizard'
start = StateView('test.test_wizard.start',
'tests.test_wizard_start_view_form', [
diff --git a/trytond/trytond/tests/workflow.py b/trytond/trytond/tests/workflow.py
index 48ceabcbcc..71d098bcd1 100644
--- a/trytond/trytond/tests/workflow.py
+++ b/trytond/trytond/tests/workflow.py
@@ -6,7 +6,6 @@ from trytond.pool import Pool
class WorkflowedModel(Workflow, ModelSQL):
- 'Workflowed Model'
__name__ = 'test.workflowed'
state = fields.Selection([
('start', 'Start'),