Remove or convert company domain into context domain

Closes #10506
This commit is contained in:
Cédric Krier
2025-01-21 13:39:30 +01:00
parent 125d413b69
commit 55bd6d327e
14 changed files with 87 additions and 50 deletions
+1
View File
@@ -51,6 +51,7 @@ def register():
journal.JournalCashContext,
journal.JournalPeriod,
move.Move,
move.MoveContext,
move.Reconciliation,
configuration.ConfigurationTaxRounding,
move.Line,
+4 -6
View File
@@ -134,9 +134,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_journal_period_tree">
<field name="name">Journals - Periods</field>
<field name="res_model">account.journal.period</field>
<field name="domain"
eval="[('period.fiscalyear.company.id', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_journal_period_tree_view1">
<field name="sequence" eval="10"/>
@@ -152,9 +151,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_journal_period_tree2">
<field name="name">Journals - Periods</field>
<field name="res_model">account.journal.period</field>
<field name="domain"
eval="[('period.fiscalyear.company.id', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
<field name="search_value"
eval="[('state', '=', 'open')]"
pyson="1"/>
+33 -7
View File
@@ -563,6 +563,16 @@ class Move(DescriptionOriginMixin, ModelSQL, ModelView):
Line.reconcile(*to_reconcile)
class MoveContext(ModelView):
__name__ = 'account.move.context'
company = fields.Many2One('company.company', "Company", required=True)
@classmethod
def default_company(cls):
return Transaction().context.get('company')
class Reconciliation(ModelSQL, ModelView):
__name__ = 'account.move.reconciliation'
_rec_name = 'number'
@@ -1886,10 +1896,15 @@ class Line(DescriptionOriginMixin, MoveLineMixin, ModelSQL, ModelView):
class LineReceivablePayableContext(ModelView):
__name__ = 'account.move.line.receivable_payable.context'
company = fields.Many2One('company.company', "Company", required=True)
reconciled = fields.Boolean("Reconciled")
receivable = fields.Boolean("Receivable")
payable = fields.Boolean("Payable")
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_reconciled(cls):
return Transaction().context.get('reconciled', False)
@@ -1940,22 +1955,32 @@ class WriteOff(DeactivableMixin, ModelSQL, ModelView):
class OpenJournalAsk(ModelView):
__name__ = 'account.move.open_journal.ask'
journal = fields.Many2One('account.journal', 'Journal', required=True)
company = fields.Many2One('company.company', "Company", required=True)
journal = fields.Many2One(
'account.journal', 'Journal', required=True,
context={
'company': Eval('company', None),
})
period = fields.Many2One('account.period', 'Period', required=True,
domain=[
('company', '=', Eval('company', -1)),
('state', '!=', 'closed'),
])
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_period(cls):
pool = Pool()
Period = pool.get('account.period')
company = Transaction().context.get('company')
try:
period = Period.find(company)
except PeriodNotFoundError:
return None
return period.id
if company := cls.default_company():
try:
period = Period.find(company)
except PeriodNotFoundError:
return None
return period.id
class OpenJournal(Wizard):
@@ -1980,6 +2005,7 @@ class OpenJournal(Wizard):
and self.model.__name__ == 'account.journal.period'
and self.record):
return {
'company': self.record.company.id,
'journal': self.record.journal.id,
'period': self.record.period.id,
}
+12 -7
View File
@@ -16,9 +16,10 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_move_form">
<field name="name">Account Moves</field>
<field name="res_model">account.move</field>
<field name="domain"
eval="[('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<field name="context_model">account.move.context</field>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
<field name="context_domain" eval="[('company', '=', Eval('company', -1))]" pyson="1"/>
<field name="search_value"
eval="[('create_date', '>=', DateTime(hour=0, minute=0, second=0, microsecond=0, delta_years=-1))]"
pyson="1"/>
@@ -85,6 +86,12 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="group_account_admin"/>
</record>
<record model="ir.ui.view" id="move_context_view_form">
<field name="model">account.move.context</field>
<field name="type">form</field>
<field name="name">move_context_form</field>
</record>
<record model="ir.ui.view" id="move_reconciliation_view_form">
<field name="model">account.move.reconciliation</field>
<field name="type">form</field>
@@ -244,11 +251,9 @@ this repository contains the full copyright notices and license terms. -->
<field name="name">Payable/Receivable Lines</field>
<field name="res_model">account.move.line</field>
<field name="context_model">account.move.line.receivable_payable.context</field>
<field name="domain"
eval="[('party', 'in', Eval('active_ids')), ('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<field name="domain" eval="[('party', 'in', Eval('active_ids'))]" pyson="1"/>
<field name="context_domain"
eval="[['OR', If(Eval('receivable', True), ('account.type.receivable', '=', True), ('id', '&lt;', 0)), If(Eval('payable', True), ('account.type.payable', '=', True), ('id', '&lt;', 0))], If(Eval('reconciled', False), (), ('reconciliation', '=', None))]"
eval="[('company', '=', Eval('company', -1)), ['OR', If(Eval('receivable', True), ('account.type.receivable', '=', True), ('id', '&lt;', 0)), If(Eval('payable', True), ('account.type.payable', '=', True), ('id', '&lt;', 0))], If(Eval('reconciled', False), (), ('reconciliation', '=', None))]"
pyson="1"/>
<field name="search_value"></field>
<field name="order" eval="[('maturity_date', 'ASC'), ('date', 'DESC'), ('id', 'DESC')]" pyson="1"/>
+2 -3
View File
@@ -16,9 +16,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_move_template_form">
<field name="name">Moves</field>
<field name="res_model">account.move.template</field>
<field name="domain"
eval="[('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view"
id="act_move_template_form_view1">
+2 -3
View File
@@ -22,9 +22,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_period_form">
<field name="name">Periods</field>
<field name="res_model">account.period</field>
<field name="domain"
eval="[('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_period_form_view1">
<field name="sequence" eval="10"/>
+3 -5
View File
@@ -291,9 +291,7 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_tax_list">
<field name="name">Taxes</field>
<field name="res_model">account.tax</field>
<field name="domain"
eval="[('company', '=', Eval('company', -1)), ('parent', '=', None)]"
pyson="1"/>
<field name="domain" eval="[('parent', '=', None)]" pyson="1"/>
</record>
<record model="ir.action.act_window.view" id="act_tax_list_view1">
<field name="sequence" eval="10"/>
@@ -456,8 +454,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_tax_rule_form">
<field name="name">Rules</field>
<field name="res_model">account.tax.rule</field>
<field name="domain" eval="[('company', '=', Eval('company', -1))]"
pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_tax_rule_form_view1">
<field name="sequence" eval="10"/>
@@ -0,0 +1,7 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="company"/>
<field name="company"/>
</form>
@@ -1,11 +1,15 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form col="6">
<label name="receivable"/>
<field name="receivable" xexpand="0" width="25"/>
<label name="payable"/>
<field name="payable" xexpand="0" width="25"/>
<label name="reconciled"/>
<field name="reconciled" xexpand="0" width="25"/>
<form>
<label name="company"/>
<field name="company"/>
<group colspan="2" col="-1" id="checkboxes">
<label name="receivable"/>
<field name="receivable" xexpand="0" width="25"/>
<label name="payable"/>
<field name="payable" xexpand="0" width="25"/>
<label name="reconciled"/>
<field name="reconciled" xexpand="0" width="25"/>
</group>
</form>
@@ -2,5 +2,6 @@
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree>
<field name="company" expand="1" optional="1"/>
<field name="name" expand="1"/>
</tree>
@@ -1,9 +1,12 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="journal"/>
<field name="journal" widget="selection"/>
<form cursor="journal">
<label name="company"/>
<field name="company"/>
<label name="period"/>
<field name="period"/>
<label name="journal"/>
<field name="journal" widget="selection"/>
</form>
+1 -4
View File
@@ -24,10 +24,7 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_account_move_export_form">
<field name="name">Move Exports</field>
<field name="res_model">account.move.export</field>
<field
name="domain"
eval="[('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_account_move_export_form_view1">
<field name="sequence" eval="10"/>
@@ -79,11 +79,9 @@ this repository contains the full copyright notices and license terms. -->
<field name="name">Payable/Receivable Lines (Grouped)</field>
<field name="res_model">account.move.line.group</field>
<field name="context_model">account.move.line.receivable_payable.context</field>
<field name="domain"
eval="[('party', 'in', Eval('active_ids')), ('company', '=', Eval('context', {}).get('company', -1))]"
pyson="1"/>
<field name="domain" eval="[('party', 'in', Eval('active_ids'))]" pyson="1"/>
<field name="context_domain"
eval="[['OR', If(Eval('receivable', True), ('account.type.receivable', '=', True), ('id', '&lt;', 0)), If(Eval('payable', True), ('account.type.payable', '=', True), ('id', '&lt;', 0))], If(Eval('reconciled', False), (), ('reconciled', '=', False))]"
eval="[('company', '=', Eval('company', -1)), ['OR', If(Eval('receivable', True), ('account.type.receivable', '=', True), ('id', '&lt;', 0)), If(Eval('payable', True), ('account.type.payable', '=', True), ('id', '&lt;', 0))], If(Eval('reconciled', False), (), ('reconciled', '=', False))]"
pyson="1"/>
<field name="search_value"></field>
<field name="order" eval="[('maturity_date', 'ASC'), ('date', 'DESC'), ('id', 'DESC')]" pyson="1"/>
+2 -1
View File
@@ -18,7 +18,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_account_rule_form">
<field name="name">Account Rules</field>
<field name="res_model">account.account.rule</field>
<field name="domain" eval="[('company', '=', Eval('company', -1))]" pyson="1"/>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_account_rule_form_view1">
<field name="sequence" eval="10"/>