[FIX] account_invoice: using has_group to determine if user has group group_supplier_...
authorDenis Ledoux <dle@odoo.com>
Thu, 9 Oct 2014 16:56:21 +0000 (18:56 +0200)
committerDenis Ledoux <dle@odoo.com>
Thu, 9 Oct 2014 16:57:37 +0000 (18:57 +0200)
has_group do not care about the fact res.groups is access restricted

addons/account/account_invoice.py

index 25e6cba..9390e2c 100644 (file)
@@ -925,9 +925,7 @@ class account_invoice(osv.osv):
             self.check_tax_lines(cr, uid, inv, compute_taxes, ait_obj)
 
             # I disabled the check_total feature
-            group_check_total_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'group_supplier_inv_check_total')[1]
-            group_check_total = self.pool.get('res.groups').browse(cr, uid, group_check_total_id, context=context)
-            if group_check_total and uid in [x.id for x in group_check_total.users]:
+            if self.pool['res.users'].has_group(cr, uid, 'account.group_supplier_inv_check_total'):
                 if (inv.type in ('in_invoice', 'in_refund') and abs(inv.check_total - inv.amount_total) >= (inv.currency_id.rounding/2.0)):
                     raise osv.except_osv(_('Bad Total!'), _('Please verify the price of the invoice!\nThe encoded total does not match the computed total.'))