Rename 'done' buttons to 'do' and label them as "Complete"
Closes #13039
This commit is contained in:
@@ -112,7 +112,7 @@ Ship the products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ Receive 9 products::
|
||||
>>> shipment.incoming_moves.append(move)
|
||||
>>> move.quantity = 5.0
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> stock_in.reload()
|
||||
@@ -252,7 +252,7 @@ Send 5 products::
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> stock_out.reload()
|
||||
@@ -380,7 +380,7 @@ Now we will use a product with different unit of measure::
|
||||
0.0
|
||||
>>> shipment.incoming_moves.append(move)
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> set_user(accountant)
|
||||
>>> purchase.reload()
|
||||
|
||||
+1
-1
@@ -192,7 +192,7 @@ Receive 50 products::
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('ship')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> set_user(account_user)
|
||||
|
||||
@@ -141,7 +141,7 @@ Receive 9 products::
|
||||
>>> shipment.incoming_moves.append(move)
|
||||
>>> move.quantity = 5.0
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> stock_in.reload()
|
||||
@@ -213,7 +213,7 @@ Send 5 products::
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> stock_out.reload()
|
||||
@@ -315,7 +315,7 @@ Create Drop Shipment Move::
|
||||
|
||||
>>> shipment, = sale.drop_shipments
|
||||
>>> shipment.click('ship')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -367,7 +367,7 @@ Create Drop Shipment Move::
|
||||
|
||||
>>> shipment, = sale.drop_shipments
|
||||
>>> shipment.click('ship')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -134,7 +134,7 @@ Receive products from Belgium::
|
||||
>>> move.unit_price = Decimal('100.0000')
|
||||
>>> move.currency = eur
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -156,7 +156,7 @@ Receive products from France::
|
||||
>>> move.unit_price = Decimal('90.0000')
|
||||
>>> move.currency = eur
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -196,7 +196,7 @@ Receive products from US::
|
||||
>>> move.unit_price = Decimal('120.0000')
|
||||
>>> move.currency = usd
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -218,7 +218,7 @@ Receive returned products from France::
|
||||
>>> move.unit_price = Decimal('150.0000')
|
||||
>>> move.currency = eur
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -137,7 +137,7 @@ Send products to Belgium::
|
||||
>>> shipment.click('wait')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -161,7 +161,7 @@ Send products to particular to France::
|
||||
>>> shipment.click('wait')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -205,7 +205,7 @@ Send products to US::
|
||||
>>> shipment.click('wait')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -229,7 +229,7 @@ Send returned products to France::
|
||||
>>> move.currency = eur
|
||||
>>> shipment.click('wait')
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ Ship twice 10 unit of the product::
|
||||
>>> shipment1.click('assign_force')
|
||||
>>> shipment1.click('pick')
|
||||
>>> shipment1.click('pack')
|
||||
>>> shipment1.click('done')
|
||||
>>> shipment1.click('do')
|
||||
>>> shipment1.state
|
||||
'done'
|
||||
|
||||
@@ -121,7 +121,7 @@ Ship twice 10 unit of the product::
|
||||
>>> shipment2.click('assign_force')
|
||||
>>> shipment2.click('pick')
|
||||
>>> shipment2.click('pack')
|
||||
>>> shipment2.click('done')
|
||||
>>> shipment2.click('do')
|
||||
>>> shipment2.state
|
||||
'done'
|
||||
|
||||
|
||||
+2
-2
@@ -112,7 +112,7 @@ Ship 20 units of the product in two shipments::
|
||||
>>> shipment1.click('assign_force')
|
||||
>>> shipment1.click('pick')
|
||||
>>> shipment1.click('pack')
|
||||
>>> shipment1.click('done')
|
||||
>>> shipment1.click('do')
|
||||
>>> shipment1.state
|
||||
'done'
|
||||
|
||||
@@ -123,7 +123,7 @@ Ship 20 units of the product in two shipments::
|
||||
>>> shipment2.click('assign_force')
|
||||
>>> shipment2.click('pick')
|
||||
>>> shipment2.click('pack')
|
||||
>>> shipment2.click('done')
|
||||
>>> shipment2.click('do')
|
||||
>>> shipment2.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -182,7 +182,7 @@ class _ShipmentOutMixin(_ShipmentMixin):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Carriage = pool.get('stock.shipment.carriage')
|
||||
has_cost_sale = hasattr(Carriage, 'cost_sale')
|
||||
@@ -197,7 +197,7 @@ class _ShipmentOutMixin(_ShipmentMixin):
|
||||
carriage.cost_sale_currency_used)
|
||||
carriages.append(carriage)
|
||||
Carriage.save(carriages)
|
||||
super().done(shipments)
|
||||
super().do(shipments)
|
||||
|
||||
|
||||
class ShipmentOut(_ShipmentOutMixin, metaclass=PoolMeta):
|
||||
|
||||
@@ -143,7 +143,7 @@ Send products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
+1
-1
@@ -187,7 +187,7 @@ Send products::
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ Send products::
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ Ship in two steps::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -155,7 +155,7 @@ Ship in two steps::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -125,7 +125,7 @@ Transfer 1 product between warehouses::
|
||||
>>> accounts['stock'].balance
|
||||
Decimal('0.00')
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> accounts['stock'].reload()
|
||||
|
||||
@@ -181,7 +181,7 @@ Transfer 1 product between warehouses::
|
||||
>>> move.cost_price
|
||||
Decimal('90.0000')
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.incoming_moves
|
||||
|
||||
@@ -231,7 +231,7 @@ Receive partial shipment::
|
||||
... m.product: m for m in shipment.incoming_moves}
|
||||
>>> product2move[product2].quantity = 2.0
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -215,7 +215,7 @@ Ship partially::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
* Rename 'done' button to 'do'
|
||||
* Fill production number only in waiting state
|
||||
|
||||
Version 7.0.0 - 2023-10-30
|
||||
|
||||
@@ -228,7 +228,7 @@ class Production(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
|
||||
'invisible': Eval('state') != 'assigned',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'running',
|
||||
'depends': ['state'],
|
||||
},
|
||||
@@ -772,7 +772,7 @@ class Production(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, productions):
|
||||
def do(cls, productions):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
@@ -873,7 +873,7 @@ class Production_Lot(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, productions):
|
||||
def do(cls, productions):
|
||||
pool = Pool()
|
||||
Lot = pool.get('stock.lot')
|
||||
Move = pool.get('stock.move')
|
||||
@@ -888,4 +888,4 @@ class Production_Lot(metaclass=PoolMeta):
|
||||
moves.append(move)
|
||||
Lot.save(lots)
|
||||
Move.save(moves)
|
||||
super().done(productions)
|
||||
super().do(productions)
|
||||
|
||||
@@ -242,8 +242,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="production_done_button">
|
||||
<field name="model">production</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
<field name="confirm">Are you sure you want to complete the production?</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ Do the production::
|
||||
{'done'}
|
||||
>>> for input_ in production.inputs:
|
||||
... assertEqual(input_.effective_date, today)
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> output, = production.outputs
|
||||
>>> output.state
|
||||
'done'
|
||||
@@ -197,7 +197,7 @@ Make a production with effective date yesterday and running the day before::
|
||||
>>> production.reload()
|
||||
>>> for input_ in production.inputs:
|
||||
... assertEqual(input_.effective_date, before_yesterday)
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> production.reload()
|
||||
>>> output, = production.outputs
|
||||
>>> assertEqual(output.effective_date, yesterday)
|
||||
|
||||
@@ -91,7 +91,7 @@ Make a production::
|
||||
>>> production.click('wait')
|
||||
>>> production.click('assign_force')
|
||||
>>> production.click('run')
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
|
||||
Check output price::
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ Make a production::
|
||||
>>> production.click('wait')
|
||||
>>> production.click('assign_force')
|
||||
>>> production.click('run')
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> production.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ Make a production::
|
||||
>>> production.click('wait')
|
||||
>>> production.click('assign_force')
|
||||
>>> production.click('run')
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> production.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ Make a production::
|
||||
>>> output.quantity = 2
|
||||
>>> output.save()
|
||||
>>> _ = output.duplicate()
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
|
||||
Check output price::
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ Make a production with 2 unused component::
|
||||
>>> output.currency = company.currency
|
||||
>>> output.from_location = production.location
|
||||
>>> output.to_location = production.warehouse.storage_location
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
|
||||
Check output price::
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ Create outputs including waste products::
|
||||
>>> waste_output.product = product
|
||||
>>> waste_output.from_location = production.location
|
||||
>>> waste_output.to_location = lost_found_loc
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> production.cost
|
||||
Decimal('20.0000')
|
||||
>>> output, = [o for o in production.outputs
|
||||
|
||||
@@ -56,6 +56,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="wait"/>
|
||||
<button name="assign_wizard" icon="tryton-forward"/>
|
||||
<button name="run" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-forward"/>
|
||||
<button name="do" icon="tryton-forward"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -224,7 +224,7 @@ class Production(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, productions):
|
||||
def do(cls, productions):
|
||||
pool = Pool()
|
||||
Warning = pool.get('res.user.warning')
|
||||
|
||||
@@ -242,4 +242,4 @@ class Production(metaclass=PoolMeta):
|
||||
warning_name,
|
||||
gettext('production_outsourcing.msg_pending_purchase_done',
|
||||
productions=names))
|
||||
super(Production, cls).done(productions)
|
||||
super().do(productions)
|
||||
|
||||
@@ -147,7 +147,7 @@ Try to do the production with pending purchase::
|
||||
>>> production.click('wait')
|
||||
>>> production.click('assign_force')
|
||||
>>> production.click('run')
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
PurchaseWarning: ...
|
||||
@@ -161,4 +161,4 @@ Validate the purchase::
|
||||
|
||||
Do the production::
|
||||
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
|
||||
@@ -94,7 +94,7 @@ class Production(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, productions):
|
||||
def do(cls, productions):
|
||||
pool = Pool()
|
||||
Work = pool.get('production.work')
|
||||
for production in productions:
|
||||
@@ -104,7 +104,7 @@ class Production(metaclass=PoolMeta):
|
||||
gettext('production_work.msg_do_finished_work',
|
||||
production=production.rec_name,
|
||||
work=work.rec_name))
|
||||
super(Production, cls).done(productions)
|
||||
super().do(productions)
|
||||
Work.set_state([w for p in productions for w in p.works])
|
||||
|
||||
@classmethod
|
||||
|
||||
@@ -273,7 +273,7 @@ Check production cost::
|
||||
|
||||
Do the production::
|
||||
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
>>> production.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -107,8 +107,8 @@ class ShipmentInReturn(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@process_purchase('moves')
|
||||
def done(cls, shipments):
|
||||
super(ShipmentInReturn, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
|
||||
|
||||
def process_purchase_move(without_shipment=False):
|
||||
|
||||
@@ -263,7 +263,7 @@ Validate Shipments::
|
||||
>>> shipment.save()
|
||||
>>> assertEqual(shipment.origins, purchase.rec_name)
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> purchase.reload()
|
||||
>>> purchase.shipment_state
|
||||
'received'
|
||||
@@ -345,7 +345,7 @@ Check Return Shipments::
|
||||
>>> move_return.quantity
|
||||
4.0
|
||||
>>> ship_return.click('assign_try')
|
||||
>>> ship_return.click('done')
|
||||
>>> ship_return.click('do')
|
||||
>>> ship_return.state
|
||||
'done'
|
||||
>>> return_.reload()
|
||||
@@ -408,14 +408,14 @@ Checking Shipments::
|
||||
... incoming_move = Move(id=move.id)
|
||||
... mix_shipment.incoming_moves.append(incoming_move)
|
||||
>>> mix_shipment.click('receive')
|
||||
>>> mix_shipment.click('done')
|
||||
>>> mix_shipment.click('do')
|
||||
>>> mix.reload()
|
||||
>>> len(mix.shipments)
|
||||
1
|
||||
|
||||
>>> mix_return.click('wait')
|
||||
>>> mix_return.click('assign_try')
|
||||
>>> mix_return.click('done')
|
||||
>>> mix_return.click('do')
|
||||
>>> move_return, = mix_return.moves
|
||||
>>> move_return.product.rec_name
|
||||
'product'
|
||||
@@ -475,14 +475,14 @@ Checking Shipments::
|
||||
... incoming_move = Move(id=move.id)
|
||||
... mix_shipment.incoming_moves.append(incoming_move)
|
||||
>>> mix_shipment.click('receive')
|
||||
>>> mix_shipment.click('done')
|
||||
>>> mix_shipment.click('do')
|
||||
>>> mix.reload()
|
||||
>>> len(mix.shipments)
|
||||
1
|
||||
|
||||
>>> mix_return.click('wait')
|
||||
>>> mix_return.click('assign_try')
|
||||
>>> mix_return.click('done')
|
||||
>>> mix_return.click('do')
|
||||
>>> move_return, = mix_return.moves
|
||||
>>> move_return.product.rec_name
|
||||
'product'
|
||||
@@ -553,7 +553,7 @@ linked to invoices::
|
||||
>>> for move in shipment.inventory_moves:
|
||||
... move.quantity = 5.0
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> purchase.reload()
|
||||
>>> invoice, = purchase.invoices
|
||||
>>> invoice_line, = invoice.lines
|
||||
@@ -587,7 +587,7 @@ correctly linked to invoices::
|
||||
>>> for move in shipment.inventory_moves:
|
||||
... move.quantity = 8.0
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> purchase.reload()
|
||||
>>> invoice, = purchase.invoices
|
||||
>>> invoice_line, = invoice.lines
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ Receive 4 products::
|
||||
>>> move, = shipment.incoming_moves
|
||||
>>> move.unit_price
|
||||
Decimal('5.7500')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> stock_in.reload()
|
||||
|
||||
@@ -15,7 +15,7 @@ class Production(ControlledMixin, metaclass=PoolMeta):
|
||||
pattern['company'] = self.company.id
|
||||
if operation == 'run':
|
||||
pattern['products'] = {m.product.id for m in self.inputs}
|
||||
elif operation == 'done':
|
||||
elif operation == 'do':
|
||||
pattern['products'] = {m.product.id for m in self.outputs}
|
||||
return pattern
|
||||
|
||||
@@ -27,6 +27,6 @@ class Production(ControlledMixin, metaclass=PoolMeta):
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@ControlledMixin.control('done', 'quality.wizard_production_inspect_done')
|
||||
def done(cls, productions):
|
||||
return super().done(productions)
|
||||
@ControlledMixin.control('do', 'quality.wizard_production_inspect_do')
|
||||
def do(cls, productions):
|
||||
return super().do(productions)
|
||||
|
||||
@@ -167,17 +167,17 @@ class Control(DeactivableMixin, MatchMixin, ModelSQL, ModelView):
|
||||
|
||||
operations = fields.MultiSelection([
|
||||
('stock.shipment.in:receive', "Supplier Shipment Received"),
|
||||
('stock.shipment.in:done', "Supplier Shipment Done"),
|
||||
('stock.shipment.in:do', "Supplier Shipment Done"),
|
||||
('stock.shipment.out:pick', "Customer Shipment Picked"),
|
||||
('stock.shipment.out:pack', "Customer Shipment Packed"),
|
||||
('stock.shipment.out.return:receive',
|
||||
"Customer Shipment Return Received"),
|
||||
('stock.shipment.out.return:done',
|
||||
('stock.shipment.out.return:do',
|
||||
"Customer Shipment Return Done"),
|
||||
('stock.shipment.internal:ship', "Internal Shipment Shipped"),
|
||||
('stock.shipment.internal:done', "Internal Shipment Done"),
|
||||
('stock.shipment.internal:do', "Internal Shipment Done"),
|
||||
('production:run', "Production Run"),
|
||||
('production:done', "Production Done"),
|
||||
('production:do', "Production Done"),
|
||||
], "Operations",
|
||||
help="The operations for which the control is performed.")
|
||||
frequency = fields.Float(
|
||||
@@ -203,6 +203,32 @@ class Control(DeactivableMixin, MatchMixin, ModelSQL, ModelView):
|
||||
points = fields.One2Many(
|
||||
'quality.control.point', 'control', "Points", required=True)
|
||||
|
||||
@classmethod
|
||||
def __register__(cls, module):
|
||||
table = cls.__table__()
|
||||
transaction = Transaction()
|
||||
cursor = transaction.connection.cursor()
|
||||
update = transaction.connection.cursor()
|
||||
|
||||
super().__register__(module)
|
||||
|
||||
# Migration from 7.0: rename done button to do
|
||||
for old, new in [
|
||||
('stock.shipment.in:done', 'stock.shipment.in:do'),
|
||||
('stock.shipment.out.return:done',
|
||||
'stock.shipment.out.return:do'),
|
||||
('stock.shipment.internal:done',
|
||||
'stock.shipment.internal:do'),
|
||||
('production:done', 'production:do'),
|
||||
]:
|
||||
cursor.execute(*table.select(
|
||||
table.id, table.operations,
|
||||
where=table.operations.like(f'%{old}%')))
|
||||
for id_, operations in cursor:
|
||||
update.execute(*table.update(
|
||||
[table.operations],
|
||||
operations.replace(old, new)))
|
||||
|
||||
@classmethod
|
||||
def default_frequency(cls):
|
||||
return 1
|
||||
|
||||
@@ -30,9 +30,9 @@ class ShipmentIn(ControlledShipmentMixin, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@ControlledMixin.control(
|
||||
'done', 'quality.wizard_stock_shipment_in_inspect_done')
|
||||
def done(cls, shipments):
|
||||
return super().done(shipments)
|
||||
'do', 'quality.wizard_stock_shipment_in_inspect_do')
|
||||
def do(cls, shipments):
|
||||
return super().do(shipments)
|
||||
|
||||
|
||||
class ShipmentOut(ControlledShipmentMixin, metaclass=PoolMeta):
|
||||
@@ -66,9 +66,9 @@ class ShipmentOutReturn(ControlledShipmentMixin, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@ControlledMixin.control(
|
||||
'done', 'quality.wizard_stock_shipment_out_return_inspect_done')
|
||||
def done(cls, shipments):
|
||||
return super().done(shipments)
|
||||
'do', 'quality.wizard_stock_shipment_out_return_inspect_do')
|
||||
def do(cls, shipments):
|
||||
return super().do(shipments)
|
||||
|
||||
|
||||
class ShipmentInternal(ControlledShipmentMixin, metaclass=PoolMeta):
|
||||
@@ -84,6 +84,6 @@ class ShipmentInternal(ControlledShipmentMixin, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@ControlledMixin.control(
|
||||
'done', 'quality.wizard_stock_shipment_internal_inspect_done')
|
||||
def done(cls, shipments):
|
||||
return super().done(shipments)
|
||||
'do', 'quality.wizard_stock_shipment_internal_inspect_do')
|
||||
def do(cls, shipments):
|
||||
return super().do(shipments)
|
||||
|
||||
@@ -14,15 +14,15 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="action" ref="wizard_stock_shipment_in_inspect_receive"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_in_inspect_done">
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_in_inspect_do">
|
||||
<field name="name">Inspect Done</field>
|
||||
<field name="wiz_name">quality.inspect</field>
|
||||
<field name="model">stock.shipment.in</field>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_in_inspect_done_keyword1">
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_in_inspect_do_keyword1">
|
||||
<field name="keyword">form_action</field>
|
||||
<field name="model">stock.shipment.in,-1</field>
|
||||
<field name="action" ref="wizard_stock_shipment_in_inspect_done"/>
|
||||
<field name="action" ref="wizard_stock_shipment_in_inspect_do"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.keyword" id="act_quality_inspection_form_relate_keyword_stock_shipment_in">
|
||||
@@ -70,15 +70,15 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="action" ref="wizard_stock_shipment_out_return_inspect_receive"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_out_return_inspect_done">
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_out_return_inspect_do">
|
||||
<field name="name">Inspect Done</field>
|
||||
<field name="wiz_name">quality.inspect</field>
|
||||
<field name="model">stock.shipment.out.return</field>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_out_return_inspect_done_keyword1">
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_out_return_inspect_do_keyword1">
|
||||
<field name="keyword">form_action</field>
|
||||
<field name="model">stock.shipment.out.return,-1</field>
|
||||
<field name="action" ref="wizard_stock_shipment_out_return_inspect_done"/>
|
||||
<field name="action" ref="wizard_stock_shipment_out_return_inspect_do"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.keyword" id="act_quality_inspection_form_relate_keyword_stock_shipment_out_return">
|
||||
@@ -98,15 +98,15 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<field name="action" ref="wizard_stock_shipment_internal_inspect_ship"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_internal_inspect_done">
|
||||
<record model="ir.action.wizard" id="wizard_stock_shipment_internal_inspect_do">
|
||||
<field name="name">Inspect Done</field>
|
||||
<field name="wiz_name">quality.inspect</field>
|
||||
<field name="model">stock.shipment.internal</field>
|
||||
</record>
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_internal_inspect_done_keyword1">
|
||||
<record model="ir.action.keyword" id="wizard_stock_shipment_internal_inspect_do_keyword1">
|
||||
<field name="keyword">form_action</field>
|
||||
<field name="model">stock.shipment.internal,-1</field>
|
||||
<field name="action" ref="wizard_stock_shipment_internal_inspect_done"/>
|
||||
<field name="action" ref="wizard_stock_shipment_internal_inspect_do"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.action.keyword" id="act_quality_inspection_form_relate_keyword_stock_shipment_internal">
|
||||
|
||||
@@ -53,8 +53,8 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@process_sale('outgoing_moves')
|
||||
def done(cls, shipments):
|
||||
super(ShipmentOut, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
|
||||
@@ -260,7 +260,7 @@ Validate Shipments::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
Open customer invoice::
|
||||
|
||||
@@ -356,7 +356,7 @@ Ship 3 products::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -496,7 +496,7 @@ Checking Shipments::
|
||||
>>> mix_shipment.click('assign_try')
|
||||
>>> mix_shipment.click('pick')
|
||||
>>> mix_shipment.click('pack')
|
||||
>>> mix_shipment.click('done')
|
||||
>>> mix_shipment.click('do')
|
||||
>>> move_shipment, = mix_shipment.outgoing_moves
|
||||
>>> move_shipment.product.rec_name
|
||||
'product'
|
||||
@@ -644,7 +644,7 @@ to invoices::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> sale.reload()
|
||||
>>> invoice, = sale.invoices
|
||||
>>> invoice_line, = invoice.lines
|
||||
|
||||
@@ -134,7 +134,7 @@ Make a partial shipment::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> sale.reload()
|
||||
>>> len(sale.shipments)
|
||||
@@ -152,7 +152,7 @@ Ship backorder::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> sale.reload()
|
||||
>>> len(sale.shipments)
|
||||
|
||||
@@ -116,7 +116,7 @@ Ship the gift card::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
MoveGiftCardValidationError: ...
|
||||
@@ -126,4 +126,4 @@ Ship the gift card::
|
||||
>>> gift_card.value
|
||||
Decimal('20.00')
|
||||
>>> move.save()
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
@@ -216,12 +216,12 @@ class ShipmentOut(ShipmentCostSaleMixin, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
for shipment in shipments:
|
||||
shipment.cost_sale = shipment.cost_sale_used
|
||||
shipment.cost_sale_currency = shipment.cost_sale_currency_used
|
||||
cls.save(shipments)
|
||||
super().done(shipments)
|
||||
super().do(shipments)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
|
||||
@@ -162,7 +162,7 @@ Send products::
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.state
|
||||
'packed'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -185,7 +185,7 @@ Send missing products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> sale.reload()
|
||||
>>> len(sale.invoices)
|
||||
2
|
||||
@@ -274,7 +274,7 @@ Send products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -318,7 +318,7 @@ Send products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@ Sell product with no shipment cost::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
@@ -145,7 +145,7 @@ Sell product with cost on shipment::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
@@ -180,7 +180,7 @@ Sell product with cost on order::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.outgoing_moves
|
||||
|
||||
@@ -149,7 +149,7 @@ Check the shipments::
|
||||
... shipment.click('assign_try')
|
||||
... shipment.click('pick')
|
||||
... shipment.click('pack')
|
||||
... shipment.click('done')
|
||||
... shipment.click('do')
|
||||
|
||||
Now we'll use the same scenario with the grouped customer::
|
||||
|
||||
|
||||
@@ -107,7 +107,7 @@ Over ship 12 products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
No new shipment as shipped inside tolerance::
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ Under ship 5 products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
Under ship 4 products::
|
||||
|
||||
@@ -93,7 +93,7 @@ Under ship 4 products::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
No new shipment as shipped inside tolerance::
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@ class ShipmentIn(metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
super(ShipmentIn, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
|
||||
# Assigned sale move lines
|
||||
for shipment in shipments:
|
||||
|
||||
@@ -180,7 +180,7 @@ Receive 100 products::
|
||||
>>> shipment.incoming_moves.append(move)
|
||||
>>> move.quantity = 100
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> set_user(sale_user)
|
||||
@@ -251,7 +251,7 @@ not create a new purchase request::
|
||||
>>> changing_template.save()
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> set_user(purchase_user)
|
||||
>>> len(PurchaseRequest.find([('product', '=', changing_product.id)]))
|
||||
0
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
* Rename 'done' button to 'do'
|
||||
|
||||
Version 7.0.0 - 2023-10-30
|
||||
--------------------------
|
||||
|
||||
@@ -203,7 +203,7 @@ class ShipmentDrop(
|
||||
'invisible': Eval('state') != 'waiting',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'shipped',
|
||||
'depends': ['state'],
|
||||
},
|
||||
@@ -504,7 +504,7 @@ class ShipmentDrop(
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@process_sale('customer_moves')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
|
||||
@@ -163,8 +163,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_drop_done_button">
|
||||
<field name="model">stock.shipment.drop</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
<field name="confirm">Are you sure you want to complete the shipment?</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -211,7 +211,7 @@ Receiving only 100 products::
|
||||
... if s.state == 'shipped']
|
||||
|
||||
>>> set_user(stock_user)
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.customer_moves
|
||||
@@ -364,7 +364,7 @@ from stock::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
>>> set_user(sale_user)
|
||||
>>> sale.reload()
|
||||
|
||||
@@ -35,6 +35,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="draft"/>
|
||||
<button name="wait" icon="tryton-forward"/>
|
||||
<button name="ship" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -79,8 +79,8 @@ class Production(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@process_sale_supply
|
||||
def done(cls, productions):
|
||||
super().done(productions)
|
||||
def do(cls, productions):
|
||||
super().do(productions)
|
||||
|
||||
for production in productions:
|
||||
production.assign_supplied()
|
||||
|
||||
@@ -146,7 +146,7 @@ Start the production::
|
||||
|
||||
Finish the production::
|
||||
|
||||
>>> production.click('done')
|
||||
>>> production.click('do')
|
||||
|
||||
>>> shipment.reload()
|
||||
>>> move, = shipment.outgoing_moves
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
* Rename 'done' button to 'do'
|
||||
* Add location name fields to move
|
||||
* Unify shipment assignation scheduled jobs
|
||||
* Fill shipment number only in waiting state
|
||||
|
||||
+12
-12
@@ -477,7 +477,7 @@ class ShipmentIn(
|
||||
'invisible': Eval('state') != 'draft',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'received',
|
||||
'depends': ['state'],
|
||||
},
|
||||
@@ -730,13 +730,13 @@ class ShipmentIn(
|
||||
to_do = [s for s in shipments
|
||||
if s.warehouse_storage == s.warehouse_input]
|
||||
if to_do:
|
||||
cls.done(to_do)
|
||||
cls.do(to_do)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
@@ -898,7 +898,7 @@ class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
|
||||
'tryton-back', 'tryton-forward'),
|
||||
'depends': ['state'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'assigned',
|
||||
'depends': ['state'],
|
||||
},
|
||||
@@ -1045,7 +1045,7 @@ class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
@@ -1349,7 +1349,7 @@ class ShipmentOut(
|
||||
'depends': [
|
||||
'state', 'warehouse_storage', 'warehouse_output'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'packed',
|
||||
},
|
||||
'assign_wizard': {
|
||||
@@ -1682,7 +1682,7 @@ class ShipmentOut(
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
@@ -1989,7 +1989,7 @@ class ShipmentOutReturn(
|
||||
'invisible': Eval('state') != 'draft',
|
||||
'depends': ['state'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': Eval('state') != 'received',
|
||||
'depends': ['state'],
|
||||
},
|
||||
@@ -2185,13 +2185,13 @@ class ShipmentOutReturn(
|
||||
to_do = [s for s in shipments
|
||||
if s.warehouse_storage == s.warehouse_input]
|
||||
if to_do:
|
||||
cls.done(to_do)
|
||||
cls.do(to_do)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
@@ -2496,7 +2496,7 @@ class ShipmentInternal(
|
||||
| ~Eval('transit_location')),
|
||||
'depends': ['state', 'transit_location'],
|
||||
},
|
||||
'done': {
|
||||
'do': {
|
||||
'invisible': If(
|
||||
~Eval('transit_location'),
|
||||
Eval('state') != 'assigned',
|
||||
@@ -2844,7 +2844,7 @@ class ShipmentInternal(
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@set_employee('done_by')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Move = pool.get('stock.move')
|
||||
Date = pool.get('ir.date')
|
||||
|
||||
+10
-10
@@ -569,8 +569,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_in_done_button">
|
||||
<field name="model">stock.shipment.in</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_shipment_out">
|
||||
@@ -630,8 +630,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_out_done_button">
|
||||
<field name="model">stock.shipment.out</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
<field name="confirm">Are you sure you want to complete the shipment?</field>
|
||||
</record>
|
||||
|
||||
@@ -701,8 +701,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_internal_done_button">
|
||||
<field name="model">stock.shipment.internal</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.button" id="shipment_internal_assign_try_button">
|
||||
@@ -784,8 +784,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_out_return_done_button">
|
||||
<field name="model">stock.shipment.out.return</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.model.access" id="access_shipment_in_return">
|
||||
@@ -833,8 +833,8 @@ this repository contains the full copyright notices and license terms. -->
|
||||
|
||||
<record model="ir.model.button" id="shipment_in_return_done_button">
|
||||
<field name="model">stock.shipment.in.return</field>
|
||||
<field name="name">done</field>
|
||||
<field name="string">Done</field>
|
||||
<field name="name">do</field>
|
||||
<field name="string">Complete</field>
|
||||
<field name="confirm">Are you sure you want to complete the shipment?</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ Receive a bunch of products::
|
||||
>>> move.currency = company.currency
|
||||
>>> shipment_in.save()
|
||||
>>> shipment_in.click('receive')
|
||||
>>> shipment_in.click('done')
|
||||
>>> shipment_in.click('do')
|
||||
|
||||
Testing the report::
|
||||
|
||||
@@ -114,7 +114,7 @@ Add two shipment lines of same product and go through the workflow::
|
||||
>>> shipment_out.click('assign_try')
|
||||
>>> shipment_out.click('pick')
|
||||
>>> shipment_out.click('pack')
|
||||
>>> shipment_out.click('done')
|
||||
>>> shipment_out.click('do')
|
||||
|
||||
Testing the reports::
|
||||
|
||||
@@ -152,7 +152,7 @@ Create an internal shipment::
|
||||
>>> shipment_internal.save()
|
||||
>>> shipment_internal.click('wait')
|
||||
>>> shipment_internal.click('assign_try')
|
||||
>>> shipment_internal.click('done')
|
||||
>>> shipment_internal.click('do')
|
||||
|
||||
Testing the report::
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ Change inventory quantity and try to finish::
|
||||
|
||||
>>> inventory_move, = shipment.inventory_moves
|
||||
>>> inventory_move.quantity = 11
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ShipmentCheckQuantityWarning: ...
|
||||
@@ -100,7 +100,7 @@ Add extra product to inventory and try to finish::
|
||||
>>> move.quantity = 1
|
||||
>>> move.from_location = input_loc
|
||||
>>> move.to_location = storage_loc
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ShipmentCheckQuantityWarning: ...
|
||||
@@ -110,7 +110,7 @@ Add extra product to inventory and try to finish::
|
||||
|
||||
Finish the shipment::
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> len(shipment.incoming_moves)
|
||||
|
||||
@@ -119,7 +119,7 @@ Create Internal Shipment from lost_found location::
|
||||
>>> lost_found_shipment.click('assign_try')
|
||||
>>> lost_found_shipment.state
|
||||
'assigned'
|
||||
>>> lost_found_shipment.click('done')
|
||||
>>> lost_found_shipment.click('do')
|
||||
>>> lost_found_shipment.state
|
||||
'done'
|
||||
|
||||
@@ -129,7 +129,7 @@ Check that now we can finish the older shipment::
|
||||
>>> assertEqual(shipment.assigned_by, employee)
|
||||
>>> shipment.done_by
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> assertEqual(shipment.done_by, employee)
|
||||
|
||||
@@ -96,7 +96,7 @@ Create Internal Shipment with lead time::
|
||||
>>> shipment.outgoing_moves[0].state
|
||||
'done'
|
||||
>>> assertEqual(shipment.outgoing_moves[0].effective_date, yesterday)
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.incoming_moves[0].state
|
||||
'done'
|
||||
>>> assertEqual(shipment.incoming_moves[0].effective_date, today)
|
||||
|
||||
@@ -190,7 +190,7 @@ Ignore non assigned moves and pack shipment::
|
||||
|
||||
Set the state as Done::
|
||||
|
||||
>>> shipment_out.click('done')
|
||||
>>> shipment_out.click('do')
|
||||
>>> assertEqual(shipment_out.done_by, employee)
|
||||
>>> [m.state for m in shipment_out.outgoing_moves]
|
||||
['done']
|
||||
@@ -263,7 +263,7 @@ Finish the shipment::
|
||||
|
||||
Finish the shipment::
|
||||
|
||||
>>> shipment_out.click('done')
|
||||
>>> shipment_out.click('do')
|
||||
>>> shipment_out.state
|
||||
'done'
|
||||
>>> outgoing_move, = shipment_out.outgoing_moves
|
||||
|
||||
@@ -85,7 +85,7 @@ Receive shipment::
|
||||
|
||||
Finish the shipment::
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> len(shipment.incoming_moves)
|
||||
|
||||
@@ -43,7 +43,7 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<group col="-1" colspan="2" id="buttons">
|
||||
<button name="cancel" icon="tryton-cancel"/>
|
||||
<button name="receive" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
<button name="draft" icon="tryton-undo"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -36,6 +36,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="draft" icon="tryton-forward"/>
|
||||
<button name="wait"/>
|
||||
<button name="assign_wizard" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -47,6 +47,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="wait"/>
|
||||
<button name="assign_wizard" icon="tryton-forward"/>
|
||||
<button name="ship" icon="tryton-ok"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -48,6 +48,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="assign_wizard" icon="tryton-forward"/>
|
||||
<button name="pick"/>
|
||||
<button name="pack" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -43,6 +43,6 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<button name="cancel" icon="tryton-cancel"/>
|
||||
<button name="draft" icon="tryton-clear"/>
|
||||
<button name="receive" icon="tryton-forward"/>
|
||||
<button name="done" icon="tryton-ok"/>
|
||||
<button name="do" icon="tryton-ok"/>
|
||||
</group>
|
||||
</form>
|
||||
|
||||
@@ -125,7 +125,7 @@ Fill supplier consignment location::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -145,7 +145,7 @@ Use supplier consignment stock::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -202,7 +202,7 @@ Fill customer consignment location::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -222,7 +222,7 @@ Use customer consignment stock::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -112,7 +112,7 @@ Fill supplier consignment location::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -132,7 +132,7 @@ Use supplier consignment stock by customer::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.state
|
||||
'assigned'
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> move, = shipment.moves
|
||||
|
||||
@@ -185,7 +185,7 @@ class ShipmentInternal(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@clear_location_assignation
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
pool = Pool()
|
||||
Location = pool.get('stock.location')
|
||||
to_write = []
|
||||
@@ -198,7 +198,7 @@ class ShipmentInternal(metaclass=PoolMeta):
|
||||
})
|
||||
if to_write:
|
||||
Location.write(*to_write)
|
||||
super(ShipmentInternal, cls).done(shipments)
|
||||
super().do(shipments)
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@@ -244,8 +244,8 @@ class ShipmentOut(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@deactivate_empty_location
|
||||
def done(cls, shipments):
|
||||
super(ShipmentOut, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
|
||||
|
||||
class ShipmentInReturn(metaclass=PoolMeta):
|
||||
@@ -255,8 +255,8 @@ class ShipmentInReturn(metaclass=PoolMeta):
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
@deactivate_empty_location
|
||||
def done(cls, shipments):
|
||||
super(ShipmentInReturn, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
|
||||
|
||||
class Supply(metaclass=PoolMeta):
|
||||
|
||||
@@ -49,7 +49,7 @@ Move pallet from storage1 to storage2::
|
||||
>>> assertEqual(pallet.assigned_by, shipment)
|
||||
>>> assertEqual(pallet.parent, storage1)
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
>>> pallet.reload()
|
||||
@@ -90,7 +90,7 @@ Concurrently move pallet::
|
||||
...
|
||||
AssignError: ...
|
||||
|
||||
>>> shipment1.click('done')
|
||||
>>> shipment1.click('do')
|
||||
|
||||
Add lead time between warehouses::
|
||||
|
||||
@@ -119,6 +119,6 @@ Move pallet from storage1 to storage2 with lead_time::
|
||||
>>> pallet.reload()
|
||||
>>> assertEqual(pallet.parent, shipment.transit_location)
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> pallet.reload()
|
||||
>>> assertEqual(pallet.parent, warehouse2.storage_location)
|
||||
|
||||
@@ -134,7 +134,7 @@ Ship 1 product from the locations::
|
||||
>>> shipment.click('assign_try')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
Check empty non movable location are still active::
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ Change lot and try to finish::
|
||||
>>> incoming_move, = shipment.inventory_moves
|
||||
>>> assertEqual(incoming_move.lot, lot1)
|
||||
>>> incoming_move.lot = lot2
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ShipmentCheckQuantityWarning: ...
|
||||
@@ -91,6 +91,6 @@ Change lot and try to finish::
|
||||
|
||||
Finish the shipment::
|
||||
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
@@ -76,7 +76,7 @@ Create an incoming shipment without lot::
|
||||
>>> move2.from_location = supplier_loc
|
||||
>>> move2.to_location = input_loc
|
||||
>>> shipment.click('receive')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
Let's ship a product with a lot::
|
||||
|
||||
@@ -102,7 +102,7 @@ Let's ship a product with a lot::
|
||||
>>> move.lot = lot
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
|
||||
Let's ship now two times the same lot::
|
||||
|
||||
|
||||
@@ -438,8 +438,8 @@ class ShipmentOut(PackageMixin, object, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
super(ShipmentOut, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
cls.check_packages(shipments)
|
||||
|
||||
@property
|
||||
@@ -485,8 +485,8 @@ class ShipmentInReturn(PackageMixin, object, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
super(ShipmentInReturn, cls).done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
cls.check_packages(shipments)
|
||||
|
||||
@property
|
||||
|
||||
@@ -288,8 +288,8 @@ class ShipmentInReturn(ShippingMixin, metaclass=PoolMeta):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
super().done(shipments)
|
||||
def do(cls, shipments):
|
||||
super().do(shipments)
|
||||
cls.check_no_carrier(shipments)
|
||||
|
||||
@property
|
||||
|
||||
@@ -234,12 +234,12 @@ class ShipmentOutCostMixin(ShipmentCostMixin):
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
@Workflow.transition('done')
|
||||
def done(cls, shipments):
|
||||
def do(cls, shipments):
|
||||
for shipment in shipments:
|
||||
shipment.cost = shipment.cost_used
|
||||
shipment.cost_currency = shipment.cost_currency_used
|
||||
cls.save(shipments)
|
||||
super().done(shipments)
|
||||
super().do(shipments)
|
||||
cls.set_shipment_cost(shipments)
|
||||
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ Create a customer shipment::
|
||||
>>> shipment.cost_edit = True
|
||||
>>> shipment.cost_used = Decimal('5')
|
||||
>>> shipment.cost_currency_used = company.currency
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ Create a customer shipment::
|
||||
>>> shipment.click('assign_force')
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
@@ -542,7 +542,7 @@ Make a partial shipment::
|
||||
>>> move.quantity = 3
|
||||
>>> shipment.click('pick')
|
||||
>>> shipment.click('pack')
|
||||
>>> shipment.click('done')
|
||||
>>> shipment.click('do')
|
||||
>>> shipment.state
|
||||
'done'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user