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. -->