mirror of
https://github.com/ForgeFlow/stock-rma.git
synced 2025-01-21 12:57:49 +02:00
Merge pull request #68 from grindtildeath/12.0_proxy_default_with_lambda
[12.0] Improve fields definition
This commit is contained in:
@@ -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
|
||||
----------
|
||||
|
||||
@@ -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([
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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?",
|
||||
|
||||
@@ -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
|
||||
----------
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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':
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user