mirror of
https://gitlab.com/hibou-io/hibou-odoo/suite.git
synced 2025-01-20 12:37:31 +02:00
MIG rma to 12.0
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
'name': 'Hibou RMAs',
|
'name': 'Hibou RMAs',
|
||||||
'version': '11.0.1.0.0',
|
'version': '12.0.1.0.0',
|
||||||
'category': 'Warehouse',
|
'category': 'Warehouse',
|
||||||
'author': "Hibou Corp.",
|
'author': "Hibou Corp.",
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
|
|||||||
@@ -446,7 +446,7 @@ class RMALine(models.Model):
|
|||||||
|
|
||||||
rma_id = fields.Many2one('rma.rma', string='RMA')
|
rma_id = fields.Many2one('rma.rma', string='RMA')
|
||||||
product_id = fields.Many2one('product.product', 'Product')
|
product_id = fields.Many2one('product.product', 'Product')
|
||||||
product_uom_id = fields.Many2one('product.uom', 'UOM')
|
product_uom_id = fields.Many2one('uom.uom', 'UOM')
|
||||||
product_uom_qty = fields.Float(string='QTY')
|
product_uom_qty = fields.Float(string='QTY')
|
||||||
rma_template_usage = fields.Selection(related='rma_id.template_usage')
|
rma_template_usage = fields.Selection(related='rma_id.template_usage')
|
||||||
|
|
||||||
|
|||||||
@@ -102,9 +102,15 @@ class TestRMA(common.TransactionCase):
|
|||||||
'product_qty': 1.0,
|
'product_qty': 1.0,
|
||||||
})
|
})
|
||||||
|
|
||||||
adj.action_done()
|
adj._action_done()
|
||||||
self.assertEqual(self.product1.qty_available, 1.0)
|
self.assertEqual(self.product1.qty_available, 1.0)
|
||||||
self.assertTrue(lot.quant_ids)
|
self.assertTrue(lot.quant_ids)
|
||||||
|
# Test some internals in Odoo 12.0
|
||||||
|
lot_internal_quants = lot.quant_ids.filtered(lambda q: q.location_id.usage in ['internal', 'transit'])
|
||||||
|
self.assertEqual(len(lot_internal_quants), 1)
|
||||||
|
self.assertEqual(lot_internal_quants.mapped('quantity'), [1.0])
|
||||||
|
# Re-compute qty as it does not depend on anything.
|
||||||
|
lot._product_qty()
|
||||||
self.assertEqual(lot.product_qty, 1.0)
|
self.assertEqual(lot.product_qty, 1.0)
|
||||||
|
|
||||||
# Create initial picking that will be returned by RMA
|
# Create initial picking that will be returned by RMA
|
||||||
@@ -154,7 +160,7 @@ class TestRMA(common.TransactionCase):
|
|||||||
picking_out.move_line_ids.write({
|
picking_out.move_line_ids.write({
|
||||||
'qty_done': 1.0,
|
'qty_done': 1.0,
|
||||||
})
|
})
|
||||||
picking_out.do_transfer()
|
picking_out.button_validate()
|
||||||
self.assertEqual(picking_out.state, 'done')
|
self.assertEqual(picking_out.state, 'done')
|
||||||
|
|
||||||
# Now we can 'return' that picking
|
# Now we can 'return' that picking
|
||||||
@@ -172,10 +178,10 @@ class TestRMA(common.TransactionCase):
|
|||||||
pack_opt.qty_done = 1.0
|
pack_opt.qty_done = 1.0
|
||||||
with self.assertRaises(UserError):
|
with self.assertRaises(UserError):
|
||||||
# require a lot
|
# require a lot
|
||||||
rma.in_picking_id.do_transfer()
|
rma.in_picking_id.button_validate()
|
||||||
|
|
||||||
pack_opt.lot_id = lot
|
pack_opt.lot_id = lot
|
||||||
rma.in_picking_id.do_transfer()
|
rma.in_picking_id.button_validate()
|
||||||
rma.action_done()
|
rma.action_done()
|
||||||
|
|
||||||
# Ensure that the same lot was in fact returned into our destination inventory
|
# Ensure that the same lot was in fact returned into our destination inventory
|
||||||
@@ -206,7 +212,7 @@ class TestRMA(common.TransactionCase):
|
|||||||
# Requires Lot
|
# Requires Lot
|
||||||
with self.assertRaises(UserError):
|
with self.assertRaises(UserError):
|
||||||
rma2.in_picking_id.move_line_ids.write({'qty_done': 1.0})
|
rma2.in_picking_id.move_line_ids.write({'qty_done': 1.0})
|
||||||
rma2.in_picking_id.do_transfer()
|
rma2.in_picking_id.button_validate()
|
||||||
|
|
||||||
# Assign existing lot
|
# Assign existing lot
|
||||||
rma2.in_picking_id.move_line_ids.write({
|
rma2.in_picking_id.move_line_ids.write({
|
||||||
|
|||||||
@@ -125,7 +125,7 @@
|
|||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record id="view_rma_rma_search" model="ir.ui.view">
|
<record id="view_rma_rma_search" model="ir.ui.view">
|
||||||
<field name="name">rma.rma.tree</field>
|
<field name="name">rma.rma.search</field>
|
||||||
<field name="model">rma.rma</field>
|
<field name="model">rma.rma</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Search RMA">
|
<search string="Search RMA">
|
||||||
@@ -138,8 +138,8 @@
|
|||||||
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
|
<filter string="Confirmed" name="confirmed" domain="[('state', '=', 'confirmed')]"/>
|
||||||
<filter string="Expired" name="expired" domain="[('validity_date', '!=', False),('validity_date', '<', datetime.datetime.now())]"/>
|
<filter string="Expired" name="expired" domain="[('validity_date', '!=', False),('validity_date', '<', datetime.datetime.now())]"/>
|
||||||
<group expand="0" name="group_by" string="Group By">
|
<group expand="0" name="group_by" string="Group By">
|
||||||
<filter string="State" domain="[]" context="{'group_by': 'state'}"/>
|
<filter name="group_state" string="State" domain="[]" context="{'group_by': 'state'}"/>
|
||||||
<filter string="Template" domain="[]" context="{'group_by': 'Template'}"/>
|
<filter name="group_template" string="Template" domain="[]" context="{'group_by': 'template_id'}"/>
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ class RMAPickingMakeLines(models.TransientModel):
|
|||||||
return {
|
return {
|
||||||
'rma_make_lines_id': self.id,
|
'rma_make_lines_id': self.id,
|
||||||
'product_id': move.product_id.id,
|
'product_id': move.product_id.id,
|
||||||
'qty_ordered': move.ordered_qty,
|
'qty_ordered': move.product_uom_qty,
|
||||||
'qty_delivered': move.product_uom_qty,
|
'qty_delivered': move.product_qty,
|
||||||
'product_uom_qty': 0.0,
|
'product_uom_qty': 0.0,
|
||||||
'product_uom_id': move.product_uom.id,
|
'product_uom_id': move.product_uom.id,
|
||||||
}
|
}
|
||||||
@@ -54,4 +54,4 @@ class RMAPickingMakeLinesLine(models.TransientModel):
|
|||||||
qty_ordered = fields.Float(string='Ordered')
|
qty_ordered = fields.Float(string='Ordered')
|
||||||
qty_delivered = fields.Float(string='Delivered')
|
qty_delivered = fields.Float(string='Delivered')
|
||||||
product_uom_qty = fields.Float(string='QTY')
|
product_uom_qty = fields.Float(string='QTY')
|
||||||
product_uom_id = fields.Many2one('product.uom', 'UOM')
|
product_uom_id = fields.Many2one('uom.uom', 'UOM')
|
||||||
|
|||||||
Reference in New Issue
Block a user