fixup! fix

This commit is contained in:
Lois Rilo
2018-05-24 11:21:38 +02:00
parent 51c4ff72f4
commit 16adea738f
6 changed files with 63 additions and 68 deletions

View File

@@ -209,9 +209,11 @@ class RmaOrderLine(models.Model):
)
assigned_to = fields.Many2one(
comodel_name='res.users', track_visibility='onchange',
default=lambda self: self.env.uid,
)
requested_by = fields.Many2one(
comodel_name='res.users', track_visibility='onchange',
default=lambda self: self.env.uid,
)
partner_id = fields.Many2one(
comodel_name='res.partner', required=True, store=True,
@@ -230,7 +232,7 @@ class RmaOrderLine(models.Model):
product_tracking = fields.Selection(related="product_id.tracking")
lot_id = fields.Many2one(
comodel_name="stock.production.lot", string="Lot/Serial Number",
readonly=True, states={"new": [("readonly", False)]},
readonly=True, states={"draft": [("readonly", False)]},
)
product_qty = fields.Float(
string='Ordered Qty', copy=False,
@@ -481,7 +483,6 @@ class RmaOrderLine(models.Model):
self.write({'state': 'to_approve'})
for rec in self:
if rec.product_id.rma_approval_policy == 'one_step':
rec.write({'assigned_to': self.env.uid})
rec.action_rma_approve()
return True
@@ -531,8 +532,7 @@ class RmaOrderLine(models.Model):
self.product_id.categ_id.rma_supplier_operation_id
if self.lot_id.product_id != self.product_id:
self.lot_id = False
return {'domain': {
'lot_id': [('product_id', '=', self.product_id.id)]}}
return result
@api.onchange('operation_id')
def _onchange_operation_id(self):

View File

@@ -110,6 +110,22 @@
domain="[('supplier','=',True)]"
string="Supplier"/>
</group>
<group>
<group name="product" string="Product">
<field name="product_id"/>
<newline/>
<field name="product_tracking" invisible="1"/>
<field name="lot_id"
groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"
domain="[('product_id', '=', product_id)]"/>
</group>
<group name="product_qty" string="Quantity">
<field name="product_qty"/>
<field name="price_unit"/>
<field name="uom_id" groups="product.group_uom"/>
</group>
</group>
<group name="main_info" string="Origin">
<field name="reference_move_id"
options="{'no_create': True}"
@@ -118,20 +134,6 @@
('state', '=', 'done')]"/>
</group>
<group>
<group name="product" string="Product">
<field name="product_id"/>
<newline/>
<field name="product_tracking" invisible="1"/>
<field name="lot_id"
groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"/>
</group>
<group name="product_qty" string="Quantity">
<field name="product_qty"/>
<field name="price_unit"/>
<field name="uom_id" groups="product.group_uom"/>
</group>
<newline/>
<group name="operation" string="Operation">
<field name="operation_id"
domain="[('type','=','supplier')]"/>
@@ -140,7 +142,7 @@
</group>
<group name="contact" string="Contact">
<field name="requested_by" readonly="1"/>
<field name="assigned_to" readonly="1"/>
<field name="assigned_to"/>
</group>
</group>
<notebook>
@@ -279,6 +281,22 @@
<field name="under_warranty"/>
</group>
</group>
<group>
<group name="product" string="Product">
<field name="product_id"/>
<newline/>
<field name="product_tracking" invisible="1"/>
<field name="lot_id"
groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"
domain="[('product_id', '=', product_id)]"/>
</group>
<group name="product_qty" string="Quantity">
<field name="product_qty"/>
<field name="uom_id" groups="product.group_uom"/>
<field name="price_unit"/>
</group>
</group>
<group name="main_info" string="Origin">
<field name="reference_move_id"
options="{'no_create': True}"
@@ -287,20 +305,6 @@
('state', '=', 'done')]"/>
</group>
<group>
<group name="product" string="Product">
<field name="product_id"/>
<newline/>
<field name="product_tracking" invisible="1"/>
<field name="lot_id"
groups="stock.group_production_lot"
attrs="{'required': [('product_tracking', 'in', ('serial', 'lot'))]}"/>
</group>
<group name="product_qty" string="Quantity">
<field name="product_qty"/>
<field name="uom_id" groups="product.group_uom"/>
<field name="price_unit"/>
</group>
<newline/>
<group name="operation" string="Operation">
<field name="operation_id" domain="[('type','=','customer')]"/>
<field name="receipt_policy"/>
@@ -308,7 +312,7 @@
</group>
<group name="contact" string="Contact">
<field name="requested_by" readonly="1"/>
<field name="assigned_to" readonly="1"/>
<field name="assigned_to"/>
</group>
</group>
<notebook>

