@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:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
1
Reply
11405
Views
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
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign upRelated Posts | Replies | Views | Activity | |
---|---|---|---|---|
|
1
Jul 23
|
1736 | ||
|
2
Jul 22
|
7659 | ||
|
1
May 22
|
1970 | ||
|
1
Jun 21
|
1204 | ||
[SOLVED] Get related field
Solved
|
|
2
Feb 21
|
299 |