diff --git a/__init__.py b/__init__.py index 01c0ca9..9ba3bf6 100644 --- a/__init__.py +++ b/__init__.py @@ -31,6 +31,7 @@ def register(): maintenance.ChangePropietaryMaintenance, move.Move, move.ShipmentOut, + move.ShipmentOutReturn, move.ShipmentInternal, sale.Sale, sale.SaleLine, diff --git a/move.py b/move.py index 261de81..e2854c2 100644 --- a/move.py +++ b/move.py @@ -208,3 +208,13 @@ class ShipmentInternal(metaclass=PoolMeta): Move.do([m for s in shipments for m in s.incoming_moves]) cls.write([s for s in shipments if not s.effective_date], { 'effective_date': Date.today(),}) + + +class ShipmentOutReturn(metaclass=PoolMeta): + "Customer Shipment Return" + __name__ = 'stock.shipment.out.return' + + service_maintenance_initial = fields.Boolean('Maintenance Initial', states={'readonly': True}) + sale_type = fields.Char('Type sale origin') + + diff --git a/sale.py b/sale.py index 6276ac6..8566761 100644 --- a/sale.py +++ b/sale.py @@ -112,6 +112,23 @@ class Sale(metaclass=PoolMeta): return Shipment(**values) + @classmethod + def copy(cls, sales, default=None): + if default is None: + default = {} + else: + default = default.copy() + + default.setdefault('number', None) + default.setdefault('invoice_state', 'none') + default.setdefault('invoices_ignored', None) + default.setdefault('moves', None) + default.setdefault('shipment_state', 'none') + default.setdefault('quoted_by') + default.setdefault('confirmed_by') + + return super(Sale, cls).copy(sales, default=default) + @classmethod @ModelView.button @Workflow.transition('quotation')