Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
1 Ответить
12228 Представления

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

Аватар
Отменить
Лучший ответ

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

Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
июл. 23
3012
2
июл. 22
9177
1
мая 22
3143
1
июн. 21
2452
2
февр. 21
299