Я думаю, что понял вас, но разве вы не можете просто открыть свое всплывающее окно с action_buttons
, установленным на False , чтобы использовать только свои собственные кнопки?
@api.multi
def add_item(self):
# for record in self:
return {
"type": "ir.actions.act_window",
"name": "Add Item",
"res_model": "quotation.line",
"view_type": "form",
"view_mode": "form",
"view_id": self.env.ref("prescription.view_quotation_line_form",False).id,
"target": "new",
"flags": {"form": {"action_buttons": False}},
"context": {
"default_quotation_id": self.id,
},
}
Таким образом, пользователи будут иметь возможность только нажимать на ваши кнопки, а вы можете закрыть всплывающее окно в методе save_item
.
EDIT
После прочтения ваших комментариев я понимаю, что вы хотите избавиться от своих кнопок при редактировании записи, потому что в этом случае вы видите 4 кнопки, по умолчанию и вашу. И при создании у вас нет этой проблемы. Я предполагаю, что вы создали свою собственную кнопку Добавить элемент , и вы не позволяете пользователям использовать стандартную кнопку One2many Добавить элемент или что-то в этом роде. Попробуйте с этим тогда
...
<field name="id" invisible="1"/>
...
<footer attrs="{'invisible': [('id', '!=', False)]}">
<button name="save_item" string="Save" type="object" class="oe_highlight" />
<button string="Cancel" special="cancel" class="oe_highlight" />
</footer>