mirror of
https://github.com/ForgeFlow/stock-rma.git
synced 2025-01-21 12:57:49 +02:00
[9.0] rma_sale:
* rename sale_type to sale_policy * fix onchange_opration_id * fix computation of qty_to_sell and qty_sold
This commit is contained in:
@@ -7,7 +7,7 @@ from openerp import fields, models
|
||||
class RmaOperation(models.Model):
|
||||
_inherit = 'rma.operation'
|
||||
|
||||
sale_type = fields.Selection([
|
||||
sale_policy = fields.Selection([
|
||||
('no', 'Not required'), ('ordered', 'Based on Ordered Quantities'),
|
||||
('received', 'Based on Received Quantities')],
|
||||
string="Sale Policy", default='no')
|
||||
|
||||
@@ -9,24 +9,24 @@ from openerp.addons import decimal_precision as dp
|
||||
class RmaOrderLine(models.Model):
|
||||
_inherit = "rma.order.line"
|
||||
|
||||
@api.depends('sale_line_ids', 'sale_type', 'sales_count',
|
||||
'sale_line_ids.state')
|
||||
@api.depends('sale_line_ids', 'sale_policy', 'sales_count',
|
||||
'sale_line_ids.state', 'qty_received', 'product_qty')
|
||||
def _compute_qty_to_sell(self):
|
||||
if self.sale_type == 'no':
|
||||
self.qty_to_sell = 0.0
|
||||
elif self.sale_type == 'ordered':
|
||||
qty = self._get_rma_sold_qty()
|
||||
self.qty_to_sell = self.product_qty - qty
|
||||
elif self.sale_type == 'received':
|
||||
qty = self._get_rma_sold_qty()
|
||||
self.qty_to_sell = self.qty_received - qty
|
||||
else:
|
||||
self.qty_to_sell = 0.0
|
||||
for rec in self:
|
||||
if rec.sale_policy == 'ordered':
|
||||
qty = rec._get_rma_sold_qty()
|
||||
rec.qty_to_sell = rec.product_qty - qty
|
||||
elif rec.sale_policy == 'received':
|
||||
qty = rec._get_rma_sold_qty()
|
||||
rec.qty_to_sell = rec.qty_received - qty
|
||||
else:
|
||||
rec.qty_to_sell = 0.0
|
||||
|
||||
@api.depends('sale_line_ids', 'sale_type', 'sales_count',
|
||||
@api.depends('sale_line_ids', 'sale_policy', 'sales_count',
|
||||
'sale_line_ids.state')
|
||||
def _compute_qty_sold(self):
|
||||
self.qty_sold = self._get_rma_sold_qty()
|
||||
for rec in self:
|
||||
rec.qty_sold = rec._get_rma_sold_qty()
|
||||
|
||||
@api.multi
|
||||
def _compute_sales_count(self):
|
||||
@@ -57,13 +57,20 @@ class RmaOrderLine(models.Model):
|
||||
digits=dp.get_precision('Product Unit of Measure'),
|
||||
readonly=True, compute=_compute_qty_sold,
|
||||
store=True)
|
||||
sale_type = fields.Selection(selection=[
|
||||
sale_policy = fields.Selection(selection=[
|
||||
('no', 'Not required'), ('ordered', 'Based on Ordered Quantities'),
|
||||
('received', 'Based on Received Quantities')],
|
||||
string="Sale Policy", default='no', required=True)
|
||||
sales_count = fields.Integer(
|
||||
compute=_compute_sales_count, string='# of Sales')
|
||||
|
||||
@api.onchange('operation_id')
|
||||
def _onchange_operation_id(self):
|
||||
res = super(RmaOrderLine, self)._onchange_operation_id()
|
||||
if self.operation_id:
|
||||
self.sale_policy = self.operation_id.sale_policy or 'no'
|
||||
return res
|
||||
|
||||
@api.multi
|
||||
def _prepare_rma_line_from_sale_order_line(self, line):
|
||||
self.ensure_one()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<field name="inherit_id" ref="rma.rma_operation_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="delivery_policy" position="after">
|
||||
<field name="sale_type"/>
|
||||
<field name="sale_policy"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
@@ -19,7 +19,7 @@
|
||||
<field name="inherit_id" ref="rma.rma_operation_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="delivery_policy" position="after">
|
||||
<field name="sale_type"/>
|
||||
<field name="sale_policy"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<field name="delivery_policy" position="after">
|
||||
<field name="sale_type"/>
|
||||
<field name="sale_policy"/>
|
||||
</field>
|
||||
<field name="origin" position="after">
|
||||
<field name="sale_id"
|
||||
@@ -65,7 +65,7 @@
|
||||
</group>
|
||||
</group>
|
||||
<field name="delivery_policy" position="after">
|
||||
<field name="sale_type"/>
|
||||
<field name="sale_policy"/>
|
||||
</field>
|
||||
<notebook position="inside">
|
||||
<page name="sale" string="Sale Lines">
|
||||
|
||||
Reference in New Issue
Block a user