parent
52d37b88bb
commit
b8166d0e0e
|
@ -132,4 +132,8 @@ msgstr "ul_quantity"
|
|||
|
||||
msgctxt "view:sale.cost.template:"
|
||||
msgid "ULs quantity:"
|
||||
msgstr "UdCs:"
|
||||
msgstr "UdCs:"
|
||||
|
||||
msgctxt "model:ir.action,name:act_relate_sale_unit_load"
|
||||
msgid "Unit loads"
|
||||
msgstr "Unidades de carga"
|
|
@ -13,3 +13,4 @@ extras_depend:
|
|||
xml:
|
||||
sale.xml
|
||||
sale_reporting.xml
|
||||
unit_load.xml
|
||||
|
|
29
unit_load.py
29
unit_load.py
|
@ -11,9 +11,11 @@ class UnitLoad(metaclass=PoolMeta):
|
|||
|
||||
customer = fields.Function(fields.Many2One('party.party', 'Customer'),
|
||||
'get_customer')
|
||||
sale = fields.Function(fields.Many2One('sale.sale', 'Sale'), 'get_sale')
|
||||
sale = fields.Function(fields.Many2One('sale.sale', 'Sale'), 'get_sale',
|
||||
searcher='search_sale')
|
||||
sale_line = fields.Function(
|
||||
fields.Many2One('sale.line', 'Sale line'), 'get_sale_line')
|
||||
fields.Many2One('sale.line', 'Sale line'), 'get_sale_line',
|
||||
searcher='search_sale_line')
|
||||
|
||||
def get_customer(self, name=None):
|
||||
return self.shipment_out.customer.id if self.shipment_out else None
|
||||
|
@ -28,3 +30,26 @@ class UnitLoad(metaclass=PoolMeta):
|
|||
if m.origin and m.origin.__name__ == 'sale.line' and
|
||||
m.state not in ('draft', 'cancel')]
|
||||
return moves[0].origin.id if moves else None
|
||||
|
||||
@classmethod
|
||||
def search_sale_line(cls, name, clause):
|
||||
_field = 'moves.origin'
|
||||
if '.' in clause[0]:
|
||||
_field += '.%s' % clause[0][10:]
|
||||
else:
|
||||
if isinstance(clause[2], (int, list, tuple, set)):
|
||||
_field += '.id'
|
||||
else:
|
||||
_field += '.rec_name'
|
||||
|
||||
return [(_field,) + tuple(clause[1:]) + ('sale.line',)]
|
||||
|
||||
@classmethod
|
||||
def search_sale(cls, name, clause):
|
||||
_field = 'sale_line.%s' % clause[0]
|
||||
|
||||
if isinstance(clause[2], (int, list, tuple, set)):
|
||||
_field += '.id'
|
||||
else:
|
||||
_field += '.rec_name'
|
||||
return [(_field, ) + tuple(clause[1:])]
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
<!-- The COPYRIGHT file at the top level of this repository contains the full
|
||||
copyright notices and license terms. -->
|
||||
<tryton>
|
||||
<data>
|
||||
<!-- form relate -->
|
||||
<record model="ir.action.act_window" id="act_relate_sale_unit_load">
|
||||
<field name="name">Unit loads</field>
|
||||
<field name="res_model">stock.unit_load</field>
|
||||
<field name="domain" eval="[('sale', 'in', Eval('active_ids'))]" pyson="1"/>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="act_relate_sale_unit_load_keyword">
|
||||
<field name="keyword">form_relate</field>
|
||||
<field name="model">sale.sale,-1</field>
|
||||
<field name="action" ref="act_relate_sale_unit_load"/>
|
||||
</record>
|
||||
</data>
|
||||
</tryton>
|
Loading…
Reference in New Issue