콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
3 답글
7470 화면

I want a popup when a user is saving for example a product. I tried to override the write method but it didn't work. So I'm returning a new action but it gets ignored. Any ideas on this ? 

write:

def write(self, vals):
res = super(ProductTemplate, self).write(vals)
if vals:
# call popup window action:
view_item = [(self.env.ref('versioning.versioning_text_wizard_view').id, 'form')]
view = self.env.ref('versioning.versioning_text_wizard_view')
return {
'name': 'Versioning Text',
'view_type': 'form',
'view_mode': 'form',
'view_id': view.id,
'res_model': 'product.template',
'views': view_item,
'type': 'ir.actions.act_window',
'target': 'new',
}
return res

Thank you

아바타
취소
작성자

no information about this? any other solutions?

You can not add two return method for same method

베스트 답변

Odoo framework does not allow to return any action/wizard from ORM methods like create/write/search, etc.

You will have to change your requirement and look for other ways to open a popup wizard like from the button.

아바타
취소
베스트 답변

Hi, you can follow following link for this:

https://youtu.be/oMnHpHH54QU

Thanks

아바타
취소
베스트 답변

why not you can raise the wizard using the exception RedirectWarning.


from odoo.exceptions import RedirectWarning

@api.model
def create(self, vals):
res = super().create(vals)
 wizrd_action_id = self.env.ref('stock_move_location.wiz_stock_quant_location_action')
msg = "Are You sure! "
raise RedirectWarning(msg, wizrd_action_id.id, _('Go to the wizard'),
{'active_id': self._origin.id,})
아바타
취소
관련 게시물 답글 화면 활동
0
1월 25
1257
1
3월 15
5530
0
3월 15
3900
0
7월 25
350
0
5월 24
1091