changeset a49f932ad108 in modules/purchase_requisition:default
details: 
https://hg.tryton.org/modules/purchase_requisition?cmd=changeset;node=a49f932ad108
description:
        Add summary to line list

        A function field summary is added which takes the first line of 
description
        field. This is useful to identify line without product (only with 
description)
        in the list.

        issue9695
        review292431002
diffstat:

 CHANGELOG                                        |  2 ++
 purchase.py                                      |  7 ++++++-
 view/purchase_requisition_line_list.xml          |  1 +
 view/purchase_requisition_line_list_sequence.xml |  1 +
 4 files changed, 10 insertions(+), 1 deletions(-)

diffs (62 lines):

diff -r 6f167bfae112 -r a49f932ad108 CHANGELOG
--- a/CHANGELOG Sat Dec 19 17:08:46 2020 +0100
+++ b/CHANGELOG Fri Dec 25 17:14:57 2020 +0100
@@ -1,3 +1,5 @@
+* Add summary to requisition line
+
 Version 5.8.0 - 2020-11-02
 * Bug fixes (see mercurial logs for details)
 * Remove support for Python 3.5
diff -r 6f167bfae112 -r a49f932ad108 purchase.py
--- a/purchase.py       Sat Dec 19 17:08:46 2020 +0100
+++ b/purchase.py       Fri Dec 25 17:14:57 2020 +0100
@@ -12,7 +12,7 @@
 from trytond.model.exceptions import RequiredValidationError, AccessError
 from trytond.wizard import Wizard
 from trytond.transaction import Transaction
-from trytond.tools import grouped_slice
+from trytond.tools import grouped_slice, firstline
 
 from trytond.modules.company.model import (
     employee_field, set_employee, reset_employee)
@@ -460,6 +460,7 @@
         fields.Many2One('product.uom.category', "Product UOM Category"),
         'on_change_with_product_uom_category')
     description = fields.Text("Description", states=_states, depends=_depends)
+    summary = fields.Function(fields.Char('Summary'), 'on_change_with_summary')
     quantity = fields.Float(
         'Quantity', digits=(16, Eval('unit_digits', 2)), required=True,
         states=_states, depends=['unit_digits'] + _depends)
@@ -535,6 +536,10 @@
             self.unit = self.product.purchase_uom
             self.unit_digits = self.product.purchase_uom.digits
 
+    @fields.depends('description')
+    def on_change_with_summary(self, name=None):
+        return firstline(self.description or '')
+
     @fields.depends('quantity', 'unit_price', 'unit', 'requisition',
         '_parent_requisition.currency')
     def on_change_with_amount(self, name=None):
diff -r 6f167bfae112 -r a49f932ad108 view/purchase_requisition_line_list.xml
--- a/view/purchase_requisition_line_list.xml   Sat Dec 19 17:08:46 2020 +0100
+++ b/view/purchase_requisition_line_list.xml   Fri Dec 25 17:14:57 2020 +0100
@@ -4,6 +4,7 @@
 <tree>
     <field name="requisition" expand="1"/>
     <field name="product" expand="1"/>
+    <field name="summary" expand="1"/>
     <field name="supplier" expand="1"/>
     <field name="quantity" symbol="unit"/>
     <field name="unit_price" symbol="currency"/>
diff -r 6f167bfae112 -r a49f932ad108 
view/purchase_requisition_line_list_sequence.xml
--- a/view/purchase_requisition_line_list_sequence.xml  Sat Dec 19 17:08:46 
2020 +0100
+++ b/view/purchase_requisition_line_list_sequence.xml  Fri Dec 25 17:14:57 
2020 +0100
@@ -4,6 +4,7 @@
 <tree sequence="sequence">
     <field name="requisition" expand="1"/>
     <field name="product" expand="1"/>
+    <field name="summary" expand="1"/>
     <field name="supplier" expand="1"/>
     <field name="quantity" symbol="unit"/>
     <field name="unit_price" symbol="currency"/>

Reply via email to