changeset 6646fb98fdfb in modules/stock:default
details: https://hg.tryton.org/modules/stock?cmd=changeset;node=6646fb98fdfb
description:
Rename shipment states from cancel to cancelled
issue8927
review301711002
diffstat:
CHANGELOG | 1 +
doc/index.rst | 10 +-
party.py | 2 +-
party.xml | 4 +-
shipment.py | 170 ++++++++++++++++++++++++++++++++++-----------------------
5 files changed, 111 insertions(+), 76 deletions(-)
diffs (630 lines):
diff -r 7d936a1b8de2 -r 6646fb98fdfb CHANGELOG
--- a/CHANGELOG Thu Jun 04 11:08:53 2020 +0100
+++ b/CHANGELOG Sat Jun 06 10:17:30 2020 +0100
@@ -1,3 +1,4 @@
+* Rename shipment states from cancel to cancelled
* Rename inventory state from cancel to cancelled
* Override warehouse with context value for current user
diff -r 7d936a1b8de2 -r 6646fb98fdfb doc/index.rst
--- a/doc/index.rst Thu Jun 04 11:08:53 2020 +0100
+++ b/doc/index.rst Sat Jun 06 10:17:30 2020 +0100
@@ -168,7 +168,7 @@
Inventory and incoming moves are in state Done.
-* Cancel
+* Cancelled
All moves are cancelled.
@@ -222,10 +222,10 @@
The shipment is Done when the outgoing moves have been made,
e.g. when a truck left the warehouse.
-* Cancel
+* Cancelled
A shipment which is not yet completed (not in state Done) can be
- cancelled at any time. This also cancel all the moves.
+ cancelled at any time. This also cancels all the moves.
Internal Shipment
@@ -252,10 +252,10 @@
The shipment is Done when the moves have been made.
-* Cancel
+* Cancelled
A shipment which is not yet completed (not in state Done) can be
- cancelled at any time. This also cancel all the moves.
+ cancelled at any time. This also cancels all the moves.
diff -r 7d936a1b8de2 -r 6646fb98fdfb party.py
--- a/party.py Thu Jun 04 11:08:53 2020 +0100
+++ b/party.py Sat Jun 06 10:17:30 2020 +0100
@@ -39,7 +39,7 @@
shipments = Shipment.search([
(field, '=', party.id),
('company', '=', company.id),
- ('state', 'not in', ['done', 'cancel']),
+ ('state', 'not in', ['done', 'cancelled']),
])
if shipments:
raise EraseError(
diff -r 7d936a1b8de2 -r 6646fb98fdfb party.xml
--- a/party.xml Thu Jun 04 11:08:53 2020 +0100
+++ b/party.xml Sat Jun 06 10:17:30 2020 +0100
@@ -15,7 +15,7 @@
<field name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')],
('customer', '=', Eval('active_id')), ('customer', 'in', Eval('active_ids')))]"
pyson="1"/>
- <field name="search_value" eval="[('state', 'not in', ['done',
'cancel'])]" pyson="1"/>
+ <field name="search_value" eval="[('state', 'not in', ['done',
'cancelled'])]" pyson="1"/>
</record>
<record model="ir.action.keyword"
id="act_open_purchase_keyword1">
@@ -35,7 +35,7 @@
<field name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')],
('supplier', '=', Eval('active_id')), ('supplier', 'in', Eval('active_ids')))]"
pyson="1"/>
- <field name="search_value" eval="[('state', 'not in', ['done',
'cancel'])]" pyson="1"/>
+ <field name="search_value" eval="[('state', 'not in', ['done',
'cancelled'])]" pyson="1"/>
</record>
<record model="ir.action.keyword"
id="act_open_purchase_keyword2">
diff -r 7d936a1b8de2 -r 6646fb98fdfb shipment.py
--- a/shipment.py Thu Jun 04 11:08:53 2020 +0100
+++ b/shipment.py Sat Jun 06 10:17:30 2020 +0100
@@ -24,7 +24,7 @@
@classmethod
def view_attributes(cls):
return [
- ('/tree', 'visual', If(Eval('state') == 'cancel', 'muted', '')),
+ ('/tree', 'visual', If(Eval('state') == 'cancelled', 'muted', '')),
]
@@ -34,7 +34,7 @@
_rec_name = 'number'
effective_date = fields.Date('Effective Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'done']),
},
depends=['state'],
help="When the stock was actually received.")
@@ -77,7 +77,7 @@
warehouse = fields.Many2One('stock.location', "Warehouse",
required=True, domain=[('type', '=', 'warehouse')],
states={
- 'readonly': (Eval('state').in_(['cancel', 'done'])
+ 'readonly': (Eval('state').in_(['cancelled', 'done'])
| Eval('incoming_moves', [0]) | Eval('inventory_moves', [0])),
}, depends=['state'],
help="Where the stock is received.")
@@ -107,7 +107,8 @@
('company', '=', Eval('company')),
],
states={
- 'readonly': (Eval('state').in_(['received', 'done', 'cancel'])
+ 'readonly': (
+ Eval('state').in_(['received', 'done', 'cancelled'])
| ~Eval('warehouse') | ~Eval('supplier')),
},
depends=['state', 'warehouse', 'supplier_location',
@@ -118,14 +119,14 @@
'Inventory Moves',
domain=[
('from_location', '=', Eval('warehouse_input')),
- If(~Eval('state').in_(['done', 'cancel']),
+ If(~Eval('state').in_(['done', 'cancelled']),
('to_location', 'child_of',
[Eval('warehouse_storage', -1)], 'parent'),
(),),
('company', '=', Eval('company')),
],
states={
- 'readonly': Eval('state').in_(['draft', 'done', 'cancel']),
+ 'readonly': Eval('state').in_(['draft', 'done', 'cancelled']),
'invisible': (
Eval('warehouse_input') == Eval('warehouse_storage')),
},
@@ -144,7 +145,7 @@
state = fields.Selection([
('draft', 'Draft'),
('done', 'Done'),
- ('cancel', 'Canceled'),
+ ('cancelled', 'Cancelled'),
('received', 'Received'),
], 'State', readonly=True,
help="The current state of the shipment.")
@@ -156,17 +157,17 @@
cls._transitions |= set((
('draft', 'received'),
('received', 'done'),
- ('draft', 'cancel'),
- ('received', 'cancel'),
- ('cancel', 'draft'),
+ ('draft', 'cancelled'),
+ ('received', 'cancelled'),
+ ('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
- 'invisible': Eval('state').in_(['cancel', 'done']),
+ 'invisible': Eval('state').in_(['cancelled', 'done']),
'depends': ['state'],
},
'draft': {
- 'invisible': Eval('state') != 'cancel',
+ 'invisible': Eval('state') != 'cancelled',
'depends': ['state'],
},
'receive': {
@@ -181,7 +182,9 @@
@classmethod
def __register__(cls, module_name):
+ cursor = Transaction().connection.cursor()
table = cls.__table_handler__(module_name)
+ sql_table = cls.__table__()
# Migration from 3.8: rename code into number
if table.column_exist('code'):
@@ -193,6 +196,11 @@
table = cls.__table_handler__(module_name)
table.index_action('create_date', action='add')
+ # Migration from 5.6: rename state cancel to cancelled
+ cursor.execute(*sql_table.update(
+ [sql_table.state], ['cancelled'],
+ where=sql_table.state == 'cancel'))
+
@staticmethod
def default_planned_date():
return Pool().get('ir.date').today()
@@ -393,7 +401,7 @@
# Cancel before delete
cls.cancel(shipments)
for shipment in shipments:
- if shipment.state != 'cancel':
+ if shipment.state != 'cancelled':
raise AccessError(
gettext('stock.msg_shipment_delete_cancel',
shipment=shipment.rec_name))
@@ -402,7 +410,7 @@
@classmethod
@ModelView.button
- @Workflow.transition('cancel')
+ @Workflow.transition('cancelled')
def cancel(cls, shipments):
Move = Pool().get('stock.move')
Move.cancel([m for s in shipments
@@ -455,7 +463,7 @@
_rec_name = 'number'
effective_date = fields.Date('Effective Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'done']),
},
depends=['state'],
help="When the stock was actually returned.")
@@ -520,7 +528,7 @@
('from_location', '=', Eval('from_location')),
('to_location', '=', Eval('to_location')),
],
- If(~Eval('state').in_(['done', 'cancel']), [
+ If(~Eval('state').in_(['done', 'cancelled']), [
('from_location', 'child_of',
[Eval('from_location', -1)], 'parent'),
('to_location', 'child_of',
@@ -536,7 +544,7 @@
done_by = employee_field("Done By")
state = fields.Selection([
('draft', 'Draft'),
- ('cancel', 'Canceled'),
+ ('cancelled', 'Cancelled'),
('assigned', 'Assigned'),
('waiting', 'Waiting'),
('done', 'Done'),
@@ -553,19 +561,19 @@
('waiting', 'draft'),
('assigned', 'done'),
('assigned', 'waiting'),
- ('draft', 'cancel'),
- ('waiting', 'cancel'),
- ('assigned', 'cancel'),
- ('cancel', 'draft'),
+ ('draft', 'cancelled'),
+ ('waiting', 'cancelled'),
+ ('assigned', 'cancelled'),
+ ('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
- 'invisible': Eval('state').in_(['cancel', 'done']),
+ 'invisible': Eval('state').in_(['cancelled', 'done']),
'depends': ['state'],
},
'draft': {
- 'invisible': ~Eval('state').in_(['waiting', 'cancel']),
- 'icon': If(Eval('state') == 'cancel',
+ 'invisible': ~Eval('state').in_(['waiting', 'cancelled']),
+ 'icon': If(Eval('state') == 'cancelled',
'tryton-undo',
If(Eval('state') == 'waiting',
'tryton-back',
@@ -592,7 +600,9 @@
@classmethod
def __register__(cls, module_name):
+ cursor = Transaction().connection.cursor()
table = cls.__table_handler__(module_name)
+ sql_table = cls.__table__()
# Migration from 3.8: rename code into number
if table.column_exist('code'):
@@ -604,6 +614,11 @@
table = cls.__table_handler__(module_name)
table.index_action('create_date', action='add')
+ # Migration from 5.6: rename state cancel to cancelled
+ cursor.execute(*sql_table.update(
+ [sql_table.state], ['cancelled'],
+ where=sql_table.state == 'cancel'))
+
@staticmethod
def default_state():
return 'draft'
@@ -674,7 +689,7 @@
# Cancel before delete
cls.cancel(shipments)
for shipment in shipments:
- if shipment.state != 'cancel':
+ if shipment.state != 'cancelled':
raise AccessError(
gettext('stock.msg_shipment_delete_cancel',
shipment=shipment.rec_name))
@@ -739,7 +754,7 @@
@classmethod
@ModelView.button
- @Workflow.transition('cancel')
+ @Workflow.transition('cancelled')
def cancel(cls, shipments):
Move = Pool().get('stock.move')
Move.cancel([m for s in shipments for m in s.moves])
@@ -786,7 +801,7 @@
_rec_name = 'number'
effective_date = fields.Date('Effective Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'done']),
},
depends=['state'],
help="When the stock was actually sent.")
@@ -846,7 +861,7 @@
],
states={
'readonly': ((Eval('state').in_(
- ['waiting', 'packed', 'done', 'cancel']))
+ ['waiting', 'packed', 'done', 'cancelled']))
| ~Eval('warehouse') | ~Eval('customer')),
},
depends=['state', 'warehouse', 'customer', 'warehouse_output',
@@ -865,7 +880,7 @@
],
states={
'readonly': Eval('state').in_(
- ['draft', 'assigned', 'packed', 'done', 'cancel']),
+ ['draft', 'assigned', 'packed', 'done', 'cancelled']),
'invisible': (
Eval('warehouse_storage') == Eval('warehouse_output')),
},
@@ -885,7 +900,7 @@
state = fields.Selection([
('draft', 'Draft'),
('done', 'Done'),
- ('cancel', 'Canceled'),
+ ('cancelled', 'Cancelled'),
('assigned', 'Assigned'),
('packed', 'Packed'),
('waiting', 'Waiting'),
@@ -905,20 +920,20 @@
('assigned', 'waiting'),
('waiting', 'waiting'),
('waiting', 'draft'),
- ('draft', 'cancel'),
- ('waiting', 'cancel'),
- ('assigned', 'cancel'),
- ('packed', 'cancel'),
- ('cancel', 'draft'),
+ ('draft', 'cancelled'),
+ ('waiting', 'cancelled'),
+ ('assigned', 'cancelled'),
+ ('packed', 'cancelled'),
+ ('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
- 'invisible': Eval('state').in_(['cancel', 'done']),
+ 'invisible': Eval('state').in_(['cancelled', 'done']),
'depends': ['state'],
},
'draft': {
- 'invisible': ~Eval('state').in_(['waiting', 'cancel']),
- 'icon': If(Eval('state') == 'cancel',
+ 'invisible': ~Eval('state').in_(['waiting', 'cancelled']),
+ 'icon': If(Eval('state') == 'cancelled',
'tryton-undo',
If(Eval('state') == 'waiting',
'tryton-back',
@@ -957,7 +972,9 @@
@classmethod
def __register__(cls, module_name):
+ cursor = Transaction().connection.cursor()
table = cls.__table_handler__(module_name)
+ sql_table = cls.__table__()
# Migration from 3.8: rename code into number
if table.column_exist('code'):
@@ -968,6 +985,11 @@
# Add index on create_date
table.index_action('create_date', action='add')
+ # Migration from 5.6: rename state cancel to cancelled
+ cursor.execute(*sql_table.update(
+ [sql_table.state], ['cancelled'],
+ where=sql_table.state == 'cancel'))
+
@staticmethod
def default_state():
return 'draft'
@@ -1215,7 +1237,7 @@
@classmethod
@ModelView.button
- @Workflow.transition('cancel')
+ @Workflow.transition('cancelled')
def cancel(cls, shipments):
Move = Pool().get('stock.move')
Move.cancel([m for s in shipments
@@ -1296,7 +1318,7 @@
# Cancel before delete
cls.cancel(shipments)
for shipment in shipments:
- if shipment.state != 'cancel':
+ if shipment.state != 'cancelled':
raise AccessError(
gettext('stock.msg_shipment_delete_cancel',
shipment=shipment.rec_name))
@@ -1347,7 +1369,7 @@
_rec_name = 'number'
effective_date = fields.Date('Effective Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'done']),
},
depends=['state'],
help="When the stock was returned.")
@@ -1427,7 +1449,7 @@
('company', '=', Eval('company')),
],
states={
- 'readonly': Eval('state').in_(['draft', 'cancel', 'done']),
+ 'readonly': Eval('state').in_(['draft', 'cancelled', 'done']),
'invisible': (
Eval('warehouse_input') == Eval('warehouse_storage')),
},
@@ -1446,7 +1468,7 @@
state = fields.Selection([
('draft', 'Draft'),
('done', 'Done'),
- ('cancel', 'Canceled'),
+ ('cancelled', 'Cancelled'),
('received', 'Received'),
], 'State', readonly=True,
help="The current state of the shipment.")
@@ -1459,17 +1481,17 @@
('draft', 'received'),
('received', 'done'),
('received', 'draft'),
- ('draft', 'cancel'),
- ('received', 'cancel'),
- ('cancel', 'draft'),
+ ('draft', 'cancelled'),
+ ('received', 'cancelled'),
+ ('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
- 'invisible': Eval('state').in_(['cancel', 'done']),
+ 'invisible': Eval('state').in_(['cancelled', 'done']),
'depends': ['state'],
},
'draft': {
- 'invisible': Eval('state') != 'cancel',
+ 'invisible': Eval('state') != 'cancelled',
'depends': ['state'],
},
'receive': {
@@ -1484,7 +1506,9 @@
@classmethod
def __register__(cls, module_name):
+ cursor = Transaction().connection.cursor()
table = cls.__table_handler__(module_name)
+ sql_table = cls.__table__()
# Migration from 3.8: rename code into number
if table.column_exist('code'):
@@ -1496,6 +1520,11 @@
table = cls.__table_handler__(module_name)
table.index_action('create_date', action='add')
+ # Migration from 5.6: rename state cancel to cancelled
+ cursor.execute(*sql_table.update(
+ [sql_table.state], ['cancelled'],
+ where=sql_table.state == 'cancel'))
+
@staticmethod
def default_state():
return 'draft'
@@ -1650,7 +1679,7 @@
# Cance before delete
cls.cancel(shipments)
for shipment in shipments:
- if shipment.state != 'cancel':
+ if shipment.state != 'cancelled':
raise AccessError(
gettext('stock.msg_shipment_delete_cancel',
shipment=shipment.rec_name))
@@ -1697,7 +1726,7 @@
@classmethod
@ModelView.button
- @Workflow.transition('cancel')
+ @Workflow.transition('cancelled')
def cancel(cls, shipments):
Move = Pool().get('stock.move')
Move.cancel([m for s in shipments
@@ -1796,7 +1825,7 @@
_rec_name = 'number'
effective_date = fields.Date('Effective Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'done']),
},
depends=['state'],
help="When the shipment was actually completed.")
@@ -1807,7 +1836,7 @@
help="When the shipment is expected to be completed.")
effective_start_date = fields.Date('Effective Start Date',
states={
- 'readonly': Eval('state').in_(['cancel', 'shipped', 'done']),
+ 'readonly': Eval('state').in_(['cancelled', 'shipped', 'done']),
},
depends=['state'],
help="When the stock was actually sent.")
@@ -1859,7 +1888,7 @@
'on_change_with_transit_location')
moves = fields.One2Many('stock.move', 'shipment', 'Moves',
states={
- 'readonly': (Eval('state').in_(['cancel', 'assigned', 'done'])
+ 'readonly': (Eval('state').in_(['cancelled', 'assigned', 'done'])
| ~Eval('from_location') | ~Eval('to_location')),
'invisible': (Bool(Eval('transit_location'))
& ~Eval('state').in_(['request', 'draft'])),
@@ -1869,7 +1898,7 @@
('from_location', '=', Eval('from_location')),
('to_location', '=', Eval('to_location')),
],
- If(~Eval('state').in_(['done', 'cancel']),
+ If(~Eval('state').in_(['done', 'cancelled']),
If(~Eval('transit_location'),
[
('from_location', 'child_of',
@@ -1911,7 +1940,7 @@
],
states={
'readonly': Eval('state').in_(
- ['assigned', 'shipped', 'done', 'cancel']),
+ ['assigned', 'shipped', 'done', 'cancelled']),
'invisible': (~Eval('transit_location')
| Eval('state').in_(['request', 'draft'])),
},
@@ -1922,7 +1951,7 @@
incoming_moves = fields.Function(fields.One2Many('stock.move', 'shipment',
'Incoming Moves',
domain=[
- If(~Eval('state').in_(['done', 'cancel']), [
+ If(~Eval('state').in_(['done', 'cancelled']), [
If(~Eval('transit_location'),
('from_location', 'child_of',
[Eval('from_location', -1)], 'parent'),
@@ -1933,7 +1962,7 @@
[]),
],
states={
- 'readonly': Eval('state').in_(['done', 'cancel']),
+ 'readonly': Eval('state').in_(['done', 'cancelled']),
'invisible': (~Eval('transit_location')
| Eval('state').in_(['request', 'draft'])),
},
@@ -1947,7 +1976,7 @@
state = fields.Selection([
('request', 'Request'),
('draft', 'Draft'),
- ('cancel', 'Canceled'),
+ ('cancelled', 'Cancelled'),
('waiting', 'Waiting'),
('assigned', 'Assigned'),
('shipped', 'Shipped'),
@@ -1969,22 +1998,22 @@
('shipped', 'done'),
('waiting', 'draft'),
('assigned', 'waiting'),
- ('request', 'cancel'),
- ('draft', 'cancel'),
- ('waiting', 'cancel'),
- ('assigned', 'cancel'),
- ('cancel', 'draft'),
+ ('request', 'cancelled'),
+ ('draft', 'cancelled'),
+ ('waiting', 'cancelled'),
+ ('assigned', 'cancelled'),
+ ('cancelled', 'draft'),
))
cls._buttons.update({
'cancel': {
'invisible': Eval('state').in_(
- ['cancel', 'shipped', 'done']),
+ ['cancelled', 'shipped', 'done']),
'depends': ['state'],
},
'draft': {
'invisible': ~Eval('state').in_(
- ['cancel', 'request', 'waiting']),
- 'icon': If(Eval('state') == 'cancel',
+ ['cancelled', 'request', 'waiting']),
+ 'icon': If(Eval('state') == 'cancelled',
'tryton-undo',
If(Eval('state') == 'request',
'tryton-forward',
@@ -2045,6 +2074,11 @@
table = cls.__table_handler__(module_name)
table.index_action('create_date', action='add')
+ # Migration from 5.6: rename state cancel to cancelled
+ cursor.execute(*sql_table.update(
+ [sql_table.state], ['cancelled'],
+ where=sql_table.state == 'cancel'))
+
@staticmethod
def default_state():
return 'draft'
@@ -2126,7 +2160,7 @@
# Cancel before delete
cls.cancel(shipments)
for shipment in shipments:
- if shipment.state != 'cancel':
+ if shipment.state != 'cancelled':
raise AccessError(
gettext('stock.msg_shipment_delete_cancel',
shipment=shipment.rec_name))
@@ -2337,7 +2371,7 @@
@classmethod
@ModelView.button
- @Workflow.transition('cancel')
+ @Workflow.transition('cancelled')
def cancel(cls, shipments):
Move = Pool().get('stock.move')
Move.cancel([m for s in shipments for m in s.moves])