Raphael Collet (OpenERP) has proposed merging
lp:~openerp-dev/openobject-server/trunk-res_rml_footer-rco into
lp:openobject-server.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-res_rml_footer-rco/+merge/124169
Reimplement a decent onchange method on res.company to generate the rml_footer.
--
https://code.launchpad.net/~openerp-dev/openobject-server/trunk-res_rml_footer-rco/+merge/124169
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-server/trunk-res_rml_footer-rco.
=== modified file 'openerp/addons/base/res/res_bank.py'
--- openerp/addons/base/res/res_bank.py 2012-09-11 14:44:28 +0000
+++ openerp/addons/base/res/res_bank.py 2012-09-13 11:47:17 +0000
@@ -172,37 +172,35 @@
('required', field.required)]
return res
- def _prepare_name_get(self, cr, uid, bank_type_obj, bank_obj, context=None):
- """
- Format the name of a res.partner.bank.
- This function is designed to be inherited to add replacement fields.
- :param browse_record bank_type_obj: res.partner.bank.type object
- :param browse_record bank_obj: res.partner.bank object
- :rtype: str
- :return: formatted name of a res.partner.bank record
- """
- return bank_type_obj.format_layout % bank_obj._data[bank_obj.id]
+ def _prepare_name_get(self, cr, uid, bank_dicts, context=None):
+ """ Format the name of a res.partner.bank.
+ This function is designed to be inherited to add replacement fields.
+ :param bank_dicts: a list of res.partner.bank dicts, as returned by the method read()
+ :return: [(id, name), ...], as returned by the method name_get()
+ """
+ # prepare a mapping {code: format_layout} for all bank types
+ bank_type_obj = self.pool.get('res.partner.bank.type')
+ bank_types = bank_type_obj.browse(cr, uid, bank_type_obj.search(cr, uid, []), context=context)
+ bank_code_format = dict((bt.code, bt.format_layout) for bt in bank_types)
+
+ res = []
+ for data in bank_dicts:
+ name = data['acc_number']
+ if data['state'] and bank_code_format.get(data['state']):
+ try:
+ if not data.get('bank_name'):
+ data['bank_name'] = _('BANK')
+ name = bank_code_format[data['state']] % data
+ except Exception:
+ raise osv.except_osv(_("Formating Error"), _("Invalid Bank Account Type Name format."))
+ res.append((data['id'], name))
+ return res
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
- bank_type_obj = self.pool.get('res.partner.bank.type')
- res = []
- for val in self.browse(cr, uid, ids, context=context):
- result = val.acc_number
- if val.state:
- type_ids = bank_type_obj.search(cr, uid, [('code','=',val.state)])
- if type_ids:
- t = bank_type_obj.browse(cr, uid, type_ids[0], context=context)
- try:
- # avoid the default format_layout to result in "False: ..."
- if not val._data[val.id]['bank_name']:
- val._data[val.id]['bank_name'] = _('BANK')
- result = self._prepare_name_get(cr, uid, t, val, context=context)
- except Exception:
- raise osv.except_osv(_("Formating Error"), _("Invalid Bank Account Type Name format."))
- res.append((val.id, result))
- return res
+ bank_dicts = self.read(cr, uid, ids, context=context)
+ return self._prepare_name_get(cr, uid, bank_dicts, context=context)
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
result = {}
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp