In fully updated 7.4 I get the following while trying to delete a shipment that was created from sale:
Traceback (most recent call last):
File "/trytond/wsgi.py", line 96, in dispatch_request
return endpoint(request, **request.view_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/protocols/dispatcher.py", line 44, in rpc
return methods.get(request.rpc_method, _dispatch)(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/wsgi.py", line 76, in wrapper
return func(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/protocols/wrappers.py", line 206, in wrapper
result = func(request, pool, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/protocols/dispatcher.py", line 216, in _dispatch
result = rpc.result(meth(*c_args, **c_kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/stock/shipment.py", line 1798, in delete
cls.cancel(shipments)
File "/trytond/model/modelview.py", line 764, in wrapper
return func(cls, records, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/stock_shipment_measurements/stock.py", line 461, in wrapper
result = func(cls, shipments, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/model/workflow.py", line 37, in wrapper
result = func(cls, filtered, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/stock_shipment_measurements/stock.py", line 563, in cancel
super().cancel(shipments)
File "/trytond/model/modelview.py", line 764, in wrapper
return func(cls, records, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/model/workflow.py", line 37, in wrapper
result = func(cls, filtered, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/sale_shipment_cost/stock.py", line 242, in cancel
super().cancel(shipments)
File "/trytond/model/modelview.py", line 764, in wrapper
return func(cls, records, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/model/workflow.py", line 37, in wrapper
result = func(cls, filtered, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/sale/stock.py", line 25, in wrapper
func(cls, shipments)
File "/trytond/modules/sale/stock.py", line 71, in cancel
super(ShipmentOut, cls).cancel(shipments)
File "/trytond/model/modelview.py", line 764, in wrapper
return func(cls, records, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/model/workflow.py", line 37, in wrapper
result = func(cls, filtered, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/stock/shipment.py", line 1734, in cancel
Move.cancel([m for s in shipments
File "/trytond/model/modelview.py", line 764, in wrapper
return func(cls, records, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/model/workflow.py", line 37, in wrapper
result = func(cls, filtered, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/trytond/modules/stock_shipment_measurements/stock.py", line 182, in cancel
if issubclass(move.shipment, MeasurementsMixin):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: issubclass() arg 1 must be a class
Fault: issubclass() arg 1 must be a class
PS: My temporary fix is to first delete the outgoing moves, then I successfully delete the shipment without a crash.
Tested on demo.tryton.org and I get the same crash after activating shipment measurements module.