diff --git a/bin/addons/base/base_update.xml b/bin/addons/base/base_update.xml
index 856fc209768..66376ed2acc 100644
--- a/bin/addons/base/base_update.xml
+++ b/bin/addons/base/base_update.xml
@@ -82,16 +82,15 @@
context="{'user_id': self, 'user_preference': 1}" groups="base.group_multi_company"/>
-
-
-
+
+
-
+
@@ -114,16 +113,18 @@
-
-
+ />
+
+
+
+
-
-
+
+
diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py
index a20d780c671..4b9d59743cb 100644
--- a/bin/addons/base/ir/ir_actions.py
+++ b/bin/addons/base/ir/ir_actions.py
@@ -209,16 +209,6 @@ class act_window(osv.osv):
res[act.id] = str(form_arch)
return res
- def _get_help_status(self, cr, uid, ids, name, arg, context={}):
- activate_tips = self.pool.get('res.users').browse(cr, uid, uid).menu_tips
- if activate_tips:
- cr.execute(""" SELECT action.id,
- CASE WHEN r.uid IS NULL THEN True ELSE False END
- AS help_status FROM ir_act_window action
- LEFT JOIN ir_act_window_user_rel r ON
- (action.id = r.act_id AND (r.uid IS NULL or r.uid= %s)) WHERE action.id = ANY(%s)""",(uid,ids,))
- return dict(cr.fetchall())
-
_columns = {
'name': fields.char('Action Name', size=64, translate=True),
'type': fields.char('Action Type', size=32, required=True),
@@ -252,8 +242,6 @@ class act_window(osv.osv):
'menus': fields.char('Menus', size=4096),
'help': fields.text('Action description',
help='Optional help text for the users with a description of the target view, such as its usage and purpose.'),
- 'display_help':fields.function(_get_help_status, type='boolean', method=True, string='Display Help',
- help='It gives the status if the help message has to be displayed or not when a user performs an action')
}
_defaults = {
@@ -266,12 +254,7 @@ class act_window(osv.osv):
'auto_refresh': lambda *a: 0,
'auto_search':lambda *a: True
}
- def _auto_init(self, cr, context={}):
- super(act_window, self)._auto_init(cr, context)
- cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'act_window_action_uid_index\'')
- if not cr.fetchone():
- cr.execute('CREATE INDEX act_window_action_uid_index ON ir_act_window_user_rel (act_id, uid)')
- cr.commit()
+
act_window()
class act_window_view(osv.osv):
diff --git a/bin/addons/base/module/wizard/base_module_upgrade.py b/bin/addons/base/module/wizard/base_module_upgrade.py
index fe85cb0422c..500622489e7 100644
--- a/bin/addons/base/module/wizard/base_module_upgrade.py
+++ b/bin/addons/base/module/wizard/base_module_upgrade.py
@@ -95,7 +95,7 @@ class base_module_upgrade(osv.osv_memory):
if dep_mod.state in ('unknown','uninstalled'):
unmet_packages.append(dep_mod.name)
if len(unmet_packages):
- raise wizard.except_wizard('Unmet dependency !', 'Following modules are uninstalled or unknown. \n\n'+'\n'.join(unmet_packages))
+ raise osv.except_osv('Unmet dependency !', 'Following modules are uninstalled or unknown. \n\n'+'\n'.join(unmet_packages))
mod_obj.download(cr, uid, ids, context=context)
cr.commit()
db, pool = pooler.restart_pool(cr.dbname, update_module=True)
diff --git a/bin/addons/base/report/custom_default_printscreen.xsl b/bin/addons/base/report/custom_default_printscreen.xsl
new file mode 100644
index 00000000000..46bcb0b843a
--- /dev/null
+++ b/bin/addons/base/report/custom_default_printscreen.xsl
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ /
+
+ 1.3cm 19.3cm 28.5cm 19.3cm
+
+
+
+
+
+
+
diff --git a/bin/addons/base/report/custom_new.xsl b/bin/addons/base/report/custom_new.xsl
index 6680314ca40..3a988a56373 100644
--- a/bin/addons/base/report/custom_new.xsl
+++ b/bin/addons/base/report/custom_new.xsl
@@ -1,8 +1,8 @@
-
-
+
+
diff --git a/bin/addons/base/report/custom_rml_printscreen.xsl b/bin/addons/base/report/custom_rml_printscreen.xsl
new file mode 100644
index 00000000000..38e3a207b6f
--- /dev/null
+++ b/bin/addons/base/report/custom_rml_printscreen.xsl
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py
index 1bc0f7372ee..6d78062a0e9 100644
--- a/bin/addons/base/res/res_company.py
+++ b/bin/addons/base/res/res_company.py
@@ -212,8 +212,8 @@ class res_company(osv.osv):
[[ company.partner_id.name ]]
- /
-
+ /
+
25 720 1085 720
@@ -232,8 +232,8 @@ class res_company(osv.osv):
[[ company.partner_id.name ]]
- /
-
+ /
+
1.3cm 28.1cm 20cm 28.1cm
diff --git a/bin/addons/base/res/res_user.py b/bin/addons/base/res/res_user.py
index e49578e9cc6..3b25343d724 100644
--- a/bin/addons/base/res/res_user.py
+++ b/bin/addons/base/res/res_user.py
@@ -240,7 +240,7 @@ class users(osv.osv):
" aren't configured, it won't be possible to email new "
"users."),
'signature': fields.text('Signature', size=64),
- 'address_id': fields.many2one('res.partner.address', 'Address'),
+ 'address_id': fields.many2one('res.partner.address', 'Company Address'),
'active': fields.boolean('Active'),
'action_id': fields.many2one('ir.actions.actions', 'Home Action'),
'menu_id': fields.many2one('ir.actions.actions', 'Menu Action'),
@@ -264,7 +264,7 @@ class users(osv.osv):
selection=[('simple','Simplified'),('extended','Extended')],
string='Interface', help="Choose between the simplified interface and the extended one"),
'user_email': fields.function(_email_get, method=True, fnct_inv=_email_set, string='Email', type="char", size=240),
- 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to display tips on each menu action"),
+ 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to always display tips on each menu action"),
}
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index 64b118f3e15..1024136093f 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -548,11 +548,10 @@ class orm_template(object):
else:
return False
-
lines = []
data = map(lambda x: '', range(len(fields)))
- done = []
for fpos in range(len(fields)):
+ done = []
f = fields[fpos]
if f:
r = row
diff --git a/bin/report/printscreen/ps_list.py b/bin/report/printscreen/ps_list.py
index a350f52aa8c..142cb41d447 100644
--- a/bin/report/printscreen/ps_list.py
+++ b/bin/report/printscreen/ps_list.py
@@ -30,12 +30,14 @@ import locale
import time, os
from operator import itemgetter
from datetime import datetime
+from report import report_sxw
class report_printscreen_list(report_int):
def __init__(self, name):
report_int.__init__(self, name)
self.context = {}
self.groupby = []
+ self.cr=''
def _parse_node(self, root_node):
result = []
@@ -60,6 +62,7 @@ class report_printscreen_list(report_int):
def create(self, cr, uid, ids, datas, context=None):
if not context:
context={}
+ self.cr=cr
self.context = context
self.groupby = context.get('group_by',[])
self.groupby_no_leaf = context.get('group_by_no_leaf',False)
@@ -129,6 +132,10 @@ class report_printscreen_list(report_int):
_append_node('PageHeight', '%.2f' %(pageSize[1] * 2.8346,))
_append_node('report-header', title)
+ _append_node('company', pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr,uid,uid).company_id.name)
+ rpt_obj = pooler.get_pool(self.cr.dbname).get('res.users')
+ rml_obj=report_sxw.rml_parse(self.cr, uid, rpt_obj._name,context)
+ _append_node('header-date', str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")))
l = []
t = 0
rowcount = 0;
diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py
index ca47423008b..f0a945eb7f5 100644
--- a/bin/report/render/rml2pdf/trml2pdf.py
+++ b/bin/report/render/rml2pdf/trml2pdf.py
@@ -42,11 +42,15 @@ class PageCount(platypus.Flowable):
def draw(self):
self.canv.beginForm("pageCount")
self.canv.setFont("Helvetica", utils.unit_get(str(8)))
- self.canv.drawString(0, 0, str(self.canv.getPageNumber()))
+ if '_pageCount' in dir(self.canv):
+ self.canv.drawString(0, 0, str(self.canv._pageCount))
+ else:
+ self.canv.drawString(0, 0, str(self.canv.getPageNumber()))
self.canv.endForm()
class PageReset(platypus.Flowable):
def draw(self):
+ self.canv._pageCount = self.canv.getPageNumber()
self.canv._pageNumber = 0
class _rml_styles(object,):
@@ -261,7 +265,7 @@ class _rml_canvas(object):
if n.tag == 'pageNumber':
rc += str(self.canvas.getPageNumber())
rc += utils._process_text(self, n.tail)
- return rc
+ return rc.replace('\n','')
def _drawString(self, node):
v = utils.attr_get(node, ['x','y'])