Compare commits

3 Commits

Author SHA1 Message Date
e130ae7f9d chore 2026-01-05 21:09:03 -05:00
5e18fa68a3 fix: tests warning 2025-11-06 13:58:37 -05:00
d0f414550b feat: insert sale_device in the context 2025-10-30 17:13:09 -05:00
4 changed files with 16 additions and 12 deletions

View File

@@ -19,7 +19,7 @@ class SaleDevice(ModelSQL, ModelView):
journals = fields.Many2Many('sale.device.account.statement.journal', journals = fields.Many2Many('sale.device.account.statement.journal',
'device', 'journal', 'Journals', depends=['company'], 'device', 'journal', 'Journals', depends=['company'],
domain=[ domain=[
('company', '=', Eval('company')), ('company', '=', Eval('company', -1)),
] ]
) )
journal = fields.Many2One('account.statement.journal', "Default Journal", journal = fields.Many2One('account.statement.journal', "Default Journal",

13
sale.py
View File

@@ -30,7 +30,7 @@ class Sale(metaclass=PoolMeta):
'get_residual_amount', 'get_residual_amount',
searcher='search_residual_amount') searcher='search_residual_amount')
sale_device = fields.Many2One('sale.device', 'Sale Device', sale_device = fields.Many2One('sale.device', 'Sale Device',
domain=[('shop', '=', Eval('shop'))], domain=[('shop', '=', Eval('shop', -1))],
depends=['shop'], states={ depends=['shop'], states={
'readonly': Eval('state') != 'draft', 'readonly': Eval('state') != 'draft',
}) })
@@ -40,9 +40,12 @@ class Sale(metaclass=PoolMeta):
super(Sale, cls).__setup__() super(Sale, cls).__setup__()
cls._buttons.update({ cls._buttons.update({
'wizard_sale_payment': { 'wizard_sale_payment': {
'invisible': Eval('state') == 'done', 'invisible': (Eval('state') == 'done') | (Eval(
'readonly': Not(Bool(Eval('lines'))), 'residual_amount', 0) == 0),
}, 'readonly': Not(Bool(Eval('lines'))) | (Eval(
'residual_amount', 0) == 0),
'depends': ['state', 'residual_amount']
},
'wizard_change_payment_method': {}, 'wizard_change_payment_method': {},
}) })
@@ -225,7 +228,7 @@ class ChangePaymentMethodForm(ModelView):
'Allowed Statement', readonly=True) 'Allowed Statement', readonly=True)
payment = fields.Many2One( payment = fields.Many2One(
'account.statement.line', "Payment", required=True, 'account.statement.line', "Payment", required=True,
domain=[('sale', '=', Eval('sale'))]) domain=[('sale', '=', Eval('sale', -1))])
class ChangePaymentMethod(Wizard): class ChangePaymentMethod(Wizard):

View File

@@ -13,7 +13,7 @@ copyright notices and license terms. -->
<record model="ir.action.act_window" id="act_payment_form"> <record model="ir.action.act_window" id="act_payment_form">
<field name="name">Payments</field> <field name="name">Payments</field>
<field name="res_model">account.statement.line</field> <field name="res_model">account.statement.line</field>
<field name="domain" eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('sale', '=', Eval('active_id')), ('sale', 'in', Eval('active_ids')))]" pyson="1"/> <field name="domain" eval="[If(Eval('active_ids', []) == [Eval('active_id'), -1], ('sale', '=', Eval('active_id', -1)), ('sale', 'in', Eval('active_ids', [])))]" pyson="1"/>
</record> </record>
<record model="ir.action.keyword" id="act_open_payment_keyword1"> <record model="ir.action.keyword" id="act_open_payment_keyword1">
<field name="keyword">form_relate</field> <field name="keyword">form_relate</field>
@@ -31,7 +31,7 @@ copyright notices and license terms. -->
<field name="name">sale_payment_form</field> <field name="name">sale_payment_form</field>
</record> </record>
<record model="ir.action.wizard" id="wizard_sale_change_payment_method"> <record model="ir.action.wizard" id="wizard_sale_change_payment_method">
<field name="name">Change Payment Method</field> <field name="name">Change Payment Method</field>
<field name="wiz_name">sale.change_payment_method</field> <field name="wiz_name">sale.change_payment_method</field>
</record> </record>

View File

@@ -12,14 +12,15 @@ __all__ = ['User']
class User(metaclass=PoolMeta): class User(metaclass=PoolMeta):
__name__ = "res.user" __name__ = "res.user"
sale_device = fields.Many2One('sale.device', 'Sale Device', sale_device = fields.Many2One(
domain=[('shop', '=', Eval('shop'))], 'sale.device', 'Sale Device', domain=[
depends=['shop'] ('shop', '=', Eval('shop', -1))
) ], depends=['shop'])
@classmethod @classmethod
def __setup__(cls): def __setup__(cls):
super(User, cls).__setup__() super(User, cls).__setup__()
cls._context_fields.insert(0, 'sale_device')
if 'sale_device' not in cls._preferences_fields: if 'sale_device' not in cls._preferences_fields:
cls._preferences_fields.extend([ cls._preferences_fields.extend([
'sale_device', 'sale_device',