View File

@@ -79,19 +79,19 @@ class RmaOrderLine(models.Model):
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_refunded, store=True)
@api.onchange('product_id')
@api.onchange('product_id', 'partner_id')
def _onchange_product_id(self):
"""Domain for invoice_line_id is computed here to make it dynamic."""
res = super(RmaOrderLine, self)._onchange_product_id()
if res.get('domain') and self.product_id:
res['domain']['invoice_line_id'] = [
('product_id', '=', self.product_id.id)]
elif res.get('domain') and self.product_id:
res['domain']['invoice_line_id'] = [()]
elif not res.get('domain') and self.product_id:
res['domain'] = {
'invoice_line_id': [('product_id', '=', self.product_id.id)]}
else:
res['domain'] = {'invoice_line_id': []}
if not res.get('domain'):
res['domain'] = {}
domain = [
'|',
('invoice_id.partner_id', '=', self.partner_id.id),
('invoice_id.partner_id', 'child_of', self.partner_id.id)]
if self.product_id:
domain.append(('product_id', '=', self.product_id.id))
res['domain']['invoice_line_id'] = domain
return res
@api.multi

View File

@@ -17,10 +17,7 @@
</button>
<group name="main_info" position="inside">
<field name="invoice_line_id"
options="{'no_create': True}"
domain="['|',
('invoice_id.partner_id', '=', partner_id),
('invoice_id.partner_id', 'child_of', partner_id)]"/>
options="{'no_create': True}"/>
</group>
<field name="operation_id" position="after">
<field name="refund_policy"/>
@@ -64,10 +61,7 @@
</button>
<group name="main_info" position="inside">
<field name="invoice_line_id"
options="{'no_create': True}"
domain="['|',
('invoice_id.partner_id', '=', partner_id),
('invoice_id.partner_id', 'child_of', partner_id)]"/>
options="{'no_create': True}"/>
</group>
<field name="operation_id" position="after">
<field name="refund_policy"/>

View File

@@ -64,19 +64,19 @@ class RmaOrderLine(models.Model):
sales_count = fields.Integer(
compute=_compute_sales_count, string='# of Sales')
@api.onchange('product_id')
@api.onchange('product_id', 'partner_id')
def _onchange_product_id(self):
"""Domain for sale_line_id is computed here to make it dynamic."""
res = super(RmaOrderLine, self)._onchange_product_id()
if res.get('domain') and self.product_id:
res['domain']['sale_line_id'] = [
('product_id', '=', self.product_id.id)]
elif res.get('domain') and self.product_id:
res['domain']['sale_line_id'] = [()]
elif not res.get('domain') and self.product_id:
res['domain'] = {
'sale_line_id': [('product_id', '=', self.product_id.id)]}
else:
res['domain'] = {'sale_line_id': []}
if not res.get('domain'):
res['domain'] = {}
domain = [
'|',
('order_id.partner_id', '=', self.partner_id.id),
('order_id.partner_id', 'child_of', self.partner_id.id)]
if self.product_id:
domain.append(('product_id', '=', self.product_id.id))
res['domain']['sale_line_id'] = domain
return res
@api.onchange('operation_id')

View File

@@ -18,10 +18,7 @@
</div>
<group name="main_info" position="inside">
<field name="sale_line_id"
options="{'no_create': True}"
domain="['|',
('order_id.partner_id', '=', partner_id),
('order_id.partner_id', 'child_of', partner_id)]"/>
options="{'no_create': True}"/>
</group>
<group name="quantities" position="inside">
<group>