Hello, i'd like to get a value in a confirmation dialog box in odoo. I have a form with a select. When I choose a value in the select and click the save button, I have a diablog box with a message. In this message i'd like to get the selected value. An idea ? |
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Accounting
- Inventory
- PoS
- Project management
- MRP
This question has been flagged
You could create an wizard to display that message with one html field that contains the message, like this example I have created in the old api:
from openerp.tools.translate import _
from openerp.osv import fields, osv
class dialog_box(osv.osv_memory):
_name = 'dialog.box'
_description = 'dialog.box'
_columns = {
'title': fields.char(string="Title", size=100, readonly=True),
'message': fields.text(string="Message", readonly=True),
}
_req_name = 'title'
def _get_view_id(self, cr, uid):
"""Get the view id
@return: view id, or False if no view found
"""
res = self.pool.get('ir.model.data').get_object_reference(cr, uid,
'web_ext', 'dialog_box_form')
return res and res[1] or False
def message(self, cr, uid, id, context):
message = self.browse(cr, uid, id)
self.__logger.info('%s: %s' % (message.title, message.message))
res = {
'name': '%s' % _(message.title),
'view_type': 'form',
'view_mode': 'form',
'view_id': self._get_view_id(cr, uid),
'res_model': 'dialog.box',
'domain': [],
'context': context,
'type': 'ir.actions.act_window',
'target': 'new',
'res_id': message.id,
'options': {'width': 400},
}
return res
def show_confirm(self, cr, uid, data, context=None):
id = self.create(cr, uid, data)
res = self.message(cr, uid, id, context)
return res
dialog_box()
To use it you just need to call:<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<record id="dialog_box_form" model="ir.ui.view">
<field name="name">dialog.box.form</field>
<field name="model">dialog.box</field>
<field eval="20" name="priority"/>
<field name="arch" type="xml">
<form string="Warning">
<field name="message" nolabel="1" widget="html"/>
<footer>
<button string="Ok" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
</data>
</openerp>
return self.pool.get('dialog.box').show_confirm(cr, uid, {'message': 'hello world', 'title': 'test'})
and it will display a confirmation window with the provided message and titlethanks but are you sure your code works ? I cannot see the message into the dialog box :(
The dialog box will show the field message, that will take the value that you pass in the show_confirm method call, you could put it there the value you need too, even html, for the example I pass 'hello world' and that is what will display the dialog box
May be this will helpful
this will not fit for what asked in question
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Sign up
Display confirmation display box / message box on button click: http://learnopenerp.blogspot.com/2017/12/how-to-display-confirmation-display-box.html