Merge pull request #68 from grindtildeath/12.0_proxy_default_with_lambda

[12.0] Improve fields definition
This commit is contained in:
Aarón Henríquez
2019-05-16 14:15:38 +02:00
committed by GitHub
9 changed files with 48 additions and 37 deletions

View File

@@ -114,6 +114,7 @@ Contributors
* Aaron Henriquez <ahenriquez@eficent.com>
* Lois Rilo <lois.rilo@eficent.com>
* Bhavesh Odedra <bodedra@opensourceintegrators.com>
* Akim Juillerat <akim.juillerat@camptocamp.com>
Maintainer
----------

View File

@@ -45,12 +45,12 @@ class RmaOperation(models.Model):
in_route_id = fields.Many2one(
comodel_name='stock.location.route', string='Inbound Route',
domain=[('rma_selectable', '=', True)],
default=_default_routes,
default=lambda self: self._default_routes(),
)
out_route_id = fields.Many2one(
comodel_name='stock.location.route', string='Outbound Route',
domain=[('rma_selectable', '=', True)],
default=_default_routes,
default=lambda self: self._default_routes(),
)
customer_to_supplier = fields.Boolean(
string='The customer will send to the supplier',
@@ -60,10 +60,12 @@ class RmaOperation(models.Model):
)
in_warehouse_id = fields.Many2one(
comodel_name='stock.warehouse', string='Inbound Warehouse',
default=_default_warehouse_id)
default=lambda self: self._default_warehouse_id(),
)
out_warehouse_id = fields.Many2one(
comodel_name='stock.warehouse', string='Outbound Warehouse',
default=_default_warehouse_id)
default=lambda self: self._default_warehouse_id(),
)
location_id = fields.Many2one(
'stock.location', 'Send To This Company Location')
type = fields.Selection([

View File

@@ -50,24 +50,29 @@ class RmaOrder(models.Model):
string='Group Number', index=True, copy=False)
type = fields.Selection(
[('customer', 'Customer'), ('supplier', 'Supplier')],
string="Type", required=True, default=_get_default_type, readonly=True)
string="Type", required=True,
default=lambda self: self._get_default_type(),
readonly=True
)
reference = fields.Char(string='Partner Reference',
help="The partner reference of this RMA order.")
comment = fields.Text('Additional Information')
date_rma = fields.Datetime(string='Order Date', index=True,
default=_default_date_rma)
default=lambda self: self._default_date_rma(),)
partner_id = fields.Many2one(
comodel_name='res.partner', string='Partner', required=True)
rma_line_ids = fields.One2many('rma.order.line', 'rma_id',
string='RMA lines')
in_shipment_count = fields.Integer(compute=_compute_in_shipment_count,
in_shipment_count = fields.Integer(compute='_compute_in_shipment_count',
string='# of Invoices')
out_shipment_count = fields.Integer(compute=_compute_out_shipment_count,
out_shipment_count = fields.Integer(compute='_compute_out_shipment_count',
string='# of Outgoing Shipments')
line_count = fields.Integer(compute=_compute_line_count,
line_count = fields.Integer(compute='_compute_line_count',
string='# of Outgoing Shipments')
supplier_line_count = fields.Integer(compute=_compute_supplier_line_count,
string='# of Outgoing Shipments')
supplier_line_count = fields.Integer(
compute='_compute_supplier_line_count',
string='# of Outgoing Shipments'
)
company_id = fields.Many2one('res.company', string='Company',
required=True, default=lambda self:
self.env.user.company_id)

View File

@@ -167,7 +167,7 @@ class RmaOrderLine(models.Model):
delivery_address_id = fields.Many2one(
comodel_name='res.partner', string='Partner delivery address',
default=_default_delivery_address,
default=lambda self: self._default_delivery_address(),
readonly=True, states={'draft': [('readonly', False)]},
help="This address will be used to deliver repaired or replacement "
"products.",
@@ -240,9 +240,9 @@ class RmaOrderLine(models.Model):
string='Price Unit',
readonly=True, states={'draft': [('readonly', False)]},
)
in_shipment_count = fields.Integer(compute=_compute_in_shipment_count,
in_shipment_count = fields.Integer(compute='_compute_in_shipment_count',
string='# of Shipments')
out_shipment_count = fields.Integer(compute=_compute_out_shipment_count,
out_shipment_count = fields.Integer(compute='_compute_out_shipment_count',
string='# of Deliveries')
move_ids = fields.One2many('stock.move', 'rma_line_id',
string='Stock Moves', readonly=True,
@@ -258,7 +258,8 @@ class RmaOrderLine(models.Model):
default=lambda self: self.env.user.company_id)
type = fields.Selection(
selection=[('customer', 'Customer'), ('supplier', 'Supplier')],
string="Type", required=True, default=_get_default_type,
string="Type", required=True,
default=lambda self: self._get_default_type(),
readonly=True,
)
customer_to_supplier = fields.Boolean(
@@ -272,13 +273,13 @@ class RmaOrderLine(models.Model):
receipt_policy = fields.Selection([
('no', 'Not required'), ('ordered', 'Based on Ordered Quantities'),
('delivered', 'Based on Delivered Quantities')],
required=True, string="Receipts Policy",
required=True, string="Receipts Policy", default='no',
readonly=True, states={'draft': [('readonly', False)]},
)
delivery_policy = fields.Selection([
('no', 'Not required'), ('ordered', 'Based on Ordered Quantities'),
('received', 'Based on Received Quantities')], required=True,
string="Delivery Policy",
string="Delivery Policy", default='no',
readonly=True, states={'draft': [('readonly', False)]},
)
in_route_id = fields.Many2one(
@@ -298,19 +299,19 @@ class RmaOrderLine(models.Model):
string='Inbound Warehouse',
required=True,
readonly=True, states={'draft': [('readonly', False)]},
default=_default_warehouse_id,
default=lambda self: self._default_warehouse_id(),
)
out_warehouse_id = fields.Many2one(
comodel_name='stock.warehouse', string='Outbound Warehouse',
required=True,
readonly=True, states={'draft': [('readonly', False)]},
default=_default_warehouse_id,
default=lambda self: self._default_warehouse_id(),
)
location_id = fields.Many2one(
comodel_name='stock.location', string='Send To This Company Location',
required=True,
readonly=True, states={'draft': [('readonly', False)]},
default=_default_location_id,
default=lambda self: self._default_location_id(),
)
customer_rma_id = fields.Many2one(
'rma.order.line', string='Customer RMA line', ondelete='cascade')
@@ -335,40 +336,40 @@ class RmaOrderLine(models.Model):
qty_to_receive = fields.Float(
string='Qty To Receive',
digits=dp.get_precision('Product Unit of Measure'),
compute=_compute_qty_to_receive, store=True)
compute='_compute_qty_to_receive', store=True)
qty_incoming = fields.Float(
string='Incoming Qty', copy=False,
readonly=True, digits=dp.get_precision('Product Unit of Measure'),
compute=_compute_qty_incoming, store=True)
compute='_compute_qty_incoming', store=True)
qty_received = fields.Float(
string='Qty Received', copy=False,
digits=dp.get_precision('Product Unit of Measure'),
compute=_compute_qty_received,
compute='_compute_qty_received',
store=True)
qty_to_deliver = fields.Float(
string='Qty To Deliver', copy=False,
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_to_deliver,
readonly=True, compute='_compute_qty_to_deliver',
store=True)
qty_outgoing = fields.Float(
string='Outgoing Qty', copy=False,
readonly=True, digits=dp.get_precision('Product Unit of Measure'),
compute=_compute_qty_outgoing,
compute='_compute_qty_outgoing',
store=True)
qty_delivered = fields.Float(
string='Qty Delivered', copy=False,
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_delivered,
readonly=True, compute='_compute_qty_delivered',
store=True)
qty_to_supplier_rma = fields.Float(
string='Qty to send to Supplier RMA',
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_supplier_rma,
readonly=True, compute='_compute_qty_supplier_rma',
store=True)
qty_in_supplier_rma = fields.Float(
string='Qty in Supplier RMA',
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_supplier_rma,
readonly=True, compute='_compute_qty_supplier_rma',
store=True)
under_warranty = fields.Boolean(
string="Under Warranty?",

View File

@@ -44,6 +44,7 @@ Contributors
* Aaron Henriquez <ahenriquez@eficent.com>
* Lois Rilo <lois.rilo@eficent.com>
* Bhavesh Odedra <bodedra@opensourceintegrators.com>
* Akim Juillerat <akim.juillerat@camptocamp.com>
Maintainer
----------

View File

@@ -58,7 +58,7 @@ class AccountInvoice(models.Model):
return {}
rma_count = fields.Integer(
compute=_compute_rma_count, string='# of RMA')
compute='_compute_rma_count', string='# of RMA')
add_rma_line_id = fields.Many2one(
comodel_name='rma.order.line',
@@ -156,7 +156,7 @@ class AccountInvoiceLine(models.Model):
invl.rma_line_count = len(rma_lines)
rma_line_count = fields.Integer(
compute=_compute_rma_count, string='# of RMA')
compute='_compute_rma_count', string='# of RMA')
rma_line_ids = fields.One2many(
comodel_name='rma.order.line', inverse_name='invoice_line_id',
string="RMA", readonly=True,

View File

@@ -25,9 +25,9 @@ class RmaOrder(models.Model):
ondelete='set null', readonly=True,
)
invoice_refund_count = fields.Integer(
compute=_compute_invoice_refund_count, string='# of Refunds')
compute='_compute_invoice_refund_count', string='# of Refunds')
invoice_count = fields.Integer(
compute=_compute_invoice_count, string='# of Invoices')
compute='_compute_invoice_count', string='# of Invoices')
def _prepare_rma_line_from_inv_line(self, line):
if self.type == 'customer':

View File

@@ -43,12 +43,12 @@ class RmaOrderLine(models.Model):
invoice_address_id = fields.Many2one(
'res.partner', string='Partner invoice address',
default=_default_invoice_address,
default=lambda self: self._default_invoice_address(),
readonly=True, states={'draft': [('readonly', False)]},
help="Invoice address for current rma order.",
)
refund_count = fields.Integer(
compute=_compute_refund_count, string='# of Refunds', default=0)
compute='_compute_refund_count', string='# of Refunds', default=0)
invoice_line_id = fields.Many2one(
comodel_name='account.invoice.line',
string='Originating Invoice Line',
@@ -73,11 +73,11 @@ class RmaOrderLine(models.Model):
qty_to_refund = fields.Float(
string='Qty To Refund', copy=False,
digits=dp.get_precision('Product Unit of Measure'), readonly=True,
compute=_compute_qty_to_refund, store=True)
compute='_compute_qty_to_refund', store=True)
qty_refunded = fields.Float(
string='Qty Refunded', copy=False,
digits=dp.get_precision('Product Unit of Measure'),
readonly=True, compute=_compute_qty_refunded, store=True)
readonly=True, compute='_compute_qty_refunded', store=True)
@api.onchange('product_id')
def _onchange_product_id(self):

View File

@@ -63,7 +63,8 @@ class RmaRefund(models.TransientModel):
)
date = fields.Date(string='Accounting Date')
description = fields.Char(
string='Reason', required=True, default=_get_reason,
string='Reason', required=True,
default=lambda self: self._get_reason(),
)
item_ids = fields.One2many(
comodel_name='rma.refund.item',