Add searcher to summary fields

Closes #13401
This commit is contained in:
Cédric Krier committed 2024-07-18 10:12:04 +02:00
1 parent 337dc832e0
commit 01574e6700
8 files changed
+56 -8

No files matched your search

+7 -1
View File
@@ -2322,7 +2322,9 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
& ~Id('account', 'group_account_admin').in_(
Eval('context', {}).get('groups', []))),
})
summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
summary = fields.Function(
fields.Char('Summary'), 'on_change_with_summary',
searcher='search_summary')
note = fields.Text('Note')
taxes = fields.Many2Many('account.invoice.line-account.tax',
'line', 'tax', 'Taxes',
@@ -2518,6 +2520,10 @@ class InvoiceLine(sequence_ordered(), ModelSQL, ModelView, TaxableMixin):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@fields.depends(
'type', 'quantity', 'unit_price', 'taxes_deductible_rate', 'invoice',
'_parent_invoice.currency', 'currency', 'taxes',
+7 -1
View File
@@ -1260,7 +1260,9 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
states={
'readonly': Eval('purchase_state') != 'draft',
})
summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
summary = fields.Function(
fields.Char('Summary'), 'on_change_with_summary',
searcher='search_summary')
note = fields.Text('Note')
taxes = fields.Many2Many('purchase.line-account.tax',
'line', 'tax', 'Taxes',
@@ -1657,6 +1659,10 @@ class Line(sequence_ordered(), ModelSQL, ModelView):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@fields.depends(
'type', 'quantity', 'unit_price',
'purchase', '_parent_purchase.currency')
+7 -1
View File
@@ -40,7 +40,9 @@ class PurchaseRequest(ModelSQL, ModelView):
},
depends={'company'})
description = fields.Text('Description', readonly=True)
summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
summary = fields.Function(
fields.Char('Summary'), 'on_change_with_summary',
searcher='search_summary')
party = fields.Many2One(
'party.party', "Party", states=STATES,
context={
@@ -253,6 +255,10 @@ class PurchaseRequest(ModelSQL, ModelView):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@classmethod
def _get_origin(cls):
'Return the set of Model names for origin Reference'
+7 -1
View File
@@ -452,7 +452,9 @@ class PurchaseRequisitionLine(sequence_ordered(), ModelSQL, ModelView):
help="The category of Unit of Measure for the product."),
'on_change_with_product_uom_category')
description = fields.Text("Description", states=_states)
summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
summary = fields.Function(
fields.Char('Summary'), 'on_change_with_summary',
searcher='search_summary')
quantity = fields.Float(
"Quantity", digits='unit', required=True, states=_states)
unit = fields.Many2One(
@@ -523,6 +525,10 @@ class PurchaseRequisitionLine(sequence_ordered(), ModelSQL, ModelView):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@fields.depends(
'quantity', 'unit_price',
'requisition', '_parent_requisition.currency')
+7 -1
View File
@@ -1376,7 +1376,9 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
'readonly': Eval('sale_state') != 'draft',
},
depends=['sale_state'])
summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
summary = fields.Function(
fields.Char('Summary'), 'on_change_with_summary',
searcher='search_summary')
note = fields.Text('Note')
taxes = fields.Many2Many('sale.line-account.tax', 'line', 'tax', 'Taxes',
order=[('tax.sequence', 'ASC'), ('tax.id', 'ASC')],
@@ -1725,6 +1727,10 @@ class SaleLine(TaxableMixin, sequence_ordered(), ModelSQL, ModelView):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@fields.depends(
'type', 'quantity', 'unit_price',
'sale', '_parent_sale.currency')
+7 -1
View File
@@ -575,7 +575,9 @@ class SaleOpportunityLine(sequence_ordered(), ModelSQL, ModelView):
'readonly': _states['readonly'],
})
description = fields.Text("Description", states=_states)
summary = fields.Function(fields.Char("Summary"), 'on_change_with_summary')
summary = fields.Function(
fields.Char("Summary"), 'on_change_with_summary',
searcher='search_summary')
note = fields.Text("Note")
company = fields.Function(
@@ -625,6 +627,10 @@ class SaleOpportunityLine(sequence_ordered(), ModelSQL, ModelView):
def on_change_with_summary(self, name=None):
return firstline(self.description or '')
@classmethod
def search_summary(cls, name, clause):
return [('description', *clause[1:])]
@fields.depends('opportunity', '_parent_opportunity.company')
def on_change_with_company(self, name=None):
return self.opportunity.company if self.opportunity else None