[FIX] account, mail, etc.: uniformize evaluated expressions
opw-626694
This commit is contained in:
parent
ebb5ddcd65
commit
8d745f9f50
|
@ -31,6 +31,7 @@ from openerp import tools
|
||||||
from openerp.osv import fields, osv, expression
|
from openerp.osv import fields, osv, expression
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.tools.float_utils import float_round as round
|
from openerp.tools.float_utils import float_round as round
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
import openerp.addons.decimal_precision as dp
|
import openerp.addons.decimal_precision as dp
|
||||||
|
|
||||||
|
@ -2001,7 +2002,7 @@ class account_tax(osv.osv):
|
||||||
for tax in taxes:
|
for tax in taxes:
|
||||||
if tax.applicable_type=='code':
|
if tax.applicable_type=='code':
|
||||||
localdict = {'price_unit':price_unit, 'product':product, 'partner':partner}
|
localdict = {'price_unit':price_unit, 'product':product, 'partner':partner}
|
||||||
exec tax.python_applicable in localdict
|
eval(tax.python_applicable, localdict, mode="exec", nocopy=True)
|
||||||
if localdict.get('result', False):
|
if localdict.get('result', False):
|
||||||
res.append(tax)
|
res.append(tax)
|
||||||
else:
|
else:
|
||||||
|
@ -2042,7 +2043,7 @@ class account_tax(osv.osv):
|
||||||
# data['amount'] = quantity
|
# data['amount'] = quantity
|
||||||
elif tax.type=='code':
|
elif tax.type=='code':
|
||||||
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner, 'quantity': quantity}
|
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner, 'quantity': quantity}
|
||||||
exec tax.python_compute in localdict
|
eval(tax.python_compute, localdict, mode="exec", nocopy=True)
|
||||||
amount = localdict['result']
|
amount = localdict['result']
|
||||||
data['amount'] = amount
|
data['amount'] = amount
|
||||||
elif tax.type=='balance':
|
elif tax.type=='balance':
|
||||||
|
@ -2190,7 +2191,7 @@ class account_tax(osv.osv):
|
||||||
|
|
||||||
elif tax.type=='code':
|
elif tax.type=='code':
|
||||||
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner}
|
localdict = {'price_unit':cur_price_unit, 'product':product, 'partner':partner}
|
||||||
exec tax.python_compute_inv in localdict
|
eval(tax.python_compute_inv, localdict, mode="exec", nocopy=True)
|
||||||
amount = localdict['result']
|
amount = localdict['result']
|
||||||
elif tax.type=='balance':
|
elif tax.type=='balance':
|
||||||
amount = cur_price_unit - reduce(lambda x,y: y.get('amount',0.0)+x, res, 0.0)
|
amount = cur_price_unit - reduce(lambda x,y: y.get('amount',0.0)+x, res, 0.0)
|
||||||
|
|
|
@ -23,6 +23,7 @@ import time
|
||||||
|
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
class account_invoice_refund(osv.osv_memory):
|
class account_invoice_refund(osv.osv_memory):
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ import time
|
||||||
from openerp.osv import osv
|
from openerp.osv import osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.report import report_sxw
|
from openerp.report import report_sxw
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -68,7 +69,7 @@ class report_assert_account(report_sxw.rml_parse):
|
||||||
'result': None, #used to store the result of the test
|
'result': None, #used to store the result of the test
|
||||||
'column_order': None, #used to choose the display order of columns (in case you are returning a list of dict)
|
'column_order': None, #used to choose the display order of columns (in case you are returning a list of dict)
|
||||||
}
|
}
|
||||||
exec code_exec in localdict
|
eval(code_exec, localdict, mode="exec", nocopy=True)
|
||||||
result = localdict['result']
|
result = localdict['result']
|
||||||
column_order = localdict.get('column_order', None)
|
column_order = localdict.get('column_order', None)
|
||||||
|
|
||||||
|
|
|
@ -31,6 +31,7 @@ import random
|
||||||
import datetime
|
import datetime
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
|
|
|
@ -27,6 +27,7 @@ import openerp
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
from openerp.osv import osv
|
from openerp.osv import osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
|
|
||||||
class crm_lead(osv.osv):
|
class crm_lead(osv.osv):
|
||||||
|
|
|
@ -24,6 +24,7 @@ import time
|
||||||
from openerp.osv import fields,osv
|
from openerp.osv import fields,osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
import openerp.addons.decimal_precision as dp
|
import openerp.addons.decimal_precision as dp
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,7 @@ from openerp import SUPERUSER_ID
|
||||||
from openerp.addons.google_account import TIMEOUT
|
from openerp.addons.google_account import TIMEOUT
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
import werkzeug.urls
|
import werkzeug.urls
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
|
@ -28,6 +28,7 @@
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from openerp.report import report_sxw
|
from openerp.report import report_sxw
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
|
|
||||||
class base_report(report_sxw.rml_parse):
|
class base_report(report_sxw.rml_parse):
|
||||||
|
|
|
@ -28,6 +28,7 @@ from openerp.tools import ustr
|
||||||
from openerp.modules.registry import RegistryManager
|
from openerp.modules.registry import RegistryManager
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -600,8 +600,8 @@ class share_wizard(osv.TransientModel):
|
||||||
# other groups, so we duplicate if needed
|
# other groups, so we duplicate if needed
|
||||||
rule = self._check_personal_rule_or_duplicate(cr, group_id, rule, context=context)
|
rule = self._check_personal_rule_or_duplicate(cr, group_id, rule, context=context)
|
||||||
eval_ctx = rule_obj._eval_context_for_combinations()
|
eval_ctx = rule_obj._eval_context_for_combinations()
|
||||||
org_domain = expression.normalize_domain(eval(rule.domain_force, eval_ctx))
|
org_domain = expression.normalize_domain(safe_eval(rule.domain_force, eval_ctx))
|
||||||
new_clause = expression.normalize_domain(eval(domain, eval_ctx))
|
new_clause = expression.normalize_domain(safe_eval(domain, eval_ctx))
|
||||||
combined_domain = expression.AND([new_clause, org_domain])
|
combined_domain = expression.AND([new_clause, org_domain])
|
||||||
rule.write({'domain_force': combined_domain, 'name': rule.name + _('(Modified)')})
|
rule.write({'domain_force': combined_domain, 'name': rule.name + _('(Modified)')})
|
||||||
_logger.debug("Combining sharing rule %s on model %s with domain: %s", rule.id, model_id, domain)
|
_logger.debug("Combining sharing rule %s on model %s with domain: %s", rule.id, model_id, domain)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import openerp
|
import openerp
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
class DiagramView(openerp.http.Controller):
|
class DiagramView(openerp.http.Controller):
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ from openerp.addons.website.models.website import slug, url_for, _UNSLUG_RE
|
||||||
from openerp.http import request
|
from openerp.http import request
|
||||||
from openerp.tools import config
|
from openerp.tools import config
|
||||||
from openerp.osv import orm
|
from openerp.osv import orm
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
logger = logging.getLogger(__name__)
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
|
@ -11,6 +11,8 @@ from ..models import (
|
||||||
LOG_ACCESS_COLUMNS,
|
LOG_ACCESS_COLUMNS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
# extra definitions for backward compatibility
|
# extra definitions for backward compatibility
|
||||||
browse_record_list = BaseModel
|
browse_record_list = BaseModel
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ from openerp import SUPERUSER_ID
|
||||||
from openerp.osv.fields import float as float_field, function as function_field, datetime as datetime_field
|
from openerp.osv.fields import float as float_field, function as function_field, datetime as datetime_field
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
|
||||||
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue