diff --git a/CHANGELOG b/CHANGELOG
index 71affdc012..ebb64252c6 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,4 @@
+* Rename Purchase reference into number and supplier reference into reference
* Add return location on warehouse
* Add Python3 support
* Replace Delivery Time by Lead Time on Product Template
diff --git a/configuration.py b/configuration.py
index b1d7c6dd41..733f1dc455 100644
--- a/configuration.py
+++ b/configuration.py
@@ -10,7 +10,7 @@ class Configuration(ModelSingleton, ModelSQL, ModelView):
'Purchase Configuration'
__name__ = 'purchase.configuration'
purchase_sequence = fields.Property(fields.Many2One('ir.sequence',
- 'Purchase Reference Sequence', domain=[
+ 'Purchase Sequence', domain=[
('company', 'in',
[Eval('context', {}).get('company', -1), None]),
('code', '=', 'purchase.purchase'),
diff --git a/purchase.odt b/purchase.odt
index fbbbf6fb07..554035870f 100644
Binary files a/purchase.odt and b/purchase.odt differ
diff --git a/purchase.py b/purchase.py
index 40d3896f18..b00441c1c6 100644
--- a/purchase.py
+++ b/purchase.py
@@ -38,7 +38,7 @@ _ZERO = Decimal(0)
class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
'Purchase'
__name__ = 'purchase.purchase'
- _rec_name = 'reference'
+ _rec_name = 'number'
company = fields.Many2One('company.company', 'Company', required=True,
states={
'readonly': (Eval('state') != 'draft') | Eval('lines', [0]),
@@ -48,8 +48,8 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
Eval('context', {}).get('company', -1)),
],
depends=['state'], select=True)
- reference = fields.Char('Reference', size=None, readonly=True, select=True)
- supplier_reference = fields.Char('Supplier Reference', select=True)
+ number = fields.Char('Number', size=None, readonly=True, select=True)
+ reference = fields.Char('Reference', select=True)
description = fields.Char('Description', size=None, states=_STATES,
depends=_DEPENDS)
state = fields.Selection([
@@ -256,6 +256,11 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
table = TableHandler(cls, module_name)
table.column_rename('packing_state', 'shipment_state')
+ # Migration from 3.8:
+ if table.column_exist('supplier_reference'):
+ table.column_rename('reference', 'number')
+ table.column_rename('supplier_reference', 'reference')
+
super(Purchase, cls).__register__(module_name)
# Migration from 1.2: rename packing to shipment in
@@ -567,20 +572,20 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
})
def get_rec_name(self, name):
- return (self.reference or str(self.id)
+ return (self.number or str(self.id)
+ ' - ' + self.party.name)
@classmethod
def search_rec_name(cls, name, clause):
_, operator, value = clause
- if operator[1].startswith('!') or operator[1].startswith('not '):
+ if operator.startswith('!') or operator.startswith('not '):
bool_op = 'AND'
else:
bool_op = 'OR'
names = value.split(' - ', 1)
domain = [bool_op,
+ ('number', operator, names[0]),
('reference', operator, names[0]),
- ('supplier_reference', operator, names[0]),
]
if len(names) != 1 and names[1]:
domain = [bool_op, domain, ('party', operator, names[1])]
@@ -596,7 +601,7 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
default = {}
default = default.copy()
default['state'] = 'draft'
- default['reference'] = None
+ default['number'] = None
default['invoice_state'] = 'none'
default['invoices_ignored'] = None
default['moves'] = None
@@ -612,9 +617,9 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
self.raise_user_error('warehouse_required', (self.rec_name,))
@classmethod
- def set_reference(cls, purchases):
+ def set_number(cls, purchases):
'''
- Fill the reference field with the purchase sequence
+ Fill the number field with the purchase sequence
'''
pool = Pool()
Sequence = pool.get('ir.sequence')
@@ -622,12 +627,10 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
config = Config(1)
for purchase in purchases:
- if purchase.reference:
+ if purchase.number:
continue
- reference = Sequence.get_id(config.purchase_sequence.id)
- cls.write([purchase], {
- 'reference': reference,
- })
+ purchase.number = Sequence.get_id(config.purchase_sequence.id)
+ cls.save(purchases)
@classmethod
def set_purchase_date(cls, purchases):
@@ -778,7 +781,7 @@ class Purchase(Workflow, ModelSQL, ModelView, TaxableMixin):
def quote(cls, purchases):
for purchase in purchases:
purchase.check_for_quotation()
- cls.set_reference(purchases)
+ cls.set_number(purchases)
@classmethod
@ModelView.button
diff --git a/view/purchase_form.xml b/view/purchase_form.xml
index ff08382839..9184518c15 100644
--- a/view/purchase_form.xml
+++ b/view/purchase_form.xml
@@ -6,8 +6,8 @@ this repository contains the full copyright notices and license terms. -->
-
-
+
+
diff --git a/view/purchase_tree.xml b/view/purchase_tree.xml
index 6e62f5215a..69daabb1d2 100644
--- a/view/purchase_tree.xml
+++ b/view/purchase_tree.xml
@@ -2,8 +2,8 @@
+
-