projects
/
odoo
/
odoo.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
improved
[odoo/odoo.git]
/
bin
/
report
/
custom.py
diff --git
a/bin/report/custom.py
b/bin/report/custom.py
index
e476b29
..
4b02901
100644
(file)
--- a/
bin/report/custom.py
+++ b/
bin/report/custom.py
@@
-24,6
+24,7
@@
import time
import netsvc
import tools
import netsvc
import tools
+from tools.safe_eval import safe_eval as eval
import print_xml
import render
from interface import report_int
import print_xml
import render
from interface import report_int
@@
-36,6
+37,7
@@
from pychart import *
import misc
import cStringIO
from lxml import etree
import misc
import cStringIO
from lxml import etree
+from tools.translate import _
class external_pdf(render.render):
def __init__(self, pdf):
class external_pdf(render.render):
def __init__(self, pdf):
@@
-71,7
+73,7
@@
class report_custom(report_int):
for cond in conditions:
if cond and cond[0]:
c = cond[0]
for cond in conditions:
if cond and cond[0]:
c = cond[0]
- temp = c[0](eval('obj.'+c[1]))
+ temp = c[0](eval('obj.'+c[1],{'obj': obj}))
if not eval('\''+temp+'\''+' '+c[2]+' '+'\''+str(c[3])+'\''):
tobreak = True
if tobreak:
if not eval('\''+temp+'\''+' '+c[2]+' '+'\''+str(c[3])+'\''):
tobreak = True
if tobreak:
@@
-85,7
+87,7
@@
class report_custom(report_int):
row_canvas[i]=False
elif len(fields[i])==1:
if not isinstance(obj, browse_null):
row_canvas[i]=False
elif len(fields[i])==1:
if not isinstance(obj, browse_null):
- row.append(str(eval('obj.'+fields[i][0])))
+ row.append(str(eval('obj.'+fields[i][0],{'obj': obj})))
else:
row.append(None)
else:
else:
row.append(None)
else:
@@
-105,7
+107,7
@@
class report_custom(report_int):
else:
key = levels.keys()
for l in key:
else:
key = levels.keys()
for l in key:
- objs = eval('obj.'+l)
+ objs = eval('obj.'+l,{'obj': obj})
if not isinstance(objs, browse_record_list) and type(objs) <> type([]):
objs = [objs]
field_new = []
if not isinstance(objs, browse_record_list) and type(objs) <> type([]):
objs = [objs]
field_new = []
@@
-190,7
+192,7
@@
class report_custom(report_int):
def build_tree(obj, level, depth):
res = self._row_get(cr, uid,[obj], new_fields, new_cond)
level.append(depth)
def build_tree(obj, level, depth):
res = self._row_get(cr, uid,[obj], new_fields, new_cond)
level.append(depth)
- new_obj = eval('obj.'+report['field_parent'][1])
+ new_obj = eval('obj.'+report['field_parent'][1],{'obj': obj})
if not isinstance(new_obj, list) :
new_obj = [new_obj]
for o in new_obj:
if not isinstance(new_obj, list) :
new_obj = [new_obj]
for o in new_obj: