添加状态 "pending to approve" Odoo 12
Add status "pending to approve" Odoo 12
我想添加报价的状态,我看到开头有3个:报价、预算发送和销售订单通知。我需要添加一个状态 "pending to approve" 只有管理用户批准它。我知道我可以通过继承做什么,但是模型在哪里,我应该将哪个模块作为依赖项。
有人可以帮我吗?
更新:我已经找到了。我已经找到了我想要添加更多状态的字段。但是,作为新手,我无法理解所有这些代码。有人可以给我解释一下吗?
state = fields.Selection([
('draft', 'Quotation'),
('sent', 'Quotation Sent'),
('sale', 'Sales Order'),
('done', 'Locked'),
('cancel', 'Cancelled'),
], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', track_sequence=3, $
date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [$
validity_date = fields.Date(string='Validity', readonly=True, copy=False, states={'draft': [('readonly', False$
help="Validity date of the quotation, after this date, the customer won't be able to validate the quotatio$
is_expired = fields.Boolean(compute='_compute_is_expired', string="Is expired")
报价是尚未确认的销售订单。您可以从多个提示中检查记录模型,例如:
- 从 URL 开始,一旦您转到引文菜单,您将获得 url,就像关注
/web?#view_type=list&model=sale.order&action=264&menu_id=166
一样。这里的模型参数是model=sale.order
,所以你必须寻找sale.order
. 的模型定义
- 转到您需要的视图,单击调试菜单 -> 编辑操作,查找字段对象,在本例中也是如此
sale.order
。
获得需要处理的模型后,您可以通过搜索 _name.*sale.order
或将 sale.order
替换为您需要继承的任何模型来查找模型定义。
在这种特殊情况下,您需要的模块在 sale
模块中定义。因此,您可以从继承 sale.order
并将 sale
作为您的自定义模块依赖项开始。另外请记住,odoo 内置模块有时会被继承,因此在某些情况下,您可能想要继承模型的功能,但您想要继承的 fields
或 views
是在子项中定义的sale
的模块,例如 sale.order
模型的一些功能是通过继承在 sale_stock
模块中定义的。在这种情况下,您必须将 sale_stock
设置为依赖项。
我想添加报价的状态,我看到开头有3个:报价、预算发送和销售订单通知。我需要添加一个状态 "pending to approve" 只有管理用户批准它。我知道我可以通过继承做什么,但是模型在哪里,我应该将哪个模块作为依赖项。
有人可以帮我吗?
更新:我已经找到了。我已经找到了我想要添加更多状态的字段。但是,作为新手,我无法理解所有这些代码。有人可以给我解释一下吗?
state = fields.Selection([
('draft', 'Quotation'),
('sent', 'Quotation Sent'),
('sale', 'Sales Order'),
('done', 'Locked'),
('cancel', 'Cancelled'),
], string='Status', readonly=True, copy=False, index=True, track_visibility='onchange', track_sequence=3, $
date_order = fields.Datetime(string='Order Date', required=True, readonly=True, index=True, states={'draft': [$
validity_date = fields.Date(string='Validity', readonly=True, copy=False, states={'draft': [('readonly', False$
help="Validity date of the quotation, after this date, the customer won't be able to validate the quotatio$
is_expired = fields.Boolean(compute='_compute_is_expired', string="Is expired")
报价是尚未确认的销售订单。您可以从多个提示中检查记录模型,例如:
- 从 URL 开始,一旦您转到引文菜单,您将获得 url,就像关注
/web?#view_type=list&model=sale.order&action=264&menu_id=166
一样。这里的模型参数是model=sale.order
,所以你必须寻找sale.order
. 的模型定义
- 转到您需要的视图,单击调试菜单 -> 编辑操作,查找字段对象,在本例中也是如此
sale.order
。
获得需要处理的模型后,您可以通过搜索 _name.*sale.order
或将 sale.order
替换为您需要继承的任何模型来查找模型定义。
在这种特殊情况下,您需要的模块在 sale
模块中定义。因此,您可以从继承 sale.order
并将 sale
作为您的自定义模块依赖项开始。另外请记住,odoo 内置模块有时会被继承,因此在某些情况下,您可能想要继承模型的功能,但您想要继承的 fields
或 views
是在子项中定义的sale
的模块,例如 sale.order
模型的一些功能是通过继承在 sale_stock
模块中定义的。在这种情况下,您必须将 sale_stock
设置为依赖项。