From 0cb53890df64672f436b45762427b28b74bb8392 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 10:34:28 +0100
Subject: [PATCH 01/83] [IMP] report: reports with custom parsers can be
declared in XML files.
bzr revid: vmt@openerp.com-20130222093428-f1isxxqlbaj7uhuo
---
openerp/addons/base/ir/ir_actions.py | 4 ++++
openerp/import_xml.rng | 1 +
openerp/netsvc.py | 29 ++++++++++++++++++++++++++--
openerp/report/interface.py | 20 ++++++++++++-------
openerp/report/print_xml.py | 2 +-
openerp/report/report_sxw.py | 4 ++--
openerp/service/report.py | 2 +-
openerp/tools/convert.py | 2 ++
openerp/tools/test_reports.py | 2 +-
9 files changed, 52 insertions(+), 14 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index beb4e27200a..4f3ed8b0387 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -96,8 +96,11 @@ class report_xml(osv.osv):
result = cr.dictfetchall()
reports = openerp.report.interface.report_int._reports
for r in result:
+ print ">>> Registering:", r['report_name'], "...",
if reports.has_key('report.'+r['report_name']):
+ print " Already present."
continue
+ print " Done."
if r['report_rml'] or r['report_rml_content_data']:
report_sxw('report.'+r['report_name'], r['model'],
opj('addons',r['report_rml'] or '/'), header=r['header'])
@@ -140,6 +143,7 @@ class report_xml(osv.osv):
'report_sxw_content': fields.function(_report_content, fnct_inv=_report_content_inv, type='binary', string='SXW Content',),
'report_rml_content': fields.function(_report_content, fnct_inv=_report_content_inv, type='binary', string='RML Content'),
+ 'parser': fields.char('Parser Class'),
}
_defaults = {
'type': 'ir.actions.report.xml',
diff --git a/openerp/import_xml.rng b/openerp/import_xml.rng
index 97b2c4a13c0..5f4c40b65d3 100644
--- a/openerp/import_xml.rng
+++ b/openerp/import_xml.rng
@@ -107,6 +107,7 @@
+
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index a5e33ff22b1..33d7a222884 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -24,6 +24,7 @@
import errno
import logging
import logging.handlers
+import operator
import os
import platform
import release
@@ -45,13 +46,37 @@ import openerp
_logger = logging.getLogger(__name__)
-def LocalService(name):
+def LocalService(name, cursor=None):
# Special case for addons support, will be removed in a few days when addons
# are updated to directly use openerp.osv.osv.service.
if name == 'workflow':
return openerp.workflow
- return openerp.report.interface.report_int._reports[name]
+ if cursor is None: # TODO temporary, while refactoring
+ registered_report = openerp.report.interface.report_int._reports[name]
+ print ">>> Oh noes no cursor."
+ return registered_report
+ else:
+ from openerp.report.report_sxw import report_sxw, report_rml
+ cr = cursor
+ opj = os.path.join
+ cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s", (name[len('report.'):],))
+ result = cr.dictfetchall()
+ for r in result:
+ if r['report_rml'] or r['report_rml_content_data']:
+ if r['parser']:
+ kwargs = { 'parser': operator.attrgetter(r['parser'])(openerp.addons) }
+ else:
+ kwargs = {}
+ new_report = report_sxw('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
+ elif r['report_xsl']:
+ new_report = report_rml('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_xml']),
+ r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
+ else:
+ raise Exception, "Unhandled report type: %s" % r
+ return new_report
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, _NOTHING, DEFAULT = range(10)
#The background is set with 40 plus the number of the color, and the foreground with 30
diff --git a/openerp/report/interface.py b/openerp/report/interface.py
index f0de9631800..6c5fc24b559 100644
--- a/openerp/report/interface.py
+++ b/openerp/report/interface.py
@@ -43,11 +43,17 @@ class report_int(object):
_reports = {}
- def __init__(self, name):
- if not name.startswith('report.'):
- raise Exception('ConceptionError, bad report name, should start with "report."')
- assert name not in self._reports, 'The report "%s" already exists!' % name
- self._reports[name] = self
+ def __init__(self, name, register=True):
+ if register:
+ print "*** Registering report `%s` but it should be registered trough data declaration instead. ***" % name
+ if not name.startswith('report.'):
+ raise Exception('ConceptionError, bad report name, should start with "report."')
+ assert name not in self._reports, 'The report "%s" already exists!' % name
+ self._reports[name] = self
+ else:
+ # The report is instanciated at each use site, which is ok.
+ pass
+
self.__name = name
self.name = name
@@ -65,8 +71,8 @@ class report_rml(report_int):
XML -> DATAS -> RML -> PDF -> HTML
using a XSL:RML transformation
"""
- def __init__(self, name, table, tmpl, xsl):
- super(report_rml, self).__init__(name)
+ def __init__(self, name, table, tmpl, xsl, register=True):
+ super(report_rml, self).__init__(name, register=register)
self.table = table
self.internal_header=False
self.tmpl = tmpl
diff --git a/openerp/report/print_xml.py b/openerp/report/print_xml.py
index c2af0984c2e..558f7dd3bd0 100644
--- a/openerp/report/print_xml.py
+++ b/openerp/report/print_xml.py
@@ -264,7 +264,7 @@ class document(object):
def parse_tree(self, ids, model, context=None):
if not context:
context={}
- browser = self.pool.get(model).browse(self.cr, self.uid, ids, context)
+ browser = self.pool[model].browse(self.cr, self.uid, ids, context)
self.parse_node(self.dom, self.doc, browser)
def parse_string(self, xml, ids, model, context=None):
diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py
index 325690205ef..0e2a7e18edd 100644
--- a/openerp/report/report_sxw.py
+++ b/openerp/report/report_sxw.py
@@ -388,8 +388,8 @@ class rml_parse(object):
self.setCompany(objects[0].company_id)
class report_sxw(report_rml, preprocess.report):
- def __init__(self, name, table, rml=False, parser=rml_parse, header='external', store=False):
- report_rml.__init__(self, name, table, rml, '')
+ def __init__(self, name, table, rml=False, parser=rml_parse, header='external', store=False, register=True):
+ report_rml.__init__(self, name, table, rml, '', register=register)
self.name = name
self.parser = parser
self.header = header
diff --git a/openerp/service/report.py b/openerp/service/report.py
index c20c7f0d7ec..d7832dfb40b 100644
--- a/openerp/service/report.py
+++ b/openerp/service/report.py
@@ -90,7 +90,7 @@ def exp_report(db, uid, object, ids, datas=None, context=None):
def go(id, uid, ids, datas, context):
cr = openerp.pooler.get_db(db).cursor()
try:
- obj = openerp.netsvc.LocalService('report.'+object)
+ obj = openerp.netsvc.LocalService('report.'+object, cursor=cr)
(result, format) = obj.create(cr, uid, ids, datas, context)
if not result:
tb = sys.exc_info()
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index 00b8bf96340..a8ba37e29d5 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -302,6 +302,8 @@ form: module.record_id""" % (xml_id,)
res['header'] = eval(rec.get('header','False'))
if rec.get('report_type'):
res['report_type'] = rec.get('report_type')
+ if rec.get('parser'):
+ res['parser'] = rec.get('parser')
res['multi'] = rec.get('multi') and eval(rec.get('multi','False'))
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index 9ec4dab6cc3..71cedc1a98d 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -50,7 +50,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
else:
rname_s = rname
_logger.log(netsvc.logging.TEST, " - Trying %s.create(%r)", rname, ids)
- res = netsvc.LocalService(rname).create(cr, uid, ids, data, context)
+ res = netsvc.LocalService(rname, cursor=cr).create(cr, uid, ids, data, context)
if not isinstance(res, tuple):
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
(rname, type(res)))
From 729d969fd9b0dcc7c7d25cc50acfbd45fc612f30 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 13:48:01 +0100
Subject: [PATCH 02/83] [IMP] report: use openerp.report.render_report()
instead of LocalService().create().
bzr revid: vmt@openerp.com-20130222124801-zhhbw2bgghhf6rg6
---
doc/changelog.rst | 2 ++
openerp/addons/base/ir/ir_actions.py | 33 +++++++++++++++++++++++++++
openerp/addons/base/ir/ir_actions.xml | 1 +
openerp/netsvc.py | 33 +++------------------------
openerp/report/__init__.py | 9 ++++++++
openerp/service/report.py | 7 +++---
openerp/tools/test_reports.py | 3 ++-
7 files changed, 53 insertions(+), 35 deletions(-)
diff --git a/doc/changelog.rst b/doc/changelog.rst
index a80e8dc6c8d..ec75fadfe6b 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -6,6 +6,8 @@ Changelog
`trunk`
-------
+- Almost removed ``LocalService()``. For reports,
+ ``openerp.report.render_report()`` can be used.
- Added the :ref:`Long polling ` worker type.
- Added :ref:`orm-workflows` to the ORM.
- Added :ref:`routing-decorators` to the RPC and WSGI stack.
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 4f3ed8b0387..71170f42e91 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -109,6 +109,39 @@ class report_xml(osv.osv):
opj('addons',r['report_xml']),
r['report_xsl'] and opj('addons',r['report_xsl']))
+ def render_report(self, cr, uid, ids, name, data, context=None):
+ """
+ Look up a report definition and render the report for the provided IDs.
+ """
+ import openerp
+ import operator
+ import os
+ opj = os.path.join
+
+ cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s", (name,))
+ new_report = None
+ for r in cr.dictfetchall():
+ if r['report_rml'] or r['report_rml_content_data']:
+ if r['parser']:
+ kwargs = { 'parser': operator.attrgetter(r['parser'])(openerp.addons) }
+ else:
+ kwargs = {}
+ new_report = report_sxw('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
+ elif r['report_xsl']:
+ new_report = report_rml('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_xml']),
+ r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
+ else:
+ # TODO:
+ # Temporarily, we look reports up the _reports dict.
+ # raise Exception, "Unhandled report type: %s" % r
+ pass
+ if new_report is None:
+ new_report = interface.report_int._reports['report.' + name]
+
+ return new_report.create(cr, uid, ids, data, context)
+
_name = 'ir.actions.report.xml'
_inherit = 'ir.actions.actions'
_table = 'ir_act_report_xml'
diff --git a/openerp/addons/base/ir/ir_actions.xml b/openerp/addons/base/ir/ir_actions.xml
index da118129932..82514692c06 100644
--- a/openerp/addons/base/ir/ir_actions.xml
+++ b/openerp/addons/base/ir/ir_actions.xml
@@ -82,6 +82,7 @@
+
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 33d7a222884..aab166ab4c2 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -46,37 +46,10 @@ import openerp
_logger = logging.getLogger(__name__)
+# TODO LocalService is deprecated.
def LocalService(name, cursor=None):
- # Special case for addons support, will be removed in a few days when addons
- # are updated to directly use openerp.osv.osv.service.
- if name == 'workflow':
- return openerp.workflow
-
- if cursor is None: # TODO temporary, while refactoring
- registered_report = openerp.report.interface.report_int._reports[name]
- print ">>> Oh noes no cursor."
- return registered_report
- else:
- from openerp.report.report_sxw import report_sxw, report_rml
- cr = cursor
- opj = os.path.join
- cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s", (name[len('report.'):],))
- result = cr.dictfetchall()
- for r in result:
- if r['report_rml'] or r['report_rml_content_data']:
- if r['parser']:
- kwargs = { 'parser': operator.attrgetter(r['parser'])(openerp.addons) }
- else:
- kwargs = {}
- new_report = report_sxw('report.'+r['report_name'], r['model'],
- opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
- elif r['report_xsl']:
- new_report = report_rml('report.'+r['report_name'], r['model'],
- opj('addons',r['report_xml']),
- r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
- else:
- raise Exception, "Unhandled report type: %s" % r
- return new_report
+ assert name == 'workflow'
+ return openerp.workflow
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, _NOTHING, DEFAULT = range(10)
#The background is set with 40 plus the number of the color, and the foreground with 30
diff --git a/openerp/report/__init__.py b/openerp/report/__init__.py
index 6b56f15b6b5..647e6ba93a6 100644
--- a/openerp/report/__init__.py
+++ b/openerp/report/__init__.py
@@ -31,5 +31,14 @@ import report_sxw
import printscreen
+def render_report(cr, uid, ids, name, data, context=None):
+ """
+ Helper to call ``ir.actions.report.xml.render_report()``.
+ """
+ import openerp
+ registry = openerp.modules.registry.RegistryManager.get(cr.dbname)
+ return registry['ir.actions.report.xml'].render_report(cr, uid, ids, name, data, context)
+
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/service/report.py b/openerp/service/report.py
index d7832dfb40b..5144a064b1e 100644
--- a/openerp/service/report.py
+++ b/openerp/service/report.py
@@ -7,6 +7,7 @@ import threading
import openerp.netsvc
import openerp.pooler
+import openerp.report
from openerp import tools
import security
@@ -51,8 +52,7 @@ def exp_render_report(db, uid, object, ids, datas=None, context=None):
cr = openerp.pooler.get_db(db).cursor()
try:
- obj = openerp.netsvc.LocalService('report.'+object)
- (result, format) = obj.create(cr, uid, ids, datas, context)
+ result, format = openerp.report.render_report(cr, uid, ids, object, datas, context)
if not result:
tb = sys.exc_info()
self_reports[id]['exception'] = openerp.exceptions.DeferredException('RML is not available at specified location or not enough data to print!', tb)
@@ -90,8 +90,7 @@ def exp_report(db, uid, object, ids, datas=None, context=None):
def go(id, uid, ids, datas, context):
cr = openerp.pooler.get_db(db).cursor()
try:
- obj = openerp.netsvc.LocalService('report.'+object, cursor=cr)
- (result, format) = obj.create(cr, uid, ids, datas, context)
+ result, format = openerp.report.render_report(cr, uid, ids, object, datas, context)
if not result:
tb = sys.exc_info()
self_reports[id]['exception'] = openerp.exceptions.DeferredException('RML is not available at specified location or not enough data to print!', tb)
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index 71cedc1a98d..ccb9c839dc9 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -26,6 +26,7 @@
"""
import openerp.netsvc as netsvc
+import openerp.report
import openerp.tools as tools
import logging
import openerp.pooler as pooler
@@ -50,7 +51,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
else:
rname_s = rname
_logger.log(netsvc.logging.TEST, " - Trying %s.create(%r)", rname, ids)
- res = netsvc.LocalService(rname, cursor=cr).create(cr, uid, ids, data, context)
+ res = openerp.report.render_report(cr, uid, ids, rname_s, data, context)
if not isinstance(res, tuple):
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
(rname, type(res)))
From 575771f6519aba14b8073a79408731d3faadbecb Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 14:36:37 +0100
Subject: [PATCH 03/83] [FIX] ir_actions: wrong namespace.
bzr revid: vmt@openerp.com-20130222133637-14d903ci0hvwej5j
---
openerp/addons/base/ir/ir_actions.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 71170f42e91..8929c13489c 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -138,7 +138,7 @@ class report_xml(osv.osv):
# raise Exception, "Unhandled report type: %s" % r
pass
if new_report is None:
- new_report = interface.report_int._reports['report.' + name]
+ new_report = openerp.report.interface.report_int._reports['report.' + name]
return new_report.create(cr, uid, ids, data, context)
From 1ce0db171dbb3c383d300dc705a607e1705fdc96 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 14:40:12 +0100
Subject: [PATCH 04/83] [DOC] changelog: give a better hint at how
LocalService() can be replaced.
bzr revid: vmt@openerp.com-20130222134012-n8zg5s3jud08me18
---
doc/changelog.rst | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/doc/changelog.rst b/doc/changelog.rst
index ec75fadfe6b..bb18944b514 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -7,7 +7,8 @@ Changelog
-------
- Almost removed ``LocalService()``. For reports,
- ``openerp.report.render_report()`` can be used.
+ ``openerp.report.render_report()`` can be used. For workflows, see
+ :ref:`orm-workflows`.
- Added the :ref:`Long polling ` worker type.
- Added :ref:`orm-workflows` to the ORM.
- Added :ref:`routing-decorators` to the RPC and WSGI stack.
From 460cc6f755899ef45c09c17dc6e66cfea04e4eaf Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 15:24:00 +0100
Subject: [PATCH 05/83] [IMP] ir.actions.report.xml: allow for a smoother
transition for reports still declared the old way (in Python).
bzr revid: vmt@openerp.com-20130222142400-qoomw17s2u8a73kh
---
openerp/addons/base/ir/ir_actions.py | 42 +++++++++++++++-------------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 8929c13489c..5bb70ed4cf1 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -118,27 +118,29 @@ class report_xml(osv.osv):
import os
opj = os.path.join
- cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s", (name,))
- new_report = None
- for r in cr.dictfetchall():
- if r['report_rml'] or r['report_rml_content_data']:
- if r['parser']:
- kwargs = { 'parser': operator.attrgetter(r['parser'])(openerp.addons) }
- else:
- kwargs = {}
- new_report = report_sxw('report.'+r['report_name'], r['model'],
- opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
- elif r['report_xsl']:
- new_report = report_rml('report.'+r['report_name'], r['model'],
- opj('addons',r['report_xml']),
- r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
- else:
- # TODO:
- # Temporarily, we look reports up the _reports dict.
- # raise Exception, "Unhandled report type: %s" % r
- pass
- if new_report is None:
+ # First lookup in the deprecated place, because if the report definition
+ # has not been updated, it is more likely the correct definition is there.
+ if 'report.' + name in openerp.report.interface.report_int._reports:
new_report = openerp.report.interface.report_int._reports['report.' + name]
+ else:
+ cr.execute("SELECT * FROM ir_act_report_xml WHERE report_name=%s", (name,))
+ r = cr.dictfetchone()
+ if r:
+ if r['report_rml'] or r['report_rml_content_data']:
+ if r['parser']:
+ kwargs = { 'parser': operator.attrgetter(r['parser'])(openerp.addons) }
+ else:
+ kwargs = {}
+ new_report = report_sxw('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
+ elif r['report_xsl']:
+ new_report = report_rml('report.'+r['report_name'], r['model'],
+ opj('addons',r['report_xml']),
+ r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
+ else:
+ raise Exception, "Unhandled report type: %s" % r
+ else:
+ raise Exception, "Required report does not exist: %s" % r
return new_report.create(cr, uid, ids, data, context)
From efb97705f571e74e61084fe6c3afc5c8d6697db1 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 15:52:26 +0100
Subject: [PATCH 06/83] [IMP] LocalService(): re-allow for a few moment (so
addons can be updated a bit later).
bzr revid: vmt@openerp.com-20130222145226-dqu6e612oi3yalow
---
openerp/netsvc.py | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index aab166ab4c2..3620cbd0525 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -46,10 +46,14 @@ import openerp
_logger = logging.getLogger(__name__)
-# TODO LocalService is deprecated.
-def LocalService(name, cursor=None):
- assert name == 'workflow'
- return openerp.workflow
+def LocalService(name):
+ _logger.warning("LocalService() is deprecated.")
+
+ if name == 'workflow':
+ return openerp.workflow
+
+ if name.startswith('report.'):
+ return openerp.report.interface.report_int._reports[name]
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, _NOTHING, DEFAULT = range(10)
#The background is set with 40 plus the number of the color, and the foreground with 30
From ef127fddc7676e616cd6a256c448382fc7861cb3 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 15:52:50 +0100
Subject: [PATCH 07/83] [IMP] netsvc: removed unused import.
bzr revid: vmt@openerp.com-20130222145250-qd9v52tu2xt8jyb2
---
openerp/modules/graph.py | 2 --
openerp/modules/migration.py | 2 --
openerp/osv/orm.py | 1 -
openerp/service/report.py | 1 -
openerp/tools/test_reports.py | 7 +++----
5 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/openerp/modules/graph.py b/openerp/modules/graph.py
index 56b17e3239a..0e14480d8ac 100644
--- a/openerp/modules/graph.py
+++ b/openerp/modules/graph.py
@@ -36,8 +36,6 @@ from openerp.tools.safe_eval import safe_eval as eval
import openerp.pooler as pooler
from openerp.tools.translate import _
-import openerp.netsvc as netsvc
-
import zipfile
import openerp.release as release
diff --git a/openerp/modules/migration.py b/openerp/modules/migration.py
index e0faa77c3a4..16de56879b9 100644
--- a/openerp/modules/migration.py
+++ b/openerp/modules/migration.py
@@ -36,8 +36,6 @@ from openerp.tools.safe_eval import safe_eval as eval
import openerp.pooler as pooler
from openerp.tools.translate import _
-import openerp.netsvc as netsvc
-
import zipfile
import openerp.release as release
diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py
index e4a5a5435fd..d23663fb700 100644
--- a/openerp/osv/orm.py
+++ b/openerp/osv/orm.py
@@ -59,7 +59,6 @@ from lxml import etree
import fields
import openerp
-import openerp.netsvc as netsvc
import openerp.tools as tools
from openerp.tools.config import config
from openerp.tools.misc import CountingStream
diff --git a/openerp/service/report.py b/openerp/service/report.py
index 5144a064b1e..73d8d6a7e3d 100644
--- a/openerp/service/report.py
+++ b/openerp/service/report.py
@@ -5,7 +5,6 @@ import logging
import sys
import threading
-import openerp.netsvc
import openerp.pooler
import openerp.report
from openerp import tools
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index ccb9c839dc9..3fd1ba2fed4 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -25,7 +25,6 @@
through the code of yaml tests.
"""
-import openerp.netsvc as netsvc
import openerp.report
import openerp.tools as tools
import logging
@@ -50,7 +49,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
rname_s = rname[7:]
else:
rname_s = rname
- _logger.log(netsvc.logging.TEST, " - Trying %s.create(%r)", rname, ids)
+ _logger.log(logging.TEST, " - Trying %s.create(%r)", rname, ids)
res = openerp.report.render_report(cr, uid, ids, rname_s, data, context)
if not isinstance(res, tuple):
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
@@ -93,7 +92,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
_logger.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format)
return False
- _logger.log(netsvc.logging.TEST, " + Report %s produced correctly.", rname)
+ _logger.log(logging.TEST, " + Report %s produced correctly.", rname)
return True
def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
@@ -127,7 +126,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
pool = pooler.get_pool(cr.dbname)
def log_test(msg, *args):
- _logger.log(netsvc.logging.TEST, " - " + msg, *args)
+ _logger.log(logging.TEST, " - " + msg, *args)
datas = {}
if active_model:
From 48d1bce6ec4fd77a98923b7132e718b33cafadd8 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 16:13:11 +0100
Subject: [PATCH 08/83] [IMP] report: remove the print statement upon report
registration.
bzr revid: vmt@openerp.com-20130222151311-xz609m3o5jazo7ld
---
openerp/report/interface.py | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/openerp/report/interface.py b/openerp/report/interface.py
index 6c5fc24b559..d6d90b17d42 100644
--- a/openerp/report/interface.py
+++ b/openerp/report/interface.py
@@ -45,10 +45,8 @@ class report_int(object):
def __init__(self, name, register=True):
if register:
- print "*** Registering report `%s` but it should be registered trough data declaration instead. ***" % name
- if not name.startswith('report.'):
- raise Exception('ConceptionError, bad report name, should start with "report."')
- assert name not in self._reports, 'The report "%s" already exists!' % name
+ assert name.startswith('report.'), 'Report names should start with "report.".'
+ assert name not in self._reports, 'The report "%s" already exists.' % name
self._reports[name] = self
else:
# The report is instanciated at each use site, which is ok.
From a2f5e9d201f94938d432174d869b1a662f6b1093 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 16:17:02 +0100
Subject: [PATCH 09/83] [IMP] ir_actions: removed forgotten print statements.
bzr revid: vmt@openerp.com-20130222151702-d73geh539mb99m5b
---
openerp/addons/base/ir/ir_actions.py | 3 ---
openerp/netsvc.py | 3 ---
2 files changed, 6 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 5bb70ed4cf1..bfef042ef57 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -96,11 +96,8 @@ class report_xml(osv.osv):
result = cr.dictfetchall()
reports = openerp.report.interface.report_int._reports
for r in result:
- print ">>> Registering:", r['report_name'], "...",
if reports.has_key('report.'+r['report_name']):
- print " Already present."
continue
- print " Done."
if r['report_rml'] or r['report_rml_content_data']:
report_sxw('report.'+r['report_name'], r['model'],
opj('addons',r['report_rml'] or '/'), header=r['header'])
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 3620cbd0525..94e1664c852 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -21,12 +21,9 @@
##############################################################################
-import errno
import logging
import logging.handlers
-import operator
import os
-import platform
import release
import sys
import threading
From 687fc9afac3cab2d765f3bae65772430588d9abd Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Feb 2013 16:36:49 +0100
Subject: [PATCH 10/83] [DOC] report.
bzr revid: vmt@openerp.com-20130222153649-h4quh4r8ptz465s1
---
doc/03_module_dev.rst | 1 +
doc/report-declaration.rst | 23 +++++++++++++++++++++++
2 files changed, 24 insertions(+)
create mode 100644 doc/report-declaration.rst
diff --git a/doc/03_module_dev.rst b/doc/03_module_dev.rst
index 72f035be4d0..c5f965e4b93 100644
--- a/doc/03_module_dev.rst
+++ b/doc/03_module_dev.rst
@@ -13,3 +13,4 @@ Modules
03_module_dev_04
03_module_dev_05
03_module_dev_06
+ report-declaration
diff --git a/doc/report-declaration.rst b/doc/report-declaration.rst
new file mode 100644
index 00000000000..2a40c96ec61
--- /dev/null
+++ b/doc/report-declaration.rst
@@ -0,0 +1,23 @@
+.. _report-declaration:
+
+Report declaration
+==================
+
+.. versionadded:: 7.1
+
+Before version 7.1, report declaration could be done in two different ways:
+either via a ```` tag in XML, or via such a tag and a class
+instanciation in a Python module. Instanciating a class in a Python module was
+necessary when a custom parser was used.
+
+In version 7.1, the recommended way to register a report is to use only the
+```` XML tag. The tag can now support an additional ``parser``
+attribute. The value for that attibute must be a fully-qualified class name,
+without the leading ``openerp.addons.`` namespace.
+
+.. note::
+ The rational to deprecate the manual class instanciation is to make all
+ reports visible in the database, have a unique way to declare reports
+ instead of two, and remove the need to maintain a registry of reports in
+ memory.
+
From 5c9b5e4ac352a59674ff7686d0c9cbc7163907ba Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Feb 2013 14:35:32 +0100
Subject: [PATCH 11/83] [IMP] netsvc: slightly more explicit warning when using
LocalService().
bzr revid: vmt@openerp.com-20130225133532-o3m2e6vvzcmdeziv
---
openerp/netsvc.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 94e1664c852..3b5ee2c835c 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -44,7 +44,7 @@ import openerp
_logger = logging.getLogger(__name__)
def LocalService(name):
- _logger.warning("LocalService() is deprecated.")
+ _logger.warning("LocalService('%s') is deprecated." % name)
if name == 'workflow':
return openerp.workflow
From 2d251ea98769d36e57c82fee43846cf891f74808 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 19 Mar 2013 16:34:22 +0100
Subject: [PATCH 12/83] [REM] unused openerp.workflow.common
bzr revid: xmo@openerp.com-20130319153422-0s7sly0cjg491s0b
---
openerp/workflow/common.py | 28 ----------------------------
1 file changed, 28 deletions(-)
delete mode 100644 openerp/workflow/common.py
diff --git a/openerp/workflow/common.py b/openerp/workflow/common.py
deleted file mode 100644
index fc29419721a..00000000000
--- a/openerp/workflow/common.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-class except_wkf(Exception):
- def __init__(self, name, value):
- self.name = name
- self.value = value
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
From 5f956523d4ea67e2552c6b72e6aff3fe10bea6d3 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 19 Mar 2013 16:48:57 +0100
Subject: [PATCH 13/83] [IMP] flow of workflow.workitem.process
bzr revid: xmo@openerp.com-20130319154857-q7l99vyqtksegiy0
---
openerp/workflow/workitem.py | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/openerp/workflow/workitem.py b/openerp/workflow/workitem.py
index 0f94dfa788d..06ba3672371 100644
--- a/openerp/workflow/workitem.py
+++ b/openerp/workflow/workitem.py
@@ -40,30 +40,26 @@ def create(cr, act_datas, inst_id, ident, stack):
process(cr, res, ident, stack=stack)
def process(cr, workitem, ident, signal=None, force_running=False, stack=None):
- if stack is None:
- raise 'Error !!!'
- result = True
+ assert stack is not None
cr.execute('select * from wkf_activity where id=%s', (workitem['act_id'],))
activity = cr.dictfetchone()
+ if workitem['state'] == 'running':
+ return True
+
triggers = False
- if workitem['state']=='active':
+ if workitem['state'] == 'active':
triggers = True
- result = _execute(cr, workitem, activity, ident, stack)
- if not result:
+ if not _execute(cr, workitem, activity, ident, stack):
return False
- if workitem['state']=='running':
- pass
-
- if workitem['state']=='complete' or force_running:
+ if force_running or workitem['state'] == 'complete':
ok = _split_test(cr, workitem, activity['split_mode'], ident, signal, stack)
triggers = triggers and not ok
if triggers:
cr.execute('select * from wkf_transition where act_from=%s', (workitem['act_id'],))
- alltrans = cr.dictfetchall()
- for trans in alltrans:
+ for trans in cr.dictfetchall():
if trans['trigger_model']:
ids = wkf_expr._eval_expr(cr,ident,workitem,trans['trigger_expr_id'])
for res_id in ids:
@@ -71,7 +67,7 @@ def process(cr, workitem, ident, signal=None, force_running=False, stack=None):
id =cr.fetchone()[0]
cr.execute('insert into wkf_triggers (model,res_id,instance_id,workitem_id,id) values (%s,%s,%s,%s,%s)', (trans['trigger_model'],res_id,workitem['inst_id'], workitem['id'], id))
- return result
+ return True
# ---------------------- PRIVATE FUNCS --------------------------------
@@ -146,8 +142,6 @@ def _execute(cr, workitem, activity, ident, stack):
return result
def _split_test(cr, workitem, split_mode, ident, signal=None, stack=None):
- if stack is None:
- raise 'Error !!!'
cr.execute('select * from wkf_transition where act_from=%s', (workitem['act_id'],))
test = False
transitions = []
From db6b6480f7bf034ef180f382de27dc4f27a3c42e Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 19 Mar 2013 17:31:33 +0100
Subject: [PATCH 14/83] [IMP] switch workflows to standard logging (silenced by
default), remove wkf_logs
bzr revid: xmo@openerp.com-20130319163133-3n1k1hgooddzxntz
---
openerp/netsvc.py | 1 +
openerp/workflow/wkf_logs.py | 39 ------------------------------------
openerp/workflow/workitem.py | 10 ++++++---
3 files changed, 8 insertions(+), 42 deletions(-)
delete mode 100644 openerp/workflow/wkf_logs.py
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index ef72ba179f2..ffbd38de36a 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -131,6 +131,7 @@ def init_logger():
# Configure handlers
default_config = [
+ 'openerp.workflow.workitem:WARNING',
'openerp.netsvc.rpc.request:INFO',
'openerp.netsvc.rpc.response:INFO',
'openerp.addons.web.http:INFO',
diff --git a/openerp/workflow/wkf_logs.py b/openerp/workflow/wkf_logs.py
deleted file mode 100644
index 9463fe61814..00000000000
--- a/openerp/workflow/wkf_logs.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2009 Tiny SPRL ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-#
-# May be uncommented to logs workflows modifications
-#
-
-def log(cr,ident,act_id,info=''):
- return
- # msg = """
- #res_type: %r
- #res_id: %d
- #uid: %d
- #act_id: %d
- #info: %s
- #""" % (ident[1], ident[2], ident[0], act_id, info)
-
- #cr.execute('insert into wkf_logs (res_type, res_id, uid, act_id, time, info) values (%s,%s,%s,%s,current_time,%s)', (ident[1],int(ident[2]),int(ident[0]),int(act_id),info))
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-
diff --git a/openerp/workflow/workitem.py b/openerp/workflow/workitem.py
index 06ba3672371..88a786e6c67 100644
--- a/openerp/workflow/workitem.py
+++ b/openerp/workflow/workitem.py
@@ -23,11 +23,13 @@
# TODO:
# cr.execute('delete from wkf_triggers where model=%s and res_id=%s', (res_type,res_id))
#
+import logging
import instance
import wkf_expr
-import wkf_logs
+
+logger = logging.getLogger(__name__)
def create(cr, act_datas, inst_id, ident, stack):
for act in act_datas:
@@ -36,7 +38,8 @@ def create(cr, act_datas, inst_id, ident, stack):
cr.execute("insert into wkf_workitem (id,act_id,inst_id,state) values (%s,%s,%s,'active')", (id_new, act['id'], inst_id))
cr.execute('select * from wkf_workitem where id=%s',(id_new,))
res = cr.dictfetchone()
- wkf_logs.log(cr,ident,act['id'],'active')
+ logger.info('Created workflow item in activity %s',
+ act['id'], extra={'ident': ident})
process(cr, res, ident, stack=stack)
def process(cr, workitem, ident, signal=None, force_running=False, stack=None):
@@ -75,7 +78,8 @@ def process(cr, workitem, ident, signal=None, force_running=False, stack=None):
def _state_set(cr, workitem, activity, state, ident):
cr.execute('update wkf_workitem set state=%s where id=%s', (state,workitem['id']))
workitem['state'] = state
- wkf_logs.log(cr,ident,activity['id'],state)
+ logger.info("Changed state of work item %s to \"%s\" in activity %s",
+ workitem['id'], state, activity['id'], extra={'ident': ident})
def _execute(cr, workitem, activity, ident, stack):
result = True
From 7c2b70eb46707aec46472ebf91bd9bf7ce957155 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 19 Mar 2013 17:36:06 +0100
Subject: [PATCH 15/83] [IMP] declaratively map openerp logging levels to
logging, move default logging conf to 'constant'
bzr revid: xmo@openerp.com-20130319163606-un9ogalwfk3eykc8
---
openerp/netsvc.py | 54 ++++++++++++++++++++---------------------------
1 file changed, 23 insertions(+), 31 deletions(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index ffbd38de36a..e833bcc60e4 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -130,39 +130,11 @@ def init_logger():
handler.setFormatter(formatter)
# Configure handlers
- default_config = [
- 'openerp.workflow.workitem:WARNING',
- 'openerp.netsvc.rpc.request:INFO',
- 'openerp.netsvc.rpc.response:INFO',
- 'openerp.addons.web.http:INFO',
- 'openerp.sql_db:INFO',
- ':INFO',
- ]
-
- if tools.config['log_level'] == 'info':
- pseudo_config = []
- elif tools.config['log_level'] == 'debug_rpc':
- pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG']
- elif tools.config['log_level'] == 'debug_rpc_answer':
- pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG', 'openerp.netsvc.rpc.response:DEBUG']
- elif tools.config['log_level'] == 'debug':
- pseudo_config = ['openerp:DEBUG']
- elif tools.config['log_level'] == 'test':
- pseudo_config = ['openerp:TEST']
- elif tools.config['log_level'] == 'warn':
- pseudo_config = ['openerp:WARNING']
- elif tools.config['log_level'] == 'error':
- pseudo_config = ['openerp:ERROR']
- elif tools.config['log_level'] == 'critical':
- pseudo_config = ['openerp:CRITICAL']
- elif tools.config['log_level'] == 'debug_sql':
- pseudo_config = ['openerp.sql_db:DEBUG']
- else:
- pseudo_config = []
+ pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config['log_level'], [])
logconfig = tools.config['log_handler']
- for logconfig_item in default_config + pseudo_config + logconfig:
+ for logconfig_item in DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig:
loggername, level = logconfig_item.split(':')
level = getattr(logging, level, logging.INFO)
logger = logging.getLogger(loggername)
@@ -172,9 +144,29 @@ def init_logger():
if loggername != '':
logger.propagate = False
- for logconfig_item in default_config + pseudo_config + logconfig:
+ for logconfig_item in DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig:
_logger.debug('logger level set: "%s"', logconfig_item)
+DEFAULT_LOG_CONFIGURATION = [
+ 'openerp.workflow.workitem:WARNING',
+ 'openerp.netsvc.rpc.request:INFO',
+ 'openerp.netsvc.rpc.response:INFO',
+ 'openerp.addons.web.http:INFO',
+ 'openerp.sql_db:INFO',
+ ':INFO',
+]
+PSEUDOCONFIG_MAPPER = {
+ 'debug_rpc_answer': ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG', 'openerp.netsvc.rpc.response:DEBUG'],
+ 'debug_rpc': ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG'],
+ 'debug': ['openerp:DEBUG'],
+ 'debug_sql': ['openerp.sql_db:DEBUG'],
+ 'test': ['openerp:TEST'],
+ 'info': [],
+ 'warn': ['openerp:WARNING'],
+ 'error': ['openerp:ERROR'],
+ 'critical': ['openerp:CRITICAL'],
+}
+
# A alternative logging scheme for automated runs of the
# server intended to test it.
def init_alternative_logger():
From 9476f0795472a3b7ce8f99be17acf3f2065d3435 Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Tue, 19 Mar 2013 17:37:08 +0100
Subject: [PATCH 16/83] [IMP] only concatenate logging configuration
subsequences once
bzr revid: xmo@openerp.com-20130319163708-s4mxsdg3f9xksr07
---
openerp/netsvc.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index e833bcc60e4..6b66830b75e 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -134,7 +134,8 @@ def init_logger():
logconfig = tools.config['log_handler']
- for logconfig_item in DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig:
+ logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig
+ for logconfig_item in logging_configurations:
loggername, level = logconfig_item.split(':')
level = getattr(logging, level, logging.INFO)
logger = logging.getLogger(loggername)
@@ -144,7 +145,7 @@ def init_logger():
if loggername != '':
logger.propagate = False
- for logconfig_item in DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig:
+ for logconfig_item in logging_configurations:
_logger.debug('logger level set: "%s"', logconfig_item)
DEFAULT_LOG_CONFIGURATION = [
From b08d7ef6bd0f1b8a36d82e238d563a37c7fa9057 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Mar 2013 16:39:55 +0100
Subject: [PATCH 17/83] [REF] ir.actions.report.xml: register_all do not make
sense any more:
auto=True reports are looked up in the database for each rendering, so they do
no have to be in the report registry any longer.
auto=False reports will register themselves but at this point
they can be updated to use the new `parser` XML attribute.
bzr revid: vmt@openerp.com-20130322153955-s6nyux2pyez6c01w
---
openerp/addons/base/ir/ir_actions.py | 22 +---------------------
openerp/modules/registry.py | 1 -
2 files changed, 1 insertion(+), 22 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 9a76d5c28fc..b32617d0134 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -85,27 +85,6 @@ class report_xml(osv.osv):
res[report.id] = False
return res
- def register_all(self, cr):
- """Report registration handler that may be overridden by subclasses to
- add their own kinds of report services.
- Loads all reports with no manual loaders (auto==True) and
- registers the appropriate services to implement them.
- """
- opj = os.path.join
- cr.execute("SELECT * FROM ir_act_report_xml WHERE auto=%s ORDER BY id", (True,))
- result = cr.dictfetchall()
- reports = openerp.report.interface.report_int._reports
- for r in result:
- if reports.has_key('report.'+r['report_name']):
- continue
- if r['report_rml'] or r['report_rml_content_data']:
- report_sxw('report.'+r['report_name'], r['model'],
- opj('addons',r['report_rml'] or '/'), header=r['header'])
- if r['report_xsl']:
- report_rml('report.'+r['report_name'], r['model'],
- opj('addons',r['report_xml']),
- r['report_xsl'] and opj('addons',r['report_xsl']))
-
def render_report(self, cr, uid, ids, name, data, context=None):
"""
Look up a report definition and render the report for the provided IDs.
@@ -117,6 +96,7 @@ class report_xml(osv.osv):
# First lookup in the deprecated place, because if the report definition
# has not been updated, it is more likely the correct definition is there.
+ # Only reports with custom parser sepcified in Python are still there.
if 'report.' + name in openerp.report.interface.report_int._reports:
new_report = openerp.report.interface.report_int._reports['report.' + name]
else:
diff --git a/openerp/modules/registry.py b/openerp/modules/registry.py
index b06c500a24c..89cb6143a59 100644
--- a/openerp/modules/registry.py
+++ b/openerp/modules/registry.py
@@ -225,7 +225,6 @@ class RegistryManager(object):
try:
Registry.setup_multi_process_signaling(cr)
registry.do_parent_store(cr)
- registry.get('ir.actions.report.xml').register_all(cr)
cr.commit()
finally:
cr.close()
From 010d8044fe40d3ed402dff0cf8b1c7306a92b00a Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Fri, 22 Mar 2013 17:22:51 +0100
Subject: [PATCH 18/83] [REF] ir.actions.report.xml: renamed ids to res_ids
because those are not the self model IDs.
bzr revid: vmt@openerp.com-20130322162251-j0f3eobpc6oh4il1
---
openerp/addons/base/ir/ir_actions.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index b32617d0134..4b4ed6fe799 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -85,7 +85,7 @@ class report_xml(osv.osv):
res[report.id] = False
return res
- def render_report(self, cr, uid, ids, name, data, context=None):
+ def render_report(self, cr, uid, res_ids, name, data, context=None):
"""
Look up a report definition and render the report for the provided IDs.
"""
@@ -119,7 +119,7 @@ class report_xml(osv.osv):
else:
raise Exception, "Required report does not exist: %s" % r
- return new_report.create(cr, uid, ids, data, context)
+ return new_report.create(cr, uid, res_ids, data, context)
_name = 'ir.actions.report.xml'
_inherit = 'ir.actions.actions'
From 0d329163d10131035da1f6c3e8cca99d9336cc6b Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 11:53:19 +0100
Subject: [PATCH 19/83] [IMP] report_webkit: add a YAML test file to print the
demo report.
bzr revid: vmt@openerp.com-20130325105319-4hyfk1thimr10o34
---
addons/report_webkit/__openerp__.py | 3 +++
addons/report_webkit/test/print.yml | 10 ++++++++++
2 files changed, 13 insertions(+)
create mode 100644 addons/report_webkit/test/print.yml
diff --git a/addons/report_webkit/__openerp__.py b/addons/report_webkit/__openerp__.py
index d1640ab2f30..b962669eee9 100644
--- a/addons/report_webkit/__openerp__.py
+++ b/addons/report_webkit/__openerp__.py
@@ -92,6 +92,9 @@ TODO:
'demo': [
"report/webkit_report_demo.xml",
],
+ 'test': [
+ "test/print.yml",
+ ],
'installable': True,
'auto_install': False,
'images': ['images/companies_webkit.jpeg','images/header_html.jpeg','images/header_img.jpeg'],
diff --git a/addons/report_webkit/test/print.yml b/addons/report_webkit/test/print.yml
new file mode 100644
index 00000000000..b201efa97de
--- /dev/null
+++ b/addons/report_webkit/test/print.yml
@@ -0,0 +1,10 @@
+-
+ Print the report_webkit demo report.
+-
+ !python {model: ir.actions.report.xml}: |
+ import os
+ from openerp import netsvc, tools
+ ids = self.pool['ir.actions.report.xml'].search(cr, uid, [], {})
+ (data, format) = netsvc.LocalService('report.webkit.ir.actions.report.xml').create(cr, uid, ids, {}, {})
+ if tools.config['test_report_directory']:
+ file(os.path.join(tools.config['test_report_directory'], 'report_webkit_demo_report.'+format), 'wb+').write(data)
From 6e43e6c4e1cc8da4b2cd1f6919ea43c79295686c Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 13:33:59 +0100
Subject: [PATCH 20/83] [FIX] reports: now that _register_all() has been
removed, LocalService() must be modified to do the lookup in the database
too.
bzr revid: vmt@openerp.com-20130325123359-szxx6a0n06tha70p
---
openerp/addons/base/ir/ir_actions.py | 11 +++++++++--
openerp/netsvc.py | 18 +++++++++++++++++-
2 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 4b4ed6fe799..1d717048b3f 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -85,9 +85,9 @@ class report_xml(osv.osv):
res[report.id] = False
return res
- def render_report(self, cr, uid, res_ids, name, data, context=None):
+ def _lookup_report(self, cr, name):
"""
- Look up a report definition and render the report for the provided IDs.
+ Look up a report definition.
"""
import openerp
import operator
@@ -119,6 +119,13 @@ class report_xml(osv.osv):
else:
raise Exception, "Required report does not exist: %s" % r
+ return new_report
+
+ def render_report(self, cr, uid, res_ids, name, data, context=None):
+ """
+ Look up a report definition and render the report for the provided IDs.
+ """
+ new_report = self._lookup_report(cr, name)
return new_report.create(cr, uid, res_ids, data, context)
_name = 'ir.actions.report.xml'
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 1e1cd887d1a..4ad2d24ddb2 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -44,13 +44,29 @@ import openerp
_logger = logging.getLogger(__name__)
def LocalService(name):
+ """
+ The openerp.netsvc.LocalService() fucntion is deprecated. It still works
+ in two cases: workflows and reports. For workflows, instead of using
+ LocalService('workflow'), openerp.workflow should be used (better yet,
+ methods on openerp.osv.orm.Model should be used). For reports,
+ openerp.report.render_report() should be used (methods on the Model should
+ be provided too in the future).
+ """
_logger.warning("LocalService('%s') is deprecated." % name)
if name == 'workflow':
return openerp.workflow
if name.startswith('report.'):
- return openerp.report.interface.report_int._reports[name]
+ report = openerp.report.interface.report_int._reports.get(name)
+ if report:
+ return report
+ else:
+ dbname = getattr(threading.currentThread(), 'dbname', None)
+ if dbname:
+ registry = openerp.modules.registry.RegistryManager.get(dbname)
+ with registry.cursor() as cr:
+ return registry['ir.actions.report.xml']._lookup_report(cr, name[len('report.'):])
BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, _NOTHING, DEFAULT = range(10)
#The background is set with 40 plus the number of the color, and the foreground with 30
From 464af881bf9915514f21cbc03f0537ab7355a0e6 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 14:12:45 +0100
Subject: [PATCH 21/83] [IMP] netsvc: LocalService deprecation now guarded via
openerp.conf.deprecation.
bzr revid: vmt@openerp.com-20130325131245-9o5uizn6v4r8irc3
---
openerp/conf/deprecation.py | 12 ++++++++++++
openerp/netsvc.py | 3 ++-
openerp/report/report_sxw.py | 11 +++++++++++
3 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/openerp/conf/deprecation.py b/openerp/conf/deprecation.py
index 11399bef4fb..fec2fbbf224 100644
--- a/openerp/conf/deprecation.py
+++ b/openerp/conf/deprecation.py
@@ -26,6 +26,8 @@ additional code is needed throughout the core library. This module keeps
track of those specific measures by providing variables that can be unset
by the user to check if her code is future proof.
+In a perfect world, all these variables are set to False, the corresponding
+code removed, and thus these variables made unnecessary.
"""
# If True, the Python modules inside the openerp namespace are made available
@@ -35,4 +37,14 @@ by the user to check if her code is future proof.
# Change to False around 2013.02.
open_openerp_namespace = False
+# If True, openerp.netsvc.LocalService() can be used to lookup reports or to
+# access openerp.workflow.
+# Introduced around 2013.03.
+# Among the related code:
+# - The openerp.netsvc.LocalService() function.
+# - The openerp.report.interface.report_int._reports dictionary.
+# - The register attribute in openerp.report.report_sxw (and in its inheriting
+# classes).
+allow_local_service = True
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 4ad2d24ddb2..799fd74158b 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -52,7 +52,8 @@ def LocalService(name):
openerp.report.render_report() should be used (methods on the Model should
be provided too in the future).
"""
- _logger.warning("LocalService('%s') is deprecated." % name)
+ assert openerp.conf.deprecation.allow_local_service
+ _logger.warning("LocalService() is deprecated since march 2013 (it was called with '%s')." % name)
if name == 'workflow':
return openerp.workflow
diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py
index 0e2a7e18edd..b0fb70513bb 100644
--- a/openerp/report/report_sxw.py
+++ b/openerp/report/report_sxw.py
@@ -388,6 +388,17 @@ class rml_parse(object):
self.setCompany(objects[0].company_id)
class report_sxw(report_rml, preprocess.report):
+ """
+ The register=True kwarg has been added to help remove the
+ openerp.netsvc.LocalService() indirection and the related
+ openerp.report.interface.report_int._reports dictionary:
+ report_sxw registered in XML with auto=False are also registered in Python.
+ In that case, they are registered in the above dictionary. Since
+ registration is automatically done upon instanciation, and that
+ instanciation is needed before rendering, a way was needed to
+ instanciate-without-register a report. In the future, no report
+ should be registered in the above dictionary and it will be dropped.
+ """
def __init__(self, name, table, rml=False, parser=rml_parse, header='external', store=False, register=True):
report_rml.__init__(self, name, table, rml, '', register=register)
self.name = name
From 1ea66164f30437a176e72cdc453c307e7c66b3f5 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 14:17:56 +0100
Subject: [PATCH 22/83] [IMP] report: registration deprecation now guarded via
openerp.conf.deprecation.
bzr revid: vmt@openerp.com-20130325131756-5bns19n20nar9ogs
---
openerp/conf/deprecation.py | 9 +++++++--
openerp/report/interface.py | 2 ++
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/openerp/conf/deprecation.py b/openerp/conf/deprecation.py
index fec2fbbf224..66ddfc441d4 100644
--- a/openerp/conf/deprecation.py
+++ b/openerp/conf/deprecation.py
@@ -43,8 +43,13 @@ open_openerp_namespace = False
# Among the related code:
# - The openerp.netsvc.LocalService() function.
# - The openerp.report.interface.report_int._reports dictionary.
-# - The register attribute in openerp.report.report_sxw (and in its inheriting
-# classes).
+# - The register attribute in openerp.report.interface.report_int (and in its
+# inheriting classes).
allow_local_service = True
+# Applies for the register attribute in openerp.report.interface.report_int.
+# See comments for allow_local_service above.
+# Introduced around 2013.03.
+allow_report_int_registration = True
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/report/interface.py b/openerp/report/interface.py
index d6d90b17d42..2f3a89a913b 100644
--- a/openerp/report/interface.py
+++ b/openerp/report/interface.py
@@ -45,6 +45,8 @@ class report_int(object):
def __init__(self, name, register=True):
if register:
+ import openerp
+ assert openerp.conf.deprecation.allow_report_int_registration
assert name.startswith('report.'), 'Report names should start with "report.".'
assert name not in self._reports, 'The report "%s" already exists.' % name
self._reports[name] = self
From cea4c4ff8c10985cb8ba3aa2c915d305a97cb0dc Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 14:48:36 +0100
Subject: [PATCH 23/83] [IMP] conf.deprecation: comment.
bzr revid: vmt@openerp.com-20130325134836-0mlduchmvw8ken2o
---
openerp/conf/deprecation.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/openerp/conf/deprecation.py b/openerp/conf/deprecation.py
index 66ddfc441d4..41bd4f971d9 100644
--- a/openerp/conf/deprecation.py
+++ b/openerp/conf/deprecation.py
@@ -44,6 +44,7 @@ open_openerp_namespace = False
# - The openerp.netsvc.LocalService() function.
# - The openerp.report.interface.report_int._reports dictionary.
# - The register attribute in openerp.report.interface.report_int (and in its
+# - auto column in ir.actions.report.xml.
# inheriting classes).
allow_local_service = True
From 2829882389f08ae3ea0e449ca1b5d835bbdc6144 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 15:32:56 +0100
Subject: [PATCH 24/83] [IMP] orm: added a print_report() method.
bzr revid: vmt@openerp.com-20130325143256-f8hw66j09310cgjo
---
openerp/osv/orm.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py
index c6609592e00..69c7498c6b9 100644
--- a/openerp/osv/orm.py
+++ b/openerp/osv/orm.py
@@ -5155,6 +5155,15 @@ class BaseModel(object):
get_xml_id = get_external_id
_get_xml_ids = _get_external_ids
+ def print_report(self, cr, uid, ids, name, data, context=None):
+ """
+ Render the report `name` for the given IDs. The report must be defined
+ for this model, not another.
+ """
+ report = self.pool['ir.actions.report.xml']._lookup_report(cr, name)
+ assert self._name == report.table
+ return report.create(cr, uid, ids, data, context)
+
# Transience
def is_transient(self):
""" Return whether the model is transient.
From 63222e389e75834e3986fd30ec9bb69f6ff9703d Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 15:40:55 +0100
Subject: [PATCH 25/83] [DOC] changelog updated to mention the new
print_report().
bzr revid: vmt@openerp.com-20130325144055-kmoixbn2e40vr3vu
---
doc/changelog.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/doc/changelog.rst b/doc/changelog.rst
index 0080a66c176..59c4a6bced5 100644
--- a/doc/changelog.rst
+++ b/doc/changelog.rst
@@ -7,7 +7,7 @@ Changelog
-------
- Almost removed ``LocalService()``. For reports,
- ``openerp.report.render_report()`` can be used. For workflows, see
+ ``openerp.osv.orm.Model.print_report()`` can be used. For workflows, see
:ref:`orm-workflows`.
- Removed support for the ``NET-RPC`` protocol.
- Added the :ref:`Long polling ` worker type.
From 385491f46e990936b039c8749b18b8f8a9bcbc86 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Mon, 25 Mar 2013 15:48:33 +0100
Subject: [PATCH 26/83] [IMP] yaml_import: add openerp in the evaluation
context.
bzr revid: vmt@openerp.com-20130325144833-aos5t6x5bc8vi0ss
---
openerp/tools/yaml_import.py | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 3172caac1f4..2ce7fc0a99a 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -540,10 +540,18 @@ class YamlInterpreter(object):
self.noupdate = node.noupdate
def process_python(self, node):
+ import openerp
python, statements = node.items()[0]
model = self.get_model(python.model)
statements = statements.replace("\r\n", "\n")
- code_context = { 'model': model, 'cr': self.cr, 'uid': self.uid, 'log': self._log, 'context': self.context }
+ code_context = {
+ 'model': model,
+ 'cr': self.cr,
+ 'uid': self.uid,
+ 'log': self._log,
+ 'context': self.context,
+ 'openerp': openerp,
+ }
code_context.update({'self': model}) # remove me when no !python block test uses 'self' anymore
try:
code_obj = compile(statements, self.filename, 'exec')
From 6f72fe32353e8bab50e70a2b28d1b43add871f75 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?=
Date: Mon, 25 Mar 2013 16:12:59 +0100
Subject: [PATCH 27/83] [FIX] mail: translate issue
bzr revid: tde@openerp.com-20130325151259-dghrblczpge5kgpr
---
addons/mail/mail_followers.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/mail/mail_followers.py b/addons/mail/mail_followers.py
index d729efc0f5c..450b81dabbf 100644
--- a/addons/mail/mail_followers.py
+++ b/addons/mail/mail_followers.py
@@ -139,10 +139,10 @@ class mail_notification(osv.Model):
company = user.company_id.website and "%s" % (user.company_id.website, user.company_id.name) or user.company_id.name
else:
company = user.name
- signature_company = _('Send by %(company)s using %(openerp)s.' % {
+ signature_company = _('Send by %(company)s using %(openerp)s.') % {
'company': company,
'openerp': "OpenERP"
- })
+ }
footer = tools.append_content_to_html(footer, signature_company, plaintext=False, container_tag='div')
return footer
From 9b5db9ad9ebd84979d816b94800b5c823c6f81df Mon Sep 17 00:00:00 2001
From: Fabien Pinckaers
Date: Tue, 26 Mar 2013 09:07:48 +0100
Subject: [PATCH 28/83] [IMP] small code cleanup
bzr revid: fp@tinyerp.com-20130326080748-fij148wyb0tirip5
---
openerp/addons/base/res/res_partner.py | 14 ++++----------
1 file changed, 4 insertions(+), 10 deletions(-)
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index b35db73b1f4..d6e554b598d 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -362,20 +362,14 @@ class res_partner(osv.osv, format_address):
# Update parent and siblings or children records
if isinstance(ids, (int, long)):
ids = [ids]
- if vals.get('is_company')==False:
- vals.update({'child_ids' : [(5,)]})
for partner in self.browse(cr, uid, ids, context=context):
update_ids = []
if partner.is_company:
- domain_children = [('parent_id', '=', partner.id), ('use_parent_address', '=', True)]
+ domain_children = [('parent_id', 'child_of', partner.id), ('use_parent_address', '=', True)]
update_ids = self.search(cr, uid, domain_children, context=context)
- elif partner.parent_id:
- if vals.get('use_parent_address')==True:
- domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)]
- update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context)
- if 'use_parent_address' not in vals and partner.use_parent_address:
- domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)]
- update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context)
+ elif partner.parent_id and vals.get('use_parent_address', partner.use_parent_address):
+ domain_siblings = [('parent_id', '=', partner.parent_id.id), ('use_parent_address', '=', True)]
+ update_ids = [partner.parent_id.id] + self.search(cr, uid, domain_siblings, context=context)
self.update_address(cr, uid, update_ids, vals, context)
return super(res_partner,self).write(cr, uid, ids, vals, context=context)
From 5cc71e1bababf7ea1d2bc9d8ccdd33ae8af74711 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 26 Mar 2013 15:39:37 +0100
Subject: [PATCH 29/83] [FIX] workitem: the early return in the case
workitem.state == running was seemingly wrong as workitem.state is mutated in
some other IFs.
bzr revid: vmt@openerp.com-20130326143937-lf4mswer4ablj46i
---
openerp/workflow/workitem.py | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/openerp/workflow/workitem.py b/openerp/workflow/workitem.py
index 88a786e6c67..a5639fa0c7c 100644
--- a/openerp/workflow/workitem.py
+++ b/openerp/workflow/workitem.py
@@ -44,12 +44,10 @@ def create(cr, act_datas, inst_id, ident, stack):
def process(cr, workitem, ident, signal=None, force_running=False, stack=None):
assert stack is not None
+
cr.execute('select * from wkf_activity where id=%s', (workitem['act_id'],))
activity = cr.dictfetchone()
- if workitem['state'] == 'running':
- return True
-
triggers = False
if workitem['state'] == 'active':
triggers = True
From d96ec9c680ea3ea5c9d961192a51478593447a3b Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 26 Mar 2013 16:40:06 +0100
Subject: [PATCH 30/83] [REF] logging: removed deprecated Logger class.
bzr revid: vmt@openerp.com-20130326154006-s19z7aem22qeboo0
---
openerp/loglevels.py | 61 --------------------------------------------
1 file changed, 61 deletions(-)
diff --git a/openerp/loglevels.py b/openerp/loglevels.py
index 3172a2b2042..b58b4d0bfa9 100644
--- a/openerp/loglevels.py
+++ b/openerp/loglevels.py
@@ -33,67 +33,6 @@ LOG_CRITICAL = 'critical'
logging.TEST = logging.INFO - 5
logging.addLevelName(logging.TEST, 'TEST')
-_logger = logging.getLogger(__name__)
-
-class Logger(object):
- def __init__(self):
- _logger.warning(
- "The netsvc.Logger API shouldn't be used anymore, please "
- "use the standard `logging.getLogger` API instead.")
- super(Logger, self).__init__()
-
- def notifyChannel(self, name, level, msg):
- _logger.warning(
- "notifyChannel API shouldn't be used anymore, please use "
- "the standard `logging` module instead.")
- from service import common
-
- log = logging.getLogger(__name__ + '.deprecated.' + ustr(name))
-
- if level in [LOG_TEST] and not hasattr(log, level):
- fct = lambda msg, *args, **kwargs: log.log(getattr(logging, level.upper()), msg, *args, **kwargs)
- setattr(log, level, fct)
-
-
- level_method = getattr(log, level)
-
- if isinstance(msg, Exception):
- msg = exception_to_unicode(msg)
-
- try:
- msg = ustr(msg).strip()
- if level in (LOG_ERROR, LOG_CRITICAL): # and tools.config.get_misc('debug','env_info',False):
- msg = common.exp_get_server_environment() + "\n" + msg
-
- result = msg.split('\n')
- except UnicodeDecodeError:
- result = msg.strip().split('\n')
- try:
- if len(result)>1:
- for idx, s in enumerate(result):
- level_method('[%02d]: %s' % (idx+1, s,))
- elif result:
- level_method(result[0])
- except IOError:
- # TODO: perhaps reset the logger streams?
- #if logrotate closes our files, we end up here..
- pass
- except Exception:
- # better ignore the exception and carry on..
- pass
-
- def set_loglevel(self, level, logger=None):
- if logger is not None:
- log = logging.getLogger(str(logger))
- else:
- log = logging.getLogger()
- log.setLevel(logging.INFO) # make sure next msg is printed
- log.info("Log level changed to %s" % logging.getLevelName(level))
- log.setLevel(level)
-
- def shutdown(self):
- logging.shutdown()
-
# TODO get_encodings, ustr and exception_to_unicode were originally from tools.misc.
# There are here until we refactor tools so that this module doesn't depends on tools.
From c313b4073ae6721b057f1ea2c87b2cc5139776a8 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 26 Mar 2013 16:58:44 +0100
Subject: [PATCH 31/83] [REF] logging: removed pseudo log-level TEST.
When --test-enable is used, it is expected that test output is visible,
thus using log-level INFO is natural.
On the down side you lose the nice blue hint that tests did actually
run when --log-level test was given.
bzr revid: vmt@openerp.com-20130326155844-83e2tcqokvblr0ln
---
openerp/addons/base/ir/ir_mail_server.py | 2 +-
openerp/loglevels.py | 5 -----
openerp/modules/loading.py | 2 +-
openerp/modules/module.py | 4 ++--
openerp/netsvc.py | 2 --
openerp/tools/config.py | 2 +-
openerp/tools/test_reports.py | 6 +++---
openerp/tools/yaml_import.py | 2 +-
openerpcommand/initialize.py | 2 +-
9 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/openerp/addons/base/ir/ir_mail_server.py b/openerp/addons/base/ir/ir_mail_server.py
index 5a3c40552f0..24feefb18ad 100644
--- a/openerp/addons/base/ir/ir_mail_server.py
+++ b/openerp/addons/base/ir/ir_mail_server.py
@@ -411,7 +411,7 @@ class ir_mail_server(osv.osv):
# Do not actually send emails in testing mode!
if getattr(threading.currentThread(), 'testing', False):
- _logger.log(logging.TEST, "skip sending email in test mode")
+ _logger.info("skip sending email in test mode")
return message['Message-Id']
# Get SMTP Server Details from Mail Server
diff --git a/openerp/loglevels.py b/openerp/loglevels.py
index b58b4d0bfa9..fdb32d8d2f0 100644
--- a/openerp/loglevels.py
+++ b/openerp/loglevels.py
@@ -20,19 +20,14 @@
##############################################################################
import sys
-import logging
LOG_NOTSET = 'notset'
LOG_DEBUG = 'debug'
-LOG_TEST = 'test'
LOG_INFO = 'info'
LOG_WARNING = 'warn'
LOG_ERROR = 'error'
LOG_CRITICAL = 'critical'
-logging.TEST = logging.INFO - 5
-logging.addLevelName(logging.TEST, 'TEST')
-
# TODO get_encodings, ustr and exception_to_unicode were originally from tools.misc.
# There are here until we refactor tools so that this module doesn't depends on tools.
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 07e5c28a925..350452e16c4 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -96,7 +96,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
"""
for filename in package.data[kind]:
if kind == 'test':
- _logger.log(logging.TEST, "module %s: loading %s", module_name, filename)
+ _logger.info("module %s: loading test %s", module_name, filename)
else:
_logger.info("module %s: loading %s", module_name, filename)
_, ext = os.path.splitext(filename)
diff --git a/openerp/modules/module.py b/openerp/modules/module.py
index e71c1f1c519..9fdca4a9766 100644
--- a/openerp/modules/module.py
+++ b/openerp/modules/module.py
@@ -503,7 +503,7 @@ def run_unit_tests(module_name):
for m in ms:
suite.addTests(unittest2.TestLoader().loadTestsFromModule(m))
if ms:
- _logger.log(logging.TEST, 'module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
+ _logger.info('module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
# Use a custom stream object to log the test executions.
class MyStream(object):
def __init__(self):
@@ -518,7 +518,7 @@ def run_unit_tests(module_name):
if not first:
c = '` ' + c
first = False
- _logger.log(logging.TEST, c)
+ _logger.info(c)
result = unittest2.TextTestRunner(verbosity=2, stream=MyStream()).run(suite)
if result.wasSuccessful():
return True
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 6b66830b75e..7b971073275 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -63,7 +63,6 @@ COLOR_PATTERN = "%s%s%%s%s" % (COLOR_SEQ, COLOR_SEQ, RESET_SEQ)
LEVEL_COLOR_MAPPING = {
logging.DEBUG: (BLUE, DEFAULT),
logging.INFO: (GREEN, DEFAULT),
- logging.TEST: (WHITE, BLUE),
logging.WARNING: (YELLOW, DEFAULT),
logging.ERROR: (RED, DEFAULT),
logging.CRITICAL: (WHITE, RED),
@@ -161,7 +160,6 @@ PSEUDOCONFIG_MAPPER = {
'debug_rpc': ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG'],
'debug': ['openerp:DEBUG'],
'debug_sql': ['openerp.sql_db:DEBUG'],
- 'test': ['openerp:TEST'],
'info': [],
'warn': ['openerp:WARNING'],
'error': ['openerp:ERROR'],
diff --git a/openerp/tools/config.py b/openerp/tools/config.py
index 8fd85fa9dae..0ef288a7a3a 100644
--- a/openerp/tools/config.py
+++ b/openerp/tools/config.py
@@ -84,7 +84,7 @@ class configmanager(object):
self.config_file = fname
self.has_ssl = check_ssl()
- self._LOGLEVELS = dict([(getattr(loglevels, 'LOG_%s' % x), getattr(logging, x)) for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'TEST', 'DEBUG', 'NOTSET')])
+ self._LOGLEVELS = dict([(getattr(loglevels, 'LOG_%s' % x), getattr(logging, x)) for x in ('CRITICAL', 'ERROR', 'WARNING', 'INFO', 'DEBUG', 'NOTSET')])
version = "%s %s" % (release.description, release.version)
self.parser = parser = optparse.OptionParser(version=version, option_class=MyOption)
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index 9ec4dab6cc3..14deffb9ec2 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -49,7 +49,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
rname_s = rname[7:]
else:
rname_s = rname
- _logger.log(netsvc.logging.TEST, " - Trying %s.create(%r)", rname, ids)
+ _logger.info(" - Trying %s.create(%r)", rname, ids)
res = netsvc.LocalService(rname).create(cr, uid, ids, data, context)
if not isinstance(res, tuple):
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
@@ -92,7 +92,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
_logger.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format)
return False
- _logger.log(netsvc.logging.TEST, " + Report %s produced correctly.", rname)
+ _logger.info(" + Report %s produced correctly.", rname)
return True
def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
@@ -126,7 +126,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
pool = pooler.get_pool(cr.dbname)
def log_test(msg, *args):
- _logger.log(netsvc.logging.TEST, " - " + msg, *args)
+ _logger.info(" - " + msg, *args)
datas = {}
if active_model:
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 3172caac1f4..2fffb07daaf 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -922,7 +922,7 @@ class YamlInterpreter(object):
def yaml_import(cr, module, yamlfile, kind, idref=None, mode='init', noupdate=False, report=None):
if idref is None:
idref = {}
- loglevel = logging.TEST if kind == 'test' else logging.DEBUG
+ loglevel = logging.INFO if kind == 'test' else logging.DEBUG
yaml_string = yamlfile.read()
yaml_interpreter = YamlInterpreter(cr, module, idref, mode, filename=yamlfile.name, report=report, noupdate=noupdate, loglevel=loglevel)
yaml_interpreter.process(yaml_string)
diff --git a/openerpcommand/initialize.py b/openerpcommand/initialize.py
index 44fb084bd1e..9822dd5f5b2 100644
--- a/openerpcommand/initialize.py
+++ b/openerpcommand/initialize.py
@@ -47,7 +47,7 @@ def run(args):
config = openerp.tools.config
if args.tests:
- config['log_handler'] = [':TEST']
+ config['log_handler'] = [':INFO']
config['test_enable'] = True
config['without_demo'] = False
else:
From a4fbd26541ddff9e89c20b4fde1fb6be07fa23dd Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 26 Mar 2013 17:20:40 +0100
Subject: [PATCH 32/83] [REF]: use openerp.workflow instead of
LocalService("workflow").
bzr revid: vmt@openerp.com-20130326162040-kkq46wrur3pgn6eh
---
openerp/addons/base/ir/ir_actions.py | 6 +++---
openerp/addons/base/ir/ir_model.py | 5 ++---
openerp/addons/base/ir/workflow/workflow.py | 8 +++-----
openerp/modules/graph.py | 2 --
openerp/modules/migration.py | 2 --
openerp/tools/convert.py | 10 +++++-----
openerp/tools/yaml_import.py | 5 ++---
7 files changed, 15 insertions(+), 23 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 3e29a0a9b97..29cebd81823 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -26,13 +26,14 @@ from socket import gethostname
import time
from openerp import SUPERUSER_ID
-from openerp import netsvc, tools
+from openerp import tools
from openerp.osv import fields, osv
import openerp.report.interface
from openerp.report.report_sxw import report_sxw, report_rml
from openerp.tools.config import config
from openerp.tools.safe_eval import safe_eval as eval
from openerp.tools.translate import _
+import openerp.workflow
_logger = logging.getLogger(__name__)
@@ -645,12 +646,11 @@ class actions_server(osv.osv):
_logger.warning('Failed to send email to: %s', addresses)
if action.state == 'trigger':
- wf_service = netsvc.LocalService("workflow")
model = action.wkf_model_id.model
m2o_field_name = action.trigger_obj_id.name
target_id = obj_pool.read(cr, uid, context.get('active_id'), [m2o_field_name])[m2o_field_name]
target_id = target_id[0] if isinstance(target_id,tuple) else target_id
- wf_service.trg_validate(uid, model, int(target_id), action.trigger_name, cr)
+ openerp.workflow.trg_validate(uid, model, int(target_id), action.trigger_name, cr)
if action.state == 'sms':
#TODO: set the user and password from the system
diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py
index b6bb0c5e227..088dfdd8a3a 100644
--- a/openerp/addons/base/ir/ir_model.py
+++ b/openerp/addons/base/ir/ir_model.py
@@ -26,7 +26,7 @@ import types
import openerp
from openerp import SUPERUSER_ID
-from openerp import netsvc, pooler, tools
+from openerp import pooler, tools
from openerp.osv import fields,osv
from openerp.osv.orm import Model
from openerp.tools.safe_eval import safe_eval as eval
@@ -1047,10 +1047,9 @@ class ir_model_data(osv.osv):
wkf_todo.extend(cr.fetchall())
cr.execute("update wkf_transition set condition='True', group_id=NULL, signal=NULL,act_to=act_from,act_from=%s where act_to=%s", (res_id,res_id))
- wf_service = netsvc.LocalService("workflow")
for model,res_id in wkf_todo:
try:
- wf_service.trg_write(uid, model, res_id, cr)
+ openerp.workflow.trg_write(uid, model, res_id, cr)
except Exception:
_logger.info('Unable to force processing of workflow for item %s@%s in order to leave activity to be deleted', res_id, model, exc_info=True)
diff --git a/openerp/addons/base/ir/workflow/workflow.py b/openerp/addons/base/ir/workflow/workflow.py
index 46884c5035b..0ce951940a9 100644
--- a/openerp/addons/base/ir/workflow/workflow.py
+++ b/openerp/addons/base/ir/workflow/workflow.py
@@ -21,7 +21,7 @@
from openerp.osv import fields, osv
from openerp.tools.translate import _
-from openerp import netsvc
+import openerp.workflow
class workflow(osv.osv):
_name = "workflow"
@@ -40,8 +40,7 @@ class workflow(osv.osv):
def write(self, cr, user, ids, vals, context=None):
if not context:
context={}
- wf_service = netsvc.LocalService("workflow")
- wf_service.clear_cache(cr, user)
+ openerp.workflow.clear_cache(cr, user)
return super(workflow, self).write(cr, user, ids, vals, context=context)
def get_active_workitems(self, cr, uid, res, res_id, context=None):
@@ -62,8 +61,7 @@ class workflow(osv.osv):
def create(self, cr, user, vals, context=None):
if not context:
context={}
- wf_service = netsvc.LocalService("workflow")
- wf_service.clear_cache(cr, user)
+ openerp.workflow.clear_cache(cr, user)
return super(workflow, self).create(cr, user, vals, context=context)
workflow()
diff --git a/openerp/modules/graph.py b/openerp/modules/graph.py
index 56b17e3239a..0e14480d8ac 100644
--- a/openerp/modules/graph.py
+++ b/openerp/modules/graph.py
@@ -36,8 +36,6 @@ from openerp.tools.safe_eval import safe_eval as eval
import openerp.pooler as pooler
from openerp.tools.translate import _
-import openerp.netsvc as netsvc
-
import zipfile
import openerp.release as release
diff --git a/openerp/modules/migration.py b/openerp/modules/migration.py
index e0faa77c3a4..16de56879b9 100644
--- a/openerp/modules/migration.py
+++ b/openerp/modules/migration.py
@@ -36,8 +36,6 @@ from openerp.tools.safe_eval import safe_eval as eval
import openerp.pooler as pooler
from openerp.tools.translate import _
-import openerp.netsvc as netsvc
-
import zipfile
import openerp.release as release
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index 59e66512da4..b462b6d6aef 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -29,7 +29,9 @@ import sys
# for eval context:
import time
-import openerp.release as release
+
+import openerp.release
+import openerp.workflow
import assertion_report
@@ -85,7 +87,7 @@ def _get_idref(self, cr, uid, model_str, context, idref):
time=time,
DateTime=datetime,
timedelta=timedelta,
- version=release.major_version,
+ version=openerp.release.major_version,
ref=_ref(self, cr),
pytz=pytz)
if len(model_str):
@@ -526,9 +528,7 @@ form: module.record_id""" % (xml_id,)
id = _eval_xml(self, rec[0], self.pool, cr, self.uid, self.idref)
uid = self.get_uid(cr, self.uid, data_node, rec)
- import openerp.netsvc as netsvc
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_validate(uid, model,
+ openerp.workflow.trg_validate(uid, model,
id,
str(rec.get('action','')), cr)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 2fffb07daaf..5cad12d76c1 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -7,6 +7,7 @@ import logging
import openerp.pooler as pooler
import openerp.sql_db as sql_db
+import openerp.workflow
import misc
from config import config
import yaml_tag
@@ -584,9 +585,7 @@ class YamlInterpreter(object):
signals=[x['signal'] for x in self.cr.dictfetchall()]
if workflow.action not in signals:
raise YamlImportException('Incorrect action %s. No such action defined' % workflow.action)
- import openerp.netsvc as netsvc
- wf_service = netsvc.LocalService("workflow")
- wf_service.trg_validate(uid, workflow.model, id, workflow.action, self.cr)
+ openerp.workflow.trg_validate(uid, workflow.model, id, workflow.action, self.cr)
def _eval_params(self, model, params):
args = []
From 4ebedfc25d147642a771c70582ba0d952673166f Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Tue, 26 Mar 2013 17:33:36 +0100
Subject: [PATCH 33/83] [REF] netsvc: it seems the re-exports from loglevels
are no longer necessary.
bzr revid: vmt@openerp.com-20130326163336-61jh2efakhg0gmoi
---
openerp/netsvc.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 7b971073275..bed7cd8c8d7 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -38,8 +38,6 @@ try:
except ImportError:
psutil = None
-# TODO modules that import netsvc only for things from loglevels must be changed to use loglevels.
-from loglevels import *
import tools
import openerp
From acbc7cdae55c5c59df7caafe131f1d73cd231042 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Wed, 27 Mar 2013 04:36:43 +0000
Subject: [PATCH 34/83] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20130326044430-yyfw536a5h0tr28v
bzr revid: launchpad_translations_on_behalf_of_openerp-20130327043643-jbrczaj7na50t51e
---
addons/account_payment/i18n/hu.po | 52 +-
addons/account_voucher/i18n/hu.po | 48 +-
addons/analytic/i18n/hu.po | 74 +-
addons/mail/i18n/cs.po | 1687 +++++++++++++++++++++++++++++
4 files changed, 1786 insertions(+), 75 deletions(-)
create mode 100644 addons/mail/i18n/cs.po
diff --git a/addons/account_payment/i18n/hu.po b/addons/account_payment/i18n/hu.po
index d45c8e42485..9bfe4215880 100644
--- a/addons/account_payment/i18n/hu.po
+++ b/addons/account_payment/i18n/hu.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2011-01-30 18:36+0000\n"
-"Last-Translator: Krisztian Eyssen \n"
+"PO-Revision-Date: 2013-03-26 14:28+0000\n"
+"Last-Translator: krnkris \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-16 05:26+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 04:36+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: account_payment
#: model:ir.actions.act_window,help:account_payment.action_payment_order_tree
@@ -28,6 +28,14 @@ msgid ""
"
\n"
" "
msgstr ""
+"\n"
+" Kattintson átutalási megbízás létrehozásához.\n"
+"
\n"
+" Az átutalási, fizetési megbízás egy fizetési igény "
+"kiegyenlítése a beszállító felé vagy \n"
+" egy vevő jóváíró számlájához a vállalkozásánál.\n"
+"
\n"
+" "
#. module: account_payment
#: field:payment.line,currency:0
@@ -81,7 +89,7 @@ msgstr "Vállalat"
#. module: account_payment
#: model:res.groups,name:account_payment.group_account_payment
msgid "Accounting / Payments"
-msgstr ""
+msgstr "Könyvelés / Átutalások, fizetések"
#. module: account_payment
#: selection:payment.line,state:0
@@ -123,13 +131,15 @@ msgid ""
"You cannot cancel an invoice which has already been imported in a payment "
"order. Remove it from the following payment order : %s."
msgstr ""
+"Nem tud visszavonni olyan számlát ami már be lett töltve, importálva az "
+"utalásba. Vegye le a következő utalási megbízásból : %s."
#. module: account_payment
#: code:addons/account_payment/account_invoice.py:43
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "Hiba!"
#. module: account_payment
#: report:payment.order:0
@@ -194,6 +204,10 @@ msgid ""
" Once the bank is confirmed the status is set to 'Confirmed'.\n"
" Then the order is paid the status is 'Done'."
msgstr ""
+"Ha az utalás, megbízás be lett rögzítve akkor annak állapota 'Tervezet'.\n"
+" Ha a bank jóváhagyta annak rögzítési állapotát akkor az állapota "
+"'Jóváhagyott'.\n"
+" Ha az utalás, fizetés végrehajtva akkor annak az állapota 'Elvégezve'."
#. module: account_payment
#: view:payment.order:0
@@ -219,7 +233,7 @@ msgstr "Struktúrált"
#. module: account_payment
#: view:account.bank.statement:0
msgid "Import Payment Lines"
-msgstr ""
+msgstr "Utalási sorok betöltése, importálása"
#. module: account_payment
#: view:payment.line:0
@@ -261,7 +275,7 @@ msgstr ""
#. module: account_payment
#: field:payment.order,date_created:0
msgid "Creation Date"
-msgstr ""
+msgstr "Létrehozás dátuma"
#. module: account_payment
#: help:payment.mode,journal:0
@@ -271,7 +285,7 @@ msgstr "A fizetési mód bank- vagy pénztárnaplója"
#. module: account_payment
#: selection:payment.order,date_prefered:0
msgid "Fixed date"
-msgstr "Rögzített"
+msgstr "Rögzített dátum"
#. module: account_payment
#: field:payment.line,info_partner:0
@@ -369,7 +383,7 @@ msgstr "Átutalás hozzáadása a kivonathoz"
#: code:addons/account_payment/account_move_line.py:110
#, python-format
msgid "There is no partner defined on the entry line."
-msgstr ""
+msgstr "A beviteli soron nem lett partner meghatározva"
#. module: account_payment
#: help:payment.mode,name:0
@@ -401,7 +415,7 @@ msgstr "Tervezet"
#: view:payment.order:0
#: field:payment.order,state:0
msgid "Status"
-msgstr ""
+msgstr "Állapot"
#. module: account_payment
#: help:payment.line,communication2:0
@@ -432,7 +446,7 @@ msgstr "Átutalás sorok"
#. module: account_payment
#: model:ir.model,name:account_payment.model_account_move_line
msgid "Journal Items"
-msgstr "Könyvelési tételsorok"
+msgstr "Könyvelési napló tételsorok"
#. module: account_payment
#: help:payment.line,move_line_id:0
@@ -449,7 +463,7 @@ msgstr "Keresés"
#. module: account_payment
#: field:payment.order,user_id:0
msgid "Responsible"
-msgstr ""
+msgstr "Felelős"
#. module: account_payment
#: field:payment.line,date:0
@@ -464,7 +478,7 @@ msgstr "Összesen:"
#. module: account_payment
#: field:payment.order,date_done:0
msgid "Execution Date"
-msgstr ""
+msgstr "Kivitelezés dátuma"
#. module: account_payment
#: view:account.payment.populate.statement:0
@@ -538,12 +552,12 @@ msgstr "Közlemény"
#: view:account.payment.populate.statement:0
#: view:payment.order.create:0
msgid "Cancel"
-msgstr "Mégse"
+msgstr "Visszavonás"
#. module: account_payment
#: field:payment.line,bank_id:0
msgid "Destination Bank Account"
-msgstr ""
+msgstr "Jogosult bankszámla száma"
#. module: account_payment
#: view:payment.line:0
@@ -581,7 +595,7 @@ msgstr "Közlemény folytatása"
#. module: account_payment
#: field:payment.order,date_scheduled:0
msgid "Scheduled Date"
-msgstr ""
+msgstr "Tervezett dátum"
#. module: account_payment
#: view:account.payment.make.payment:0
@@ -676,14 +690,14 @@ msgstr "Átutalás végrehajtása"
#. module: account_payment
#: field:payment.order,date_prefered:0
msgid "Preferred Date"
-msgstr ""
+msgstr "Előnyben részesített dátum"
#. module: account_payment
#: view:account.payment.make.payment:0
#: view:account.payment.populate.statement:0
#: view:payment.order.create:0
msgid "or"
-msgstr ""
+msgstr "vagy"
#. module: account_payment
#: help:payment.mode,bank_id:0
diff --git a/addons/account_voucher/i18n/hu.po b/addons/account_voucher/i18n/hu.po
index 12f12ce6eb9..746ffe5b247 100644
--- a/addons/account_voucher/i18n/hu.po
+++ b/addons/account_voucher/i18n/hu.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
-"PO-Revision-Date: 2012-12-27 22:53+0000\n"
-"Last-Translator: Balint (eSolve) \n"
+"PO-Revision-Date: 2013-03-26 15:03+0000\n"
+"Last-Translator: krnkris \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-16 05:33+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 04:36+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: account_voucher
#: field:account.bank.statement.line,voucher_id:0
@@ -24,7 +24,7 @@ msgstr ""
#. module: account_voucher
#: model:ir.model,name:account_voucher.model_account_config_settings
msgid "account.config.settings"
-msgstr ""
+msgstr "account.config.settings"
#. module: account_voucher
#: code:addons/account_voucher/account_voucher.py:369
@@ -59,11 +59,13 @@ msgid ""
"Computed as the difference between the amount stated in the voucher and the "
"sum of allocation on the voucher lines."
msgstr ""
+"Különbség ami a nyugtán lévő végösszeg és a nyugta soraiban lévő rész "
+"összegek különbsége."
#. module: account_voucher
#: view:account.voucher:0
msgid "(Update)"
-msgstr ""
+msgstr "(Frissítés)"
#. module: account_voucher
#: view:account.voucher:0
@@ -90,7 +92,7 @@ msgstr "Március"
#. module: account_voucher
#: field:account.voucher,message_unread:0
msgid "Unread Messages"
-msgstr ""
+msgstr "Olvasatlan üzenetek"
#. module: account_voucher
#: view:account.voucher:0
@@ -115,13 +117,13 @@ msgstr "Tranzakció hivatkozási száma"
#. module: account_voucher
#: view:sale.receipt.report:0
msgid "Group by year of Invoice Date"
-msgstr ""
+msgstr "Számla kibocsátási éve szerinti csoportosítás"
#. module: account_voucher
#: view:sale.receipt.report:0
#: field:sale.receipt.report,user_id:0
msgid "Salesperson"
-msgstr ""
+msgstr "Értékesítő"
#. module: account_voucher
#: view:account.voucher:0
@@ -145,7 +147,7 @@ msgstr "Jóváhagyás"
#: model:ir.actions.act_window,name:account_voucher.action_vendor_payment
#: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment
msgid "Supplier Payments"
-msgstr ""
+msgstr "Beszállítói átutalások, fizetések"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_purchase_receipt
@@ -179,7 +181,7 @@ msgstr "Főkönyvi számla"
#. module: account_voucher
#: field:account.voucher,line_dr_ids:0
msgid "Debits"
-msgstr "Tartozik"
+msgstr "Tartozások"
#. module: account_voucher
#: view:account.statement.from.invoice.lines:0
@@ -207,7 +209,7 @@ msgstr "Megjegyzések"
#. module: account_voucher
#: field:account.voucher,message_ids:0
msgid "Messages"
-msgstr ""
+msgstr "Üzenetek"
#. module: account_voucher
#: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt
@@ -225,7 +227,7 @@ msgstr "Könyvelési tételsor"
#: code:addons/account_voucher/account_voucher.py:981
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "Hiba!"
#. module: account_voucher
#: field:account.voucher.line,amount:0
@@ -347,7 +349,7 @@ msgstr "Számlák importálása"
#: code:addons/account_voucher/account_voucher.py:1112
#, python-format
msgid "Wrong voucher line"
-msgstr ""
+msgstr "Nem megfelelő nyugta sorok"
#. module: account_voucher
#: selection:account.voucher,pay_now:0
@@ -425,7 +427,7 @@ msgstr "Típus"
#. module: account_voucher
#: view:sale.receipt.report:0
msgid "Pro-forma Vouchers"
-msgstr ""
+msgstr "Pro-forma nyugták"
#. module: account_voucher
#: view:account.voucher:0
@@ -468,7 +470,7 @@ msgstr ""
#. module: account_voucher
#: field:account.voucher,is_multi_currency:0
msgid "Multi Currency Voucher"
-msgstr ""
+msgstr "Több pénznemű nyugták"
#. module: account_voucher
#: view:account.voucher:0
@@ -524,7 +526,7 @@ msgstr "ÁFA összege"
#. module: account_voucher
#: view:sale.receipt.report:0
msgid "Validated Vouchers"
-msgstr ""
+msgstr "Jóváhagyott nyugták"
#. module: account_voucher
#: model:ir.actions.act_window,help:account_voucher.action_vendor_receipt
@@ -589,7 +591,7 @@ msgstr "Költség sorok"
#. module: account_voucher
#: view:account.voucher:0
msgid "Sale voucher"
-msgstr ""
+msgstr "Értékesítési nyugta"
#. module: account_voucher
#: help:account.voucher,is_multi_currency:0
@@ -639,12 +641,12 @@ msgstr "Vevők és szállítók"
#. module: account_voucher
#: view:account.voucher:0
msgid "Voucher Payment"
-msgstr ""
+msgstr "Nyugta kiegyenlítés"
#. module: account_voucher
#: field:sale.receipt.report,state:0
msgid "Voucher Status"
-msgstr ""
+msgstr "Nyugta állapota"
#. module: account_voucher
#: view:account.voucher:0
@@ -662,7 +664,7 @@ msgstr "Vállalat"
#. module: account_voucher
#: help:account.voucher,paid:0
msgid "The Voucher has been totally paid."
-msgstr ""
+msgstr "A nyugta ki lett egyenlítve"
#. module: account_voucher
#: selection:account.voucher,payment_option:0
@@ -679,7 +681,7 @@ msgstr ""
#: view:account.voucher:0
#: view:sale.receipt.report:0
msgid "Draft Vouchers"
-msgstr ""
+msgstr "Nyugta tervezetek"
#. module: account_voucher
#: view:sale.receipt.report:0
@@ -690,7 +692,7 @@ msgstr "Bruttó érték"
#. module: account_voucher
#: view:account.voucher:0
msgid "Purchase Voucher"
-msgstr ""
+msgstr "Beszerzési nyugta"
#. module: account_voucher
#: view:account.voucher:0
diff --git a/addons/analytic/i18n/hu.po b/addons/analytic/i18n/hu.po
index bf379e9f17c..4c6b076773d 100644
--- a/addons/analytic/i18n/hu.po
+++ b/addons/analytic/i18n/hu.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2011-01-30 18:54+0000\n"
-"Last-Translator: Krisztian Eyssen \n"
+"PO-Revision-Date: 2013-03-25 13:25+0000\n"
+"Last-Translator: krnkris \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-16 05:41+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-26 04:44+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: analytic
#: field:account.analytic.account,child_ids:0
@@ -24,13 +24,13 @@ msgstr "Alárendelt gyűjtőkódok"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "In Progress"
-msgstr ""
+msgstr "Folyamatban"
#. module: analytic
#: code:addons/analytic/analytic.py:229
#, python-format
msgid "Contract: "
-msgstr ""
+msgstr "Szerződés: "
#. module: analytic
#: selection:account.analytic.account,state:0
@@ -40,7 +40,7 @@ msgstr "Sablon"
#. module: analytic
#: view:account.analytic.account:0
msgid "End Date"
-msgstr ""
+msgstr "Befejezés dátuma"
#. module: analytic
#: help:account.analytic.line,unit_amount:0
@@ -64,6 +64,14 @@ msgid ""
"The special type 'Template of Contract' allows you to define a template with "
"default data that you can reuse easily."
msgstr ""
+"A nézet típus kiválasztásával, megtiltja ezzel a fiókkal a napló bejegyzés "
+"készítését.\n"
+"Az 'Elemző/gyüjtő számla' típust olyan fiókokhoz használja, melyeket csak "
+"könyveléshez használ.\n"
+"Ha Szerződést vagy Projektet választ, lehetősége lesz kezelni a fiók "
+"érvényesítés és számlázási lehetőségeit.\n"
+"A speciális 'Szerződési sablon' típus lehetővé teszi alapértékekkel "
+"kitöltött sablon létrehozását, melyet könnyen ismét felhasználhat."
#. module: analytic
#: view:account.analytic.account:0
@@ -82,12 +90,12 @@ msgstr ""
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Contract or Project"
-msgstr ""
+msgstr "Projekt szerződése"
#. module: analytic
#: field:account.analytic.account,name:0
msgid "Account/Contract Name"
-msgstr ""
+msgstr "Fiók/Szerződés neve"
#. module: analytic
#: field:account.analytic.account,manager_id:0
@@ -97,7 +105,7 @@ msgstr "Felelős"
#. module: analytic
#: field:account.analytic.account,message_follower_ids:0
msgid "Followers"
-msgstr ""
+msgstr "Követők"
#. module: analytic
#: selection:account.analytic.account,state:0
@@ -107,28 +115,28 @@ msgstr "Lezárt"
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_pending
msgid "Contract to Renew"
-msgstr ""
+msgstr "Megújítandó szerződés"
#. module: analytic
#: selection:account.analytic.account,state:0
msgid "New"
-msgstr ""
+msgstr "Új"
#. module: analytic
#: field:account.analytic.account,user_id:0
msgid "Project Manager"
-msgstr ""
+msgstr "Projektmenedzser"
#. module: analytic
#: field:account.analytic.account,state:0
msgid "Status"
-msgstr ""
+msgstr "Állapot"
#. module: analytic
#: code:addons/analytic/analytic.py:271
#, python-format
msgid "%s (copy)"
-msgstr ""
+msgstr "%s (másolat)"
#. module: analytic
#: model:ir.model,name:analytic.model_account_analytic_line
@@ -144,12 +152,12 @@ msgstr "Leírás"
#. module: analytic
#: field:account.analytic.account,message_unread:0
msgid "Unread Messages"
-msgstr ""
+msgstr "Olvasatlan üzenetek"
#. module: analytic
#: constraint:account.analytic.account:0
msgid "Error! You cannot create recursive analytic accounts."
-msgstr ""
+msgstr "Hiba! Nem tud visszatérő Elemző/Gyűjtő számlákat létrehozni."
#. module: analytic
#: field:account.analytic.account,company_id:0
@@ -160,12 +168,12 @@ msgstr "Vállalat"
#. module: analytic
#: view:account.analytic.account:0
msgid "Renewal"
-msgstr ""
+msgstr "Megújítás"
#. module: analytic
#: help:account.analytic.account,message_ids:0
msgid "Messages and communication history"
-msgstr ""
+msgstr "Üzenetek és kommunikációs történet"
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_opened
@@ -194,7 +202,7 @@ msgstr ""
#. module: analytic
#: field:account.analytic.account,message_is_follower:0
msgid "Is a Follower"
-msgstr ""
+msgstr "Ez egy követő"
#. module: analytic
#: field:account.analytic.line,user_id:0
@@ -204,7 +212,7 @@ msgstr "Felhasználó"
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_pending
msgid "Contract pending"
-msgstr ""
+msgstr "Szerződés függőben"
#. module: analytic
#: field:account.analytic.line,date:0
@@ -214,12 +222,12 @@ msgstr "Dátum"
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_closed
msgid "Contract Finished"
-msgstr ""
+msgstr "Szerződés végrehejtva"
#. module: analytic
#: view:account.analytic.account:0
msgid "Terms and Conditions"
-msgstr ""
+msgstr "Kikötések és feltételek"
#. module: analytic
#: help:account.analytic.line,amount:0
@@ -233,17 +241,17 @@ msgstr ""
#. module: analytic
#: field:account.analytic.account,partner_id:0
msgid "Customer"
-msgstr ""
+msgstr "Vevő"
#. module: analytic
#: field:account.analytic.account,child_complete_ids:0
msgid "Account Hierarchy"
-msgstr ""
+msgstr "Számla fiók hierarchia, rangsor"
#. module: analytic
#: field:account.analytic.account,message_ids:0
msgid "Messages"
-msgstr ""
+msgstr "Üzenetek"
#. module: analytic
#: field:account.analytic.account,parent_id:0
@@ -253,23 +261,23 @@ msgstr "Fölérendelt gyűjtőkód"
#. module: analytic
#: view:account.analytic.account:0
msgid "Contract Information"
-msgstr ""
+msgstr "Szerződé információja"
#. module: analytic
#: field:account.analytic.account,template_id:0
#: selection:account.analytic.account,type:0
msgid "Template of Contract"
-msgstr ""
+msgstr "Szerződés sablonja"
#. module: analytic
#: field:account.analytic.account,message_summary:0
msgid "Summary"
-msgstr ""
+msgstr "Összegzés"
#. module: analytic
#: field:account.analytic.account,quantity_max:0
msgid "Prepaid Service Units"
-msgstr ""
+msgstr "Előre fizetett szolgáltatási egység"
#. module: analytic
#: field:account.analytic.account,credit:0
@@ -279,12 +287,12 @@ msgstr "Követel"
#. module: analytic
#: model:mail.message.subtype,name:analytic.mt_account_opened
msgid "Contract Opened"
-msgstr ""
+msgstr "Szerződés megnyitva, elindítva"
#. module: analytic
#: model:mail.message.subtype,description:analytic.mt_account_closed
msgid "Contract closed"
-msgstr ""
+msgstr "Szerződés lezárva"
#. module: analytic
#: selection:account.analytic.account,state:0
@@ -294,7 +302,7 @@ msgstr "Érvénytelenített"
#. module: analytic
#: selection:account.analytic.account,type:0
msgid "Analytic View"
-msgstr ""
+msgstr "Elemző nézet"
#. module: analytic
#: field:account.analytic.account,balance:0
diff --git a/addons/mail/i18n/cs.po b/addons/mail/i18n/cs.po
new file mode 100644
index 00000000000..e12668ab3ee
--- /dev/null
+++ b/addons/mail/i18n/cs.po
@@ -0,0 +1,1687 @@
+# Czech translation for openobject-addons
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-12-21 17:04+0000\n"
+"PO-Revision-Date: 2013-03-25 07:50+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Czech \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2013-03-26 04:44+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
+
+#. module: mail
+#: view:mail.followers:0
+msgid "Followers Form"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_publisher_warranty_contract
+msgid "publisher_warranty.contract"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,author_id:0
+#: field:mail.message,author_id:0
+msgid "Author"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Message Details"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,email_to:0
+msgid "Message recipients"
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,default:0
+msgid "Activated by default when subscribing."
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Comments"
+msgstr ""
+
+#. module: mail
+#: view:mail.alias:0
+#: view:mail.mail:0
+msgid "Group By..."
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,body:0
+#: help:mail.message,body:0
+msgid "Automatically sanitized HTML contents"
+msgstr ""
+
+#. module: mail
+#: help:mail.alias,alias_name:0
+msgid ""
+"The name of the email alias, e.g. 'jobs' if you want to catch emails for "
+""
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard
+#: view:mail.compose.message:0
+msgid "Compose Email"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:132
+#, python-format
+msgid "Add them into recipients and followers"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Group Name"
+msgstr ""
+
+#. module: mail
+#: selection:mail.group,public:0
+msgid "Public"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Body"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Show messages to read"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,email_from:0
+#: help:mail.message,email_from:0
+msgid ""
+"Email address of the sender. This field is set when no matching partner is "
+"found for incoming emails."
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_compose_message
+msgid "Email composition wizard"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:23
+#, python-format
+msgid "Add others"
+msgstr ""
+
+#. module: mail
+#: field:mail.message.subtype,parent_id:0
+msgid "Parent"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,message_unread:0
+#: field:mail.thread,message_unread:0
+#: field:res.partner,message_unread:0
+msgid "Unread Messages"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:296
+#, python-format
+msgid "show"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,group_ids:0
+msgid ""
+"Members of those groups will automatically added as followers. Note that "
+"they will be able to manage their subscription manually if necessary."
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/mail.js:1019
+#, python-format
+msgid "Do you really want to delete this message?"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+#: field:mail.notification,read:0
+msgid "Read"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Search Groups"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/mail_followers.js:159
+#, python-format
+msgid "followers"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_message.py:726
+#, python-format
+msgid "Access Denied"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,image_medium:0
+msgid ""
+"Medium-sized photo of the group. It is automatically resized as a 128x128px "
+"image, with aspect ratio preserved. Use this field in form views or some "
+"kanban views."
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:212
+#, python-format
+msgid "Uploading error"
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_support
+msgid "Support"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_message.py:727
+#, python-format
+msgid ""
+"The requested operation cannot be completed due to security restrictions. "
+"Please contact your system administrator.\n"
+"\n"
+"(Document type: %s, Operation: %s)"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+#: selection:mail.mail,state:0
+msgid "Received"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Thread"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:29
+#, python-format
+msgid "Open the full mail composer"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:29
+#, python-format
+msgid "ò"
+msgstr ""
+
+#. module: mail
+#: field:base.config.settings,alias_domain:0
+msgid "Alias Domain"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,group_ids:0
+msgid "Auto Subscription"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,references:0
+msgid "References"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:206
+#, python-format
+msgid "No messages."
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_group
+msgid "Discussion group"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:98
+#: code:addons/mail/static/src/xml/mail.xml:110
+#, python-format
+msgid "uploading"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:52
+#, python-format
+msgid "more."
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,type:0
+#: help:mail.message,type:0
+msgid ""
+"Message type: email for email message, notification for system message, "
+"comment for other messages such as user replies"
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,relation_field:0
+msgid ""
+"Field used to link the related model to the subtype model when using "
+"automatic subscription on a related document. The field is used to compute "
+"getattr(related_document.relation_field)."
+msgstr ""
+
+#. module: mail
+#: selection:mail.mail,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,reply_to:0
+msgid "Reply-To"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/wizard/invite.py:37
+#, python-format
+msgid "You have been invited to follow %s.
"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,message_unread:0
+#: help:mail.thread,message_unread:0
+#: help:res.partner,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr ""
+
+#. module: mail
+#: field:mail.group,image_medium:0
+msgid "Medium-sized photo"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,name:mail.action_mail_to_me_feeds
+#: model:ir.ui.menu,name:mail.mail_tomefeeds
+msgid "To: me"
+msgstr ""
+
+#. module: mail
+#: field:mail.message.subtype,name:0
+msgid "Message Type"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,auto_delete:0
+msgid "Auto Delete"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:12
+#: view:mail.group:0
+#, python-format
+msgid "Unfollow"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:295
+#, python-format
+msgid "show one more message"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_mail.py:74
+#: code:addons/mail/res_users.py:69
+#, python-format
+msgid "Invalid Action!"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:25
+#, python-format
+msgid "User img"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_mail_mail
+#: model:ir.ui.menu,name:mail.menu_mail_mail
+#: view:mail.mail:0
+#: view:mail.message:0
+msgid "Emails"
+msgstr ""
+
+#. module: mail
+#: field:mail.followers,partner_id:0
+msgid "Related Partner"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,message_summary:0
+#: help:mail.thread,message_summary:0
+#: help:res.partner,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+
+#. module: mail
+#: help:mail.alias,alias_model_id:0
+msgid ""
+"The model (OpenERP Document Kind) to which this alias corresponds. Any "
+"incoming email that does not reply to an existing record will cause the "
+"creation of a new record of this model (e.g. a Project Task)"
+msgstr ""
+
+#. module: mail
+#: field:mail.message.subtype,relation_field:0
+msgid "Relation field"
+msgstr ""
+
+#. module: mail
+#: selection:mail.compose.message,type:0
+#: selection:mail.message,type:0
+msgid "System notification"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_res_partner
+#: view:mail.mail:0
+msgid "Partner"
+msgstr ""
+
+#. module: mail
+#: model:ir.ui.menu,name:mail.mail_my_stuff
+msgid "Organizer"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,subject:0
+#: field:mail.message,subject:0
+msgid "Subject"
+msgstr ""
+
+#. module: mail
+#: field:mail.wizard.invite,partner_ids:0
+msgid "Partners"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Retry"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,email_from:0
+#: field:mail.mail,email_from:0
+#: field:mail.message,email_from:0
+msgid "From"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+#: view:mail.message.subtype:0
+msgid "Email message"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_base_config_settings
+msgid "base.config.settings"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:36
+#: view:mail.compose.message:0
+#, python-format
+msgid "Send"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/mail_followers.js:155
+#, python-format
+msgid "No followers"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Failed"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:22
+#: model:ir.actions.act_window,name:mail.action_view_followers
+#: model:ir.ui.menu,name:mail.menu_email_followers
+#: view:mail.followers:0
+#: field:mail.group,message_follower_ids:0
+#: field:mail.thread,message_follower_ids:0
+#: field:res.partner,message_follower_ids:0
+#, python-format
+msgid "Followers"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,name:mail.action_mail_archives_feeds
+#: model:ir.ui.menu,name:mail.mail_archivesfeeds
+msgid "Archives"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:97
+#: code:addons/mail/static/src/xml/mail.xml:109
+#, python-format
+msgid "Delete this attachment"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:245
+#: view:mail.mail:0
+#, python-format
+msgid "Reply"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/mail_followers.js:157
+#, python-format
+msgid "One follower"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,type:0
+#: field:mail.message,type:0
+msgid "Type"
+msgstr ""
+
+#. module: mail
+#: selection:mail.compose.message,type:0
+#: view:mail.mail:0
+#: selection:mail.message,type:0
+msgid "Email"
+msgstr ""
+
+#. module: mail
+#: field:ir.ui.menu,mail_group_id:0
+msgid "Mail Group"
+msgstr ""
+
+#. module: mail
+#: selection:res.partner,notification_email_send:0
+msgid "Comments and Emails"
+msgstr ""
+
+#. module: mail
+#: field:mail.alias,alias_defaults:0
+msgid "Default Values"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/res_users.py:89
+#, python-format
+msgid "%s has joined the %s network."
+msgstr ""
+
+#. module: mail
+#: help:mail.group,image_small:0
+msgid ""
+"Small-sized photo of the group. It is automatically resized as a 64x64px "
+"image, with aspect ratio preserved. Use this field anywhere a small image is "
+"required."
+msgstr ""
+
+#. module: mail
+#: view:mail.compose.message:0
+#: field:mail.message,partner_ids:0
+msgid "Recipients"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:142
+#, python-format
+msgid "<<<"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:43
+#, python-format
+msgid "Write to the followers of this document..."
+msgstr ""
+
+#. module: mail
+#: field:mail.group,group_public_id:0
+msgid "Authorized Group"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Join Group"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,email_from:0
+msgid "Message sender, taken from user preferences."
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/wizard/invite.py:40
+#, python-format
+msgid "You have been invited to follow a new document.
"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,parent_id:0
+#: field:mail.message,parent_id:0
+msgid "Parent Message"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,res_id:0
+#: field:mail.followers,res_id:0
+#: field:mail.message,res_id:0
+#: field:mail.wizard.invite,res_id:0
+msgid "Related Document ID"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,help:mail.action_mail_to_me_feeds
+msgid ""
+"\n"
+" No private message.\n"
+"
\n"
+" This list contains messages sent to you.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_rd
+msgid "R&D"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:61
+#, python-format
+msgid "/web/binary/upload_attachment"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_thread
+msgid "Email Thread"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Advanced"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:244
+#, python-format
+msgid "Move to Inbox"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/wizard/mail_compose_message.py:165
+#, python-format
+msgid "Re:"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,to_read:0
+#: field:mail.message,to_read:0
+msgid "To read"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/res_users.py:69
+#, python-format
+msgid ""
+"You may not create a user. To create new users, you should use the "
+"\"Settings > Users\" menu."
+msgstr ""
+
+#. module: mail
+#: help:mail.followers,res_model:0
+#: help:mail.wizard.invite,res_model:0
+msgid "Model of the followed resource"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:320
+#, python-format
+msgid "like"
+msgstr ""
+
+#. module: mail
+#: view:mail.compose.message:0
+#: view:mail.wizard.invite:0
+msgid "Cancel"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:47
+#, python-format
+msgid "Share with my followers..."
+msgstr ""
+
+#. module: mail
+#: field:mail.notification,partner_id:0
+msgid "Contact"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid ""
+"Only the invited followers can read the\n"
+" discussions on this group."
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_ir_ui_menu
+msgid "ir.ui.menu"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Has attachments"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "on"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_message.py:915
+#, python-format
+msgid ""
+"The following partners chosen as recipients for the email have no email "
+"address linked :"
+msgstr ""
+
+#. module: mail
+#: help:mail.alias,alias_defaults:0
+msgid ""
+"A Python dictionary that will be evaluated to provide default values when "
+"creating new records for this alias."
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_message_subtype
+msgid "Message subtypes"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,notified_partner_ids:0
+#: help:mail.message,notified_partner_ids:0
+msgid ""
+"Partners that have a notification pushing this message in their mailboxes"
+msgstr ""
+
+#. module: mail
+#: selection:mail.compose.message,type:0
+#: view:mail.mail:0
+#: selection:mail.message,type:0
+msgid "Comment"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,help:mail.action_mail_inbox_feeds
+msgid ""
+"\n"
+" Good Job! Your inbox is empty.\n"
+"
\n"
+" Your inbox contains private messages or emails sent to "
+"you\n"
+" as well as information related to documents or people "
+"you\n"
+" follow.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,notification:0
+msgid "Is Notification"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:188
+#, python-format
+msgid "Compose a new message"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Send Now"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_mail.py:74
+#, python-format
+msgid ""
+"Unable to send email, please configure the sender's email address or alias."
+msgstr ""
+
+#. module: mail
+#: help:res.users,alias_id:0
+msgid ""
+"Email address internally associated with this user. Incoming emails will "
+"appear in the user's notifications."
+msgstr ""
+
+#. module: mail
+#: field:mail.group,image:0
+msgid "Photo"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:56
+#: code:addons/mail/static/src/xml/mail.xml:191
+#: view:mail.compose.message:0
+#: view:mail.wizard.invite:0
+#, python-format
+msgid "or"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,vote_user_ids:0
+#: help:mail.message,vote_user_ids:0
+msgid "Users that voted for this message"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,alias_id:0
+msgid ""
+"The email address associated with this group. New emails received will "
+"automatically create new topics."
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Month"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Email Search"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,child_ids:0
+#: field:mail.message,child_ids:0
+msgid "Child Messages"
+msgstr ""
+
+#. module: mail
+#: field:mail.alias,alias_user_id:0
+msgid "Owner"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_res_users
+msgid "Users"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_message
+#: field:mail.mail,mail_message_id:0
+#: view:mail.message:0
+#: field:mail.notification,message_id:0
+#: field:mail.wizard.invite,message:0
+msgid "Message"
+msgstr ""
+
+#. module: mail
+#: help:mail.followers,res_id:0
+#: help:mail.wizard.invite,res_id:0
+msgid "Id of the followed resource"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,body:0
+#: field:mail.message,body:0
+msgid "Contents"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_mail_alias
+#: model:ir.ui.menu,name:mail.mail_alias_menu
+msgid "Aliases"
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,description:0
+msgid ""
+"Description that will be added in the message posted for this subtype. If "
+"void, the name will be added instead."
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,vote_user_ids:0
+#: field:mail.message,vote_user_ids:0
+msgid "Votes"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Group"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,starred:0
+#: help:mail.message,starred:0
+msgid "Current user has a starred notification linked to this message"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,public:0
+msgid "Privacy"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Notification"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/mail.js:650
+#, python-format
+msgid "Please complete partner's informations"
+msgstr ""
+
+#. module: mail
+#: view:mail.wizard.invite:0
+msgid "Add Followers"
+msgstr ""
+
+#. module: mail
+#: view:mail.compose.message:0
+msgid "Followers of selected items and"
+msgstr ""
+
+#. module: mail
+#: field:mail.alias,alias_force_thread_id:0
+msgid "Record Thread ID"
+msgstr ""
+
+#. module: mail
+#: model:ir.ui.menu,name:mail.mail_group_root
+msgid "My Groups"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,help:mail.action_mail_archives_feeds
+msgid ""
+"\n"
+" No message found and no message sent yet.\n"
+"
\n"
+" Click on the top-right icon to compose a message. This\n"
+" message will be sent by email if it's an internal "
+"contact.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+#: field:mail.mail,state:0
+msgid "Status"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+#: selection:mail.mail,state:0
+msgid "Outgoing"
+msgstr ""
+
+#. module: mail
+#: selection:res.partner,notification_email_send:0
+msgid "All feeds"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,record_name:0
+#: help:mail.message,record_name:0
+msgid "Name get of the related document."
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_notifications
+#: model:ir.model,name:mail.model_mail_notification
+#: model:ir.ui.menu,name:mail.menu_email_notifications
+#: field:mail.compose.message,notification_ids:0
+#: view:mail.message:0
+#: field:mail.message,notification_ids:0
+#: view:mail.notification:0
+msgid "Notifications"
+msgstr ""
+
+#. module: mail
+#: view:mail.alias:0
+msgid "Search Alias"
+msgstr ""
+
+#. module: mail
+#: help:mail.alias,alias_force_thread_id:0
+msgid ""
+"Optional ID of a thread (record) to which all incoming messages will be "
+"attached, even if they did not reply to it. If set, this will disable the "
+"creation of new records completely."
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,name:0
+msgid ""
+"Message subtype gives a more precise type on the message, especially for "
+"system notifications. For example, it can be a notification related to a new "
+"record (New), or to a stage change in a process (Stage change). Message "
+"subtypes allow to precisely tune the notifications the user want to receive "
+"on its wall."
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "by"
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_best_sales_practices
+msgid "Best Sales Practices"
+msgstr ""
+
+#. module: mail
+#: selection:mail.group,public:0
+msgid "Selected Group Only"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,message_is_follower:0
+#: field:mail.thread,message_is_follower:0
+#: field:res.partner,message_is_follower:0
+msgid "Is a Follower"
+msgstr ""
+
+#. module: mail
+#: view:mail.alias:0
+#: view:mail.mail:0
+msgid "User"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Groups"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Messages Search"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,date:0
+#: field:mail.message,date:0
+msgid "Date"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:34
+#, python-format
+msgid "Post"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:122
+#, python-format
+msgid "To:"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:193
+#, python-format
+msgid "Write to my followers"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_res_groups
+msgid "Access Groups"
+msgstr ""
+
+#. module: mail
+#: field:mail.message.subtype,default:0
+msgid "Default"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:294
+#, python-format
+msgid "show more message"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:246
+#, python-format
+msgid "Mark as Todo"
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,parent_id:0
+msgid "Parent subtype, used for automatic subscription."
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_wizard_invite
+msgid "Invite wizard"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,message_summary:0
+#: field:mail.thread,message_summary:0
+#: field:res.partner,message_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: mail
+#: help:mail.message.subtype,res_model:0
+msgid ""
+"Model the subtype applies to. If False, this subtype applies to all models."
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,subtype_id:0
+#: field:mail.followers,subtype_ids:0
+#: field:mail.message,subtype_id:0
+#: view:mail.message.subtype:0
+msgid "Subtype"
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid "Group Form"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,starred:0
+#: field:mail.message,starred:0
+#: field:mail.notification,starred:0
+msgid "Starred"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:296
+#, python-format
+msgid "more messages"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/update.py:93
+#, python-format
+msgid "Error"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:13
+#, python-format
+msgid "Following"
+msgstr ""
+
+#. module: mail
+#: sql_constraint:mail.alias:0
+msgid ""
+"Unfortunately this email alias is already used, please choose a unique one"
+msgstr ""
+
+#. module: mail
+#: help:mail.alias,alias_user_id:0
+msgid ""
+"The owner of records created upon receiving emails on this alias. If this "
+"field is not set the system will attempt to find the right owner based on "
+"the sender (From) address, or will use the Administrator account if no "
+"system user is found for that address."
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:52
+#, python-format
+msgid "And"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,message_id:0
+#: field:mail.message,message_id:0
+msgid "Message-Id"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,image:0
+msgid ""
+"This field holds the image used as photo for the group, limited to "
+"1024x1024px."
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,attachment_ids:0
+#: view:mail.mail:0
+#: field:mail.message,attachment_ids:0
+msgid "Attachments"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,record_name:0
+#: field:mail.message,record_name:0
+msgid "Message Record Name"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,email_cc:0
+msgid "Cc"
+msgstr ""
+
+#. module: mail
+#: help:mail.notification,starred:0
+msgid "Starred message that goes into the todo mailbox"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:125
+#: view:mail.compose.message:0
+#, python-format
+msgid "Followers of"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,auto_delete:0
+msgid "Permanently delete this email after sending it, to save space"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,name:mail.action_mail_group_feeds
+msgid "Discussion Group"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:242
+#, python-format
+msgid "Done"
+msgstr ""
+
+#. module: mail
+#: model:mail.message.subtype,name:mail.mt_comment
+msgid "Discussions"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:11
+#, python-format
+msgid "Follow"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,name:0
+msgid "Name"
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_all_employees
+msgid "Whole Company"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:131
+#: code:addons/mail/static/src/xml/mail.xml:278
+#: view:mail.compose.message:0
+#, python-format
+msgid "and"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,body_html:0
+msgid "Rich-text/HTML message"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+msgid "Creation Month"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:306
+#, python-format
+msgid "Compose new Message"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,menu_id:0
+msgid "Related Menu"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Content"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,email_to:0
+msgid "To"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,notified_partner_ids:0
+#: field:mail.message,notified_partner_ids:0
+msgid "Notified partners"
+msgstr ""
+
+#. module: mail
+#: help:mail.group,public:0
+msgid ""
+"This group is visible by non members. Invisible groups can add "
+"members through the invite button."
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_board
+msgid "Board meetings"
+msgstr ""
+
+#. module: mail
+#: constraint:mail.alias:0
+msgid ""
+"Invalid expression, it must be a literal python dictionary definition e.g. "
+"\"{'field': 'value'}\""
+msgstr ""
+
+#. module: mail
+#: field:mail.alias,alias_model_id:0
+msgid "Aliased Model"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,message_id:0
+#: help:mail.message,message_id:0
+msgid "Message unique identifier"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,description:0
+#: field:mail.message.subtype,description:0
+msgid "Description"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_followers
+msgid "Document Followers"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail_followers.xml:35
+#, python-format
+msgid "Remove this follower"
+msgstr ""
+
+#. module: mail
+#: selection:res.partner,notification_email_send:0
+msgid "Never"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,mail_server_id:0
+msgid "Outgoing mail server"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/mail_message.py:919
+#, python-format
+msgid "Partners email addresses not found"
+msgstr ""
+
+#. module: mail
+#: view:mail.mail:0
+#: selection:mail.mail,state:0
+msgid "Sent"
+msgstr ""
+
+#. module: mail
+#: field:mail.mail,body_html:0
+msgid "Rich-text Contents"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,to_read:0
+#: help:mail.message,to_read:0
+msgid "Current user has an unread notification linked to this message"
+msgstr ""
+
+#. module: mail
+#: help:res.partner,notification_email_send:0
+msgid ""
+"Choose in which case you want to receive an email when you receive new feeds."
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_groups
+#: model:ir.ui.menu,name:mail.mail_allgroups
+msgid "Join a group"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,help:mail.action_mail_group_feeds
+msgid ""
+"\n"
+" No message in this group.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:213
+#, python-format
+msgid "Please, wait while the file is uploading."
+msgstr ""
+
+#. module: mail
+#: view:mail.group:0
+msgid ""
+"This group is visible by everyone,\n"
+" including your customers if you "
+"installed\n"
+" the portal module."
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:243
+#, python-format
+msgid "Set back to Todo"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:128
+#, python-format
+msgid "this document"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,filter_id:0
+msgid "Filters"
+msgstr ""
+
+#. module: mail
+#: field:res.partner,notification_email_send:0
+msgid "Receive Feeds by Email"
+msgstr ""
+
+#. module: mail
+#: help:base.config.settings,alias_domain:0
+msgid ""
+"If you have setup a catch-all email domain redirected to the OpenERP server, "
+"enter the domain name here."
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_mail_message
+#: model:ir.ui.menu,name:mail.menu_mail_message
+#: field:mail.group,message_ids:0
+#: view:mail.message:0
+#: field:mail.thread,message_ids:0
+#: field:res.partner,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:141
+#, python-format
+msgid "others..."
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,name:mail.action_mail_star_feeds
+#: model:ir.ui.menu,name:mail.mail_starfeeds
+msgid "To-do"
+msgstr ""
+
+#. module: mail
+#: view:mail.alias:0
+#: field:mail.alias,alias_name:0
+#: field:mail.group,alias_id:0
+#: field:res.users,alias_id:0
+msgid "Alias"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_mail
+msgid "Outgoing Mails"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,notification_ids:0
+#: help:mail.message,notification_ids:0
+msgid ""
+"Technical field holding the message notifications. Use notified_partner_ids "
+"to access notified partners."
+msgstr ""
+
+#. module: mail
+#: model:ir.ui.menu,name:mail.mail_feeds
+#: model:ir.ui.menu,name:mail.mail_feeds_main
+msgid "Messaging"
+msgstr ""
+
+#. module: mail
+#: view:mail.alias:0
+#: field:mail.message.subtype,res_model:0
+msgid "Model"
+msgstr ""
+
+#. module: mail
+#: view:mail.message:0
+msgid "Unread"
+msgstr ""
+
+#. module: mail
+#: help:mail.followers,subtype_ids:0
+msgid ""
+"Message subtypes followed, meaning subtypes that will be pushed onto the "
+"user's Wall."
+msgstr ""
+
+#. module: mail
+#: help:mail.group,message_ids:0
+#: help:mail.thread,message_ids:0
+#: help:res.partner,message_ids:0
+msgid "Messages and communication history"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,references:0
+msgid "Message references, such as identifiers of previous messages"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,composition_mode:0
+msgid "Composition mode"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,model:0
+#: field:mail.followers,res_model:0
+#: field:mail.message,model:0
+#: field:mail.wizard.invite,res_model:0
+msgid "Related Document Model"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:321
+#, python-format
+msgid "unlike"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,author_id:0
+#: help:mail.message,author_id:0
+msgid ""
+"Author of the message. If not set, email_from may hold an email address that "
+"did not match any partner."
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,email_cc:0
+msgid "Carbon copy message recipients"
+msgstr ""
+
+#. module: mail
+#: field:mail.alias,alias_domain:0
+msgid "Alias domain"
+msgstr ""
+
+#. module: mail
+#: code:addons/mail/update.py:93
+#, python-format
+msgid "Error during communication with the publisher warranty server."
+msgstr ""
+
+#. module: mail
+#: selection:mail.group,public:0
+msgid "Private"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,help:mail.action_mail_star_feeds
+msgid ""
+"\n"
+" No todo.\n"
+"
\n"
+" When you process messages in your inbox, you can mark "
+"some\n"
+" as todo. From this menu, you can process all your "
+"todo.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: mail
+#: selection:mail.mail,state:0
+msgid "Delivery Failed"
+msgstr ""
+
+#. module: mail
+#: field:mail.compose.message,partner_ids:0
+msgid "Additional contacts"
+msgstr ""
+
+#. module: mail
+#: help:mail.compose.message,parent_id:0
+#: help:mail.message,parent_id:0
+msgid "Initial thread message."
+msgstr ""
+
+#. module: mail
+#: model:mail.group,name:mail.group_hr_policies
+msgid "HR Policies"
+msgstr ""
+
+#. module: mail
+#: selection:res.partner,notification_email_send:0
+msgid "Emails only"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.client,name:mail.action_mail_inbox_feeds
+#: model:ir.ui.menu,name:mail.mail_inboxfeeds
+msgid "Inbox"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/xml/mail.xml:58
+#, python-format
+msgid "File"
+msgstr ""
+
+#. module: mail
+#. openerp-web
+#: code:addons/mail/static/src/js/many2many_tags_email.js:63
+#, python-format
+msgid "Please complete partner's informations and Email"
+msgstr ""
+
+#. module: mail
+#: model:ir.actions.act_window,name:mail.action_view_message_subtype
+#: model:ir.ui.menu,name:mail.menu_message_subtype
+msgid "Subtypes"
+msgstr ""
+
+#. module: mail
+#: model:ir.model,name:mail.model_mail_alias
+msgid "Email Aliases"
+msgstr ""
+
+#. module: mail
+#: field:mail.group,image_small:0
+msgid "Small-sized photo"
+msgstr ""
+
+#. module: mail
+#: help:mail.mail,reply_to:0
+msgid "Preferred response address for the message"
+msgstr ""
From 66fefa7a2b71e5a8f05cdf7664b1054b620f42a1 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Wed, 27 Mar 2013 05:02:23 +0000
Subject: [PATCH 35/83] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20130327050223-yffnhseuq99jdrwq
---
addons/web/i18n/ar.po | 4 ++--
addons/web/i18n/bg.po | 4 ++--
addons/web/i18n/bn.po | 4 ++--
addons/web/i18n/bs.po | 4 ++--
addons/web/i18n/ca.po | 4 ++--
addons/web/i18n/cs.po | 4 ++--
addons/web/i18n/da.po | 4 ++--
addons/web/i18n/de.po | 10 +++++++---
addons/web/i18n/en_AU.po | 4 ++--
addons/web/i18n/en_GB.po | 4 ++--
addons/web/i18n/es.po | 4 ++--
addons/web/i18n/es_CL.po | 4 ++--
addons/web/i18n/es_CR.po | 4 ++--
addons/web/i18n/es_DO.po | 4 ++--
addons/web/i18n/es_EC.po | 4 ++--
addons/web/i18n/es_MX.po | 4 ++--
addons/web/i18n/et.po | 4 ++--
addons/web/i18n/eu.po | 4 ++--
addons/web/i18n/fa.po | 4 ++--
addons/web/i18n/fi.po | 4 ++--
addons/web/i18n/fr.po | 4 ++--
addons/web/i18n/fr_CA.po | 4 ++--
addons/web/i18n/gl.po | 4 ++--
addons/web/i18n/gu.po | 4 ++--
addons/web/i18n/hi.po | 4 ++--
addons/web/i18n/hr.po | 4 ++--
addons/web/i18n/hu.po | 4 ++--
addons/web/i18n/id.po | 4 ++--
addons/web/i18n/it.po | 4 ++--
addons/web/i18n/ja.po | 4 ++--
addons/web/i18n/ka.po | 4 ++--
addons/web/i18n/ko.po | 4 ++--
addons/web/i18n/lo.po | 4 ++--
addons/web/i18n/lt.po | 4 ++--
addons/web/i18n/lv.po | 4 ++--
addons/web/i18n/mk.po | 4 ++--
addons/web/i18n/mn.po | 4 ++--
addons/web/i18n/nb.po | 4 ++--
addons/web/i18n/nl.po | 4 ++--
addons/web/i18n/nl_BE.po | 4 ++--
addons/web/i18n/pl.po | 4 ++--
addons/web/i18n/pt.po | 4 ++--
addons/web/i18n/pt_BR.po | 4 ++--
addons/web/i18n/ro.po | 4 ++--
addons/web/i18n/ru.po | 4 ++--
addons/web/i18n/sk.po | 4 ++--
addons/web/i18n/sl.po | 4 ++--
addons/web/i18n/sq.po | 4 ++--
addons/web/i18n/sr@latin.po | 4 ++--
addons/web/i18n/sv.po | 4 ++--
addons/web/i18n/th.po | 4 ++--
addons/web/i18n/tr.po | 4 ++--
addons/web/i18n/uk.po | 4 ++--
addons/web/i18n/zh_CN.po | 4 ++--
addons/web/i18n/zh_TW.po | 4 ++--
addons/web_calendar/i18n/ar.po | 4 ++--
addons/web_calendar/i18n/bg.po | 4 ++--
addons/web_calendar/i18n/bn.po | 4 ++--
addons/web_calendar/i18n/bs.po | 4 ++--
addons/web_calendar/i18n/ca.po | 4 ++--
addons/web_calendar/i18n/cs.po | 4 ++--
addons/web_calendar/i18n/da.po | 4 ++--
addons/web_calendar/i18n/de.po | 4 ++--
addons/web_calendar/i18n/en_AU.po | 4 ++--
addons/web_calendar/i18n/en_GB.po | 4 ++--
addons/web_calendar/i18n/es.po | 4 ++--
addons/web_calendar/i18n/es_CL.po | 4 ++--
addons/web_calendar/i18n/es_CR.po | 4 ++--
addons/web_calendar/i18n/es_DO.po | 4 ++--
addons/web_calendar/i18n/es_EC.po | 4 ++--
addons/web_calendar/i18n/es_MX.po | 4 ++--
addons/web_calendar/i18n/et.po | 4 ++--
addons/web_calendar/i18n/eu.po | 4 ++--
addons/web_calendar/i18n/fa.po | 4 ++--
addons/web_calendar/i18n/fi.po | 4 ++--
addons/web_calendar/i18n/fr.po | 4 ++--
addons/web_calendar/i18n/fr_CA.po | 4 ++--
addons/web_calendar/i18n/gl.po | 4 ++--
addons/web_calendar/i18n/gu.po | 4 ++--
addons/web_calendar/i18n/hr.po | 4 ++--
addons/web_calendar/i18n/hu.po | 4 ++--
addons/web_calendar/i18n/id.po | 4 ++--
addons/web_calendar/i18n/it.po | 4 ++--
addons/web_calendar/i18n/ja.po | 4 ++--
addons/web_calendar/i18n/ka.po | 4 ++--
addons/web_calendar/i18n/ko.po | 4 ++--
addons/web_calendar/i18n/lt.po | 4 ++--
addons/web_calendar/i18n/mk.po | 4 ++--
addons/web_calendar/i18n/mn.po | 4 ++--
addons/web_calendar/i18n/nb.po | 4 ++--
addons/web_calendar/i18n/nl.po | 4 ++--
addons/web_calendar/i18n/nl_BE.po | 4 ++--
addons/web_calendar/i18n/pl.po | 4 ++--
addons/web_calendar/i18n/pt.po | 4 ++--
addons/web_calendar/i18n/pt_BR.po | 4 ++--
addons/web_calendar/i18n/ro.po | 4 ++--
addons/web_calendar/i18n/ru.po | 4 ++--
addons/web_calendar/i18n/sk.po | 4 ++--
addons/web_calendar/i18n/sl.po | 4 ++--
addons/web_calendar/i18n/sq.po | 4 ++--
addons/web_calendar/i18n/sr@latin.po | 4 ++--
addons/web_calendar/i18n/sv.po | 4 ++--
addons/web_calendar/i18n/tr.po | 4 ++--
addons/web_calendar/i18n/uk.po | 4 ++--
addons/web_calendar/i18n/zh_CN.po | 4 ++--
addons/web_diagram/i18n/ar.po | 4 ++--
addons/web_diagram/i18n/bg.po | 4 ++--
addons/web_diagram/i18n/bn.po | 4 ++--
addons/web_diagram/i18n/bs.po | 4 ++--
addons/web_diagram/i18n/ca.po | 4 ++--
addons/web_diagram/i18n/cs.po | 4 ++--
addons/web_diagram/i18n/da.po | 4 ++--
addons/web_diagram/i18n/de.po | 4 ++--
addons/web_diagram/i18n/en_AU.po | 4 ++--
addons/web_diagram/i18n/en_GB.po | 4 ++--
addons/web_diagram/i18n/es.po | 4 ++--
addons/web_diagram/i18n/es_CL.po | 4 ++--
addons/web_diagram/i18n/es_CR.po | 4 ++--
addons/web_diagram/i18n/es_DO.po | 4 ++--
addons/web_diagram/i18n/es_EC.po | 4 ++--
addons/web_diagram/i18n/es_MX.po | 4 ++--
addons/web_diagram/i18n/et.po | 4 ++--
addons/web_diagram/i18n/fa.po | 4 ++--
addons/web_diagram/i18n/fi.po | 4 ++--
addons/web_diagram/i18n/fr.po | 4 ++--
addons/web_diagram/i18n/gl.po | 4 ++--
addons/web_diagram/i18n/gu.po | 4 ++--
addons/web_diagram/i18n/hr.po | 4 ++--
addons/web_diagram/i18n/hu.po | 4 ++--
addons/web_diagram/i18n/id.po | 4 ++--
addons/web_diagram/i18n/it.po | 4 ++--
addons/web_diagram/i18n/ja.po | 4 ++--
addons/web_diagram/i18n/ka.po | 4 ++--
addons/web_diagram/i18n/ko.po | 4 ++--
addons/web_diagram/i18n/lt.po | 4 ++--
addons/web_diagram/i18n/mk.po | 4 ++--
addons/web_diagram/i18n/mn.po | 4 ++--
addons/web_diagram/i18n/nl.po | 4 ++--
addons/web_diagram/i18n/nl_BE.po | 4 ++--
addons/web_diagram/i18n/pl.po | 4 ++--
addons/web_diagram/i18n/pt.po | 4 ++--
addons/web_diagram/i18n/pt_BR.po | 4 ++--
addons/web_diagram/i18n/ro.po | 4 ++--
addons/web_diagram/i18n/ru.po | 4 ++--
addons/web_diagram/i18n/sl.po | 4 ++--
addons/web_diagram/i18n/sq.po | 4 ++--
addons/web_diagram/i18n/sr@latin.po | 4 ++--
addons/web_diagram/i18n/sv.po | 4 ++--
addons/web_diagram/i18n/tr.po | 4 ++--
addons/web_diagram/i18n/zh_CN.po | 4 ++--
addons/web_gantt/i18n/ar.po | 4 ++--
addons/web_gantt/i18n/bg.po | 4 ++--
addons/web_gantt/i18n/bn.po | 4 ++--
addons/web_gantt/i18n/bs.po | 4 ++--
addons/web_gantt/i18n/ca.po | 4 ++--
addons/web_gantt/i18n/cs.po | 4 ++--
addons/web_gantt/i18n/da.po | 4 ++--
addons/web_gantt/i18n/de.po | 4 ++--
addons/web_gantt/i18n/en_AU.po | 4 ++--
addons/web_gantt/i18n/en_GB.po | 4 ++--
addons/web_gantt/i18n/es.po | 4 ++--
addons/web_gantt/i18n/es_CL.po | 4 ++--
addons/web_gantt/i18n/es_CR.po | 4 ++--
addons/web_gantt/i18n/es_DO.po | 4 ++--
addons/web_gantt/i18n/es_EC.po | 4 ++--
addons/web_gantt/i18n/es_MX.po | 4 ++--
addons/web_gantt/i18n/et.po | 4 ++--
addons/web_gantt/i18n/fa.po | 4 ++--
addons/web_gantt/i18n/fi.po | 4 ++--
addons/web_gantt/i18n/fr.po | 4 ++--
addons/web_gantt/i18n/gl.po | 4 ++--
addons/web_gantt/i18n/gu.po | 4 ++--
addons/web_gantt/i18n/hr.po | 4 ++--
addons/web_gantt/i18n/hu.po | 4 ++--
addons/web_gantt/i18n/it.po | 4 ++--
addons/web_gantt/i18n/ja.po | 4 ++--
addons/web_gantt/i18n/ka.po | 4 ++--
addons/web_gantt/i18n/ko.po | 4 ++--
addons/web_gantt/i18n/lo.po | 4 ++--
addons/web_gantt/i18n/lt.po | 4 ++--
addons/web_gantt/i18n/mk.po | 4 ++--
addons/web_gantt/i18n/mn.po | 4 ++--
addons/web_gantt/i18n/nb.po | 4 ++--
addons/web_gantt/i18n/nl.po | 4 ++--
addons/web_gantt/i18n/nl_BE.po | 4 ++--
addons/web_gantt/i18n/pl.po | 4 ++--
addons/web_gantt/i18n/pt.po | 4 ++--
addons/web_gantt/i18n/pt_BR.po | 4 ++--
addons/web_gantt/i18n/ro.po | 4 ++--
addons/web_gantt/i18n/ru.po | 4 ++--
addons/web_gantt/i18n/sl.po | 4 ++--
addons/web_gantt/i18n/sq.po | 4 ++--
addons/web_gantt/i18n/sr@latin.po | 4 ++--
addons/web_gantt/i18n/sv.po | 4 ++--
addons/web_gantt/i18n/tr.po | 4 ++--
addons/web_gantt/i18n/zh_CN.po | 4 ++--
addons/web_graph/i18n/ar.po | 4 ++--
addons/web_graph/i18n/bg.po | 4 ++--
addons/web_graph/i18n/bn.po | 4 ++--
addons/web_graph/i18n/bs.po | 4 ++--
addons/web_graph/i18n/ca.po | 4 ++--
addons/web_graph/i18n/cs.po | 4 ++--
addons/web_graph/i18n/da.po | 4 ++--
addons/web_graph/i18n/de.po | 4 ++--
addons/web_graph/i18n/en_AU.po | 4 ++--
addons/web_graph/i18n/en_GB.po | 4 ++--
addons/web_graph/i18n/es.po | 4 ++--
addons/web_graph/i18n/es_CL.po | 4 ++--
addons/web_graph/i18n/es_CR.po | 4 ++--
addons/web_graph/i18n/es_DO.po | 4 ++--
addons/web_graph/i18n/es_EC.po | 4 ++--
addons/web_graph/i18n/es_MX.po | 4 ++--
addons/web_graph/i18n/et.po | 4 ++--
addons/web_graph/i18n/fa.po | 4 ++--
addons/web_graph/i18n/fi.po | 4 ++--
addons/web_graph/i18n/fr.po | 4 ++--
addons/web_graph/i18n/gl.po | 4 ++--
addons/web_graph/i18n/gu.po | 4 ++--
addons/web_graph/i18n/hr.po | 4 ++--
addons/web_graph/i18n/hu.po | 4 ++--
addons/web_graph/i18n/it.po | 4 ++--
addons/web_graph/i18n/ja.po | 4 ++--
addons/web_graph/i18n/ka.po | 4 ++--
addons/web_graph/i18n/ko.po | 4 ++--
addons/web_graph/i18n/lt.po | 4 ++--
addons/web_graph/i18n/mk.po | 4 ++--
addons/web_graph/i18n/mn.po | 4 ++--
addons/web_graph/i18n/nl.po | 4 ++--
addons/web_graph/i18n/nl_BE.po | 4 ++--
addons/web_graph/i18n/pl.po | 4 ++--
addons/web_graph/i18n/pt.po | 4 ++--
addons/web_graph/i18n/pt_BR.po | 4 ++--
addons/web_graph/i18n/ro.po | 4 ++--
addons/web_graph/i18n/ru.po | 4 ++--
addons/web_graph/i18n/sl.po | 4 ++--
addons/web_graph/i18n/sq.po | 4 ++--
addons/web_graph/i18n/sr@latin.po | 4 ++--
addons/web_graph/i18n/sv.po | 4 ++--
addons/web_graph/i18n/tr.po | 4 ++--
addons/web_graph/i18n/zh_CN.po | 4 ++--
addons/web_kanban/i18n/ar.po | 4 ++--
addons/web_kanban/i18n/bg.po | 4 ++--
addons/web_kanban/i18n/bn.po | 4 ++--
addons/web_kanban/i18n/bs.po | 4 ++--
addons/web_kanban/i18n/ca.po | 4 ++--
addons/web_kanban/i18n/cs.po | 4 ++--
addons/web_kanban/i18n/da.po | 4 ++--
addons/web_kanban/i18n/de.po | 4 ++--
addons/web_kanban/i18n/en_AU.po | 4 ++--
addons/web_kanban/i18n/en_GB.po | 4 ++--
addons/web_kanban/i18n/es.po | 4 ++--
addons/web_kanban/i18n/es_CL.po | 4 ++--
addons/web_kanban/i18n/es_CR.po | 4 ++--
addons/web_kanban/i18n/es_DO.po | 4 ++--
addons/web_kanban/i18n/es_EC.po | 4 ++--
addons/web_kanban/i18n/es_MX.po | 4 ++--
addons/web_kanban/i18n/et.po | 4 ++--
addons/web_kanban/i18n/fa.po | 4 ++--
addons/web_kanban/i18n/fi.po | 4 ++--
addons/web_kanban/i18n/fr.po | 4 ++--
addons/web_kanban/i18n/gl.po | 4 ++--
addons/web_kanban/i18n/gu.po | 4 ++--
addons/web_kanban/i18n/hr.po | 4 ++--
addons/web_kanban/i18n/hu.po | 4 ++--
addons/web_kanban/i18n/it.po | 4 ++--
addons/web_kanban/i18n/ja.po | 4 ++--
addons/web_kanban/i18n/ka.po | 4 ++--
addons/web_kanban/i18n/ko.po | 4 ++--
addons/web_kanban/i18n/lt.po | 4 ++--
addons/web_kanban/i18n/mk.po | 4 ++--
addons/web_kanban/i18n/mn.po | 4 ++--
addons/web_kanban/i18n/nl.po | 4 ++--
addons/web_kanban/i18n/nl_BE.po | 4 ++--
addons/web_kanban/i18n/pl.po | 4 ++--
addons/web_kanban/i18n/pt.po | 4 ++--
addons/web_kanban/i18n/pt_BR.po | 4 ++--
addons/web_kanban/i18n/ro.po | 4 ++--
addons/web_kanban/i18n/ru.po | 4 ++--
addons/web_kanban/i18n/sl.po | 4 ++--
addons/web_kanban/i18n/sr@latin.po | 4 ++--
addons/web_kanban/i18n/sv.po | 4 ++--
addons/web_kanban/i18n/tr.po | 4 ++--
addons/web_kanban/i18n/zh_CN.po | 4 ++--
addons/web_view_editor/i18n/ar.po | 4 ++--
addons/web_view_editor/i18n/cs.po | 4 ++--
addons/web_view_editor/i18n/de.po | 4 ++--
addons/web_view_editor/i18n/en_AU.po | 4 ++--
addons/web_view_editor/i18n/es.po | 4 ++--
addons/web_view_editor/i18n/es_DO.po | 4 ++--
addons/web_view_editor/i18n/es_EC.po | 4 ++--
addons/web_view_editor/i18n/es_MX.po | 4 ++--
addons/web_view_editor/i18n/et.po | 4 ++--
addons/web_view_editor/i18n/fa.po | 4 ++--
addons/web_view_editor/i18n/fr.po | 4 ++--
addons/web_view_editor/i18n/hr.po | 4 ++--
addons/web_view_editor/i18n/hu.po | 4 ++--
addons/web_view_editor/i18n/it.po | 4 ++--
addons/web_view_editor/i18n/ko.po | 4 ++--
addons/web_view_editor/i18n/mk.po | 4 ++--
addons/web_view_editor/i18n/mn.po | 4 ++--
addons/web_view_editor/i18n/nl.po | 4 ++--
addons/web_view_editor/i18n/nl_BE.po | 4 ++--
addons/web_view_editor/i18n/pl.po | 4 ++--
addons/web_view_editor/i18n/pt.po | 4 ++--
addons/web_view_editor/i18n/pt_BR.po | 4 ++--
addons/web_view_editor/i18n/ro.po | 4 ++--
addons/web_view_editor/i18n/ru.po | 4 ++--
addons/web_view_editor/i18n/sl.po | 4 ++--
addons/web_view_editor/i18n/tr.po | 4 ++--
addons/web_view_editor/i18n/zh_CN.po | 4 ++--
310 files changed, 625 insertions(+), 621 deletions(-)
diff --git a/addons/web/i18n/ar.po b/addons/web/i18n/ar.po
index 8d3c28d0a40..318f9967bd1 100644
--- a/addons/web/i18n/ar.po
+++ b/addons/web/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/bg.po b/addons/web/i18n/bg.po
index df0ff3be9eb..2235357d034 100644
--- a/addons/web/i18n/bg.po
+++ b/addons/web/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/bn.po b/addons/web/i18n/bn.po
index 0e2f0a414f7..572b2c70187 100644
--- a/addons/web/i18n/bn.po
+++ b/addons/web/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/bs.po b/addons/web/i18n/bs.po
index 3abc634f2ed..e738cd920da 100644
--- a/addons/web/i18n/bs.po
+++ b/addons/web/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ca.po b/addons/web/i18n/ca.po
index 5ab27830c70..b54c2e70cc4 100644
--- a/addons/web/i18n/ca.po
+++ b/addons/web/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/cs.po b/addons/web/i18n/cs.po
index 525310b6a77..e27409be836 100644
--- a/addons/web/i18n/cs.po
+++ b/addons/web/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"X-Poedit-Language: Czech\n"
#. module: web
diff --git a/addons/web/i18n/da.po b/addons/web/i18n/da.po
index f20a3d39773..0cf7f3e25bb 100644
--- a/addons/web/i18n/da.po
+++ b/addons/web/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/de.po b/addons/web/i18n/de.po
index a79db1ec02b..cff2b15732b 100644
--- a/addons/web/i18n/de.po
+++ b/addons/web/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
@@ -440,7 +440,7 @@ msgstr "Datei hochladen"
#: code:addons/web/static/src/js/view_form.js:3838
#, python-format
msgid "Action Button"
-msgstr ""
+msgstr "Aktion Button"
#. module: web
#. openerp-web
@@ -1001,6 +1001,10 @@ msgid ""
"\n"
"%s"
msgstr ""
+"Fehler bei Sprachversion Evaluierung\n"
+"%s\n"
+"\n"
+"%s"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/en_AU.po b/addons/web/i18n/en_AU.po
index b34e73f9f8f..98f459b5cfe 100644
--- a/addons/web/i18n/en_AU.po
+++ b/addons/web/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/en_GB.po b/addons/web/i18n/en_GB.po
index eb746163bd5..1a1c7b95430 100644
--- a/addons/web/i18n/en_GB.po
+++ b/addons/web/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/es.po b/addons/web/i18n/es.po
index d6ab8bf398d..bc3e7348190 100644
--- a/addons/web/i18n/es.po
+++ b/addons/web/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/es_CL.po b/addons/web/i18n/es_CL.po
index 447ed157f9b..fec4c297277 100644
--- a/addons/web/i18n/es_CL.po
+++ b/addons/web/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/es_CR.po b/addons/web/i18n/es_CR.po
index d1800280bb3..7f949060e85 100644
--- a/addons/web/i18n/es_CR.po
+++ b/addons/web/i18n/es_CR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"Language: es\n"
#. module: web
diff --git a/addons/web/i18n/es_DO.po b/addons/web/i18n/es_DO.po
index ebe3051936e..c15adda00de 100644
--- a/addons/web/i18n/es_DO.po
+++ b/addons/web/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/es_EC.po b/addons/web/i18n/es_EC.po
index e8e4bf9012b..ce71a616d25 100644
--- a/addons/web/i18n/es_EC.po
+++ b/addons/web/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/es_MX.po b/addons/web/i18n/es_MX.po
index c74a4cc45e8..2d2db1f63d9 100644
--- a/addons/web/i18n/es_MX.po
+++ b/addons/web/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/et.po b/addons/web/i18n/et.po
index c0a3b14d9c0..495de579f6f 100644
--- a/addons/web/i18n/et.po
+++ b/addons/web/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/eu.po b/addons/web/i18n/eu.po
index b9b707365b4..6afd00b69f6 100644
--- a/addons/web/i18n/eu.po
+++ b/addons/web/i18n/eu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/fa.po b/addons/web/i18n/fa.po
index c0e21e18549..78dce9de392 100644
--- a/addons/web/i18n/fa.po
+++ b/addons/web/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/fi.po b/addons/web/i18n/fi.po
index 63989a0b992..47378a64af1 100644
--- a/addons/web/i18n/fi.po
+++ b/addons/web/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/fr.po b/addons/web/i18n/fr.po
index e247f9c4de8..c1c683ce19f 100644
--- a/addons/web/i18n/fr.po
+++ b/addons/web/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/fr_CA.po b/addons/web/i18n/fr_CA.po
index 247fa124b03..fbb92c20abd 100644
--- a/addons/web/i18n/fr_CA.po
+++ b/addons/web/i18n/fr_CA.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/gl.po b/addons/web/i18n/gl.po
index 1bdcd028a1e..238d3162bbc 100644
--- a/addons/web/i18n/gl.po
+++ b/addons/web/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/gu.po b/addons/web/i18n/gu.po
index ef898986b70..668771478de 100644
--- a/addons/web/i18n/gu.po
+++ b/addons/web/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/hi.po b/addons/web/i18n/hi.po
index d5b73976a84..ad96426ab6e 100644
--- a/addons/web/i18n/hi.po
+++ b/addons/web/i18n/hi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/hr.po b/addons/web/i18n/hr.po
index 85ce77fdfc2..126bf7c2570 100644
--- a/addons/web/i18n/hr.po
+++ b/addons/web/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/hu.po b/addons/web/i18n/hu.po
index 1cedccc00d5..110a9437640 100644
--- a/addons/web/i18n/hu.po
+++ b/addons/web/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/id.po b/addons/web/i18n/id.po
index 9fa42f88ac6..0d33c80d2f6 100644
--- a/addons/web/i18n/id.po
+++ b/addons/web/i18n/id.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/it.po b/addons/web/i18n/it.po
index 230035f074c..f06537ab9ec 100644
--- a/addons/web/i18n/it.po
+++ b/addons/web/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ja.po b/addons/web/i18n/ja.po
index ab2418d8a0a..6dfc281e3b8 100644
--- a/addons/web/i18n/ja.po
+++ b/addons/web/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ka.po b/addons/web/i18n/ka.po
index 3988b2e7b3b..d10e403090e 100644
--- a/addons/web/i18n/ka.po
+++ b/addons/web/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ko.po b/addons/web/i18n/ko.po
index acb3bd77fbd..ca694278ad1 100644
--- a/addons/web/i18n/ko.po
+++ b/addons/web/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/lo.po b/addons/web/i18n/lo.po
index b347582dbcc..e0e4245e241 100644
--- a/addons/web/i18n/lo.po
+++ b/addons/web/i18n/lo.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/lt.po b/addons/web/i18n/lt.po
index d3d9a3d12c4..fb9b1720431 100644
--- a/addons/web/i18n/lt.po
+++ b/addons/web/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/lv.po b/addons/web/i18n/lv.po
index 95eb3424688..a32c56be431 100644
--- a/addons/web/i18n/lv.po
+++ b/addons/web/i18n/lv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/mk.po b/addons/web/i18n/mk.po
index 6c8213bef09..52374f1cdf5 100644
--- a/addons/web/i18n/mk.po
+++ b/addons/web/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/mn.po b/addons/web/i18n/mn.po
index af8452a59ea..0b90c9e9050 100644
--- a/addons/web/i18n/mn.po
+++ b/addons/web/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/nb.po b/addons/web/i18n/nb.po
index 001398275b9..c650a5f78fb 100644
--- a/addons/web/i18n/nb.po
+++ b/addons/web/i18n/nb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/nl.po b/addons/web/i18n/nl.po
index e9f0fc57b7f..e96bdb1821a 100644
--- a/addons/web/i18n/nl.po
+++ b/addons/web/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/nl_BE.po b/addons/web/i18n/nl_BE.po
index d920992c160..14f3a1d2702 100644
--- a/addons/web/i18n/nl_BE.po
+++ b/addons/web/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/pl.po b/addons/web/i18n/pl.po
index d1df38ee11c..fd7af11e552 100644
--- a/addons/web/i18n/pl.po
+++ b/addons/web/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/pt.po b/addons/web/i18n/pt.po
index 0cdc82bd4ff..4ade5c8fd85 100644
--- a/addons/web/i18n/pt.po
+++ b/addons/web/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/pt_BR.po b/addons/web/i18n/pt_BR.po
index 9bd53c84bb8..4b0350a38b4 100644
--- a/addons/web/i18n/pt_BR.po
+++ b/addons/web/i18n/pt_BR.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ro.po b/addons/web/i18n/ro.po
index 53bbb985624..6b9056a35e4 100644
--- a/addons/web/i18n/ro.po
+++ b/addons/web/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/ru.po b/addons/web/i18n/ru.po
index 495150379db..daa62065b2c 100644
--- a/addons/web/i18n/ru.po
+++ b/addons/web/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sk.po b/addons/web/i18n/sk.po
index 8ab67d1b1d6..d84257c091c 100644
--- a/addons/web/i18n/sk.po
+++ b/addons/web/i18n/sk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sl.po b/addons/web/i18n/sl.po
index 70a538ceeeb..29481817622 100644
--- a/addons/web/i18n/sl.po
+++ b/addons/web/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sq.po b/addons/web/i18n/sq.po
index bf230bade99..5a868cd5cf3 100644
--- a/addons/web/i18n/sq.po
+++ b/addons/web/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:50+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:00+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sr@latin.po b/addons/web/i18n/sr@latin.po
index 546949e4cb7..44b03ca3337 100644
--- a/addons/web/i18n/sr@latin.po
+++ b/addons/web/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/sv.po b/addons/web/i18n/sv.po
index 8e0650e37da..2fe6d167af2 100644
--- a/addons/web/i18n/sv.po
+++ b/addons/web/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/th.po b/addons/web/i18n/th.po
index 8a12c4a9e46..8850ed18e43 100644
--- a/addons/web/i18n/th.po
+++ b/addons/web/i18n/th.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/tr.po b/addons/web/i18n/tr.po
index 13c9fcda2dd..3a632685446 100644
--- a/addons/web/i18n/tr.po
+++ b/addons/web/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/uk.po b/addons/web/i18n/uk.po
index d0f53b077d2..65fe69f4745 100644
--- a/addons/web/i18n/uk.po
+++ b/addons/web/i18n/uk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/zh_CN.po b/addons/web/i18n/zh_CN.po
index 409bdefe8fc..b8f4714845e 100644
--- a/addons/web/i18n/zh_CN.po
+++ b/addons/web/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web/i18n/zh_TW.po b/addons/web/i18n/zh_TW.po
index 44d40313fa9..2a95bf92958 100644
--- a/addons/web/i18n/zh_TW.po
+++ b/addons/web/i18n/zh_TW.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web
#. openerp-web
diff --git a/addons/web_calendar/i18n/ar.po b/addons/web_calendar/i18n/ar.po
index 0bc05d7817a..f9cb855db46 100644
--- a/addons/web_calendar/i18n/ar.po
+++ b/addons/web_calendar/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/bg.po b/addons/web_calendar/i18n/bg.po
index 4657679c38c..70cb497f80a 100644
--- a/addons/web_calendar/i18n/bg.po
+++ b/addons/web_calendar/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/bn.po b/addons/web_calendar/i18n/bn.po
index b3eece3fac1..fa706b5dd3c 100644
--- a/addons/web_calendar/i18n/bn.po
+++ b/addons/web_calendar/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/bs.po b/addons/web_calendar/i18n/bs.po
index 4407972d3a0..bda69cc79e7 100644
--- a/addons/web_calendar/i18n/bs.po
+++ b/addons/web_calendar/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ca.po b/addons/web_calendar/i18n/ca.po
index 0081b001009..285fbff2401 100644
--- a/addons/web_calendar/i18n/ca.po
+++ b/addons/web_calendar/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/cs.po b/addons/web_calendar/i18n/cs.po
index f679b63edf7..00e1fdf8a9c 100644
--- a/addons/web_calendar/i18n/cs.po
+++ b/addons/web_calendar/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"X-Poedit-Language: Czech\n"
#. module: web_calendar
diff --git a/addons/web_calendar/i18n/da.po b/addons/web_calendar/i18n/da.po
index 6df2ec7afec..c71e706348d 100644
--- a/addons/web_calendar/i18n/da.po
+++ b/addons/web_calendar/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/de.po b/addons/web_calendar/i18n/de.po
index bea36816d20..d05e11885b8 100644
--- a/addons/web_calendar/i18n/de.po
+++ b/addons/web_calendar/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/en_AU.po b/addons/web_calendar/i18n/en_AU.po
index 88dd2af65b2..39055c079cc 100644
--- a/addons/web_calendar/i18n/en_AU.po
+++ b/addons/web_calendar/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/en_GB.po b/addons/web_calendar/i18n/en_GB.po
index 434326f3544..a2871cab155 100644
--- a/addons/web_calendar/i18n/en_GB.po
+++ b/addons/web_calendar/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/es.po b/addons/web_calendar/i18n/es.po
index fbcc9fd4625..e702ad2930f 100644
--- a/addons/web_calendar/i18n/es.po
+++ b/addons/web_calendar/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/es_CL.po b/addons/web_calendar/i18n/es_CL.po
index 8a9d75cfd09..002626c575f 100644
--- a/addons/web_calendar/i18n/es_CL.po
+++ b/addons/web_calendar/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/es_CR.po b/addons/web_calendar/i18n/es_CR.po
index cad38fdf0d7..42c7b406c0f 100644
--- a/addons/web_calendar/i18n/es_CR.po
+++ b/addons/web_calendar/i18n/es_CR.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"Language: es\n"
#. module: web_calendar
diff --git a/addons/web_calendar/i18n/es_DO.po b/addons/web_calendar/i18n/es_DO.po
index 6aa6c1c119f..f65710d16fd 100644
--- a/addons/web_calendar/i18n/es_DO.po
+++ b/addons/web_calendar/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/es_EC.po b/addons/web_calendar/i18n/es_EC.po
index 9666de6a44e..7005527bc96 100644
--- a/addons/web_calendar/i18n/es_EC.po
+++ b/addons/web_calendar/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/es_MX.po b/addons/web_calendar/i18n/es_MX.po
index 30dd44d9c74..bc9e496ab39 100644
--- a/addons/web_calendar/i18n/es_MX.po
+++ b/addons/web_calendar/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/et.po b/addons/web_calendar/i18n/et.po
index 336c1b0cdf2..dfee16eea1b 100644
--- a/addons/web_calendar/i18n/et.po
+++ b/addons/web_calendar/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/eu.po b/addons/web_calendar/i18n/eu.po
index feb82694748..35b8185a7c3 100644
--- a/addons/web_calendar/i18n/eu.po
+++ b/addons/web_calendar/i18n/eu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/fa.po b/addons/web_calendar/i18n/fa.po
index 1f10f3a1283..b09f6f7e15b 100644
--- a/addons/web_calendar/i18n/fa.po
+++ b/addons/web_calendar/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/fi.po b/addons/web_calendar/i18n/fi.po
index 9370b2b1f34..02b81552d0b 100644
--- a/addons/web_calendar/i18n/fi.po
+++ b/addons/web_calendar/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/fr.po b/addons/web_calendar/i18n/fr.po
index f2f89adc350..1d1722388e2 100644
--- a/addons/web_calendar/i18n/fr.po
+++ b/addons/web_calendar/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/fr_CA.po b/addons/web_calendar/i18n/fr_CA.po
index 2dc5c3bb9e7..77030b14e79 100644
--- a/addons/web_calendar/i18n/fr_CA.po
+++ b/addons/web_calendar/i18n/fr_CA.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/gl.po b/addons/web_calendar/i18n/gl.po
index 01eaf3aaadb..a1ba376506a 100644
--- a/addons/web_calendar/i18n/gl.po
+++ b/addons/web_calendar/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/gu.po b/addons/web_calendar/i18n/gu.po
index 4a24b51a6c5..50d06f2dc7d 100644
--- a/addons/web_calendar/i18n/gu.po
+++ b/addons/web_calendar/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/hr.po b/addons/web_calendar/i18n/hr.po
index 6a64bf82209..c0bd388ba05 100644
--- a/addons/web_calendar/i18n/hr.po
+++ b/addons/web_calendar/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/hu.po b/addons/web_calendar/i18n/hu.po
index 75ea36ffc5e..5a7fed38be6 100644
--- a/addons/web_calendar/i18n/hu.po
+++ b/addons/web_calendar/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/id.po b/addons/web_calendar/i18n/id.po
index 4d1e34a1c98..24d4cfd8a87 100644
--- a/addons/web_calendar/i18n/id.po
+++ b/addons/web_calendar/i18n/id.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/it.po b/addons/web_calendar/i18n/it.po
index aac7823f28e..cacfc86c681 100644
--- a/addons/web_calendar/i18n/it.po
+++ b/addons/web_calendar/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ja.po b/addons/web_calendar/i18n/ja.po
index 6f8ba1d6dd3..e213c1c16e0 100644
--- a/addons/web_calendar/i18n/ja.po
+++ b/addons/web_calendar/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ka.po b/addons/web_calendar/i18n/ka.po
index 4d6ca49780a..05eec155986 100644
--- a/addons/web_calendar/i18n/ka.po
+++ b/addons/web_calendar/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ko.po b/addons/web_calendar/i18n/ko.po
index e3858354d5c..5c9c033c8b3 100644
--- a/addons/web_calendar/i18n/ko.po
+++ b/addons/web_calendar/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/lt.po b/addons/web_calendar/i18n/lt.po
index 645c6a96ec3..f0096e2578a 100644
--- a/addons/web_calendar/i18n/lt.po
+++ b/addons/web_calendar/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/mk.po b/addons/web_calendar/i18n/mk.po
index b7729015fbf..903a8596174 100644
--- a/addons/web_calendar/i18n/mk.po
+++ b/addons/web_calendar/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/mn.po b/addons/web_calendar/i18n/mn.po
index 4ac7c9491d2..d02c5c70b70 100644
--- a/addons/web_calendar/i18n/mn.po
+++ b/addons/web_calendar/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/nb.po b/addons/web_calendar/i18n/nb.po
index bfcab9e0f35..f50253b0ac6 100644
--- a/addons/web_calendar/i18n/nb.po
+++ b/addons/web_calendar/i18n/nb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/nl.po b/addons/web_calendar/i18n/nl.po
index 66c173eee35..1881028bbc2 100644
--- a/addons/web_calendar/i18n/nl.po
+++ b/addons/web_calendar/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/nl_BE.po b/addons/web_calendar/i18n/nl_BE.po
index 91fc9adf2c3..06a3adbee40 100644
--- a/addons/web_calendar/i18n/nl_BE.po
+++ b/addons/web_calendar/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/pl.po b/addons/web_calendar/i18n/pl.po
index 33e05e9f03e..c9d54a315b8 100644
--- a/addons/web_calendar/i18n/pl.po
+++ b/addons/web_calendar/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/pt.po b/addons/web_calendar/i18n/pt.po
index 40e5bda42b5..74aab8255c7 100644
--- a/addons/web_calendar/i18n/pt.po
+++ b/addons/web_calendar/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/pt_BR.po b/addons/web_calendar/i18n/pt_BR.po
index 85e42c4a941..b98de1ca612 100644
--- a/addons/web_calendar/i18n/pt_BR.po
+++ b/addons/web_calendar/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ro.po b/addons/web_calendar/i18n/ro.po
index 47f993e80dc..e3aff89cebd 100644
--- a/addons/web_calendar/i18n/ro.po
+++ b/addons/web_calendar/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/ru.po b/addons/web_calendar/i18n/ru.po
index 822c486a3de..8d88cb554fa 100644
--- a/addons/web_calendar/i18n/ru.po
+++ b/addons/web_calendar/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/sk.po b/addons/web_calendar/i18n/sk.po
index 4f6ccc32f20..9f951815e7f 100644
--- a/addons/web_calendar/i18n/sk.po
+++ b/addons/web_calendar/i18n/sk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/sl.po b/addons/web_calendar/i18n/sl.po
index c66b1e30ab6..9eb7940ea7b 100644
--- a/addons/web_calendar/i18n/sl.po
+++ b/addons/web_calendar/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/sq.po b/addons/web_calendar/i18n/sq.po
index abb25bb3d2c..468c8a3e003 100644
--- a/addons/web_calendar/i18n/sq.po
+++ b/addons/web_calendar/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/sr@latin.po b/addons/web_calendar/i18n/sr@latin.po
index 32a18ab118b..ddce696762d 100644
--- a/addons/web_calendar/i18n/sr@latin.po
+++ b/addons/web_calendar/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/sv.po b/addons/web_calendar/i18n/sv.po
index 48565f1221e..5381d9483cf 100644
--- a/addons/web_calendar/i18n/sv.po
+++ b/addons/web_calendar/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/tr.po b/addons/web_calendar/i18n/tr.po
index 31f78501ae9..cd168727634 100644
--- a/addons/web_calendar/i18n/tr.po
+++ b/addons/web_calendar/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/uk.po b/addons/web_calendar/i18n/uk.po
index 4aaaae960d2..259c3b70002 100644
--- a/addons/web_calendar/i18n/uk.po
+++ b/addons/web_calendar/i18n/uk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_calendar/i18n/zh_CN.po b/addons/web_calendar/i18n/zh_CN.po
index 74545f188b9..cb14bfa6954 100644
--- a/addons/web_calendar/i18n/zh_CN.po
+++ b/addons/web_calendar/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_calendar
#. openerp-web
diff --git a/addons/web_diagram/i18n/ar.po b/addons/web_diagram/i18n/ar.po
index 0d4da76c5c3..7ee0c7ff7f5 100644
--- a/addons/web_diagram/i18n/ar.po
+++ b/addons/web_diagram/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/bg.po b/addons/web_diagram/i18n/bg.po
index c44ae70af27..2cd66ec84aa 100644
--- a/addons/web_diagram/i18n/bg.po
+++ b/addons/web_diagram/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/bn.po b/addons/web_diagram/i18n/bn.po
index bf11ab962bb..a6bafa82056 100644
--- a/addons/web_diagram/i18n/bn.po
+++ b/addons/web_diagram/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/bs.po b/addons/web_diagram/i18n/bs.po
index 5806bac17ee..dcce1759a23 100644
--- a/addons/web_diagram/i18n/bs.po
+++ b/addons/web_diagram/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ca.po b/addons/web_diagram/i18n/ca.po
index a21ec226936..48d6b800251 100644
--- a/addons/web_diagram/i18n/ca.po
+++ b/addons/web_diagram/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/cs.po b/addons/web_diagram/i18n/cs.po
index 6b2b67cb2ea..00efb5c441f 100644
--- a/addons/web_diagram/i18n/cs.po
+++ b/addons/web_diagram/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"X-Poedit-Language: Czech\n"
#. module: web_diagram
diff --git a/addons/web_diagram/i18n/da.po b/addons/web_diagram/i18n/da.po
index 5d2b9fcbaf7..612e282c0b4 100644
--- a/addons/web_diagram/i18n/da.po
+++ b/addons/web_diagram/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/de.po b/addons/web_diagram/i18n/de.po
index 71b41d91ba6..f7b15a4e73a 100644
--- a/addons/web_diagram/i18n/de.po
+++ b/addons/web_diagram/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/en_AU.po b/addons/web_diagram/i18n/en_AU.po
index c156b23bc7b..67011674293 100644
--- a/addons/web_diagram/i18n/en_AU.po
+++ b/addons/web_diagram/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/en_GB.po b/addons/web_diagram/i18n/en_GB.po
index 581f769bf75..1571e85ab4c 100644
--- a/addons/web_diagram/i18n/en_GB.po
+++ b/addons/web_diagram/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/es.po b/addons/web_diagram/i18n/es.po
index d247bc142a1..a84ddf49572 100644
--- a/addons/web_diagram/i18n/es.po
+++ b/addons/web_diagram/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/es_CL.po b/addons/web_diagram/i18n/es_CL.po
index ea1e1d806c2..8fb2c396b94 100644
--- a/addons/web_diagram/i18n/es_CL.po
+++ b/addons/web_diagram/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/es_CR.po b/addons/web_diagram/i18n/es_CR.po
index cc362727839..07df53d7d52 100644
--- a/addons/web_diagram/i18n/es_CR.po
+++ b/addons/web_diagram/i18n/es_CR.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"Language: es\n"
#. module: web_diagram
diff --git a/addons/web_diagram/i18n/es_DO.po b/addons/web_diagram/i18n/es_DO.po
index 42504635c3f..9a2f48c3a36 100644
--- a/addons/web_diagram/i18n/es_DO.po
+++ b/addons/web_diagram/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/es_EC.po b/addons/web_diagram/i18n/es_EC.po
index e1b2fb3d563..75d31ff647c 100644
--- a/addons/web_diagram/i18n/es_EC.po
+++ b/addons/web_diagram/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/es_MX.po b/addons/web_diagram/i18n/es_MX.po
index 2cba1d67ed9..d8e3aa1a0bd 100644
--- a/addons/web_diagram/i18n/es_MX.po
+++ b/addons/web_diagram/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/et.po b/addons/web_diagram/i18n/et.po
index fefae361b19..e8229f57fbb 100644
--- a/addons/web_diagram/i18n/et.po
+++ b/addons/web_diagram/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/fa.po b/addons/web_diagram/i18n/fa.po
index d0bfea7c6d4..338858efe27 100644
--- a/addons/web_diagram/i18n/fa.po
+++ b/addons/web_diagram/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/fi.po b/addons/web_diagram/i18n/fi.po
index daa080ed4ba..59f568ead36 100644
--- a/addons/web_diagram/i18n/fi.po
+++ b/addons/web_diagram/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/fr.po b/addons/web_diagram/i18n/fr.po
index 68e835ed4ab..e3d9843998a 100644
--- a/addons/web_diagram/i18n/fr.po
+++ b/addons/web_diagram/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/gl.po b/addons/web_diagram/i18n/gl.po
index 02ebc2f1cc6..2e85882dcd5 100644
--- a/addons/web_diagram/i18n/gl.po
+++ b/addons/web_diagram/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/gu.po b/addons/web_diagram/i18n/gu.po
index 84309ca9542..160e61d0827 100644
--- a/addons/web_diagram/i18n/gu.po
+++ b/addons/web_diagram/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/hr.po b/addons/web_diagram/i18n/hr.po
index 8930326f279..a4014cac797 100644
--- a/addons/web_diagram/i18n/hr.po
+++ b/addons/web_diagram/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/hu.po b/addons/web_diagram/i18n/hu.po
index 1dd0d1c34de..6f8ee35854e 100644
--- a/addons/web_diagram/i18n/hu.po
+++ b/addons/web_diagram/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/id.po b/addons/web_diagram/i18n/id.po
index 5dca31f8df5..9757749067a 100644
--- a/addons/web_diagram/i18n/id.po
+++ b/addons/web_diagram/i18n/id.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/it.po b/addons/web_diagram/i18n/it.po
index 736d6bf828e..f4227346a12 100644
--- a/addons/web_diagram/i18n/it.po
+++ b/addons/web_diagram/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ja.po b/addons/web_diagram/i18n/ja.po
index c70f044150b..422f59d7305 100644
--- a/addons/web_diagram/i18n/ja.po
+++ b/addons/web_diagram/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ka.po b/addons/web_diagram/i18n/ka.po
index f9028aa07cb..762eec43e27 100644
--- a/addons/web_diagram/i18n/ka.po
+++ b/addons/web_diagram/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ko.po b/addons/web_diagram/i18n/ko.po
index 16f601ede9f..986e883a101 100644
--- a/addons/web_diagram/i18n/ko.po
+++ b/addons/web_diagram/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/lt.po b/addons/web_diagram/i18n/lt.po
index 09b26e2554f..48eff8af913 100644
--- a/addons/web_diagram/i18n/lt.po
+++ b/addons/web_diagram/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/mk.po b/addons/web_diagram/i18n/mk.po
index 9f0ccb0c122..b922f9fcfcf 100644
--- a/addons/web_diagram/i18n/mk.po
+++ b/addons/web_diagram/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/mn.po b/addons/web_diagram/i18n/mn.po
index 47b0656e4d3..0d1186ea07d 100644
--- a/addons/web_diagram/i18n/mn.po
+++ b/addons/web_diagram/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/nl.po b/addons/web_diagram/i18n/nl.po
index cd92d2d82ba..aa74e695b80 100644
--- a/addons/web_diagram/i18n/nl.po
+++ b/addons/web_diagram/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/nl_BE.po b/addons/web_diagram/i18n/nl_BE.po
index 6b9d26413b7..4041dcf9416 100644
--- a/addons/web_diagram/i18n/nl_BE.po
+++ b/addons/web_diagram/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/pl.po b/addons/web_diagram/i18n/pl.po
index c440835e53d..e56762f8892 100644
--- a/addons/web_diagram/i18n/pl.po
+++ b/addons/web_diagram/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/pt.po b/addons/web_diagram/i18n/pt.po
index a4a9851546a..1d5e119616f 100644
--- a/addons/web_diagram/i18n/pt.po
+++ b/addons/web_diagram/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/pt_BR.po b/addons/web_diagram/i18n/pt_BR.po
index 8ce5b2c6c96..433b200672c 100644
--- a/addons/web_diagram/i18n/pt_BR.po
+++ b/addons/web_diagram/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ro.po b/addons/web_diagram/i18n/ro.po
index 47e149f32a4..269dd622feb 100644
--- a/addons/web_diagram/i18n/ro.po
+++ b/addons/web_diagram/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/ru.po b/addons/web_diagram/i18n/ru.po
index 7e8ef0136c1..3a634c263e1 100644
--- a/addons/web_diagram/i18n/ru.po
+++ b/addons/web_diagram/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/sl.po b/addons/web_diagram/i18n/sl.po
index 6a0b80dbbc3..b434895d1b2 100644
--- a/addons/web_diagram/i18n/sl.po
+++ b/addons/web_diagram/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/sq.po b/addons/web_diagram/i18n/sq.po
index e2d5306daea..1b99a70d65b 100644
--- a/addons/web_diagram/i18n/sq.po
+++ b/addons/web_diagram/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:51+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:01+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/sr@latin.po b/addons/web_diagram/i18n/sr@latin.po
index df2b9233e87..9bf7a402fc6 100644
--- a/addons/web_diagram/i18n/sr@latin.po
+++ b/addons/web_diagram/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/sv.po b/addons/web_diagram/i18n/sv.po
index 90d8eaed6ff..2ebdbe8d056 100644
--- a/addons/web_diagram/i18n/sv.po
+++ b/addons/web_diagram/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/tr.po b/addons/web_diagram/i18n/tr.po
index 8f95d9bb830..4d9272a25e4 100644
--- a/addons/web_diagram/i18n/tr.po
+++ b/addons/web_diagram/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_diagram/i18n/zh_CN.po b/addons/web_diagram/i18n/zh_CN.po
index fef77eaa29e..c36c8ce10cf 100644
--- a/addons/web_diagram/i18n/zh_CN.po
+++ b/addons/web_diagram/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_diagram
#. openerp-web
diff --git a/addons/web_gantt/i18n/ar.po b/addons/web_gantt/i18n/ar.po
index e04aa4eb1fa..2ba28685a6c 100644
--- a/addons/web_gantt/i18n/ar.po
+++ b/addons/web_gantt/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/bg.po b/addons/web_gantt/i18n/bg.po
index d3eb409dbb1..a8b43de3132 100644
--- a/addons/web_gantt/i18n/bg.po
+++ b/addons/web_gantt/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/bn.po b/addons/web_gantt/i18n/bn.po
index 66a6ad88c8b..39327ec882a 100644
--- a/addons/web_gantt/i18n/bn.po
+++ b/addons/web_gantt/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/bs.po b/addons/web_gantt/i18n/bs.po
index 60895897c7e..e840b58f6d3 100644
--- a/addons/web_gantt/i18n/bs.po
+++ b/addons/web_gantt/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ca.po b/addons/web_gantt/i18n/ca.po
index 5912b3b4deb..753f908050d 100644
--- a/addons/web_gantt/i18n/ca.po
+++ b/addons/web_gantt/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/cs.po b/addons/web_gantt/i18n/cs.po
index 1db04fe5130..09bc0d5fcdd 100644
--- a/addons/web_gantt/i18n/cs.po
+++ b/addons/web_gantt/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"X-Poedit-Language: Czech\n"
#. module: web_gantt
diff --git a/addons/web_gantt/i18n/da.po b/addons/web_gantt/i18n/da.po
index 95c5772513e..d0e47dc38b6 100644
--- a/addons/web_gantt/i18n/da.po
+++ b/addons/web_gantt/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/de.po b/addons/web_gantt/i18n/de.po
index d3480eeb5d2..7ad8627f7b8 100644
--- a/addons/web_gantt/i18n/de.po
+++ b/addons/web_gantt/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/en_AU.po b/addons/web_gantt/i18n/en_AU.po
index 191ec52174c..3f589c4c5a6 100644
--- a/addons/web_gantt/i18n/en_AU.po
+++ b/addons/web_gantt/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/en_GB.po b/addons/web_gantt/i18n/en_GB.po
index ced7f17be06..0d20b197333 100644
--- a/addons/web_gantt/i18n/en_GB.po
+++ b/addons/web_gantt/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es.po b/addons/web_gantt/i18n/es.po
index e046d07a1d5..5ff3fb0e915 100644
--- a/addons/web_gantt/i18n/es.po
+++ b/addons/web_gantt/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es_CL.po b/addons/web_gantt/i18n/es_CL.po
index c27328f0832..de42ccd9511 100644
--- a/addons/web_gantt/i18n/es_CL.po
+++ b/addons/web_gantt/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es_CR.po b/addons/web_gantt/i18n/es_CR.po
index 1965e6ddd7a..b4779b91937 100644
--- a/addons/web_gantt/i18n/es_CR.po
+++ b/addons/web_gantt/i18n/es_CR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es_DO.po b/addons/web_gantt/i18n/es_DO.po
index e616bbb5241..890bfe6bab2 100644
--- a/addons/web_gantt/i18n/es_DO.po
+++ b/addons/web_gantt/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es_EC.po b/addons/web_gantt/i18n/es_EC.po
index af17628fd1d..92bbcd3faa1 100644
--- a/addons/web_gantt/i18n/es_EC.po
+++ b/addons/web_gantt/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/es_MX.po b/addons/web_gantt/i18n/es_MX.po
index 967980bf471..49147a3c4a3 100644
--- a/addons/web_gantt/i18n/es_MX.po
+++ b/addons/web_gantt/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/et.po b/addons/web_gantt/i18n/et.po
index 260462c1461..eab55d353d7 100644
--- a/addons/web_gantt/i18n/et.po
+++ b/addons/web_gantt/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/fa.po b/addons/web_gantt/i18n/fa.po
index d7907eece64..0b693fdc29c 100644
--- a/addons/web_gantt/i18n/fa.po
+++ b/addons/web_gantt/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/fi.po b/addons/web_gantt/i18n/fi.po
index 92131da7857..d0ffdb40208 100644
--- a/addons/web_gantt/i18n/fi.po
+++ b/addons/web_gantt/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/fr.po b/addons/web_gantt/i18n/fr.po
index 7a65d0ff7d5..1811a381dd7 100644
--- a/addons/web_gantt/i18n/fr.po
+++ b/addons/web_gantt/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/gl.po b/addons/web_gantt/i18n/gl.po
index fb088b87e90..69f480edcc3 100644
--- a/addons/web_gantt/i18n/gl.po
+++ b/addons/web_gantt/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/gu.po b/addons/web_gantt/i18n/gu.po
index 2d01f3758f6..1a9e6c64adc 100644
--- a/addons/web_gantt/i18n/gu.po
+++ b/addons/web_gantt/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/hr.po b/addons/web_gantt/i18n/hr.po
index 641de988b96..52026518d4a 100644
--- a/addons/web_gantt/i18n/hr.po
+++ b/addons/web_gantt/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/hu.po b/addons/web_gantt/i18n/hu.po
index 02464663a6c..7e467203a27 100644
--- a/addons/web_gantt/i18n/hu.po
+++ b/addons/web_gantt/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/it.po b/addons/web_gantt/i18n/it.po
index 644e3745846..051696eef12 100644
--- a/addons/web_gantt/i18n/it.po
+++ b/addons/web_gantt/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ja.po b/addons/web_gantt/i18n/ja.po
index d5dc2a9e9bb..d8e7b15d9cc 100644
--- a/addons/web_gantt/i18n/ja.po
+++ b/addons/web_gantt/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ka.po b/addons/web_gantt/i18n/ka.po
index 045d2f3b280..6b006499c1a 100644
--- a/addons/web_gantt/i18n/ka.po
+++ b/addons/web_gantt/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ko.po b/addons/web_gantt/i18n/ko.po
index 516ec81b097..c972515b4cc 100644
--- a/addons/web_gantt/i18n/ko.po
+++ b/addons/web_gantt/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/lo.po b/addons/web_gantt/i18n/lo.po
index 85e53528e7f..818c0d29be1 100644
--- a/addons/web_gantt/i18n/lo.po
+++ b/addons/web_gantt/i18n/lo.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/lt.po b/addons/web_gantt/i18n/lt.po
index 25f6a77b080..926237fe8a0 100644
--- a/addons/web_gantt/i18n/lt.po
+++ b/addons/web_gantt/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/mk.po b/addons/web_gantt/i18n/mk.po
index 88823230ee8..602c4e7cb93 100644
--- a/addons/web_gantt/i18n/mk.po
+++ b/addons/web_gantt/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/mn.po b/addons/web_gantt/i18n/mn.po
index f86c597b6a1..336f517cf61 100644
--- a/addons/web_gantt/i18n/mn.po
+++ b/addons/web_gantt/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/nb.po b/addons/web_gantt/i18n/nb.po
index 6989e24da21..32d458426b0 100644
--- a/addons/web_gantt/i18n/nb.po
+++ b/addons/web_gantt/i18n/nb.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/nl.po b/addons/web_gantt/i18n/nl.po
index 649edcd861a..7f1df266835 100644
--- a/addons/web_gantt/i18n/nl.po
+++ b/addons/web_gantt/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/nl_BE.po b/addons/web_gantt/i18n/nl_BE.po
index 2931327f744..cb68d2a579b 100644
--- a/addons/web_gantt/i18n/nl_BE.po
+++ b/addons/web_gantt/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/pl.po b/addons/web_gantt/i18n/pl.po
index e6bf7cb5287..17998f22a0a 100644
--- a/addons/web_gantt/i18n/pl.po
+++ b/addons/web_gantt/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/pt.po b/addons/web_gantt/i18n/pt.po
index a78014404e4..ab497551c01 100644
--- a/addons/web_gantt/i18n/pt.po
+++ b/addons/web_gantt/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/pt_BR.po b/addons/web_gantt/i18n/pt_BR.po
index 29076f65904..a9eff5a6a8f 100644
--- a/addons/web_gantt/i18n/pt_BR.po
+++ b/addons/web_gantt/i18n/pt_BR.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ro.po b/addons/web_gantt/i18n/ro.po
index 93b98d68c80..54b88e575d3 100644
--- a/addons/web_gantt/i18n/ro.po
+++ b/addons/web_gantt/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/ru.po b/addons/web_gantt/i18n/ru.po
index 727e7c77d94..dd91c22bac2 100644
--- a/addons/web_gantt/i18n/ru.po
+++ b/addons/web_gantt/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/sl.po b/addons/web_gantt/i18n/sl.po
index efbba7fbbb7..2302fc79db6 100644
--- a/addons/web_gantt/i18n/sl.po
+++ b/addons/web_gantt/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/sq.po b/addons/web_gantt/i18n/sq.po
index 3a955a01b09..8cdeca4b751 100644
--- a/addons/web_gantt/i18n/sq.po
+++ b/addons/web_gantt/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/sr@latin.po b/addons/web_gantt/i18n/sr@latin.po
index da3ba5fd9d2..5b1bca1d607 100644
--- a/addons/web_gantt/i18n/sr@latin.po
+++ b/addons/web_gantt/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/sv.po b/addons/web_gantt/i18n/sv.po
index f48d3dfea78..afd803b3da9 100644
--- a/addons/web_gantt/i18n/sv.po
+++ b/addons/web_gantt/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/tr.po b/addons/web_gantt/i18n/tr.po
index d47cae822df..9b876b21fee 100644
--- a/addons/web_gantt/i18n/tr.po
+++ b/addons/web_gantt/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_gantt/i18n/zh_CN.po b/addons/web_gantt/i18n/zh_CN.po
index ae914c3e560..33006c57209 100644
--- a/addons/web_gantt/i18n/zh_CN.po
+++ b/addons/web_gantt/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_gantt
#. openerp-web
diff --git a/addons/web_graph/i18n/ar.po b/addons/web_graph/i18n/ar.po
index 75402060341..cfd66aa3e37 100644
--- a/addons/web_graph/i18n/ar.po
+++ b/addons/web_graph/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/bg.po b/addons/web_graph/i18n/bg.po
index bb0b1f30cb2..8fe52f60f87 100644
--- a/addons/web_graph/i18n/bg.po
+++ b/addons/web_graph/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/bn.po b/addons/web_graph/i18n/bn.po
index e0c316ac0d8..e2864455f33 100644
--- a/addons/web_graph/i18n/bn.po
+++ b/addons/web_graph/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/bs.po b/addons/web_graph/i18n/bs.po
index 7f70a407bac..3a569438b7a 100644
--- a/addons/web_graph/i18n/bs.po
+++ b/addons/web_graph/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ca.po b/addons/web_graph/i18n/ca.po
index e8d506aed70..778dd761c55 100644
--- a/addons/web_graph/i18n/ca.po
+++ b/addons/web_graph/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/cs.po b/addons/web_graph/i18n/cs.po
index 7365aa8a282..4f8987bfd6d 100644
--- a/addons/web_graph/i18n/cs.po
+++ b/addons/web_graph/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/da.po b/addons/web_graph/i18n/da.po
index cf0b8ceb972..2190515124f 100644
--- a/addons/web_graph/i18n/da.po
+++ b/addons/web_graph/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/de.po b/addons/web_graph/i18n/de.po
index 16fb838ae46..2bfd970deab 100644
--- a/addons/web_graph/i18n/de.po
+++ b/addons/web_graph/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/en_AU.po b/addons/web_graph/i18n/en_AU.po
index d83de5e481f..1d355195012 100644
--- a/addons/web_graph/i18n/en_AU.po
+++ b/addons/web_graph/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/en_GB.po b/addons/web_graph/i18n/en_GB.po
index 591cc83e3e9..afa8b435a20 100644
--- a/addons/web_graph/i18n/en_GB.po
+++ b/addons/web_graph/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es.po b/addons/web_graph/i18n/es.po
index 286e36c024d..65fd12b0b85 100644
--- a/addons/web_graph/i18n/es.po
+++ b/addons/web_graph/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es_CL.po b/addons/web_graph/i18n/es_CL.po
index 56b7f0f7cc5..c2761f6174e 100644
--- a/addons/web_graph/i18n/es_CL.po
+++ b/addons/web_graph/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es_CR.po b/addons/web_graph/i18n/es_CR.po
index b58e2680b7d..c422a4125c5 100644
--- a/addons/web_graph/i18n/es_CR.po
+++ b/addons/web_graph/i18n/es_CR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es_DO.po b/addons/web_graph/i18n/es_DO.po
index 12d570e3adf..d908b751c45 100644
--- a/addons/web_graph/i18n/es_DO.po
+++ b/addons/web_graph/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es_EC.po b/addons/web_graph/i18n/es_EC.po
index 4cefe444100..8991c069182 100644
--- a/addons/web_graph/i18n/es_EC.po
+++ b/addons/web_graph/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/es_MX.po b/addons/web_graph/i18n/es_MX.po
index 5f6297db1a4..bbfb88af77c 100644
--- a/addons/web_graph/i18n/es_MX.po
+++ b/addons/web_graph/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/et.po b/addons/web_graph/i18n/et.po
index 5646c5a01fd..7af714c3afc 100644
--- a/addons/web_graph/i18n/et.po
+++ b/addons/web_graph/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/fa.po b/addons/web_graph/i18n/fa.po
index 8180ffadc11..c0c50a9f79a 100644
--- a/addons/web_graph/i18n/fa.po
+++ b/addons/web_graph/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/fi.po b/addons/web_graph/i18n/fi.po
index 5174414a87c..9a6290ed3b0 100644
--- a/addons/web_graph/i18n/fi.po
+++ b/addons/web_graph/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/fr.po b/addons/web_graph/i18n/fr.po
index b9fd13c4bf2..932d14202a5 100644
--- a/addons/web_graph/i18n/fr.po
+++ b/addons/web_graph/i18n/fr.po
@@ -15,8 +15,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/gl.po b/addons/web_graph/i18n/gl.po
index 2f04fd1fc14..0a271462f8a 100644
--- a/addons/web_graph/i18n/gl.po
+++ b/addons/web_graph/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/gu.po b/addons/web_graph/i18n/gu.po
index 278abf060ae..9cb80c27c2c 100644
--- a/addons/web_graph/i18n/gu.po
+++ b/addons/web_graph/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/hr.po b/addons/web_graph/i18n/hr.po
index 8517ae90daa..fb215000b19 100644
--- a/addons/web_graph/i18n/hr.po
+++ b/addons/web_graph/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/hu.po b/addons/web_graph/i18n/hu.po
index 6787516868b..5e8fd318ff7 100644
--- a/addons/web_graph/i18n/hu.po
+++ b/addons/web_graph/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/it.po b/addons/web_graph/i18n/it.po
index 5b446fe1a03..57bc5f4bf4f 100644
--- a/addons/web_graph/i18n/it.po
+++ b/addons/web_graph/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ja.po b/addons/web_graph/i18n/ja.po
index 68b3330cc39..775f24d4fe8 100644
--- a/addons/web_graph/i18n/ja.po
+++ b/addons/web_graph/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ka.po b/addons/web_graph/i18n/ka.po
index 14fd59fff29..74492292239 100644
--- a/addons/web_graph/i18n/ka.po
+++ b/addons/web_graph/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ko.po b/addons/web_graph/i18n/ko.po
index b6742abc026..7c2cb85732b 100644
--- a/addons/web_graph/i18n/ko.po
+++ b/addons/web_graph/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/lt.po b/addons/web_graph/i18n/lt.po
index b6c826465a2..7cb1bd56480 100644
--- a/addons/web_graph/i18n/lt.po
+++ b/addons/web_graph/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/mk.po b/addons/web_graph/i18n/mk.po
index 90c6137c2d3..da56af5117c 100644
--- a/addons/web_graph/i18n/mk.po
+++ b/addons/web_graph/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/mn.po b/addons/web_graph/i18n/mn.po
index edaf2251921..d00fac82d8e 100644
--- a/addons/web_graph/i18n/mn.po
+++ b/addons/web_graph/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/nl.po b/addons/web_graph/i18n/nl.po
index d959656e11a..ed0b0e1f43d 100644
--- a/addons/web_graph/i18n/nl.po
+++ b/addons/web_graph/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/nl_BE.po b/addons/web_graph/i18n/nl_BE.po
index 3d3e20b8de3..d0de85c3f66 100644
--- a/addons/web_graph/i18n/nl_BE.po
+++ b/addons/web_graph/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/pl.po b/addons/web_graph/i18n/pl.po
index fb0b0ca86ce..e0a3a9475cf 100644
--- a/addons/web_graph/i18n/pl.po
+++ b/addons/web_graph/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/pt.po b/addons/web_graph/i18n/pt.po
index 93932b83d3d..9baa3d28975 100644
--- a/addons/web_graph/i18n/pt.po
+++ b/addons/web_graph/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/pt_BR.po b/addons/web_graph/i18n/pt_BR.po
index 12460e61306..7dbecc99ec1 100644
--- a/addons/web_graph/i18n/pt_BR.po
+++ b/addons/web_graph/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ro.po b/addons/web_graph/i18n/ro.po
index 1fa11bcf087..30620f679dc 100644
--- a/addons/web_graph/i18n/ro.po
+++ b/addons/web_graph/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/ru.po b/addons/web_graph/i18n/ru.po
index 832c0c9b75e..b2ceedc6ecf 100644
--- a/addons/web_graph/i18n/ru.po
+++ b/addons/web_graph/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/sl.po b/addons/web_graph/i18n/sl.po
index f7331805040..38106ecedd9 100644
--- a/addons/web_graph/i18n/sl.po
+++ b/addons/web_graph/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/sq.po b/addons/web_graph/i18n/sq.po
index d7a38ffd21e..e2fe8f1e36f 100644
--- a/addons/web_graph/i18n/sq.po
+++ b/addons/web_graph/i18n/sq.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/sr@latin.po b/addons/web_graph/i18n/sr@latin.po
index 2cae454f5f4..91f24e206ac 100644
--- a/addons/web_graph/i18n/sr@latin.po
+++ b/addons/web_graph/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/sv.po b/addons/web_graph/i18n/sv.po
index 110ab091905..693962ed7f2 100644
--- a/addons/web_graph/i18n/sv.po
+++ b/addons/web_graph/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/tr.po b/addons/web_graph/i18n/tr.po
index 4ae77f75328..1e8f0a8ef33 100644
--- a/addons/web_graph/i18n/tr.po
+++ b/addons/web_graph/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_graph/i18n/zh_CN.po b/addons/web_graph/i18n/zh_CN.po
index 326afc4a66b..8c27c71789c 100644
--- a/addons/web_graph/i18n/zh_CN.po
+++ b/addons/web_graph/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_graph
#. openerp-web
diff --git a/addons/web_kanban/i18n/ar.po b/addons/web_kanban/i18n/ar.po
index 07413697342..e1020eefb1c 100644
--- a/addons/web_kanban/i18n/ar.po
+++ b/addons/web_kanban/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/bg.po b/addons/web_kanban/i18n/bg.po
index 91795c582a1..308556bbdeb 100644
--- a/addons/web_kanban/i18n/bg.po
+++ b/addons/web_kanban/i18n/bg.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/bn.po b/addons/web_kanban/i18n/bn.po
index ec7c3f49e67..ec0f00bd513 100644
--- a/addons/web_kanban/i18n/bn.po
+++ b/addons/web_kanban/i18n/bn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/bs.po b/addons/web_kanban/i18n/bs.po
index 94eacb7c9c3..b4b538a6d51 100644
--- a/addons/web_kanban/i18n/bs.po
+++ b/addons/web_kanban/i18n/bs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ca.po b/addons/web_kanban/i18n/ca.po
index ef5f86c52dd..251756e70f1 100644
--- a/addons/web_kanban/i18n/ca.po
+++ b/addons/web_kanban/i18n/ca.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/cs.po b/addons/web_kanban/i18n/cs.po
index 3914c1ce063..341cdbe2dab 100644
--- a/addons/web_kanban/i18n/cs.po
+++ b/addons/web_kanban/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
"X-Poedit-Language: Czech\n"
#. module: web_kanban
diff --git a/addons/web_kanban/i18n/da.po b/addons/web_kanban/i18n/da.po
index 83a6f40bae5..591ad9ff7fb 100644
--- a/addons/web_kanban/i18n/da.po
+++ b/addons/web_kanban/i18n/da.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/de.po b/addons/web_kanban/i18n/de.po
index 22da4679826..9f36449db80 100644
--- a/addons/web_kanban/i18n/de.po
+++ b/addons/web_kanban/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/en_AU.po b/addons/web_kanban/i18n/en_AU.po
index d5b36a9d157..c36b417915d 100644
--- a/addons/web_kanban/i18n/en_AU.po
+++ b/addons/web_kanban/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/en_GB.po b/addons/web_kanban/i18n/en_GB.po
index fb24ace9f4d..d465d94d82d 100644
--- a/addons/web_kanban/i18n/en_GB.po
+++ b/addons/web_kanban/i18n/en_GB.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es.po b/addons/web_kanban/i18n/es.po
index d0bc69fe297..805018791a1 100644
--- a/addons/web_kanban/i18n/es.po
+++ b/addons/web_kanban/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es_CL.po b/addons/web_kanban/i18n/es_CL.po
index f3d4e9a2add..13b13a5dfeb 100644
--- a/addons/web_kanban/i18n/es_CL.po
+++ b/addons/web_kanban/i18n/es_CL.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es_CR.po b/addons/web_kanban/i18n/es_CR.po
index fa908fab507..829dee8239d 100644
--- a/addons/web_kanban/i18n/es_CR.po
+++ b/addons/web_kanban/i18n/es_CR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es_DO.po b/addons/web_kanban/i18n/es_DO.po
index ceff75aae6a..bd81180fd12 100644
--- a/addons/web_kanban/i18n/es_DO.po
+++ b/addons/web_kanban/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es_EC.po b/addons/web_kanban/i18n/es_EC.po
index bc56f47429f..80b21fb9ab7 100644
--- a/addons/web_kanban/i18n/es_EC.po
+++ b/addons/web_kanban/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/es_MX.po b/addons/web_kanban/i18n/es_MX.po
index fff39a494f5..c147b9ec310 100644
--- a/addons/web_kanban/i18n/es_MX.po
+++ b/addons/web_kanban/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/et.po b/addons/web_kanban/i18n/et.po
index 12a976e4a57..41dffae71b1 100644
--- a/addons/web_kanban/i18n/et.po
+++ b/addons/web_kanban/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/fa.po b/addons/web_kanban/i18n/fa.po
index 0fc6abe00fc..ed3e9b8ddc6 100644
--- a/addons/web_kanban/i18n/fa.po
+++ b/addons/web_kanban/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/fi.po b/addons/web_kanban/i18n/fi.po
index a873aa6a103..915399de1c3 100644
--- a/addons/web_kanban/i18n/fi.po
+++ b/addons/web_kanban/i18n/fi.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/fr.po b/addons/web_kanban/i18n/fr.po
index 8d50a782d0c..e785e748803 100644
--- a/addons/web_kanban/i18n/fr.po
+++ b/addons/web_kanban/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/gl.po b/addons/web_kanban/i18n/gl.po
index b24b5711b27..a2becda3a99 100644
--- a/addons/web_kanban/i18n/gl.po
+++ b/addons/web_kanban/i18n/gl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/gu.po b/addons/web_kanban/i18n/gu.po
index 09504628b65..baa2d7c82c9 100644
--- a/addons/web_kanban/i18n/gu.po
+++ b/addons/web_kanban/i18n/gu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/hr.po b/addons/web_kanban/i18n/hr.po
index 6cbf999cdcd..1f395698523 100644
--- a/addons/web_kanban/i18n/hr.po
+++ b/addons/web_kanban/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/hu.po b/addons/web_kanban/i18n/hu.po
index 46ed001a202..3d37b5e470a 100644
--- a/addons/web_kanban/i18n/hu.po
+++ b/addons/web_kanban/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/it.po b/addons/web_kanban/i18n/it.po
index 62864cea81f..8b75670b44b 100644
--- a/addons/web_kanban/i18n/it.po
+++ b/addons/web_kanban/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ja.po b/addons/web_kanban/i18n/ja.po
index ef2eec7a2f1..39324cac126 100644
--- a/addons/web_kanban/i18n/ja.po
+++ b/addons/web_kanban/i18n/ja.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ka.po b/addons/web_kanban/i18n/ka.po
index ed2ace40921..c80610af4dd 100644
--- a/addons/web_kanban/i18n/ka.po
+++ b/addons/web_kanban/i18n/ka.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ko.po b/addons/web_kanban/i18n/ko.po
index ff71f60f420..a65d6b241a2 100644
--- a/addons/web_kanban/i18n/ko.po
+++ b/addons/web_kanban/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/lt.po b/addons/web_kanban/i18n/lt.po
index 67f12ba04ec..c18bd70624b 100644
--- a/addons/web_kanban/i18n/lt.po
+++ b/addons/web_kanban/i18n/lt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/mk.po b/addons/web_kanban/i18n/mk.po
index c703a06eca9..e00f6ba90cc 100644
--- a/addons/web_kanban/i18n/mk.po
+++ b/addons/web_kanban/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/mn.po b/addons/web_kanban/i18n/mn.po
index 10da18c7cb3..45ebfcae7d5 100644
--- a/addons/web_kanban/i18n/mn.po
+++ b/addons/web_kanban/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/nl.po b/addons/web_kanban/i18n/nl.po
index fa3446f5a4c..dd446533448 100644
--- a/addons/web_kanban/i18n/nl.po
+++ b/addons/web_kanban/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/nl_BE.po b/addons/web_kanban/i18n/nl_BE.po
index 2061c68ca3e..bde30088ef5 100644
--- a/addons/web_kanban/i18n/nl_BE.po
+++ b/addons/web_kanban/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/pl.po b/addons/web_kanban/i18n/pl.po
index 47fc4f2afb1..32933dc4fb6 100644
--- a/addons/web_kanban/i18n/pl.po
+++ b/addons/web_kanban/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/pt.po b/addons/web_kanban/i18n/pt.po
index d12765cceaa..0d555e15cb7 100644
--- a/addons/web_kanban/i18n/pt.po
+++ b/addons/web_kanban/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/pt_BR.po b/addons/web_kanban/i18n/pt_BR.po
index 3377a18cc6f..de970b70fb1 100644
--- a/addons/web_kanban/i18n/pt_BR.po
+++ b/addons/web_kanban/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ro.po b/addons/web_kanban/i18n/ro.po
index d97b626e2cb..d8f06ac37cd 100644
--- a/addons/web_kanban/i18n/ro.po
+++ b/addons/web_kanban/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/ru.po b/addons/web_kanban/i18n/ru.po
index 0698266575a..f3aeb8780e3 100644
--- a/addons/web_kanban/i18n/ru.po
+++ b/addons/web_kanban/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/sl.po b/addons/web_kanban/i18n/sl.po
index ff5ae7b8df1..143c9b4043f 100644
--- a/addons/web_kanban/i18n/sl.po
+++ b/addons/web_kanban/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/sr@latin.po b/addons/web_kanban/i18n/sr@latin.po
index ee6eebd52ba..7e39abcc398 100644
--- a/addons/web_kanban/i18n/sr@latin.po
+++ b/addons/web_kanban/i18n/sr@latin.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/sv.po b/addons/web_kanban/i18n/sv.po
index a07755bc6ab..a6f730987ff 100644
--- a/addons/web_kanban/i18n/sv.po
+++ b/addons/web_kanban/i18n/sv.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/tr.po b/addons/web_kanban/i18n/tr.po
index 555f34cff34..a10b4ef7b31 100644
--- a/addons/web_kanban/i18n/tr.po
+++ b/addons/web_kanban/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_kanban/i18n/zh_CN.po b/addons/web_kanban/i18n/zh_CN.po
index 199ab36e8c3..cd1dca82a9a 100644
--- a/addons/web_kanban/i18n/zh_CN.po
+++ b/addons/web_kanban/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_kanban
#. openerp-web
diff --git a/addons/web_view_editor/i18n/ar.po b/addons/web_view_editor/i18n/ar.po
index 20bc31f1916..ca6406bf1d5 100644
--- a/addons/web_view_editor/i18n/ar.po
+++ b/addons/web_view_editor/i18n/ar.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/cs.po b/addons/web_view_editor/i18n/cs.po
index 32ea29c8fa2..2511c75455d 100644
--- a/addons/web_view_editor/i18n/cs.po
+++ b/addons/web_view_editor/i18n/cs.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/de.po b/addons/web_view_editor/i18n/de.po
index 7cd0d20ec2d..84144119188 100644
--- a/addons/web_view_editor/i18n/de.po
+++ b/addons/web_view_editor/i18n/de.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/en_AU.po b/addons/web_view_editor/i18n/en_AU.po
index 95e08c83713..8a107b771eb 100644
--- a/addons/web_view_editor/i18n/en_AU.po
+++ b/addons/web_view_editor/i18n/en_AU.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/es.po b/addons/web_view_editor/i18n/es.po
index d9ea47ebde0..a1f26b920ef 100644
--- a/addons/web_view_editor/i18n/es.po
+++ b/addons/web_view_editor/i18n/es.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/es_DO.po b/addons/web_view_editor/i18n/es_DO.po
index 24ba28be821..04ee8fef32e 100644
--- a/addons/web_view_editor/i18n/es_DO.po
+++ b/addons/web_view_editor/i18n/es_DO.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/es_EC.po b/addons/web_view_editor/i18n/es_EC.po
index 9a2b8a42e8c..386c3a52fce 100644
--- a/addons/web_view_editor/i18n/es_EC.po
+++ b/addons/web_view_editor/i18n/es_EC.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/es_MX.po b/addons/web_view_editor/i18n/es_MX.po
index f9747443694..0cfce644659 100644
--- a/addons/web_view_editor/i18n/es_MX.po
+++ b/addons/web_view_editor/i18n/es_MX.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/et.po b/addons/web_view_editor/i18n/et.po
index a4a5b09a3ae..21ab554efa0 100644
--- a/addons/web_view_editor/i18n/et.po
+++ b/addons/web_view_editor/i18n/et.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/fa.po b/addons/web_view_editor/i18n/fa.po
index a974dedfa22..2c4246538c0 100644
--- a/addons/web_view_editor/i18n/fa.po
+++ b/addons/web_view_editor/i18n/fa.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/fr.po b/addons/web_view_editor/i18n/fr.po
index 51d2175070d..052748f6067 100644
--- a/addons/web_view_editor/i18n/fr.po
+++ b/addons/web_view_editor/i18n/fr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/hr.po b/addons/web_view_editor/i18n/hr.po
index ada41c9c77d..4140e44d2db 100644
--- a/addons/web_view_editor/i18n/hr.po
+++ b/addons/web_view_editor/i18n/hr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/hu.po b/addons/web_view_editor/i18n/hu.po
index eb9a3186852..5797c9c7582 100644
--- a/addons/web_view_editor/i18n/hu.po
+++ b/addons/web_view_editor/i18n/hu.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/it.po b/addons/web_view_editor/i18n/it.po
index 33c370ee196..a9cbeb3e91a 100644
--- a/addons/web_view_editor/i18n/it.po
+++ b/addons/web_view_editor/i18n/it.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/ko.po b/addons/web_view_editor/i18n/ko.po
index 89004dbcea7..7311bcd7196 100644
--- a/addons/web_view_editor/i18n/ko.po
+++ b/addons/web_view_editor/i18n/ko.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/mk.po b/addons/web_view_editor/i18n/mk.po
index 3d7c811933a..3e78bd12e6f 100644
--- a/addons/web_view_editor/i18n/mk.po
+++ b/addons/web_view_editor/i18n/mk.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/mn.po b/addons/web_view_editor/i18n/mn.po
index a0d7115343f..03ecaedb870 100644
--- a/addons/web_view_editor/i18n/mn.po
+++ b/addons/web_view_editor/i18n/mn.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/nl.po b/addons/web_view_editor/i18n/nl.po
index f70b6c4e653..9aba5834bc6 100644
--- a/addons/web_view_editor/i18n/nl.po
+++ b/addons/web_view_editor/i18n/nl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/nl_BE.po b/addons/web_view_editor/i18n/nl_BE.po
index 5be9937ff2d..1ec489bce38 100644
--- a/addons/web_view_editor/i18n/nl_BE.po
+++ b/addons/web_view_editor/i18n/nl_BE.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/pl.po b/addons/web_view_editor/i18n/pl.po
index 1fcf7ae9797..94ee5680340 100644
--- a/addons/web_view_editor/i18n/pl.po
+++ b/addons/web_view_editor/i18n/pl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/pt.po b/addons/web_view_editor/i18n/pt.po
index baa7d25d5c6..bd9f1a540d5 100644
--- a/addons/web_view_editor/i18n/pt.po
+++ b/addons/web_view_editor/i18n/pt.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/pt_BR.po b/addons/web_view_editor/i18n/pt_BR.po
index bed0507b903..6ad22193eb8 100644
--- a/addons/web_view_editor/i18n/pt_BR.po
+++ b/addons/web_view_editor/i18n/pt_BR.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/ro.po b/addons/web_view_editor/i18n/ro.po
index f7b7a5a225a..2baf03757f0 100644
--- a/addons/web_view_editor/i18n/ro.po
+++ b/addons/web_view_editor/i18n/ro.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/ru.po b/addons/web_view_editor/i18n/ru.po
index 7fa80182d1f..233431fd02c 100644
--- a/addons/web_view_editor/i18n/ru.po
+++ b/addons/web_view_editor/i18n/ru.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/sl.po b/addons/web_view_editor/i18n/sl.po
index ce0671a92ea..46fedf2f712 100644
--- a/addons/web_view_editor/i18n/sl.po
+++ b/addons/web_view_editor/i18n/sl.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/tr.po b/addons/web_view_editor/i18n/tr.po
index 7588378c02e..ed7b0bcdc15 100644
--- a/addons/web_view_editor/i18n/tr.po
+++ b/addons/web_view_editor/i18n/tr.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
diff --git a/addons/web_view_editor/i18n/zh_CN.po b/addons/web_view_editor/i18n/zh_CN.po
index 3fa00ff9151..3e6b5e34806 100644
--- a/addons/web_view_editor/i18n/zh_CN.po
+++ b/addons/web_view_editor/i18n/zh_CN.po
@@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:52+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-27 05:02+0000\n"
+"X-Generator: Launchpad (build 16540)\n"
#. module: web_view_editor
#. openerp-web
From cf93d5ac92c7424ebf34a6c238cc89d2df56b330 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 10:13:51 +0100
Subject: [PATCH 36/83] [REF] product: rml_parse has already a self.pool, not
need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327091351-wyrttjys8btke9hx
---
addons/product/report/product_pricelist.py | 24 ++++++++--------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/addons/product/report/product_pricelist.py b/addons/product/report/product_pricelist.py
index 5e9f8cf0a8a..9b0708f5d4a 100644
--- a/addons/product/report/product_pricelist.py
+++ b/addons/product/report/product_pricelist.py
@@ -21,7 +21,6 @@
import time
-from openerp import pooler
from openerp.osv import osv
from openerp.report import report_sxw
from openerp.tools.translate import _
@@ -63,20 +62,17 @@ class product_pricelist(report_sxw.rml_parse):
return True
def _get_pricelist(self, pricelist_id):
- pool = pooler.get_pool(self.cr.dbname)
- pricelist = pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['name'], context=self.localcontext)[0]
+ pricelist = self.pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['name'], context=self.localcontext)[0]
return pricelist['name']
def _get_currency(self, pricelist_id):
- pool = pooler.get_pool(self.cr.dbname)
- pricelist = pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['currency_id'], context=self.localcontext)[0]
+ pricelist = self.pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['currency_id'], context=self.localcontext)[0]
return pricelist['currency_id'][1]
# TODO 7.0 - remove this method, its unused
def _get_currency_symbol(self, pricelist_id):
- pool = pooler.get_pool(self.cr.dbname)
- pricelist = pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['currency_id'], context=self.localcontext)[0]
- symbol = pool.get('res.currency').read(self.cr, self.uid, [pricelist['currency_id'][0]], ['symbol'], context=self.localcontext)[0]
+ pricelist = self.pool.get('product.pricelist').read(self.cr, self.uid, [pricelist_id], ['currency_id'], context=self.localcontext)[0]
+ symbol = self.pool.get('res.currency').read(self.cr, self.uid, [pricelist['currency_id'][0]], ['symbol'], context=self.localcontext)[0]
return symbol['symbol'] or ''
def _get_categories(self, products, form):
@@ -84,20 +80,19 @@ class product_pricelist(report_sxw.rml_parse):
res=[]
self.pricelist = form['price_list']
self._set_quantity(form)
- pool = pooler.get_pool(self.cr.dbname)
pro_ids=[]
for product in products:
pro_ids.append(product.id)
if product.categ_id.id not in cat_ids:
cat_ids.append(product.categ_id.id)
- cats = pool.get('product.category').name_get(self.cr, self.uid, cat_ids, context=self.localcontext)
+ cats = self.pool.get('product.category').name_get(self.cr, self.uid, cat_ids, context=self.localcontext)
if not cats:
return res
for cat in cats:
- product_ids=pool.get('product.product').search(self.cr, self.uid, [('id', 'in', pro_ids), ('categ_id', '=', cat[0])], context=self.localcontext)
+ product_ids=self.pool.get('product.product').search(self.cr, self.uid, [('id', 'in', pro_ids), ('categ_id', '=', cat[0])], context=self.localcontext)
products = []
- for product in pool.get('product.product').read(self.cr, self.uid, product_ids, ['name', 'code'], context=self.localcontext):
+ for product in self.pool.get('product.product').read(self.cr, self.uid, product_ids, ['name', 'code'], context=self.localcontext):
val = {
'id':product['id'],
'name':product['name'],
@@ -116,13 +111,12 @@ class product_pricelist(report_sxw.rml_parse):
def _get_price(self, pricelist_id, product_id, qty):
sale_price_digits = self.get_digits(dp='Product Price')
- pool = pooler.get_pool(self.cr.dbname)
pricelist = self.pool.get('product.pricelist').browse(self.cr, self.uid, [pricelist_id], context=self.localcontext)[0]
- price_dict = pool.get('product.pricelist').price_get(self.cr, self.uid, [pricelist_id], product_id, qty, context=self.localcontext)
+ price_dict = self.pool.get('product.pricelist').price_get(self.cr, self.uid, [pricelist_id], product_id, qty, context=self.localcontext)
if price_dict[pricelist_id]:
price = self.formatLang(price_dict[pricelist_id], digits=sale_price_digits, currency_obj=pricelist.currency_id)
else:
- res = pool.get('product.product').read(self.cr, self.uid, [product_id])
+ res = self.pool.get('product.product').read(self.cr, self.uid, [product_id])
price = self.formatLang(res[0]['list_price'], digits=sale_price_digits, currency_obj=pricelist.currency_id)
return price
From 59c04ad0e4ef8d3ae3c0914d14f5551ada4126f8 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 10:30:46 +0100
Subject: [PATCH 37/83] [REF] document_webdav: use the new openerp.registry().
bzr revid: vmt@openerp.com-20130327093046-kbxb62pzo81re01n
---
addons/document_webdav/dav_fs.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/document_webdav/dav_fs.py b/addons/document_webdav/dav_fs.py
index 1781a02d76e..a8ef9082b2c 100644
--- a/addons/document_webdav/dav_fs.py
+++ b/addons/document_webdav/dav_fs.py
@@ -37,7 +37,7 @@ except ImportError:
from DAV.davcmd import copyone, copytree, moveone, movetree, delone, deltree
import openerp
-from openerp import pooler, sql_db, netsvc
+from openerp import sql_db, netsvc
import openerp.service
from openerp.tools import misc
@@ -494,9 +494,9 @@ class openerp_dav_handler(dav_interface):
self.parent.auth_provider.checkRequest(self.parent, uri, dbname)
res = self.parent.auth_provider.auth_creds[dbname]
user, passwd, dbn2, uid = res
- db,pool = pooler.get_db_and_pool(dbname)
- cr = db.cursor()
- return cr, uid, pool, dbname, uri2
+ registry = openerp.registry(dbname)
+ cr = registery.db.cursor()
+ return cr, uid, registry, dbname, uri2
def uri2object(self, cr, uid, pool, uri):
if not uid:
From 684bd3544243afcade742942c8d17f52772dfa61 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 10:31:25 +0100
Subject: [PATCH 38/83] [REF] registry: begin to remove openerp.pooler:
- call openerp.modules.registry.RegistryManager instead
- expose openerp.get_pool()
bzr revid: vmt@openerp.com-20130327093125-iqsyvvjm0ej7do14
---
openerp/__init__.py | 14 +++++++++++++
openerp/cli/server.py | 12 ++++++-----
openerp/modules/loading.py | 42 +++++++++++++++++++-------------------
3 files changed, 42 insertions(+), 26 deletions(-)
diff --git a/openerp/__init__.py b/openerp/__init__.py
index b9f4f71d76a..b7c09488996 100644
--- a/openerp/__init__.py
+++ b/openerp/__init__.py
@@ -53,5 +53,19 @@ multi_process = False
# Is the server running with gevent.
evented = False
+def registry(database_name):
+ """
+ Return the model registry for the given database. If the registry does not
+ exist yet, it is created on the fly.
+ """
+ return modules.registry.RegistryManager.get(database_name)
+
+def new_registry(database_name):
+ """
+ Return the model registry for the given database. If the registry already
+ existed, it is deleted and created again.
+ """
+ return modules.registry.RegistryManager.new(database_name)
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/cli/server.py b/openerp/cli/server.py
index dbb77d72ca6..9339e590b7c 100644
--- a/openerp/cli/server.py
+++ b/openerp/cli/server.py
@@ -95,7 +95,7 @@ def preload_registry(dbname):
""" Preload a registry, and start the cron."""
try:
update_module = True if openerp.tools.config['init'] or openerp.tools.config['update'] else False
- db, registry = openerp.pooler.get_db_and_pool(dbname,update_module=update_module)
+ openerp.modules.registry.RegistryManager.new(dbname, update_module=update_module)
except Exception:
_logger.exception('Failed to initialize database `%s`.', dbname)
@@ -103,8 +103,8 @@ def run_test_file(dbname, test_file):
""" Preload a registry, possibly run a test file, and start the cron."""
try:
config = openerp.tools.config
- db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'])
- cr = db.cursor()
+ registry = openerp.modules.registry.RegistryManager.new(dbname, update_module=config['init'] or config['update'])
+ cr = registry.db.cursor()
_logger.info('loading test file %s', test_file)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), 'test', {}, 'test', True)
cr.rollback()
@@ -125,7 +125,8 @@ def export_translation():
fileformat = os.path.splitext(config["translate_out"])[-1][1:].lower()
buf = file(config["translate_out"], "w")
- cr = openerp.pooler.get_db(dbname).cursor()
+ registry = openerp.modules.registry.RegistryManager.new(dbname)
+ cr = registry.db.cursor()
openerp.tools.trans_export(config["language"],
config["translate_modules"] or ["all"], buf, fileformat, cr)
cr.close()
@@ -138,7 +139,8 @@ def import_translation():
context = {'overwrite': config["overwrite_existing_translations"]}
dbname = config['db_name']
- cr = openerp.pooler.get_db(dbname).cursor()
+ registry = openerp.modules.registry.RegistryManager.new(dbname)
+ cr = registry.db.cursor()
openerp.tools.trans_load( cr, config["translate_in"], config["language"],
context=context)
cr.commit()
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 07e5c28a925..3394aed82bd 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -35,7 +35,6 @@ import openerp.modules.db
import openerp.modules.graph
import openerp.modules.migration
import openerp.osv as osv
-import openerp.pooler as pooler
import openerp.tools as tools
from openerp import SUPERUSER_ID
@@ -129,17 +128,17 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
processed_modules = []
loaded_modules = []
- pool = pooler.get_pool(cr.dbname)
+ registry = openerp.registry(cr.dbname)
migrations = openerp.modules.migration.MigrationManager(cr, graph)
_logger.debug('loading %d packages...', len(graph))
# Query manual fields for all models at once and save them on the registry
# so the initialization code for each model does not have to do it
# one model at a time.
- pool.fields_by_model = {}
+ registry.fields_by_model = {}
cr.execute('SELECT * FROM ir_model_fields WHERE state=%s', ('manual',))
for field in cr.dictfetchall():
- pool.fields_by_model.setdefault(field['model'], []).append(field)
+ registry.fields_by_model.setdefault(field['model'], []).append(field)
# register, instantiate and initialize models for each modules
for index, package in enumerate(graph):
@@ -153,17 +152,17 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
migrations.migrate_module(package, 'pre')
load_openerp_module(package.name)
- models = pool.load(cr, package)
+ models = registry.load(cr, package)
loaded_modules.append(package.name)
if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'):
init_module_models(cr, package.name, models)
- pool._init_modules.add(package.name)
+ registry._init_modules.add(package.name)
status['progress'] = float(index) / len(graph)
# Can't put this line out of the loop: ir.module.module will be
# registered by init_module_models() above.
- modobj = pool.get('ir.module.module')
+ modobj = registry['ir.module.module']
if perform_checks:
modobj.check(cr, SUPERUSER_ID, [module_id])
@@ -219,7 +218,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
# The query won't be valid for models created later (i.e. custom model
# created after the registry has been loaded), so empty its result.
- pool.fields_by_model = None
+ registry.fields_by_model = None
cr.commit()
@@ -258,7 +257,7 @@ def load_marked_modules(cr, graph, states, force, progressdict, report, loaded_m
def load_modules(db, force_demo=False, status=None, update_module=False):
# TODO status['progress'] reporting is broken: used twice (and reset each
# time to zero) in load_module_graph, not fine-grained enough.
- # It should be a method exposed by the pool.
+ # It should be a method exposed by the registry.
initialize_sys_path()
force = []
@@ -275,8 +274,9 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
if not tools.config['without_demo']:
tools.config["demo"]['all'] = 1
- # This is a brand new pool, just created in pooler.get_db_and_pool()
- pool = pooler.get_pool(cr.dbname)
+ # This is a brand new registry, just created in
+ # openerp.modules.registry.RegistryManger.new().
+ registry = openerp.registry(cr.dbname)
if 'base' in tools.config['update'] or 'all' in tools.config['update']:
cr.execute("update ir_module_module set state=%s where name=%s and state=%s", ('to upgrade', 'base', 'installed'))
@@ -290,7 +290,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
# processed_modules: for cleanup step after install
# loaded_modules: to avoid double loading
- report = pool._assertion_report
+ report = registry._assertion_report
loaded_modules, processed_modules = load_module_graph(cr, graph, status, perform_checks=update_module, report=report)
if tools.config['load_language']:
@@ -299,7 +299,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
# STEP 2: Mark other modules to be loaded/updated
if update_module:
- modobj = pool.get('ir.module.module')
+ modobj = registry['ir.module.module']
if ('base' in tools.config['init']) or ('base' in tools.config['update']):
_logger.info('updating modules list')
modobj.update_list(cr, SUPERUSER_ID)
@@ -341,13 +341,13 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
# load custom models
cr.execute('select model from ir_model where state=%s', ('manual',))
for model in cr.dictfetchall():
- pool.get('ir.model').instanciate(cr, SUPERUSER_ID, model['model'], {})
+ registry['ir.model'].instanciate(cr, SUPERUSER_ID, model['model'], {})
# STEP 4: Finish and cleanup installations
if processed_modules:
cr.execute("""select model,name from ir_model where id NOT IN (select distinct model_id from ir_model_access)""")
for (model, name) in cr.fetchall():
- model_obj = pool.get(model)
+ model_obj = registry.get(model)
if model_obj and not model_obj.is_transient():
_logger.warning('The model %s has no access rules, consider adding one. E.g. access_%s,access_%s,model_%s,,1,1,1,1',
model, model.replace('.', '_'), model.replace('.', '_'), model.replace('.', '_'))
@@ -356,20 +356,20 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
# been replaced by owner-only access rights
cr.execute("""select distinct mod.model, mod.name from ir_model_access acc, ir_model mod where acc.model_id = mod.id""")
for (model, name) in cr.fetchall():
- model_obj = pool.get(model)
+ model_obj = registry.get(model)
if model_obj and model_obj.is_transient():
_logger.warning('The transient model %s (%s) should not have explicit access rules!', model, name)
cr.execute("SELECT model from ir_model")
for (model,) in cr.fetchall():
- obj = pool.get(model)
+ obj = registry.get(model)
if obj:
obj._check_removed_columns(cr, log=True)
else:
_logger.warning("Model %s is declared but cannot be loaded! (Perhaps a module was partially removed or renamed)", model)
# Cleanup orphan records
- pool.get('ir.model.data')._process_end(cr, SUPERUSER_ID, processed_modules)
+ registry['ir.model.data']._process_end(cr, SUPERUSER_ID, processed_modules)
for kind in ('init', 'demo', 'update'):
tools.config[kind] = {}
@@ -403,12 +403,12 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
cr.execute("SELECT id FROM ir_module_module WHERE state=%s", ('to remove',))
mod_ids_to_remove = [x[0] for x in cr.fetchall()]
if mod_ids_to_remove:
- pool.get('ir.module.module').module_uninstall(cr, SUPERUSER_ID, mod_ids_to_remove)
+ registry['ir.module.module'].module_uninstall(cr, SUPERUSER_ID, mod_ids_to_remove)
# Recursive reload, should only happen once, because there should be no
# modules to remove next time
cr.commit()
_logger.info('Reloading registry once more after uninstalling modules')
- return pooler.restart_pool(cr.dbname, force_demo, status, update_module)
+ return openerp.modules.registry.RegistryManger.new(cr.dbname, force_demo, status, update_module)
if report.failures:
_logger.error('At least one test failed when loading the modules.')
@@ -416,7 +416,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
_logger.info('Modules loaded.')
# STEP 7: call _register_hook on every model
- for model in pool.models.values():
+ for model in registry.models.values():
model._register_hook(cr)
finally:
From 1e7e2ca753185e7cb0608073d94c4d23b729d0f4 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:10:14 +0100
Subject: [PATCH 39/83] [REF] no longer use openerp.pooler.
Either use openerp.modules.registry.RegistryManager when the full
new() signature is needed, or use openerp.registry().
Replaced also some pool.get() with pool[] because KeyErrors
are better than AttributeErrors on None.
bzr revid: vmt@openerp.com-20130327111014-2i0hlvpy5y5ku7hm
---
openerp/addons/base/ir/ir_cron.py | 4 +-
openerp/addons/base/ir/ir_model.py | 50 +++++++-------
openerp/addons/base/module/module.py | 8 +--
.../base/module/wizard/base_module_upgrade.py | 4 +-
openerp/addons/base/res/res_config.py | 32 ++++-----
openerp/addons/base/res/res_partner.py | 20 +++---
openerp/addons/base/res/res_users.py | 32 ++++-----
openerp/modules/graph.py | 1 -
openerp/modules/migration.py | 1 -
openerp/report/custom.py | 28 ++++----
openerp/report/interface.py | 11 +--
openerp/report/print_xml.py | 10 +--
openerp/report/printscreen/ps_form.py | 6 +-
openerp/report/printscreen/ps_list.py | 15 ++--
openerp/report/report_sxw.py | 31 +++++----
openerp/service/common.py | 3 +-
openerp/service/db.py | 14 ++--
openerp/service/model.py | 20 +++---
openerp/service/report.py | 6 +-
openerp/service/security.py | 17 ++---
openerp/sql_db.py | 2 -
openerp/tools/convert.py | 68 +++++++++----------
openerp/tools/mail.py | 6 +-
openerp/tools/test_reports.py | 16 ++---
openerp/tools/translate.py | 43 ++++++------
openerp/tools/yaml_import.py | 46 ++++++-------
openerp/workflow/wkf_expr.py | 10 +--
27 files changed, 246 insertions(+), 258 deletions(-)
diff --git a/openerp/addons/base/ir/ir_cron.py b/openerp/addons/base/ir/ir_cron.py
index d86eb10f3d8..c3f7ccc7dd2 100644
--- a/openerp/addons/base/ir/ir_cron.py
+++ b/openerp/addons/base/ir/ir_cron.py
@@ -123,7 +123,7 @@ class ir_cron(osv.osv):
try:
args = str2tuple(args)
openerp.modules.registry.RegistryManager.check_registry_signaling(cr.dbname)
- registry = openerp.pooler.get_pool(cr.dbname)
+ registry = openerp.registry(cr.dbname)
model = registry.get(model_name)
if model and hasattr(model, method_name):
method = getattr(model, method_name)
@@ -223,7 +223,7 @@ class ir_cron(osv.osv):
_logger.debug('Starting job `%s`.', job['name'])
job_cr = db.cursor()
try:
- registry = openerp.pooler.get_pool(db_name)
+ registry = openerp.registry(db_name)
registry[cls._name]._process_job(job_cr, job, lock_cr)
except Exception:
_logger.exception('Unexpected exception while processing cron job %r', job)
diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py
index b6bb0c5e227..a2664e62485 100644
--- a/openerp/addons/base/ir/ir_model.py
+++ b/openerp/addons/base/ir/ir_model.py
@@ -26,7 +26,7 @@ import types
import openerp
from openerp import SUPERUSER_ID
-from openerp import netsvc, pooler, tools
+from openerp import netsvc, tools
from openerp.osv import fields,osv
from openerp.osv.orm import Model
from openerp.tools.safe_eval import safe_eval as eval
@@ -50,7 +50,7 @@ def _get_fields_type(self, cr, uid, context=None):
def _in_modules(self, cr, uid, ids, field_name, arg, context=None):
#pseudo-method used by fields.function in ir.model/ir.model.fields
- module_pool = self.pool.get("ir.module.module")
+ module_pool = self.pool["ir.module.module"]
installed_module_ids = module_pool.search(cr, uid, [('state','=','installed')])
installed_module_names = module_pool.read(cr, uid, installed_module_ids, ['name'], context=context)
installed_modules = set(x['name'] for x in installed_module_names)
@@ -71,7 +71,7 @@ class ir_model(osv.osv):
res = dict.fromkeys(ids)
for model in models:
if self.pool.get(model.model):
- res[model.id] = self.pool.get(model.model).is_transient()
+ res[model.id] = self.pool[model.model].is_transient()
else:
_logger.error('Missing model %s' % (model.model, ))
return res
@@ -91,7 +91,7 @@ class ir_model(osv.osv):
models = self.browse(cr, uid, ids)
res = {}
for model in models:
- res[model.id] = self.pool.get("ir.ui.view").search(cr, uid, [('model', '=', model.model)])
+ res[model.id] = self.pool["ir.ui.view"].search(cr, uid, [('model', '=', model.model)])
return res
_columns = {
@@ -144,7 +144,7 @@ class ir_model(osv.osv):
def _drop_table(self, cr, uid, ids, context=None):
for model in self.browse(cr, uid, ids, context):
- model_pool = self.pool.get(model.model)
+ model_pool = self.pool[model.model]
cr.execute('select relkind from pg_class where relname=%s', (model_pool._table,))
result = cr.fetchone()
if result and result[0] == 'v':
@@ -168,7 +168,7 @@ class ir_model(osv.osv):
if not context.get(MODULE_UNINSTALL_FLAG):
# only reload pool for normal unlink. For module uninstall the
# reload is done independently in openerp.modules.loading
- pooler.restart_pool(cr.dbname)
+ openerp.new_registry(cr.dbname)
return res
@@ -193,8 +193,8 @@ class ir_model(osv.osv):
field_name=vals['name'],
field_state='manual',
select=vals.get('select_level', '0'))
- self.pool.get(vals['model'])._auto_init(cr, ctx)
- #pooler.restart_pool(cr.dbname)
+ self.pool[vals['model']]._auto_init(cr, ctx)
+ # openerp.new_registry(cr.dbname)
return res
def instanciate(self, cr, user, model, context=None):
@@ -298,7 +298,7 @@ class ir_model_fields(osv.osv):
def _drop_column(self, cr, uid, ids, context=None):
for field in self.browse(cr, uid, ids, context):
- model = self.pool.get(field.model)
+ model = self.pool[field.model]
cr.execute('select relkind from pg_class where relname=%s', (model._table,))
result = cr.fetchone()
cr.execute("SELECT column_name FROM information_schema.columns WHERE table_name ='%s' and column_name='%s'" %(model._table, field.name))
@@ -323,7 +323,7 @@ class ir_model_fields(osv.osv):
def create(self, cr, user, vals, context=None):
if 'model_id' in vals:
- model_data = self.pool.get('ir.model').browse(cr, user, vals['model_id'])
+ model_data = self.pool['ir.model'].browse(cr, user, vals['model_id'])
vals['model'] = model_data.model
if context is None:
context = {}
@@ -338,18 +338,18 @@ class ir_model_fields(osv.osv):
if not vals['name'].startswith('x_'):
raise except_orm(_('Error'), _("Custom fields must have a name that starts with 'x_' !"))
- if vals.get('relation',False) and not self.pool.get('ir.model').search(cr, user, [('model','=',vals['relation'])]):
+ if vals.get('relation',False) and not self.pool['ir.model'].search(cr, user, [('model','=',vals['relation'])]):
raise except_orm(_('Error'), _("Model %s does not exist!") % vals['relation'])
if self.pool.get(vals['model']):
- self.pool.get(vals['model']).__init__(self.pool, cr)
+ self.pool[vals['model']].__init__(self.pool, cr)
#Added context to _auto_init for special treatment to custom field for select_level
ctx = dict(context,
field_name=vals['name'],
field_state='manual',
select=vals.get('select_level', '0'),
update_custom_fields=True)
- self.pool.get(vals['model'])._auto_init(cr, ctx)
+ self.pool[vals['model']]._auto_init(cr, ctx)
return res
@@ -498,7 +498,7 @@ class ir_model_constraint(Model):
Delete PostgreSQL foreign keys and constraints tracked by this model.
"""
- if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
+ if uid != SUPERUSER_ID and not self.pool['ir.model.access'].check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
context = dict(context or {})
@@ -559,7 +559,7 @@ class ir_model_relation(Model):
Delete PostgreSQL many2many relations tracked by this model.
"""
- if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
+ if uid != SUPERUSER_ID and not self.pool['ir.model.access'].check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
ids_set = set(ids)
@@ -685,7 +685,7 @@ class ir_model_access(osv.osv):
# TransientModel records have no access rights, only an implicit access rule
if not self.pool.get(model_name):
_logger.error('Missing model %s' % (model_name, ))
- elif self.pool.get(model_name).is_transient():
+ elif self.pool[model_name].is_transient():
return True
# We check if a specific rule exists
@@ -793,7 +793,7 @@ class ir_model_data(osv.osv):
for model in result:
try:
- r = dict(self.pool.get(model).name_get(cr, uid, result[model].keys(), context=context))
+ r = dict(self.pool[model].name_get(cr, uid, result[model].keys(), context=context))
for key,val in result[model].items():
result2[val] = r.get(key, False)
except:
@@ -867,7 +867,7 @@ class ir_model_data(osv.osv):
def get_object(self, cr, uid, module, xml_id, context=None):
"""Returns a browsable record for the given module name and xml_id or raise ValueError if not found"""
res_model, res_id = self.get_object_reference(cr, uid, module, xml_id)
- result = self.pool.get(res_model).browse(cr, uid, res_id, context=context)
+ result = self.pool[res_model].browse(cr, uid, res_id, context=context)
if not result.exists():
raise ValueError('No record found for unique ID %s.%s. It may have been deleted.' % (module, xml_id))
return result
@@ -1001,7 +1001,7 @@ class ir_model_data(osv.osv):
cr.execute('select * from ir_values where model=%s and key=%s and name=%s'+where,(model, key, name))
res = cr.fetchone()
if not res:
- ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values')
+ ir_values_obj = openerp.registry(cr.dbname)['ir.values']
ir_values_obj.set(cr, uid, key, key2, name, models, value, replace, isobject, meta)
elif xml_id:
cr.execute('UPDATE ir_values set value=%s WHERE model=%s and key=%s and name=%s'+where,(value, model, key, name))
@@ -1020,7 +1020,7 @@ class ir_model_data(osv.osv):
ids = self.search(cr, uid, [('module', 'in', modules_to_remove)])
- if uid != 1 and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
+ if uid != 1 and not self.pool['ir.model.access'].check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
context = dict(context or {})
@@ -1063,7 +1063,7 @@ class ir_model_data(osv.osv):
if model == 'ir.model.fields':
# Don't remove the LOG_ACCESS_COLUMNS unless _log_access
# has been turned off on the model.
- field = self.pool.get(model).browse(cr, uid, [res_id], context=context)[0]
+ field = self.pool[model].browse(cr, uid, [res_id], context=context)[0]
if field.name in openerp.osv.orm.LOG_ACCESS_COLUMNS and self.pool[field.model]._log_access:
continue
if field.name == 'id':
@@ -1071,7 +1071,7 @@ class ir_model_data(osv.osv):
_logger.info('Deleting %s@%s', res_id, model)
try:
cr.execute('SAVEPOINT record_unlink_save')
- self.pool.get(model).unlink(cr, uid, [res_id], context=context)
+ self.pool[model].unlink(cr, uid, [res_id], context=context)
except Exception:
_logger.info('Unable to delete %s@%s', res_id, model, exc_info=True)
cr.execute('ROLLBACK TO SAVEPOINT record_unlink_save')
@@ -1084,8 +1084,8 @@ class ir_model_data(osv.osv):
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
if model == 'ir.model.fields')
- ir_model_relation = self.pool.get('ir.model.relation')
- ir_module_module = self.pool.get('ir.module.module')
+ ir_model_relation = self.pool['ir.model.relation']
+ ir_module_module = self.pool['ir.module.module']
modules_to_remove_ids = ir_module_module.search(cr, uid, [('name', 'in', modules_to_remove)])
relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
ir_model_relation._module_data_uninstall(cr, uid, relation_ids, context)
@@ -1118,6 +1118,6 @@ class ir_model_data(osv.osv):
for (model, res_id) in to_unlink:
if self.pool.get(model):
_logger.info('Deleting %s@%s', res_id, model)
- self.pool.get(model).unlink(cr, uid, [res_id])
+ self.pool[model].unlink(cr, uid, [res_id])
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/addons/base/module/module.py b/openerp/addons/base/module/module.py
index a0d1eedef2b..7e370e86f0e 100644
--- a/openerp/addons/base/module/module.py
+++ b/openerp/addons/base/module/module.py
@@ -39,7 +39,7 @@ except ImportError:
from StringIO import StringIO # NOQA
import openerp
-from openerp import modules, pooler, tools, addons
+from openerp import modules, tools, addons
from openerp.modules.db import create_categories
from openerp.tools.parse_version import parse_version
from openerp.tools.translate import _
@@ -473,14 +473,14 @@ class module(osv.osv):
function(cr, uid, ids, context=context)
cr.commit()
- _, pool = pooler.restart_pool(cr.dbname, update_module=True)
+ registry = openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
- config = pool.get('res.config').next(cr, uid, [], context=context) or {}
+ config = registry['res.config'].next(cr, uid, [], context=context) or {}
if config.get('type') not in ('ir.actions.act_window_close',):
return config
# reload the client; open the first available root menu
- menu_obj = self.pool.get('ir.ui.menu')
+ menu_obj = registry['ir.ui.menu']
menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
return {
'type': 'ir.actions.client',
diff --git a/openerp/addons/base/module/wizard/base_module_upgrade.py b/openerp/addons/base/module/wizard/base_module_upgrade.py
index bd6b9b7640d..c081663d8ed 100644
--- a/openerp/addons/base/module/wizard/base_module_upgrade.py
+++ b/openerp/addons/base/module/wizard/base_module_upgrade.py
@@ -19,7 +19,7 @@
#
##############################################################################
-from openerp import pooler
+import openerp
from openerp.osv import osv, fields
from openerp.tools.translate import _
@@ -87,7 +87,7 @@ class base_module_upgrade(osv.osv_memory):
ir_module.download(cr, uid, ids, context=context)
cr.commit() # save before re-creating cursor below
- pooler.restart_pool(cr.dbname, update_module=True)
+ openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
ir_model_data = self.pool.get('ir.model.data')
__, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install')
diff --git a/openerp/addons/base/res/res_config.py b/openerp/addons/base/res/res_config.py
index bfa9abe5607..1a5806ad93b 100644
--- a/openerp/addons/base/res/res_config.py
+++ b/openerp/addons/base/res/res_config.py
@@ -23,7 +23,7 @@ from operator import attrgetter
import re
import openerp
-from openerp import pooler, SUPERUSER_ID
+from openerp import SUPERUSER_ID
from openerp.osv import osv, fields
from openerp.tools import ustr
from openerp.tools.translate import _
@@ -72,7 +72,7 @@ class res_config_configurable(osv.osv_memory):
res['nodestroy'] = False
return res
# reload the client; open the first available root menu
- menu_obj = self.pool.get('ir.ui.menu')
+ menu_obj = self.pool['ir.ui.menu']
menu_ids = menu_obj.search(cr, uid, [('parent_id', '=', False)], context=context)
return {
'type': 'ir.actions.client',
@@ -271,7 +271,7 @@ class res_config_installer(osv.osv_memory):
:returns: a list of all installed modules in this installer
:rtype: [browse_record]
"""
- modules = self.pool.get('ir.module.module')
+ modules = self.pool['ir.module.module']
selectable = [field for field in self._columns
if type(self._columns[field]) is fields.boolean]
@@ -353,7 +353,7 @@ class res_config_installer(osv.osv_memory):
return fields
def execute(self, cr, uid, ids, context=None):
- modules = self.pool.get('ir.module.module')
+ modules = self.pool['ir.module.module']
to_install = list(self.modules_to_install(
cr, uid, ids, context=context))
_logger.info('Selecting addons %s to install', to_install)
@@ -363,7 +363,7 @@ class res_config_installer(osv.osv_memory):
'to install', ['uninstalled'], context=context)
cr.commit()
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
- new_db, self.pool = pooler.restart_pool(cr.dbname, update_module=True)
+ openerp.modules.registry.RegistryManager.new(cr.dbname, update_module=True)
res_config_installer()
@@ -455,8 +455,8 @@ class res_config_settings(osv.osv_memory):
'other': ['other_field', ...],
}
"""
- ir_model_data = self.pool.get('ir.model.data')
- ir_module = self.pool.get('ir.module.module')
+ ir_model_data = self.pool['ir.model.data']
+ ir_module = self.pool['ir.module.module']
def ref(xml_id):
mod, xml = xml_id.split('.', 1)
return ir_model_data.get_object(cr, uid, mod, xml, context)
@@ -478,7 +478,7 @@ class res_config_settings(osv.osv_memory):
return {'default': defaults, 'group': groups, 'module': modules, 'other': others}
def default_get(self, cr, uid, fields, context=None):
- ir_values = self.pool.get('ir.values')
+ ir_values = self.pool['ir.values']
classified = self._get_classified_fields(cr, uid, context)
res = super(res_config_settings, self).default_get(cr, uid, fields, context)
@@ -505,8 +505,8 @@ class res_config_settings(osv.osv_memory):
return res
def execute(self, cr, uid, ids, context=None):
- ir_values = self.pool.get('ir.values')
- ir_module = self.pool.get('ir.module.module')
+ ir_values = self.pool['ir.values']
+ ir_module = self.pool['ir.module.module']
classified = self._get_classified_fields(cr, uid, context)
config = self.browse(cr, uid, ids[0], context)
@@ -572,7 +572,7 @@ class res_config_settings(osv.osv_memory):
def cancel(self, cr, uid, ids, context=None):
# ignore the current record, and send the action to reopen the view
- act_window = self.pool.get('ir.actions.act_window')
+ act_window = self.pool['ir.actions.act_window']
action_ids = act_window.search(cr, uid, [('res_model', '=', self._name)])
if action_ids:
return act_window.read(cr, uid, action_ids[0], [], context=context)
@@ -588,7 +588,7 @@ class res_config_settings(osv.osv_memory):
if isinstance(ids, (int, long)):
ids = [ids]
- act_window = self.pool.get('ir.actions.act_window')
+ act_window = self.pool['ir.actions.act_window']
action_ids = act_window.search(cr, uid, [('res_model', '=', self._name)], context=context)
name = self._name
if action_ids:
@@ -606,8 +606,8 @@ class res_config_settings(osv.osv_memory):
- t[1]: long: id of the menuitem's action
"""
module_name, menu_xml_id = menu_xml_id.split('.')
- dummy, menu_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module_name, menu_xml_id)
- ir_ui_menu = self.pool.get('ir.ui.menu').browse(cr, uid, menu_id, context=context)
+ dummy, menu_id = self.pool['ir.model.data'].get_object_reference(cr, uid, module_name, menu_xml_id)
+ ir_ui_menu = self.pool['ir.ui.menu'].browse(cr, uid, menu_id, context=context)
return (ir_ui_menu.complete_name, ir_ui_menu.action.id)
@@ -621,7 +621,7 @@ class res_config_settings(osv.osv_memory):
"""
model_name, field_name = full_field_name.rsplit('.', 1)
- return self.pool.get(model_name).fields_get(cr, uid, allfields=[field_name], context=context)[field_name]['string']
+ return self.pool[model_name].fields_get(cr, uid, allfields=[field_name], context=context)[field_name]['string']
def get_config_warning(self, cr, msg, context=None):
"""
@@ -652,7 +652,7 @@ class res_config_settings(osv.osv_memory):
Cannot find any account journal of %s type for this company.\n\nYou can create one in the %%(menu:account.menu_account_config)s.
"""
- res_config_obj = pooler.get_pool(cr.dbname).get('res.config.settings')
+ res_config_obj = openerp.registry(cr.dbname)['res.config.settings']
regex_path = r'%\(((?:menu|field):[a-z_\.]*)\)s'
# Process the message
diff --git a/openerp/addons/base/res/res_partner.py b/openerp/addons/base/res/res_partner.py
index d6e554b598d..aef2af80d5f 100644
--- a/openerp/addons/base/res/res_partner.py
+++ b/openerp/addons/base/res/res_partner.py
@@ -27,13 +27,13 @@ import re
import openerp
from openerp import SUPERUSER_ID
-from openerp import pooler, tools
+from openerp import tools
from openerp.osv import osv, fields
from openerp.tools.translate import _
class format_address(object):
def fields_view_get_address(self, cr, uid, arch, context={}):
- user_obj = self.pool.get('res.users')
+ user_obj = self.pool['res.users']
fmt = user_obj.browse(cr, SUPERUSER_ID, uid, context).company_id.country_id
fmt = fmt and fmt.address_format
layouts = {
@@ -154,7 +154,7 @@ class res_partner_title(osv.osv):
}
def _lang_get(self, cr, uid, context=None):
- lang_pool = self.pool.get('res.lang')
+ lang_pool = self.pool['res.lang']
ids = lang_pool.search(cr, uid, [], context=context)
res = lang_pool.read(cr, uid, ids, ['code', 'name'], context)
return [(r['code'], r['name']) for r in res]
@@ -287,7 +287,7 @@ class res_partner(osv.osv, format_address):
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
if (not view_id) and (view_type=='form') and context and context.get('force_email', False):
- view_id = self.pool.get('ir.model.data').get_object_reference(cr, user, 'base', 'view_partner_simple_form')[1]
+ view_id = self.pool['ir.model.data'].get_object_reference(cr, user, 'base', 'view_partner_simple_form')[1]
res = super(res_partner,self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
if view_type == 'form':
res['arch'] = self.fields_view_get_address(cr, user, res['arch'], context=context)
@@ -299,7 +299,7 @@ class res_partner(osv.osv, format_address):
'tz': lambda self, cr, uid, ctx: ctx.get('tz', False),
'customer': True,
'category_id': _default_category,
- 'company_id': lambda self, cr, uid, ctx: self.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=ctx),
+ 'company_id': lambda self, cr, uid, ctx: self.pool['res.company']._company_default_get(cr, uid, 'res.partner', context=ctx),
'color': 0,
'is_company': False,
'type': 'default',
@@ -336,12 +336,12 @@ class res_partner(osv.osv, format_address):
def onchange_state(self, cr, uid, ids, state_id, context=None):
if state_id:
- country_id = self.pool.get('res.country.state').browse(cr, uid, state_id, context).country_id.id
+ country_id = self.pool['res.country.state'].browse(cr, uid, state_id, context).country_id.id
return {'value':{'country_id':country_id}}
return {}
def _check_ean_key(self, cr, uid, ids, context=None):
- for partner_o in pooler.get_pool(cr.dbname).get('res.partner').read(cr, uid, ids, ['ean13',]):
+ for partner_o in self.pool['res.partner'].read(cr, uid, ids, ['ean13',]):
thisean=partner_o['ean13']
if thisean and thisean!='':
if len(thisean)!=13:
@@ -487,7 +487,7 @@ class res_partner(osv.osv, format_address):
def email_send(self, cr, uid, ids, email_from, subject, body, on_error=''):
while len(ids):
- self.pool.get('ir.cron').create(cr, uid, {
+ self.pool['ir.cron'].create(cr, uid, {
'name': 'Send Partner Emails',
'user_id': uid,
'model': 'res.partner',
@@ -523,12 +523,12 @@ class res_partner(osv.osv, format_address):
if res: return res
if not context.get('category_id', False):
return False
- return _('Partners: ')+self.pool.get('res.partner.category').browse(cr, uid, context['category_id'], context).name
+ return _('Partners: ')+self.pool['res.partner.category'].browse(cr, uid, context['category_id'], context).name
def main_partner(self, cr, uid):
''' Return the id of the main partner
'''
- model_data = self.pool.get('ir.model.data')
+ model_data = self.pool['ir.model.data']
return model_data.browse(cr, uid,
model_data.search(cr, uid, [('module','=','base'),
('name','=','main_partner')])[0],
diff --git a/openerp/addons/base/res/res_users.py b/openerp/addons/base/res/res_users.py
index 4c1d1317e07..063996bec72 100644
--- a/openerp/addons/base/res/res_users.py
+++ b/openerp/addons/base/res/res_users.py
@@ -26,7 +26,7 @@ from lxml.builder import E
import openerp
from openerp import SUPERUSER_ID
-from openerp import pooler, tools
+from openerp import tools
import openerp.exceptions
from openerp.osv import fields,osv
from openerp.osv.orm import browse_record
@@ -98,7 +98,7 @@ class groups(osv.osv):
raise osv.except_osv(_('Error'),
_('The name of the group can not start with "-"'))
res = super(groups, self).write(cr, uid, ids, vals, context=context)
- self.pool.get('ir.model.access').call_cache_clearing_methods(cr)
+ self.pool['ir.model.access'].call_cache_clearing_methods(cr)
return res
groups()
@@ -178,7 +178,7 @@ class res_users(osv.osv):
partner.onchange_type method, but applied to the user object.
"""
partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context=context)]
- return self.pool.get('res.partner').onchange_type(cr, uid, partner_ids, is_company, context=context)
+ return self.pool['res.partner'].onchange_type(cr, uid, partner_ids, is_company, context=context)
def onchange_address(self, cr, uid, ids, use_parent_address, parent_id, context=None):
""" Wrapper on the user.partner onchange_address, because some calls to the
@@ -186,7 +186,7 @@ class res_users(osv.osv):
partner.onchange_type method, but applied to the user object.
"""
partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context=context)]
- return self.pool.get('res.partner').onchange_address(cr, uid, partner_ids, use_parent_address, parent_id, context=context)
+ return self.pool['res.partner'].onchange_address(cr, uid, partner_ids, use_parent_address, parent_id, context=context)
def _check_company(self, cr, uid, ids, context=None):
return all(((this.company_id in this.company_ids) or not this.company_ids) for this in self.browse(cr, uid, ids, context))
@@ -202,7 +202,7 @@ class res_users(osv.osv):
def _get_company(self,cr, uid, context=None, uid2=False):
if not uid2:
uid2 = uid
- user = self.pool.get('res.users').read(cr, uid, uid2, ['company_id'], context)
+ user = self.pool['res.users'].read(cr, uid, uid2, ['company_id'], context)
company_id = user.get('company_id', False)
return company_id and company_id[0] or False
@@ -243,7 +243,7 @@ class res_users(osv.osv):
'company_id': _get_company,
'company_ids': _get_companies,
'groups_id': _get_group,
- 'image': lambda self, cr, uid, ctx={}: self.pool.get('res.partner')._get_default_image(cr, uid, False, ctx, colorize=True),
+ 'image': lambda self, cr, uid, ctx={}: self.pool['res.partner']._get_default_image(cr, uid, False, ctx, colorize=True),
}
# User can write on a few of his own fields (but not his groups for example)
@@ -266,7 +266,7 @@ class res_users(osv.osv):
uid = SUPERUSER_ID
result = super(res_users, self).read(cr, uid, ids, fields=fields, context=context, load=load)
- canwrite = self.pool.get('ir.model.access').check(cr, uid, 'res.users', 'write', False)
+ canwrite = self.pool['ir.model.access'].check(cr, uid, 'res.users', 'write', False)
if not canwrite:
if isinstance(ids, (int, long)):
result = override_password(result)
@@ -291,8 +291,8 @@ class res_users(osv.osv):
res = super(res_users, self).write(cr, uid, ids, values, context=context)
# clear caches linked to the users
- self.pool.get('ir.model.access').call_cache_clearing_methods(cr)
- clear = partial(self.pool.get('ir.rule').clear_cache, cr)
+ self.pool['ir.model.access'].call_cache_clearing_methods(cr)
+ clear = partial(self.pool['ir.rule'].clear_cache, cr)
map(clear, ids)
db = cr.dbname
if db in self._uid_cache:
@@ -352,7 +352,7 @@ class res_users(osv.osv):
return result
def action_get(self, cr, uid, context=None):
- dataobj = self.pool.get('ir.model.data')
+ dataobj = self.pool['ir.model.data']
data_id = dataobj._get_id(cr, SUPERUSER_ID, 'base', 'action_res_users_my')
return dataobj.browse(cr, uid, data_id, context=context).res_id
@@ -372,7 +372,7 @@ class res_users(osv.osv):
if not password:
return False
user_id = False
- cr = pooler.get_db(db).cursor()
+ cr = self.pool.db.cursor()
try:
# autocommit: our single update request will be performed atomically.
# (In this way, there is no opportunity to have two transactions
@@ -423,10 +423,10 @@ class res_users(osv.osv):
# Successfully logged in as admin!
# Attempt to guess the web base url...
if user_agent_env and user_agent_env.get('base_location'):
- cr = pooler.get_db(db).cursor()
+ cr = self.pool.db.cursor()
try:
base = user_agent_env['base_location']
- self.pool.get('ir.config_parameter').set_param(cr, uid, 'web.base.url', base)
+ self.pool['ir.config_parameter'].set_param(cr, uid, 'web.base.url', base)
cr.commit()
except Exception:
_logger.exception("Failed to update web.base.url configuration parameter")
@@ -442,7 +442,7 @@ class res_users(osv.osv):
raise openerp.exceptions.AccessDenied()
if self._uid_cache.get(db, {}).get(uid) == passwd:
return
- cr = pooler.get_db(db).cursor()
+ cr = self.pool.db.cursor()
try:
self.check_credentials(cr, uid, passwd)
if self._uid_cache.has_key(db):
@@ -690,7 +690,7 @@ class groups_view(osv.osv):
def get_user_groups_view(self, cr, uid, context=None):
try:
- view = self.pool.get('ir.model.data').get_object(cr, SUPERUSER_ID, 'base', 'user_groups_view', context)
+ view = self.pool['ir.model.data'].get_object(cr, SUPERUSER_ID, 'base', 'user_groups_view', context)
assert view and view._table_name == 'ir.ui.view'
except Exception:
view = False
@@ -826,7 +826,7 @@ class users_view(osv.osv):
def fields_get(self, cr, uid, allfields=None, context=None, write_access=True):
res = super(users_view, self).fields_get(cr, uid, allfields, context, write_access)
# add reified groups fields
- for app, kind, gs in self.pool.get('res.groups').get_groups_by_application(cr, uid, context):
+ for app, kind, gs in self.pool['res.groups'].get_groups_by_application(cr, uid, context):
if kind == 'selection':
# selection group field
tips = ['%s: %s' % (g.name, g.comment) for g in gs if g.comment]
diff --git a/openerp/modules/graph.py b/openerp/modules/graph.py
index 56b17e3239a..d527ddafa4a 100644
--- a/openerp/modules/graph.py
+++ b/openerp/modules/graph.py
@@ -33,7 +33,6 @@ import openerp.osv as osv
import openerp.tools as tools
import openerp.tools.osutil as osutil
from openerp.tools.safe_eval import safe_eval as eval
-import openerp.pooler as pooler
from openerp.tools.translate import _
import openerp.netsvc as netsvc
diff --git a/openerp/modules/migration.py b/openerp/modules/migration.py
index e0faa77c3a4..c9c7aefa03b 100644
--- a/openerp/modules/migration.py
+++ b/openerp/modules/migration.py
@@ -33,7 +33,6 @@ import openerp.osv as osv
import openerp.tools as tools
import openerp.tools.osutil as osutil
from openerp.tools.safe_eval import safe_eval as eval
-import openerp.pooler as pooler
from openerp.tools.translate import _
import openerp.netsvc as netsvc
diff --git a/openerp/report/custom.py b/openerp/report/custom.py
index c3d0ff810b7..84634d1dc25 100644
--- a/openerp/report/custom.py
+++ b/openerp/report/custom.py
@@ -22,6 +22,7 @@
import os
import time
+import openerp
import openerp.tools as tools
from openerp.tools.safe_eval import safe_eval as eval
import print_xml
@@ -31,7 +32,6 @@ import common
from openerp.osv.osv import except_osv
from openerp.osv.orm import browse_null
from openerp.osv.orm import browse_record_list
-import openerp.pooler as pooler
from pychart import *
import misc
import cStringIO
@@ -127,22 +127,22 @@ class report_custom(report_int):
def create(self, cr, uid, ids, datas, context=None):
if not context:
context={}
- self.pool = pooler.get_pool(cr.dbname)
- report = self.pool.get('ir.report.custom').browse(cr, uid, [datas['report_id']])[0]
+ self.pool = openerp.registry(cr.dbname)
+ report = self.pool['ir.report.custom'].browse(cr, uid, [datas['report_id']])[0]
datas['model'] = report.model_id.model
if report.menu_id:
- ids = self.pool.get(report.model_id.model).search(cr, uid, [])
+ ids = self.pool[report.model_id.model].search(cr, uid, [])
datas['ids'] = ids
report_id = datas['report_id']
- report = self.pool.get('ir.report.custom').read(cr, uid, [report_id], context=context)[0]
- fields = self.pool.get('ir.report.custom.fields').read(cr, uid, report['fields_child0'], context=context)
+ report = self.pool['ir.report.custom'].read(cr, uid, [report_id], context=context)[0]
+ fields = self.pool['ir.report.custom.fields'].read(cr, uid, report['fields_child0'], context=context)
fields.sort(lambda x,y : x['sequence'] - y['sequence'])
if report['field_parent']:
- parent_field = self.pool.get('ir.model.fields').read(cr, uid, [report['field_parent'][0]], ['model'])
- model_name = self.pool.get('ir.model').read(cr, uid, [report['model_id'][0]], ['model'], context=context)[0]['model']
+ parent_field = self.pool['ir.model.fields'].read(cr, uid, [report['field_parent'][0]], ['model'])
+ model_name = self.pool['ir.model'].read(cr, uid, [report['model_id'][0]], ['model'], context=context)[0]['model']
fct = {
'id': lambda x: x,
@@ -158,7 +158,7 @@ class report_custom(report_int):
field_child = f['field_child'+str(i)]
if field_child:
row.append(
- self.pool.get('ir.model.fields').read(cr, uid, [field_child[0]], ['name'], context=context)[0]['name']
+ self.pool['ir.model.fields'].read(cr, uid, [field_child[0]], ['name'], context=context)[0]['name']
)
if f['fc'+str(i)+'_operande']:
fct_name = 'id'
@@ -171,7 +171,7 @@ class report_custom(report_int):
cond.append(None)
new_fields.append(row)
new_cond.append(cond)
- objs = self.pool.get(model_name).browse(cr, uid, ids)
+ objs = self.pool[model_name].browse(cr, uid, ids)
# Group by
groupby = None
@@ -340,7 +340,7 @@ class report_custom(report_int):
def _create_lines(self, cr, uid, ids, report, fields, results, context):
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
pdf_string = cStringIO.StringIO()
can = canvas.init(fname=pdf_string, format='pdf')
@@ -371,7 +371,7 @@ class report_custom(report_int):
for f in fields:
field_id = (f['field_child3'] and f['field_child3'][0]) or (f['field_child2'] and f['field_child2'][0]) or (f['field_child1'] and f['field_child1'][0]) or (f['field_child0'] and f['field_child0'][0])
if field_id:
- type = pool.get('ir.model.fields').read(cr, uid, [field_id],['ttype'])
+ type = pool['ir.model.fields'].read(cr, uid, [field_id],['ttype'])
if type[0]['ttype'] == 'date':
date_idx = idx
fct[idx] = process_date[report['frequency']]
@@ -444,7 +444,7 @@ class report_custom(report_int):
def _create_bars(self, cr, uid, ids, report, fields, results, context):
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
pdf_string = cStringIO.StringIO()
can = canvas.init(fname=pdf_string, format='pdf')
@@ -472,7 +472,7 @@ class report_custom(report_int):
for f in fields:
field_id = (f['field_child3'] and f['field_child3'][0]) or (f['field_child2'] and f['field_child2'][0]) or (f['field_child1'] and f['field_child1'][0]) or (f['field_child0'] and f['field_child0'][0])
if field_id:
- type = pool.get('ir.model.fields').read(cr, uid, [field_id],['ttype'])
+ type = pool['ir.model.fields'].read(cr, uid, [field_id],['ttype'])
if type[0]['ttype'] == 'date':
date_idx = idx
fct[idx] = process_date[report['frequency']]
diff --git a/openerp/report/interface.py b/openerp/report/interface.py
index f0de9631800..1c42bbb06c5 100644
--- a/openerp/report/interface.py
+++ b/openerp/report/interface.py
@@ -23,7 +23,8 @@ import os
import re
from lxml import etree
-import openerp.pooler as pooler
+
+import openerp
import openerp.tools as tools
import openerp.modules
@@ -90,8 +91,8 @@ class report_rml(report_int):
if report_type == 'raw':
return xml, report_type
rml = self.create_rml(cr, xml, uid, context)
- pool = pooler.get_pool(cr.dbname)
- ir_actions_report_xml_obj = pool.get('ir.actions.report.xml')
+ registry = openerp.registry(cr.dbname)
+ ir_actions_report_xml_obj = registry['ir.actions.report.xml']
report_xml_ids = ir_actions_report_xml_obj.search(cr, uid, [('report_name', '=', self.name[7:])], context=context)
self.title = report_xml_ids and ir_actions_report_xml_obj.browse(cr,uid,report_xml_ids)[0].name or 'OpenERP Report'
create_doc = self.generators[report_type]
@@ -140,8 +141,8 @@ class report_rml(report_int):
self.internal_header=True
if not context:
context={}
- pool = pooler.get_pool(cr.dbname)
- ir_translation_obj = pool.get('ir.translation')
+ registry = openerp.registry(cr.dbname)
+ ir_translation_obj = registry['ir.translation']
# In some case we might not use xsl ...
if not self.xsl:
diff --git a/openerp/report/print_xml.py b/openerp/report/print_xml.py
index c2af0984c2e..f4191498aa8 100644
--- a/openerp/report/print_xml.py
+++ b/openerp/report/print_xml.py
@@ -20,11 +20,11 @@
##############################################################################
from lxml import etree
+import openerp
import openerp.tools as tools
from openerp.tools.safe_eval import safe_eval
import print_fnc
from openerp.osv.orm import browse_null, browse_record
-import openerp.pooler as pooler
class InheritDict(dict):
# Might be usefull when we're doing name lookup for call or eval.
@@ -54,7 +54,7 @@ class document(object):
def __init__(self, cr, uid, datas, func=False):
# create a new document
self.cr = cr
- self.pool = pooler.get_pool(cr.dbname)
+ self.pool = openerp.registry(cr.dbname)
self.func = func or {}
self.datas = datas
self.uid = uid
@@ -134,8 +134,8 @@ class document(object):
value = self.get_value(browser, attrs['name'])
- ids = self.pool.get('ir.attachment').search(self.cr, self.uid, [('res_model','=',model),('res_id','=',int(value))])
- datas = self.pool.get('ir.attachment').read(self.cr, self.uid, ids)
+ ids = self.pool['ir.attachment'].search(self.cr, self.uid, [('res_model','=',model),('res_id','=',int(value))])
+ datas = self.pool['ir.attachment'].read(self.cr, self.uid, ids)
if len(datas):
# if there are several, pick first
@@ -264,7 +264,7 @@ class document(object):
def parse_tree(self, ids, model, context=None):
if not context:
context={}
- browser = self.pool.get(model).browse(self.cr, self.uid, ids, context)
+ browser = self.pool[model].browse(self.cr, self.uid, ids, context)
self.parse_node(self.dom, self.doc, browser)
def parse_string(self, xml, ids, model, context=None):
diff --git a/openerp/report/printscreen/ps_form.py b/openerp/report/printscreen/ps_form.py
index e585176d515..b3934457e2f 100644
--- a/openerp/report/printscreen/ps_form.py
+++ b/openerp/report/printscreen/ps_form.py
@@ -19,8 +19,8 @@
#
##############################################################################
+import openerp
from openerp.report.interface import report_int
-import openerp.pooler as pooler
import openerp.tools as tools
from openerp.report import render
@@ -55,8 +55,8 @@ class report_printscreen_list(report_int):
if not context:
context={}
datas['ids'] = ids
- pool = pooler.get_pool(cr.dbname)
- model = pool.get(datas['model'])
+ registry = openerp.registry(cr.dbname)
+ model = registry[datas['model']]
# title come from description of model which are specified in py file.
self.title = model._description
result = model.fields_view_get(cr, uid, view_type='form', context=context)
diff --git a/openerp/report/printscreen/ps_list.py b/openerp/report/printscreen/ps_list.py
index c26597c8cdf..fa6bd29a6a6 100644
--- a/openerp/report/printscreen/ps_list.py
+++ b/openerp/report/printscreen/ps_list.py
@@ -19,8 +19,8 @@
#
##############################################################################
+import openerp
from openerp.report.interface import report_int
-import openerp.pooler as pooler
import openerp.tools as tools
from openerp.tools.safe_eval import safe_eval as eval
from lxml import etree
@@ -66,12 +66,12 @@ class report_printscreen_list(report_int):
self.context = context
self.groupby = context.get('group_by',[])
self.groupby_no_leaf = context.get('group_by_no_leaf',False)
- pool = pooler.get_pool(cr.dbname)
- model = pool.get(datas['model'])
- model_id = pool.get('ir.model').search(cr, uid, [('model','=',model._name)])
+ registry = openerp.registry(cr.dbname)
+ model = registry[datas['model']]
+ model_id = registry['ir.model'].search(cr, uid, [('model','=',model._name)])
model_desc = model._description
if model_id:
- model_desc = pool.get('ir.model').browse(cr, uid, model_id[0], context).name
+ model_desc = registry['ir.model'].browse(cr, uid, model_id[0], context).name
self.title = model_desc
datas['ids'] = ids
result = model.fields_view_get(cr, uid, view_type='tree', context=context)
@@ -134,8 +134,9 @@ 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')
+ registry = openerp.registry(self.cr.dbname)
+ _append_node('company', registry['res.users'].browse(self.cr,uid,uid).company_id.name)
+ rpt_obj = registry['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 = []
diff --git a/openerp/report/report_sxw.py b/openerp/report/report_sxw.py
index 325690205ef..1387aba6c5a 100644
--- a/openerp/report/report_sxw.py
+++ b/openerp/report/report_sxw.py
@@ -29,10 +29,11 @@ import time
from interface import report_rml
import preprocess
import logging
-import openerp.pooler as pooler
import openerp.tools as tools
import zipfile
import common
+
+import openerp
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 import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT
@@ -152,8 +153,8 @@ class rml_parse(object):
context={}
self.cr = cr
self.uid = uid
- self.pool = pooler.get_pool(cr.dbname)
- user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ self.pool = openerp.registry(cr.dbname)
+ user = self.pool['res.users'].browse(cr, uid, uid, context=context)
self.localcontext = {
'user': user,
'setCompany': self.setCompany,
@@ -220,7 +221,7 @@ class rml_parse(object):
model = 'ir.attachment'
try :
id = int(id)
- res = self.pool.get(model).read(self.cr,self.uid,id)
+ res = self.pool[model].read(self.cr,self.uid,id)
if field :
return res[field]
elif model =='ir.attachment' :
@@ -237,7 +238,7 @@ class rml_parse(object):
obj._context['lang'] = lang
def _get_lang_dict(self):
- pool_lang = self.pool.get('res.lang')
+ pool_lang = self.pool['res.lang']
lang = self.localcontext.get('lang', 'en_US') or 'en_US'
lang_ids = pool_lang.search(self.cr,self.uid,[('code','=',lang)])[0]
lang_obj = pool_lang.browse(self.cr,self.uid,lang_ids)
@@ -252,7 +253,7 @@ class rml_parse(object):
def get_digits(self, obj=None, f=None, dp=None):
d = DEFAULT_DIGITS = 2
if dp:
- decimal_precision_obj = self.pool.get('decimal.precision')
+ decimal_precision_obj = self.pool['decimal.precision']
ids = decimal_precision_obj.search(self.cr, self.uid, [('name', '=', dp)])
if ids:
d = decimal_precision_obj.browse(self.cr, self.uid, ids)[0].digits
@@ -323,7 +324,7 @@ class rml_parse(object):
return res
def display_address(self, address_browse_record):
- return self.pool.get('res.partner')._display_address(self.cr, self.uid, address_browse_record)
+ return self.pool['res.partner']._display_address(self.cr, self.uid, address_browse_record)
def repeatIn(self, lst, name,nodes_parent=False):
ret_lst = []
@@ -334,7 +335,7 @@ class rml_parse(object):
def _translate(self,text):
lang = self.localcontext['lang']
if lang and text and not text.isspace():
- transl_obj = self.pool.get('ir.translation')
+ transl_obj = self.pool['ir.translation']
piece_list = self._transl_regex.split(text)
for pn in range(len(piece_list)):
if not self._transl_regex.match(piece_list[pn]):
@@ -399,7 +400,7 @@ class report_sxw(report_rml, preprocess.report):
self.internal_header=True
def getObjects(self, cr, uid, ids, context):
- table_obj = pooler.get_pool(cr.dbname).get(self.table)
+ table_obj = openerp.registry(cr.dbname)[self.table]
return table_obj.browse(cr, uid, ids, list_class=browse_record_list, context=context, fields_process=_fields_process)
def create(self, cr, uid, ids, data, context=None):
@@ -409,8 +410,8 @@ class report_sxw(report_rml, preprocess.report):
context.update(internal_header=self.internal_header)
# skip osv.fields.sanitize_binary_value() because we want the raw bytes in all cases
context.update(bin_raw=True)
- pool = pooler.get_pool(cr.dbname)
- ir_obj = pool.get('ir.actions.report.xml')
+ registry = openerp.registry(cr.dbname)
+ ir_obj = registry['ir.actions.report.xml']
report_xml_ids = ir_obj.search(cr, uid,
[('report_name', '=', self.name[7:])], context=context)
if report_xml_ids:
@@ -458,7 +459,7 @@ class report_sxw(report_rml, preprocess.report):
def create_source_pdf(self, cr, uid, ids, data, report_xml, context=None):
if not context:
context={}
- pool = pooler.get_pool(cr.dbname)
+ registry = openerp.registry(cr.dbname)
attach = report_xml.attachment
if attach:
objs = self.getObjects(cr, uid, ids, context)
@@ -467,9 +468,9 @@ class report_sxw(report_rml, preprocess.report):
aname = eval(attach, {'object':obj, 'time':time})
result = False
if report_xml.attachment_use and aname and context.get('attachment_use', True):
- aids = pool.get('ir.attachment').search(cr, uid, [('datas_fname','=',aname+'.pdf'),('res_model','=',self.table),('res_id','=',obj.id)])
+ aids = registry['ir.attachment'].search(cr, uid, [('datas_fname','=',aname+'.pdf'),('res_model','=',self.table),('res_id','=',obj.id)])
if aids:
- brow_rec = pool.get('ir.attachment').browse(cr, uid, aids[0])
+ brow_rec = registry['ir.attachment'].browse(cr, uid, aids[0])
if not brow_rec.datas:
continue
d = base64.decodestring(brow_rec.datas)
@@ -487,7 +488,7 @@ class report_sxw(report_rml, preprocess.report):
# field.
ctx = dict(context)
ctx.pop('default_type', None)
- pool.get('ir.attachment').create(cr, uid, {
+ registry['ir.attachment'].create(cr, uid, {
'name': aname,
'datas': base64.encodestring(result[0]),
'datas_fname': name,
diff --git a/openerp/service/common.py b/openerp/service/common.py
index f06ab3fe5aa..685d602a10d 100644
--- a/openerp/service/common.py
+++ b/openerp/service/common.py
@@ -4,7 +4,6 @@ import logging
import threading
import openerp.osv.orm # TODO use openerp.exceptions
-import openerp.pooler
import openerp.release
import openerp.tools
@@ -43,7 +42,7 @@ def exp_login(db, login, password):
return res or False
def exp_authenticate(db, login, password, user_agent_env):
- res_users = openerp.pooler.get_pool(db).get('res.users')
+ res_users = openerp.registry(db)['res.users']
return res_users.authenticate(db, login, password, user_agent_env)
def exp_version():
diff --git a/openerp/service/db.py b/openerp/service/db.py
index 7293e17c3c5..c440720b6fc 100644
--- a/openerp/service/db.py
+++ b/openerp/service/db.py
@@ -7,8 +7,8 @@ import os
import threading
import traceback
+import openerp
from openerp import SUPERUSER_ID
-import openerp.pooler
import openerp.release
import openerp.sql_db
import openerp.tools
@@ -28,7 +28,7 @@ def _initialize_db(id, db_name, demo, lang, user_password):
try:
self_actions[id]['progress'] = 0
cr = openerp.sql_db.db_connect(db_name).cursor()
- openerp.modules.db.initialize(cr) # TODO this should be removed as it is done by pooler.restart_pool.
+ openerp.modules.db.initialize(cr) # TODO this should be removed as it is done by RegistryManager.new().
openerp.tools.config['lang'] = lang
cr.commit()
finally:
@@ -36,20 +36,20 @@ def _initialize_db(id, db_name, demo, lang, user_password):
cr.close()
cr = None
- pool = openerp.pooler.restart_pool(db_name, demo, self_actions[id],
- update_module=True)[1]
+ registry = openerp.modules.registry.RegistryManager.new(
+ db_name, demo, self_actions[id], update_module=True)[1]
try:
cr = openerp.sql_db.db_connect(db_name).cursor()
if lang:
- modobj = pool.get('ir.module.module')
+ modobj = registry['ir.module.module']
mids = modobj.search(cr, SUPERUSER_ID, [('state', '=', 'installed')])
modobj.update_translations(cr, SUPERUSER_ID, mids, lang)
# update admin's password and lang
values = {'password': user_password, 'lang': lang}
- pool.get('res.users').write(cr, SUPERUSER_ID, [SUPERUSER_ID], values)
+ registry['res.users'].write(cr, SUPERUSER_ID, [SUPERUSER_ID], values)
cr.execute('SELECT login, password FROM res_users ORDER BY login')
self_actions[id].update(users=cr.dictfetchall(), clean=True)
@@ -351,7 +351,7 @@ def exp_migrate_databases(databases):
for db in databases:
_logger.info('migrate database %s', db)
openerp.tools.config['update']['base'] = True
- openerp.pooler.restart_pool(db, force_demo=False, update_module=True)
+ openerp.modules.registry.RegistryManager.new(db, force_demo=False, update_module=True)
return True
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/service/model.py b/openerp/service/model.py
index 976af76bc93..79f0ace4f2b 100644
--- a/openerp/service/model.py
+++ b/openerp/service/model.py
@@ -61,7 +61,7 @@ def check(f):
# callable. We need to find the right parameters to call
# the orm._sql_message(self, cr, uid, ids, context) function,
# or we skip..
- # our signature is f(osv_pool, dbname [,uid, obj, method, args])
+ # our signature is f(registry, dbname [,uid, obj, method, args])
try:
if args and len(args) > 1:
# TODO self doesn't exist, but was already wrong before (it was not a registry but just the object_service.
@@ -95,14 +95,14 @@ def check(f):
return tr(src, 'code')
try:
- if openerp.pooler.get_pool(dbname)._init:
+ if openerp.registry(dbname)._init:
raise openerp.exceptions.Warning('Currently, this database is not fully loaded and can not be used.')
return f(dbname, *args, **kwargs)
except IntegrityError, inst:
- osv_pool = openerp.pooler.get_pool(dbname)
- for key in osv_pool._sql_error.keys():
+ registry = openerp.registry(dbname)
+ for key in registry._sql_error.keys():
if key in inst[0]:
- raise openerp.osv.orm.except_orm(_('Constraint Error'), tr(osv_pool._sql_error[key], 'sql_constraint') or inst[0])
+ raise openerp.osv.orm.except_orm(_('Constraint Error'), tr(registry._sql_error[key], 'sql_constraint') or inst[0])
if inst.pgcode in (errorcodes.NOT_NULL_VIOLATION, errorcodes.FOREIGN_KEY_VIOLATION, errorcodes.RESTRICT_VIOLATION):
msg = _('The operation cannot be completed, probably due to the following:\n- deletion: you may be trying to delete a record while other records still reference it\n- creation/update: a mandatory field is not correctly set')
_logger.debug("IntegrityError", exc_info=True)
@@ -116,7 +116,7 @@ def check(f):
last_quote_begin = errortxt.rfind('"', 0, last_quote_end)
model_name = table = errortxt[last_quote_begin+1:last_quote_end].strip()
model = table.replace("_",".")
- model_obj = osv_pool.get(model)
+ model_obj = registry.get(model)
if model_obj:
model_name = model_obj._description or model_obj._name
msg += _('\n\n[object with reference: %s - %s]') % (model_name, model)
@@ -129,7 +129,7 @@ def check(f):
return wrapper
def execute_cr(cr, uid, obj, method, *args, **kw):
- object = openerp.pooler.get_pool(cr.dbname).get(obj)
+ object = openerp.registry(cr.dbname).get(obj)
if not object:
raise except_orm('Object Error', 'Object %s doesn\'t exist' % str(obj))
return getattr(object, method)(cr, uid, *args, **kw)
@@ -140,7 +140,7 @@ def execute_kw(db, uid, obj, method, args, kw=None):
@check
def execute(db, uid, obj, method, *args, **kw):
threading.currentThread().dbname = db
- cr = openerp.pooler.get_db(db).cursor()
+ cr = openerp.registry(db).db.cursor()
try:
try:
if method.startswith('_'):
@@ -157,7 +157,7 @@ def execute(db, uid, obj, method, *args, **kw):
return res
def exec_workflow_cr(cr, uid, obj, signal, *args):
- object = openerp.pooler.get_pool(cr.dbname).get(obj)
+ object = openerp.registry(cr.dbname).get(obj)
if not object:
raise except_orm('Object Error', 'Object %s doesn\'t exist' % str(obj))
res_id = args[0]
@@ -165,7 +165,7 @@ def exec_workflow_cr(cr, uid, obj, signal, *args):
@check
def exec_workflow(db, uid, obj, signal, *args):
- cr = openerp.pooler.get_db(db).cursor()
+ cr = openerp.registry(db).db.cursor()
try:
try:
res = exec_workflow_cr(cr, uid, obj, signal, *args)
diff --git a/openerp/service/report.py b/openerp/service/report.py
index c20c7f0d7ec..0f3434fbb71 100644
--- a/openerp/service/report.py
+++ b/openerp/service/report.py
@@ -5,8 +5,8 @@ import logging
import sys
import threading
+import openerp
import openerp.netsvc
-import openerp.pooler
from openerp import tools
import security
@@ -49,7 +49,7 @@ def exp_render_report(db, uid, object, ids, datas=None, context=None):
self_reports[id] = {'uid': uid, 'result': False, 'state': False, 'exception': None}
- cr = openerp.pooler.get_db(db).cursor()
+ cr = openerp.registry(db).db.cursor()
try:
obj = openerp.netsvc.LocalService('report.'+object)
(result, format) = obj.create(cr, uid, ids, datas, context)
@@ -88,7 +88,7 @@ def exp_report(db, uid, object, ids, datas=None, context=None):
self_reports[id] = {'uid': uid, 'result': False, 'state': False, 'exception': None}
def go(id, uid, ids, datas, context):
- cr = openerp.pooler.get_db(db).cursor()
+ cr = openerp.registry(db).db.cursor()
try:
obj = openerp.netsvc.LocalService('report.'+object)
(result, format) = obj.create(cr, uid, ids, datas, context)
diff --git a/openerp/service/security.py b/openerp/service/security.py
index 849796da8bf..6f115b8030a 100644
--- a/openerp/service/security.py
+++ b/openerp/service/security.py
@@ -19,25 +19,20 @@
#
##############################################################################
-import openerp.exceptions
-import openerp.pooler as pooler
-import openerp.tools as tools
-
+import openerp
def login(db, login, password):
- pool = pooler.get_pool(db)
- user_obj = pool.get('res.users')
- return user_obj.login(db, login, password)
+ res_users = openerp.registry(db)['res.users']
+ return res_users.login(db, login, password)
def check_super(passwd):
- if passwd == tools.config['admin_passwd']:
+ if passwd == openerp.tools.config['admin_passwd']:
return True
else:
raise openerp.exceptions.AccessDenied()
def check(db, uid, passwd):
- pool = pooler.get_pool(db)
- user_obj = pool.get('res.users')
- return user_obj.check(db, uid, passwd)
+ res_users = openerp.registry(db)['res.users']
+ return res_users.check(db, uid, passwd)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/sql_db.py b/openerp/sql_db.py
index 77c873b3482..c27784433c0 100644
--- a/openerp/sql_db.py
+++ b/openerp/sql_db.py
@@ -25,8 +25,6 @@
The PostgreSQL connector is a connectivity layer between the OpenERP code and
the database, *not* a database abstraction toolkit. Database abstraction is what
the ORM does, in fact.
-
-See also: the `pooler` module
"""
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index 59e66512da4..6d2de82bd1e 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -29,6 +29,7 @@ import sys
# for eval context:
import time
+import openerp
import openerp.release as release
import assertion_report
@@ -47,7 +48,6 @@ except:
from datetime import datetime, timedelta
from lxml import etree
import misc
-import openerp.pooler as pooler
from config import config
from translate import _
@@ -77,7 +77,7 @@ def _ref(self, cr):
return lambda x: self.id_get(cr, x)
def _obj(pool, cr, uid, model_str, context=None):
- model = pool.get(model_str)
+ model = pool[model_str]
return lambda x: model.browse(cr, uid, x, context=context)
def _get_idref(self, cr, uid, model_str, context, idref):
@@ -124,10 +124,10 @@ def _eval_xml(self, node, pool, cr, uid, idref, context=None):
if f_search:
idref2 = _get_idref(self, cr, uid, f_model, context, idref)
q = unsafe_eval(f_search, idref2)
- ids = pool.get(f_model).search(cr, uid, q)
+ ids = pool[f_model].search(cr, uid, q)
if f_use != 'id':
- ids = map(lambda x: x[f_use], pool.get(f_model).read(cr, uid, ids, [f_use]))
- _cols = pool.get(f_model)._columns
+ ids = map(lambda x: x[f_use], pool[f_model].read(cr, uid, ids, [f_use]))
+ _cols = pool[f_model]._columns
if (f_name in _cols) and _cols[f_name]._type=='many2many':
return ids
f_val = False
@@ -196,7 +196,7 @@ def _eval_xml(self, node, pool, cr, uid, idref, context=None):
return_val = _eval_xml(self,n, pool, cr, uid, idref, context)
if return_val is not None:
args.append(return_val)
- model = pool.get(node.get('model',''))
+ model = pool[node.get('model','')]
method = node.get('name','')
res = getattr(model, method)(cr, uid, *args)
return res
@@ -256,7 +256,7 @@ class xml_import(object):
maximum one dot. They are used to refer to other modules ID, in the
form: module.record_id""" % (xml_id,)
if module != self.module:
- modcnt = self.pool.get('ir.module.module').search_count(self.cr, self.uid, ['&', ('name', '=', module), ('state', 'in', ['installed'])])
+ modcnt = self.pool['ir.module.module'].search_count(self.cr, self.uid, ['&', ('name', '=', module), ('state', 'in', ['installed'])])
assert modcnt == 1, """The ID "%s" refers to an uninstalled module""" % (xml_id,)
if len(id) > 64:
@@ -270,7 +270,7 @@ form: module.record_id""" % (xml_id,)
if d_search:
idref = _get_idref(self, cr, self.uid, d_model, context={}, idref={})
- ids = self.pool.get(d_model).search(cr, self.uid, unsafe_eval(d_search, idref))
+ ids = self.pool[d_model].search(cr, self.uid, unsafe_eval(d_search, idref))
if d_id:
try:
ids.append(self.id_get(cr, d_id))
@@ -278,10 +278,10 @@ form: module.record_id""" % (xml_id,)
# d_id cannot be found. doesn't matter in this case
pass
if ids:
- self.pool.get(d_model).unlink(cr, self.uid, ids)
+ self.pool[d_model].unlink(cr, self.uid, ids)
def _remove_ir_values(self, cr, name, value, model):
- ir_values_obj = self.pool.get('ir.values')
+ ir_values_obj = self.pool['ir.values']
ir_value_ids = ir_values_obj.search(cr, self.uid, [('name','=',name),('value','=',value),('model','=',model)])
if ir_value_ids:
ir_values_obj.unlink(cr, self.uid, ir_value_ids)
@@ -324,14 +324,14 @@ form: module.record_id""" % (xml_id,)
groups_value.append((4, group_id))
res['groups_id'] = groups_value
- id = self.pool.get('ir.model.data')._update(cr, self.uid, "ir.actions.report.xml", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
+ id = self.pool['ir.model.data']._update(cr, self.uid, "ir.actions.report.xml", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
self.idref[xml_id] = int(id)
if not rec.get('menu') or eval(rec.get('menu','False')):
keyword = str(rec.get('keyword', 'client_print_multi'))
value = 'ir.actions.report.xml,'+str(id)
replace = rec.get('replace', True)
- self.pool.get('ir.model.data').ir_set(cr, self.uid, 'action', keyword, res['name'], [res['model']], value, replace=replace, isobject=True, xml_id=xml_id)
+ self.pool['ir.model.data'].ir_set(cr, self.uid, 'action', keyword, res['name'], [res['model']], value, replace=replace, isobject=True, xml_id=xml_id)
elif self.mode=='update' and eval(rec.get('menu','False'))==False:
# Special check for report having attribute menu=False on update
value = 'ir.actions.report.xml,'+str(id)
@@ -367,14 +367,14 @@ form: module.record_id""" % (xml_id,)
groups_value.append((4, group_id))
res['groups_id'] = groups_value
- id = self.pool.get('ir.model.data')._update(cr, self.uid, "ir.actions.wizard", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
+ id = self.pool['ir.model.data']._update(cr, self.uid, "ir.actions.wizard", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
self.idref[xml_id] = int(id)
# ir_set
if (not rec.get('menu') or eval(rec.get('menu','False'))) and id:
keyword = str(rec.get('keyword','') or 'client_action_multi')
value = 'ir.actions.wizard,'+str(id)
replace = rec.get("replace",'') or True
- self.pool.get('ir.model.data').ir_set(cr, self.uid, 'action', keyword, string, [model], value, replace=replace, isobject=True, xml_id=xml_id)
+ self.pool['ir.model.data'].ir_set(cr, self.uid, 'action', keyword, string, [model], value, replace=replace, isobject=True, xml_id=xml_id)
elif self.mode=='update' and (rec.get('menu') and eval(rec.get('menu','False'))==False):
# Special check for wizard having attribute menu=False on update
value = 'ir.actions.wizard,'+str(id)
@@ -389,7 +389,7 @@ form: module.record_id""" % (xml_id,)
res = {'name': name, 'url': url, 'target':target}
- id = self.pool.get('ir.model.data')._update(cr, self.uid, "ir.actions.act_url", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
+ id = self.pool['ir.model.data']._update(cr, self.uid, "ir.actions.act_url", self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
self.idref[xml_id] = int(id)
def _tag_act_window(self, cr, rec, data_node=None):
@@ -489,7 +489,7 @@ form: module.record_id""" % (xml_id,)
res['target'] = rec.get('target','')
if rec.get('multi'):
res['multi'] = rec.get('multi', False)
- id = self.pool.get('ir.model.data')._update(cr, self.uid, 'ir.actions.act_window', self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
+ id = self.pool['ir.model.data']._update(cr, self.uid, 'ir.actions.act_window', self.module, res, xml_id, noupdate=self.isnoupdate(data_node), mode=self.mode)
self.idref[xml_id] = int(id)
if src_model:
@@ -497,7 +497,7 @@ form: module.record_id""" % (xml_id,)
keyword = rec.get('key2','').encode('utf-8') or 'client_action_relate'
value = 'ir.actions.act_window,'+str(id)
replace = rec.get('replace','') or True
- self.pool.get('ir.model.data').ir_set(cr, self.uid, 'action', keyword, xml_id, [src_model], value, replace=replace, isobject=True, xml_id=xml_id)
+ self.pool['ir.model.data'].ir_set(cr, self.uid, 'action', keyword, xml_id, [src_model], value, replace=replace, isobject=True, xml_id=xml_id)
# TODO add remove ir.model.data
def _tag_ir_set(self, cr, rec, data_node=None):
@@ -508,7 +508,7 @@ form: module.record_id""" % (xml_id,)
f_name = field.get("name",'').encode('utf-8')
f_val = _eval_xml(self,field,self.pool, cr, self.uid, self.idref)
res[f_name] = f_val
- self.pool.get('ir.model.data').ir_set(cr, self.uid, res['key'], res['key2'], res['name'], res['models'], res['value'], replace=res.get('replace',True), isobject=res.get('isobject', False), meta=res.get('meta',None))
+ self.pool['ir.model.data'].ir_set(cr, self.uid, res['key'], res['key2'], res['name'], res['models'], res['value'], replace=res.get('replace',True), isobject=res.get('isobject', False), meta=res.get('meta',None))
def _tag_workflow(self, cr, rec, data_node=None):
if self.isnoupdate(data_node) and self.mode != 'init':
@@ -563,7 +563,7 @@ form: module.record_id""" % (xml_id,)
else:
# the menuitem does't exist but we are in branch (not a leaf)
_logger.warning('Warning no ID for submenu %s of menu %s !', menu_elem, str(m_l))
- pid = self.pool.get('ir.ui.menu').create(cr, self.uid, {'parent_id' : pid, 'name' : menu_elem})
+ pid = self.pool['ir.ui.menu'].create(cr, self.uid, {'parent_id' : pid, 'name' : menu_elem})
values['parent_id'] = pid
else:
# The parent attribute was specified, if non-empty determine its ID, otherwise
@@ -657,14 +657,14 @@ form: module.record_id""" % (xml_id,)
groups_value.append((4, group_id))
values['groups_id'] = groups_value
- pid = self.pool.get('ir.model.data')._update(cr, self.uid, 'ir.ui.menu', self.module, values, rec_id, noupdate=self.isnoupdate(data_node), mode=self.mode, res_id=res and res[0] or False)
+ pid = self.pool['ir.model.data']._update(cr, self.uid, 'ir.ui.menu', self.module, values, rec_id, noupdate=self.isnoupdate(data_node), mode=self.mode, res_id=res and res[0] or False)
if rec_id and pid:
self.idref[rec_id] = int(pid)
if rec.get('action') and pid:
action = "ir.actions.%s,%d" % (a_type, a_id)
- self.pool.get('ir.model.data').ir_set(cr, self.uid, 'action', 'tree_but_open', 'Menuitem', [('ir.ui.menu', int(pid))], action, True, True, xml_id=rec_id)
+ self.pool['ir.model.data'].ir_set(cr, self.uid, 'action', 'tree_but_open', 'Menuitem', [('ir.ui.menu', int(pid))], action, True, True, xml_id=rec_id)
return 'ir.ui.menu', pid
def _assert_equals(self, f1, f2, prec=4):
@@ -675,8 +675,7 @@ form: module.record_id""" % (xml_id,)
return
rec_model = rec.get("model",'').encode('ascii')
- model = self.pool.get(rec_model)
- assert model, "The model %s does not exist !" % (rec_model,)
+ model = self.pool[rec_model]
rec_id = rec.get("id",'').encode('ascii')
self._test_xml_id(rec_id)
rec_src = rec.get("search",'').encode('utf8')
@@ -692,7 +691,7 @@ form: module.record_id""" % (xml_id,)
ids = [self.id_get(cr, rec_id)]
elif rec_src:
q = unsafe_eval(rec_src, eval_dict)
- ids = self.pool.get(rec_model).search(cr, uid, q, context=context)
+ ids = self.pool[rec_model].search(cr, uid, q, context=context)
if rec_src_count:
count = int(rec_src_count)
if len(ids) != count:
@@ -737,8 +736,7 @@ form: module.record_id""" % (xml_id,)
def _tag_record(self, cr, rec, data_node=None):
rec_model = rec.get("model").encode('ascii')
- model = self.pool.get(rec_model)
- assert model, "The model %s does not exist !" % (rec_model,)
+ model = self.pool[rec_model]
rec_id = rec.get("id",'').encode('ascii')
rec_context = rec.get("context", None)
if rec_context:
@@ -752,7 +750,7 @@ form: module.record_id""" % (xml_id,)
else:
module = self.module
rec_id2 = rec_id
- id = self.pool.get('ir.model.data')._update_dummy(cr, self.uid, rec_model, module, rec_id2)
+ id = self.pool['ir.model.data']._update_dummy(cr, self.uid, rec_model, module, rec_id2)
# check if the resource already existed at the last update
if id:
# if it existed, we don't update the data, but we need to
@@ -785,11 +783,11 @@ form: module.record_id""" % (xml_id,)
q = unsafe_eval(f_search, self.idref)
field = []
assert f_model, 'Define an attribute model="..." in your .XML file !'
- f_obj = self.pool.get(f_model)
+ f_obj = self.pool[f_model]
# browse the objects searched
s = f_obj.browse(cr, self.uid, f_obj.search(cr, self.uid, q))
# column definitions of the "local" object
- _cols = self.pool.get(rec_model)._columns
+ _cols = self.pool[rec_model]._columns
# if the current field is many2many
if (f_name in _cols) and _cols[f_name]._type=='many2many':
f_val = [(6, 0, map(lambda x: x[f_use], s))]
@@ -815,7 +813,7 @@ form: module.record_id""" % (xml_id,)
f_val = int(f_val)
res[f_name] = f_val
- id = self.pool.get('ir.model.data')._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )
+ id = self.pool['ir.model.data']._update(cr, self.uid, rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode, context=rec_context )
if rec_id:
self.idref[rec_id] = int(id)
if config.get('import_partial', False):
@@ -830,7 +828,7 @@ form: module.record_id""" % (xml_id,)
return res
def model_id_get(self, cr, id_str):
- model_data_obj = self.pool.get('ir.model.data')
+ model_data_obj = self.pool['ir.model.data']
mod = self.module
if '.' in id_str:
mod,id_str = id_str.split('.')
@@ -857,7 +855,7 @@ form: module.record_id""" % (xml_id,)
self.module = module
self.cr = cr
self.idref = idref
- self.pool = pooler.get_pool(cr.dbname)
+ self.pool = openerp.registry(cr.dbname)
self.uid = 1
if report is None:
report = assertion_report.assertion_report()
@@ -889,8 +887,6 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
#remove folder path from model
head, model = os.path.split(model)
- pool = pooler.get_pool(cr.dbname)
-
input = cStringIO.StringIO(csvcontent) #FIXME
reader = csv.reader(input, quotechar='"', delimiter=',')
fields = reader.next()
@@ -921,7 +917,9 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
datas.append(map(lambda x: misc.ustr(x), line))
except:
_logger.error("Cannot import the line: %s", line)
- result, rows, warning_msg, dummy = pool.get(model).import_data(cr, uid, fields, datas,mode, module, noupdate, filename=fname_partial)
+
+ registry = openerp.registry(cr.dbname)
+ result, rows, warning_msg, dummy = registry[model].import_data(cr, uid, fields, datas,mode, module, noupdate, filename=fname_partial)
if result < 0:
# Report failed import and abort module install
raise Exception(_('Module loading failed: file %s/%s could not be processed:\n %s') % (module, fname, warning_msg))
diff --git a/openerp/tools/mail.py b/openerp/tools/mail.py
index 574d8c94f05..1fe22094831 100644
--- a/openerp/tools/mail.py
+++ b/openerp/tools/mail.py
@@ -24,13 +24,13 @@ import cgi
import logging
import lxml.html
import lxml.html.clean as clean
-import openerp.pooler as pooler
import random
import re
import socket
import threading
import time
+import openerp
from openerp.loglevels import ustr
_logger = logging.getLogger(__name__)
@@ -325,13 +325,13 @@ def email_send(email_from, email_to, subject, body, email_cc=None, email_bcc=Non
if not cr:
db_name = getattr(threading.currentThread(), 'dbname', None)
if db_name:
- local_cr = cr = pooler.get_db(db_name).cursor()
+ local_cr = cr = openerp.registry(db_name).db.cursor()
else:
raise Exception("No database cursor found, please pass one explicitly")
# Send Email
try:
- mail_server_pool = pooler.get_pool(cr.dbname).get('ir.mail_server')
+ mail_server_pool = openerp.registry(cr.dbname)['ir.mail_server']
res = False
# Pack Message into MIME Object
email_msg = mail_server_pool.build_email(email_from, email_to, subject, body, email_cc, email_bcc, reply_to,
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index 9ec4dab6cc3..b6c866e7f4b 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -25,10 +25,10 @@
through the code of yaml tests.
"""
+import openerp
import openerp.netsvc as netsvc
import openerp.tools as tools
import logging
-import openerp.pooler as pooler
from openerp.tools.safe_eval import safe_eval
from subprocess import Popen, PIPE
import os
@@ -123,7 +123,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
context = context.copy() # keep it local
# TODO context fill-up
- pool = pooler.get_pool(cr.dbname)
+ registry = openerp.registry(cr.dbname)
def log_test(msg, *args):
_logger.log(netsvc.logging.TEST, " - " + msg, *args)
@@ -145,7 +145,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
raise ValueError('You cannot only specify action_id "%s" without a module name' % action_id)
act_module = our_module
act_xmlid = action_id
- act_model, act_id = pool.get('ir.model.data').get_object_reference(cr, uid, act_module, act_xmlid)
+ act_model, act_id = registry['ir.model.data'].get_object_reference(cr, uid, act_module, act_xmlid)
else:
assert isinstance(action_id, (long, int))
act_model = 'ir.action.act_window' # assume that
@@ -181,11 +181,11 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
log_test("will emulate a %s view: %s#%s",
action['view_type'], datas['res_model'], view_id or '?')
- view_res = pool.get(datas['res_model']).fields_view_get(cr, uid, view_id, action['view_type'], context)
+ view_res = registry[datas['res_model']].fields_view_get(cr, uid, view_id, action['view_type'], context)
assert view_res and view_res.get('arch'), "Did not return any arch for the view"
view_data = {}
if view_res.get('fields',{}).keys():
- view_data = pool.get(datas['res_model']).default_get(cr, uid, view_res['fields'].keys(), context)
+ view_data = registry[datas['res_model']].default_get(cr, uid, view_res['fields'].keys(), context)
if datas.get('form'):
view_data.update(datas.get('form'))
if wiz_data:
@@ -238,7 +238,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
if not datas['res_id']:
# it is probably an orm_memory object, we need to create
# an instance
- datas['res_id'] = pool.get(datas['res_model']).create(cr, uid, view_data, context)
+ datas['res_id'] = registry[datas['res_model']].create(cr, uid, view_data, context)
if not buttons:
raise AssertionError("view form doesn't have any buttons to press!")
@@ -255,7 +255,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
continue
if b['type'] == 'object':
#there we are! press the button!
- fn = getattr(pool.get(datas['res_model']), b['name'])
+ fn = getattr(registry[datas['res_model']], b['name'])
if not fn:
_logger.error("The %s model doesn't have a %s attribute!", datas['res_model'], b['name'])
continue
@@ -281,7 +281,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
raise Exception("Cannot handle action of type %s" % act_model)
log_test("will be using %s action %s #%d", act_model, act_xmlid, act_id)
- action = pool.get(act_model).read(cr, uid, act_id, context=context)
+ action = registry[act_model].read(cr, uid, act_id, context=context)
assert action, "Could not read action %s[%s]" %(act_model, act_id)
loop = 0
while action:
diff --git a/openerp/tools/translate.py b/openerp/tools/translate.py
index 45688ae76e0..207d2f2992c 100644
--- a/openerp/tools/translate.py
+++ b/openerp/tools/translate.py
@@ -25,7 +25,6 @@ import fnmatch
import inspect
import locale
import os
-import openerp.pooler as pooler
import openerp.sql_db as sql_db
import re
import logging
@@ -43,6 +42,7 @@ import misc
from misc import UpdateableStr
from misc import SKIPPED_ELEMENT_TYPES
import osutil
+import openerp
from openerp import SUPERUSER_ID
_logger = logging.getLogger(__name__)
@@ -208,7 +208,7 @@ class GettextAlias(object):
(cr, dummy) = self._get_cr(frame, allow_create=False)
uid = self._get_uid(frame)
if pool and cr and uid:
- lang = pool.get('res.users').context_get(cr, uid)['lang']
+ lang = pool['res.users'].context_get(cr, uid)['lang']
return lang
def __call__(self, source):
@@ -227,8 +227,8 @@ class GettextAlias(object):
cr, is_new_cr = self._get_cr(frame)
if cr:
# Try to use ir.translation to benefit from global cache if possible
- pool = pooler.get_pool(cr.dbname)
- res = pool.get('ir.translation')._get_source(cr, SUPERUSER_ID, None, ('code','sql_constraint'), lang, source)
+ registry = openerp.registry(cr.dbname)
+ res = registry['ir.translation']._get_source(cr, SUPERUSER_ID, None, ('code','sql_constraint'), lang, source)
else:
_logger.debug('no context cursor detected, skipping translation for "%r"', source)
else:
@@ -611,11 +611,11 @@ def babel_extract_qweb(fileobj, keywords, comment_tags, options):
def trans_generate(lang, modules, cr):
dbname = cr.dbname
- pool = pooler.get_pool(dbname)
- trans_obj = pool.get('ir.translation')
- model_data_obj = pool.get('ir.model.data')
+ registry = openerp.registry(dbname)
+ trans_obj = registry.get('ir.translation')
+ model_data_obj = registry.get('ir.model.data')
uid = 1
- l = pool.models.items()
+ l = registry.models.items()
l.sort()
query = 'SELECT name, model, res_id, module' \
@@ -659,15 +659,15 @@ def trans_generate(lang, modules, cr):
model = encode(model)
xml_name = "%s.%s" % (module, encode(xml_name))
- if not pool.get(model):
+ if not registry.get(model):
_logger.error("Unable to find object %r", model)
continue
- exists = pool.get(model).exists(cr, uid, res_id)
+ exists = registry[model].exists(cr, uid, res_id)
if not exists:
_logger.warning("Unable to find object %r with id %d", model, res_id)
continue
- obj = pool.get(model).browse(cr, uid, res_id)
+ obj = registry[model].browse(cr, uid, res_id)
if model=='ir.ui.view':
d = etree.XML(encode(obj.arch))
@@ -682,7 +682,7 @@ def trans_generate(lang, modules, cr):
except AttributeError, exc:
_logger.error("name error in %s: %s", xml_name, str(exc))
continue
- objmodel = pool.get(obj.model)
+ objmodel = registry[obj.model]
if not objmodel or not field_name in objmodel._columns:
continue
field_def = objmodel._columns[field_name]
@@ -764,7 +764,7 @@ def trans_generate(lang, modules, cr):
push_constraint_msg(module, term_type, model._name, constraint[msg_pos])
for (_, model, module) in cr.fetchall():
- model_obj = pool.get(model)
+ model_obj = registry.get(model)
if not model_obj:
_logger.error("Unable to find object %r", model)
@@ -794,7 +794,7 @@ def trans_generate(lang, modules, cr):
return path.split(os.path.sep)[0]
return 'base' # files that are not in a module are considered as being in 'base' module
- modobj = pool.get('ir.module.module')
+ modobj = registry['ir.module.module']
installed_modids = modobj.search(cr, uid, [('state', '=', 'installed')])
installed_modules = map(lambda m: m['name'], modobj.read(cr, uid, installed_modids, ['name']))
@@ -887,9 +887,9 @@ def trans_load_data(cr, fileobj, fileformat, lang, lang_name=None, verbose=True,
if context is None:
context = {}
db_name = cr.dbname
- pool = pooler.get_pool(db_name)
- lang_obj = pool.get('res.lang')
- trans_obj = pool.get('ir.translation')
+ registry = openerp.registry(db_name)
+ lang_obj = registry.get('res.lang')
+ trans_obj = registry.get('ir.translation')
iso_lang = misc.get_iso_codes(lang)
try:
ids = lang_obj.search(cr, SUPERUSER_ID, [('code','=', lang)])
@@ -1009,11 +1009,10 @@ def load_language(cr, lang):
:param lang: language ISO code with optional _underscore_ and l10n flavor (ex: 'fr', 'fr_BE', but not 'fr-BE')
:type lang: str
"""
- pool = pooler.get_pool(cr.dbname)
- language_installer = pool.get('base.language.install')
- uid = 1
- oid = language_installer.create(cr, uid, {'lang': lang})
- language_installer.lang_install(cr, uid, [oid], context=None)
+ registry = openerp.registry(cr.dbname)
+ language_installer = registry['base.language.install']
+ oid = language_installer.create(cr, SUPERUSER_ID, {'lang': lang})
+ language_installer.lang_install(cr, SUPERUSER_ID, [oid], context=None)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 3172caac1f4..a4be9ad3edc 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -5,7 +5,7 @@ import time # used to eval time.strftime expressions
from datetime import datetime, timedelta
import logging
-import openerp.pooler as pooler
+import openerp
import openerp.sql_db as sql_db
import misc
from config import config
@@ -112,7 +112,7 @@ class YamlInterpreter(object):
self.assertion_report = report
self.noupdate = noupdate
self.loglevel = loglevel
- self.pool = pooler.get_pool(cr.dbname)
+ self.pool = openerp.registry(cr.dbname)
self.uid = 1
self.context = {} # opererp context
self.eval_context = {'ref': self._ref(),
@@ -128,9 +128,7 @@ class YamlInterpreter(object):
return lambda xml_id: self.get_id(xml_id)
def get_model(self, model_name):
- model = self.pool.get(model_name)
- assert model, "The model %s does not exist." % (model_name,)
- return model
+ return self.pool[model_name]
def validate_xml_id(self, xml_id):
id = xml_id
@@ -140,7 +138,7 @@ class YamlInterpreter(object):
"It is used to refer to other modules ID, in the form: module.record_id" \
% (xml_id,)
if module != self.module:
- module_count = self.pool.get('ir.module.module').search_count(self.cr, self.uid, \
+ module_count = self.pool['ir.module.module'].search_count(self.cr, self.uid, \
['&', ('name', '=', module), ('state', 'in', ['installed'])])
assert module_count == 1, 'The ID "%s" refers to an uninstalled module.' % (xml_id,)
if len(id) > 64: # TODO where does 64 come from (DB is 128)? should be a constant or loaded form DB
@@ -162,7 +160,7 @@ class YamlInterpreter(object):
module = self.module
checked_xml_id = xml_id
try:
- _, id = self.pool.get('ir.model.data').get_object_reference(self.cr, self.uid, module, checked_xml_id)
+ _, id = self.pool['ir.model.data'].get_object_reference(self.cr, self.uid, module, checked_xml_id)
self.id_map[xml_id] = id
except ValueError:
raise ValueError("""%s not found when processing %s.
@@ -201,7 +199,7 @@ class YamlInterpreter(object):
ids = [self.get_id(assertion.id)]
elif assertion.search:
q = eval(assertion.search, self.eval_context)
- ids = self.pool.get(assertion.model).search(self.cr, self.uid, q, context=assertion.context)
+ ids = self.pool[assertion.model].search(self.cr, self.uid, q, context=assertion.context)
else:
raise YamlImportException('Nothing to assert: you must give either an id or a search criteria.')
return ids
@@ -290,20 +288,20 @@ class YamlInterpreter(object):
module = self.module
if '.' in view_id:
module, view_id = view_id.split('.',1)
- view_id = self.pool.get('ir.model.data').get_object_reference(self.cr, SUPERUSER_ID, module, view_id)[1]
+ view_id = self.pool['ir.model.data'].get_object_reference(self.cr, SUPERUSER_ID, module, view_id)[1]
if model.is_transient():
record_dict=self.create_osv_memory_record(record, fields)
else:
self.validate_xml_id(record.id)
try:
- self.pool.get('ir.model.data')._get_id(self.cr, SUPERUSER_ID, self.module, record.id)
+ self.pool['ir.model.data']._get_id(self.cr, SUPERUSER_ID, self.module, record.id)
default = False
except ValueError:
default = True
if self.isnoupdate(record) and self.mode != 'init':
- id = self.pool.get('ir.model.data')._update_dummy(self.cr, SUPERUSER_ID, record.model, self.module, record.id)
+ id = self.pool['ir.model.data']._update_dummy(self.cr, SUPERUSER_ID, record.model, self.module, record.id)
# check if the resource already existed at the last update
if id:
self.id_map[record] = int(id)
@@ -324,7 +322,7 @@ class YamlInterpreter(object):
record_dict = self._create_record(model, fields, view_info, default=default)
_logger.debug("RECORD_DICT %s" % record_dict)
- id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, record.model, \
+ id = self.pool['ir.model.data']._update(self.cr, SUPERUSER_ID, record.model, \
self.module, record_dict, record.id, noupdate=self.isnoupdate(record), mode=self.mode, context=context)
self.id_map[record.id] = int(id)
if config.get('import_partial'):
@@ -346,7 +344,7 @@ class YamlInterpreter(object):
one2many_view = fg[field_name]['views'].get(view_type)
# if the view is not defined inline, we call fields_view_get()
if not one2many_view:
- one2many_view = self.pool.get(fg[field_name]['relation']).fields_view_get(self.cr, SUPERUSER_ID, False, view_type, self.context)
+ one2many_view = self.pool[fg[field_name]['relation']].fields_view_get(self.cr, SUPERUSER_ID, False, view_type, self.context)
return one2many_view
def process_val(key, val):
@@ -707,7 +705,7 @@ class YamlInterpreter(object):
self._set_group_values(node, values)
- pid = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, \
+ pid = self.pool['ir.model.data']._update(self.cr, SUPERUSER_ID, \
'ir.ui.menu', self.module, values, node.id, mode=self.mode, \
noupdate=self.isnoupdate(node), res_id=res and res[0] or False)
@@ -718,7 +716,7 @@ class YamlInterpreter(object):
action_type = node.type or 'act_window'
action_id = self.get_id(node.action)
action = "ir.actions.%s,%d" % (action_type, action_id)
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', \
+ self.pool['ir.model.data'].ir_set(self.cr, SUPERUSER_ID, 'action', \
'tree_but_open', 'Menuitem', [('ir.ui.menu', int(parent_id))], action, True, True, xml_id=node.id)
def process_act_window(self, node):
@@ -752,7 +750,7 @@ class YamlInterpreter(object):
if node.target:
values['target'] = node.target
- id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, \
+ id = self.pool['ir.model.data']._update(self.cr, SUPERUSER_ID, \
'ir.actions.act_window', self.module, values, node.id, mode=self.mode)
self.id_map[node.id] = int(id)
@@ -760,7 +758,7 @@ class YamlInterpreter(object):
keyword = 'client_action_relate'
value = 'ir.actions.act_window,%s' % id
replace = node.replace or True
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', keyword, \
+ self.pool['ir.model.data'].ir_set(self.cr, SUPERUSER_ID, 'action', keyword, \
node.id, [node.src_model], value, replace=replace, noupdate=self.isnoupdate(node), isobject=True, xml_id=node.id)
# TODO add remove ir.model.data
@@ -768,11 +766,11 @@ class YamlInterpreter(object):
assert getattr(node, 'model'), "Attribute %s of delete tag is empty !" % ('model',)
if self.pool.get(node.model):
if node.search:
- ids = self.pool.get(node.model).search(self.cr, self.uid, eval(node.search, self.eval_context))
+ ids = self.pool[node.model].search(self.cr, self.uid, eval(node.search, self.eval_context))
else:
ids = [self.get_id(node.id)]
if len(ids):
- self.pool.get(node.model).unlink(self.cr, self.uid, ids)
+ self.pool[node.model].unlink(self.cr, self.uid, ids)
else:
self._log("Record not deleted.")
@@ -781,7 +779,7 @@ class YamlInterpreter(object):
res = {'name': node.name, 'url': node.url, 'target': node.target}
- id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, \
+ id = self.pool['ir.model.data']._update(self.cr, SUPERUSER_ID, \
"ir.actions.act_url", self.module, res, node.id, mode=self.mode)
self.id_map[node.id] = int(id)
# ir_set
@@ -789,7 +787,7 @@ class YamlInterpreter(object):
keyword = node.keyword or 'client_action_multi'
value = 'ir.actions.act_url,%s' % id
replace = node.replace or True
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', \
+ self.pool['ir.model.data'].ir_set(self.cr, SUPERUSER_ID, 'action', \
keyword, node.url, ["ir.actions.act_url"], value, replace=replace, \
noupdate=self.isnoupdate(node), isobject=True, xml_id=node.id)
@@ -804,7 +802,7 @@ class YamlInterpreter(object):
else:
value = expression
res[fieldname] = value
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, res['key'], res['key2'], \
+ self.pool['ir.model.data'].ir_set(self.cr, SUPERUSER_ID, res['key'], res['key2'], \
res['name'], res['models'], res['value'], replace=res.get('replace',True), \
isobject=res.get('isobject', False), meta=res.get('meta',None))
@@ -833,7 +831,7 @@ class YamlInterpreter(object):
self._set_group_values(node, values)
- id = self.pool.get('ir.model.data')._update(self.cr, SUPERUSER_ID, "ir.actions.report.xml", \
+ id = self.pool['ir.model.data']._update(self.cr, SUPERUSER_ID, "ir.actions.report.xml", \
self.module, values, xml_id, noupdate=self.isnoupdate(node), mode=self.mode)
self.id_map[xml_id] = int(id)
@@ -841,7 +839,7 @@ class YamlInterpreter(object):
keyword = node.keyword or 'client_print_multi'
value = 'ir.actions.report.xml,%s' % id
replace = node.replace or True
- self.pool.get('ir.model.data').ir_set(self.cr, SUPERUSER_ID, 'action', \
+ self.pool['ir.model.data'].ir_set(self.cr, SUPERUSER_ID, 'action', \
keyword, values['name'], [values['model']], value, replace=replace, isobject=True, xml_id=xml_id)
def process_none(self):
diff --git a/openerp/workflow/wkf_expr.py b/openerp/workflow/wkf_expr.py
index 8e93a99f038..b43fa83e3de 100644
--- a/openerp/workflow/wkf_expr.py
+++ b/openerp/workflow/wkf_expr.py
@@ -19,7 +19,7 @@
#
##############################################################################
-import openerp.pooler as pooler
+import openerp
from openerp.tools.safe_eval import safe_eval as eval
class Env(dict):
@@ -28,7 +28,7 @@ class Env(dict):
self.uid = uid
self.model = model
self.ids = ids
- self.obj = pooler.get_pool(cr.dbname).get(model)
+ self.obj = openerp.registry(cr.dbname)[model]
self.columns = self.obj._columns.keys() + self.obj._inherit_fields.keys()
def __getitem__(self, key):
@@ -58,7 +58,7 @@ def _eval_expr(cr, ident, workitem, action):
return ret
def execute_action(cr, ident, workitem, activity):
- obj = pooler.get_pool(cr.dbname).get('ir.actions.server')
+ obj = openerp.registry(cr.dbname)['ir.actions.server']
ctx = {'active_model':ident[1], 'active_id':ident[2], 'active_ids':[ident[2]]}
result = obj.run(cr, ident[0], [activity['action_id']], ctx)
return result
@@ -72,8 +72,8 @@ def check(cr, workitem, ident, transition, signal):
uid = ident[0]
if transition['group_id'] and uid != 1:
- pool = pooler.get_pool(cr.dbname)
- user_groups = pool.get('res.users').read(cr, uid, [uid], ['groups_id'])[0]['groups_id']
+ registry = openerp.registry(cr.dbname)
+ user_groups = registry['res.users'].read(cr, uid, [uid], ['groups_id'])[0]['groups_id']
if not transition['group_id'] in user_groups:
return False
From 83f029e8bcbb331ccfee6501db8212360e583e4f Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:38:01 +0100
Subject: [PATCH 40/83] [REF] survey: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327113801-s0060yunvahv1nvb
---
addons/survey/report/survey_analysis_report.py | 8 +++++---
addons/survey/report/survey_browse_response.py | 13 ++++++++-----
addons/survey/report/survey_form.py | 5 +++--
3 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/addons/survey/report/survey_analysis_report.py b/addons/survey/report/survey_analysis_report.py
index b4e7765346c..581f52d49be 100644
--- a/addons/survey/report/survey_analysis_report.py
+++ b/addons/survey/report/survey_analysis_report.py
@@ -22,15 +22,17 @@
import time
-from openerp import pooler, tools
+import openerp
+from openerp import tools
from openerp.report import report_sxw
from openerp.report.interface import report_rml
from openerp.tools import to_xml
class survey_analysis(report_rml):
def create(self, cr, uid, ids, datas, context):
- surv_obj = pooler.get_pool(cr.dbname).get('survey')
- user_obj = pooler.get_pool(cr.dbname).get('res.users')
+ registry = openerp.registry(cr.dbname)
+ surv_obj = registry['survey']
+ user_obj = registry['res.users']
rml_obj=report_sxw.rml_parse(cr, uid, surv_obj._name,context)
company=user_obj.browse(cr,uid,[uid],context)[0].company_id
diff --git a/addons/survey/report/survey_browse_response.py b/addons/survey/report/survey_browse_response.py
index f910140727d..4f2dd8544e0 100644
--- a/addons/survey/report/survey_browse_response.py
+++ b/addons/survey/report/survey_browse_response.py
@@ -22,7 +22,8 @@
import time
-from openerp import pooler, tools
+import openerp
+from openerp import tools
from openerp.report import report_sxw
from openerp.report.interface import report_rml
from openerp.tools import to_xml
@@ -33,6 +34,8 @@ class survey_browse_response(report_rml):
_display_ans_in_rows = 5
_pageSize = ('29.7cm','21.1cm')
+ registry = openerp.registry(cr.dbname)
+
if datas.has_key('form') and datas['form'].get('orientation','') == 'vertical':
if datas['form'].get('paper_size','') == 'letter':
_pageSize = ('21.6cm','27.9cm')
@@ -187,7 +190,7 @@ class survey_browse_response(report_rml):
"""
- surv_resp_obj = pooler.get_pool(cr.dbname).get('survey.response')
+ surv_resp_obj = registry['survey.response']
rml_obj=report_sxw.rml_parse(cr, uid, surv_resp_obj._name,context)
if datas.has_key('form') and datas['form'].has_key('response_ids'):
response_id = datas['form']['response_ids']
@@ -196,8 +199,8 @@ class survey_browse_response(report_rml):
else:
response_id = surv_resp_obj.search(cr, uid, [('survey_id', 'in', ids)])
- surv_resp_line_obj = pooler.get_pool(cr.dbname).get('survey.response.line')
- surv_obj = pooler.get_pool(cr.dbname).get('survey')
+ surv_resp_line_obj = registry['survey.response.line']
+ surv_obj = registry['survey']
for response in surv_resp_obj.browse(cr, uid, response_id):
for survey in surv_obj.browse(cr, uid, [response.survey_id.id]):
@@ -261,7 +264,7 @@ class survey_browse_response(report_rml):
elif que.type in ['table']:
if len(answer) and answer[0].state == "done":
- col_heading = pooler.get_pool(cr.dbname).get('survey.tbl.column.heading')
+ col_heading = registry['survey.tbl.column.heading']
cols_widhts = []
tbl_width = float(_tbl_widths.replace('cm', ''))
for i in range(0, len(que.column_heading_ids)):
diff --git a/addons/survey/report/survey_form.py b/addons/survey/report/survey_form.py
index 8375df6acaf..1868faeee03 100644
--- a/addons/survey/report/survey_form.py
+++ b/addons/survey/report/survey_form.py
@@ -20,7 +20,8 @@
#
##############################################################################
-from openerp import pooler, tools
+import openerp
+from openerp import tools
from openerp.report.interface import report_rml
from openerp.tools import to_xml
@@ -146,7 +147,7 @@ class survey_form(report_rml):
"""
- surv_obj = pooler.get_pool(cr.dbname).get('survey')
+ surv_obj = openerp.registry(cr.dbname)['survey']
for survey in surv_obj.browse(cr,uid,ids):
rml += """
From 5f73b48816100e256a1ebad766ef50c135f2990f Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:41:11 +0100
Subject: [PATCH 41/83] [REF] purchase: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327114111-gxtnb95f59m2k009
---
addons/purchase/purchase.py | 1 -
addons/purchase/report/order.py | 2 --
addons/purchase/report/request_quotation.py | 2 --
addons/purchase/res_config.py | 1 -
addons/purchase/wizard/purchase_order_group.py | 2 --
5 files changed, 8 deletions(-)
diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py
index 23f889b136f..6258a18e399 100644
--- a/addons/purchase/purchase.py
+++ b/addons/purchase/purchase.py
@@ -25,7 +25,6 @@ from dateutil.relativedelta import relativedelta
from operator import attrgetter
from openerp.osv import fields, osv
-from openerp import pooler
from openerp.tools.translate import _
import openerp.addons.decimal_precision as dp
from openerp.osv.orm import browse_record, browse_null
diff --git a/addons/purchase/report/order.py b/addons/purchase/report/order.py
index e415af53434..68d92970aa0 100644
--- a/addons/purchase/report/order.py
+++ b/addons/purchase/report/order.py
@@ -21,8 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp.osv import osv
-from openerp import pooler
class order(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
diff --git a/addons/purchase/report/request_quotation.py b/addons/purchase/report/request_quotation.py
index 1179e704eb0..7be23113584 100644
--- a/addons/purchase/report/request_quotation.py
+++ b/addons/purchase/report/request_quotation.py
@@ -21,8 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp.osv import osv
-from openerp import pooler
class request_quotation(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
diff --git a/addons/purchase/res_config.py b/addons/purchase/res_config.py
index 130247037a4..b773c57adb1 100644
--- a/addons/purchase/res_config.py
+++ b/addons/purchase/res_config.py
@@ -20,7 +20,6 @@
##############################################################################
from openerp.osv import fields, osv
-from openerp import pooler
from openerp.tools.translate import _
class purchase_config_settings(osv.osv_memory):
diff --git a/addons/purchase/wizard/purchase_order_group.py b/addons/purchase/wizard/purchase_order_group.py
index b47f4e608a8..57875bc6acb 100644
--- a/addons/purchase/wizard/purchase_order_group.py
+++ b/addons/purchase/wizard/purchase_order_group.py
@@ -21,8 +21,6 @@
import time
from openerp.osv import fields, osv
-from openerp import netsvc
-from openerp import pooler
from openerp.osv.orm import browse_record, browse_null
from openerp.tools.translate import _
From ac151682668d44dda6f8c7b1abe3050db846abee Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:43:51 +0100
Subject: [PATCH 42/83] [REF] account_payment: rml_parse has already a
self.pool, not need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327114351-0lkfrvg54f1fez8k
---
addons/account_payment/report/payment_order.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/addons/account_payment/report/payment_order.py b/addons/account_payment/report/payment_order.py
index 112476dd080..a851a54ecbb 100644
--- a/addons/account_payment/report/payment_order.py
+++ b/addons/account_payment/report/payment_order.py
@@ -21,7 +21,6 @@
import time
-from openerp import pooler
from openerp.report import report_sxw
class payment_order(report_sxw.rml_parse):
@@ -38,8 +37,7 @@ class payment_order(report_sxw.rml_parse):
def _get_invoice_name(self, invoice_id):
if invoice_id:
- pool = pooler.get_pool(self.cr.dbname)
- value_name = pool.get('account.invoice').name_get(self.cr, self.uid, [invoice_id])
+ value_name = self.pool['account.invoice'].name_get(self.cr, self.uid, [invoice_id])
if value_name:
return value_name[0][1]
return False
@@ -67,8 +65,7 @@ class payment_order(report_sxw.rml_parse):
def _get_account_name(self,bank_id):
if bank_id:
- pool = pooler.get_pool(self.cr.dbname)
- value_name = pool.get('res.partner.bank').name_get(self.cr, self.uid, [bank_id])
+ value_name = self.pool['res.partner.bank'].name_get(self.cr, self.uid, [bank_id])
if value_name:
return value_name[0][1]
return False
From b50a8838b554af06ec9b9c6231131ec954fc66b5 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:46:58 +0100
Subject: [PATCH 43/83] [REF] decimal_precision: removed openerp.pooler
imports.
bzr revid: vmt@openerp.com-20130327114658-6jtn7e41poi4rv2v
---
addons/decimal_precision/decimal_precision.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/addons/decimal_precision/decimal_precision.py b/addons/decimal_precision/decimal_precision.py
index d4d3d29dce0..ab0979291bd 100644
--- a/addons/decimal_precision/decimal_precision.py
+++ b/addons/decimal_precision/decimal_precision.py
@@ -19,8 +19,9 @@
#
##############################################################################
+import openerp
from openerp import SUPERUSER_ID
-from openerp import pooler, tools
+from openerp import tools
from openerp.osv import osv, fields
class decimal_precision(osv.osv):
@@ -57,7 +58,7 @@ class decimal_precision(osv.osv):
res = super(decimal_precision, self).write(cr, uid, ids, data, *args, **argv)
self.precision_get.clear_cache(self)
for obj in self.pool.obj_list():
- for colname, col in self.pool.get(obj)._columns.items():
+ for colname, col in self.pool[obj]._columns.items():
if isinstance(col, (fields.float, fields.function)):
col.digits_change(cr)
return res
@@ -66,7 +67,8 @@ decimal_precision()
def get_precision(application):
def change_digit(cr):
- res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, application)
+ decimal_precision = openerp.registry(cr.dbname)['decimal.precision']
+ res = decimal_precision.precision_get(cr, SUPERUSER_ID, application)
return (16, res)
return change_digit
From 22e6aa6e01f0faa04534358a4359258a60830446 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:49:36 +0100
Subject: [PATCH 44/83] [REF] l10n_br: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327114936-7uat1r5shh7602b9
---
addons/l10n_br/account.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/addons/l10n_br/account.py b/addons/l10n_br/account.py
index 05ad589ab82..1adb6d92baa 100644
--- a/addons/l10n_br/account.py
+++ b/addons/l10n_br/account.py
@@ -17,7 +17,7 @@
#along with this program. If not, see . #
#################################################################################
-from openerp import pooler
+import openerp
from openerp.osv import fields, osv
TAX_CODE_COLUMNS = {
@@ -92,7 +92,8 @@ class account_tax_code(osv.osv):
def get_precision_tax():
def change_digit_tax(cr):
- res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, 1, 'Account')
+ decimal_precision = openerp.registry(cr.dbname)['decimal.precision']
+ res = decimal_precision.precision_get(cr, 1, 'Account')
return (16, res+2)
return change_digit_tax
From 3659a34d27e6cc6f5b3f05ffed1d9fce709db4db Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:53:41 +0100
Subject: [PATCH 45/83] [REF] account_budget: rml_parse has already a
self.pool, not need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327115341-07bkov0qt817rpd9
---
.../report/analytic_account_budget_report.py | 1 -
.../report/crossovered_budget_report.py | 1 -
.../report/account_followup_print.py | 15 ++++++---------
3 files changed, 6 insertions(+), 11 deletions(-)
diff --git a/addons/account_budget/report/analytic_account_budget_report.py b/addons/account_budget/report/analytic_account_budget_report.py
index eed8ded213f..6701fc06a2b 100644
--- a/addons/account_budget/report/analytic_account_budget_report.py
+++ b/addons/account_budget/report/analytic_account_budget_report.py
@@ -22,7 +22,6 @@
import time
import datetime
-from openerp import pooler
from openerp.report import report_sxw
class analytic_account_budget_report(report_sxw.rml_parse):
diff --git a/addons/account_budget/report/crossovered_budget_report.py b/addons/account_budget/report/crossovered_budget_report.py
index 4a3b632a8de..70cbdecb713 100644
--- a/addons/account_budget/report/crossovered_budget_report.py
+++ b/addons/account_budget/report/crossovered_budget_report.py
@@ -22,7 +22,6 @@
import time
import datetime
-from openerp import pooler
from openerp.report import report_sxw
import operator
from openerp import osv
diff --git a/addons/account_followup/report/account_followup_print.py b/addons/account_followup/report/account_followup_print.py
index 16d88d69572..eecba81acb9 100644
--- a/addons/account_followup/report/account_followup_print.py
+++ b/addons/account_followup/report/account_followup_print.py
@@ -22,7 +22,6 @@
import time
from collections import defaultdict
-from openerp import pooler
from openerp.report import report_sxw
class report_rappel(report_sxw.rml_parse):
@@ -38,9 +37,8 @@ class report_rappel(report_sxw.rml_parse):
})
def _ids_to_objects(self, ids):
- pool = pooler.get_pool(self.cr.dbname)
all_lines = []
- for line in pool.get('account_followup.stat.by.partner').browse(self.cr, self.uid, ids):
+ for line in self.pool['account_followup.stat.by.partner'].browse(self.cr, self.uid, ids):
if line not in all_lines:
all_lines.append(line)
return all_lines
@@ -49,8 +47,7 @@ class report_rappel(report_sxw.rml_parse):
return self._lines_get_with_partner(stat_by_partner_line.partner_id, stat_by_partner_line.company_id.id)
def _lines_get_with_partner(self, partner, company_id):
- pool = pooler.get_pool(self.cr.dbname)
- moveline_obj = pool.get('account.move.line')
+ moveline_obj = self.pool['account.move.line']
moveline_ids = moveline_obj.search(self.cr, self.uid, [
('partner_id', '=', partner.id),
('account_id.type', '=', 'receivable'),
@@ -80,7 +77,7 @@ class report_rappel(report_sxw.rml_parse):
if context is None:
context = {}
context.update({'lang': stat_line.partner_id.lang})
- fp_obj = pooler.get_pool(self.cr.dbname).get('account_followup.followup')
+ fp_obj = self.pool['account_followup.followup']
fp_line = fp_obj.browse(self.cr, self.uid, followup_id, context=context).followup_line
if not fp_line:
raise osv.except_osv(_('Error!'),_("The followup plan defined for the current company does not have any followup action."))
@@ -94,10 +91,10 @@ class report_rappel(report_sxw.rml_parse):
li_delay.sort(reverse=True)
a = {}
#look into the lines of the partner that already have a followup level, and take the description of the higher level for which it is available
- partner_line_ids = pooler.get_pool(self.cr.dbname).get('account.move.line').search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False),('state','!=','draft'),('debit','!=',False),('account_id.type','=','receivable'),('followup_line_id','!=',False)])
+ partner_line_ids = self.pool['account.move.line'].search(self.cr, self.uid, [('partner_id','=',stat_line.partner_id.id),('reconcile_id','=',False),('company_id','=',stat_line.company_id.id),('blocked','=',False),('state','!=','draft'),('debit','!=',False),('account_id.type','=','receivable'),('followup_line_id','!=',False)])
partner_max_delay = 0
partner_max_text = ''
- for i in pooler.get_pool(self.cr.dbname).get('account.move.line').browse(self.cr, self.uid, partner_line_ids, context=context):
+ for i in self.pool['account.move.line'].browse(self.cr, self.uid, partner_line_ids, context=context):
if i.followup_line_id.delay > partner_max_delay and i.followup_line_id.description:
partner_max_delay = i.followup_line_id.delay
partner_max_text = i.followup_line_id.description
@@ -107,7 +104,7 @@ class report_rappel(report_sxw.rml_parse):
'partner_name': stat_line.partner_id.name,
'date': time.strftime('%Y-%m-%d'),
'company_name': stat_line.company_id.name,
- 'user_signature': pooler.get_pool(self.cr.dbname).get('res.users').browse(self.cr, self.uid, self.uid, context).signature or '',
+ 'user_signature': self.pool['res.users'].browse(self.cr, self.uid, self.uid, context).signature or '',
}
return text
From 4acfd6ae8269e9a4c12e7cb2d640141deadf472c Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:57:33 +0100
Subject: [PATCH 46/83] [REF] auth_ldap: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327115733-0hsqtwasjgcnu28x
---
addons/auth_ldap/users_ldap.py | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/addons/auth_ldap/users_ldap.py b/addons/auth_ldap/users_ldap.py
index a63d52209ba..e8778449da5 100644
--- a/addons/auth_ldap/users_ldap.py
+++ b/addons/auth_ldap/users_ldap.py
@@ -23,7 +23,6 @@ import logging
from ldap.filter import filter_format
import openerp.exceptions
-from openerp import pooler
from openerp import tools
from openerp.osv import fields, osv
from openerp import SUPERUSER_ID
@@ -188,7 +187,7 @@ class CompanyLDAP(osv.osv):
user_id = res[0]
elif conf['create_user']:
_logger.debug("Creating new OpenERP user \"%s\" from LDAP" % login)
- user_obj = self.pool.get('res.users')
+ user_obj = self.pool['res.users']
values = self.map_ldap_attributes(cr, uid, conf, login, ldap_entry)
if conf['user']:
user_id = user_obj.copy(cr, SUPERUSER_ID, conf['user'],
@@ -246,8 +245,8 @@ class users(osv.osv):
user_id = super(users, self).login(db, login, password)
if user_id:
return user_id
- cr = pooler.get_db(db).cursor()
- ldap_obj = pooler.get_pool(db).get('res.company.ldap')
+ cr = self.pool.db.cursor()
+ ldap_obj = self.pool['res.company.ldap']
for conf in ldap_obj.get_ldap_dicts(cr):
entry = ldap_obj.authenticate(conf, login, password)
if entry:
@@ -269,12 +268,12 @@ class users(osv.osv):
except openerp.exceptions.AccessDenied:
pass
- cr = pooler.get_db(db).cursor()
+ cr = self.pool.db.cursor()
cr.execute('SELECT login FROM res_users WHERE id=%s AND active=TRUE',
(int(uid),))
res = cr.fetchone()
if res:
- ldap_obj = pooler.get_pool(db).get('res.company.ldap')
+ ldap_obj = self.pool['res.company.ldap']
for conf in ldap_obj.get_ldap_dicts(cr):
if ldap_obj.authenticate(conf, res[0], passwd):
self._uid_cache.setdefault(db, {})[uid] = passwd
From efaf71410f154fc7938c12f03d05558984f4242e Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 12:58:58 +0100
Subject: [PATCH 47/83] [REF] account_bank_statement_extensions: removed
openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327115858-5flk5ruq4hv130xb
---
.../report/bank_statement_balance_report.py | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
index 9f28b083603..59b8efb23e1 100644
--- a/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
+++ b/addons/account_bank_statement_extensions/report/bank_statement_balance_report.py
@@ -21,15 +21,12 @@
##############################################################################
import time
+
from openerp.report import report_sxw
-from openerp import pooler
-import logging
-_logger = logging.getLogger(__name__)
class bank_statement_balance_report(report_sxw.rml_parse):
def set_context(self, objects, data, ids, report_type=None):
- #_logger.warning('addons.'+__name__, 'set_context, objects = %s, data = %s, ids = %s' % (objects, data, ids))
cr = self.cr
uid = self.uid
context = self.context
From 50cc21dd6ccd71f064e2e6e40a3646926e4826a2 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:05:24 +0100
Subject: [PATCH 48/83] [REF] process: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327120524-rybutvxe2mfh0pok
---
addons/process/process.py | 46 ++++++++++++++++++---------------------
1 file changed, 21 insertions(+), 25 deletions(-)
diff --git a/addons/process/process.py b/addons/process/process.py
index 30b37a8b0e2..30a1865af4b 100644
--- a/addons/process/process.py
+++ b/addons/process/process.py
@@ -19,7 +19,6 @@
#
##############################################################################
-from openerp import pooler
from openerp import tools
from openerp.osv import fields, osv
@@ -53,24 +52,23 @@ class process_process(osv.osv):
}
def search_by_model(self, cr, uid, res_model, context=None):
- pool = pooler.get_pool(cr.dbname)
- model_ids = (res_model or None) and pool.get('ir.model').search(cr, uid, [('model', '=', res_model)])
+ model_ids = (res_model or None) and self.pool['ir.model'].search(cr, uid, [('model', '=', res_model)])
domain = (model_ids or []) and [('model_id', 'in', model_ids)]
result = []
# search all processes
- res = pool.get('process.process').search(cr, uid, domain)
+ res = self.pool['process.process'].search(cr, uid, domain)
if res:
- res = pool.get('process.process').browse(cr, uid, res, context=context)
+ res = self.pool['process.process'].browse(cr, uid, res, context=context)
for process in res:
result.append((process.id, process.name))
return result
# else search process nodes
- res = pool.get('process.node').search(cr, uid, domain)
+ res = self.pool['process.node'].search(cr, uid, domain)
if res:
- res = pool.get('process.node').browse(cr, uid, res, context=context)
+ res = self.pool['process.node'].browse(cr, uid, res, context=context)
for node in res:
if (node.process_id.id, node.process_id.name) not in result:
result.append((node.process_id.id, node.process_id.name))
@@ -79,9 +77,8 @@ class process_process(osv.osv):
def graph_get(self, cr, uid, id, res_model, res_id, scale, context=None):
- pool = pooler.get_pool(cr.dbname)
- process = pool.get('process.process').browse(cr, uid, id, context=context)
+ process = self.pool['process.process'].browse(cr, uid, id, context=context)
name = process.name
resource = False
@@ -92,16 +89,16 @@ class process_process(osv.osv):
perm = False
if res_model:
- states = dict(pool.get(res_model).fields_get(cr, uid, context=context).get('state', {}).get('selection', {}))
+ states = dict(self.pool[res_model].fields_get(cr, uid, context=context).get('state', {}).get('selection', {}))
if res_id:
- current_object = pool.get(res_model).browse(cr, uid, res_id, context=context)
- current_user = pool.get('res.users').browse(cr, uid, uid, context=context)
+ current_object = self.pool[res_model].browse(cr, uid, res_id, context=context)
+ current_user = self.pool['res.users'].browse(cr, uid, uid, context=context)
expr_context = Env(current_object, current_user)
resource = current_object.name
if 'state' in current_object:
state = states.get(current_object.state, 'N/A')
- perm = pool.get(res_model).perm_read(cr, uid, [res_id], context=context)[0]
+ perm = self.pool[res_model].perm_read(cr, uid, [res_id], context=context)[0]
notes = process.note or "N/A"
nodes = {}
@@ -122,12 +119,12 @@ class process_process(osv.osv):
# get assosiated workflow
if data['model']:
- wkf_ids = self.pool.get('workflow').search(cr, uid, [('osv', '=', data['model'])])
+ wkf_ids = self.pool['workflow'].search(cr, uid, [('osv', '=', data['model'])])
data['workflow'] = (wkf_ids or False) and wkf_ids[0]
if 'directory_id' in node and node.directory_id:
data['directory_id'] = node.directory_id.id
- data['directory'] = self.pool.get('document.directory').get_resource_path(cr, uid, data['directory_id'], data['model'], False)
+ data['directory'] = self.pool['document.directory'].get_resource_path(cr, uid, data['directory_id'], data['model'], False)
if node.menu_id:
data['menu'] = {'name': node.menu_id.complete_name, 'id': node.menu_id.id}
@@ -189,15 +186,15 @@ class process_process(osv.osv):
nodes[nid]['res'] = resource = {'id': ref_id, 'model': ref_model}
- refobj = pool.get(ref_model).browse(cr, uid, ref_id, context=context)
- fields = pool.get(ref_model).fields_get(cr, uid, context=context)
+ refobj = self.pool[ref_model].browse(cr, uid, ref_id, context=context)
+ fields = self.pool[ref_model].fields_get(cr, uid, context=context)
# check for directory_id from inherited from document module
if nodes[nid].get('directory_id', False):
- resource['directory'] = self.pool.get('document.directory').get_resource_path(cr, uid, nodes[nid]['directory_id'], ref_model, ref_id)
+ resource['directory'] = self.pool['document.directory'].get_resource_path(cr, uid, nodes[nid]['directory_id'], ref_model, ref_id)
- resource['name'] = pool.get(ref_model).name_get(cr, uid, [ref_id], context=context)[0][1]
- resource['perm'] = pool.get(ref_model).perm_read(cr, uid, [ref_id], context=context)[0]
+ resource['name'] = self.pool[ref_model].name_get(cr, uid, [ref_id], context=context)[0][1]
+ resource['perm'] = self.pool[ref_model].perm_read(cr, uid, [ref_id], context=context)[0]
ref_expr_context = Env(refobj, current_user)
try:
@@ -261,8 +258,7 @@ class process_process(osv.osv):
if not default:
default = {}
- pool = pooler.get_pool(cr.dbname)
- process = pool.get('process.process').browse(cr, uid, id, context=context)
+ process = self.pool['process.process'].browse(cr, uid, id, context=context)
nodes = {}
transitions = {}
@@ -275,7 +271,7 @@ class process_process(osv.osv):
for t in node.transition_out:
tr = transitions.setdefault(t.id, {})
tr['source'] = node.id
- nodes[node.id] = pool.get('process.node').copy(cr, uid, node.id, context=context)
+ nodes[node.id] = self.pool['process.node'].copy(cr, uid, node.id, context=context)
# then copy transitions with new nodes
for tid, tr in transitions.items():
@@ -283,7 +279,7 @@ class process_process(osv.osv):
'source_node_id': nodes[tr['source']],
'target_node_id': nodes[tr['target']]
}
- tr = pool.get('process.transition').copy(cr, uid, tid, default=vals, context=context)
+ tr = self.pool['process.transition'].copy(cr, uid, tid, default=vals, context=context)
# and finally copy the process itself with new nodes
default.update({
@@ -379,7 +375,7 @@ class process_transition_action(osv.osv):
if not default:
default = {}
- state = self.pool.get('process.transition.action').browse(cr, uid, id, context=context).state
+ state = self.pool['process.transition.action'].browse(cr, uid, id, context=context).state
if state:
default['state'] = state
From 741499a6c9f76fe4a26ec1ccc1eaad33ac50dfe0 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:06:53 +0100
Subject: [PATCH 49/83] [REF] l10n_lu: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327120653-wzt1fsmewpfcktme
---
addons/l10n_lu/wizard/print_vat.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/addons/l10n_lu/wizard/print_vat.py b/addons/l10n_lu/wizard/print_vat.py
index 9e1190cfae5..abd5c7ce298 100644
--- a/addons/l10n_lu/wizard/print_vat.py
+++ b/addons/l10n_lu/wizard/print_vat.py
@@ -5,8 +5,9 @@
#Tranquil IT Systems
from __future__ import with_statement
+
+import openerp
from openerp.osv import fields, osv
-from openerp import pooler
from openerp import tools
from openerp.tools.translate import _
from openerp.report.render import render
@@ -30,8 +31,8 @@ class report_custom(report_int):
def create(self, cr, uid, ids, datas, context=None):
- pool = pooler.get_pool(cr.dbname)
- taxobj = pool.get('account.tax.code')
+ registry = openerp.registry(cr.dbname)
+ taxobj = registry['account.tax.code']
if context is None:
context = {}
@@ -40,7 +41,7 @@ class report_custom(report_int):
for t in taxobj.browse(cr, uid, code_ids, {'period_id': datas['form']['period_id']}):
if str(t.code):
result['case_'+str(t.code)] = '%.2f' % (t.sum_period or 0.0, )
- user = pool.get('res.users').browse(cr, uid, uid, context)
+ user = registry['res.users'].browse(cr, uid, uid, context)
# Not Clean, to be changed
partner = user.company_id.partner_id
From 06fea686f63e2c03a0e4c7d08d39dfdcb962b356 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:10:06 +0100
Subject: [PATCH 50/83] [REF] audittrail: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327121006-bbmdzb892s4c2n7t
---
addons/audittrail/audittrail.py | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py
index 0debdf11492..811c5387697 100644
--- a/addons/audittrail/audittrail.py
+++ b/addons/audittrail/audittrail.py
@@ -19,10 +19,10 @@
#
##############################################################################
+import openerp
from openerp.osv import fields, osv
import openerp.service.model
from openerp.tools.translate import _
-from openerp import pooler
import time
from openerp import tools
from openerp import SUPERUSER_ID
@@ -113,7 +113,6 @@ class audittrail_rule(osv.osv):
value = "ir.actions.act_window" + ',' + str(w_id[0])
val_id = ir_values_obj.search(cr, uid, [('model', '=', thisrule.object_id.model), ('value', '=', value)])
if val_id:
- ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values')
res = ir_values_obj.unlink(cr, uid, [val_id[0]])
self.write(cr, uid, [thisrule.id], {"state": "draft"})
#End Loop
@@ -212,7 +211,7 @@ def create_log_line(cr, uid, log_id, model, lines=None):
"""
if lines is None:
lines = []
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
obj_pool = pool.get(model.model)
model_pool = pool.get('ir.model')
field_pool = pool.get('ir.model.fields')
@@ -251,7 +250,7 @@ def log_fct(cr, uid_orig, model, method, fct_src, *args, **kw):
@return: Returns result as per method of Object proxy
"""
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
resource_pool = pool.get(model)
model_pool = pool.get('ir.model')
model_ids = model_pool.search(cr, SUPERUSER_ID, [('model', '=', model)])
@@ -492,7 +491,7 @@ def check_rules(cr, uid, model, method):
@param method: method to log: create, read, unlink,write,actions,workflow actions
@return: True or False
"""
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
if 'audittrail.rule' in pool.models:
model_ids = pool.get('ir.model').search(cr, SUPERUSER_ID, [('model', '=', model)])
model_id = model_ids and model_ids[0] or False
From e331f16b1b8cb0fd85bf08a0cec61abfc4687f48 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:10:34 +0100
Subject: [PATCH 51/83] [REF] base_setup: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327121034-ghjcbdv2ddj9phs7
---
addons/base_setup/base_setup.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/base_setup/base_setup.py b/addons/base_setup/base_setup.py
index 3e7c1d1f846..ac4ce5b55b6 100644
--- a/addons/base_setup/base_setup.py
+++ b/addons/base_setup/base_setup.py
@@ -21,7 +21,6 @@
import simplejson
import cgi
-from openerp import pooler
from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
From f507ca0982e0b523e9fe2fa8001e7def17ccac21 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:14:21 +0100
Subject: [PATCH 52/83] [REF] hr_holidays: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327121421-exjyfvx11e1j9n2t
---
.../report/holidays_summary_report.py | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/addons/hr_holidays/report/holidays_summary_report.py b/addons/hr_holidays/report/holidays_summary_report.py
index f60d7a3ee1c..d39ae53d5b6 100644
--- a/addons/hr_holidays/report/holidays_summary_report.py
+++ b/addons/hr_holidays/report/holidays_summary_report.py
@@ -22,12 +22,11 @@
import datetime
import time
+import openerp
from openerp.osv import fields, osv
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
-from openerp import pooler
-import time
from openerp.report import report_sxw
from openerp.tools import ustr
from openerp.tools.translate import _
@@ -50,8 +49,9 @@ def emp_create_xml(self, cr, uid, dept, holiday_type, row_id, empid, name, som,
display={}
if dept==0:
count=0
- p_id=pooler.get_pool(cr.dbname).get('hr.holidays').search(cr, uid, [('employee_id','in',[empid,False]), ('type', '=', 'remove')])
- ids_date = pooler.get_pool(cr.dbname).get('hr.holidays').read(cr, uid, p_id, ['date_from','date_to','holiday_status_id','state'])
+ registry = openerp.registry(cr.dbname)
+ p_id = registry['hr.holidays'].search(cr, uid, [('employee_id','in',[empid,False]), ('type', '=', 'remove')])
+ ids_date = registry['hr.holidays'].read(cr, uid, p_id, ['date_from','date_to','holiday_status_id','state'])
for index in range(1,61):
diff=index-1
@@ -85,12 +85,12 @@ def emp_create_xml(self, cr, uid, dept, holiday_type, row_id, empid, name, som,
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, data, context):
- obj_dept = pooler.get_pool(cr.dbname).get('hr.department')
- obj_emp = pooler.get_pool(cr.dbname).get('hr.employee')
+ registry = openerp.registry(cr.dbname)
+ obj_dept = registry['hr.department']
+ obj_emp = registry['hr.employee']
depts=[]
emp_id={}
-# done={}
- rpt_obj = pooler.get_pool(cr.dbname).get('hr.holidays')
+ rpt_obj = registry['hr.holidays']
rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
cr.execute("SELECT name FROM res_company")
res=cr.fetchone()[0]
@@ -242,7 +242,7 @@ class report_custom(report_rml):
%s
%s
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name))
+ ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,uid).company_id.name))
# Computing the xml
xml='''
From 6e1cb2211088f702e173f499c7bd204da9f4062d Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:21:44 +0100
Subject: [PATCH 53/83] [REF] report_webkit: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327122144-gqg0ez63g7ksoqaw
---
addons/report_webkit/report_helper.py | 4 ++--
addons/report_webkit/webkit_report.py | 18 ++++++++----------
.../wizard/report_webkit_actions.py | 11 +++++------
3 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/addons/report_webkit/report_helper.py b/addons/report_webkit/report_helper.py
index bc2eb9397ec..af9408b834e 100644
--- a/addons/report_webkit/report_helper.py
+++ b/addons/report_webkit/report_helper.py
@@ -29,7 +29,7 @@
#
##############################################################################
-from openerp import pooler
+import openerp
class WebKitHelper(object):
"""Set of usefull report helper"""
@@ -37,7 +37,7 @@ class WebKitHelper(object):
"constructor"
self.cursor = cursor
self.uid = uid
- self.pool = pooler.get_pool(self.cursor.dbname)
+ self.pool = openerp.registry(self.cursor.dbname)
self.report_id = report_id
self.context = context
diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py
index f4f65e56596..65ce0b7f707 100644
--- a/addons/report_webkit/webkit_report.py
+++ b/addons/report_webkit/webkit_report.py
@@ -39,7 +39,6 @@ import time
import logging
from openerp import netsvc
-from openerp import pooler
from report_helper import WebKitHelper
from openerp.report.report_sxw import *
from openerp import addons
@@ -126,7 +125,7 @@ class WebKitParser(report_sxw):
def get_lib(self, cursor, uid):
"""Return the lib wkhtml path"""
- proxy = self.pool.get('ir.config_parameter')
+ proxy = self.pool['ir.config_parameter']
webkit_path = proxy.get_param(cursor, uid, 'webkit_path')
if not webkit_path:
@@ -242,7 +241,7 @@ class WebKitParser(report_sxw):
def translate_call(self, src):
"""Translate String."""
- ir_translation = self.pool.get('ir.translation')
+ ir_translation = self.pool['ir.translation']
res = ir_translation._get_source(self.parser_instance.cr, self.parser_instance.uid,
None, 'report', self.parser_instance.localcontext.get('lang', 'en_US'), src)
if not res :
@@ -255,13 +254,12 @@ class WebKitParser(report_sxw):
# just try to find an xml id for the report
cr = cursor
- import openerp.pooler as pooler
- pool = pooler.get_pool(cr.dbname)
- found_xml_ids = pool.get("ir.model.data").search(cr, uid, [["model", "=", "ir.actions.report.xml"], \
+ pool = openerp.registry(cr.dbname)
+ found_xml_ids = pool["ir.model.data"].search(cr, uid, [["model", "=", "ir.actions.report.xml"], \
["res_id", "=", report_xml.id]], context=context)
xml_id = None
if found_xml_ids:
- xml_id = pool.get("ir.model.data").read(cr, uid, found_xml_ids[0], ["module", "name"])
+ xml_id = pool["ir.model.data"].read(cr, uid, found_xml_ids[0], ["module", "name"])
xml_id = "%s.%s" % (xml_id["module"], xml_id["name"])
if context is None:
@@ -275,7 +273,7 @@ class WebKitParser(report_sxw):
self.name2,
context=context)
- self.pool = pooler.get_pool(cursor.dbname)
+ self.pool = pool
objs = self.getObjects(cursor, uid, ids, context)
self.parser_instance.set_context(objs, data, ids, report_xml.report_type)
@@ -367,8 +365,8 @@ class WebKitParser(report_sxw):
def create(self, cursor, uid, ids, data, context=None):
"""We override the create function in order to handle generator
Code taken from report openoffice. Thanks guys :) """
- pool = pooler.get_pool(cursor.dbname)
- ir_obj = pool.get('ir.actions.report.xml')
+ pool = openerp.registry(cursor.dbname)
+ ir_obj = pool['ir.actions.report.xml']
report_xml_ids = ir_obj.search(cursor, uid,
[('report_name', '=', self.name[7:])], context=context)
if report_xml_ids:
diff --git a/addons/report_webkit/wizard/report_webkit_actions.py b/addons/report_webkit/wizard/report_webkit_actions.py
index b0e761752f6..4080d0a4034 100644
--- a/addons/report_webkit/wizard/report_webkit_actions.py
+++ b/addons/report_webkit/wizard/report_webkit_actions.py
@@ -31,7 +31,6 @@
from openerp.tools.translate import _
from openerp.osv import fields, osv
-from openerp import pooler
class report_webkit_actions(osv.osv_memory):
_name = "report.webkit.actions"
@@ -61,13 +60,13 @@ class report_webkit_actions(osv.osv_memory):
if not record_id or (active_model and active_model != 'ir.actions.report.xml'):
return res
- report = self.pool.get('ir.actions.report.xml').browse(
+ report = self.pool['ir.actions.report.xml'].browse(
cr,
uid,
context.get('active_id'),
context=context
)
- ir_values_obj = self.pool.get('ir.values')
+ ir_values_obj = self.pool['ir.values']
ids = ir_values_obj.search(
cr,
uid,
@@ -93,7 +92,7 @@ class report_webkit_actions(osv.osv_memory):
"""
if context is None:
context = {}
- report_obj = self.pool.get('ir.actions.report.xml')
+ report_obj = self.pool['ir.actions.report.xml']
for current in self.browse(cr, uid, ids, context=context):
report = report_obj.browse(
cr,
@@ -102,7 +101,7 @@ class report_webkit_actions(osv.osv_memory):
context=context
)
if current.print_button:
- ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values')
+ ir_values_obj = self.pool['ir.values']
res = ir_values_obj.set(
cr,
uid,
@@ -114,7 +113,7 @@ class report_webkit_actions(osv.osv_memory):
isobject=True
)
else:
- ir_values_obj = pooler.get_pool(cr.dbname).get('ir.values')
+ ir_values_obj = self.pool['ir.values']
res = ir_values_obj.set(
cr,
uid,
From 978f52ba4144de9b6cb8b5ee3525939645a7861c Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:26:28 +0100
Subject: [PATCH 54/83] [REF] stock: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327122628-yuykjgoyrep91fmg
---
addons/stock/report/lot_overview.py | 3 +--
addons/stock/report/lot_overview_all.py | 3 +--
addons/stock/report/picking.py | 1 -
addons/stock/report/product_stock.py | 13 +++++++------
addons/stock/report/stock_by_location.py | 11 ++++++-----
5 files changed, 15 insertions(+), 16 deletions(-)
diff --git a/addons/stock/report/lot_overview.py b/addons/stock/report/lot_overview.py
index 9d6626bbd14..c8e80ac54b9 100644
--- a/addons/stock/report/lot_overview.py
+++ b/addons/stock/report/lot_overview.py
@@ -18,7 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-from openerp import pooler
import time
from openerp.report import report_sxw
@@ -35,7 +34,7 @@ class lot_overview(report_sxw.rml_parse):
})
def process(self, location_id):
- location_obj = pooler.get_pool(self.cr.dbname).get('stock.location')
+ location_obj = self.pool['stock.location']
data = location_obj._product_get_report(self.cr,self.uid, [location_id])
data['location_name'] = location_obj.read(self.cr, self.uid, [location_id],['complete_name'])[0]['complete_name']
diff --git a/addons/stock/report/lot_overview_all.py b/addons/stock/report/lot_overview_all.py
index ca6611de89b..aba97fa6e1e 100644
--- a/addons/stock/report/lot_overview_all.py
+++ b/addons/stock/report/lot_overview_all.py
@@ -18,7 +18,6 @@
# along with this program. If not, see .
#
##############################################################################
-from openerp import pooler
import time
from openerp.report import report_sxw
@@ -35,7 +34,7 @@ class lot_overview_all(report_sxw.rml_parse):
})
def process(self, location_id):
- location_obj = pooler.get_pool(self.cr.dbname).get('stock.location')
+ location_obj = self.pool['stock.location']
data = location_obj._product_get_all_report(self.cr,self.uid, [location_id])
data['location_name'] = location_obj.read(self.cr, self.uid, [location_id],['complete_name'])[0]['complete_name']
self.price_total = 0.0
diff --git a/addons/stock/report/picking.py b/addons/stock/report/picking.py
index a33ec28cb35..512d124ee0c 100644
--- a/addons/stock/report/picking.py
+++ b/addons/stock/report/picking.py
@@ -22,7 +22,6 @@
import time
from openerp.report import report_sxw
from openerp.osv import osv
-from openerp import pooler
class picking(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
diff --git a/addons/stock/report/product_stock.py b/addons/stock/report/product_stock.py
index 9ccda54b693..0315c44281b 100644
--- a/addons/stock/report/product_stock.py
+++ b/addons/stock/report/product_stock.py
@@ -22,13 +22,13 @@
from datetime import datetime
from dateutil.relativedelta import relativedelta
+import openerp
from openerp import osv
import time
from openerp.report.interface import report_int
from openerp.report.render import render
import stock_graph
-from openerp import pooler
import StringIO
class external_pdf(render):
@@ -45,24 +45,25 @@ class report_stock(report_int):
def create(self, cr, uid, ids, datas, context=None):
if context is None:
context = {}
+ registry = openerp.registry(cr.dbname)
product_ids = ids
if 'location_id' in context:
location_id = context['location_id']
else:
- warehouse_id = pooler.get_pool(cr.dbname).get('stock.warehouse').search(cr, uid, [])[0]
- location_id = pooler.get_pool(cr.dbname).get('stock.warehouse').browse(cr, uid, warehouse_id).lot_stock_id.id
+ warehouse_id = registry['stock.warehouse'].search(cr, uid, [])[0]
+ location_id = registry['stock.warehouse'].browse(cr, uid, warehouse_id).lot_stock_id.id
- loc_ids = pooler.get_pool(cr.dbname).get('stock.location').search(cr, uid, [('location_id','child_of',[location_id])])
+ loc_ids = registry['stock.location'].search(cr, uid, [('location_id','child_of',[location_id])])
now = time.strftime('%Y-%m-%d')
dt_from = now
dt_to = now
- names = dict(pooler.get_pool(cr.dbname).get('product.product').name_get(cr, uid, product_ids))
+ names = dict(registry['product.product'].name_get(cr, uid, product_ids))
for name in names:
names[name] = names[name].encode('utf8')
products = {}
- prods = pooler.get_pool(cr.dbname).get('stock.location')._product_all_get(cr, uid, location_id, product_ids)
+ prods = registry['stock.location']._product_all_get(cr, uid, location_id, product_ids)
for p in prods:
products[p] = [(now,prods[p])]
diff --git a/addons/stock/report/stock_by_location.py b/addons/stock/report/stock_by_location.py
index 7ca209c9ed2..153b92f077c 100644
--- a/addons/stock/report/stock_by_location.py
+++ b/addons/stock/report/stock_by_location.py
@@ -19,7 +19,7 @@
#
##############################################################################
-from openerp import pooler
+import openerp
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
@@ -47,16 +47,17 @@ class report_custom(report_rml):
"""
def process(location_id, level):
+ registry = openerp.registry(cr.dbname)
xml = ''
- location_name = pooler.get_pool(cr.dbname).get('stock.location').read(cr, uid, [location_id], ['name'])
+ location_name = registry['stock.location'].read(cr, uid, [location_id], ['name'])
xml += ""
xml += location_name[0]['name'] + ''
- prod_info = pooler.get_pool(cr.dbname).get('stock.location')._product_get(cr, uid, location_id)
+ prod_info = registry['stock.location']._product_get(cr, uid, location_id)
xml += ""
for prod_id in prod_info.keys():
if prod_info[prod_id] != 0.0:
- prod_name = pooler.get_pool(cr.dbname).get('product.product').read(cr, uid, [prod_id], ['name'])
+ prod_name = registry['product.product'].read(cr, uid, [prod_id], ['name'])
xml += prod_name[0]['name'] + '\n'
xml += ''
@@ -66,7 +67,7 @@ class report_custom(report_rml):
xml += str(prod_info[prod_id]) + '\n'
xml += '
'
- location_child = pooler.get_pool(cr.dbname).get('stock.location').read(cr, uid, [location_id], ['child_ids'])
+ location_child = registry['stock.location'].read(cr, uid, [location_id], ['child_ids'])
for child_id in location_child[0]['child_ids']:
xml += process(child_id, level+1)
return xml
From 5849feb6bf3f8d317deb9d4744eac067f52457e2 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:31:03 +0100
Subject: [PATCH 55/83] [REF] document_ftp: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327123103-qjssc3lhual2lbn6
---
addons/document_ftp/ftpserver/abstracted_fs.py | 9 +++++----
addons/document_ftp/ftpserver/authorizer.py | 1 -
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/document_ftp/ftpserver/abstracted_fs.py b/addons/document_ftp/ftpserver/abstracted_fs.py
index 7f88c81b2c3..a83843eb1a5 100644
--- a/addons/document_ftp/ftpserver/abstracted_fs.py
+++ b/addons/document_ftp/ftpserver/abstracted_fs.py
@@ -9,7 +9,8 @@ import errno
import glob
import fnmatch
-from openerp import pooler, netsvc, sql_db
+import openerp
+from openerp import sql_db
import openerp.service
from openerp.service import security
from openerp.osv import osv
@@ -192,7 +193,7 @@ class abstracted_fs(object):
if dir:
cr = dir.cr
uid = dir.uid
- pool = pooler.get_pool(node.context.dbname)
+ pool = openerp.registry(node.context.dbname)
object=dir and dir.object or False
object2=dir and dir.object2 or False
res=pool.get('ir.attachment').search(cr,uid,[('name','like',prefix),('parent_id','=',object and object.type in ('directory','ressource') and object.id or False),('res_id','=',object2 and object2.id or False),('res_model','=',object2 and object2._name or False)])
@@ -291,7 +292,7 @@ class abstracted_fs(object):
if dbname not in self.db_list():
raise IOError(errno.ENOENT,'Invalid database path: %s.' % dbname)
try:
- db = pooler.get_db(dbname)
+ db = openerp.registry(dbname).db
except Exception:
raise OSError(1, 'Database cannot be used.')
cr = db.cursor()
@@ -324,7 +325,7 @@ class abstracted_fs(object):
""" Get cr, uid, pool from a node
"""
assert node
- db = pooler.get_db(node.context.dbname)
+ db = openerp.registry.(node.context.dbname).db
return db.cursor(), node.context.uid
def get_node_cr(self, node):
diff --git a/addons/document_ftp/ftpserver/authorizer.py b/addons/document_ftp/ftpserver/authorizer.py
index 5a64ca8f7a0..e863eeb39ec 100644
--- a/addons/document_ftp/ftpserver/authorizer.py
+++ b/addons/document_ftp/ftpserver/authorizer.py
@@ -48,7 +48,6 @@ class authorizer:
if not len(paths)>2:
return True
db_name = paths[1]
- db,pool = pooler.get_db_and_pool(db_name)
res = security.login(db_name, username, self.password)
return bool(res)
From b39e0617fc0a7a53f6597a5e265cb1283698d22e Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:43:07 +0100
Subject: [PATCH 56/83] [REF] hr_timesheet: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327124307-1ibgcdpt7paigmdw
---
addons/hr_timesheet/report/user_timesheet.py | 13 +++++++------
addons/hr_timesheet/report/users_timesheet.py | 12 +++++++-----
2 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/addons/hr_timesheet/report/user_timesheet.py b/addons/hr_timesheet/report/user_timesheet.py
index b86a6e8e89d..63edf3cc398 100644
--- a/addons/hr_timesheet/report/user_timesheet.py
+++ b/addons/hr_timesheet/report/user_timesheet.py
@@ -20,12 +20,12 @@
##############################################################################
import datetime
+import time
+import openerp
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
from openerp.tools.translate import _
-import time
-from openerp import pooler
from openerp.report import report_sxw
from openerp.tools import ustr
from openerp.tools import to_xml
@@ -45,10 +45,11 @@ class report_custom(report_rml):
return _weekdays[weekday]
def create_xml(self, cr, uid, ids, data, context):
+ registry = openerp.registry(cr.dbname)
# Get the user id from the selected employee record
emp_id = data['form']['employee_id']
- emp_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ emp_obj = registry['hr.employee']
user_id = emp_obj.browse(cr, uid, emp_id).user_id.id
empl_name = emp_obj.browse(cr, uid, emp_id).name
@@ -87,7 +88,7 @@ class report_custom(report_rml):
%.2f
'''
- rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ rpt_obj = registry['hr.employee']
rml_obj = report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
if user_id:
header_xml = '''
@@ -95,12 +96,12 @@ class report_custom(report_rml):
%s
%s
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,user_id).company_id.name))
+ ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,user_id).company_id.name))
account_xml = []
for account, telems in accounts.iteritems():
aid, aname = account
- aname = pooler.get_pool(cr.dbname).get('account.analytic.account').name_get(cr, uid, [aid], context)
+ aname = registry['account.analytic.account'].name_get(cr, uid, [aid], context)
aname = aname[0][1]
account_xml.append('' % (aid, toxml(aname)))
diff --git a/addons/hr_timesheet/report/users_timesheet.py b/addons/hr_timesheet/report/users_timesheet.py
index 4827994f2cd..d8c4927947d 100644
--- a/addons/hr_timesheet/report/users_timesheet.py
+++ b/addons/hr_timesheet/report/users_timesheet.py
@@ -20,10 +20,11 @@
##############################################################################
import datetime
+import time
+
+import openerp
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
-import time
-from openerp import pooler
from openerp.tools.translate import _
from openerp.report import report_sxw
from openerp.tools import ustr
@@ -78,6 +79,7 @@ class report_custom(report_rml):
return _weekdays[weekday]
def create_xml(self, cr, uid, ids, data, context):
+ registry = openerp.registry(cr.dbname)
# Computing the dates (start of month: som, and end of month: eom)
som = datetime.date(data['form']['year'], data['form']['month'], 1)
@@ -88,7 +90,7 @@ class report_custom(report_rml):
date_xml.append('2.5cm%s,2cm\n' % (',0.7cm' * lengthmonth(som.year, som.month)))
emp_xml=''
- emp_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ emp_obj = registry['hr.employee']
for id in data['form']['employee_ids']:
user = emp_obj.browse(cr, uid, id).user_id.id
empl_name = emp_obj.browse(cr, uid, id).name
@@ -97,14 +99,14 @@ class report_custom(report_rml):
# Computing the xml
#Without this, report don't show non-ascii characters (TO CHECK)
date_xml = '\n'.join(date_xml)
- rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ rpt_obj = emp_obj
rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
header_xml = '''
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name)
+ ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),registry['res.users'].browse(cr,uid,uid).company_id.name)
xml='''
From 82535887abb2a42c9d8f937f4f0e933a59ad8b19 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:48:55 +0100
Subject: [PATCH 57/83] [REF] hr_attendance: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327124855-o01gx77p1kz7f2aw
---
addons/hr_attendance/report/attendance_by_month.py | 8 ++++----
addons/hr_attendance/report/attendance_errors.py | 1 -
addons/hr_attendance/report/timesheet.py | 10 ++++++----
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/addons/hr_attendance/report/attendance_by_month.py b/addons/hr_attendance/report/attendance_by_month.py
index 69ce9511ac2..d4ce9cb148a 100644
--- a/addons/hr_attendance/report/attendance_by_month.py
+++ b/addons/hr_attendance/report/attendance_by_month.py
@@ -23,7 +23,6 @@ from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
import time
-from openerp import netsvc, pooler
from openerp.report import report_sxw
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
@@ -46,7 +45,8 @@ def lengthmonth(year, month):
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context=None):
- obj_emp = pooler.get_pool(cr.dbname).get('hr.employee')
+ registry = openerp.registry(cr.dbname)
+ obj_emp = registry['hr.employee']
if context is None:
context = {}
month = datetime(datas['form']['year'], datas['form']['month'], 1)
@@ -102,14 +102,14 @@ class report_custom(report_rml):
days_xml.append(today_xml)
user_xml.append(user_repr % '\n'.join(days_xml))
- rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ rpt_obj = obj_emp
rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
header_xml = '''
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name))
+ ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),to_xml(registry['res.users'].browse(cr,uid,uid).company_id.name))
first_date = str(month)
som = datetime.strptime(first_date, '%Y-%m-%d %H:%M:%S')
diff --git a/addons/hr_attendance/report/attendance_errors.py b/addons/hr_attendance/report/attendance_errors.py
index 411a1139def..811f4d8d906 100644
--- a/addons/hr_attendance/report/attendance_errors.py
+++ b/addons/hr_attendance/report/attendance_errors.py
@@ -22,7 +22,6 @@
import datetime
import time
-from openerp import pooler
from openerp.report import report_sxw
class attendance_print(report_sxw.rml_parse):
diff --git a/addons/hr_attendance/report/timesheet.py b/addons/hr_attendance/report/timesheet.py
index 321bb6bacc9..42dd686eba3 100644
--- a/addons/hr_attendance/report/timesheet.py
+++ b/addons/hr_attendance/report/timesheet.py
@@ -24,7 +24,8 @@ from datetime import datetime
from dateutil.relativedelta import relativedelta
import time
-from openerp import pooler, tools
+import openerp
+from openerp import tools
from openerp.report import report_sxw
from openerp.report.interface import report_rml, toxml
from openerp.tools.translate import _
@@ -38,7 +39,8 @@ def to_hour(h):
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context=None):
- obj_emp = pooler.get_pool(cr.dbname).get('hr.employee')
+ registry = openerp.registry(cr.dbname)
+ obj_emp = registry['hr.employee']
emp_ids = datas['active_ids']
start_date = datetime.strptime(datas['form']['init_date'], '%Y-%m-%d')
@@ -49,14 +51,14 @@ class report_custom(report_rml):
if last_monday < first_monday:
first_monday, last_monday = last_monday, first_monday
- rpt_obj = pooler.get_pool(cr.dbname).get('hr.employee')
+ rpt_obj = obj_emp
rml_obj=report_sxw.rml_parse(cr, uid, rpt_obj._name,context)
header_xml = '''
- ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),pooler.get_pool(cr.dbname).get('res.users').browse(cr,uid,uid).company_id.name)
+ ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),registry['res.users'].browse(cr,uid,uid).company_id.name)
user_xml = []
for employee_id in emp_ids:
emp = obj_emp.read(cr, uid, [employee_id], ['id', 'name'])[0]
From f9bf19f68595c760d5ab10502905c018d2b4cf40 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:55:25 +0100
Subject: [PATCH 58/83] [REF] procurement: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327125525-dk0skzolsgh3jnqy
---
addons/procurement/schedulers.py | 8 ++++----
addons/procurement/wizard/orderpoint_procurement.py | 3 +--
addons/procurement/wizard/schedulers_all.py | 3 +--
3 files changed, 6 insertions(+), 8 deletions(-)
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index c09d9a22a16..1009873beb2 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -21,8 +21,8 @@
from datetime import datetime
from dateutil.relativedelta import relativedelta
-from openerp import netsvc
-from openerp import pooler
+
+import openerp
from openerp.osv import osv
from openerp.osv import fields
from openerp.tools.translate import _
@@ -56,7 +56,7 @@ class procurement_order(osv.osv):
context = {}
try:
if use_new_cursor:
- cr = pooler.get_db(use_new_cursor).cursor()
+ cr = openerp.registry(use_new_cursor).db.cursor()
procurement_obj = self.pool.get('procurement.order')
if not ids:
@@ -218,7 +218,7 @@ class procurement_order(osv.osv):
if context is None:
context = {}
if use_new_cursor:
- cr = pooler.get_db(use_new_cursor).cursor()
+ cr = openerp.registry(use_new_cursor).db.cursor()
orderpoint_obj = self.pool.get('stock.warehouse.orderpoint')
procurement_obj = self.pool.get('procurement.order')
diff --git a/addons/procurement/wizard/orderpoint_procurement.py b/addons/procurement/wizard/orderpoint_procurement.py
index 8f5f373772d..2d5b91d4c81 100644
--- a/addons/procurement/wizard/orderpoint_procurement.py
+++ b/addons/procurement/wizard/orderpoint_procurement.py
@@ -25,7 +25,6 @@
#
import threading
-from openerp import pooler
from openerp.osv import fields,osv
class procurement_compute(osv.osv_memory):
@@ -50,7 +49,7 @@ class procurement_compute(osv.osv_memory):
"""
proc_obj = self.pool.get('procurement.order')
#As this function is in a new thread, I need to open a new cursor, because the old one may be closed
- new_cr = pooler.get_db(cr.dbname).cursor()
+ new_cr = self.pool.db.cursor()
for proc in self.browse(new_cr, uid, ids, context=context):
proc_obj._procure_orderpoint_confirm(new_cr, uid, automatic=proc.automatic, use_new_cursor=new_cr.dbname, context=context)
#close the new cursor
diff --git a/addons/procurement/wizard/schedulers_all.py b/addons/procurement/wizard/schedulers_all.py
index 9311ffcd11d..c60ac989274 100644
--- a/addons/procurement/wizard/schedulers_all.py
+++ b/addons/procurement/wizard/schedulers_all.py
@@ -20,7 +20,6 @@
##############################################################################
import threading
-from openerp import pooler
from openerp.osv import fields, osv
@@ -46,7 +45,7 @@ class procurement_compute_all(osv.osv_memory):
"""
proc_obj = self.pool.get('procurement.order')
#As this function is in a new thread, i need to open a new cursor, because the old one may be closed
- new_cr = pooler.get_db(cr.dbname).cursor()
+ new_cr = self.pool.db.cursor()
for proc in self.browse(new_cr, uid, ids, context=context):
proc_obj.run_scheduler(new_cr, uid, automatic=proc.automatic, use_new_cursor=new_cr.dbname,\
context=context)
From 44514ced896fb6096599d9800ac613f5a74c7e90 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 13:59:22 +0100
Subject: [PATCH 59/83] [REF] project_timesheet: removed openerp.pooler
imports.
bzr revid: vmt@openerp.com-20130327125922-6dl0331b8h9600hk
---
addons/project_timesheet/project_timesheet.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/project_timesheet/project_timesheet.py b/addons/project_timesheet/project_timesheet.py
index c1f8f6409a9..6c2b2b0e13b 100644
--- a/addons/project_timesheet/project_timesheet.py
+++ b/addons/project_timesheet/project_timesheet.py
@@ -22,7 +22,6 @@ import time
import datetime
from openerp.osv import fields, osv
-from openerp import pooler
from openerp import tools
from openerp.tools.translate import _
From 489dcedf8c74decf6b0f30e9c47859b5385fdbf6 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:00:26 +0100
Subject: [PATCH 60/83] [REF] sale_stock: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327130026-mdf0shcjfb9faaji
---
addons/sale_stock/res_config.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/sale_stock/res_config.py b/addons/sale_stock/res_config.py
index 3a6dcb404dd..d06b6a81b32 100644
--- a/addons/sale_stock/res_config.py
+++ b/addons/sale_stock/res_config.py
@@ -20,7 +20,6 @@
##############################################################################
from openerp.osv import fields, osv
-from openerp import pooler
from openerp.tools.translate import _
class sale_configuration(osv.osv_memory):
From 598b455c22932ba6881cfbdb4ccbffedbb6b94dd Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:01:38 +0100
Subject: [PATCH 61/83] [REF] point_of_sale: rml_parse has already a self.pool,
not need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327130138-tzhqev6yako5xr9f
---
addons/point_of_sale/report/pos_receipt.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/addons/point_of_sale/report/pos_receipt.py b/addons/point_of_sale/report/pos_receipt.py
index 6272de95db7..bc9d1853f5b 100644
--- a/addons/point_of_sale/report/pos_receipt.py
+++ b/addons/point_of_sale/report/pos_receipt.py
@@ -21,7 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp import pooler
def titlize(journal_name):
words = journal_name.split()
@@ -34,7 +33,7 @@ class order(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(order, self).__init__(cr, uid, name, context=context)
- user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, uid, context=context)
+ user = self.pool['res.users'].browse(cr, uid, uid, context=context)
partner = user.company_id.partner_id
self.localcontext.update({
From 7b7de2bfc942ffb9a72ff562843fc7b8e693f5a0 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:04:49 +0100
Subject: [PATCH 62/83] [REF] base_report_designer: rml_parse has already a
self.pool, not need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327130449-zmpaqcfw1pddmg0b
---
.../base_report_designer.py | 6 ++---
.../wizard/base_report_designer_modify.py | 24 +++++++++----------
2 files changed, 14 insertions(+), 16 deletions(-)
diff --git a/addons/base_report_designer/base_report_designer.py b/addons/base_report_designer/base_report_designer.py
index 180a534b07f..359f41c4aa2 100644
--- a/addons/base_report_designer/base_report_designer.py
+++ b/addons/base_report_designer/base_report_designer.py
@@ -24,7 +24,6 @@ import openerp.modules.registry
from openerp.osv import osv
from openerp_sxw2rml import sxw2rml
from StringIO import StringIO
-from openerp import pooler
from openerp import addons
@@ -46,20 +45,19 @@ class report_xml(osv.osv):
'''
Untested function
'''
- pool = pooler.get_pool(cr.dbname)
sxwval = StringIO(base64.decodestring(file_sxw))
if file_type=='sxw':
fp = open(addons.get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_oo2rml.xsl'),'rb')
if file_type=='odt':
fp = open(addons.get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_odt2rml.xsl'),'rb')
- report = pool.get('ir.actions.report.xml').write(cr, uid, [report_id], {
+ report = self.pool['ir.actions.report.xml'].write(cr, uid, [report_id], {
'report_sxw_content': base64.decodestring(file_sxw),
'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())),
})
# FIXME: this should be moved to an override of the ir.actions.report_xml.create() method
cr.commit()
- pool.get('ir.actions.report.xml').register_all(cr)
+ self.pool['ir.actions.report.xml'].register_all(cr)
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
return True
diff --git a/addons/base_report_designer/wizard/base_report_designer_modify.py b/addons/base_report_designer/wizard/base_report_designer_modify.py
index abef384cd91..838f591a2f4 100644
--- a/addons/base_report_designer/wizard/base_report_designer_modify.py
+++ b/addons/base_report_designer/wizard/base_report_designer_modify.py
@@ -24,7 +24,7 @@ import base64
import time
import urllib
-from openerp import osv, pooler, tools
+from openerp import osv, tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
@@ -39,9 +39,9 @@ class base_report_sxw(osv.osv_memory):
def get_report(self, cr, uid, ids, context=None):
data = self.read(cr, uid, ids, context=context)[0]
- data_obj = self.pool.get('ir.model.data')
+ data_obj = self.pool['ir.model.data']
id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_sxw')
- report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
+ report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context)
if id2:
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
return {
@@ -74,9 +74,9 @@ class base_report_file_sxw(osv.osv_memory):
"""
res = super(base_report_file_sxw, self).default_get(cr, uid, fields, context=context)
- report_id1 = self.pool.get('base.report.sxw').search(cr,uid,[])
- data = self.pool.get('base.report.sxw').read(cr, uid, report_id1, context=context)[0]
- report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
+ report_id1 = self.pool['base.report.sxw'].search(cr,uid,[])
+ data = self.pool['base.report.sxw'].read(cr, uid, report_id1, context=context)[0]
+ report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context)
if context is None:
context={}
if 'report_id' in fields:
@@ -97,14 +97,14 @@ class base_report_file_sxw(osv.osv_memory):
sxwval = StringIO.StringIO(base64.decodestring(data['file_sxw_upload']))
fp = tools.file_open('normalized_oo2rml.xsl',subdir='addons/base_report_designer/openerp_sxw2rml')
newrmlcontent = str(openerp_sxw2rml.sxw2rml(sxwval, xsl=fp.read()))
- report = self.pool.get('ir.actions.report.xml').write(cr, uid, [data['report_id']], {
+ report = self.pool['ir.actions.report.xml'].write(cr, uid, [data['report_id']], {
'report_sxw_content': base64.decodestring(data['file_sxw_upload']),
'report_rml_content': newrmlcontent
})
cr.commit()
- data_obj = self.pool.get('ir.model.data')
+ data_obj = self.pool['ir.model.data']
id2 = data_obj._get_id(cr, uid, 'base_report_designer', 'view_base_report_file_rml')
- report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
+ report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context)
if id2:
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
return {
@@ -135,9 +135,9 @@ class base_report_rml_save(osv.osv_memory):
"""
res = super(base_report_rml_save, self).default_get(cr, uid, fields, context=context)
- report_id = self.pool.get('base.report.sxw').search(cr,uid,[])
- data = self.pool.get('base.report.file.sxw').read(cr, uid, report_id, context=context)[0]
- report = self.pool.get('ir.actions.report.xml').browse(cr, uid, data['report_id'], context=context)
+ report_id = self.pool['base.report.sxw'].search(cr,uid,[])
+ data = self.pool['base.report.file.sxw'].read(cr, uid, report_id, context=context)[0]
+ report = self.pool['ir.actions.report.xml'].browse(cr, uid, data['report_id'], context=context)
if 'file_rml' in fields:
res['file_rml'] = base64.encodestring(report.report_rml_content)
From efdb907a841357fe6c3db17f1d9799afd7323aa5 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:13:07 +0100
Subject: [PATCH 63/83] [REF] hr_timesheet_invoice: rml_parse has already a
self.pool, not need to call pooler.get_pool().
bzr revid: vmt@openerp.com-20130327131307-41op9ddfyi54t0b9
---
.../report/account_analytic_profit.py | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/addons/hr_timesheet_invoice/report/account_analytic_profit.py b/addons/hr_timesheet_invoice/report/account_analytic_profit.py
index 57fd06b0c34..bfaf585aff5 100644
--- a/addons/hr_timesheet_invoice/report/account_analytic_profit.py
+++ b/addons/hr_timesheet_invoice/report/account_analytic_profit.py
@@ -20,7 +20,6 @@
##############################################################################
from openerp.report import report_sxw
-from openerp import pooler
class account_analytic_profit(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
@@ -32,13 +31,13 @@ class account_analytic_profit(report_sxw.rml_parse):
'line': self._line,
})
def _user_ids(self, lines):
- user_obj=pooler.get_pool(self.cr.dbname).get('res.users')
+ user_obj = self.pool['res.users']
ids=list(set([b.user_id.id for b in lines]))
return user_obj.browse(self.cr, self.uid, ids)
def _journal_ids(self, form, user_id):
- line_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.line')
- journal_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.journal')
+ line_obj = self.pool['account.analytic.line']
+ journal_obj = self.pool['account.analytic.journal']
line_ids=line_obj.search(self.cr, self.uid, [
('date', '>=', form['date_from']),
('date', '<=', form['date_to']),
@@ -49,10 +48,9 @@ class account_analytic_profit(report_sxw.rml_parse):
return journal_obj.browse(self.cr, self.uid, ids)
def _line(self, form, journal_ids, user_ids):
- pool=pooler.get_pool(self.cr.dbname)
- line_obj=pool.get('account.analytic.line')
- product_obj=pool.get('product.product')
- price_obj=pool.get('product.pricelist')
+ line_obj = self.pool['account.analytic.line']
+ product_obj = self.pool['product.product']
+ price_obj = self.pool['product.pricelist']
ids=line_obj.search(self.cr, self.uid, [
('date', '>=', form['date_from']),
('date', '<=', form['date_to']),
@@ -109,7 +107,7 @@ class account_analytic_profit(report_sxw.rml_parse):
return res.values()
def _lines(self, form):
- line_obj=pooler.get_pool(self.cr.dbname).get('account.analytic.line')
+ line_obj = self.pool['account.analytic.line']
ids=line_obj.search(self.cr, self.uid, [
('date', '>=', form['date_from']),
('date', '<=', form['date_to']),
From 6bd4368e4bb58669b5b1ec8698774731f65f7fa0 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:16:33 +0100
Subject: [PATCH 64/83] [FIX] hr_attendance: forgot the import openerp.
bzr revid: vmt@openerp.com-20130327131633-zfo1p0nik52es7xk
---
addons/hr_attendance/report/attendance_by_month.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/hr_attendance/report/attendance_by_month.py b/addons/hr_attendance/report/attendance_by_month.py
index d4ce9cb148a..8e8f95c81e1 100644
--- a/addons/hr_attendance/report/attendance_by_month.py
+++ b/addons/hr_attendance/report/attendance_by_month.py
@@ -23,6 +23,7 @@ from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
import time
+import openerp
from openerp.report import report_sxw
from openerp.report.interface import report_rml
from openerp.report.interface import toxml
From 3d3e97837b422c594158efc4e8b0430102113c6b Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:17:31 +0100
Subject: [PATCH 65/83] [REF] purchase_requisition: removed openerp.pooler
imports.
bzr revid: vmt@openerp.com-20130327131731-63xuy68loo2a43bt
---
addons/purchase_requisition/report/requisition.py | 2 --
1 file changed, 2 deletions(-)
diff --git a/addons/purchase_requisition/report/requisition.py b/addons/purchase_requisition/report/requisition.py
index 315a34d37e9..d7d38f2114e 100644
--- a/addons/purchase_requisition/report/requisition.py
+++ b/addons/purchase_requisition/report/requisition.py
@@ -21,8 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp.osv import osv
-from openerp import pooler
class requisition(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
From 9d5115d0ec0e7dc06382db5cfd9280449aa7e2e4 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:21:05 +0100
Subject: [PATCH 66/83] [REF] sale: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327132105-becdw049vdr72zt7
---
addons/sale/res_config.py | 1 -
addons/sale/sale.py | 1 -
2 files changed, 2 deletions(-)
diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py
index 3fb8e049e8d..6548591da1e 100644
--- a/addons/sale/res_config.py
+++ b/addons/sale/res_config.py
@@ -22,7 +22,6 @@
import logging
from openerp.osv import fields, osv
-from openerp import pooler
from openerp.tools.translate import _
_logger = logging.getLogger(__name__)
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index bf9e9484b9f..5ee22f3c569 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -22,7 +22,6 @@
from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta
import time
-from openerp import pooler
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp.tools import DEFAULT_SERVER_DATE_FORMAT, DEFAULT_SERVER_DATETIME_FORMAT, DATETIME_FORMATS_MAP, float_compare
From 245f0fe9f8af41861ebff15acd3234e60258e270 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:43:37 +0100
Subject: [PATCH 67/83] [REF] account: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327134337-rpktoa5gj31iof5c
---
addons/account/account.py | 5 +++--
addons/account/account_financial_report.py | 1 -
addons/account/account_invoice.py | 1 -
addons/account/project/report/analytic_journal.py | 1 -
addons/account/project/report/cost_ledger.py | 1 -
.../project/report/inverted_analytic_balance.py | 1 -
.../account/project/report/quantity_cost_ledger.py | 1 -
addons/account/report/account_print_overdue.py | 7 +++----
addons/account/report/account_report.py | 5 ++---
addons/account/report/common_report_header.py | 14 +++++++-------
addons/account/wizard/account_invoice_state.py | 7 ++-----
11 files changed, 17 insertions(+), 27 deletions(-)
diff --git a/addons/account/account.py b/addons/account/account.py
index 8c7f058acc6..bb24aec1748 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -25,8 +25,9 @@ from dateutil.relativedelta import relativedelta
from operator import itemgetter
import time
+import openerp
from openerp import SUPERUSER_ID
-from openerp import pooler, tools
+from openerp import tools
from openerp.osv import fields, osv
from openerp.tools.translate import _
from openerp.tools.float_utils import float_round
@@ -1883,7 +1884,7 @@ class account_tax(osv.osv):
def get_precision_tax():
def change_digit_tax(cr):
- res = pooler.get_pool(cr.dbname).get('decimal.precision').precision_get(cr, SUPERUSER_ID, 'Account')
+ res = openerp.registry(cr.dbname)['decimal.precision'].precision_get(cr, SUPERUSER_ID, 'Account')
return (16, res+2)
return change_digit_tax
diff --git a/addons/account/account_financial_report.py b/addons/account/account_financial_report.py
index 1d9a4a794eb..6a2b1bd5e8f 100644
--- a/addons/account/account_financial_report.py
+++ b/addons/account/account_financial_report.py
@@ -25,7 +25,6 @@ from dateutil.relativedelta import relativedelta
from operator import itemgetter
from openerp import netsvc
-from openerp import pooler
from openerp.osv import fields, osv
import openerp.addons.decimal_precision as dp
from openerp.tools.translate import _
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index af762611ec2..30bdc2eedac 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -24,7 +24,6 @@ from lxml import etree
import openerp.addons.decimal_precision as dp
import openerp.exceptions
-from openerp import pooler
from openerp.osv import fields, osv, orm
from openerp.tools.translate import _
diff --git a/addons/account/project/report/analytic_journal.py b/addons/account/project/report/analytic_journal.py
index e91de96940e..1ca1ffb3ca4 100644
--- a/addons/account/project/report/analytic_journal.py
+++ b/addons/account/project/report/analytic_journal.py
@@ -21,7 +21,6 @@
import time
-from openerp import pooler
from openerp.report import report_sxw
#
diff --git a/addons/account/project/report/cost_ledger.py b/addons/account/project/report/cost_ledger.py
index 04b8edeb166..e594ab92a63 100644
--- a/addons/account/project/report/cost_ledger.py
+++ b/addons/account/project/report/cost_ledger.py
@@ -21,7 +21,6 @@
import time
-from openerp import pooler
from openerp.report import report_sxw
class account_analytic_cost_ledger(report_sxw.rml_parse):
diff --git a/addons/account/project/report/inverted_analytic_balance.py b/addons/account/project/report/inverted_analytic_balance.py
index 829dd03df02..bd86bcfe257 100644
--- a/addons/account/project/report/inverted_analytic_balance.py
+++ b/addons/account/project/report/inverted_analytic_balance.py
@@ -21,7 +21,6 @@
import time
-from openerp import pooler
from openerp.report import report_sxw
class account_inverted_analytic_balance(report_sxw.rml_parse):
diff --git a/addons/account/project/report/quantity_cost_ledger.py b/addons/account/project/report/quantity_cost_ledger.py
index 1fe77f6e878..b22558b900f 100644
--- a/addons/account/project/report/quantity_cost_ledger.py
+++ b/addons/account/project/report/quantity_cost_ledger.py
@@ -20,7 +20,6 @@
##############################################################################
import time
-from openerp import pooler
from openerp.report import report_sxw
class account_analytic_quantity_cost_ledger(report_sxw.rml_parse):
diff --git a/addons/account/report/account_print_overdue.py b/addons/account/report/account_print_overdue.py
index 68c1c35ef53..d030c136964 100644
--- a/addons/account/report/account_print_overdue.py
+++ b/addons/account/report/account_print_overdue.py
@@ -22,7 +22,6 @@
import time
from openerp.report import report_sxw
-from openerp import pooler
class Overdue(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
@@ -38,7 +37,7 @@ class Overdue(report_sxw.rml_parse):
def _tel_get(self,partner):
if not partner:
return False
- res_partner = pooler.get_pool(self.cr.dbname).get('res.partner')
+ res_partner = self.pool['res.partner']
addresses = res_partner.address_get(self.cr, self.uid, [partner.id], ['invoice'])
adr_id = addresses and addresses['invoice'] or False
if adr_id:
@@ -49,7 +48,7 @@ class Overdue(report_sxw.rml_parse):
return False
def _lines_get(self, partner):
- moveline_obj = pooler.get_pool(self.cr.dbname).get('account.move.line')
+ moveline_obj = self.pool['account.move.line']
movelines = moveline_obj.search(self.cr, self.uid,
[('partner_id', '=', partner.id),
('account_id.type', 'in', ['receivable', 'payable']),
@@ -58,7 +57,7 @@ class Overdue(report_sxw.rml_parse):
return movelines
def _message(self, obj, company):
- company_pool = pooler.get_pool(self.cr.dbname).get('res.company')
+ company_pool = self.pool['res.company']
message = company_pool.browse(self.cr, self.uid, company.id, {'lang':obj.lang}).overdue_msg
return message.split('\n')
diff --git a/addons/account/report/account_report.py b/addons/account/report/account_report.py
index d6cc784c767..11a6374b24e 100644
--- a/addons/account/report/account_report.py
+++ b/addons/account/report/account_report.py
@@ -23,7 +23,6 @@ import time
from datetime import datetime
from dateutil.relativedelta import relativedelta
-from openerp import pooler
from openerp import tools
from openerp.osv import fields,osv
@@ -123,7 +122,7 @@ class report_aged_receivable(osv.osv):
""" This view will be used in dashboard
The reason writing this code here is, we need to check date range from today to first date of fiscal year.
"""
- pool_obj_fy = pooler.get_pool(cr.dbname).get('account.fiscalyear')
+ pool_obj_fy = self.pool['account.fiscalyear']
today = time.strftime('%Y-%m-%d')
fy_id = pool_obj_fy.find(cr, uid, exception=False)
LIST_RANGES = []
@@ -141,7 +140,7 @@ class report_aged_receivable(osv.osv):
cr.execute('delete from temp_range')
for range in LIST_RANGES:
- pooler.get_pool(cr.dbname).get('temp.range').create(cr, uid, {'name':range})
+ self.pool['temp.range'].create(cr, uid, {'name':range})
cr.execute("""
create or replace view report_aged_receivable as (
diff --git a/addons/account/report/common_report_header.py b/addons/account/report/common_report_header.py
index cedc4ccf5c4..cf3c3a71ff1 100644
--- a/addons/account/report/common_report_header.py
+++ b/addons/account/report/common_report_header.py
@@ -19,9 +19,9 @@
#
##############################################################################
-from openerp import pooler
from openerp.tools.translate import _
+# Mixin to use with rml_parse, so self.pool will be defined.
class common_report_header(object):
def _sum_debit(self, period_id=False, journal_id=False):
@@ -75,17 +75,17 @@ class common_report_header(object):
def get_start_period(self, data):
if data.get('form', False) and data['form'].get('period_from', False):
- return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr,self.uid,data['form']['period_from']).name
+ return self.pool.get('account.period').browse(self.cr,self.uid,data['form']['period_from']).name
return ''
def get_end_period(self, data):
if data.get('form', False) and data['form'].get('period_to', False):
- return pooler.get_pool(self.cr.dbname).get('account.period').browse(self.cr, self.uid, data['form']['period_to']).name
+ return self.pool.get('account.period').browse(self.cr, self.uid, data['form']['period_to']).name
return ''
def _get_account(self, data):
if data.get('form', False) and data['form'].get('chart_account_id', False):
- return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).name
+ return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).name
return ''
def _get_sortby(self, data):
@@ -120,12 +120,12 @@ class common_report_header(object):
def _get_fiscalyear(self, data):
if data.get('form', False) and data['form'].get('fiscalyear_id', False):
- return pooler.get_pool(self.cr.dbname).get('account.fiscalyear').browse(self.cr, self.uid, data['form']['fiscalyear_id']).name
+ return self.pool.get('account.fiscalyear').browse(self.cr, self.uid, data['form']['fiscalyear_id']).name
return ''
def _get_company(self, data):
if data.get('form', False) and data['form'].get('chart_account_id', False):
- return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.name
+ return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.name
return ''
def _get_journal(self, data):
@@ -137,7 +137,7 @@ class common_report_header(object):
def _get_currency(self, data):
if data.get('form', False) and data['form'].get('chart_account_id', False):
- return pooler.get_pool(self.cr.dbname).get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.currency_id.symbol
+ return self.pool.get('account.account').browse(self.cr, self.uid, data['form']['chart_account_id']).company_id.currency_id.symbol
return ''
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_invoice_state.py b/addons/account/wizard/account_invoice_state.py
index 9fab19ff42c..70d2984cef0 100644
--- a/addons/account/wizard/account_invoice_state.py
+++ b/addons/account/wizard/account_invoice_state.py
@@ -21,7 +21,6 @@
from openerp.osv import osv
from openerp.tools.translate import _
-from openerp import pooler
class account_invoice_confirm(osv.osv_memory):
"""
@@ -34,8 +33,7 @@ class account_invoice_confirm(osv.osv_memory):
def invoice_confirm(self, cr, uid, ids, context=None):
if context is None:
context = {}
- pool_obj = pooler.get_pool(cr.dbname)
- account_invoice_obj = pool_obj.get('account.invoice')
+ account_invoice_obj = self.pool['account.invoice']
data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] not in ('draft','proforma','proforma2'):
@@ -58,8 +56,7 @@ class account_invoice_cancel(osv.osv_memory):
def invoice_cancel(self, cr, uid, ids, context=None):
if context is None:
context = {}
- pool_obj = pooler.get_pool(cr.dbname)
- account_invoice_obj = pool_obj.get('account.invoice')
+ account_invoice_obj = self.pool['account.invoice']
data_inv = account_invoice_obj.read(cr, uid, context['active_ids'], ['state'], context=context)
for record in data_inv:
if record['state'] in ('cancel','paid'):
From baa0cea1733cd05081283c4a406d7f1ceecc6a34 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:44:39 +0100
Subject: [PATCH 68/83] [REF] report_intrastat: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327134439-wmkyp2w02xdtmoke
---
addons/report_intrastat/report/invoice.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/report_intrastat/report/invoice.py b/addons/report_intrastat/report/invoice.py
index c1f3823c9d8..c38a62774ac 100644
--- a/addons/report_intrastat/report/invoice.py
+++ b/addons/report_intrastat/report/invoice.py
@@ -21,7 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp import pooler
class account_invoice_intrastat(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
From d9b3bc967018c9d7c2098b72adba2aab300375a1 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:47:02 +0100
Subject: [PATCH 69/83] [REF] mrp: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327134702-mp9wuje1fmblcopc
---
addons/mrp/report/bom_structure.py | 2 --
addons/mrp/report/price.py | 19 ++++++++++---------
addons/mrp/res_config.py | 1 -
3 files changed, 10 insertions(+), 12 deletions(-)
diff --git a/addons/mrp/report/bom_structure.py b/addons/mrp/report/bom_structure.py
index ae26bc4f8cd..b153ea2e4e9 100644
--- a/addons/mrp/report/bom_structure.py
+++ b/addons/mrp/report/bom_structure.py
@@ -21,8 +21,6 @@
import time
from openerp.report import report_sxw
-from openerp.osv import osv
-from openerp import pooler
class bom_structure(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
diff --git a/addons/mrp/report/price.py b/addons/mrp/report/price.py
index 2e37011e2bc..5afd6b3ee49 100644
--- a/addons/mrp/report/price.py
+++ b/addons/mrp/report/price.py
@@ -20,7 +20,8 @@
##############################################################################
import time
-from openerp import pooler
+
+import openerp
from openerp.report.interface import report_rml
from openerp.tools import to_xml
from openerp.report import report_sxw
@@ -30,14 +31,14 @@ from openerp.tools.translate import _
class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context=None):
number = (datas.get('form', False) and datas['form']['number']) or 1
- pool = pooler.get_pool(cr.dbname)
- product_pool = pool.get('product.product')
- product_uom_pool = pool.get('product.uom')
- supplier_info_pool = pool.get('product.supplierinfo')
- workcenter_pool = pool.get('mrp.workcenter')
- user_pool = pool.get('res.users')
- bom_pool = pool.get('mrp.bom')
- pricelist_pool = pool.get('product.pricelist')
+ registry = openerp.registry(cr.dbname)
+ product_pool = registry.get('product.product')
+ product_uom_pool = registry.get('product.uom')
+ supplier_info_pool = registry.get('product.supplierinfo')
+ workcenter_pool = registry.get('mrp.workcenter')
+ user_pool = registry.get('res.users')
+ bom_pool = registry.get('mrp.bom')
+ pricelist_pool = registry.get('product.pricelist')
rml_obj=report_sxw.rml_parse(cr, uid, product_pool._name,context)
rml_obj.localcontext.update({'lang':context.get('lang',False)})
company_currency = user_pool.browse(cr, uid, uid).company_id.currency_id
diff --git a/addons/mrp/res_config.py b/addons/mrp/res_config.py
index c780576099c..22a14addcd1 100644
--- a/addons/mrp/res_config.py
+++ b/addons/mrp/res_config.py
@@ -20,7 +20,6 @@
##############################################################################
from openerp.osv import fields, osv
-from openerp import pooler
from openerp.tools.translate import _
class mrp_config_settings(osv.osv_memory):
From d544a585e10cfdd40d0802608270cec0c4bf529e Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:53:27 +0100
Subject: [PATCH 70/83] [REF] product_expiry: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327135327-6ik2cu30kbfcnu6a
---
addons/product_expiry/product_expiry.py | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/addons/product_expiry/product_expiry.py b/addons/product_expiry/product_expiry.py
index e939e594437..457b4428522 100644
--- a/addons/product_expiry/product_expiry.py
+++ b/addons/product_expiry/product_expiry.py
@@ -19,8 +19,9 @@
##############################################################################
import datetime
+
+import openerp
from openerp.osv import fields, osv
-from openerp import pooler
class stock_production_lot(osv.osv):
_inherit = 'stock.production.lot'
@@ -34,7 +35,7 @@ class stock_production_lot(osv.osv):
if not context.get('product_id', False):
date = False
else:
- product = pooler.get_pool(cr.dbname).get('product.product').browse(
+ product = openerp.registry(cr.dbname)['product.product'].browse(
cr, uid, context['product_id'])
duration = getattr(product, dtype)
# set date to False when no expiry time specified on the product
From f0eb3e823d0a54555e95a7f22bcaddd8295a161b Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:55:27 +0100
Subject: [PATCH 71/83] [REF] mail: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327135527-g01vvhf9vv3e1mql
---
addons/mail/update.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/mail/update.py b/addons/mail/update.py
index bcec6f5f8b6..94416aeb356 100644
--- a/addons/mail/update.py
+++ b/addons/mail/update.py
@@ -5,7 +5,7 @@ import sys
import urllib
import urllib2
-from openerp import pooler
+import openerp
from openerp import release
from openerp.osv import fields, osv
from openerp.tools.translate import _
@@ -26,7 +26,7 @@ def get_sys_logs(self, cr, uid):
"""
Utility method to send a publisher warranty get logs messages.
"""
- pool = pooler.get_pool(cr.dbname)
+ pool = openerp.registry(cr.dbname)
dbuuid = pool.get('ir.config_parameter').get_param(cr, uid, 'database.uuid')
db_create_date = pool.get('ir.config_parameter').get_param(cr, uid, 'database.create_date')
From 44df3fcae37252f1df6c79f29d4acace063d2308 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 14:57:25 +0100
Subject: [PATCH 72/83] [REF] mrp_operations: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327135725-gev233g86hsypf9v
---
addons/mrp_operations/report/mrp_code_barcode.py | 1 -
addons/mrp_operations/report/mrp_wc_barcode.py | 1 -
2 files changed, 2 deletions(-)
diff --git a/addons/mrp_operations/report/mrp_code_barcode.py b/addons/mrp_operations/report/mrp_code_barcode.py
index ee9b7a64a40..ea2ba7165b4 100644
--- a/addons/mrp_operations/report/mrp_code_barcode.py
+++ b/addons/mrp_operations/report/mrp_code_barcode.py
@@ -19,7 +19,6 @@
#
##############################################################################
-from openerp import pooler
import time
from openerp.report import report_sxw
diff --git a/addons/mrp_operations/report/mrp_wc_barcode.py b/addons/mrp_operations/report/mrp_wc_barcode.py
index 746ed6d71c7..ee1bbe64cd4 100644
--- a/addons/mrp_operations/report/mrp_wc_barcode.py
+++ b/addons/mrp_operations/report/mrp_wc_barcode.py
@@ -19,7 +19,6 @@
#
##############################################################################
-from openerp import pooler
import time
from openerp.report import report_sxw
From b0cce721b42066d03a7f7ce5b92abc1f7ef36187 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 15:01:49 +0100
Subject: [PATCH 73/83] [REF] document: removed openerp.pooler imports.
bzr revid: vmt@openerp.com-20130327140149-8dirpf7383hdm1rn
---
addons/document/document.py | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/addons/document/document.py b/addons/document/document.py
index 85468e00509..9b1fdc1d66b 100644
--- a/addons/document/document.py
+++ b/addons/document/document.py
@@ -31,7 +31,6 @@ from StringIO import StringIO
import psycopg2
import openerp
-from openerp import pooler
from openerp import tools
from openerp.osv import fields, osv
from openerp.osv.orm import except_orm
@@ -620,7 +619,7 @@ class node_context(object):
if context is None:
context = {}
context['uid'] = uid
- self._dirobj = pooler.get_pool(cr.dbname).get('document.directory')
+ self._dirobj = openerp.registry(cr.dbname).get('document.directory')
self.node_file_class = node_file
self.extra_ctx = {} # Extra keys for context, that do _not_ trigger inequality
assert self._dirobj
@@ -1999,7 +1998,7 @@ class nodefd_content(StringIO, node_descriptor):
par = self._get_parent()
uid = par.context.uid
- cr = pooler.get_db(par.context.dbname).cursor()
+ cr = openerp.registry(par.context.dbname).db.cursor()
try:
if self.mode in ('w', 'w+', 'r+'):
data = self.getvalue()
@@ -2052,7 +2051,7 @@ class nodefd_static(StringIO, node_descriptor):
par = self._get_parent()
# uid = par.context.uid
- cr = pooler.get_db(par.context.dbname).cursor()
+ cr = openerp.registry(par.context.dbname).db.cursor()
try:
if self.mode in ('w', 'w+', 'r+'):
data = self.getvalue()
From 314a8dab70097847a10eb884f558f0f05b672698 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 15:16:53 +0100
Subject: [PATCH 74/83] [REF] pooler: mark the functions as deprecated.
bzr revid: vmt@openerp.com-20130327141653-p7re4tknkwe1pc80
---
openerp/conf/deprecation.py | 5 +++++
openerp/pooler.py | 9 +++++++++
2 files changed, 14 insertions(+)
diff --git a/openerp/conf/deprecation.py b/openerp/conf/deprecation.py
index 11399bef4fb..caca00f5f26 100644
--- a/openerp/conf/deprecation.py
+++ b/openerp/conf/deprecation.py
@@ -35,4 +35,9 @@ by the user to check if her code is future proof.
# Change to False around 2013.02.
open_openerp_namespace = False
+# If True, the functions in openerp.pooler can be used.
+# Introduced around 2013.03 (actually they are deprecated since much longer
+# but no warning was dispayed in the logs).
+openerp_pooler = True
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/pooler.py b/openerp/pooler.py
index 58cf4936b27..0df6f88c819 100644
--- a/openerp/pooler.py
+++ b/openerp/pooler.py
@@ -25,27 +25,36 @@
"""
+import logging
+import openerp.conf.deprecation
from openerp.modules.registry import RegistryManager
+_logger = logging.getLogger(__name__)
def get_db_and_pool(db_name, force_demo=False, status=None, update_module=False):
"""Create and return a database connection and a newly initialized registry."""
+ assert openerp.conf.deprecation.openerp_pooler
+ _logger.warning('openerp.pooler.get_db_and_pool() is deprecated.')
registry = RegistryManager.get(db_name, force_demo, status, update_module)
return registry.db, registry
def restart_pool(db_name, force_demo=False, status=None, update_module=False):
"""Delete an existing registry and return a database connection and a newly initialized registry."""
+ _logger.warning('openerp.pooler.restart_pool() is deprecated.')
+ assert openerp.conf.deprecation.openerp_pooler
registry = RegistryManager.new(db_name, force_demo, status, update_module)
return registry.db, registry
def get_db(db_name):
"""Return a database connection. The corresponding registry is initialized."""
+ assert openerp.conf.deprecation.openerp_pooler
return get_db_and_pool(db_name)[0]
def get_pool(db_name, force_demo=False, status=None, update_module=False):
"""Return a model registry."""
+ assert openerp.conf.deprecation.openerp_pooler
return get_db_and_pool(db_name, force_demo, status, update_module)[1]
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
From 5134bf4b941f6ebea9f2d849808ab890e54f41e2 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:23:22 +0100
Subject: [PATCH 75/83] [REF] registry: the new_registry() helper is not useful
enough, we do not need it at the top-level.
bzr revid: vmt@openerp.com-20130327152322-1bsslx8jicjh26eq
---
openerp/__init__.py | 7 -------
openerp/addons/base/ir/ir_model.py | 3 +--
2 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/openerp/__init__.py b/openerp/__init__.py
index b7c09488996..960890de0b6 100644
--- a/openerp/__init__.py
+++ b/openerp/__init__.py
@@ -60,12 +60,5 @@ def registry(database_name):
"""
return modules.registry.RegistryManager.get(database_name)
-def new_registry(database_name):
- """
- Return the model registry for the given database. If the registry already
- existed, it is deleted and created again.
- """
- return modules.registry.RegistryManager.new(database_name)
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/addons/base/ir/ir_model.py b/openerp/addons/base/ir/ir_model.py
index a2664e62485..7de01aa3d11 100644
--- a/openerp/addons/base/ir/ir_model.py
+++ b/openerp/addons/base/ir/ir_model.py
@@ -168,7 +168,7 @@ class ir_model(osv.osv):
if not context.get(MODULE_UNINSTALL_FLAG):
# only reload pool for normal unlink. For module uninstall the
# reload is done independently in openerp.modules.loading
- openerp.new_registry(cr.dbname)
+ openerp.modules.registry.RegistryManager.new(cr.dbname)
return res
@@ -194,7 +194,6 @@ class ir_model(osv.osv):
field_state='manual',
select=vals.get('select_level', '0'))
self.pool[vals['model']]._auto_init(cr, ctx)
- # openerp.new_registry(cr.dbname)
return res
def instanciate(self, cr, user, model, context=None):
From 7b8f4fe5ee6369bb95ca7143b21a7c5b15e70c85 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:38:43 +0100
Subject: [PATCH 76/83] [REF] tests: use the openerp.tests namespace for
test-related logging.
bzr revid: vmt@openerp.com-20130327153843-u62ftp74qv01u1ww
---
openerp/addons/base/ir/ir_mail_server.py | 4 +++-
openerp/modules/loading.py | 5 +++--
openerp/modules/module.py | 5 +++--
openerp/tools/test_reports.py | 8 +++++---
4 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/openerp/addons/base/ir/ir_mail_server.py b/openerp/addons/base/ir/ir_mail_server.py
index 24feefb18ad..10fc5f82187 100644
--- a/openerp/addons/base/ir/ir_mail_server.py
+++ b/openerp/addons/base/ir/ir_mail_server.py
@@ -41,6 +41,8 @@ import openerp.tools as tools
from openerp.loglevels import ustr
_logger = logging.getLogger(__name__)
+_test_logger = logging.getLogger('openerp.tests')
+
class MailDeliveryException(osv.except_osv):
"""Specific exception subclass for mail delivery errors"""
@@ -411,7 +413,7 @@ class ir_mail_server(osv.osv):
# Do not actually send emails in testing mode!
if getattr(threading.currentThread(), 'testing', False):
- _logger.info("skip sending email in test mode")
+ _test_logger.info("skip sending email in test mode")
return message['Message-Id']
# Get SMTP Server Details from Mail Server
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 350452e16c4..9b735f8255c 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -44,6 +44,7 @@ from openerp.modules.module import initialize_sys_path, \
load_openerp_module, init_module_models, adapt_version
_logger = logging.getLogger(__name__)
+_test_logger = logging.getLogger('openerp.tests')
def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=None, report=None):
@@ -75,7 +76,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
_load_data(cr, module_name, idref, mode, 'test')
return True
except Exception:
- _logger.exception(
+ _test_logger.exception(
'module %s: an exception occurred in a test', module_name)
return False
finally:
@@ -96,7 +97,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
"""
for filename in package.data[kind]:
if kind == 'test':
- _logger.info("module %s: loading test %s", module_name, filename)
+ _test_logger.info("module %s: loading %s", module_name, filename)
else:
_logger.info("module %s: loading %s", module_name, filename)
_, ext = os.path.splitext(filename)
diff --git a/openerp/modules/module.py b/openerp/modules/module.py
index 9fdca4a9766..cc7b5904c73 100644
--- a/openerp/modules/module.py
+++ b/openerp/modules/module.py
@@ -43,6 +43,7 @@ from cStringIO import StringIO
import logging
_logger = logging.getLogger(__name__)
+_test_logger = logging.getLogger('openerp.tests')
_ad = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'addons') # default addons path (base)
ad_paths = []
@@ -503,7 +504,7 @@ def run_unit_tests(module_name):
for m in ms:
suite.addTests(unittest2.TestLoader().loadTestsFromModule(m))
if ms:
- _logger.info('module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
+ _test_logger.info('module %s: executing %s `fast_suite` and/or `checks` sub-modules', module_name, len(ms))
# Use a custom stream object to log the test executions.
class MyStream(object):
def __init__(self):
@@ -518,7 +519,7 @@ def run_unit_tests(module_name):
if not first:
c = '` ' + c
first = False
- _logger.info(c)
+ _test_logger.info(c)
result = unittest2.TextTestRunner(verbosity=2, stream=MyStream()).run(suite)
if result.wasSuccessful():
return True
diff --git a/openerp/tools/test_reports.py b/openerp/tools/test_reports.py
index 14deffb9ec2..e4c4e1cc5ac 100644
--- a/openerp/tools/test_reports.py
+++ b/openerp/tools/test_reports.py
@@ -35,6 +35,8 @@ import os
import tempfile
_logger = logging.getLogger(__name__)
+_test_logger = logging.getLogger('openerp.tests')
+
def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
""" Try to render a report with contents of ids
@@ -49,7 +51,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
rname_s = rname[7:]
else:
rname_s = rname
- _logger.info(" - Trying %s.create(%r)", rname, ids)
+ _test_logger.info(" - Trying %s.create(%r)", rname, ids)
res = netsvc.LocalService(rname).create(cr, uid, ids, data, context)
if not isinstance(res, tuple):
raise RuntimeError("Result of %s.create() should be a (data,format) tuple, now it is a %s" % \
@@ -92,7 +94,7 @@ def try_report(cr, uid, rname, ids, data=None, context=None, our_module=None):
_logger.warning("Report %s produced a \"%s\" chunk, cannot examine it", rname, res_format)
return False
- _logger.info(" + Report %s produced correctly.", rname)
+ _test_logger.info(" + Report %s produced correctly.", rname)
return True
def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
@@ -126,7 +128,7 @@ def try_report_action(cr, uid, action_id, active_model=None, active_ids=None,
pool = pooler.get_pool(cr.dbname)
def log_test(msg, *args):
- _logger.info(" - " + msg, *args)
+ _test_logger.info(" - " + msg, *args)
datas = {}
if active_model:
From ce58e16138ab29d02ae972171b779c4fca5c82fd Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:44:25 +0100
Subject: [PATCH 77/83] [REF] yaml_import: removed nested import openerp.
bzr revid: vmt@openerp.com-20130327154425-uu1fa01tdhrjt8kn
---
openerp/tools/yaml_import.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/openerp/tools/yaml_import.py b/openerp/tools/yaml_import.py
index 2ce7fc0a99a..662229541ad 100644
--- a/openerp/tools/yaml_import.py
+++ b/openerp/tools/yaml_import.py
@@ -5,6 +5,7 @@ import time # used to eval time.strftime expressions
from datetime import datetime, timedelta
import logging
+import openerp
import openerp.pooler as pooler
import openerp.sql_db as sql_db
import misc
@@ -281,7 +282,6 @@ class YamlInterpreter(object):
return record_dict
def process_record(self, node):
- import openerp.osv as osv
record, fields = node.items()[0]
model = self.get_model(record.model)
@@ -540,7 +540,6 @@ class YamlInterpreter(object):
self.noupdate = node.noupdate
def process_python(self, node):
- import openerp
python, statements = node.items()[0]
model = self.get_model(python.model)
statements = statements.replace("\r\n", "\n")
From de5c84c0e1a4d3a0ed2165e05b09c5354090ffdb Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:47:14 +0100
Subject: [PATCH 78/83] [REF] removed nested import openerp.
bzr revid: vmt@openerp.com-20130327154714-fa3k6gqtsmlt3vx6
---
openerp/addons/base/ir/ir_actions.py | 5 ++---
openerp/report/__init__.py | 4 ++--
openerp/report/interface.py | 2 +-
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/openerp/addons/base/ir/ir_actions.py b/openerp/addons/base/ir/ir_actions.py
index 1d717048b3f..cbdddb4401c 100644
--- a/openerp/addons/base/ir/ir_actions.py
+++ b/openerp/addons/base/ir/ir_actions.py
@@ -20,11 +20,13 @@
##############################################################################
import logging
+import operator
import os
import re
from socket import gethostname
import time
+import openerp
from openerp import SUPERUSER_ID
from openerp import netsvc, tools
from openerp.osv import fields, osv
@@ -89,9 +91,6 @@ class report_xml(osv.osv):
"""
Look up a report definition.
"""
- import openerp
- import operator
- import os
opj = os.path.join
# First lookup in the deprecated place, because if the report definition
diff --git a/openerp/report/__init__.py b/openerp/report/__init__.py
index 647e6ba93a6..2cf01636806 100644
--- a/openerp/report/__init__.py
+++ b/openerp/report/__init__.py
@@ -19,6 +19,8 @@
#
##############################################################################
+import openerp
+
import interface
import print_xml
import print_fnc
@@ -30,12 +32,10 @@ import report_sxw
import printscreen
-
def render_report(cr, uid, ids, name, data, context=None):
"""
Helper to call ``ir.actions.report.xml.render_report()``.
"""
- import openerp
registry = openerp.modules.registry.RegistryManager.get(cr.dbname)
return registry['ir.actions.report.xml'].render_report(cr, uid, ids, name, data, context)
diff --git a/openerp/report/interface.py b/openerp/report/interface.py
index 2f3a89a913b..39de2fc7a31 100644
--- a/openerp/report/interface.py
+++ b/openerp/report/interface.py
@@ -25,6 +25,7 @@ import re
from lxml import etree
import openerp.pooler as pooler
+import openerp
import openerp.tools as tools
import openerp.modules
import print_xml
@@ -45,7 +46,6 @@ class report_int(object):
def __init__(self, name, register=True):
if register:
- import openerp
assert openerp.conf.deprecation.allow_report_int_registration
assert name.startswith('report.'), 'Report names should start with "report.".'
assert name not in self._reports, 'The report "%s" already exists.' % name
From 92aace0c1340bdacd669c691bdba0dd50af0d46e Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:53:53 +0100
Subject: [PATCH 79/83] [DOC] netsvc: typo in docstring.
bzr revid: vmt@openerp.com-20130327155353-5eo7r95e7gbw9c4l
---
openerp/netsvc.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openerp/netsvc.py b/openerp/netsvc.py
index 799fd74158b..52984ccf29f 100644
--- a/openerp/netsvc.py
+++ b/openerp/netsvc.py
@@ -45,7 +45,7 @@ _logger = logging.getLogger(__name__)
def LocalService(name):
"""
- The openerp.netsvc.LocalService() fucntion is deprecated. It still works
+ The openerp.netsvc.LocalService() function is deprecated. It still works
in two cases: workflows and reports. For workflows, instead of using
LocalService('workflow'), openerp.workflow should be used (better yet,
methods on openerp.osv.orm.Model should be used). For reports,
From 461973b4c9abfcd7bd5080cd2f999495c5687d2e Mon Sep 17 00:00:00 2001
From: Xavier Morel
Date: Wed, 27 Mar 2013 16:54:24 +0100
Subject: [PATCH 80/83] [IMP] usage of python in convert_csv
* the reduce is equivalent to any
* apply De Morgan law
* misc.ustr is a function, can just pass it directly to map
bzr revid: xmo@openerp.com-20130327155424-dfbo915tl8qhsvqu
---
openerp/tools/convert.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index 59e66512da4..55ca1c1ce9c 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -915,10 +915,10 @@ def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
uid = 1
datas = []
for line in reader:
- if (not line) or not reduce(lambda x,y: x or y, line) :
+ if not (line and any(line)):
continue
try:
- datas.append(map(lambda x: misc.ustr(x), line))
+ datas.append(map(misc.ustr, line))
except:
_logger.error("Cannot import the line: %s", line)
result, rows, warning_msg, dummy = pool.get(model).import_data(cr, uid, fields, datas,mode, module, noupdate, filename=fname_partial)
From 4613a97c0101cc906b4c75d10015d88bac7c72c5 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 16:59:17 +0100
Subject: [PATCH 81/83] [REF] trolls.convert: missed an opportunity to reuse a
beautiful association list.
bzr revid: vmt@openerp.com-20130327155917-xaepclhoazgw51ef
---
openerp/tools/convert.py | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/openerp/tools/convert.py b/openerp/tools/convert.py
index cf8633f7a82..aaa29f2f9d3 100644
--- a/openerp/tools/convert.py
+++ b/openerp/tools/convert.py
@@ -294,7 +294,8 @@ form: module.record_id""" % (xml_id,)
res[dest] = rec.get(f,'').encode('utf8')
assert res[dest], "Attribute %s of report is empty !" % (f,)
for field,dest in (('rml','report_rml'),('file','report_rml'),('xml','report_xml'),('xsl','report_xsl'),
- ('attachment','attachment'),('attachment_use','attachment_use'), ('usage','usage')):
+ ('attachment','attachment'),('attachment_use','attachment_use'), ('usage','usage'),
+ ('report_type', 'report_type'), ('parser', 'parser')):
if rec.get(field):
res[dest] = rec.get(field).encode('utf8')
if rec.get('auto'):
@@ -304,10 +305,6 @@ form: module.record_id""" % (xml_id,)
res['report_sxw_content'] = sxw_content
if rec.get('header'):
res['header'] = eval(rec.get('header','False'))
- if rec.get('report_type'):
- res['report_type'] = rec.get('report_type')
- if rec.get('parser'):
- res['parser'] = rec.get('parser')
res['multi'] = rec.get('multi') and eval(rec.get('multi','False'))
From 255cec154a8e65c1005bce7d113398d009d1d6f7 Mon Sep 17 00:00:00 2001
From: Vo Minh Thu
Date: Wed, 27 Mar 2013 17:04:20 +0100
Subject: [PATCH 82/83] [IMP] report: let the exceptions bubble up when using
eval().
bzr revid: vmt@openerp.com-20130327160420-pxw83283xcro1h52
---
openerp/report/render/rml2pdf/utils.py | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/openerp/report/render/rml2pdf/utils.py b/openerp/report/render/rml2pdf/utils.py
index 273d5815609..75923e64081 100644
--- a/openerp/report/render/rml2pdf/utils.py
+++ b/openerp/report/render/rml2pdf/utils.py
@@ -131,14 +131,11 @@ def _process_text(self, txt):
to_translate = tools.ustr(sps.pop(0))
result += tools.ustr(self.localcontext.get('translate', lambda x:x)(to_translate))
if sps:
- try:
- txt = None
- expr = sps.pop(0)
- txt = eval(expr, self.localcontext)
- if txt and isinstance(txt, basestring):
- txt = tools.ustr(txt)
- except Exception:
- pass
+ txt = None
+ expr = sps.pop(0)
+ txt = eval(expr, self.localcontext)
+ if txt and isinstance(txt, basestring):
+ txt = tools.ustr(txt)
if isinstance(txt, basestring):
result += txt
elif txt and (txt is not None) and (txt is not False):
From b1e422ceb0777bbfaa47e3fb2233c1d21b3ccda2 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Thu, 28 Mar 2013 04:41:37 +0000
Subject: [PATCH 83/83] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20130328044137-9fjn7lmvs63pc0gw
---
addons/base_import/i18n/hu.po | 274 +-
addons/crm/i18n/es_MX.po | 5066 +++++++++++----------------------
addons/fetchmail/i18n/cs.po | 335 +++
addons/note/i18n/cs.po | 284 ++
4 files changed, 2551 insertions(+), 3408 deletions(-)
create mode 100644 addons/fetchmail/i18n/cs.po
create mode 100644 addons/note/i18n/cs.po
diff --git a/addons/base_import/i18n/hu.po b/addons/base_import/i18n/hu.po
index 2c3c4e60ab2..71b229fb49e 100644
--- a/addons/base_import/i18n/hu.po
+++ b/addons/base_import/i18n/hu.po
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2012-12-21 17:05+0000\n"
-"PO-Revision-Date: 2013-03-17 23:49+0000\n"
+"PO-Revision-Date: 2013-03-27 22:52+0000\n"
"Last-Translator: krnkris \n"
"Language-Team: Hungarian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-03-19 05:33+0000\n"
-"X-Generator: Launchpad (build 16532)\n"
+"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n"
+"X-Generator: Launchpad (build 16546)\n"
#. module: base_import
#. openerp-web
@@ -441,6 +441,20 @@ msgid ""
"category \n"
" hierarchy."
msgstr ""
+"Például, ha két termék kategóriával rendelkezik \n"
+" ezzel az al-névvel \"Értékesíthető\" (pl. \"Egyéb \n"
+" Termékek/Értékesíthetők\" & \"Más "
+"Termékek/Értékesíthetők\"),\n"
+" akkor a jóváhagyás meg lesz állítva, de az adatait "
+"még tudja \n"
+" importálni. Azonban, nem ajánlott az adat betöltése "
+"\n"
+" mivel az összes adat az első találhat "
+"'Értékesíthető' kategóriához \n"
+" lesz hozzárendelve a Termék kategória listában \n"
+" (\"Egyéb Termékeke/Értékesíthető\"). Ajánljuk, hogy "
+"módosítsa \n"
+" a termék kategória rangsor egyik ismétlődő értékét ."
#. module: base_import
#. openerp-web
@@ -452,6 +466,9 @@ msgid ""
"\n"
" PSQL:"
msgstr ""
+"Személyekhez CVS fájl létrehozása, vállalatokhoz\n"
+" kapcsolva, a következő SQL parancsot használva a \n"
+" PSQL-ben:"
#. module: base_import
#. openerp-web
@@ -463,11 +480,16 @@ msgid ""
" (in 'Save As' dialog box > click 'Tools' dropdown \n"
" list > Encoding tab)."
msgstr ""
+"Microsoft Excel lehetővé teszi\n"
+" csak a kódolás módosítását az elmentés alatt \n"
+" (a 'Mentés másként' párbeszéd ablakban > kattints a "
+"'Kellékek' legördülő \n"
+" listán > a Kódolás fülre)."
#. module: base_import
#: field:base_import.tests.models.preview,othervalue:0
msgid "Other Variable"
-msgstr ""
+msgstr "Másik változó"
#. module: base_import
#. openerp-web
@@ -479,6 +501,11 @@ msgid ""
" later, it's thus good practice to specify it\n"
" whenever possible"
msgstr ""
+"az eredeti importálás frissítéséhez is \n"
+" használja, ha később is fel akarja használni az újra-"
+"importált módosított\n"
+" adatot, amikor csak lehet ez egy jó gyakorlás a \n"
+" meghatározáshoz"
#. module: base_import
#. openerp-web
@@ -488,6 +515,9 @@ msgid ""
"file to import. If you need a sample importable file, you\n"
" can use the export tool to generate one."
msgstr ""
+"fájl importáláshoz, betöltéshez. Ha szüksége van egy importálható példa "
+"fájlra, akkor\n"
+" használhatja az export eszközt egy új generálásához."
#. module: base_import
#. openerp-web
@@ -497,16 +527,19 @@ msgid ""
"Country/Database \n"
" ID: 21"
msgstr ""
+"Ország/Adatbázis \n"
+" ID: 21"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_char
msgid "base_import.tests.models.char"
-msgstr ""
+msgstr "base_import.tests.models.char"
#. module: base_import
#: help:base_import.import,file:0
msgid "File to check and/or import, raw binary (not base64)"
msgstr ""
+"Az importálandó és/vagy ellenőrizni kívánt fájl, nyers bináris (nem base64)"
#. module: base_import
#. openerp-web
@@ -514,6 +547,7 @@ msgstr ""
#, python-format
msgid "Purchase orders with their respective purchase order lines"
msgstr ""
+"Beszerzési megrendelések a hozzájuk tartozó beszerzési megrendelés sorokkal"
#. module: base_import
#. openerp-web
@@ -525,13 +559,18 @@ msgid ""
" field corresponding to the column. This makes imports\n"
" simpler especially when the file has many columns."
msgstr ""
+"Ha a fájl tartalmazza\n"
+" az oszlop neveket, OpenERP megpróbálhatja automatikusan "
+"észlelni\n"
+" oszlophoz tartozó mezőt. Ez az importálásokat egyszerűbbé\n"
+" teszi, főként, ha a fájl tele van oszlopokkal."
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:26
#, python-format
msgid ".CSV"
-msgstr ""
+msgstr ".CSV"
#. module: base_import
#. openerp-web
@@ -541,16 +580,18 @@ msgid ""
". The issue is\n"
" usually an incorrect file encoding."
msgstr ""
+". A probléma\n"
+" általában a téves fájl kódolás."
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required
msgid "base_import.tests.models.m2o.required"
-msgstr ""
+msgstr "base_import.tests.models.m2o.required"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_char_noreadonly
msgid "base_import.tests.models.char.noreadonly"
-msgstr ""
+msgstr "base_import.tests.models.char.noreadonly"
#. module: base_import
#. openerp-web
@@ -567,65 +608,75 @@ msgid ""
"filter \n"
" settings' > Save)."
msgstr ""
+"Ha szerkeszti és menti a CSV fájlt a táblázat kezelő \n"
+" alkalmazásokban, a számítógépének területi "
+"beállítása lesz \n"
+" az elválasztáshoz és a határolójelekhez használva. \n"
+" Ajánljuk az OpenOffice vagy LibreOffice Calc \n"
+" használatát, mivel ezek lehetővé teszik mindhárom "
+"lehetőség\n"
+" módosítását (a 'Mentés másként' beszédpanelen > a\n"
+" 'Szerkesztési szűrő beállítás' négyzetnek\n"
+" a bejelölésével > Mentés)."
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:30
#, python-format
msgid "CSV File:"
-msgstr ""
+msgstr "CSV Fájl:"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_preview
msgid "base_import.tests.models.preview"
-msgstr ""
+msgstr "base_import.tests.models.preview"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_char_required
msgid "base_import.tests.models.char.required"
-msgstr ""
+msgstr "base_import.tests.models.char.required"
#. module: base_import
#: code:addons/base_import/models.py:112
#, python-format
msgid "Database ID"
-msgstr ""
+msgstr "Adatbázis ID azonosító"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:313
#, python-format
msgid "It will produce the following CSV file:"
-msgstr ""
+msgstr "Ez a következő CSV fájlt fogja létrehozni:"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:362
#, python-format
msgid "Here is the start of the file we could not import:"
-msgstr ""
+msgstr "Itt van a fájlnak az eleje, melyiket nem tudtuk importálni:"
#. module: base_import
#: field:base_import.import,file_type:0
msgid "File Type"
-msgstr ""
+msgstr "Fájl típus"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_import
msgid "base_import.import"
-msgstr ""
+msgstr "base_import.import"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_o2m
msgid "base_import.tests.models.o2m"
-msgstr ""
+msgstr "base_import.tests.models.o2m"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:360
#, python-format
msgid "Import preview failed due to:"
-msgstr ""
+msgstr "Import előnézet ezért nem sikerült:"
#. module: base_import
#. openerp-web
@@ -637,18 +688,22 @@ msgid ""
"\n"
" that imported it)"
msgstr ""
+"Ország/Külső ID azonosító: ennek a rekordnak az ID azonosítója\n"
+" másik alkalmazásban egy hivatkozás (vagy az .XML "
+"fájl \n"
+" ami importálta azt)"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:35
#, python-format
msgid "Reload data to check changes."
-msgstr ""
+msgstr "Adatok újratöltése a változások ellenőrzéséhez."
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_char_readonly
msgid "base_import.tests.models.char.readonly"
-msgstr ""
+msgstr "base_import.tests.models.char.readonly"
#. module: base_import
#. openerp-web
@@ -665,6 +720,18 @@ msgid ""
"\n"
" per field you want to import."
msgstr ""
+"Egyes mezők hivatkozásokat határoznak meg más \n"
+" objektummal. Például, egy kapcsolat országa \n"
+" csatolva van egy 'Ország' tárgyú rekorddal. Ha ilyen "
+"\n"
+" mezőket szeretne importálni, OpenERP újra létre "
+"kell\n"
+" hozza a kapcsolatokat a különböző rekordokhoz. \n"
+" Ilyen mezők importálásának segítésére, OpenERP három "
+"\n"
+" módot biztosít. Kizárólag egy módszert használhat az "
+"\n"
+" importálni kívánt mezőnként."
#. module: base_import
#. openerp-web
@@ -678,19 +745,26 @@ msgid ""
" then you will encode it as follow \"Manufacturer,\n"
" Retailer\" in the same column of your CSV file."
msgstr ""
+"A címkéket vesszővel kell elválasztani egyéb szóköz használata \n"
+" nélkül. Például, ha a vevőjét két címkéhez szeretné "
+"\n"
+" társítani, mint 'Gyártó' és 'Kiskereskedő' \n"
+" akkor azt a következő képpen kell bevinnie "
+"\"Gyártó,\n"
+" Kiskereskedő\" a CVS fájl ugyanazon oszlopába."
#. module: base_import
#: code:addons/base_import/models.py:264
#, python-format
msgid "You must configure at least one field to import"
-msgstr ""
+msgstr "Legalább egy mezőt be kell állítania az importáláshoz"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:304
#, python-format
msgid "company_2,Organi,True"
-msgstr ""
+msgstr "vállalat_2,Organi,Igaz"
#. module: base_import
#. openerp-web
@@ -700,37 +774,39 @@ msgid ""
"The first row of the\n"
" file contains the label of the column"
msgstr ""
+"A fájl első oszlopa\n"
+" tartalmazza az oszlop elnevezését"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_char_states
msgid "base_import.tests.models.char.states"
-msgstr ""
+msgstr "base_import.tests.models.char.states"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:7
#, python-format
msgid "Import a CSV File"
-msgstr ""
+msgstr "Egy CVS fájl importálása"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:74
#, python-format
msgid "Quoting:"
-msgstr ""
+msgstr "Hivatkozni:"
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_required_related
msgid "base_import.tests.models.m2o.required.related"
-msgstr ""
+msgstr "base_import.tests.models.m2o.required.related"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:293
#, python-format
msgid ")."
-msgstr ""
+msgstr "nkat)."
#. module: base_import
#. openerp-web
@@ -738,21 +814,21 @@ msgstr ""
#: code:addons/base_import/static/src/xml/import.xml:396
#, python-format
msgid "Import"
-msgstr ""
+msgstr "Importálás"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:438
#, python-format
msgid "Here are the possible values:"
-msgstr ""
+msgstr "Ezek a lehetséges értékek:"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:82
#, python-format
msgid "The"
-msgstr ""
+msgstr "A"
#. module: base_import
#. openerp-web
@@ -762,20 +838,22 @@ msgid ""
"A single column was found in the file, this often means the file separator "
"is incorrect"
msgstr ""
+"Egy oszlop található a fájlban, Ez sokszor azt jelenti, hogy a fájl "
+"elválasztó hibás"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:293
#, python-format
msgid "dump of such a PostgreSQL database"
-msgstr ""
+msgstr "ilyen jellegű PostgreSQL adatbázis eldobása"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:301
#, python-format
msgid "This SQL command will create the following CSV file:"
-msgstr ""
+msgstr "Ez az SQL parancs ezt a CSV fájlt fogja létre hozni:"
#. module: base_import
#. openerp-web
@@ -785,6 +863,9 @@ msgid ""
"The following CSV file shows how to import purchase \n"
" orders with their respective purchase order lines:"
msgstr ""
+"A következő CSV fájl megmutatja hogyan importálja a beszerzési \n"
+" megrendeléseket a hozzá tartozó beszerzési "
+"megrendelés sorokkal:"
#. module: base_import
#. openerp-web
@@ -794,6 +875,8 @@ msgid ""
"What can I do when the Import preview table isn't \n"
" displayed correctly?"
msgstr ""
+"Mit tehetek, ha a kijelzőn lévő import tábla\n"
+" előnézete hibás?"
#. module: base_import
#: field:base_import.tests.models.char,value:0
@@ -810,21 +893,21 @@ msgstr ""
#: field:base_import.tests.models.o2m.child,parent_id:0
#: field:base_import.tests.models.o2m.child,value:0
msgid "unknown"
-msgstr ""
+msgstr "ismeretlen"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:317
#, python-format
msgid "person_2,Laurence,False,company_1"
-msgstr ""
+msgstr "személy_2,Laurence,Hamis,vállalat_1"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:149
#, python-format
msgid "Country/External ID: base.be"
-msgstr ""
+msgstr "Ország/Külső ID azonosító: base.be"
#. module: base_import
#. openerp-web
@@ -839,27 +922,35 @@ msgid ""
" the company he work for. (If you want to test this \n"
" example, here is a"
msgstr ""
+"Példának, feltételezzük, hogy van egy SQL adatbázis \n"
+" két importálandó táblázattal: vállalatok és \n"
+" személyek. Mindegyik személy egy vállalathoz "
+"tartozik, így \n"
+" létre kell hozni a kapcsolatot a személyek és a "
+"munkahelyi \n"
+" vállalatuk közt. (Ha tesztelni szeretné \n"
+" ezt a példát, itt van a"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:427
#, python-format
msgid "(%d more)"
-msgstr ""
+msgstr "(%d több)"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:227
#, python-format
msgid "File for some Quotations"
-msgstr ""
+msgstr "Fájl egy pár kérdésnek"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:72
#, python-format
msgid "Encoding:"
-msgstr ""
+msgstr "Kódolás:"
#. module: base_import
#. openerp-web
@@ -879,6 +970,20 @@ msgid ""
"\n"
" table. (like 'company_1', 'person_1' instead of '1')"
msgstr ""
+"Táblák közti relációk összefésülésének kezelése, \n"
+" használhatja a \"Külső ID azonosító\" OpenERP "
+"lehetőséget. \n"
+" A rekordhoz tartozó \"Külső ID azonosító\" a rekord "
+"egy másik \n"
+" alkalmazáson belüli egyedi azonosítója. Ez a \"Külső "
+"ID\n"
+" azonosító\" egyedi kell legyen minden rekordban és "
+"az összes \n"
+" objektumon, ezért jó gyakorlat ennek a \"Külső ID "
+"azonosítónak\"\n"
+" az alkalmazás vagy tábla előtaggal való "
+"kiegészítése. \n"
+" (mint 'vállalat_1', 'személy_1' az '1' helyett)"
#. module: base_import
#. openerp-web
@@ -889,6 +994,9 @@ msgid ""
" \"External ID\". In PSQL, write the following "
"command:"
msgstr ""
+"Először az összes vállalatot és a hozzá tartozó \"Külső ID azonosító\" lesz "
+"\n"
+" exportálva. A PSQL-ben, írja a következő parancsot:"
#. module: base_import
#. openerp-web
@@ -898,13 +1006,15 @@ msgid ""
"How can I import a one2many relationship (e.g. several \n"
" Order Lines of a Sales Order)?"
msgstr ""
+"Hogyan tudom importálni a one2many kapcsolatot (pl. egyes \n"
+" megrendelés sorokat egy megrendelésből)?"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:404
#, python-format
msgid "Everything seems valid."
-msgstr ""
+msgstr "Úgy néz ki mindegyik érvényes."
#. module: base_import
#. openerp-web
@@ -917,13 +1027,18 @@ msgid ""
" use make use of the external ID for this field \n"
" 'Category'."
msgstr ""
+"Azonban, ha nem szeretné a termék kategóriákat\n"
+" beállításait megváltoztatni, azt ajánljuk, hogy "
+"használja \n"
+" a külső ID azonosító használatát erre a 'Kategória'\n"
+" mezőre."
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:421
#, python-format
msgid "at row %d"
-msgstr ""
+msgstr "Ebben a sorban %d"
#. module: base_import
#. openerp-web
@@ -933,13 +1048,15 @@ msgid ""
"How can I import a many2many relationship field \n"
" (e.g. a customer that has multiple tags)?"
msgstr ""
+"Hogyan tudom importálni egy many2many kapcsolati mezőt \n"
+" (pl. egy vevő akinek több címkéje van)?"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:80
#, python-format
msgid "XXX/ID"
-msgstr ""
+msgstr "XXX/ID"
#. module: base_import
#. openerp-web
@@ -955,6 +1072,14 @@ msgid ""
" link between each person and the company they work \n"
" for)."
msgstr ""
+"Ha különböző táblázatokból kell adatot importálni, \n"
+" akkor a különböző táblázatok közötti rekordok "
+"kapcsolatait\n"
+" újra létre kell hozni. (pl. ha vállalatokat és "
+"személyeket \n"
+" importál, akkor létre kell hoznia a kapcsolatot \n"
+" minden személy és a vállalata közt, ahol "
+"alakalmazott)."
#. module: base_import
#. openerp-web
@@ -967,13 +1092,19 @@ msgid ""
" Here is when you should use one or the other, \n"
" according to your need:"
msgstr ""
+"Az igénye szerint, használni kell \n"
+" egyet a lehetésges 3 közül a a rekordokra "
+"hivatkozáshoz a kapcsolatokban. \n"
+" It van, ha egyiket a másik helyett kelle használni, "
+"\n"
+" az igénye szerint:"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:319
#, python-format
msgid "person_4,Ramsy,False,company_3"
-msgstr ""
+msgstr "személy_4,Ramsy,Hamis,vállalat_3"
#. module: base_import
#. openerp-web
@@ -989,13 +1120,20 @@ msgid ""
" will set the EMPTY value in the field, instead of \n"
" assigning the default value."
msgstr ""
+"Ha nem állítja be az összes mezőt a CSV fájlban, \n"
+" OpenERP az alapértelmezett értéket fogja adni minden "
+"olyan mezőnak ami \n"
+" nincs meghatározva. Ha a mezőnek\n"
+" üres értéket ad a CSV fájlban, OpenERP \n"
+" az ÜRES értéket fogja beállítani a mezőre, az \n"
+" alapértelmezett érték hozzáadása helyett."
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:20
#, python-format
msgid "Cancel"
-msgstr ""
+msgstr "Megszakítás"
#. module: base_import
#. openerp-web
@@ -1005,20 +1143,22 @@ msgid ""
"What happens if I do not provide a value for a \n"
" specific field?"
msgstr ""
+"Mi történik, ha nem adok meg értéket egy \n"
+" bizonyos mezőhöz?"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:68
#, python-format
msgid "Frequently Asked Questions"
-msgstr ""
+msgstr "Leggyakoribb kérdések"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:305
#, python-format
msgid "company_3,Boum,True"
-msgstr ""
+msgstr "vállalat_3,Boum,Igaz"
#. module: base_import
#. openerp-web
@@ -1032,6 +1172,12 @@ msgid ""
"spreadsheet \n"
" application."
msgstr ""
+"Ez a tulajdonság \n"
+" lehetővé teszi az OpenERP Import/Export eszköz "
+"használatát \n"
+" a rekord kötegek módosítására a kedvenc táblázat "
+"kezelőjénak \n"
+" alkalmazásával."
#. module: base_import
#. openerp-web
@@ -1042,6 +1188,9 @@ msgid ""
" import an other record that links to the first\n"
" one, use"
msgstr ""
+"oszlop az OpenERP-ben. Ha\n"
+" másik rekordot importál amelyik az elsőre\n"
+" hivatkozik, hasznája"
#. module: base_import
#. openerp-web
@@ -1068,14 +1217,14 @@ msgstr ""
#: code:addons/base_import/static/src/xml/import.xml:169
#, python-format
msgid "CSV file for categories"
-msgstr ""
+msgstr "CSV fájl kategóriákhoz"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:330
#, python-format
msgid "Normal Fields"
-msgstr ""
+msgstr "Normál mezők"
#. module: base_import
#. openerp-web
@@ -1087,13 +1236,18 @@ msgid ""
" identifier from the original application and\n"
" map it to the"
msgstr ""
+"A különböző rekordok közötti kapcsolat újboli\n"
+" létrehozásához, az eredeti alkalmazás \n"
+" egyedi azonosítójának használata\n"
+" szükséges amit\n"
+" irányítson ehhez"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:170
#, python-format
msgid "CSV file for Products"
-msgstr ""
+msgstr "CSV fájl a termékekhez"
#. module: base_import
#. openerp-web
@@ -1117,31 +1271,31 @@ msgstr ""
#. module: base_import
#: model:ir.model,name:base_import.model_base_import_tests_models_m2o_related
msgid "base_import.tests.models.m2o.related"
-msgstr ""
+msgstr "base_import.tests.models.m2o.related"
#. module: base_import
#: field:base_import.tests.models.preview,name:0
msgid "Name"
-msgstr ""
+msgstr "Név"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:80
#, python-format
msgid "to the original unique identifier."
-msgstr ""
+msgstr "az eredeti egyedi ID azonosítóhoz."
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:318
#, python-format
msgid "person_3,Eric,False,company_2"
-msgstr ""
+msgstr "személy_3,Eric,Hamis,vállalt_2"
#. module: base_import
#: field:base_import.import,res_model:0
msgid "Model"
-msgstr ""
+msgstr "Modell"
#. module: base_import
#. openerp-web
@@ -1149,7 +1303,7 @@ msgstr ""
#: code:addons/base_import/static/src/xml/import.xml:82
#, python-format
msgid "ID"
-msgstr ""
+msgstr "Azonosító ID"
#. module: base_import
#. openerp-web
@@ -1184,12 +1338,12 @@ msgstr ""
#: code:addons/base_import/static/src/js/import.js:73
#, python-format
msgid "Separator:"
-msgstr ""
+msgstr "Elválasztó:"
#. module: base_import
#: field:base_import.import,file_name:0
msgid "File Name"
-msgstr ""
+msgstr "Fájl neve"
#. module: base_import
#. openerp-web
@@ -1199,28 +1353,28 @@ msgstr ""
#: code:addons/base_import/static/src/xml/import.xml:82
#, python-format
msgid "External ID"
-msgstr ""
+msgstr "Külső ID azonosító"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:39
#, python-format
msgid "File Format Options…"
-msgstr ""
+msgstr "Fájl formátum lehetőségek…"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/js/import.js:423
#, python-format
msgid "between rows %d and %d"
-msgstr ""
+msgstr "oszlopok közt %d és %d"
#. module: base_import
#. openerp-web
#: code:addons/base_import/static/src/xml/import.xml:19
#, python-format
msgid "or"
-msgstr ""
+msgstr "vagy"
#. module: base_import
#. openerp-web
diff --git a/addons/crm/i18n/es_MX.po b/addons/crm/i18n/es_MX.po
index 24271346a0b..798924be3df 100644
--- a/addons/crm/i18n/es_MX.po
+++ b/addons/crm/i18n/es_MX.po
@@ -1,163 +1,158 @@
-# Translation of OpenERP Server.
-# This file contains the translation of the following modules:
-# * crm
+# Spanish (Mexico) translation for openobject-addons
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2013.
#
msgid ""
msgstr ""
-"Project-Id-Version: OpenERP Server 6.0dev\n"
-"Report-Msgid-Bugs-To: support@openerp.com\n"
-"POT-Creation-Date: 2011-01-11 11:15+0000\n"
-"PO-Revision-Date: 2011-01-18 07:46+0000\n"
-"Last-Translator: Jorge L Tupac-Yupanqui \n"
-"Language-Team: \n"
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-12-21 17:04+0000\n"
+"PO-Revision-Date: 2013-03-28 01:06+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Spanish (Mexico) \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2011-09-05 05:08+0000\n"
-"X-Generator: Launchpad (build 13830)\n"
+"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n"
+"X-Generator: Launchpad (build 16546)\n"
#. module: crm
#: view:crm.lead.report:0
msgid "# Leads"
-msgstr "# Iniciativas"
+msgstr ""
#. module: crm
+#: help:sale.config.settings,fetchmail_lead:0
+msgid ""
+"Allows you to configure your incoming mail server, and create leads from "
+"incoming emails."
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:881
+#: selection:crm.case.stage,type:0
#: view:crm.lead:0
#: selection:crm.lead,type:0
+#: view:crm.lead.report:0
#: selection:crm.lead.report,type:0
+#, python-format
msgid "Lead"
-msgstr "Iniciativa"
-
-#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor3
-msgid "Need Services"
-msgstr "Necesita servicios"
-
-#. module: crm
-#: selection:crm.meeting,rrule_type:0
-msgid "Monthly"
-msgstr "Mensual"
-
-#. module: crm
-#: view:crm.opportunity2phonecall:0
-msgid "Schedule a PhoneCall"
-msgstr "Planificar llamada telefónica"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_case_stage
-msgid "Stage of case"
-msgstr "Etapa del caso"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Visibility"
-msgstr "Visibilidad"
-
-#. module: crm
-#: field:crm.lead,title:0
-msgid "Title"
-msgstr "Título"
-
-#. module: crm
-#: field:crm.meeting,show_as:0
-msgid "Show as"
-msgstr "Mostrar como"
-
-#. module: crm
-#: field:crm.meeting,day:0
-#: selection:crm.meeting,select1:0
-msgid "Date of month"
-msgstr "Día del mes"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: view:crm.phonecall:0
-msgid "Today"
-msgstr "Hoy"
+#: field:crm.lead,title:0
+msgid "Title"
+msgstr ""
#. module: crm
-#: view:crm.merge.opportunity:0
+#: model:ir.actions.server,message:crm.action_email_reminder_lead
+msgid ""
+"Warning unprocessed incoming lead is more than 5 day old.\n"
+"Name: [[object.name ]]\n"
+"ID: [[object.id ]]\n"
+"Description: [[object.description]]\n"
+" "
+msgstr ""
+
+#. module: crm
+#: field:crm.opportunity2phonecall,action:0
+#: field:crm.phonecall2phonecall,action:0
+msgid "Action"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.server,name:crm.action_set_team_sales_department
+msgid "Set team to Sales Department"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead2opportunity.partner.mass:0
msgid "Select Opportunities"
-msgstr "Seleccionar oportunidades"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-#: view:crm.phonecall2opportunity:0
-#: view:crm.phonecall2phonecall:0
-#: view:crm.send.mail:0
-msgid " "
-msgstr " "
+#: model:res.groups,name:crm.group_fund_raising
+#: field:sale.config.settings,group_fund_raising:0
+msgid "Manage Fund Raising"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
#: field:crm.phonecall.report,delay_close:0
msgid "Delay to close"
-msgstr "Demora cierre"
+msgstr ""
+
+#. module: crm
+#: view:crm.case.stage:0
+#: field:crm.case.stage,name:0
+msgid "Stage Name"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-msgid "Previous Stage"
-msgstr "Etapa anterior"
+#: field:crm.lead,user_id:0
+#: view:crm.lead.report:0
+#: view:crm.phonecall.report:0
+msgid "Salesperson"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_add_note.py:26
-#, python-format
-msgid "Can not add note!"
-msgstr "¡No se puede añadir una nota!"
-
-#. module: crm
-#: field:crm.case.stage,name:0
-msgid "Stage Name"
-msgstr "Nombre de etapa"
+#: model:ir.model,name:crm.model_crm_lead_report
+msgid "CRM Lead Analysis"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
-#: field:crm.lead.report,day:0
#: view:crm.phonecall.report:0
#: field:crm.phonecall.report,day:0
msgid "Day"
-msgstr "Día"
+msgstr ""
#. module: crm
-#: sql_constraint:crm.case.section:0
-msgid "The code of the sales team must be unique !"
-msgstr "¡El código del equipo de ventas debe ser único!"
+#: view:crm.lead:0
+msgid "Company Name"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:95
-#, python-format
-msgid "Lead '%s' has been converted to an opportunity."
-msgstr "La inicaitiva '%s' ha sido convertida en oportunidad"
+#: model:crm.case.categ,name:crm.categ_oppor6
+msgid "Training"
+msgstr ""
#. module: crm
-#: code:addons/crm/crm_lead.py:228
-#, python-format
-msgid "The lead '%s' has been closed."
-msgstr "La iniciativa '%s' ha sido cerrada"
+#: model:ir.actions.act_window,name:crm.crm_lead_categ_action
+#: model:ir.ui.menu,name:crm.menu_crm_lead_categ
+msgid "Sales Tags"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "No Repeat"
-msgstr "No repetir"
+#: view:crm.lead.report:0
+msgid "Exp. Closing"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260
-#: code:addons/crm/wizard/crm_lead_to_partner.py:55
-#: code:addons/crm/wizard/crm_phonecall_to_partner.py:52
-#, python-format
-msgid "Warning !"
-msgstr "Advertencia !"
+#: help:crm.case.section,message_unread:0
+#: help:crm.lead,message_unread:0
+#: help:crm.phonecall,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr ""
#. module: crm
-#: selection:crm.meeting,rrule_type:0
-msgid "Yearly"
-msgstr "Anual"
+#: help:crm.lead.report,creation_day:0
+msgid "Creation day"
+msgstr ""
#. module: crm
#: field:crm.segmentation.line,name:0
msgid "Rule Name"
-msgstr "Nombre de regla"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_phonecall.py:280
+#, python-format
+msgid "It's only possible to convert one phonecall at a time."
+msgstr ""
#. module: crm
#: view:crm.case.resource.type:0
@@ -167,536 +162,147 @@ msgstr "Nombre de regla"
#: field:crm.lead.report,type_id:0
#: model:ir.model,name:crm.model_crm_case_resource_type
msgid "Campaign"
-msgstr "Campaña"
-
-#. module: crm
-#: selection:crm.lead2opportunity.partner,action:0
-msgid "Do not create a partner"
-msgstr "No crear una empresa"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Search Opportunities"
-msgstr "Busqueda de oportunidades"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_merge_opportunities.py:46
-#, python-format
-msgid ""
-"Opportunity must have Partner assigned before merging with other Opportunity."
msgstr ""
-"La oportunidad debe de tener una empresa asignada antes de fusionarla con "
-"otra oportunidad."
#. module: crm
-#: code:addons/crm/wizard/crm_merge_opportunities.py:46
-#: code:addons/crm/wizard/crm_merge_opportunities.py:53
+#: help:crm.lead.report,deadline_month:0
+msgid "Expected closing month"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.section,message_summary:0
+#: help:crm.lead,message_summary:0
+#: help:crm.phonecall,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:624
+#: code:addons/crm/crm_lead.py:744
+#: code:addons/crm/crm_phonecall.py:280
#, python-format
msgid "Warning!"
-msgstr "¡Aviso!"
-
-#. module: crm
-#: view:crm.lead.report:0
-#: model:ir.actions.act_window,name:crm.action_report_crm_opportunity
-#: model:ir.ui.menu,name:crm.menu_report_crm_opportunities_tree
-msgid "Opportunities Analysis"
-msgstr "Análisis de oportunidades"
-
-#. module: crm
-#: field:crm.lead,partner_id:0
-#: view:crm.lead.report:0
-#: field:crm.lead.report,partner_id:0
-#: field:crm.lead2opportunity,partner_id:0
-#: field:crm.lead2opportunity.partner,partner_id:0
-#: field:crm.lead2partner,partner_id:0
-#: view:crm.meeting:0
-#: field:crm.meeting,partner_id:0
-#: field:crm.partner2opportunity,partner_id:0
-#: view:crm.phonecall:0
-#: field:crm.phonecall,partner_id:0
-#: view:crm.phonecall.report:0
-#: field:crm.phonecall.report,partner_id:0
-#: field:crm.phonecall2opportunity,partner_id:0
-#: field:crm.phonecall2partner,partner_id:0
-#: model:ir.model,name:crm.model_res_partner
-#: model:process.node,name:crm.process_node_partner0
-msgid "Partner"
-msgstr "Empresa"
-
-#. module: crm
-#: field:crm.meeting,organizer:0
-#: field:crm.meeting,organizer_id:0
-msgid "Organizer"
-msgstr "Organizador"
-
-#. module: crm
-#: view:crm.phonecall:0
-#: view:crm.phonecall2phonecall:0
-#: model:ir.actions.act_window,name:crm.phonecall_to_phonecall_act
-#: view:res.partner:0
-msgid "Schedule Other Call"
-msgstr "Planificar otra llamada"
-
-#. module: crm
-#: help:crm.meeting,edit_all:0
-msgid "Edit all Occurrences of recurrent Meeting."
-msgstr "Editar todas las ocurrencias de la reunión recurrente."
-
-#. module: crm
-#: code:addons/crm/wizard/crm_opportunity_to_phonecall.py:134
-#: code:addons/crm/wizard/crm_phonecall_to_phonecall.py:89
-#: model:crm.case.categ,name:crm.categ_meet3
-#: view:crm.phonecall:0
-#: model:ir.ui.menu,name:crm.menu_crm_config_phonecall
-#: view:res.partner:0
-#, python-format
-msgid "Phone Call"
-msgstr "Llamada de telefono"
-
-#. module: crm
-#: field:crm.lead,optout:0
-msgid "Opt-Out"
-msgstr "No acepta recibir emails"
-
-#. module: crm
-#: code:addons/crm/crm_opportunity.py:108
-#, python-format
-msgid "The opportunity '%s' has been marked as lost."
-msgstr "La oportunidad '%s' ha sido marcada como perdida."
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.action_report_crm_lead
-msgid ""
-"Leads Analysis allows you to check different CRM related information. Check "
-"for treatment delays, number of responses given and emails sent. You can "
-"sort out your leads analysis by different groups to get accurate grained "
-"analysis."
msgstr ""
-"El análisis de iniciativas le permite verificar información relacionada con "
-"el CRM. Puede verificar los retrasos, el número de respuestas realizadas y "
-"el número de emails enviados. Puede ordenar el análisis de sus iniciativas "
-"según diferentes grupos para obtener un análisis reagrupado preciso."
#. module: crm
#: view:crm.lead:0
-msgid "Send New Email"
-msgstr "Enviar nuevo email"
+#: field:crm.lead,partner_id:0
+#: view:crm.lead.report:0
+#: field:crm.lead.report,partner_id:0
+#: field:crm.opportunity2phonecall,partner_id:0
+#: view:crm.phonecall:0
+#: view:crm.phonecall.report:0
+#: field:crm.phonecall.report,partner_id:0
+#: field:crm.phonecall2phonecall,partner_id:0
+#: model:ir.model,name:crm.model_res_partner
+#: model:process.node,name:crm.process_node_partner0
+msgid "Partner"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
+#: model:ir.actions.act_window,name:crm.phonecall_to_phonecall_act
+msgid "Schedule Other Call"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_phonecall.py:209
+#: view:crm.phonecall:0
+#, python-format
+msgid "Phone Call"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,opt_out:0
+msgid "Opt-Out"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+#: field:crm.lead,state_id:0
+msgid "State"
+msgstr ""
+
+#. module: crm
+#: field:res.partner,meeting_count:0
+msgid "# Meetings"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.server,name:crm.action_email_reminder_lead
+msgid "Reminder to User"
+msgstr ""
#. module: crm
#: field:crm.segmentation,segmentation_line:0
msgid "Criteria"
-msgstr "Criterios"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Excluded Answers :"
-msgstr "Respuestas excluidas:"
+msgstr ""
#. module: crm
-#: field:crm.case.stage,section_ids:0
-msgid "Sections"
-msgstr "Secciones"
-
-#. module: crm
-#: view:crm.merge.opportunity:0
-msgid "_Merge"
-msgstr "_Fusionar"
+#: model:ir.model,name:crm.model_crm_merge_opportunity
+msgid "Merge opportunities"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
#: model:ir.actions.act_window,name:crm.action_report_crm_lead
#: model:ir.ui.menu,name:crm.menu_report_crm_leads_tree
msgid "Leads Analysis"
-msgstr "Análisis de iniciativas"
-
-#. module: crm
-#: view:crm.lead2opportunity.action:0
-msgid ""
-"If you select Merge with existing Opportunity, the lead details(with the "
-"communication history) will be merged with existing Opportunity of Selected "
-"partner."
msgstr ""
-"Si selecciona fusionar con oportunidad existente, los detalles de la "
-"iniciativa (con el histórico de la comunicación) serán fusionados con la "
-"oportunidad existente de la empresa seleccionada"
#. module: crm
-#: selection:crm.meeting,class:0
-msgid "Public"
-msgstr "Público"
+#: code:addons/crm/crm_lead.py:1010
+#, python-format
+msgid "%s a call for the %s."
+msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_resource_type_act
#: model:ir.ui.menu,name:crm.menu_crm_case_resource_type_act
msgid "Campaigns"
-msgstr "Campañas"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,name:crm.crm_lead_categ_action
+#: view:crm.lead:0
+#: field:crm.lead,categ_ids:0
#: model:ir.ui.menu,name:crm.menu_crm_case_phonecall-act
-#: model:ir.ui.menu,name:crm.menu_crm_lead_categ
msgid "Categories"
-msgstr "Categorías"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,end_type:0
-msgid "Forever"
-msgstr "Siempre"
-
-#. module: crm
-#: help:crm.lead,optout:0
+#: help:crm.lead,opt_out:0
msgid ""
"If opt-out is checked, this contact has refused to receive emails or "
"unsubscribed to a campaign."
msgstr ""
-"Si opt-out está marcado, este contacto ha rehusado recibir correos "
-"electrónicos o ha eliminado su suscripción a una campaña."
#. module: crm
#: model:process.transition,name:crm.process_transition_leadpartner0
msgid "Prospect Partner"
-msgstr "Socio prospecto"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:982
+#, python-format
+msgid "No Subject"
+msgstr ""
#. module: crm
#: field:crm.lead,contact_name:0
msgid "Contact Name"
-msgstr "Nombre de contacto"
-
-#. module: crm
-#: selection:crm.lead2opportunity.partner,action:0
-#: selection:crm.lead2partner,action:0
-#: selection:crm.phonecall2partner,action:0
-msgid "Link to an existing partner"
-msgstr "Enlace al socio existente"
-
-#. module: crm
-#: view:crm.lead:0
-#: view:crm.meeting:0
-#: field:crm.phonecall,partner_contact:0
-msgid "Contact"
-msgstr "Contacto"
-
-#. module: crm
-#: view:crm.installer:0
-msgid "Enhance your core CRM Application with additional functionalities."
-msgstr "Mejore su aplicación CRM básica con funcionalidades adicionales."
-
-#. module: crm
-#: field:crm.case.stage,on_change:0
-msgid "Change Probability Automatically"
-msgstr "Cambiar la probabilidad automáticamente"
-
-#. module: crm
-#: field:base.action.rule,regex_history:0
-msgid "Regular Expression on Case History"
-msgstr "Expresiones Regulares en el Historial del Caso"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:209
-#, python-format
-msgid "The lead '%s' has been opened."
-msgstr "La iniciativa '%s' ha sido abierta."
-
-#. module: crm
-#: model:process.transition,name:crm.process_transition_opportunitymeeting0
-msgid "Opportunity Meeting"
-msgstr "Oportunidad de Reunión"
-
-#. module: crm
-#: help:crm.lead.report,delay_close:0
-#: help:crm.phonecall.report,delay_close:0
-msgid "Number of Days to close the case"
-msgstr "Número de días para cerrar el caso"
-
-#. module: crm
-#: model:process.node,note:crm.process_node_opportunities0
-msgid "When a real project/opportunity is detected"
-msgstr "Cuando un proyecto/oportunidad real es detectado"
-
-#. module: crm
-#: field:crm.installer,crm_fundraising:0
-msgid "Fundraising"
-msgstr "Recaudación de fondos"
-
-#. module: crm
-#: view:res.partner:0
-#: field:res.partner,opportunity_ids:0
-msgid "Leads and Opportunities"
-msgstr "Iniciativas y oportunidades"
-
-#. module: crm
-#: view:crm.send.mail:0
-msgid "_Send"
-msgstr "_Enviar"
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Communication"
-msgstr "Comunicación"
-
-#. module: crm
-#: field:crm.case.section,change_responsible:0
-msgid "Change Responsible"
-msgstr "Cambiar responsable"
-
-#. module: crm
-#: field:crm.merge.opportunity,state:0
-msgid "Set State To"
-msgstr "Cmabiar estado a"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0
-msgid ""
-"Outbound Calls list all the calls to be done by your sales team. A salesman "
-"can record the information about the call in the form view. This information "
-"will be stored in the partner form to trace every contact you have with a "
-"customer. You can also import a .CSV file with a list of calls to be done by "
-"your sales team."
msgstr ""
-"Llamadas salientes muestra todas las llamadas realizadas por su equipo de "
-"ventas. Un vendedor puede grabar la información sobre la llamada en la vista "
-"de formulario. Esta información se almacenará en el formulario de empresa "
-"para rastrear cada contacto que tenga con un cliente. También puede importar "
-"un archivo .CSV con una lista de llamadas a realizar por su equipo de ventas."
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_lead2opportunity_action
-msgid "Convert/Merge Opportunity"
-msgstr "Convertir/Fusionar oportunidad"
-
-#. module: crm
-#: field:crm.lead,write_date:0
-msgid "Update Date"
-msgstr "Actualizar fecha"
-
-#. module: crm
-#: view:crm.lead2opportunity.action:0
-#: field:crm.lead2opportunity.action,name:0
-msgid "Select Action"
-msgstr "Seleccionar acción"
-
-#. module: crm
-#: field:base.action.rule,trg_categ_id:0
-#: view:crm.lead:0
-#: field:crm.lead,categ_id:0
-#: view:crm.lead.report:0
-#: field:crm.lead.report,categ_id:0
-#: field:crm.opportunity2phonecall,categ_id:0
-#: field:crm.phonecall,categ_id:0
-#: field:crm.phonecall.report,categ_id:0
-#: field:crm.phonecall2phonecall,categ_id:0
-msgid "Category"
-msgstr "Categoría"
-
-#. module: crm
-#: view:crm.lead.report:0
-msgid "#Opportunities"
-msgstr "# Oportunidades"
-
-#. module: crm
-#: model:crm.case.resource.type,name:crm.type_oppor2
-msgid "Campaign 1"
-msgstr "Campaña 1"
-
-#. module: crm
-#: model:crm.case.resource.type,name:crm.type_oppor1
-msgid "Campaign 2"
-msgstr "Campaña 2"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Privacy"
-msgstr "Privada"
-
-#. module: crm
-#: view:crm.lead.report:0
-msgid "Opportunity Analysis"
-msgstr "Análisis de oportunidades"
-
-#. module: crm
-#: help:crm.meeting,location:0
-msgid "Location of Event"
-msgstr "Lacalización del evento"
-
-#. module: crm
-#: field:crm.meeting,rrule:0
-msgid "Recurrent Rule"
-msgstr "Regla recurrente"
-
-#. module: crm
-#: model:crm.case.resource.type,name:crm.type_lead1
-msgid "Version 4.2"
-msgstr "Versión 4.2"
-
-#. module: crm
-#: model:crm.case.resource.type,name:crm.type_lead2
-msgid "Version 4.4"
-msgstr "Versión 4.4"
-
-#. module: crm
-#: help:crm.installer,fetchmail:0
-msgid "Allows you to receive E-Mails from POP/IMAP server."
-msgstr "Le permite recibir e-mails desde un servidor POP/IMAP"
-
-#. module: crm
-#: model:process.transition,note:crm.process_transition_opportunitymeeting0
-msgid "Normal or phone meeting for opportunity"
-msgstr "Oportunidad de reunion normal ó telefonico."
-
-#. module: crm
-#: model:process.node,note:crm.process_node_leads0
-msgid "Very first contact with new prospect"
-msgstr "Primer contacto con nueva prospección"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:278
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:197
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:231
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:299
-#: view:crm.lead2opportunity:0
-#: view:crm.partner2opportunity:0
-#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity
-#: model:ir.actions.act_window,name:crm.action_view_crm_partner2opportunity
-#: model:ir.actions.act_window,name:crm.crm_partner2opportunity
-#, python-format
-msgid "Create Opportunity"
-msgstr "Crear oportunidad"
-
-#. module: crm
-#: view:crm.installer:0
-msgid "Configure"
-msgstr "Configurar"
-
-#. module: crm
-#: code:addons/crm/crm.py:378
-#: view:crm.lead:0
-#: view:res.partner:0
-#, python-format
-msgid "Escalate"
-msgstr "Escalado"
-
-#. module: crm
-#: model:ir.module.module,shortdesc:crm.module_meta_information
-msgid "Customer & Supplier Relationship Management"
-msgstr "Gestión de relaciones con clientes & proveedores"
-
-#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
-#: selection:crm.phonecall.report,month:0
-msgid "June"
-msgstr "Junio"
-
-#. module: crm
-#: selection:crm.segmentation,state:0
-msgid "Not Running"
-msgstr "No ejecutado"
-
-#. module: crm
-#: view:crm.send.mail:0
-#: model:ir.actions.act_window,name:crm.action_crm_reply_mail
-msgid "Reply to last Mail"
-msgstr "Responder al último e-mail"
-
-#. module: crm
-#: field:crm.lead,email:0
-msgid "E-Mail"
-msgstr "E-mail"
-
-#. module: crm
-#: field:crm.installer,wiki_sale_faq:0
-msgid "Sale FAQ"
-msgstr "FAQ de ventas"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_send_mail_attachment
-msgid "crm.send.mail.attachment"
-msgstr "crm.enviar.mail.adjunto"
-
-#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
-#: selection:crm.phonecall.report,month:0
-msgid "October"
-msgstr "Octubre"
-
-#. module: crm
-#: view:crm.segmentation:0
-msgid "Included Answers :"
-msgstr "Respuestas incluidas:"
-
-#. module: crm
-#: help:crm.meeting,email_from:0
-#: help:crm.phonecall,email_from:0
-msgid "These people will receive email."
-msgstr "Estas personas recibirán un email."
-
-#. module: crm
-#: view:crm.meeting:0
-#: field:crm.meeting,name:0
-msgid "Summary"
-msgstr "Resumen"
-
-#. module: crm
-#: view:crm.segmentation:0
-msgid "State of Mind Computation"
-msgstr "Cálculo grado de satisfacción"
-
-#. module: crm
-#: help:crm.case.section,change_responsible:0
-msgid ""
-"Thick this box if you want that on escalation, the responsible of this sale "
-"team automatically becomes responsible of the lead/opportunity escaladed"
-msgstr ""
-"Marque esta opción si quiere que el responsable del equipo de ventas sea "
-"automáticamente responsable de la iniciativa/oportunidad, en caso de ser "
-"escalada."
-
-#. module: crm
-#: help:crm.installer,outlook:0
-#: help:crm.installer,thunderbird:0
-msgid ""
-"Allows you to link your e-mail to OpenERP's documents. You can attach it to "
-"any existing one in OpenERP or create a new one."
-msgstr ""
-"Permite enlazar su e-mail a la gestión documental de OpenERP. Puede "
-"adjuntarlo a cualquier documento ya existente en OpenERP o crear uno de "
-"nuevo."
-
-#. module: crm
-#: view:crm.case.categ:0
-msgid "Case Category"
-msgstr "Categoría del caso"
-
-#. module: crm
-#: help:crm.segmentation,som_interval_default:0
-msgid ""
-"Default state of mind for period preceeding the 'Max Interval' computation. "
-"This is the starting state of mind by default if the partner has no event."
-msgstr ""
-"Grado de satisfacción por defecto para el período que precede el cálculo de "
-"'Intervalo máx.'. Este es el grado de satisfacción inicial por defecto si la "
-"empresa no tiene ningún evento."
-
-#. module: crm
-#: selection:crm.meeting,end_type:0
-msgid "End date"
-msgstr "Fecha de fin"
-
-#. module: crm
-#: constraint:base.action.rule:0
-msgid "Error: The mail is not well formated"
-msgstr "Error: El email no está bien formateado"
-
-#. module: crm
-#: view:crm.segmentation:0
-msgid "Profiling Options"
-msgstr "Opciones de perfiles"
-
-#. module: crm
-#: view:crm.phonecall.report:0
-msgid "#Phone calls"
-msgstr "#Llamadas telefónicas"
#. module: crm
#: help:crm.segmentation,categ_id:0
@@ -704,41 +310,319 @@ msgid ""
"The partner category that will be added to partners that match the "
"segmentation criterions after computation."
msgstr ""
-"La categoría de empresas que será añadida a las empresas que cumplan los "
-"criterios de segmentación después del cálculo."
#. module: crm
-#: view:crm.lead:0
-msgid "Communication history"
-msgstr "Historial de comunicación"
-
-#. module: crm
-#: help:crm.phonecall,canal_id:0
+#: model:ir.actions.act_window,help:crm.crm_segmentation_tree-act
msgid ""
-"The channels represent the different communication "
-"modes available with the customer. With each commercial opportunity, you can "
-"indicate the canall which is this opportunity source."
+"\n"
+" Click to define a new customer segmentation.\n"
+"
\n"
+" Create specific categories which you can assign to your\n"
+" contacts to better manage your interactions with them. The\n"
+" segmentation tool is able to assign categories to contacts\n"
+" according to criteria you set.\n"
+"
\n"
+" "
msgstr ""
-"Los canales representan los diferentes modos de comunicación posibles con el "
-"cliente. En cada oportunidad comercial, puede indicar el canal que ha sido "
-"el origen de esta oportunidad."
#. module: crm
-#: code:addons/crm/crm_meeting.py:93
-#, python-format
-msgid "The meeting '%s' has been confirmed."
-msgstr "La reunión '%s' ha sido confirmada"
+#: field:crm.opportunity2phonecall,contact_name:0
+#: field:crm.phonecall,partner_id:0
+#: field:crm.phonecall2phonecall,contact_name:0
+msgid "Contact"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.section,change_responsible:0
+msgid ""
+"When escalating to this team override the salesman with the team leader."
+msgstr ""
+
+#. module: crm
+#: model:process.transition,name:crm.process_transition_opportunitymeeting0
+msgid "Opportunity Meeting"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead.report,delay_close:0
+#: help:crm.phonecall.report,delay_close:0
+msgid "Number of Days to close the case"
+msgstr ""
+
+#. module: crm
+#: model:process.node,note:crm.process_node_opportunities0
+msgid "When a real project/opportunity is detected"
+msgstr ""
+
+#. module: crm
+#: field:res.partner,opportunity_ids:0
+msgid "Leads and Opportunities"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,help:crm.relate_partner_opportunities
+msgid ""
+"\n"
+" Click to create an opportunity related to this customer.\n"
+"
\n"
+" Use opportunities to keep track of your sales pipeline, "
+"follow\n"
+" up potential sales and better forecast your future "
+"revenues.\n"
+"
\n"
+" You will be able to plan meetings and phone calls from\n"
+" opportunities, convert them into quotations, attach related\n"
+" documents, track all discussions, and much more.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: crm
+#: model:crm.case.stage,name:crm.stage_lead7
+#: view:crm.lead:0
+msgid "Dead"
+msgstr ""
+
+#. module: crm
+#: field:crm.case.section,message_unread:0
+#: view:crm.lead:0
+#: field:crm.lead,message_unread:0
+#: field:crm.phonecall,message_unread:0
+msgid "Unread Messages"
+msgstr ""
+
+#. module: crm
+#: view:crm.segmentation:0
+#: field:crm.segmentation.line,segmentation_id:0
+#: model:ir.actions.act_window,name:crm.crm_segmentation-act
+msgid "Segmentation"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead2opportunity.partner,action:0
+#: selection:crm.lead2opportunity.partner.mass,action:0
+#: selection:crm.partner.binding,action:0
+msgid "Link to an existing customer"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,write_date:0
+msgid "Update Date"
+msgstr ""
#. module: crm
#: field:crm.case.section,user_id:0
-msgid "Responsible User"
-msgstr "Usuario responsable"
+msgid "Team Leader"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_phonecall_to_partner.py:53
+#: help:crm.case.stage,probability:0
+msgid ""
+"This percentage depicts the default/average probability of the Case for this "
+"stage to be a success"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+#: field:crm.opportunity2phonecall,categ_id:0
+#: field:crm.phonecall,categ_id:0
+#: view:crm.phonecall.report:0
+#: field:crm.phonecall.report,categ_id:0
+#: field:crm.phonecall2phonecall,categ_id:0
+msgid "Category"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+msgid "#Opportunities"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:624
#, python-format
-msgid "A partner is already defined on this phonecall."
-msgstr "Una empresa ya esta definida para esta llamada."
+msgid ""
+"Please select more than one element (lead or opportunity) from the list view."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Leads that are assigned to one of the sale teams I manage, or to me"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,partner_address_email:0
+msgid "Partner Contact Email"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,help:crm.crm_case_section_act
+msgid ""
+"\n"
+" Click to define a new sales team.\n"
+"
\n"
+" Use sales team to organize your different salespersons or\n"
+" departments into separate teams. Each team will work in\n"
+" its own list of opportunities.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: crm
+#: model:process.transition,note:crm.process_transition_opportunitymeeting0
+msgid "Normal or phone meeting for opportunity"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,state:0
+#: field:crm.lead.report,state:0
+#: field:crm.phonecall,state:0
+#: view:crm.phonecall.report:0
+#: field:crm.phonecall.report,state:0
+msgid "Status"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead2opportunity.partner:0
+msgid "Create Opportunity"
+msgstr ""
+
+#. module: crm
+#: view:sale.config.settings:0
+msgid "Configure"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Escalate"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Mailings"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,description:crm.mt_lead_stage
+msgid "Stage changed"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
+#: selection:crm.phonecall.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: crm
+#: selection:crm.segmentation,state:0
+msgid "Not Running"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead.report,planned_revenue:0
+msgid "Planned Revenue"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,planned_revenue:0
+msgid "Expected Revenue"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
+#: selection:crm.phonecall.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: crm
+#: view:crm.segmentation:0
+msgid "Included Answers :"
+msgstr ""
+
+#. module: crm
+#: help:crm.phonecall,state:0
+msgid ""
+"The status is set to 'Todo', when a case is created. "
+" If the case is in progress the status is set to 'Open'. "
+" When the call is over, the status is set to 'Held'. "
+" If the call needs to be done then the status is set "
+"to 'Not Held'."
+msgstr ""
+
+#. module: crm
+#: field:crm.case.section,message_summary:0
+#: field:crm.lead,message_summary:0
+#: field:crm.phonecall,message_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: crm
+#: view:crm.merge.opportunity:0
+msgid "Merge"
+msgstr ""
+
+#. module: crm
+#: model:email.template,subject:crm.email_template_opportunity_mail
+msgid "Opportunity ${object.name | h})"
+msgstr ""
+
+#. module: crm
+#: view:crm.case.categ:0
+msgid "Case Category"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,partner_address_name:0
+msgid "Partner Contact Name"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.server,subject:crm.action_email_reminder_lead
+msgid ""
+"Reminder on Lead: [[object.id ]] [[object.partner_id and 'of ' "
+"+object.partner_id.name or '']]"
+msgstr ""
+
+#. module: crm
+#: view:crm.segmentation:0
+msgid "Profiling Options"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall.report:0
+msgid "#Phone calls"
+msgstr ""
+
+#. module: crm
+#: sql_constraint:crm.case.section:0
+msgid "The code of the sales team must be unique !"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead,email_from:0
+msgid "Email address of the contact"
+msgstr ""
+
+#. module: crm
+#: selection:crm.case.stage,state:0
+#: view:crm.lead:0
+#: selection:crm.lead,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action
+msgid ""
+"\n"
+" Click to add a new category.\n"
+"
\n"
+" Create specific phone call categories to better define the type "
+"of\n"
+" calls tracked in the system.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
#: help:crm.case.section,reply_to:0
@@ -746,546 +630,381 @@ msgid ""
"The email address put in the 'Reply-To' of all emails sent by OpenERP about "
"cases in this sales team"
msgstr ""
-"La dirección de correo electrónico usada como \"Responder a\" de todos los "
-"correos electrónicos enviados por OpenERP para los casos de este equipo de "
-"ventas."
#. module: crm
-#: view:res.users:0
-msgid "Current Activity"
-msgstr "Actividad actual"
-
-#. module: crm
-#: help:crm.meeting,exrule:0
-msgid ""
-"Defines a rule or repeating pattern of time to exclude from the recurring "
-"rule."
+#: field:crm.lead.report,creation_month:0
+msgid "Creation Month"
msgstr ""
-"Define una regla o patrón de repetición de tiempo a excluir de la regla "
-"recurrente."
#. module: crm
#: field:crm.case.section,resource_calendar_id:0
+#: model:ir.ui.menu,name:crm.menu_action_resource_calendar_form
msgid "Working Time"
-msgstr "Horario de trabajo"
+msgstr ""
#. module: crm
#: view:crm.segmentation.line:0
msgid "Partner Segmentation Lines"
-msgstr "Líneas de segmentación de empresa"
-
-#. module: crm
-#: view:crm.lead:0
-#: view:crm.meeting:0
-msgid "Details"
-msgstr "Detalles"
-
-#. module: crm
-#: help:crm.installer,crm_caldav:0
-msgid ""
-"Helps you to synchronize the meetings with other calendar clients and "
-"mobiles."
msgstr ""
-"Le permite sincronizar las reuniones con otros clientes de calendario y "
-"móviles."
#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "Years"
-msgstr "Años"
-
-#. module: crm
-#: help:crm.installer,crm_claim:0
-msgid ""
-"Manages the suppliers and customers claims, including your corrective or "
-"preventive actions."
+#: model:ir.actions.act_window,name:crm.action_report_crm_phonecall
+#: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree
+msgid "Phone Calls Analysis"
msgstr ""
-"Gestiona las reclamaciones de clientes y proveedores, incluyendo acciones "
-"correctivas o preventivas"
#. module: crm
#: view:crm.lead:0
msgid "Leads Form"
-msgstr "Formulario de iniciativas"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
#: model:ir.model,name:crm.model_crm_segmentation
msgid "Partner Segmentation"
-msgstr "Segmentación de empresa"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,company_currency:0
+msgid "Currency"
+msgstr ""
#. module: crm
#: field:crm.lead.report,probable_revenue:0
msgid "Probable Revenue"
-msgstr "Ingreso estimado"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead.report,creation_month:0
+msgid "Creation month"
+msgstr ""
#. module: crm
#: help:crm.segmentation,name:0
msgid "The name of the segmentation."
-msgstr "El nombre de la segmentación."
+msgstr ""
#. module: crm
#: field:crm.case.stage,probability:0
-#: field:crm.lead,probability:0
msgid "Probability (%)"
-msgstr "Probabilidad (%)"
+msgstr ""
+
+#. module: crm
+#: sql_constraint:crm.lead:0
+msgid "The probability of closing the deal should be between 0% and 100%!"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Leads Generation"
-msgstr "Generación de iniciativas"
+msgstr ""
#. module: crm
#: view:board.board:0
-#: model:ir.ui.menu,name:crm.menu_board_statistics_dash
msgid "Statistics Dashboard"
-msgstr "Tablero de estadísticas"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:88
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:98
-#: code:addons/crm/wizard/crm_partner_to_opportunity.py:101
-#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:117
+#: code:addons/crm/crm_lead.py:861
+#: model:crm.case.stage,name:crm.stage_lead2
+#: selection:crm.case.stage,type:0
#: view:crm.lead:0
#: selection:crm.lead,type:0
+#: view:crm.lead.report:0
#: selection:crm.lead.report,type:0
-#: field:crm.lead2opportunity,name:0
#: field:crm.meeting,opportunity_id:0
-#: field:crm.phonecall,opportunity_id:0
+#: field:res.partner,opportunity_count:0
#, python-format
msgid "Opportunity"
-msgstr "Oportunidad"
+msgstr ""
#. module: crm
#: model:crm.case.resource.type,name:crm.type_lead7
msgid "Television"
-msgstr "Televisión"
+msgstr ""
#. module: crm
-#: field:crm.installer,crm_caldav:0
-msgid "Calendar Synchronizing"
-msgstr "Sincronización del calendario"
+#: model:ir.actions.act_window,name:crm.action_crm_send_mass_convert
+msgid "Convert to opportunities"
+msgstr ""
+
+#. module: crm
+#: model:ir.model,name:crm.model_sale_config_settings
+msgid "sale.config.settings"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Stop Process"
-msgstr "Parar el proceso"
+msgstr ""
+
+#. module: crm
+#: field:crm.case.section,alias_id:0
+msgid "Alias"
+msgstr ""
#. module: crm
#: view:crm.phonecall:0
msgid "Search Phonecalls"
-msgstr "Buscar llamadas"
+msgstr ""
#. module: crm
-#: view:crm.lead2opportunity.partner:0
-#: view:crm.lead2partner:0
-#: view:crm.phonecall2partner:0
-msgid "Continue"
-msgstr "Siguiente"
+#: view:crm.lead.report:0
+msgid ""
+"Leads/Opportunities that are assigned to one of the sale teams I manage"
+msgstr ""
#. module: crm
-#: field:crm.segmentation,som_interval:0
-msgid "Days per Period"
-msgstr "Días por período"
-
-#. module: crm
-#: field:crm.meeting,byday:0
-msgid "By day"
-msgstr "Por día"
-
-#. module: crm
-#: field:base.action.rule,act_section_id:0
-msgid "Set Team to"
-msgstr "Establecer equipo a"
-
-#. module: crm
-#: view:calendar.attendee:0
#: field:calendar.attendee,categ_id:0
msgid "Event Type"
-msgstr "Tipo de evento"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_installer
-msgid "crm.installer"
-msgstr "crm.instalador"
+msgstr ""
#. module: crm
#: field:crm.segmentation,exclusif:0
msgid "Exclusive"
-msgstr "Exclusivo"
-
-#. module: crm
-#: code:addons/crm/crm_opportunity.py:91
-#, python-format
-msgid "The opportunity '%s' has been won."
-msgstr "La oportunidad '%s' ha sido ganada"
-
-#. module: crm
-#: help:crm.meeting,alarm_id:0
-msgid "Set an alarm at this time, before the event occurs"
-msgstr "Configure una alarma en este momento, antes de que ocurra el evento"
-
-#. module: crm
-#: model:ir.module.module,description:crm.module_meta_information
-msgid ""
-"The generic OpenERP Customer Relationship Management\n"
-"system enables a group of people to intelligently and efficiently manage\n"
-"leads, opportunities, meeting, phonecall etc.\n"
-"It manages key tasks such as communication, identification, prioritization,\n"
-"assignment, resolution and notification.\n"
-"\n"
-"OpenERP ensures that all cases are successfully tracked by users, customers "
-"and\n"
-"suppliers. It can automatically send reminders, escalate the request, "
-"trigger\n"
-"specific methods and lots of other actions based on your own enterprise "
-"rules.\n"
-"\n"
-"The greatest thing about this system is that users don't need to do "
-"anything\n"
-"special. They can just send email to the request tracker. OpenERP will take\n"
-"care of thanking them for their message, automatically routing it to the\n"
-"appropriate staff, and make sure all future correspondence gets to the "
-"right\n"
-"place.\n"
-"\n"
-"The CRM module has a email gateway for the synchronisation interface\n"
-"between mails and OpenERP. \n"
-"Create dashboard for CRM that includes:\n"
-" * My Leads (list)\n"
-" * Leads by Stage (graph)\n"
-" * My Meetings (list)\n"
-" * Sales Pipeline by Stage (graph)\n"
-" * My Cases (list)\n"
-" * Jobs Tracking (graph)\n"
msgstr ""
-"El sistema genérico de gestión de relaciones con el cliente de OpenERP\n"
-"permite a un grupo de gente manejar de forma inteligente y eficiente\n"
-"iniciativas, oportunidades, reuniones, llamadas, etc.\n"
-"Maneja tareas clave como la comunicación, identificación, priorización,\n"
-"asignación, resolución y notificación.\n"
-"\n"
-"OpenERP se asegura de que todos los casos son seguidos por los usuarios, "
-"clientes y\n"
-"proveedores. Puede enviar automáticamente recordatorios, escalar la "
-"petición, disparar\n"
-"métodos específicos y muchas otras acciones basadas en las reglas de su "
-"empresa.\n"
-"\n"
-"Lo mejor de este sistema es que los usuarios no necesitan hacer nada \n"
-"especial. Tan sólo tienen que enviar un correo electrónico al gestor de "
-"seguimientos. \n"
-"OpenERP le agradecerá su mensaje, enrutándolo automáticamente a la \n"
-"persona adecuada, asegurándose de que toda la correspondencia futura llegue "
-"al\n"
-"lugar correcto.\n"
-"\n"
-"El módulo CRM tiene una pasarela de correo para el interfaz de "
-"sincronización\n"
-"entre correos electrónicos y OpenERP. \n"
-"Cree tableros para el CRM que incluyan:\n"
-" *Mis iniciativas(lista)\n"
-" *Iniciativas por etapa (gráfico)\n"
-" *Mis reuniones (lista)\n"
-" *Proceso de ventas por etapa (gráfico)\n"
-" *Mis casos (lista)\n"
-" *Seguimiento de trabajos (gráfico)\n"
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:584
+#, python-format
+msgid "From %s : %s"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead2opportunity.partner.mass:0
+msgid "Convert to Opportunities"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead2opportunity.partner:0
+#: view:crm.lead2opportunity.partner.mass:0
+#: view:crm.merge.opportunity:0
+#: view:crm.opportunity2phonecall:0
+#: view:crm.phonecall2phonecall:0
+msgid "or"
+msgstr ""
#. module: crm
#: field:crm.lead.report,create_date:0
#: field:crm.phonecall.report,create_date:0
msgid "Create Date"
-msgstr "Fecha creación"
+msgstr ""
#. module: crm
#: field:crm.lead,ref2:0
msgid "Reference 2"
-msgstr "Referencia 2"
+msgstr ""
#. module: crm
-#: view:crm.segmentation:0
-msgid "Sales Purchase"
-msgstr "Compra Ventas"
+#: help:crm.case.stage,section_ids:0
+msgid ""
+"Link between stages and sales teams. When set, this limitate the current "
+"stage to the selected sales teams."
+msgstr ""
#. module: crm
#: view:crm.case.stage:0
#: field:crm.case.stage,requirements:0
msgid "Requirements"
-msgstr "Requerimientos"
-
-#. module: crm
-#: help:crm.meeting,exdate:0
-msgid ""
-"This property defines the list of date/time exceptions for a recurring "
-"calendar component."
msgstr ""
-"Esta propiedad define la lista de excepciones de fecha/hora para un evento "
-"de calendario recurrente."
#. module: crm
-#: view:crm.phonecall2opportunity:0
-msgid "Convert To Opportunity "
-msgstr "Convertir a oportunidad "
-
-#. module: crm
-#: help:crm.case.stage,sequence:0
-msgid "Gives the sequence order when displaying a list of case stages."
+#: field:crm.lead,zip:0
+msgid "Zip"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
+msgid "Unassigned Phonecalls"
msgstr ""
-"Indica el orden de secuencia cuando se muestra un lista de etapas de casos."
#. module: crm
#: view:crm.lead:0
-#: field:crm.merge.opportunity,opportunity_ids:0
+#: view:crm.lead2opportunity.partner:0
+#: field:crm.lead2opportunity.partner,opportunity_ids:0
+#: field:crm.lead2opportunity.partner.mass,opportunity_ids:0
#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11
-#: model:ir.ui.menu,name:crm.menu_crm_case_opp
+#: model:ir.actions.act_window,name:crm.relate_partner_opportunities
+#: model:ir.ui.menu,name:crm.menu_crm_opportunities
#: model:process.node,name:crm.process_node_opportunities0
+#: view:res.partner:0
msgid "Opportunities"
-msgstr "Oportunidades"
+msgstr ""
#. module: crm
#: field:crm.segmentation,categ_id:0
msgid "Partner Category"
-msgstr "Categoría de empresa"
+msgstr ""
#. module: crm
-#: view:crm.add.note:0
-#: model:ir.actions.act_window,name:crm.action_crm_add_note
-msgid "Add Note"
-msgstr "Añadir nota"
+#: field:crm.lead,probability:0
+msgid "Success Rate (%)"
+msgstr ""
#. module: crm
-#: field:crm.lead,is_supplier_add:0
-msgid "Supplier"
-msgstr "Proveedor"
+#: field:crm.segmentation,sales_purchase_active:0
+msgid "Use The Sales Purchase Rules"
+msgstr ""
#. module: crm
-#: help:crm.send.mail,reply_to:0
-msgid "Reply-to of the Sales team defined on this case"
-msgstr "\"Responder a\" del equipo de ventas definido en este caso"
+#: model:crm.case.categ,name:crm.categ_phone2
+msgid "Outbound"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Mark Won"
-msgstr "Marcar ganado"
+msgstr ""
#. module: crm
-#: selection:crm.segmentation.line,expr_name:0
-msgid "Purchase Amount"
-msgstr "Importe de compra"
+#: model:ir.filters,name:crm.filter_usa_lead
+msgid "Leads from USA"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Mark Lost"
-msgstr "Marcar perdido"
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: model:ir.filters,name:crm.filter_draft_lead
+msgid "Draft Leads"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "March"
-msgstr "Marzo"
+msgstr ""
#. module: crm
-#: code:addons/crm/crm_lead.py:230
+#: view:crm.lead:0
+msgid "Send Email"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89
#, python-format
-msgid "The opportunity '%s' has been closed."
-msgstr "La oportunidad '%s' ha sido cerrada"
+msgid "Warning !"
+msgstr ""
#. module: crm
#: field:crm.lead,day_open:0
msgid "Days to Open"
-msgstr "Días para abrir"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Show Time as"
-msgstr "Mostrar hora como"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:264
-#: view:crm.phonecall2partner:0
-#, python-format
-msgid "Create Partner"
-msgstr "Crear empresa"
-
-#. module: crm
-#: selection:crm.segmentation.line,expr_operator:0
-msgid "<"
-msgstr "<"
+msgstr ""
#. module: crm
#: field:crm.lead,mobile:0
#: field:crm.phonecall,partner_mobile:0
msgid "Mobile"
-msgstr "Móvil"
-
-#. module: crm
-#: field:crm.meeting,end_type:0
-msgid "Way to end reccurency"
-msgstr "Forma de terminar recurrencia"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_merge_opportunities.py:53
-#, python-format
-msgid ""
-"There are no other 'Open' or 'Pending' Opportunities for the partner '%s'."
msgstr ""
-"No existen más oportunidades 'Abiertas' o 'Pendientes' para la empresa '%s'."
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Next Stage"
-msgstr "Siguiente etapa"
-
-#. module: crm
-#: view:board.board:0
-msgid "My Meetings"
-msgstr "Mis reuniones"
#. module: crm
#: field:crm.lead,ref:0
msgid "Reference"
-msgstr "Referencia"
+msgstr ""
#. module: crm
-#: field:crm.lead,optin:0
-msgid "Opt-In"
-msgstr "Acepta recibir emails"
+#: view:crm.lead:0
+msgid ""
+"Opportunities that are assigned to either me or one of the sale teams I "
+"manage"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.section,resource_calendar_id:0
+msgid "Used to compute open days"
+msgstr ""
#. module: crm
-#: code:addons/crm/crm_opportunity.py:208
-#: code:addons/crm/crm_phonecall.py:185
-#: code:addons/crm/wizard/crm_phonecall_to_meeting.py:55
-#: code:addons/crm/wizard/crm_phonecall_to_meeting.py:137
-#: view:crm.meeting:0
#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_meeting_new
-#: model:ir.actions.act_window,name:crm.crm_case_categ_meet
-#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
-#: model:ir.ui.menu,name:crm.menu_meeting_sale
+#: model:ir.actions.act_window,name:crm.crm_meeting_partner
#: view:res.partner:0
#: field:res.partner,meeting_ids:0
-#, python-format
msgid "Meetings"
-msgstr "Reuniones"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Choose day where repeat the meeting"
-msgstr "Eligir día en el que repetir la cita"
+msgstr ""
#. module: crm
#: field:crm.lead,date_action_next:0
#: field:crm.lead,title_action:0
-#: field:crm.meeting,date_action_next:0
#: field:crm.phonecall,date_action_next:0
msgid "Next Action"
-msgstr "Acción siguiente"
-
-#. module: crm
-#: field:crm.meeting,end_date:0
-msgid "Repeat Until"
-msgstr "Repetir hasta"
-
-#. module: crm
-#: field:crm.meeting,date_deadline:0
-msgid "Deadline"
-msgstr "Fecha límite"
-
-#. module: crm
-#: help:crm.meeting,active:0
-msgid ""
-"If the active field is set to true, it will allow you to hide the "
-"event alarm information without removing it."
msgstr ""
-"Si el campo activo se establece en verdadero, se omitirá la alarma del "
-"evento, sin embargo no se eliminará."
#. module: crm
-#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:57
+#: code:addons/crm/crm_lead.py:763
#, python-format
-msgid "Closed/Cancelled Phone Call Could not convert into Opportunity"
+msgid "Partner set to %s."
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,state:0
+#: selection:crm.phonecall,state:0
+#: selection:crm.phonecall.report,state:0
+msgid "Draft"
msgstr ""
-"Las llamadas telefónicas cerradas/canceladas no podrían ser convertidas en "
-"oportunidades"
#. module: crm
#: view:crm.segmentation:0
msgid "Partner Segmentations"
-msgstr "Segmentaciones de empresa"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-#: field:crm.meeting,user_id:0
-#: view:crm.phonecall:0
-#: field:crm.phonecall,user_id:0
-#: view:res.partner:0
-msgid "Responsible"
-msgstr "Responsable"
+#: view:crm.lead.report:0
+msgid "Show only opportunity"
+msgstr ""
#. module: crm
-#: view:res.partner:0
-msgid "Previous"
-msgstr "Anterior"
+#: field:crm.lead,name:0
+msgid "Subject"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-msgid "Statistics"
-msgstr "Estadísticas"
-
-#. module: crm
-#: view:crm.meeting:0
-#: field:crm.send.mail,email_from:0
-msgid "From"
-msgstr "De"
-
-#. module: crm
-#: view:crm.lead2opportunity.action:0
-#: view:res.partner:0
-msgid "Next"
-msgstr "Siguiente"
+msgid "New Leads"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-msgid "Stage:"
-msgstr "Etapa:"
+msgid "Show Sales Team"
+msgstr ""
#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead5
-#: model:crm.case.stage,name:crm.stage_opportunity5
+#: help:sale.config.settings,module_crm_claim:0
+msgid ""
+"Allows you to track your customers/suppliers claims and grievances.\n"
+" This installs the module crm_claim."
+msgstr ""
+
+#. module: crm
+#: model:crm.case.stage,name:crm.stage_lead6
#: view:crm.lead:0
msgid "Won"
-msgstr "Ganado"
+msgstr ""
#. module: crm
#: field:crm.lead.report,delay_expected:0
msgid "Overpassed Deadline"
-msgstr "Fecha límite sobrepasada"
+msgstr ""
#. module: crm
#: model:crm.case.section,name:crm.section_sales_department
msgid "Sales Department"
-msgstr "Departamento de ventas"
-
-#. module: crm
-#: field:crm.send.mail,html:0
-msgid "HTML formatting?"
-msgstr "Formato HTML?"
+msgstr ""
#. module: crm
#: field:crm.case.stage,type:0
#: field:crm.lead,type:0
#: field:crm.lead.report,type:0
-#: view:crm.meeting:0
-#: view:crm.phonecall:0
-#: view:crm.phonecall.report:0
-#: view:res.partner:0
+#: view:crm.opportunity2phonecall:0
msgid "Type"
-msgstr "Tipo"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Compute Segmentation"
-msgstr "Calcular la segmentación"
+msgstr ""
#. module: crm
#: selection:crm.lead,priority:0
@@ -1293,100 +1012,55 @@ msgstr "Calcular la segmentación"
#: selection:crm.phonecall,priority:0
#: selection:crm.phonecall.report,priority:0
msgid "Lowest"
-msgstr "Muy bajo"
+msgstr ""
#. module: crm
-#: view:crm.add.note:0
-#: view:crm.send.mail:0
-#: field:crm.send.mail.attachment,binary:0
-msgid "Attachment"
-msgstr "Adjunto"
-
-#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
-#: selection:crm.phonecall.report,month:0
-msgid "August"
-msgstr "Agosto"
-
-#. module: crm
-#: view:crm.lead:0
#: field:crm.lead,create_date:0
-#: field:crm.lead.report,creation_date:0
-#: field:crm.meeting,create_date:0
+#: view:crm.phonecall:0
#: field:crm.phonecall,create_date:0
#: field:crm.phonecall.report,creation_date:0
msgid "Creation Date"
-msgstr "Fecha creación"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor5
-msgid "Need a Website Design"
-msgstr "Necesita un diseño de sitio web"
+#: code:addons/crm/crm_lead.py:698
+#, python-format
+msgid "Lead converted into an Opportunity"
+msgstr ""
#. module: crm
-#: field:crm.meeting,recurrent_uid:0
-msgid "Recurrent ID"
-msgstr "ID recurrente"
+#: selection:crm.segmentation.line,expr_name:0
+msgid "Purchase Amount"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-#: view:crm.meeting:0
-#: field:crm.send.mail,subject:0
-#: view:res.partner:0
-msgid "Subject"
-msgstr "Asunto"
+#: view:crm.phonecall.report:0
+msgid "Year of call"
+msgstr ""
#. module: crm
-#: field:crm.meeting,tu:0
-msgid "Tue"
-msgstr "Mar"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:300
#: view:crm.case.stage:0
#: view:crm.lead:0
#: field:crm.lead,stage_id:0
#: view:crm.lead.report:0
#: field:crm.lead.report,stage_id:0
-#, python-format
msgid "Stage"
-msgstr "Etapa"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "History Information"
-msgstr "Histórico información"
+#: view:crm.phonecall.report:0
+msgid "Phone Calls that are assigned to me"
+msgstr ""
#. module: crm
-#: field:base.action.rule,act_mail_to_partner:0
-msgid "Mail to Partner"
-msgstr "Mail a la empresa"
+#: field:crm.lead,user_login:0
+msgid "User Login"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Mailings"
-msgstr "Mailings"
-
-#. module: crm
-#: field:crm.meeting,class:0
-msgid "Mark as"
-msgstr "Marcar como"
-
-#. module: crm
-#: field:crm.meeting,count:0
-msgid "Repeat"
-msgstr "Repetir"
-
-#. module: crm
-#: help:crm.meeting,rrule_type:0
-msgid "Let the event automatically repeat at that interval"
-msgstr "Permite que el evento se repita en ese intervalo"
-
-#. module: crm
-#: view:base.action.rule:0
-msgid "Condition Case Fields"
-msgstr "Campos de condiciones de casos"
+#: view:crm.phonecall.report:0
+msgid "Phone calls which are in pending state"
+msgstr ""
#. module: crm
#: view:crm.case.section:0
@@ -1394,67 +1068,97 @@ msgstr "Campos de condiciones de casos"
#: view:crm.case.stage:0
#: model:ir.actions.act_window,name:crm.crm_case_stage_act
#: model:ir.actions.act_window,name:crm.crm_lead_stage_act
-#: model:ir.actions.act_window,name:crm.crm_opportunity_stage_act
#: model:ir.ui.menu,name:crm.menu_crm_lead_stage_act
-#: model:ir.ui.menu,name:crm.menu_crm_opportunity_stage_act
msgid "Stages"
-msgstr "Etapas"
-
-#. module: crm
-#: field:crm.lead,planned_revenue:0
-#: field:crm.lead2opportunity,planned_revenue:0
-#: field:crm.partner2opportunity,planned_revenue:0
-#: field:crm.phonecall2opportunity,planned_revenue:0
-msgid "Expected Revenue"
-msgstr "Ingreso estimado"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action
-msgid ""
-"Create specific phone call categories to better define the type of calls "
-"tracked in the system."
msgstr ""
-"Crear categorías específicas de llamada telefónica para definir mejor el "
-"tipo de llamadas en el sistema de seguimiento."
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: help:sale.config.settings,module_crm_helpdesk:0
+msgid ""
+"Allows you to communicate with Customer, process Customer query, and "
+"provide better help and support. This installs the module crm_helpdesk."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Delete"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,description:crm.mt_lead_create
+msgid "Opportunity created"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "í"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "September"
-msgstr "Setiembre"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11
+msgid ""
+"\n"
+" Click to create a new opportunity.\n"
+"
\n"
+" OpenERP helps you keep track of your sales pipeline to follow\n"
+" up potential sales and better forecast your future revenues.\n"
+"
\n"
+" You will be able to plan meetings and phone calls from\n"
+" opportunities, convert them into quotations, attach related\n"
+" documents, track all discussions, and much more.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
#: field:crm.segmentation,partner_id:0
msgid "Max Partner ID processed"
-msgstr "Máx ID de empresa procesado"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,name:crm.action_report_crm_phonecall
-#: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree
-msgid "Phone Calls Analysis"
-msgstr "Análisis de llamadas"
+#: help:crm.case.stage,on_change:0
+msgid ""
+"Setting this stage will change the probability automatically on the "
+"opportunity."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "oe_kanban_text_red"
+msgstr ""
+
+#. module: crm
+#: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act
+msgid "Payment Modes"
+msgstr ""
#. module: crm
#: field:crm.lead.report,opening_date:0
#: field:crm.phonecall.report,opening_date:0
msgid "Opening Date"
-msgstr "Fecha de apertura"
+msgstr ""
#. module: crm
#: help:crm.phonecall,duration:0
msgid "Duration in Minutes"
-msgstr "Duración en minutos"
+msgstr ""
#. module: crm
-#: help:crm.installer,crm_helpdesk:0
-msgid "Manages a Helpdesk service."
-msgstr "Gestiona un servicio de soporte."
+#: field:crm.case.channel,name:0
+msgid "Channel Name"
+msgstr ""
#. module: crm
-#: field:crm.partner2opportunity,name:0
-msgid "Opportunity Name"
-msgstr "Nombre oportunidad"
+#: help:crm.lead.report,deadline_day:0
+msgid "Expected closing day"
+msgstr ""
#. module: crm
#: help:crm.case.section,active:0
@@ -1462,44 +1166,26 @@ msgid ""
"If the active field is set to true, it will allow you to hide the sales team "
"without removing it."
msgstr ""
-"Si el campo activo se marca, permite ocultar el equipo de ventas sin "
-"eliminarlo."
#. module: crm
-#: view:crm.lead.report:0
-#: view:crm.phonecall.report:0
-msgid " Year "
-msgstr " Año "
+#: help:crm.case.stage,case_default:0
+msgid ""
+"If you check this field, this stage will be proposed by default on each "
+"sales team. It will not assign this stage to existing teams."
+msgstr ""
#. module: crm
-#: field:crm.meeting,edit_all:0
-msgid "Edit All"
-msgstr "Editar todo"
+#: help:crm.case.stage,type:0
+msgid ""
+"This field is used to distinguish stages related to Leads from stages "
+"related to Opportunities, or to specify stages available for both types."
+msgstr ""
#. module: crm
-#: field:crm.meeting,fr:0
-msgid "Fri"
-msgstr "Vie"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_lead
-msgid "crm.lead"
-msgstr "crm.iniciativa"
-
-#. module: crm
-#: field:crm.meeting,write_date:0
-msgid "Write Date"
-msgstr "Fecha escritura"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "End of Recurrency"
-msgstr "Fin de recurrencia"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Reminder"
-msgstr "Recordatorio"
+#: model:mail.message.subtype,name:crm.mt_lead_create
+#: model:mail.message.subtype,name:crm.mt_salesteam_lead
+msgid "Lead Created"
+msgstr ""
#. module: crm
#: help:crm.segmentation,sales_purchase_active:0
@@ -1507,238 +1193,256 @@ msgid ""
"Check if you want to use this tab as part of the segmentation rule. If not "
"checked, the criteria beneath will be ignored"
msgstr ""
-"Márquela si quiere utilizar esta pestaña como parte de la regla de "
-"segmentación. Si no se marca, los criterios que contenga serán ignorados"
-
-#. module: crm
-#: view:crm.lead2opportunity.partner:0
-#: view:crm.lead2partner:0
-#: view:crm.phonecall:0
-#: view:crm.phonecall2partner:0
-#: model:ir.actions.act_window,name:crm.action_crm_lead2partner
-#: model:ir.actions.act_window,name:crm.action_crm_phonecall2partner
-#: view:res.partner:0
-msgid "Create a Partner"
-msgstr "Crear una empresa"
#. module: crm
#: field:crm.segmentation,state:0
msgid "Execution Status"
-msgstr "Estado ejecución"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Monday"
-msgstr "Lunes"
+#: view:crm.opportunity2phonecall:0
+msgid "Log call"
+msgstr ""
#. module: crm
#: field:crm.lead,day_close:0
msgid "Days to Close"
-msgstr "Días para el cierre"
+msgstr ""
#. module: crm
-#: field:crm.add.note,attachment_ids:0
#: field:crm.case.section,complete_name:0
-#: field:crm.send.mail,attachment_ids:0
msgid "unknown"
-msgstr "desconocido"
+msgstr ""
#. module: crm
-#: field:crm.lead,id:0
-#: field:crm.meeting,id:0
-#: field:crm.phonecall,id:0
-msgid "ID"
-msgstr "ID"
+#: field:crm.case.section,message_is_follower:0
+#: field:crm.lead,message_is_follower:0
+#: field:crm.phonecall,message_is_follower:0
+msgid "Is a Follower"
+msgstr ""
#. module: crm
-#: model:ir.model,name:crm.model_crm_partner2opportunity
-msgid "Partner To Opportunity"
-msgstr "Empresa a oportunidad"
-
-#. module: crm
-#: view:crm.meeting:0
-#: field:crm.meeting,date:0
#: field:crm.opportunity2phonecall,date:0
#: view:crm.phonecall:0
#: field:crm.phonecall,date:0
#: field:crm.phonecall2phonecall,date:0
-#: view:res.partner:0
msgid "Date"
-msgstr "Fecha"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.section,name:crm.crm_case_section_4
+msgid "Online Support"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
#: view:crm.lead.report:0
-#: view:crm.meeting:0
#: view:crm.phonecall.report:0
msgid "Extended Filters..."
-msgstr "Filtros extendidos..."
+msgstr ""
#. module: crm
-#: field:crm.phonecall2opportunity,name:0
-msgid "Opportunity Summary"
-msgstr "Resumen oportunidad"
+#: view:crm.phonecall.report:0
+msgid "Phone calls which are in closed state"
+msgstr ""
#. module: crm
#: view:crm.phonecall.report:0
msgid "Search"
-msgstr "Buscar"
+msgstr ""
#. module: crm
-#: view:board.board:0
-msgid "Opportunities by Categories"
-msgstr "Oportunidades por categorías"
+#: help:crm.lead,state:0
+msgid ""
+"The Status is set to 'Draft', when a case is created. If the case is in "
+"progress the Status is set to 'Open'. When the case is over, the Status is "
+"set to 'Done'. If the case needs to be reviewed then the Status is set to "
+"'Pending'."
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-msgid "Choose day in the month where repeat the meeting"
-msgstr "Elija el día del mes en que se repetirá la cita."
+#: model:crm.case.section,name:crm.crm_case_section_1
+msgid "Sales Marketing Department"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall.report:0
+msgid "Date of call"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead,section_id:0
+msgid ""
+"When sending mails, the default email address is taken from the sales team."
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
+msgid ""
+"Phone Calls Assigned to the current user or with a team having the current "
+"user as team leader"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Segmentation Description"
-msgstr "Descripción de segmentación"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: view:res.partner:0
-msgid "History"
-msgstr "Historial"
+msgid "Lead Description"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_segmentation_tree-act
-msgid ""
-"Create specific partner categories which you can assign to your partners to "
-"better manage your interactions with them. The segmentation tool is able to "
-"assign categories to partners according to criteria you set."
+#: code:addons/crm/crm_lead.py:565
+#, python-format
+msgid "Merged opportunities"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.categ,name:crm.categ_oppor7
+msgid "Consulting"
msgstr ""
-"Cree categorías de empresa específicas para gestionar mejor sus "
-"interacciones con ellas. La herramienta de segmentación es capaz de asignar "
-"categorías a empresas de acuerdo a los criterios que establezca."
#. module: crm
#: field:crm.case.section,code:0
msgid "Code"
-msgstr "Código"
+msgstr ""
+
+#. module: crm
+#: view:sale.config.settings:0
+msgid "Features"
+msgstr ""
#. module: crm
#: field:crm.case.section,child_ids:0
msgid "Child Teams"
-msgstr "Equipos hijos"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-#: field:crm.lead,state:0
-#: view:crm.lead.report:0
-#: field:crm.lead.report,state:0
-#: view:crm.meeting:0
-#: field:crm.meeting,state:0
-#: field:crm.phonecall,state:0
#: view:crm.phonecall.report:0
-#: field:crm.phonecall.report,state:0
-msgid "State"
-msgstr "Estado"
+msgid "Phone calls which are in draft and open state"
+msgstr ""
#. module: crm
-#: field:crm.meeting,freq:0
-msgid "Frequency"
-msgstr "Frecuencia"
+#: field:crm.lead2opportunity.partner.mass,user_ids:0
+msgid "Salesmen"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "References"
-msgstr "Referencias"
-
-#. module: crm
-#: code:addons/crm/crm.py:392
-#: view:crm.lead:0
-#: view:crm.lead2opportunity:0
-#: view:crm.lead2opportunity.action:0
-#: view:crm.lead2opportunity.partner:0
-#: view:crm.lead2partner:0
-#: view:crm.phonecall:0
-#: view:crm.phonecall2partner:0
-#: view:res.partner:0
-#, python-format
-msgid "Cancel"
-msgstr "Cancelar"
-
-#. module: crm
-#: model:ir.model,name:crm.model_res_users
-msgid "res.users"
-msgstr "res.usuarios"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_merge_opportunity
-msgid "Merge two Opportunities"
-msgstr "Fusionar dos oportunidades"
-
-#. module: crm
-#: selection:crm.meeting,end_type:0
-msgid "Fix amout of times"
-msgstr "Cantidad fija de veces"
-
-#. module: crm
-#: view:crm.lead:0
-#: view:crm.meeting:0
-#: view:crm.phonecall:0
-msgid "Current"
-msgstr "Actual"
-
-#. module: crm
-#: field:crm.meeting,exrule:0
-msgid "Exception Rule"
-msgstr "Exception de regla"
-
-#. module: crm
-#: help:base.action.rule,act_mail_to_partner:0
-msgid "Check this if you want the rule to send an email to the partner."
msgstr ""
-"Verifica esto si tu quieres enviar la norma en un correo electronico a el "
-"socio"
+
+#. module: crm
+#: view:crm.lead2opportunity.partner:0
+#: view:crm.lead2opportunity.partner.mass:0
+#: view:crm.merge.opportunity:0
+#: view:crm.opportunity2phonecall:0
+#: view:crm.phonecall:0
+#: view:crm.phonecall2phonecall:0
+msgid "Cancel"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Opportunities Assigned to Me or My Team(s)"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.categ,name:crm.categ_oppor4
+msgid "Information"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+msgid "Leads/Opportunities which are in pending state"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
+msgid "To Do"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,description:crm.mt_lead_lost
+msgid "Opportunity lost"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead2opportunity.partner,action:0
+#: field:crm.lead2opportunity.partner.mass,action:0
+#: field:crm.partner.binding,action:0
+msgid "Related Customer"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.categ,name:crm.categ_oppor8
+msgid "Other"
+msgstr ""
+
+#. module: crm
+#: field:crm.phonecall,opportunity_id:0
+#: model:ir.model,name:crm.model_crm_lead
+msgid "Lead/Opportunity"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,name:crm.action_merge_opportunities
+#: model:ir.actions.act_window,name:crm.merge_opportunity_act
+msgid "Merge leads/opportunities"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.stage,sequence:0
+msgid "Used to order stages. Lower is better."
+msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action
msgid "Phonecall Categories"
-msgstr "Categorías de llamadas"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-msgid "Invite People"
-msgstr "Invitar personas"
+#: view:crm.lead.report:0
+msgid "Leads/Opportunities which are in open state"
+msgstr ""
+
+#. module: crm
+#: model:ir.model,name:crm.model_res_users
+msgid "Users"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,name:crm.mt_lead_stage
+msgid "Stage Changed"
+msgstr ""
+
+#. module: crm
+#: field:crm.case.stage,section_ids:0
+msgid "Sections"
+msgstr ""
#. module: crm
#: constraint:crm.case.section:0
msgid "Error ! You cannot create recursive Sales team."
-msgstr "¡Error! No puede crear equipos de ventas recursivos."
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-msgid "Search Meetings"
-msgstr "Buscar reuniones"
+#: selection:crm.opportunity2phonecall,action:0
+#: selection:crm.phonecall2phonecall,action:0
+msgid "Log a call"
+msgstr ""
#. module: crm
#: selection:crm.segmentation.line,expr_name:0
msgid "Sale Amount"
-msgstr "Importe de venta"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_send_email.py:141
-#, python-format
-msgid "Unable to send mail. Please check SMTP is configured properly."
msgstr ""
-"Imposible enviar el correo electrónico. Verifique que la configuración SMTP "
-"sea correcta."
#. module: crm
-#: selection:crm.segmentation.line,expr_operator:0
-msgid "="
-msgstr "="
-
-#. module: crm
-#: selection:crm.meeting,state:0
-msgid "Unconfirmed"
-msgstr "No confirmado"
+#: view:crm.phonecall.report:0
+#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new
+msgid "Phone calls"
+msgstr ""
#. module: crm
#: model:ir.actions.act_window,help:crm.action_report_crm_opportunity
@@ -1749,73 +1453,47 @@ msgid ""
"mainly used by the sales manager in order to do the periodic review with the "
"teams of the sales pipeline."
msgstr ""
-"El análisis de oportunidades le da acceso instantáneo a sus oportunidades "
-"con información como el ingreso previsto, coste planeado, fechas límite "
-"incumplidas o el número de interacciones por oportunidad. Este informe lo "
-"utiliza principalmente el responsable de ventas para hacer una revisión "
-"periódica del proceso de ventas con los equipos."
#. module: crm
#: field:crm.case.categ,name:0
-#: field:crm.installer,name:0
-#: field:crm.lead,name:0
+#: field:crm.payment.mode,name:0
#: field:crm.segmentation,name:0
-#: field:crm.send.mail.attachment,name:0
msgid "Name"
-msgstr "Nombre"
-
-#. module: crm
-#: field:crm.meeting,alarm_id:0
-#: field:crm.meeting,base_calendar_alarm_id:0
-msgid "Alarm"
-msgstr "Alarma"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_lead_stage_act
-msgid ""
-"Add specific stages to leads and opportunities allowing your sales to better "
-"organise their sales pipeline. Stages will allow them to easily track how a "
-"specific lead or opportunity is positioned in the sales cycle."
msgstr ""
-"Agregar etapas específicas de iniciativas y oportunidades para organizar "
-"mejor su flujo de ventas. Estas etapas permitirán un fácil seguimiento de "
-"iniciativas u oportunidades en relación al ciclo de ventas."
#. module: crm
#: view:crm.lead.report:0
-#: view:crm.phonecall.report:0
-msgid "My Case(s)"
-msgstr "Mi(s) caso(s)"
-
-#. module: crm
-#: field:crm.lead,birthdate:0
-msgid "Birthdate"
-msgstr "Fecha de nacimiento"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "The"
-msgstr "El"
-
-#. module: crm
-#: field:crm.send.mail.attachment,wizard_id:0
-msgid "Wizard"
-msgstr "Asistente"
-
-#. module: crm
-#: help:crm.lead,section_id:0
-msgid ""
-"Sales team to which this case belongs to. Defines responsible user and e-"
-"mail address for the mail gateway."
+msgid "Leads/Opportunities that are assigned to me"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead.report,date_closed:0
+#: field:crm.phonecall.report,date_closed:0
+msgid "Close Date"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+msgid "My Case(s)"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.section,message_ids:0
+#: help:crm.lead,message_ids:0
+#: help:crm.phonecall,message_ids:0
+msgid "Messages and communication history"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Show Countries"
msgstr ""
-"El equipo de ventas al que pertenece este caso. Define el usuario "
-"responsable y la dirección de correo electrónico para la pasarela de correo."
#. module: crm
#: view:crm.lead:0
#: view:crm.phonecall:0
msgid "Creation"
-msgstr "Creación"
+msgstr ""
#. module: crm
#: selection:crm.lead,priority:0
@@ -1823,168 +1501,104 @@ msgstr "Creación"
#: selection:crm.phonecall,priority:0
#: selection:crm.phonecall.report,priority:0
msgid "High"
-msgstr "Alto"
+msgstr ""
#. module: crm
#: model:process.node,note:crm.process_node_partner0
msgid "Convert to prospect to business partner"
-msgstr "Convertir prospección a empresa"
-
-#. module: crm
-#: view:crm.phonecall2opportunity:0
-msgid "_Convert"
-msgstr "_Convertir"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.action_view_attendee_form
-msgid ""
-"With Meeting Invitations you can create and manage the meeting invitations "
-"sent/to be sent to your colleagues/partners. You can not only invite OpenERP "
-"users, but also external parties, such as a customer."
msgstr ""
-"Con invitaciones a reuniones puede crear y gesionar las invitaciones de "
-"reuniones enviadas / por enviar a sus compañeros de trabajo / empresas. La "
-"invitación no debe ser únicamente para usuarios de OpenERP, puede ser "
-"igualmente para terceros externos, como un cliente."
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Saturday"
-msgstr "Sábado"
+#: model:ir.model,name:crm.model_crm_payment_mode
+msgid "CRM Payment Mode"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "Fifth"
-msgstr "Quinto"
-
-#. module: crm
-#: view:crm.phonecall2phonecall:0
-msgid "_Schedule"
-msgstr "_Calendario"
+#: view:crm.lead.report:0
+msgid "Leads/Opportunities which are in done state"
+msgstr ""
#. module: crm
#: field:crm.lead.report,delay_close:0
msgid "Delay to Close"
-msgstr "Tiempo restante para el cierre"
-
-#. module: crm
-#: field:crm.meeting,we:0
-msgid "Wed"
-msgstr "Mier"
-
-#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor6
-msgid "Potential Reseller"
-msgstr "Distribuidor potencial"
-
-#. module: crm
-#: field:crm.lead.report,planned_revenue:0
-msgid "Planned Revenue"
-msgstr "Ingresos previstos"
+msgstr ""
#. module: crm
#: view:crm.lead:0
#: view:crm.lead.report:0
-#: view:crm.meeting:0
#: view:crm.phonecall:0
#: view:crm.phonecall.report:0
msgid "Group By..."
-msgstr "Agrupar por..."
-
-#. module: crm
-#: help:crm.lead,partner_id:0
-msgid "Optional linked partner, usually after conversion of the lead"
msgstr ""
-"Empresa relacionada opcional, normalmente después de la conversión de la "
-"iniciativa"
#. module: crm
-#: view:crm.meeting:0
-msgid "Invitation details"
-msgstr "Detalles de la invitación"
+#: view:crm.merge.opportunity:0
+msgid "Merge Leads/Opportunities"
+msgstr ""
#. module: crm
#: field:crm.case.section,parent_id:0
msgid "Parent Team"
-msgstr "Equipo padre"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead2opportunity.partner,action:0
+#: selection:crm.lead2opportunity.partner.mass,action:0
+#: selection:crm.partner.binding,action:0
+msgid "Do not link to a customer"
+msgstr ""
#. module: crm
#: field:crm.lead,date_action:0
msgid "Next Action Date"
-msgstr "Fecha de la próxima acción"
+msgstr ""
#. module: crm
-#: selection:crm.segmentation,state:0
-msgid "Running"
-msgstr "En proceso"
+#: help:crm.case.stage,state:0
+msgid ""
+"The status of your document will automatically change regarding the selected "
+"stage. For example, if a stage is related to the status 'Close', when your "
+"document reaches this stage, it is automatically closed."
+msgstr ""
#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "Hours"
-msgstr "Horas"
-
-#. module: crm
-#: field:crm.lead,zip:0
-msgid "Zip"
-msgstr "Código postal"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:213
-#, python-format
-msgid "The case '%s' has been opened."
-msgstr "El caso '%s' ha sido abierto"
-
-#. module: crm
-#: view:crm.installer:0
-msgid "title"
-msgstr "título"
+#: view:crm.lead2opportunity.partner.mass:0
+msgid "Assign opportunities to"
+msgstr ""
#. module: crm
#: model:crm.case.categ,name:crm.categ_phone1
-#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0
-#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound
msgid "Inbound"
-msgstr "Entrante"
-
-#. module: crm
-#: help:crm.case.stage,probability:0
-msgid ""
-"This percentage depicts the default/average probability of the Case for this "
-"stage to be a success"
msgstr ""
-"Este porcentaje representa la probabilidad por defecto / media para que los "
-"casos de esta etapa sean un éxito."
#. module: crm
#: view:crm.phonecall.report:0
-#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new
-msgid "Phone calls"
-msgstr "Llamadas telefónicas"
+msgid "Month of call"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Communication History"
-msgstr "Historial de comunicaciones"
+#: code:addons/crm/crm_phonecall.py:290
+#, python-format
+msgid "Partner has been created."
+msgstr ""
#. module: crm
-#: selection:crm.meeting,show_as:0
-msgid "Free"
-msgstr "Libre"
+#: field:sale.config.settings,module_crm_claim:0
+msgid "Manage Customer Claims"
+msgstr ""
#. module: crm
-#: view:crm.installer:0
-msgid "Synchronization"
-msgstr "Sincronización"
+#: model:ir.actions.act_window,help:crm.action_report_crm_lead
+msgid ""
+"Leads Analysis allows you to check different CRM related information like "
+"the treatment delays or number of leads per state. You can sort out your "
+"leads analysis by different groups to get accurate grained analysis."
+msgstr ""
#. module: crm
-#: field:crm.case.section,allow_unlink:0
-msgid "Allow Delete"
-msgstr "Permitir eliminar"
-
-#. module: crm
-#: field:crm.meeting,mo:0
-msgid "Mon"
-msgstr "Lun"
+#: model:crm.case.categ,name:crm.categ_oppor3
+msgid "Services"
+msgstr ""
#. module: crm
#: selection:crm.lead,priority:0
@@ -1992,162 +1606,89 @@ msgstr "Lun"
#: selection:crm.phonecall,priority:0
#: selection:crm.phonecall.report,priority:0
msgid "Highest"
-msgstr "Muy alto"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0
-msgid ""
-"The Inbound Calls tool allows you to log your inbound calls on the fly. Each "
-"call you get will appear on the partner form to trace every contact you have "
-"with a partner. From the phone call form, you can trigger a request for "
-"another call, a meeting or an opportunity."
msgstr ""
-"La herramienta de llamadas entrantes le permite seguir el rastro de sus "
-"llamadas entrantes en tiempo real. Cada llamada que reciba, aparecerá en el "
-"formulario de la empresa para dejar el rastro de cada contacto que tiene en "
-"una empresa. Desde el formulario de llamada telefónica, puede lanzar una "
-"solicitud para otra llamada, una reunión o una oportunidad"
#. module: crm
-#: help:crm.meeting,recurrency:0
-msgid "Recurrent Meeting"
-msgstr "Reunión periódica"
+#: help:crm.lead.report,creation_year:0
+msgid "Creation year"
+msgstr ""
#. module: crm
#: view:crm.case.section:0
-#: view:crm.lead:0
#: field:crm.lead,description:0
msgid "Notes"
-msgstr "Notas"
-
-#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "Days"
-msgstr "Días"
+msgstr ""
#. module: crm
#: field:crm.segmentation.line,expr_value:0
msgid "Value"
-msgstr "Valor"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-#: view:crm.lead.report:0
-msgid "Opportunity by Categories"
-msgstr "Oportunidades por categorías"
-
-#. module: crm
-#: view:crm.lead:0
#: field:crm.lead,partner_name:0
msgid "Customer Name"
-msgstr "Nombre del cliente"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_categ_meet
-msgid ""
-"The meeting calendar is shared between the sales teams and fully integrated "
-"with other applications such as the employee holidays or the business "
-"opportunities. You can also synchronize meetings with your mobile phone "
-"using the caldav interface."
msgstr ""
-"El calendario de reuniones es compartido entre los equipos de ventas e "
-"integrado por completo con otras aplicaciones como las vacaciones de "
-"empleados o las oportunidades de negocio. Puede sincronizar reuniones con su "
-"teléfono móvil utilizando el interfaz caldav."
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_phonecall2opportunity
-msgid "Phonecall To Opportunity"
-msgstr "Llamada telefónica a oportunidad"
#. module: crm
#: field:crm.case.section,reply_to:0
msgid "Reply-To"
-msgstr "Responder a"
+msgstr ""
#. module: crm
-#: view:crm.case.section:0
-msgid "Select Stages for this Sales Team"
-msgstr "Seleccionar etapas para este equipo de ventas"
+#: view:crm.lead:0
+msgid "Display"
+msgstr ""
#. module: crm
#: view:board.board:0
msgid "Opportunities by Stage"
-msgstr "Oportunidades por etapa"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Recurrency Option"
-msgstr "Opción de recurrencia"
+msgstr ""
#. module: crm
#: model:process.transition,note:crm.process_transition_leadpartner0
msgid "Prospect is converting to business partner"
-msgstr "El prospecto se convierte a partner"
+msgstr ""
#. module: crm
-#: view:crm.lead2opportunity:0
-#: view:crm.partner2opportunity:0
-#: model:ir.actions.act_window,name:crm.phonecall2opportunity_act
-msgid "Convert To Opportunity"
-msgstr "Convertir en oportunidad"
+#: view:crm.case.channel:0
+#: model:ir.actions.act_window,name:crm.crm_case_channel_action
+#: model:ir.model,name:crm.model_crm_case_channel
+#: model:ir.ui.menu,name:crm.menu_crm_case_channel
+msgid "Channels"
+msgstr ""
#. module: crm
#: view:crm.phonecall:0
+#: selection:crm.phonecall,state:0
#: view:crm.phonecall.report:0
-#: view:res.partner:0
+#: selection:crm.phonecall.report,state:0
msgid "Held"
-msgstr "Realizada"
-
-#. module: crm
-#: view:crm.lead:0
-#: view:crm.phonecall:0
-#: view:res.partner:0
-msgid "Reset to Draft"
-msgstr "Cambiar a borrador"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Extra Info"
-msgstr "Información extra"
+msgstr ""
#. module: crm
-#: view:crm.merge.opportunity:0
-#: model:ir.actions.act_window,name:crm.action_merge_opportunities
-#: model:ir.actions.act_window,name:crm.merge_opportunity_act
-msgid "Merge Opportunities"
-msgstr "Fusionar oportunidades"
+#: view:crm.lead:0
+msgid "Fund Raising"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Edit..."
+msgstr ""
#. module: crm
#: model:crm.case.resource.type,name:crm.type_lead5
msgid "Google Adwords"
-msgstr "Google Adwords"
+msgstr ""
#. module: crm
-#: model:ir.model,name:crm.model_crm_phonecall
-msgid "crm.phonecall"
-msgstr "crm.llamadateléfono"
-
-#. module: crm
-#: model:crm.case.resource.type,name:crm.type_lead3
-msgid "Mail Campaign 2"
-msgstr "Campaña mail 2"
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Create"
-msgstr "Crear"
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Dates"
-msgstr "Fechas"
-
-#. module: crm
-#: code:addons/crm/crm.py:492
-#, python-format
-msgid "Send"
-msgstr "Enviar"
+#: view:crm.case.section:0
+msgid "Select Stages for this Sales Team"
+msgstr ""
#. module: crm
#: view:crm.lead:0
@@ -2158,257 +1699,205 @@ msgstr "Enviar"
#: view:crm.phonecall.report:0
#: field:crm.phonecall.report,priority:0
msgid "Priority"
-msgstr "Prioridad"
-
-#. module: crm
-#: field:crm.segmentation,sales_purchase_active:0
-msgid "Use The Sales Purchase Rules"
-msgstr "Utiliza las reglas de compra ventas"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_lead2opportunity_partner
msgid "Lead To Opportunity Partner"
-msgstr "Iniciativa a Oportunidad"
+msgstr ""
#. module: crm
-#: field:crm.meeting,location:0
-msgid "Location"
-msgstr "Ubicación"
+#: help:crm.lead,partner_id:0
+msgid "Linked partner (optional). Usually created when converting the lead."
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Reply"
-msgstr "Responder"
+#: field:crm.lead,payment_mode:0
+#: view:crm.payment.mode:0
+#: model:ir.actions.act_window,name:crm.action_crm_payment_mode
+msgid "Payment Mode"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "Weeks"
-msgstr "Semanas"
+#: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass
+msgid "Mass Lead To Opportunity Partner"
+msgstr ""
+
+#. module: crm
+#: view:sale.config.settings:0
+msgid "On Mail Server"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,name:crm.open_board_statistical_dash
+#: model:ir.ui.menu,name:crm.menu_board_statistics_dash
+msgid "CRM"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act
+#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act
+msgid "Contacts Segmentation"
+msgstr ""
#. module: crm
#: model:process.node,note:crm.process_node_meeting0
msgid "Schedule a normal or phone meeting"
-msgstr "Programar una reunión normal o telefónica"
-
-#. module: crm
-#: code:addons/crm/crm.py:375
-#, python-format
-msgid "Error !"
-msgstr "¡Error!"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_meeting_categ_action
-msgid ""
-"Create different meeting categories to better organize and classify your "
-"meetings."
msgstr ""
-"Cree diferentes categorías de reuniones para organizarlas y clasificarlas "
-"mejor."
+
+#. module: crm
+#: model:crm.case.resource.type,name:crm.type_lead1
+msgid "Telesales"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Leads Assigned to Me or My Team(s)"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_segmentation_line
msgid "Segmentation line"
-msgstr "Línea de segmentación"
+msgstr ""
#. module: crm
#: view:crm.opportunity2phonecall:0
#: view:crm.phonecall2phonecall:0
msgid "Planned Date"
-msgstr "Fecha prevista"
-
-#. module: crm
-#: field:crm.meeting,base_calendar_url:0
-msgid "Caldav URL"
-msgstr "URL de caldav"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Expected Revenues"
-msgstr "Ingresos esperados"
+msgstr ""
#. module: crm
-#: model:crm.case.resource.type,name:crm.type_lead6
-msgid "Google Adwords 2"
-msgstr "Google Adwords 2"
+#: view:crm.lead:0
+msgid "Referrer"
+msgstr ""
#. module: crm
#: help:crm.lead,type:0
#: help:crm.lead.report,type:0
msgid "Type is used to separate Leads and Opportunities"
-msgstr "El tipo es utilizado para separar iniciativas y oportunidades"
-
-#. module: crm
-#: view:crm.phonecall2partner:0
-msgid "Are you sure you want to create a partner based on this Phonecall ?"
msgstr ""
-"¿Está seguro que quiere crear una empresa basada en esta llamada telefónica?"
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "July"
-msgstr "Julio"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_section_act
-msgid ""
-"Define a Sales Team to organize your different salesmen or sales departments "
-"into separate teams. Each team will work in its own list of opportunities, "
-"sales orders, etc. Each user can set a default team in his user preferences. "
-"The opportunities and sales order displayed, will automatically be filtered "
-"according to his team."
msgstr ""
-"Defina un equipo de ventas para organizar a sus diferentes vendedores o "
-"departamentos de ventas en equipos separados. Cada equipo trabajará en su "
-"propia lista de oportunidades, pedidos de venta, etc. Cada usuario puede "
-"configurar un equipo predeterminado en sus preferencias de usuario. Las "
-"oportunidades y pedidos de venta mostrados se filtrarán automáticamente de "
-"acuerdo a su equipo."
#. module: crm
-#: help:crm.meeting,count:0
-msgid "Repeat x times"
-msgstr "Repetir x veces"
+#: view:crm.lead:0
+msgid "Lead / Customer"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.section,name:crm.crm_case_section_2
+msgid "Support Department"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+msgid "Show only lead"
+msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_section_act
#: model:ir.model,name:crm.model_crm_case_section
#: model:ir.ui.menu,name:crm.menu_crm_case_section_act
msgid "Sales Teams"
-msgstr "Equipos de ventas"
+msgstr ""
#. module: crm
-#: model:ir.model,name:crm.model_crm_lead2partner
-msgid "Lead to Partner"
-msgstr "Inicaitiva a cliente"
-
-#. module: crm
-#: view:crm.segmentation:0
-#: field:crm.segmentation.line,segmentation_id:0
-#: model:ir.actions.act_window,name:crm.crm_segmentation-act
-msgid "Segmentation"
-msgstr "Segmentación"
+#: field:crm.case.stage,case_default:0
+msgid "Default to New Sales Team"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Team"
-msgstr "Equipo"
-
-#. module: crm
-#: field:crm.installer,outlook:0
-msgid "MS-Outlook"
-msgstr "MS-Outlook"
-
-#. module: crm
-#: view:crm.phonecall:0
-#: view:crm.phonecall.report:0
-#: view:res.partner:0
-msgid "Not Held"
-msgstr "Pendiente"
-
-#. module: crm
-#: field:crm.lead.report,probability:0
-msgid "Probability"
-msgstr "Probabilidad"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
-#: field:crm.lead.report,month:0
-#: field:crm.meeting,month_list:0
-#: view:crm.phonecall.report:0
-#: field:crm.phonecall.report,month:0
-msgid "Month"
-msgstr "Mes"
-
-#. module: crm
-#: view:crm.lead:0
-#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
-#: model:ir.ui.menu,name:crm.menu_crm_case_categ0_act_leads
-#: model:process.node,name:crm.process_node_leads0
-msgid "Leads"
-msgstr "Iniciativas"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all
-msgid ""
-"Leads allow you to manage and keep track of all initial contacts with a "
-"prospect or partner showing interest in your products or services. A lead is "
-"usually the first step in your sales cycle. Once qualified, a lead may be "
-"converted into a business opportunity, while creating the related partner "
-"for further detailed tracking of any linked activities. You can import a "
-"database of prospects, keep track of your business cards or integrate your "
-"website's contact form with the OpenERP Leads. Leads can be connected to the "
-"email gateway: new emails may create leads, each of them automatically gets "
-"the history of the conversation with the prospect."
+msgid "Leads/Opportunities which are in New state"
msgstr ""
-"Las iniciativas le permiten gestionar y realizar un seguimiento de todos los "
-"contactos iniciales con un cliente potencial o socio que muestre interés en "
-"sus productos o servicios. Una iniciativa es generalmente el primer paso en "
-"su ciclo de ventas. Una vez identificada, una iniciativa se puede convertir "
-"en una oportunidad de negocio, creándose el socio correspondiente para el "
-"seguimiento detallado de cualquier actividad relacionada. Usted puede "
-"importar una base de datos de posibles clientes, realizar el seguimiento de "
-"sus tarjetas de visita o integrar el formulario de contacto de su sitio web "
-"con las iniciativas de OpenERP. Las iniciativas pueden ser conectadas a una "
-"pasarela de correo electrónico: los nuevos correos crearán nuevas "
-"iniciativas y cada una de ellas obtendrá automáticamente el historial de la "
-"conversación con el cliente potencial."
-
-#. module: crm
-#: selection:crm.lead2opportunity.partner,action:0
-#: selection:crm.lead2partner,action:0
-#: selection:crm.phonecall2partner,action:0
-msgid "Create a new partner"
-msgstr "Crear una nueva empresa"
-
-#. module: crm
-#: view:crm.meeting:0
-#: view:res.partner:0
-msgid "Start Date"
-msgstr "Fecha inicio"
#. module: crm
#: selection:crm.phonecall,state:0
#: view:crm.phonecall.report:0
-msgid "Todo"
-msgstr "Por hacer"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Delegate"
-msgstr "Delegar"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Decline"
-msgstr "Rechazar"
-
-#. module: crm
-#: help:crm.lead,optin:0
-msgid "If opt-in is checked, this contact has accepted to receive emails."
+msgid "Not Held"
msgstr ""
-"Si opt-in está marcado, este contacto ha aceptado recibir correos "
-"electrónicos."
#. module: crm
-#: view:crm.meeting:0
-msgid "Reset to Unconfirmed"
-msgstr "Restablecer a no confirmado"
+#: field:crm.lead.report,probability:0
+msgid "Probability"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_add_note.py:40
-#: view:crm.add.note:0
+#: view:crm.lead.report:0
+#: view:crm.phonecall.report:0
+#: field:crm.phonecall.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all
+#: model:ir.ui.menu,name:crm.menu_crm_leads
+#: model:process.node,name:crm.process_node_leads0
+msgid "Leads"
+msgstr ""
+
+#. module: crm
+#: code:addons/crm/crm_lead.py:563
#, python-format
-msgid "Note"
-msgstr "Nota"
+msgid "Merged leads"
+msgstr ""
#. module: crm
-#: constraint:res.users:0
-msgid "The chosen company is not in the allowed companies for this user"
+#: model:crm.case.categ,name:crm.categ_oppor5
+msgid "Design"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead2opportunity.partner,name:0
+#: selection:crm.lead2opportunity.partner.mass,name:0
+msgid "Merge with existing opportunities"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall.report:0
+#: selection:crm.phonecall.report,state:0
+msgid "Todo"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,name:crm.mt_lead_convert_to_opportunity
+#: model:mail.message.subtype,name:crm.mt_salesteam_lead_opportunity
+msgid "Lead to Opportunity"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,user_email:0
+msgid "User Email"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead,partner_name:0
+msgid ""
+"The name of the future partner company that will be created while converting "
+"the lead into opportunity"
+msgstr ""
+
+#. module: crm
+#: field:crm.opportunity2phonecall,note:0
+#: field:crm.phonecall2phonecall,note:0
+msgid "Note"
msgstr ""
-"La compañía seleccionada no está en las compañías permitidas para este "
-"usuario"
#. module: crm
#: selection:crm.lead,priority:0
@@ -2416,561 +1905,319 @@ msgstr ""
#: selection:crm.phonecall,priority:0
#: selection:crm.phonecall.report,priority:0
msgid "Low"
-msgstr "Bajo"
+msgstr ""
#. module: crm
-#: selection:crm.add.note,state:0
+#: selection:crm.case.stage,state:0
#: field:crm.lead,date_closed:0
#: selection:crm.lead,state:0
#: view:crm.lead.report:0
#: selection:crm.lead.report,state:0
-#: field:crm.meeting,date_closed:0
-#: selection:crm.merge.opportunity,state:0
#: field:crm.phonecall,date_closed:0
-#: selection:crm.phonecall.report,state:0
-#: selection:crm.send.mail,state:0
msgid "Closed"
-msgstr "Cerrado"
+msgstr ""
#. module: crm
-#: view:crm.installer:0
-msgid "Plug-In"
-msgstr "Conector"
-
-#. module: crm
-#: model:crm.case.categ,name:crm.categ_meet2
-msgid "Internal Meeting"
-msgstr "Reunión interna"
-
-#. module: crm
-#: code:addons/crm/crm.py:411
-#: selection:crm.add.note,state:0
#: view:crm.lead:0
+msgid "Open Opportunities"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.resource.type,name:crm.type_lead2
+msgid "Email Campaign - Services"
+msgstr ""
+
+#. module: crm
+#: selection:crm.case.stage,state:0
#: selection:crm.lead,state:0
#: view:crm.lead.report:0
#: selection:crm.lead.report,state:0
-#: selection:crm.merge.opportunity,state:0
-#: selection:crm.phonecall,state:0
#: selection:crm.phonecall.report,state:0
-#: selection:crm.send.mail,state:0
-#, python-format
msgid "Pending"
-msgstr "Pendiente"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_meet1
-msgid "Customer Meeting"
-msgstr "Reunión de cliente"
+#: model:process.transition,name:crm.process_transition_leadopportunity0
+msgid "Prospect Opportunity"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead,email_cc:0
+msgid "Global CC"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: field:crm.lead,email_cc:0
-msgid "Global CC"
-msgstr "CC Global"
-
-#. module: crm
#: view:crm.phonecall:0
#: model:ir.actions.act_window,name:crm.crm_case_categ_phone0
#: model:ir.ui.menu,name:crm.menu_crm_case_phone
-#: view:res.partner:0
+#: model:ir.ui.menu,name:crm.menu_crm_config_phonecall
msgid "Phone Calls"
-msgstr "Llamadas telefónicas"
+msgstr ""
+
+#. module: crm
+#: view:crm.case.stage:0
+msgid "Stage Search"
+msgstr ""
#. module: crm
#: help:crm.lead.report,delay_open:0
#: help:crm.phonecall.report,delay_open:0
msgid "Number of Days to open the case"
-msgstr "Número de días para abrir el caso"
+msgstr ""
#. module: crm
#: field:crm.lead,phone:0
+#: field:crm.opportunity2phonecall,phone:0
+#: view:crm.phonecall:0
#: field:crm.phonecall,partner_phone:0
+#: field:crm.phonecall2phonecall,phone:0
msgid "Phone"
-msgstr "Teléfono"
+msgstr ""
#. module: crm
+#: field:crm.case.channel,active:0
#: field:crm.case.section,active:0
#: field:crm.lead,active:0
-#: view:crm.lead.report:0
-#: field:crm.meeting,active:0
#: field:crm.phonecall,active:0
msgid "Active"
-msgstr "Activo"
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:306
-#, python-format
-msgid "The stage of opportunity '%s' has been changed to '%s'."
-msgstr "La fase de la oportunidad '%s' ha cambiado a '%s'."
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:282
-#, python-format
-msgid "Changed Stage to: %s"
msgstr ""
#. module: crm
#: selection:crm.segmentation.line,operator:0
msgid "Mandatory Expression"
-msgstr "Expresión obligatoria"
-
-#. module: crm
-#: selection:crm.segmentation.line,expr_operator:0
-msgid ">"
-msgstr ">"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Uncertain"
-msgstr "Incierto"
-
-#. module: crm
-#: field:crm.send.mail,email_cc:0
-msgid "CC"
-msgstr "CC"
-
-#. module: crm
-#: view:crm.send.mail:0
-#: model:ir.actions.act_window,name:crm.action_crm_send_mail
-msgid "Send Mail"
-msgstr "Enviar correo"
-
-#. module: crm
-#: selection:crm.meeting,freq:0
-msgid "Months"
-msgstr "Meses"
-
-#. module: crm
-#: help:crm.installer,wiki_sale_faq:0
-msgid ""
-"Helps you manage wiki pages for Frequently Asked Questions on Sales "
-"Application."
msgstr ""
-"Le ayuda a organizar páginas wiki para preguntas frecuentes sobre la "
-"aplicación de ventas"
#. module: crm
-#: help:crm.installer,crm_fundraising:0
-msgid "This may help associations in their fundraising process and tracking."
-msgstr ""
-"Puede ayudar a las asociaciones en su proceso de obtención de fondos y "
-"seguimiento."
-
-#. module: crm
-#: field:crm.lead2opportunity.partner,action:0
-#: field:crm.lead2partner,action:0
-#: field:crm.phonecall2partner,action:0
-msgid "Action"
-msgstr "Acción"
-
-#. module: crm
-#: field:crm.installer,crm_claim:0
-msgid "Claims"
-msgstr "Reclamaciones"
-
-#. module: crm
-#: field:crm.segmentation,som_interval_decrease:0
-msgid "Decrease (0>1)"
-msgstr "Disminuir (0>1)"
-
-#. module: crm
-#: view:crm.add.note:0
#: view:crm.lead:0
-#: view:crm.send.mail:0
-msgid "Attachments"
-msgstr "Datos adjuntos"
+msgid "Send Mail"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,rrule_type:0
-msgid "Weekly"
-msgstr "Semanal"
+#: selection:crm.lead2opportunity.partner,action:0
+#: selection:crm.lead2opportunity.partner.mass,action:0
+#: selection:crm.partner.binding,action:0
+msgid "Create a new customer"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_send_email.py:72
-#: code:addons/crm/wizard/crm_send_email.py:169
-#: code:addons/crm/wizard/crm_send_email.py:270
-#, python-format
-msgid "Can not send mail!"
-msgstr "¡No se pudo enviar el correo!"
+#: field:crm.lead.report,deadline_day:0
+msgid "Exp. Closing Day"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.categ,name:crm.categ_oppor2
+msgid "Software"
+msgstr ""
+
+#. module: crm
+#: field:crm.case.section,change_responsible:0
+msgid "Reassign Escalated"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+#: model:ir.actions.act_window,name:crm.action_report_crm_opportunity
+#: model:ir.ui.menu,name:crm.menu_report_crm_opportunities_tree
+msgid "Opportunities Analysis"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Misc"
-msgstr "Varios"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor8
-#: view:crm.meeting:0
-msgid "Other"
-msgstr "Otro"
-
-#. module: crm
-#: view:crm.meeting:0
-#: selection:crm.meeting,state:0
-#: selection:crm.phonecall,state:0
-msgid "Done"
-msgstr "Hecho"
-
-#. module: crm
-#: help:crm.meeting,interval:0
-msgid "Repeat every (Days/Week/Month/Year)"
-msgstr "Repetir cada (días/semana/mes/año)"
-
-#. module: crm
-#: field:crm.segmentation,som_interval_max:0
-msgid "Max Interval"
-msgstr "Intervalo máx"
-
-#. module: crm
-#: view:crm.opportunity2phonecall:0
-msgid "_Schedule Call"
-msgstr "_Programar llamada"
-
-#. module: crm
-#: code:addons/crm/crm.py:326
-#: selection:crm.add.note,state:0
#: view:crm.lead:0
-#: selection:crm.lead,state:0
+#: view:crm.lead.report:0
#: selection:crm.lead.report,state:0
-#: selection:crm.merge.opportunity,state:0
-#: view:crm.phonecall:0
-#: selection:crm.phonecall.report,state:0
-#: selection:crm.send.mail,state:0
-#: view:res.partner:0
-#, python-format
msgid "Open"
-msgstr "Abierto"
-
-#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Tuesday"
-msgstr "Martes"
+msgstr ""
#. module: crm
+#: view:crm.lead:0
#: field:crm.lead,city:0
msgid "City"
-msgstr "Ciudad"
-
-#. module: crm
-#: selection:crm.meeting,show_as:0
-msgid "Busy"
-msgstr "Ocupado"
-
-#. module: crm
-#: field:crm.meeting,interval:0
-msgid "Repeat every"
-msgstr "Repetir cada"
-
-#. module: crm
-#: field:crm.installer,crm_helpdesk:0
-msgid "Helpdesk"
-msgstr "Asistencia/Ayuda"
-
-#. module: crm
-#: field:crm.meeting,recurrency:0
-msgid "Recurrent"
-msgstr "Recurrente"
-
-#. module: crm
-#: code:addons/crm/crm.py:397
-#, python-format
-msgid "The case '%s' has been cancelled."
-msgstr "El caso '%s' ha sido cancelado"
-
-#. module: crm
-#: field:crm.installer,sale_crm:0
-msgid "Opportunity to Quotation"
-msgstr "Oportunidad a presupuesto"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_send_mail
-msgid "Send new email"
-msgstr "Enviar nuevo email"
-
-#. module: crm
-#: view:board.board:0
-#: model:ir.actions.act_window,name:crm.act_my_oppor
-msgid "My Open Opportunities"
-msgstr "Mis oportunidades abiertas"
-
-#. module: crm
-#: model:ir.actions.act_window,name:crm.open_board_statistical_dash
-msgid "CRM - Statistics Dashboard"
-msgstr "CRM - Tablero de estadísticas"
-
-#. module: crm
-#: help:crm.meeting,rrule:0
-msgid ""
-"Defines a rule or repeating pattern for recurring events\n"
-"e.g.: Every other month on the last Sunday of the month for 10 occurrences: "
-" FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU"
msgstr ""
-"Define una regla o patrón repetitivo para eventos recurrentes.\n"
-"Por ejemplo: Para 10 ocurrencias cada último domingo de cada dos meses : "
-"FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=-1SU"
#. module: crm
-#: field:crm.lead,job_id:0
-msgid "Main Job"
-msgstr "Trabajo principal"
-
-#. module: crm
-#: field:base.action.rule,trg_max_history:0
-msgid "Maximum Communication History"
-msgstr "Máximo historial de comunicaciones"
-
-#. module: crm
-#: view:crm.lead2opportunity.partner:0
-#: view:crm.lead2partner:0
-msgid "Are you sure you want to create a partner based on this lead ?"
-msgstr "¿Está seguro que quiere crear una empresa basada en esta iniciativa?"
-
-#. module: crm
-#: view:crm.meeting:0
-#: field:crm.meeting,categ_id:0
-msgid "Meeting Type"
-msgstr "Tipo de reunión"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:314
-#, python-format
-msgid "Merge with Existing Opportunity"
-msgstr "Fusinar con oportunidad existente"
-
-#. module: crm
-#: help:crm.lead,state:0
-#: help:crm.phonecall,state:0
-msgid ""
-"The state is set to 'Draft', when a case is created. "
-" \n"
-"If the case is in progress the state is set to 'Open'. "
-" \n"
-"When the case is over, the state is set to 'Done'. "
-" \n"
-"If the case needs to be reviewed then the state is set to 'Pending'."
+#: selection:crm.case.stage,type:0
+msgid "Both"
msgstr ""
-"El estado se establece a 'Borrador', cuando se crea un caso. "
-" \n"
-"Si el caso está en progreso el estado se establece a 'Abierto'. "
-" \n"
-"Cuando el caso se cierra, el estado se establece a 'Realizado'. "
-" \n"
-"Si el caso necesita ser revisado entonces en estado se establece a "
-"'Pendiente'."
#. module: crm
-#: view:crm.meeting:0
-#: view:res.partner:0
-msgid "End Date"
-msgstr "Fecha final"
-
-#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "Third"
-msgstr "Tercero"
-
-#. module: crm
-#: help:crm.segmentation,som_interval_max:0
-msgid ""
-"The computation is made on all events that occured during this interval, the "
-"past X periods."
+#: view:crm.phonecall:0
+msgid "Call Done"
msgstr ""
-"El cálculo se realiza en todos los eventos que ocurran durante este "
-"intervalo, los X períodos anteriores."
#. module: crm
-#: view:board.board:0
-msgid "My Win/Lost Ratio for the Last Year"
-msgstr "Mi coeficiente ganado/perdido del año anterior"
+#: view:crm.phonecall:0
+#: field:crm.phonecall,user_id:0
+msgid "Responsible"
+msgstr ""
#. module: crm
-#: field:crm.installer,thunderbird:0
-msgid "Thunderbird"
-msgstr "Thunderbird"
+#: model:crm.case.section,name:crm.crm_case_section_3
+msgid "Direct Marketing"
+msgstr ""
#. module: crm
-#: view:crm.lead.report:0
-msgid "# of Emails"
-msgstr "Nº de e-mails"
+#: model:crm.case.categ,name:crm.categ_oppor1
+msgid "Product"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead.report,creation_year:0
+msgid "Creation Year"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead2opportunity.partner.mass:0
+msgid "Conversion Options"
+msgstr ""
+
+#. module: crm
+#: view:crm.case.section:0
+msgid ""
+"Follow this salesteam to automatically track the events associated to users "
+"of this team."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Address"
+msgstr ""
+
+#. module: crm
+#: help:crm.case.section,alias_id:0
+msgid ""
+"The email address associated with this team. New emails received will "
+"automatically create new leads assigned to the team."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Unassigned Opportunities"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Search Leads"
-msgstr "Buscar iniciativas"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
#: view:crm.phonecall.report:0
#: field:crm.phonecall.report,delay_open:0
msgid "Delay to open"
-msgstr "Retraso de apertura"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-msgid "Recurrency period"
-msgstr "Periodo de recurrencia"
+#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0
+#: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound
+msgid "Scheduled Calls"
+msgstr ""
#. module: crm
-#: field:crm.meeting,week_list:0
-msgid "Weekday"
-msgstr "Día de la semana"
+#: field:crm.lead,id:0
+msgid "ID"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Referrer"
-msgstr "Referenciado por"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_lead2opportunity
-msgid "Lead To Opportunity"
-msgstr "Iniciativa a opportunidad"
+#: help:crm.lead,type_id:0
+msgid ""
+"From which campaign (seminar, marketing campaign, mass mailing, ...) did "
+"this contact come from?"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_calendar_attendee
msgid "Attendee information"
-msgstr "Información asistencia"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Segmentation Test"
-msgstr "Prueba de segmentación"
+msgstr ""
#. module: crm
#: view:crm.segmentation:0
msgid "Continue Process"
-msgstr "Continuar el proceso"
-
-#. module: crm
-#: view:crm.installer:0
-msgid "Configure Your CRM Application"
-msgstr "Configure su aplicación CRM"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_phonecall2partner
-msgid "Phonecall to Partner"
-msgstr "Llamada telefónica a empresa"
-
-#. module: crm
-#: help:crm.lead,partner_name:0
-msgid ""
-"The name of the future partner that will be created while converting the "
-"into opportunity"
msgstr ""
-"El nombre del futuro cliente que se creará cuando se convierta en "
-"oportunidad."
+
+#. module: crm
+#: selection:crm.lead2opportunity.partner,name:0
+#: selection:crm.lead2opportunity.partner.mass,name:0
+#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner
+msgid "Convert to opportunity"
+msgstr ""
#. module: crm
#: field:crm.opportunity2phonecall,user_id:0
#: field:crm.phonecall2phonecall,user_id:0
msgid "Assign To"
-msgstr "Asignar a"
-
-#. module: crm
-#: field:crm.add.note,state:0
-#: field:crm.send.mail,state:0
-msgid "Set New State To"
-msgstr "Establecer nuevo estado a"
+msgstr ""
#. module: crm
#: field:crm.lead,date_action_last:0
-#: field:crm.meeting,date_action_last:0
#: field:crm.phonecall,date_action_last:0
msgid "Last Action"
-msgstr "Última acción"
+msgstr ""
#. module: crm
-#: field:crm.meeting,duration:0
#: field:crm.phonecall,duration:0
#: field:crm.phonecall.report,duration:0
msgid "Duration"
-msgstr "Duración"
+msgstr ""
#. module: crm
-#: field:crm.send.mail,reply_to:0
-msgid "Reply To"
-msgstr "Responder a"
+#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0
+msgid ""
+"\n"
+" Click to schedule a call \n"
+"
\n"
+" OpenERP allows you to easily define all the calls to be done\n"
+" by your sales team and follow up based on their summary.\n"
+"
\n"
+" You can use the import feature to massively import a new list "
+"of\n"
+" prospects to qualify.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
-#: view:board.board:0
-#: model:ir.actions.act_window,name:crm.open_board_crm
-#: model:ir.ui.menu,name:crm.menu_board_crm
-msgid "Sales Dashboard"
-msgstr "Tablero de ventas"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_partner.py:56
-#, python-format
-msgid "A partner is already defined on this lead."
-msgstr "Una empresa ya ha sido definida en esta iniciativa."
+#: help:crm.case.stage,fold:0
+msgid ""
+"This stage is not visible, for example in status bar or kanban view, when "
+"there are no records in that stage to display."
+msgstr ""
#. module: crm
#: field:crm.lead.report,nbr:0
#: field:crm.phonecall.report,nbr:0
msgid "# of Cases"
-msgstr "# de casos"
+msgstr ""
#. module: crm
-#: help:crm.meeting,section_id:0
#: help:crm.phonecall,section_id:0
msgid "Sales team to which Case belongs to."
-msgstr "Equipo de ventas al cual pertence el caso"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Sunday"
-msgstr "Domingo"
+#: model:crm.case.resource.type,name:crm.type_lead6
+msgid "Banner Ads"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "Fourth"
-msgstr "Cuarto"
-
-#. module: crm
-#: selection:crm.add.note,state:0
-#: selection:crm.merge.opportunity,state:0
-#: selection:crm.send.mail,state:0
-msgid "Unchanged"
-msgstr "Sin cambios"
-
-#. module: crm
-#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act
-#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act
-msgid "Partners Segmentation"
-msgstr "Segmentación de empresas"
+#: field:crm.merge.opportunity,opportunity_ids:0
+msgid "Leads/Opportunities"
+msgstr ""
#. module: crm
#: field:crm.lead,fax:0
msgid "Fax"
-msgstr "Fax"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11
-msgid ""
-"With opportunities you can manage and keep track of your sales pipeline by "
-"creating specific customer- or prospect-related sales documents to follow up "
-"potential sales. Information such as expected revenue, opportunity stage, "
-"expected closing date, communication history and much more can be stored. "
-"Opportunities can be connected to the email gateway: new emails may create "
-"opportunities, each of them automatically gets the history of the "
-"conversation with the customer.\n"
-"\n"
-"You and your team(s) will be able to plan meetings and phone calls from "
-"opportunities, convert them into quotations, manage related documents, track "
-"all customer related activities, and much more."
msgstr ""
-"Con las oportunidades puede gestionar y guardar el registro de su canal de "
-"ventas creando documentos específicos de venta por cliente - o potencial "
-"cliente - para el seguimiento de sus ventas potenciales. La información "
-"sobre ingresos esperados, etapa de la oportunidad, fecha estimada de cierre, "
-"histórico de las comunicaciones y muchos otros datos puede ser registrada. "
-"Las oportunidades pueden ser conectadas a la pasarela de correo electrónico: "
-"nuevos emails pueden crear oportunidades, y cada uno de ellos obtiene "
-"automáticamente el historial de la conversación con el cliente."
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Assignment"
-msgstr "Asignación"
#. module: crm
#: field:crm.lead,company_id:0
@@ -2980,148 +2227,79 @@ msgstr "Asignación"
#: view:crm.phonecall.report:0
#: field:crm.phonecall.report,company_id:0
msgid "Company"
-msgstr "Compañía"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Friday"
-msgstr "Viernes"
+#: selection:crm.segmentation,state:0
+msgid "Running"
+msgstr ""
#. module: crm
-#: field:crm.meeting,allday:0
-msgid "All Day"
-msgstr "Todo el día"
+#: model:mail.message.subtype,description:crm.mt_lead_convert_to_opportunity
+msgid "Lead converted into an opportunity"
+msgstr ""
#. module: crm
-#: field:crm.segmentation.line,operator:0
-msgid "Mandatory / Optional"
-msgstr "Obligatorio / Opcional"
+#: view:crm.lead:0
+msgid "Unassigned Leads"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,name:crm.action_view_attendee_form
-#: model:ir.ui.menu,name:crm.menu_attendee_invitations
-msgid "Meeting Invitations"
-msgstr "Invitaciones a reunión"
+#: model:mail.message.subtype,description:crm.mt_lead_won
+msgid "Opportunity won"
+msgstr ""
#. module: crm
#: field:crm.case.categ,object_id:0
msgid "Object Name"
-msgstr "Nombre del objeto"
+msgstr ""
#. module: crm
-#: help:crm.lead,email_from:0
-msgid "E-mail address of the contact"
-msgstr "e-mail del contacto"
-
-#. module: crm
-#: field:crm.lead,referred:0
-msgid "Referred by"
-msgstr "Referenciado por"
+#: view:crm.phonecall:0
+msgid "Phone Calls Assigned to Me or My Team(s)"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: model:ir.model,name:crm.model_crm_add_note
-msgid "Add Internal Note"
-msgstr "Añadir nota interna"
+msgid "Reset"
+msgstr ""
#. module: crm
-#: code:addons/crm/crm_lead.py:304
-#, python-format
-msgid "The stage of lead '%s' has been changed to '%s'."
-msgstr "La etapa de la iniciativa '%s' ha sido cambiada por '%s'"
-
-#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "Last"
-msgstr "Último"
+#: view:sale.config.settings:0
+msgid "After-Sale Services"
+msgstr ""
#. module: crm
+#: field:crm.case.section,message_ids:0
#: field:crm.lead,message_ids:0
-#: field:crm.meeting,message_ids:0
#: field:crm.phonecall,message_ids:0
msgid "Messages"
-msgstr "Mensajes"
+msgstr ""
#. module: crm
-#: help:crm.case.stage,on_change:0
-msgid "Change Probability on next and previous stages."
-msgstr "Cambiar probabilidad para las etapas siguientes y anteriores."
-
-#. module: crm
-#: code:addons/crm/crm.py:455
-#: code:addons/crm/crm.py:457
-#: code:addons/crm/crm_action_rule.py:66
-#: code:addons/crm/wizard/crm_send_email.py:141
-#, python-format
-msgid "Error!"
-msgstr "¡Error!"
+#: help:crm.lead,channel_id:0
+msgid "Communication channel (mail, direct, phone, ...)"
+msgstr ""
#. module: crm
#: field:crm.opportunity2phonecall,name:0
#: field:crm.phonecall2phonecall,name:0
msgid "Call summary"
-msgstr "Resumen de la llamada"
+msgstr ""
#. module: crm
-#: selection:crm.add.note,state:0
+#: selection:crm.case.stage,state:0
#: selection:crm.lead,state:0
#: selection:crm.lead.report,state:0
-#: selection:crm.meeting,state:0
-#: selection:crm.merge.opportunity,state:0
#: selection:crm.phonecall,state:0
#: selection:crm.phonecall.report,state:0
-#: selection:crm.send.mail,state:0
msgid "Cancelled"
-msgstr "Cancelado"
-
-#. module: crm
-#: field:crm.add.note,body:0
-msgid "Note Body"
-msgstr "Contenido de la nota"
-
-#. module: crm
-#: view:board.board:0
-msgid "My Planned Revenues by Stage"
-msgstr "Mis ingresos previstos por etapa"
-
-#. module: crm
-#: field:crm.lead.report,date_closed:0
-#: field:crm.phonecall.report,date_closed:0
-msgid "Close Date"
-msgstr "Fecha cierre"
-
-#. module: crm
-#: view:crm.lead.report:0
-#: view:crm.phonecall.report:0
-msgid " Month "
-msgstr " Mes "
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Links"
-msgstr "Enlaces"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_lead_categ_action
-msgid ""
-"Create specific categories that fit your company's activities to better "
-"classify and analyse your leads and opportunities. Such categories could for "
-"instance reflect your product structure or the different types of sales you "
-"do."
msgstr ""
-"Crear categorías específicas que se adapten a las actividades de su compañía "
-"para clasificar y analizar mejor sus iniciativas y oportunidades. Estas "
-"categorías podrían, por ejemplo, reflejar la estructura de sus productos o "
-"de los distintos tipos de ventas que realice."
#. module: crm
-#: help:crm.segmentation,som_interval_decrease:0
-msgid ""
-"If the partner has not purchased (or bought) during a period, decrease the "
-"state of mind by this factor. It's a multiplication"
+#: field:crm.lead,color:0
+msgid "Color Index"
msgstr ""
-"Si la empresa no ha comprado durante un período, disminuir el grado de "
-"satisfacción por este factor. Es una multiplicación."
#. module: crm
#: model:ir.actions.act_window,help:crm.action_report_crm_phonecall
@@ -3131,164 +2309,130 @@ msgid ""
"several criteria and drill down the information, by adding more groups in "
"the report."
msgstr ""
-"Desde este informe, puede analizar el rendimiento de su equipo de ventas "
-"basándose en sus llamadas telefónicas. Puede agrupar o filtrar la "
-"información de acuerdo a varios criterios y profundizar en la información "
-"añadiendo más grupos al informe."
#. module: crm
-#: view:crm.case.section:0
-msgid "Mailgateway"
-msgstr "Pasarela de correo"
-
-#. module: crm
-#: help:crm.lead,user_id:0
-msgid "By Default Salesman is Administrator when create New User"
+#: field:crm.case.stage,fold:0
+msgid "Fold by Default"
msgstr ""
-"Por defecto el vendedor es administrador cuando se crea un nuevo usuario"
#. module: crm
-#: view:crm.lead.report:0
-msgid "# Mails"
-msgstr "Nº de correos"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_phonecall_to_opportunity.py:57
-#, python-format
-msgid "Warning"
-msgstr "Aviso"
+#: field:crm.case.stage,state:0
+msgid "Related Status"
+msgstr ""
#. module: crm
#: field:crm.phonecall,name:0
-#: view:res.partner:0
msgid "Call Summary"
-msgstr "Resumen de llamadas"
+msgstr ""
#. module: crm
#: field:crm.segmentation.line,expr_operator:0
msgid "Operator"
-msgstr "Operador"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_phonecall2phonecall
-msgid "Phonecall To Phonecall"
-msgstr "Llamada telefónica a llamada telefónica"
+msgstr ""
#. module: crm
#: view:crm.lead:0
+#: model:ir.actions.act_window,name:crm.opportunity2phonecall_act
msgid "Schedule/Log Call"
-msgstr "Planificar/Registrar llamada"
-
-#. module: crm
-#: field:crm.installer,fetchmail:0
-msgid "Fetch Emails"
-msgstr "Buscar emails"
-
-#. module: crm
-#: selection:crm.meeting,state:0
-msgid "Confirmed"
-msgstr "Confirmado"
-
-#. module: crm
-#: help:crm.send.mail,email_cc:0
-msgid ""
-"These addresses will receive a copy of this email. To modify the permanent "
-"CC list, edit the global CC field of this case"
msgstr ""
-"Estas direcciones recibirán una copia de este correo electrónico. Para "
-"modificar la lista CC permanente, edite el campo CC global de este caso."
#. module: crm
-#: view:crm.meeting:0
+#: view:crm.merge.opportunity:0
+msgid "Select Leads/Opportunities"
+msgstr ""
+
+#. module: crm
+#: selection:crm.phonecall,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: crm
+#: model:ir.model,name:crm.model_crm_partner_binding
+msgid "Handle partner binding or generation in CRM wizards."
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,name:crm.act_oppor_stage_user
+msgid "Planned Revenue By User and Stage"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
msgid "Confirm"
-msgstr "Confirmar"
+msgstr ""
#. module: crm
-#: field:crm.meeting,su:0
-msgid "Sun"
-msgstr "Dom"
+#: view:crm.lead:0
+msgid "Unread messages"
+msgstr ""
#. module: crm
#: field:crm.phonecall.report,section_id:0
msgid "Section"
-msgstr "Sección"
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Total of Planned Revenue"
-msgstr "Total ingresos previstos"
-
-#. module: crm
-#: code:addons/crm/crm.py:375
-#, python-format
-msgid ""
-"You can not escalate, You are already at the top level regarding your sales-"
-"team category."
msgstr ""
-"No puede escalar, ya está en el nivel más alto en su categoría de equipo de "
-"ventas."
#. module: crm
#: selection:crm.segmentation.line,operator:0
msgid "Optional Expression"
-msgstr "Expresión opcional"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,select1:0
-msgid "Day of month"
-msgstr "Día del mes"
+#: field:crm.case.section,message_follower_ids:0
+#: field:crm.lead,message_follower_ids:0
+#: field:crm.phonecall,message_follower_ids:0
+msgid "Followers"
+msgstr ""
#. module: crm
-#: field:crm.lead2opportunity,probability:0
-msgid "Success Rate (%)"
-msgstr "Tasa de éxito (%)"
+#: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all
+msgid ""
+"\n"
+" Click to create an unqualified lead.\n"
+"
\n"
+" Use leads if you need a qualification step before creating an\n"
+" opportunity or a customer. It can be a business card you "
+"received,\n"
+" a contact form filled in your website, or a file of unqualified\n"
+" prospects you import, etc.\n"
+"
\n"
+" Once qualified, the lead can be converted into a business\n"
+" opportunity and/or a new customer in your address book.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead1
-#: model:crm.case.stage,name:crm.stage_opportunity1
-msgid "New"
-msgstr "Nuevo"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Mail TO"
-msgstr "Enviar correo a"
+#: field:sale.config.settings,fetchmail_lead:0
+msgid "Create leads from incoming mails"
+msgstr ""
#. module: crm
#: view:crm.lead:0
#: field:crm.lead,email_from:0
-#: field:crm.meeting,email_from:0
#: field:crm.phonecall,email_from:0
msgid "Email"
-msgstr "Email"
+msgstr ""
#. module: crm
+#: view:crm.case.channel:0
#: view:crm.lead:0
#: field:crm.lead,channel_id:0
#: view:crm.lead.report:0
#: field:crm.lead.report,channel_id:0
-#: field:crm.phonecall,canal_id:0
msgid "Channel"
-msgstr "Canal"
-
-#. module: crm
-#: model:ir.actions.act_window,name:crm.opportunity2phonecall_act
-msgid "Schedule Call"
-msgstr "Planificar llamada"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:135
-#: code:addons/crm/wizard/crm_lead_to_opportunity.py:260
-#, python-format
-msgid "Closed/Cancelled Leads Could not convert into Opportunity"
msgstr ""
-"Las iniciativas cerradas/canceladas no podrían ser convertidas en "
-"oportunidades"
#. module: crm
-#: view:crm.segmentation:0
-msgid "Profiling"
-msgstr "Perfiles"
+#: view:crm.opportunity2phonecall:0
+#: view:crm.phonecall2phonecall:0
+msgid "Schedule Call"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead.report:0
+#: view:crm.phonecall.report:0
+msgid "My Sales Team(s)"
+msgstr ""
#. module: crm
#: help:crm.segmentation,exclusif:0
@@ -3298,252 +2442,169 @@ msgid ""
"If checked, remove the category from partners that doesn't match "
"segmentation criterions"
msgstr ""
-"Marque esta opción si la categoría está limitada a empresas que coincidan "
-"con los criterios de segmentación. \n"
-"Si está marcada, elimina la categoría de aquellas empresas que no coincidan "
-"con los criterios de segmentación."
-
-#. module: crm
-#: field:crm.meeting,exdate:0
-msgid "Exception Date/Times"
-msgstr "Fecha/horas excepción"
-
-#. module: crm
-#: selection:crm.meeting,class:0
-msgid "Confidential"
-msgstr "Confidencial"
-
-#. module: crm
-#: help:crm.meeting,date_deadline:0
-msgid ""
-"Deadline Date is automatically computed from Start "
-"Date + Duration"
-msgstr ""
-"La fecha límite se calcula automáticamente a partir de la fecha inicial + "
-"duración."
-
-#. module: crm
-#: field:crm.lead,state_id:0
-msgid "Fed. State"
-msgstr "Provincia"
#. module: crm
#: model:process.transition,note:crm.process_transition_leadopportunity0
msgid "Creating business opportunities from Leads"
-msgstr "Creando oportunidades de negocio desde iniciativas"
+msgstr ""
#. module: crm
-#: help:crm.send.mail,html:0
-msgid "Select this if you want to send email with HTML formatting."
-msgstr "Seleccione esta opción si desea enviar emails con formato HTML"
+#: model:crm.case.resource.type,name:crm.type_lead3
+msgid "Email Campaign - Products"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor4
-msgid "Need Information"
-msgstr "Necesita información"
+#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0
+msgid ""
+"\n"
+" Click to log the summary of a phone call. \n"
+"
\n"
+" OpenERP allows you to log inbound calls on the fly to track the\n"
+" history of the communication with a customer or to inform "
+"another\n"
+" team member.\n"
+"
\n"
+" In order to follow up on the call, you can trigger a request "
+"for\n"
+" another call, a meeting or an opportunity.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
-#: model:process.transition,name:crm.process_transition_leadopportunity0
-msgid "Prospect Opportunity"
-msgstr "Oportunidad de prospección"
+#: model:process.node,note:crm.process_node_leads0
+msgid "Very first contact with new prospect"
+msgstr ""
#. module: crm
-#: view:crm.installer:0
-#: model:ir.actions.act_window,name:crm.action_crm_installer
-msgid "CRM Application Configuration"
-msgstr "Configuración de la aplicación CRM"
+#: view:res.partner:0
+msgid "Calls"
+msgstr ""
#. module: crm
-#: field:base.action.rule,act_categ_id:0
-msgid "Set Category to"
-msgstr "Establecer categoría"
+#: field:crm.case.stage,on_change:0
+msgid "Change Probability Automatically"
+msgstr ""
#. module: crm
-#: view:crm.case.section:0
-msgid "Configuration"
-msgstr "Configuración"
-
-#. module: crm
-#: field:crm.meeting,th:0
-msgid "Thu"
-msgstr "Jue"
-
-#. module: crm
-#: view:crm.add.note:0
-#: view:crm.merge.opportunity:0
-#: view:crm.opportunity2phonecall:0
-#: view:crm.partner2opportunity:0
-#: view:crm.phonecall2opportunity:0
-#: view:crm.phonecall2phonecall:0
-#: view:crm.send.mail:0
-msgid "_Cancel"
-msgstr "_Cancelar"
-
-#. module: crm
-#: view:crm.lead.report:0
#: view:crm.phonecall.report:0
-msgid " Month-1 "
-msgstr " Mes-1 "
+msgid "My Phone Calls"
+msgstr ""
#. module: crm
-#: help:crm.installer,sale_crm:0
-msgid "This module relates sale from opportunity cases in the CRM."
-msgstr "Este módulo relaciona ventas con oportunidades en el CRM."
-
-#. module: crm
-#: selection:crm.meeting,rrule_type:0
-msgid "Daily"
-msgstr "Diario"
-
-#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead2
-#: model:crm.case.stage,name:crm.stage_opportunity2
+#: model:crm.case.stage,name:crm.stage_lead3
msgid "Qualification"
-msgstr "Calificación"
+msgstr ""
#. module: crm
-#: view:crm.case.stage:0
-msgid "Stage Definition"
-msgstr "Definición de etapa"
+#: field:crm.lead2opportunity.partner,name:0
+#: field:crm.lead2opportunity.partner.mass,name:0
+msgid "Conversion Action"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "First"
-msgstr "Primero"
+#: model:ir.actions.act_window,help:crm.crm_lead_categ_action
+msgid ""
+"\n"
+" Click to define a new sales tag.\n"
+"
\n"
+" Create specific tags that fit your company's activities\n"
+" to better classify and analyse your leads and "
+"opportunities.\n"
+" Such categories could for instance reflect your product\n"
+" structure or the different types of sales you do.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
+#: selection:crm.phonecall.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,name:crm.mt_lead_lost
+#: model:mail.message.subtype,name:crm.mt_salesteam_lead_lost
+msgid "Opportunity Lost"
+msgstr ""
+
+#. module: crm
+#: field:crm.lead.report,deadline_month:0
+msgid "Exp. Closing Month"
+msgstr ""
+
+#. module: crm
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "December"
-msgstr "Diciembre"
-
-#. module: crm
-#: field:crm.installer,config_logo:0
-msgid "Image"
-msgstr "Imagen"
-
-#. module: crm
-#: view:base.action.rule:0
-msgid "Condition on Communication History"
-msgstr "Condición en el historial de comunicaciones"
-
-#. module: crm
-#: help:crm.segmentation,som_interval:0
-msgid ""
-"A period is the average number of days between two cycle of sale or purchase "
-"for this segmentation. \n"
-"It's mainly used to detect if a partner has not purchased or buy for a too "
-"long time, \n"
-"so we suppose that his state of mind has decreased because he probably "
-"bought goods to another supplier. \n"
-"Use this functionality for recurring businesses."
msgstr ""
-"Un periodo es el número medio de días entre dos ciclos de ventas o compras "
-"para esta segmentación. \n"
-"Se utiliza principalmente para detectar si una empresa no ha comprado por un "
-"largo periodo de tiempo, \n"
-"por lo que suponemos que su grado de satisfacción ha disminuido porqué "
-"seguramente compró bienes a otro proveedor. \n"
-"Utilice esta funcionalidad para negocios recurrentes."
#. module: crm
-#: view:crm.send.mail:0
-msgid "_Send Reply"
-msgstr "_Enviar respuesta"
-
-#. module: crm
-#: field:crm.meeting,vtimezone:0
-msgid "Timezone"
-msgstr "Zona horaria"
-
-#. module: crm
-#: field:crm.lead2opportunity.partner,msg:0
-#: field:crm.lead2partner,msg:0
-#: view:crm.send.mail:0
-msgid "Message"
-msgstr "Mensaje"
-
-#. module: crm
-#: field:crm.meeting,sa:0
-msgid "Sat"
-msgstr "Sáb"
+#: view:crm.phonecall:0
+msgid "Date of Call"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: field:crm.lead,user_id:0
-#: view:crm.lead.report:0
-#: view:crm.phonecall.report:0
-msgid "Salesman"
-msgstr "Comercial"
-
-#. module: crm
#: field:crm.lead,date_deadline:0
msgid "Expected Closing"
-msgstr "Cierre previsto"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_opportunity2phonecall
msgid "Opportunity to Phonecall"
-msgstr "Oportunidad a llamada telefónica"
+msgstr ""
#. module: crm
-#: help:crm.case.section,allow_unlink:0
-msgid "Allows to delete non draft cases"
-msgstr "Permite eliminar los casos en estado no borrador."
+#: view:crm.segmentation:0
+msgid "Sales Purchase"
+msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Schedule Meeting"
-msgstr "Programar reunión"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Partner Name"
-msgstr "Nombre empresa"
+#: field:crm.lead.report,deadline_year:0
+msgid "Ex. Closing Year"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_phone2
-#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0
-#: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound
-msgid "Outbound"
-msgstr "Saliente"
+#: model:ir.actions.client,name:crm.action_client_crm_menu
+msgid "Open Sale Menu"
+msgstr ""
#. module: crm
#: field:crm.lead,date_open:0
#: field:crm.phonecall,date_open:0
msgid "Opened"
-msgstr "Abierto"
+msgstr ""
#. module: crm
#: view:crm.case.section:0
#: field:crm.case.section,member_ids:0
msgid "Team Members"
-msgstr "Miembros del equipo"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-#: field:crm.lead,job_ids:0
-#: view:crm.meeting:0
-#: view:crm.phonecall:0
-#: view:res.partner:0
-msgid "Contacts"
-msgstr "Contactos"
+#: view:crm.opportunity2phonecall:0
+#: view:crm.phonecall2phonecall:0
+msgid "Schedule/Log a Call"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor1
-msgid "Interest in Computer"
-msgstr "Interesado en ordenadores"
+#: field:crm.lead,planned_cost:0
+msgid "Planned Costs"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-msgid "Invitation Detail"
-msgstr "Detalle de la invitación"
-
-#. module: crm
-#: field:crm.segmentation,som_interval_default:0
-msgid "Default (0=None)"
-msgstr "Por defecto (0=Ninguno)"
+#: help:crm.lead,date_deadline:0
+msgid "Estimate of the date on which the opportunity will be won."
+msgstr ""
#. module: crm
#: help:crm.lead,email_cc:0
@@ -3552,83 +2613,41 @@ msgid ""
"outbound emails for this record before being sent. Separate multiple email "
"addresses with a comma"
msgstr ""
-"Estas direcciones de correo serán añadidas al campo CC para todos los "
-"correos entrantes y salientes de este registro antes de ser enviados. Separe "
-"las diferentes direcciones de correo con una coma."
#. module: crm
-#: constraint:res.partner:0
-msgid "Error ! You can not create recursive associated members."
-msgstr "¡Error! No puede crear miembros asociados recursivos."
+#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0
+#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound
+msgid "Logged Calls"
+msgstr ""
#. module: crm
-#: field:crm.partner2opportunity,probability:0
-#: field:crm.phonecall2opportunity,probability:0
-msgid "Success Probability"
-msgstr "Probabilidad de éxito"
-
-#. module: crm
-#: code:addons/crm/crm.py:426
-#: selection:crm.add.note,state:0
-#: selection:crm.lead,state:0
-#: selection:crm.lead.report,state:0
-#: selection:crm.merge.opportunity,state:0
-#: selection:crm.phonecall,state:0
-#: selection:crm.phonecall.report,state:0
-#: selection:crm.send.mail,state:0
-#, python-format
-msgid "Draft"
-msgstr "Borrador"
+#: model:mail.message.subtype,name:crm.mt_lead_won
+#: model:mail.message.subtype,name:crm.mt_salesteam_lead_won
+msgid "Opportunity Won"
+msgstr ""
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_case_section_act_tree
msgid "Cases by Sales Team"
-msgstr "Casos por equipo de ventas"
+msgstr ""
#. module: crm
-#: field:crm.meeting,attendee_ids:0
-msgid "Attendees"
-msgstr "Asistentes"
-
-#. module: crm
-#: view:crm.meeting:0
+#: view:crm.lead:0
#: view:crm.phonecall:0
#: model:ir.model,name:crm.model_crm_meeting
#: model:process.node,name:crm.process_node_meeting0
-#: model:res.request.link,name:crm.request_link_meeting
msgid "Meeting"
-msgstr "Reunión"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_case_categ
msgid "Category of Case"
-msgstr "Categoría de caso"
-
-#. module: crm
-#: view:crm.lead:0
-#: view:crm.phonecall:0
-msgid "7 Days"
-msgstr "7 días"
+msgstr ""
#. module: crm
#: view:board.board:0
msgid "Planned Revenue by Stage and User"
-msgstr "Ingresos previsto por etapa y usuario"
-
-#. module: crm
-#: view:crm.lead:0
-msgid "Communication & History"
-msgstr "Comunicación e Historial"
-
-#. module: crm
-#: model:ir.model,name:crm.model_crm_lead_report
-msgid "CRM Lead Report"
-msgstr "Informe de iniciativas CRM"
-
-#. module: crm
-#: field:crm.installer,progress:0
-msgid "Configuration Progress"
-msgstr "Progreso de la configuración"
+msgstr ""
#. module: crm
#: selection:crm.lead,priority:0
@@ -3636,217 +2655,148 @@ msgstr "Progreso de la configuración"
#: selection:crm.phonecall,priority:0
#: selection:crm.phonecall.report,priority:0
msgid "Normal"
-msgstr "Normal"
+msgstr ""
#. module: crm
#: field:crm.lead,street2:0
msgid "Street2"
-msgstr "Calle2"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,name:crm.crm_meeting_categ_action
-#: model:ir.ui.menu,name:crm.menu_crm_case_meeting-act
-msgid "Meeting Categories"
-msgstr "Categorías de reuniones"
-
-#. module: crm
-#: view:crm.lead2opportunity.partner:0
-#: view:crm.lead2partner:0
-#: view:crm.phonecall2partner:0
-msgid "You may have to verify that this partner does not exist already."
-msgstr "Debería verificar que esta empresa no exista ya."
+#: field:sale.config.settings,module_crm_helpdesk:0
+msgid "Manage Helpdesk and Support"
+msgstr ""
#. module: crm
#: field:crm.lead.report,delay_open:0
msgid "Delay to Open"
-msgstr "Retraso de apertura"
+msgstr ""
#. module: crm
#: field:crm.lead.report,user_id:0
#: field:crm.phonecall.report,user_id:0
msgid "User"
-msgstr "Usuario"
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "November"
-msgstr "Noviembre"
-
-#. module: crm
-#: code:addons/crm/crm_action_rule.py:67
-#, python-format
-msgid "No E-Mail ID Found for your Company address!"
-msgstr "¡No se ha encontrado Email en la dirección de su compañía!"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
+#: model:ir.actions.act_window,name:crm.act_opportunity_stage
msgid "Opportunities By Stage"
-msgstr "Oportunidades por etapa"
+msgstr ""
#. module: crm
-#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_create_partner
-msgid "Schedule Phone Call"
-msgstr "Planificar llamada telefónica"
-
-#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "January"
-msgstr "Enero"
-
-#. module: crm
-#: model:ir.actions.act_window,help:crm.crm_opportunity_stage_act
-msgid ""
-"Create specific stages that will help your sales better organise their sales "
-"pipeline by maintaining them to their sales opportunities. It will allow "
-"them to easily track how is positioned a specific opportunity in the sales "
-"cycle."
msgstr ""
-"Crear pasos específicos que ayudarán a su departamento de ventas a organizar "
-"mejor el flujo de venta gestionando sus oportunidades de venta. Esto les "
-"permitirá seguir fácilmente como está posicionada una oportunidad en el "
-"ciclo de ventas."
#. module: crm
#: model:process.process,name:crm.process_process_contractprocess0
msgid "Contract"
-msgstr "Contrato"
+msgstr ""
#. module: crm
#: model:crm.case.resource.type,name:crm.type_lead4
msgid "Twitter Ads"
-msgstr "Anuncios Twiter"
+msgstr ""
#. module: crm
-#: code:addons/crm/wizard/crm_add_note.py:26
-#: code:addons/crm/wizard/crm_send_email.py:72
-#: code:addons/crm/wizard/crm_send_email.py:169
-#: code:addons/crm/wizard/crm_send_email.py:270
-#, python-format
-msgid "Error"
-msgstr "Error"
+#: field:crm.lead.report,creation_day:0
+msgid "Creation Day"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
msgid "Planned Revenues"
-msgstr "Ingresos esperados"
-
-#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor7
-msgid "Need Consulting"
-msgstr "Necesita consultoría"
-
-#. module: crm
-#: constraint:crm.segmentation:0
-msgid "Error ! You can not create recursive profiles."
-msgstr "¡Error! No se puede crear perfiles recursivos."
-
-#. module: crm
-#: code:addons/crm/crm_lead.py:232
-#, python-format
-msgid "The case '%s' has been closed."
-msgstr "El caso '%s' ha sido cerrado"
-
-#. module: crm
-#: field:crm.lead,partner_address_id:0
-#: field:crm.meeting,partner_address_id:0
-#: field:crm.phonecall,partner_address_id:0
-msgid "Partner Contact"
-msgstr "Contacto empresa"
-
-#. module: crm
-#: field:crm.meeting,recurrent_id:0
-msgid "Recurrent ID date"
-msgstr "ID fecha recurrente"
-
-#. module: crm
-#: sql_constraint:res.users:0
-msgid "You can not have two users with the same login !"
-msgstr "¡No puede tener dos usuarios con el mismo identificador de usuario!"
-
-#. module: crm
-#: code:addons/crm/wizard/crm_merge_opportunities.py:100
-#, python-format
-msgid "Merged into Opportunity: %s"
-msgstr "Fusionado con la oportunidad '%s'"
-
-#. module: crm
-#: code:addons/crm/crm.py:347
-#: view:crm.lead:0
-#: view:res.partner:0
-#, python-format
-msgid "Close"
-msgstr "Cerrado"
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
+msgid "Exp.Closing"
+msgstr ""
+
+#. module: crm
+#: help:crm.lead.report,deadline_year:0
+msgid "Expected closing year"
+msgstr ""
+
+#. module: crm
+#: model:ir.model,name:crm.model_crm_case_stage
+msgid "Stage of case"
+msgstr ""
+
+#. module: crm
+#: selection:crm.opportunity2phonecall,action:0
+#: selection:crm.phonecall2phonecall,action:0
+msgid "Schedule a call"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: view:crm.phonecall:0
-#: view:res.partner:0
msgid "Categorization"
-msgstr "Categorización"
+msgstr ""
#. module: crm
-#: model:ir.model,name:crm.model_base_action_rule
-msgid "Action Rules"
-msgstr "Reglas de acciones"
+#: view:crm.phonecall2phonecall:0
+msgid "Log Call"
+msgstr ""
#. module: crm
-#: field:crm.meeting,rrule_type:0
-msgid "Recurrency"
-msgstr "Recurrencia"
+#: help:sale.config.settings,group_fund_raising:0
+msgid "Allows you to trace and manage your activities for fund raising."
+msgstr ""
#. module: crm
#: field:crm.meeting,phonecall_id:0
+#: model:ir.model,name:crm.model_crm_phonecall
msgid "Phonecall"
-msgstr "Llamada telefónica"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Thursday"
-msgstr "Jueves"
+#: view:crm.phonecall.report:0
+msgid "Phone calls that are assigned to one of the sale teams I manage"
+msgstr ""
#. module: crm
-#: view:crm.meeting:0
-#: field:crm.send.mail,email_to:0
-msgid "To"
-msgstr "Para"
+#: view:crm.lead:0
+msgid "Create date"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,class:0
-msgid "Private"
-msgstr "Privado"
+#: view:crm.lead:0
+msgid "at"
+msgstr ""
+
+#. module: crm
+#: model:crm.case.stage,name:crm.stage_lead1
+#: selection:crm.case.stage,state:0
+#: view:crm.lead:0
+#: selection:crm.lead,state:0
+#: view:crm.lead.report:0
+msgid "New"
+msgstr ""
#. module: crm
#: field:crm.lead,function:0
msgid "Function"
-msgstr "Función"
-
-#. module: crm
-#: view:crm.add.note:0
-msgid "_Add"
-msgstr "_Añadir"
-
-#. module: crm
-#: selection:crm.segmentation.line,expr_name:0
-msgid "State of Mind"
-msgstr "Grado de satisfacción"
+msgstr ""
#. module: crm
#: field:crm.case.section,note:0
-#: view:crm.meeting:0
-#: field:crm.meeting,description:0
-#: view:crm.phonecall:0
#: field:crm.phonecall,description:0
#: field:crm.segmentation,description:0
-#: view:res.partner:0
msgid "Description"
-msgstr "Descripción"
+msgstr ""
#. module: crm
-#: field:base.action.rule,trg_section_id:0
#: field:crm.case.categ,section_id:0
#: field:crm.case.resource.type,section_id:0
#: view:crm.case.section:0
@@ -3854,790 +2804,210 @@ msgstr "Descripción"
#: field:crm.lead,section_id:0
#: view:crm.lead.report:0
#: field:crm.lead.report,section_id:0
-#: field:crm.meeting,section_id:0
+#: field:crm.lead2opportunity.partner.mass,section_id:0
#: field:crm.opportunity2phonecall,section_id:0
+#: field:crm.payment.mode,section_id:0
#: view:crm.phonecall:0
#: field:crm.phonecall,section_id:0
#: view:crm.phonecall.report:0
#: field:crm.phonecall2phonecall,section_id:0
#: field:res.partner,section_id:0
-#: field:res.users,context_section_id:0
msgid "Sales Team"
-msgstr "Equipo de ventas"
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "May"
-msgstr "Mayo"
+msgstr ""
#. module: crm
-#: model:crm.case.categ,name:crm.categ_oppor2
-msgid "Interest in Accessories"
-msgstr "Interesado en accesorios"
+#: model:ir.actions.act_window,help:crm.crm_case_channel_action
+msgid ""
+"\n"
+" Click to define a new channel.\n"
+"
\n"
+" Use channels to track the soure of your leads and "
+"opportunities. Channels\n"
+" are mostly used in reporting to analyse sales performance\n"
+" related to marketing efforts.\n"
+"
\n"
+" Some examples of channels: company website, phone call\n"
+" campaign, reseller, etc.\n"
+"
\n"
+" "
+msgstr ""
#. module: crm
-#: code:addons/crm/crm_lead.py:211
-#, python-format
-msgid "The opportunity '%s' has been opened."
-msgstr "La oportunidad '%s' ha sido abierta"
+#: view:crm.lead:0
+msgid "Internal Notes"
+msgstr ""
#. module: crm
-#: field:crm.lead.report,email:0
-msgid "# Emails"
-msgstr "Nº de emails"
+#: view:crm.lead:0
+msgid "New Opportunities"
+msgstr ""
+
+#. module: crm
+#: field:crm.segmentation.line,operator:0
+msgid "Mandatory / Optional"
+msgstr ""
#. module: crm
#: field:crm.lead,street:0
msgid "Street"
-msgstr "Calle"
+msgstr ""
#. module: crm
-#: view:crm.lead.report:0
-msgid "Opportunities by User and Team"
-msgstr "Oportunidades por usuario y equipo"
+#: field:crm.lead,referred:0
+msgid "Referred By"
+msgstr ""
+
+#. module: crm
+#: view:crm.phonecall:0
+msgid "Reset to Todo"
+msgstr ""
#. module: crm
#: field:crm.case.section,working_hours:0
msgid "Working Hours"
-msgstr "Horario de trabajo"
+msgstr ""
#. module: crm
+#: code:addons/crm/crm_lead.py:968
#: view:crm.lead:0
-#: field:crm.lead,is_customer_add:0
+#: field:crm.lead2opportunity.partner,partner_id:0
+#: field:crm.lead2opportunity.partner.mass,partner_id:0
+#: field:crm.partner.binding,partner_id:0
+#, python-format
msgid "Customer"
-msgstr "Cliente"
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "February"
-msgstr "Febrero"
+msgstr ""
#. module: crm
#: view:crm.phonecall:0
-#: model:ir.actions.act_window,name:crm.crm_case_categ_meet_create_partner
-#: view:res.partner:0
msgid "Schedule a Meeting"
-msgstr "Planificar una reunión"
+msgstr ""
#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead6
-#: model:crm.case.stage,name:crm.stage_opportunity6
+#: model:crm.case.stage,name:crm.stage_lead8
#: view:crm.lead:0
msgid "Lost"
-msgstr "Perdido"
+msgstr ""
#. module: crm
+#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89
+#, python-format
+msgid "Closed/Cancelled leads cannot be converted into opportunities."
+msgstr ""
+
+#. module: crm
+#: view:crm.lead:0
#: field:crm.lead,country_id:0
#: view:crm.lead.report:0
#: field:crm.lead.report,country_id:0
msgid "Country"
-msgstr "País"
+msgstr ""
#. module: crm
#: view:crm.lead:0
-#: selection:crm.lead2opportunity.action,name:0
+#: view:crm.lead2opportunity.partner:0
+#: view:crm.lead2opportunity.partner.mass:0
#: view:crm.phonecall:0
-#: view:res.partner:0
msgid "Convert to Opportunity"
-msgstr "Convertir a oportunidad"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,week_list:0
-msgid "Wednesday"
-msgstr "Miércoles"
+#: help:crm.phonecall,email_from:0
+msgid "These people will receive email."
+msgstr ""
#. module: crm
-#: selection:crm.lead.report,month:0
-#: selection:crm.meeting,month_list:0
+#: selection:crm.lead.report,creation_month:0
+#: selection:crm.lead.report,deadline_month:0
#: selection:crm.phonecall.report,month:0
msgid "April"
-msgstr "Abril"
+msgstr ""
#. module: crm
#: field:crm.case.resource.type,name:0
msgid "Campaign Name"
-msgstr "Nombre de la campaña"
+msgstr ""
+
+#. module: crm
+#: view:crm.segmentation:0
+msgid "Profiling"
+msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall_report
msgid "Phone calls by user and section"
-msgstr "Llamadas telefónicas por usuario y sección"
+msgstr ""
#. module: crm
-#: selection:crm.lead2opportunity.action,name:0
-msgid "Merge with existing Opportunity"
-msgstr "Fusionado con oportunidad existente"
-
-#. module: crm
-#: field:crm.meeting,select1:0
-msgid "Option"
-msgstr "Opción"
-
-#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead4
-#: model:crm.case.stage,name:crm.stage_opportunity4
+#: model:crm.case.stage,name:crm.stage_lead5
msgid "Negotiation"
-msgstr "Negociación"
+msgstr ""
#. module: crm
-#: view:crm.lead:0
-msgid "Exp.Closing"
-msgstr "Cierre previsto"
+#: model:ir.model,name:crm.model_crm_phonecall2phonecall
+msgid "Phonecall To Phonecall"
+msgstr ""
#. module: crm
#: field:crm.case.stage,sequence:0
-#: field:crm.meeting,sequence:0
msgid "Sequence"
-msgstr "Secuencia"
-
-#. module: crm
-#: field:crm.send.mail,body:0
-msgid "Message Body"
-msgstr "Cuerpo del mensaje"
-
-#. module: crm
-#: view:crm.meeting:0
-msgid "Accept"
-msgstr "Aceptar"
+msgstr ""
#. module: crm
#: field:crm.segmentation.line,expr_name:0
msgid "Control Variable"
-msgstr "Variable de control"
+msgstr ""
#. module: crm
-#: selection:crm.meeting,byday:0
-msgid "Second"
-msgstr "Segundo"
-
-#. module: crm
-#: model:crm.case.stage,name:crm.stage_lead3
-#: model:crm.case.stage,name:crm.stage_opportunity3
+#: model:crm.case.stage,name:crm.stage_lead4
msgid "Proposition"
-msgstr "Propuesta"
+msgstr ""
#. module: crm
+#: view:crm.phonecall:0
#: field:res.partner,phonecall_ids:0
msgid "Phonecalls"
-msgstr "Llamadas telefónicas"
+msgstr ""
#. module: crm
#: view:crm.lead.report:0
-#: field:crm.lead.report,name:0
#: view:crm.phonecall.report:0
#: field:crm.phonecall.report,name:0
msgid "Year"
-msgstr "Año"
+msgstr ""
#. module: crm
#: model:crm.case.resource.type,name:crm.type_lead8
msgid "Newsletter"
-msgstr "Boletín de noticias"
-
-#~ msgid "Status"
-#~ msgstr "Estado"
-
-#, python-format
-#~ msgid ""
-#~ "You can not escalate this case.\n"
-#~ "You are already at the top level."
-#~ msgstr ""
-#~ "No puede intensificar este caso.\n"
-#~ "Ya se encuentra en el nivel superior."
-
-#~ msgid "Delay After Trigger Date:"
-#~ msgstr "Demora después fecha del disparo:"
-
-#~ msgid "My Draft "
-#~ msgstr "Mis borradores "
-
-#~ msgid "Add Last Mail for Replying"
-#~ msgstr "Añadir último mail para responder"
-
-#~ msgid "All Cases"
-#~ msgstr "Todos los casos"
-
-#~ msgid "Remind Partner"
-#~ msgstr "Recordar empresa"
-
-#~ msgid "Update The Proposed Menus To Be Created"
-#~ msgstr "Actualizar los menús propuestos a crear"
-
-#~ msgid "Base Information"
-#~ msgstr "Información base"
-
-#~ msgid "All Open "
-#~ msgstr "Todos los abiertos "
-
-#~ msgid "Create menus for a case section"
-#~ msgstr "Crear menús para una sección de casos"
-
-#~ msgid "Template of Email to Send"
-#~ msgstr "Plantilla de Email a enviar"
-
-#~ msgid "CRM & SRM"
-#~ msgstr "CRM & SRM"
-
-#~ msgid "%(case_user)s = Responsible name"
-#~ msgstr "%(case_user)s = Nombre del responsable"
-
-#~ msgid "Add watchers (Cc)"
-#~ msgstr "Añadir observadores (CC)"
-
-#~ msgid "My "
-#~ msgstr "Mis "
-
-#~ msgid "Cases"
-#~ msgstr "Casos"
-
-#~ msgid "Watchers Emails"
-#~ msgstr "Observadores emails (CC)"
-
-#~ msgid "Create menu Entries"
-#~ msgstr "Crear entradas de menús"
-
-#~ msgid "Case history"
-#~ msgstr "Historial del caso"
-
-#~ msgid "Set state to"
-#~ msgstr "Establecer grado a"
-
-#~ msgid "Case Category Name"
-#~ msgstr "Nombre de la categoría de casos"
-
-#~ msgid "None"
-#~ msgstr "Ninguno"
-
-#~ msgid "Minutes"
-#~ msgstr "Minutos"
-
-#~ msgid "All Unclosed and Unassigned "
-#~ msgstr "Mis no cerrados o no asignados "
-
-#~ msgid ""
-#~ "Check this if you want the rule to send a reminder by email to the partner."
-#~ msgstr ""
-#~ "Marque esta opción si desea que la regla envíe un recordatorio por correo "
-#~ "electrónico a la empresa."
-
-#~ msgid "Maximim Priority"
-#~ msgstr "Prioridad máxima"
-
-#~ msgid "New "
-#~ msgstr "Nuevo "
-
-#~ msgid "Partner Events"
-#~ msgstr "Eventos empresa"
-
-#~ msgid "Conditions on Case Fields"
-#~ msgstr "Condiciones sobre campos del caso"
-
-#~ msgid "Case Communication History"
-#~ msgstr "Historial de comunicación del caso"
-
-#~ msgid "Category of case"
-#~ msgstr "Categoría del caso"
-
-#~ msgid "Estimates"
-#~ msgstr "Estimaciones"
-
-#~ msgid "%(case_subject)s = Case subject"
-#~ msgstr "%(case_subject)s = Asunto del caso"
-
-#~ msgid ""
-#~ "The generic Open ERP Customer Relationship Management\n"
-#~ "system enables a group of people to intelligently and efficiently manage\n"
-#~ "leads, opportunities, tasks, issues, requests, bugs, campaign, claims, etc.\n"
-#~ "It manages key tasks such as communication, identification, prioritization,\n"
-#~ "assignment, resolution and notification.\n"
-#~ "\n"
-#~ "Open ERP ensures that all cases are successfully tracked by users, customers "
-#~ "and\n"
-#~ "suppliers. It can automatically send reminders, escalate the request, "
-#~ "trigger\n"
-#~ "specific methods and lots of others actions based on your enterprise own "
-#~ "rules.\n"
-#~ "\n"
-#~ "The greatest thing about this system is that users don't need to do "
-#~ "anything\n"
-#~ "special. They can just send email to the request tracker. Open ERP will "
-#~ "take\n"
-#~ "care of thanking them for their message, automatically routing it to the\n"
-#~ "appropriate staff, and making sure all future correspondence gets to the "
-#~ "right\n"
-#~ "place.\n"
-#~ "\n"
-#~ "The CRM module has a email gateway for the synchronisation interface\n"
-#~ "between mails and Open ERP."
-#~ msgstr ""
-#~ "El sistema genérico de Gestión de las Relaciones con el Cliente (CRM) de\n"
-#~ "OpenERP permite a un grupo de gente gestionar de forma inteligente\n"
-#~ "y eficaz iniciativas, oportunidades, tareas, cuestiones,\n"
-#~ "peticiones, errores, campañas comerciales, reclamaciones, etc.\n"
-#~ "Gestiona tareas clave como comunicación, identificación,\n"
-#~ "priorización, asignación, resolución y notificación.\n"
-#~ "\n"
-#~ "OpenERP asegura que todos los casos son seguidos con éxito\n"
-#~ "por usuarios, clientes y proveedores. Puede enviar automáticamente\n"
-#~ "recordatorios y notificaciones, intensificar la petición, disparar\n"
-#~ "métodos específicos y muchas otras acciones basadas en sus\n"
-#~ "reglas propias de empresa.\n"
-#~ "\n"
-#~ "La cosa más importante sobre este sistema es que los usuarios no\n"
-#~ "necesitan hacer nada especial. Pueden enviar sólo un correo electrónico\n"
-#~ "al registro de peticiones. OpenERP se encargará de agradecerle su\n"
-#~ "mensaje, dirigirlo automáticamente a las personas apropiadas, y asegurarse\n"
-#~ "de que toda la futura correspondencia llega al lugar apropiado.\n"
-#~ "\n"
-#~ "El módulo de CRM dispone de una puerta de enlace con el correo electrónico\n"
-#~ "para la sincronización entre correos electrónicos y OpenERP."
-
-#~ msgid "My Open "
-#~ msgstr "Mis abiertos "
-
-#~ msgid "Select Views (empty for default)"
-#~ msgstr "Seleccionar vistas (vacía por defecto)"
-
-#~ msgid "Case State"
-#~ msgstr "Estado del caso"
-
-#~ msgid "Invalid XML for View Architecture!"
-#~ msgstr "¡XML inválido para la definición de la vista!"
-
-#~ msgid "Your action"
-#~ msgstr "Su acción"
-
-#~ msgid "Case section"
-#~ msgstr "Sección del caso"
-
-#~ msgid "E-Mail Reminders (includes the content of the case)"
-#~ msgstr "Recordatorios por Email (incluye el contenido del caso)"
-
-#~ msgid "Fields to Change"
-#~ msgstr "Campos a cambiar"
-
-#~ msgid "Cases Histories"
-#~ msgstr "Historiales de casos"
-
-#~ msgid "My cases"
-#~ msgstr "Mis casos"
-
-#~ msgid "All Draft "
-#~ msgstr "Todos los borradores "
-
-#~ msgid "%(partner_email)s = Partner email"
-#~ msgstr "%(partner_email)s = Email empresa"
-
-#~ msgid "My Open Cases"
-#~ msgstr "Mis casos abiertos"
-
-#~ msgid "Remind with attachment"
-#~ msgstr "Recordar con adjunto"
-
-#~ msgid "All Late "
-#~ msgstr "Todos los retrasados "
-
-#~ msgid "My Late "
-#~ msgstr "Mis retrasados "
-
-#~ msgid "Open cases"
-#~ msgstr "Casos abiertos"
-
-#~ msgid "My Unclosed "
-#~ msgstr "Mis no cerrados "
-
-#~ msgid "Created"
-#~ msgstr "Creado"
-
-#~ msgid "Mail to responsible"
-#~ msgstr "Enviar correo a responsable"
-
-#~ msgid "My Pending "
-#~ msgstr "Mis pendientes "
-
-#~ msgid "New Form"
-#~ msgstr "Nuevo formulario"
-
-#~ msgid "Set responsible to"
-#~ msgstr "Establecer responsable a"
-
-#~ msgid ""
-#~ "The rule use a AND operator. The case must match all non empty fields so "
-#~ "that the rule execute the action described in the 'Actions' tab."
-#~ msgstr ""
-#~ "La regla utiliza un operador AND. El caso debe concordar con todos los "
-#~ "campos no vacíos para que la regla ejecute la acción descrita en la pestaña "
-#~ "'Acciones'."
-
-#~ msgid "%(email_from)s = Partner email"
-#~ msgstr "%(email_from)s = Email empresa"
-
-#~ msgid "Case Section"
-#~ msgstr "Sección del caso"
-
-#~ msgid "Rules"
-#~ msgstr "Reglas"
-
-#~ msgid "Call Object Method"
-#~ msgstr "Método llamada al objeto"
-
-#, python-format
-#~ msgid "You can not delete this case. You should better cancel it."
-#~ msgstr "No puede eliminar este caso. Sería mejor que lo cancelara."
-
-#, python-format
-#~ msgid "done"
-#~ msgstr "realizado"
-
-#~ msgid "Calendar"
-#~ msgstr "Calendario"
-
-#~ msgid "Log"
-#~ msgstr "Registro"
-
-#~ msgid ""
-#~ "These people will receive a copy of the futur communication between partner "
-#~ "and users by email"
-#~ msgstr ""
-#~ "Estas personas recibirán una copia de la futura comunicación entre empresa y "
-#~ "usuarios por correo electrónico"
-
-#, python-format
-#~ msgid "Historize"
-#~ msgstr "Añadir al historial"
-
-#~ msgid "%(partner)s = Partner name"
-#~ msgstr "%(partner)s = Nombre empresa"
-
-#~ msgid "New With Calendar"
-#~ msgstr "Nuevo con calendario"
-
-#~ msgid "List With Calendar"
-#~ msgstr "Lista con calendario"
-
-#~ msgid "Action Information"
-#~ msgstr "Información de la acción"
-
-#~ msgid "Calendar View"
-#~ msgstr "Vista calendario"
-
-#~ msgid "%(case_user_phone)s = Responsible phone"
-#~ msgstr "%(case_user_phone)s = Teléfono del responsable"
-
-#~ msgid "Delay after trigger date"
-#~ msgstr "Demora después fecha del disparo"
-
-#~ msgid "Conditions"
-#~ msgstr "Condiciones"
-
-#~ msgid "Open Cases"
-#~ msgstr "Casos abiertos"
-
-#~ msgid "Remind responsible"
-#~ msgstr "Recordar responsable"
-
-#~ msgid "Set section to"
-#~ msgstr "Establecer sección a"
-
-#, python-format
-#~ msgid "You must put a Partner eMail to use this action!"
-#~ msgstr "¡Debe indicar un Email de empresa para usar esta acción!"
-
-#~ msgid "Minimum Priority"
-#~ msgstr "Prioridad mínima"
-
-#~ msgid "Case History"
-#~ msgstr "Historial del caso"
-
-#, python-format
-#~ msgid "draft"
-#~ msgstr "borrador"
-
-#~ msgid "Created Menus"
-#~ msgstr "Menús creados"
-
-#~ msgid ""
-#~ "Check this if you want that all documents attached to the case be attached "
-#~ "to the reminder email sent."
-#~ msgstr ""
-#~ "Marque esta opción si desea que todos los documentos adjuntados a este caso "
-#~ "sean adjuntados en el correo electrónico enviado como recordatorio."
-
-#, python-format
-#~ msgid "cancel"
-#~ msgstr "cancelado"
-
-#~ msgid "Parent Section"
-#~ msgstr "Sección padre"
-
-#~ msgid "Parent Menu"
-#~ msgstr "Menú padre"
-
-#~ msgid "%(case_id)s = Case ID"
-#~ msgstr "%(case_id)s = ID del caso"
-
-#~ msgid "Don't Create"
-#~ msgstr "No crear"
-
-#~ msgid "Base Menu Name"
-#~ msgstr "Nombre menú base"
-
-#~ msgid "Child Sections"
-#~ msgstr "Secciones hijas"
-
-#~ msgid "All Unassigned "
-#~ msgstr "Todos los no asignados "
-
-#~ msgid "All Unclosed "
-#~ msgstr "Todos los no cerrados "
-
-#~ msgid "%(case_user_email)s = Responsible email"
-#~ msgstr "%(case_user_email)s = Email del responsable"
-
-#~ msgid "General"
-#~ msgstr "General"
-
-#~ msgid "Send Reminder"
-#~ msgstr "Enviar recordatorio"
-
-#~ msgid "Complete this if you use the mail gateway."
-#~ msgstr "Complete esto si utiliza una pasarela de correo."
-
-#~ msgid "Business Opportunities"
-#~ msgstr "Oportunidades de negocio"
-
-#~ msgid "Tree View"
-#~ msgstr "Vista de árbol"
-
-#~ msgid "Conditions on Case Partner"
-#~ msgstr "Condiciones sobre caso empresa"
-
-#~ msgid "Section Code"
-#~ msgstr "Código de sección"
-
-#~ msgid ""
-#~ "The Object name must start with x_ and not contain any special character !"
-#~ msgstr ""
-#~ "¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
-#~ "especial!"
-
-#~ msgid "General Description"
-#~ msgstr "Descripción general"
-
-#~ msgid "Create Menus For Cases"
-#~ msgstr "Crear menús para una sección de casos"
-
-#~ msgid "Mail to partner"
-#~ msgstr "Enviar correo a empresa"
-
-#~ msgid "Partner Email"
-#~ msgstr "Email empresa"
-
-#~ msgid "All Pending "
-#~ msgstr "Todos los pendientes "
-
-#~ msgid "Set priority to"
-#~ msgstr "Establecer prioridad a"
-
-#, python-format
-#~ msgid "open"
-#~ msgstr "abierto"
-
-#~ msgid "All Canceled "
-#~ msgstr "Todos los cancelados "
-
-#~ msgid "Mail body"
-#~ msgstr "Texto correo"
-
-#~ msgid ""
-#~ "Check this if you want the rule to send a reminder by email to the user."
-#~ msgstr ""
-#~ "Marque esta opción si desea que la regla envíe un recordatorio por correo "
-#~ "electrónico al usuario."
-
-#~ msgid "Segmentations"
-#~ msgstr "Segmentaciones"
-
-#~ msgid ""
-#~ "The email address put in the 'Reply-To' of all emails sent by Open ERP about "
-#~ "cases in this section"
-#~ msgstr ""
-#~ "La dirección de correo electrónico que se pondrá en 'Responder A' en todos "
-#~ "los correos electrónicos enviados por OpenERP para los casos de esta sección."
-
-#~ msgid "Case Rule"
-#~ msgstr "Regla del caso"
-
-#, python-format
-#~ msgid "Case"
-#~ msgstr "Caso"
-
-#~ msgid "Conditions on Priority Range"
-#~ msgstr "Condiciones sobre intervalo de prioridades"
-
-#~ msgid "All "
-#~ msgstr "Todos "
-
-#~ msgid "E-Mail Actions"
-#~ msgstr "Acciones de Email"
-
-#~ msgid "List"
-#~ msgstr "Lista"
-
-#~ msgid "User Responsible"
-#~ msgstr "Usuario responsable"
-
-#~ msgid "All Histories"
-#~ msgstr "Todos los historiales"
-
-#~ msgid "My Canceled "
-#~ msgstr "Mis cancelados "
-
-#~ msgid "Latest E-Mail"
-#~ msgstr "Último email"
-
-#~ msgid "Case logs"
-#~ msgstr "Registros del caso"
-
-#~ msgid ""
-#~ "Check if the category is limited to partners that match the segmentation "
-#~ "criterions. If checked, remove the category from partners that doesn't match "
-#~ "segmentation criterions"
-#~ msgstr ""
-#~ "Indica si esta categoría está limitada a empresas que cumplan los criterios "
-#~ "de segmentación. Si está marcada, se eliminan de la categoría las empresas "
-#~ "que no cumplan los criterios de segmentación."
-
-#~ msgid "Logs History"
-#~ msgstr "Historial del registro"
-
-#~ msgid "Form View"
-#~ msgstr "Vista formulario"
-
-#~ msgid "Conditions on Timing"
-#~ msgstr "Condiciones sobre temporización"
-
-#~ msgid "Case Description"
-#~ msgstr "Descripción del caso"
-
-#~ msgid "Mail to watchers (Cc)"
-#~ msgstr "Enviar correo a observadores (CC)"
-
-#~ msgid "Actions"
-#~ msgstr "Acciones"
-
-#~ msgid "Cases by section"
-#~ msgstr "Casos por sección"
-
-#~ msgid "Conditions on States"
-#~ msgstr "Condiciones sobre los estados"
-
-#~ msgid "Trigger Date"
-#~ msgstr "Fecha del disparo"
-
-#~ msgid ""
-#~ "A period is the average number of days between two cycle of sale or purchase "
-#~ "for this segmentation. It's mainly used to detect if a partner has not "
-#~ "purchased or buy for a too long time, so we suppose that his state of mind "
-#~ "has decreased because he probably bought goods to another supplier. Use this "
-#~ "functionality for recurring businesses."
-#~ msgstr ""
-#~ "Un período es el número promedio de días entre dos ciclos de venta o compra "
-#~ "para esta segmentación. Se utiliza principalmente para detectar si una "
-#~ "empresa no ha comprado o compra durante un tiempo demasiado largo, así que "
-#~ "suponemos que su grado de satisfacción se ha reducido porque probablemente "
-#~ "ha comprado productos a otro proveedor. Utilice esta funcionalidad para los "
-#~ "negocios recurrentes."
-
-#, python-format
-#~ msgid ""
-#~ "You must define a responsible user for this case in order to use this action!"
-#~ msgstr ""
-#~ "¡Debe definir un usuario responsable para este caso para poder utilizar esta "
-#~ "acción!"
-
-#, python-format
-#~ msgid ""
-#~ "Can not send mail with empty body,you should have description in the body"
-#~ msgstr ""
-#~ "No puede enviar mensajes con un texto vacío, debería incluir una descripción "
-#~ "en el mensaje"
-
-#, python-format
-#~ msgid ""
-#~ "No E-Mail ID Found for the Responsible Partner or missing reply address in "
-#~ "section!"
-#~ msgstr ""
-#~ "¡No se ha encontrado Email en la empresa responsable o falta dirección de "
-#~ "respuesta en la sección!"
-
-#~ msgid "Deadline Date is automatically computed from Start Date + Duration"
-#~ msgstr ""
-#~ "La fecha límite se calcula automáticamente a partir de Fecha de inicio + "
-#~ "Duración"
-
-#, python-format
-#~ msgid ""
-#~ "No E-Mail ID Found for your Company address or missing reply address in "
-#~ "section!"
-#~ msgstr ""
-#~ "¡No se ha encontrado Email en la dirección de su compañía o falta dirección "
-#~ "de respuesta en la sección!"
-
-#~ msgid "this wizard will create all sub-menus, within the selected menu."
-#~ msgstr "este asistente creará todos los sub-menús, en el menú seleccionado."
-
-#~ msgid "Invalid model name in the action definition."
-#~ msgstr "Nombre de modelo no válido en la definición de acción."
-
-#~ msgid ""
-#~ "You may want to create a new parent menu to put all the created menus in."
-#~ msgstr ""
-#~ "Es posible que desee crear un nuevo menú padre para poner todos los menús "
-#~ "creados en él."
-
-#~ msgid "Button Pressed"
-#~ msgstr "Botón oprimido"
-
-#~ msgid "Mail to these emails"
-#~ msgstr "Correo a estos correos electronicos"
-
-#~ msgid "Special Keywords to Be Used in The Body"
-#~ msgstr "Palabras claves especiales para ser usadas en el cuerpo del mensaje."
-
-#~ msgid "My Histories"
-#~ msgstr "Mis historias"
-
-#~ msgid "Last Action Date"
-#~ msgstr "Fechas de ultima acción"
-
-#~ msgid "Delay type"
-#~ msgstr "Tipo de retraso"
-
-#~ msgid "%(case_description)s = Case description"
-#~ msgstr "%(case_description)s = Descripción del caso"
-
-#~ msgid "Planned revenue"
-#~ msgstr "Ingresos previstos"
-
-#~ msgid "Planned Costs"
-#~ msgstr "Costos previstos"
-
-#~ msgid "Planned costs"
-#~ msgstr "Costos previstos"
-
-#~ msgid "Telesales"
-#~ msgstr "Ventas a distancia"
-
-#~ msgid "Invalid arguments"
-#~ msgstr "Argumentos inválidos"
-
-#~ msgid "Send Partner & Historize"
-#~ msgstr "Enviar a empresa y añadir al historial"
-
-#~ msgid "Mail Campaign 1"
-#~ msgstr "Campaña mail 1"
+msgstr ""
+
+#. module: crm
+#: model:mail.message.subtype,name:crm.mt_salesteam_lead_stage
+msgid "Opportunity Stage Changed"
+msgstr ""
+
+#. module: crm
+#: model:ir.actions.act_window,help:crm.crm_lead_stage_act
+msgid ""
+"\n"
+" Click to set a new stage in your lead/opportunity pipeline.\n"
+"
\n"
+" Stages will allow salespersons to easily track how a "
+"specific\n"
+" lead or opportunity is positioned in the sales cycle.\n"
+"
\n"
+" "
+msgstr ""
diff --git a/addons/fetchmail/i18n/cs.po b/addons/fetchmail/i18n/cs.po
new file mode 100644
index 00000000000..78e00a1f982
--- /dev/null
+++ b/addons/fetchmail/i18n/cs.po
@@ -0,0 +1,335 @@
+# Czech translation for openobject-addons
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-12-21 17:05+0000\n"
+"PO-Revision-Date: 2013-03-27 09:03+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Czech \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n"
+"X-Generator: Launchpad (build 16546)\n"
+
+#. module: fetchmail
+#: selection:fetchmail.server,state:0
+msgid "Confirmed"
+msgstr "Potvrzeno"
+
+#. module: fetchmail
+#: field:fetchmail.server,server:0
+msgid "Server Name"
+msgstr "Název serveru"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "POP"
+msgstr "POP"
+
+#. module: fetchmail
+#: help:fetchmail.server,priority:0
+msgid "Defines the order of processing, lower values mean higher priority"
+msgstr "Určuje pořadí provádění, nižší hodnota znamená vyšší prioritu"
+
+#. module: fetchmail
+#: help:fetchmail.server,is_ssl:0
+msgid ""
+"Connections are encrypted with SSL/TLS through a dedicated port (default: "
+"IMAPS=993, POP3S=995)"
+msgstr ""
+"Přenos je zabezpečen certifikáty SSL/TSL a probíhá přes vyhrazené porty "
+"(standardně: IMAPS=993, POP3S=995)"
+
+#. module: fetchmail
+#: field:fetchmail.server,attach:0
+msgid "Keep Attachments"
+msgstr "Ponechat přílohy"
+
+#. module: fetchmail
+#: field:fetchmail.server,is_ssl:0
+msgid "SSL/TLS"
+msgstr "SSL/TLS"
+
+#. module: fetchmail
+#: help:fetchmail.server,original:0
+msgid ""
+"Whether a full original copy of each email should be kept for referenceand "
+"attached to each processed message. This will usually double the size of "
+"your message database."
+msgstr ""
+"Mají-li být zahrnuty také originály každého e-mailu u zpracovávaných zpráv. "
+"To obvykle zdvojnásí velikost databáze zpráv."
+
+#. module: fetchmail
+#: view:base.config.settings:0
+msgid "Configure the incoming email gateway"
+msgstr "Nastavení příchozí poštovní brány"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Fetch Now"
+msgstr "Zkontrolovat"
+
+#. module: fetchmail
+#: model:ir.actions.act_window,name:fetchmail.action_email_server_tree
+#: model:ir.ui.menu,name:fetchmail.menu_action_fetchmail_server_tree
+msgid "Incoming Mail Servers"
+msgstr "Servery příchozí pošty"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Server type IMAP."
+msgstr "IMAP server."
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "POP/IMAP Servers"
+msgstr "POP/IMAP servery"
+
+#. module: fetchmail
+#: selection:fetchmail.server,type:0
+msgid "Local Server"
+msgstr "Místní server"
+
+#. module: fetchmail
+#: field:fetchmail.server,state:0
+msgid "Status"
+msgstr "Stav"
+
+#. module: fetchmail
+#: model:ir.model,name:fetchmail.model_fetchmail_server
+msgid "POP/IMAP Server"
+msgstr "POP/IMAP server"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Reset Confirmation"
+msgstr "Obnovit potvrzení"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "SSL"
+msgstr "SSL"
+
+#. module: fetchmail
+#: model:ir.model,name:fetchmail.model_fetchmail_config_settings
+msgid "fetchmail.config.settings"
+msgstr "fetchmail.config.settings"
+
+#. module: fetchmail
+#: field:fetchmail.server,date:0
+msgid "Last Fetch Date"
+msgstr "Poslední kontrola pošty"
+
+#. module: fetchmail
+#: help:fetchmail.server,action_id:0
+msgid ""
+"Optional custom server action to trigger for each incoming mail, on the "
+"record that was created or updated by this mail"
+msgstr ""
+"Volitelné vlastní akce serveru pro příchozí e-mail – na záznamu, který byl "
+"vytvořen nebo aktualizován tímto e-mailem."
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "# of emails"
+msgstr "# e-mailů"
+
+#. module: fetchmail
+#: field:fetchmail.server,original:0
+msgid "Keep Original"
+msgstr "Ponechat originál"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Advanced Options"
+msgstr "Rozšířené volby"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+#: field:fetchmail.server,configuration:0
+msgid "Configuration"
+msgstr "Nastavení"
+
+#. module: fetchmail
+#: field:fetchmail.server,script:0
+msgid "Script"
+msgstr "Skript"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Incoming Mail Server"
+msgstr "Server příchozí pošty"
+
+#. module: fetchmail
+#: code:addons/fetchmail/fetchmail.py:164
+#, python-format
+msgid "Connection test failed!"
+msgstr "Tes připojení byl neúspěšný!"
+
+#. module: fetchmail
+#: field:fetchmail.server,user:0
+msgid "Username"
+msgstr "Uživatelské jméno"
+
+#. module: fetchmail
+#: help:fetchmail.server,server:0
+msgid "Hostname or IP of the mail server"
+msgstr "Název nebo IP adresa e-mail serveru"
+
+#. module: fetchmail
+#: field:fetchmail.server,name:0
+msgid "Name"
+msgstr "Název"
+
+#. module: fetchmail
+#: code:addons/fetchmail/fetchmail.py:164
+#, python-format
+msgid ""
+"Here is what we got instead:\n"
+" %s."
+msgstr ""
+"Bylo obdrženo namísto:\n"
+" %s."
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Test & Confirm"
+msgstr "Test & Potvrzení"
+
+#. module: fetchmail
+#: field:fetchmail.server,action_id:0
+msgid "Server Action"
+msgstr "Akce serveru"
+
+#. module: fetchmail
+#: field:mail.mail,fetchmail_server_id:0
+msgid "Inbound Mail Server"
+msgstr "Server příchozí pošty"
+
+#. module: fetchmail
+#: field:fetchmail.server,message_ids:0
+#: model:ir.actions.act_window,name:fetchmail.act_server_history
+msgid "Messages"
+msgstr "Zprávy"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Search Incoming Mail Servers"
+msgstr "Hledat servery příchozí pošty"
+
+#. module: fetchmail
+#: field:fetchmail.server,active:0
+msgid "Active"
+msgstr "Aktivní"
+
+#. module: fetchmail
+#: help:fetchmail.server,attach:0
+msgid ""
+"Whether attachments should be downloaded. If not enabled, incoming emails "
+"will be stripped of any attachments before being processed"
+msgstr ""
+"Mají-li být za zahrnuty také přílohy. Pokud nebude povoleno, budou příchozí "
+"e-maily zbaveny všech příloh před dalším zpracováním."
+
+#. module: fetchmail
+#: model:ir.model,name:fetchmail.model_mail_mail
+msgid "Outgoing Mails"
+msgstr "Odchozí e-maily"
+
+#. module: fetchmail
+#: field:fetchmail.server,priority:0
+msgid "Server Priority"
+msgstr "Priorita serveru"
+
+#. module: fetchmail
+#: selection:fetchmail.server,type:0
+msgid "IMAP Server"
+msgstr "IMAP server"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "IMAP"
+msgstr "IMAP"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Server type POP."
+msgstr "POP server."
+
+#. module: fetchmail
+#: field:fetchmail.server,password:0
+msgid "Password"
+msgstr "Heslo"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Actions to Perform on Incoming Mails"
+msgstr "Akce prováděné s příchozími e-maily"
+
+#. module: fetchmail
+#: field:fetchmail.server,type:0
+msgid "Server Type"
+msgstr "Druh serveru"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Login Information"
+msgstr "Přihlašovací údaje"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Server Information"
+msgstr "Údaje o serveru"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "If SSL required."
+msgstr "Je-li požádován SSL."
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Advanced"
+msgstr "Rozšířené"
+
+#. module: fetchmail
+#: view:fetchmail.server:0
+msgid "Server & Login"
+msgstr "Server & Přihlášení"
+
+#. module: fetchmail
+#: help:fetchmail.server,object_id:0
+msgid ""
+"Process each incoming mail as part of a conversation corresponding to this "
+"document type. This will create new documents for new conversations, or "
+"attach follow-up emails to the existing conversations (documents)."
+msgstr ""
+"Zpracuje každý příchozí e-mail jako součást konverzace podle druhu "
+"dokumentu. Buď se nové konverzaci se vytvoří nové dokumenty, nebo se ke "
+"stávající konverzaci připojí navazující e-maily (dokumenty)."
+
+#. module: fetchmail
+#: field:fetchmail.server,object_id:0
+msgid "Create a New Record"
+msgstr "Vytvořit nový záznam"
+
+#. module: fetchmail
+#: selection:fetchmail.server,state:0
+msgid "Not Confirmed"
+msgstr "Nepotvrzeno"
+
+#. module: fetchmail
+#: selection:fetchmail.server,type:0
+msgid "POP Server"
+msgstr "POP server"
+
+#. module: fetchmail
+#: field:fetchmail.server,port:0
+msgid "Port"
+msgstr "Port"
diff --git a/addons/note/i18n/cs.po b/addons/note/i18n/cs.po
new file mode 100644
index 00000000000..9d4cc3a298a
--- /dev/null
+++ b/addons/note/i18n/cs.po
@@ -0,0 +1,284 @@
+# Czech translation for openobject-addons
+# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR , 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-12-21 17:04+0000\n"
+"PO-Revision-Date: 2013-03-27 09:45+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Czech \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2013-03-28 04:41+0000\n"
+"X-Generator: Launchpad (build 16546)\n"
+
+#. module: note
+#: field:note.note,memo:0
+msgid "Note Content"
+msgstr ""
+
+#. module: note
+#: view:note.stage:0
+msgid "Stages of Notes"
+msgstr ""
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_04
+#: model:note.stage,name:note.note_stage_02
+msgid "This Week"
+msgstr ""
+
+#. module: note
+#: model:ir.model,name:note.model_base_config_settings
+msgid "base.config.settings"
+msgstr ""
+
+#. module: note
+#: model:ir.model,name:note.model_note_tag
+msgid "Note Tag"
+msgstr ""
+
+#. module: note
+#: model:res.groups,name:note.group_note_fancy
+msgid "Notes / Fancy mode"
+msgstr ""
+
+#. module: note
+#: model:ir.model,name:note.model_note_note
+#: view:note.note:0
+msgid "Note"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+msgid "Group By..."
+msgstr ""
+
+#. module: note
+#: field:note.note,message_follower_ids:0
+msgid "Followers"
+msgstr ""
+
+#. module: note
+#: model:ir.actions.act_window,help:note.action_note_note
+msgid ""
+"\n"
+" Click to add a personal note.\n"
+"
\n"
+" Use notes to organize personal tasks or notes. All\n"
+" notes are private; no one else will be able to see them. "
+"However\n"
+" you can share some notes with other people by inviting "
+"followers\n"
+" on the note. (Useful for meeting minutes, especially if\n"
+" you activate the pad feature for collaborative writings).\n"
+"
\n"
+" You can customize how you process your notes/tasks by adding,\n"
+" removing or modifying columns.\n"
+"
\n"
+" "
+msgstr ""
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_01
+#: model:note.stage,name:note.note_stage_01
+msgid "Today"
+msgstr ""
+
+#. module: note
+#: model:ir.model,name:note.model_res_users
+msgid "Users"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+msgid "í"
+msgstr ""
+
+#. module: note
+#: view:note.stage:0
+msgid "Stage of Notes"
+msgstr ""
+
+#. module: note
+#: field:note.note,message_unread:0
+msgid "Unread Messages"
+msgstr ""
+
+#. module: note
+#: field:note.note,current_partner_id:0
+msgid "unknown"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+msgid "By sticky note Category"
+msgstr ""
+
+#. module: note
+#: help:note.note,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr ""
+
+#. module: note
+#: field:note.stage,name:0
+msgid "Stage Name"
+msgstr ""
+
+#. module: note
+#: field:note.note,message_is_follower:0
+msgid "Is a Follower"
+msgstr ""
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_02
+msgid "Tomorrow"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+#: field:note.note,open:0
+msgid "Active"
+msgstr ""
+
+#. module: note
+#: help:note.stage,user_id:0
+msgid "Owner of the note stage."
+msgstr ""
+
+#. module: note
+#: model:ir.ui.menu,name:note.menu_notes_stage
+msgid "Categories"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+#: field:note.note,stage_id:0
+msgid "Stage"
+msgstr ""
+
+#. module: note
+#: field:note.tag,name:0
+msgid "Tag Name"
+msgstr ""
+
+#. module: note
+#: field:note.note,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: note
+#: view:base.config.settings:0
+#: model:ir.actions.act_window,name:note.action_note_note
+#: model:ir.ui.menu,name:note.menu_note_notes
+#: view:note.note:0
+#: model:note.stage,name:note.note_stage_04
+msgid "Notes"
+msgstr ""
+
+#. module: note
+#: model:note.stage,name:note.demo_note_stage_03
+#: model:note.stage,name:note.note_stage_03
+msgid "Later"
+msgstr ""
+
+#. module: note
+#: model:ir.model,name:note.model_note_stage
+msgid "Note Stage"
+msgstr ""
+
+#. module: note
+#: field:note.note,message_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: note
+#: field:note.note,stage_ids:0
+msgid "Stages of Users"
+msgstr ""
+
+#. module: note
+#: field:note.note,name:0
+msgid "Note Summary"
+msgstr ""
+
+#. module: note
+#: model:ir.actions.act_window,name:note.action_note_stage
+#: view:note.note:0
+msgid "Stages"
+msgstr ""
+
+#. module: note
+#: help:note.note,message_ids:0
+msgid "Messages and communication history"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+msgid "Delete"
+msgstr ""
+
+#. module: note
+#: field:note.note,color:0
+msgid "Color Index"
+msgstr ""
+
+#. module: note
+#: field:note.note,sequence:0
+#: field:note.stage,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+#: field:note.note,tag_ids:0
+msgid "Tags"
+msgstr ""
+
+#. module: note
+#: view:note.note:0
+msgid "Archive"
+msgstr ""
+
+#. module: note
+#: field:base.config.settings,module_note_pad:0
+msgid "Use collaborative pads (etherpad)"
+msgstr ""
+
+#. module: note
+#: help:note.note,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+
+#. module: note
+#: field:base.config.settings,group_note_fancy:0
+msgid "Use fancy layouts for notes"
+msgstr ""
+
+#. module: note
+#: field:note.note,current_partner_id:0
+#: field:note.stage,user_id:0
+msgid "Owner"
+msgstr ""
+
+#. module: note
+#: help:note.stage,sequence:0
+msgid "Used to order the note stages"
+msgstr ""
+
+#. module: note
+#: field:note.note,date_done:0
+msgid "Date done"
+msgstr ""
+
+#. module: note
+#: field:note.stage,fold:0
+msgid "Folded by Default"
+msgstr ""