Как открыть существующую запись в режиме редактирования в Odoo 10? - PullRequest
0 голосов
/ 12 сентября 2018

Я не могу открыть существующую запись в режиме редактирования.Это возвращение метода Python, который открывает представление формы записи:

@api.multi
def open_view(self):
    return {
        'name': _('My Wizard'),
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'my.model',
        'target': 'current',
        'res_id': self.id,
    }

И я попытался (безуспешно) добавить в словарь возврата следующие ключи:

Опция флага mode

'flags': {
    'form': {
        'options': {
            'mode': 'edit',
        },
    }
},

Ничего не происходит, я думаю, это работает, только если отсутствует ключ res_id.

Опция флага initial_mode

'flags': {
    'form': {
        'options': {
            'initial_mode': 'edit',
        },
    }
},

То же, что и mode.

Контекстные клавиши form_view_initial_mode и force_detailed_view

'context': {
    'form_view_initial_mode': 'edit',
    'force_detailed_view': 'true'
},

Они тоже ничего не делают, похоже, они работают только в версии 11.

Цель inline

'target': 'inline',

Это единственный, который работает, но он делает исчезающие кнопки «Создать» и «Редактировать» в верхней части формы, и я не хочу этого.

В заключение мне нужно открыть существующую запись в режиме редактирования и с помощью 'target': 'current', чтобы иметь кнопки общей формы и быть похожей на обычную форму (не всплывающее окно).

Кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 12 сентября 2018

'flags': {'initial_mode': 'edit'} должно работать в Odoo V10.

Я пробовал это с действием сервера на hr.employee с фоллинг-кодом.Я добавил действие в меню «Больше / действие», открыл сотрудника в виде формы и запустил действие.

action ={
        'type': 'ir.actions.act_window',
        'view_type': 'form',
        'view_mode': 'form',
        'res_model': 'hr.employee',
        'target': 'current',
        'res_id': record.id,
        'flags': {'initial_mode': 'edit'}
    }
...