From e1e9aae8ac20f36a8ded160db11c0d01ef6b1452 Mon Sep 17 00:00:00 2001 From: "Jay (Open ERP)" Date: Wed, 28 Oct 2009 20:39:40 +0530 Subject: [PATCH] [FIX] Warning : Onchange Methods were malfunctioned.Corrected and made messages available for translations lp bug: https://launchpad.net/bugs/454536 fixed bzr revid: jvo@tinyerp.com-20091028150940-04nvtjkwk6htithx --- addons/warning/warning.py | 89 +++++++++++++++++++++++++-------------- 1 file changed, 58 insertions(+), 31 deletions(-) diff --git a/addons/warning/warning.py b/addons/warning/warning.py index c5ee7106851..3a8d9f53fb9 100644 --- a/addons/warning/warning.py +++ b/addons/warning/warning.py @@ -29,7 +29,7 @@ WARNING_MESSAGE = [ ('block','Blocking Message') ] -WARNING_HELP = 'Selecting the "Warning" option will notify user with the message, Selecting "Blocking Message" will throw an exception with the message and block the flow. The Message has to be written in the next field.' +WARNING_HELP = _('Selecting the "Warning" option will notify user with the message, Selecting "Blocking Message" will throw an exception with the message and block the flow. The Message has to be written in the next field.') class res_partner(osv.osv): _inherit = 'res.partner' @@ -64,20 +64,21 @@ class sale_order(osv.osv): partner = self.pool.get('res.partner').browse(cr, uid, part) if partner.sale_warn != 'no-message': if partner.sale_warn == 'block': - raise osv.except_osv(_('Alert for ' + partner.name +' !'), partner.sale_warn_msg) - + raise osv.except_osv(_('Alert for %s !') % (partner.name), partner.sale_warn_msg) + title = _("Warning for %s") % partner.name + message = partner.sale_warn_msg warning = { - 'title': "Warning for " + partner.name, - 'message': partner.sale_warn_msg + 'title': title, + 'message': message, } - result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part)['value'] + result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part) if result.get('warning',False): warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title'] warning['message'] = message and message + ' ' + result['warning']['message'] or result['warning']['message'] - return {'value': result, 'warning':warning} + return {'value': result['value'], 'warning':warning} sale_order() @@ -87,17 +88,25 @@ class purchase_order(osv.osv): if not part: return {'value':{'partner_address_id': False}} warning = {} + title = False + message = False partner = self.pool.get('res.partner').browse(cr, uid, part) if partner.purchase_warn != 'no-message': if partner.purchase_warn == 'block': - raise osv.except_osv(_('Alert for ' + partner.name +' !'), partner.purchase_warn_msg) - + raise osv.except_osv(_('Alert for %s !') % (partner.name), partner.purchase_warn_msg) + title = _("Warning for %s") % partner.name + message = partner.purchase_warn_msg warning = { - 'title': "Warning for " + partner.name, - 'message': partner.purchase_warn_msg + 'title': title, + 'message': message } - result = super(purchase_order, self).onchange_partner_id(cr, uid, ids, part)['value'] - return {'value': result, 'warning':warning} + result = super(purchase_order, self).onchange_partner_id(cr, uid, ids, part) + + if result.get('warning',False): + warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title'] + warning['message'] = message and message + ' ' + result['warning']['message'] or result['warning']['message'] + + return {'value': result['value'], 'warning':warning} purchase_order() @@ -116,17 +125,27 @@ class account_invoice(osv.osv): } } warning = {} + title = False + message = False partner = self.pool.get('res.partner').browse(cr, uid, partner_id) if partner.invoice_warn != 'no-message': if partner.invoice_warn == 'block': - raise osv.except_osv(_('Alert for ' + partner.name +' !'), partner.invoice_warn_msg) + raise osv.except_osv(_('Alert for %s !') % (partner.name), partner.invoice_warn_msg) + + title = _("Warning for %s") % partner.name + message = partner.invoice_warn_msg warning = { - 'title': "Warning for " + partner.name, - 'message': partner.invoice_warn_msg + 'title': title, + 'message': message } result = super(account_invoice, self).onchange_partner_id(cr, uid, ids, type, partner_id, - date_invoice=False, payment_term=False, partner_bank_id=False)['value'] - return {'value': result, 'warning':warning} + date_invoice=False, payment_term=False, partner_bank_id=False) + + if result.get('warning',False): + warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title'] + warning['message'] = message and message + ' ' + result['warning']['message'] or result['warning']['message'] + + return {'value': result['value'], 'warning':warning} account_invoice() @@ -138,15 +157,23 @@ class stock_picking(osv.osv): return {} partner = self.pool.get('res.partner.address').browse(cr, uid, [partner_id])[0].partner_id warning = {} + title = False + message = False if partner.picking_warn != 'no-message': if partner.picking_warn == 'block': - raise osv.except_osv(_('Alert for ' + partner.name +' !'), partner.picking_warn_msg) + raise osv.except_osv(_('Alert for %s !') % (partner.name), partner.picking_warn_msg) + title = _("Warning for %s") % partner.name + message = partner.picking_warn_msg warning = { - 'title': "Warning for " + partner.name, - 'message': partner.picking_warn_msg + 'title': title, + 'message': message } result = super(stock_picking, self).onchange_partner_in(cr, uid, context, partner_id) - return {'value': result, 'warning':warning} + if result.get('warning',False): + warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title'] + warning['message'] = message and message + ' ' + result['warning']['message'] or result['warning']['message'] + + return {'value': result['value'], 'warning':warning} stock_picking() @@ -184,8 +211,8 @@ class sale_order_line(osv.osv): if product_info.sale_line_warn != 'no-message': if product_info.sale_line_warn == 'block': - raise osv.except_osv(_('Alert for ' + product_info.name +' !'), product_info.sale_line_warn_msg) - title = "Warning for " + product_info.name + raise osv.except_osv(_('Alert for %s !') % (product_info.name), product_info.sale_line_warn_msg) + title = _("Warning for %s") % product_info.name message = product_info.sale_line_warn_msg warning['title'] = title warning['message'] = message @@ -193,12 +220,12 @@ class sale_order_line(osv.osv): result = super(sale_order_line, self).product_id_change( cr, uid, ids, pricelist, product, qty, uom, qty_uos, uos, name, partner_id, lang, update_tax, date_order, packaging, fiscal_position, flag) - if title and message: - warning['title']=title[0] - warning['message']=message +# if title and message: +# warning['title'] = title +# warning['message']= message if result.get('warning',False): - warning['title'] = title and title[0]+' & '+result['warning']['title'] or result['warning']['title'] + warning['title'] = title and title +' & '+result['warning']['title'] or result['warning']['title'] warning['message'] = message and message +'\n\n'+result['warning']['message'] or result['warning']['message'] return {'value': result['value'], 'warning':warning} @@ -219,8 +246,8 @@ class purchase_order_line(osv.osv): if product_info.purchase_line_warn != 'no-message': if product_info.purchase_line_warn == 'block': - raise osv.except_osv(_('Alert for ' + product_info.name +' !'), product_info.purchase_line_warn_msg) - title = "Warning for " + product_info.name + raise osv.except_osv(_('Alert for %s !') % (product_info.name), product_info.purchase_line_warn_msg) + title = _("Warning for %s") % product_info.name message = product_info.purchase_line_warn_msg warning['title'] = title warning['message'] = message @@ -229,7 +256,7 @@ class purchase_order_line(osv.osv): partner_id, date_order, fiscal_position) if result.get('warning',False): - warning['title'] = title and title[0]+' & '+result['warning']['title'] or result['warning']['title'] + warning['title'] = title and title +' & '+result['warning']['title'] or result['warning']['title'] warning['message'] = message and message +'\n\n'+result['warning']['message'] or result['warning']['message'] return {'value': result['value'], 'warning':warning}