[MERGE] forward port of branch 7.0 up to 25f5329
This commit is contained in:
commit
c5775e56d3
|
@ -12,7 +12,7 @@
|
||||||
<field name="date_start"/>
|
<field name="date_start"/>
|
||||||
<field name="date_end"/>
|
<field name="date_end"/>
|
||||||
</group>
|
</group>
|
||||||
<field name="user_ids"/>
|
<field name="user_ids" domain="[('share', '=', False)]"/>
|
||||||
<footer>
|
<footer>
|
||||||
<button name="print_report" type="object" string="Print Report" class="oe_highlight"/>
|
<button name="print_report" type="object" string="Print Report" class="oe_highlight"/>
|
||||||
or
|
or
|
||||||
|
|
|
@ -437,7 +437,9 @@ class res_users(osv.osv):
|
||||||
# prevent/delay login in that case. It will also have been logged
|
# prevent/delay login in that case. It will also have been logged
|
||||||
# as a SQL error, if anyone cares.
|
# as a SQL error, if anyone cares.
|
||||||
try:
|
try:
|
||||||
cr.execute("SELECT id FROM res_users WHERE id=%s FOR UPDATE NOWAIT", (user_id,), log_exceptions=False)
|
# NO KEY introduced in PostgreSQL 9.3 http://www.postgresql.org/docs/9.3/static/release-9-3.html#AEN115299
|
||||||
|
update_clause = 'NO KEY UPDATE' if cr._cnx.server_version >= 90300 else 'UPDATE'
|
||||||
|
cr.execute("SELECT id FROM res_users WHERE id=%%s FOR %s NOWAIT" % update_clause, (user_id,), log_exceptions=False)
|
||||||
cr.execute("UPDATE res_users SET login_date = now() AT TIME ZONE 'UTC' WHERE id=%s", (user_id,))
|
cr.execute("UPDATE res_users SET login_date = now() AT TIME ZONE 'UTC' WHERE id=%s", (user_id,))
|
||||||
except Exception:
|
except Exception:
|
||||||
_logger.debug("Failed to update last_login for db:%s login:%s", db, login, exc_info=True)
|
_logger.debug("Failed to update last_login for db:%s login:%s", db, login, exc_info=True)
|
||||||
|
|
|
@ -32,6 +32,7 @@ import os
|
||||||
import logging
|
import logging
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
import base64
|
import base64
|
||||||
|
from distutils.version import LooseVersion
|
||||||
from reportlab.platypus.doctemplate import ActionFlowable
|
from reportlab.platypus.doctemplate import ActionFlowable
|
||||||
from openerp.tools.safe_eval import safe_eval as eval
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
from reportlab.lib.units import inch,cm,mm
|
from reportlab.lib.units import inch,cm,mm
|
||||||
|
@ -178,6 +179,7 @@ class _rml_styles(object,):
|
||||||
'justify':reportlab.lib.enums.TA_JUSTIFY
|
'justify':reportlab.lib.enums.TA_JUSTIFY
|
||||||
}
|
}
|
||||||
data['alignment'] = align.get(node.get('alignment').lower(), reportlab.lib.enums.TA_LEFT)
|
data['alignment'] = align.get(node.get('alignment').lower(), reportlab.lib.enums.TA_LEFT)
|
||||||
|
data['splitLongWords'] = 0
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def _table_style_get(self, style_node):
|
def _table_style_get(self, style_node):
|
||||||
|
@ -773,8 +775,15 @@ class _rml_flowable(object):
|
||||||
if extra_style:
|
if extra_style:
|
||||||
style.__dict__.update(extra_style)
|
style.__dict__.update(extra_style)
|
||||||
result = []
|
result = []
|
||||||
|
tag_text = ''
|
||||||
|
plain_text = ''
|
||||||
for i in self._textual(node).split('\n'):
|
for i in self._textual(node).split('\n'):
|
||||||
result.append(platypus.Paragraph(i, style, **(utils.attr_get(node, [], {'bulletText':'str'}))))
|
instance = platypus.Paragraph(i, style, **(utils.attr_get(node, [], {'bulletText':'str'})))
|
||||||
|
plain_text += instance.getPlainText().strip()
|
||||||
|
tag_text += instance.text.strip()
|
||||||
|
result.append(instance)
|
||||||
|
if LooseVersion(reportlab.Version) > LooseVersion('3.0') and not plain_text and tag_text:
|
||||||
|
result.append(platypus.Paragraph(' <br/>', style, **(utils.attr_get(node, [], {'bulletText': 'str'}))))
|
||||||
return result
|
return result
|
||||||
elif node.tag=='barCode':
|
elif node.tag=='barCode':
|
||||||
try:
|
try:
|
||||||
|
|
Loading…
Reference in New Issue