Начальный режим формы
Когда Вы кликаете строчку в списочном виде (tree view), открывается вид формы в режиме чтения.
Когда в виде списка Вы кликаете в кнопку Создать
, открывается форма создания
новой записи в режиме редактирования (а как иначе? :-)
Но иногда с точки зрения юзабилити или по другим причинам необходимо сделать так, чтобы при переходе из вида списка в вид формы последняя открылась сразу в режиме редактирования.
Делается это при помощи опции формы initial_mode
. Возможные значения: view
или edit
.
Данная опция доступна во всех вериях Odoo, но в разных версиях работает по-разному.
10.0
В данной версии это работает при декларации формы (и по словам разработчиков, это случайно), пример:
<form options="{'initial_mode': 'edit'}">
Если переход в другую форму делается из кода, то используется такая форма:
return { 'name': action.name, 'help': action.help, 'type': action.type, 'views': [(form_id, 'form')], 'view_mode': 'action.view_mode', 'target': action.target, 'context': action.context, 'res_model': action.res_model, 'flags': {'initial_mode': 'edit'}, 'res_id': record.id }
11.0, 12.0, ...
В следующих после 10.0 версиях Odoo необходимо использовать context
. Например:
context = dict(self.env.context) context['form_view_initial_mode'] = 'edit' return { 'type': 'ir.actions.act_window', 'view_type': 'form', 'view_mode': 'form', 'res_model': 'your.model', 'res_id': your_object_id, 'context': context, }
🙈