Skip to Content
Menu
This question has been flagged
1 Atsakyti
12230 Rodiniai

@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}

Portretas
Atmesti
Best Answer

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

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
liep. 23
3012
2
liep. 22
9177
1
geg. 22
3143
1
birž. 21
2452
2
vas. 21
299