@api.multi
def action_undo_history(self):
history_obj = self.env['membership.history']
for reg in self:
history_ids = history_obj.search([('name_id', '=', reg.name_id.id)], history_ids[0].date)
history_ids = self.env['membership.history'].search([('name_id', '=', reg.name_id.id)], order='date desc')
current_state = reg.name_id.state
history_state = reg.state_new
if history_ids[0] == reg and current_state == history_state:
reg.name_id.state == reg.state_old
else :
message = _("Only the latest history can be cancelled !")
mess= {
'title': _('Error : Cancelling State'),
'message' : message
}
return {'warning': mess}
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
1
回复
12202
查看
Hi,
You are getting this error because you are accessing the value from the field named history_ids in this line of the code before defining the field.
history_ids = history_obj.search([('name_id', '=', reg.name_id.id)], history_ids[0].date)
but, you haven't assigned what value should that variable hold. You should update your code such a way that you have to define the variable before using it.
for reg in self:
history_ids = ?
history_ids = history_obj.search([('name_id', '=', reg.name_id.id)], history_ids[0].date)
history_ids = self.env['membership.history'].search([('name_id', '=', reg.name_id.id)], order='date desc')
Thanks
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
1
7月 23
|
3005 | ||
|
2
7月 22
|
9155 | ||
|
1
5月 22
|
3118 | ||
|
1
6月 21
|
2448 | ||
|
2
2月 21
|
299 |