Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
1 Responder
12212 Visualizações

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

Avatar
Cancelar
Melhor resposta

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

Avatar
Cancelar
Publicações relacionadas Respostas Visualizações Atividade
1
jul. 23
3007
2
jul. 22
9163
1
mai. 22
3125
1
jun. 21
2449
2
fev. 21
299