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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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/49] [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 5a3ed6f024cd093bad7f01466af526e4905e58c8 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Sun, 24 Mar 2013 04:45:38 +0000 Subject: [PATCH 19/49] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130322045758-r467emaw1id95my6 bzr revid: launchpad_translations_on_behalf_of_openerp-20130323051036-xet3mefwdp8ohssd bzr revid: launchpad_translations_on_behalf_of_openerp-20130324044538-isdnsnphf7510ri3 --- addons/account_test/i18n/zh_CN.po | 241 ++ addons/auth_oauth/i18n/tr.po | 135 + addons/auth_openid/i18n/ru.po | 97 + addons/auth_signup/i18n/es_CO.po | 298 ++ addons/contacts/i18n/es_CO.po | 46 + addons/mrp/i18n/es_MX.po | 4348 +++++++++++------------------ addons/portal_sale/i18n/es_MX.po | 548 ++++ 7 files changed, 3006 insertions(+), 2707 deletions(-) create mode 100644 addons/account_test/i18n/zh_CN.po create mode 100644 addons/auth_oauth/i18n/tr.po create mode 100644 addons/auth_openid/i18n/ru.po create mode 100644 addons/auth_signup/i18n/es_CO.po create mode 100644 addons/contacts/i18n/es_CO.po create mode 100644 addons/portal_sale/i18n/es_MX.po diff --git a/addons/account_test/i18n/zh_CN.po b/addons/account_test/i18n/zh_CN.po new file mode 100644 index 00000000000..081320aa24a --- /dev/null +++ b/addons/account_test/i18n/zh_CN.po @@ -0,0 +1,241 @@ +# Chinese (Simplified) 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-21 19:22+0000\n" +"Last-Translator: Liuming \n" +"Language-Team: Chinese (Simplified) \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-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "" +"Code should always set a variable named `result` with the result of your " +"test, that can be a list or\n" +"a dictionary. If `result` is an empty list, it means that the test was " +"succesful. Otherwise it will\n" +"try to translate and print what is inside `result`.\n" +"\n" +"If the result of your test is a dictionary, you can set a variable named " +"`column_order` to choose in\n" +"what order you want to print `result`'s content.\n" +"\n" +"Should you need them, you can also use the following variables into your " +"code:\n" +" * cr: cursor to the database\n" +" * uid: ID of the current user\n" +"\n" +"In any ways, the code must be legal python statements with correct " +"indentation (if needed).\n" +"\n" +"Example: \n" +" sql = '''SELECT id, name, ref, date\n" +" FROM account_move_line \n" +" WHERE account_id IN (SELECT id FROM account_account WHERE type " +"= 'view')\n" +" '''\n" +" cr.execute(sql)\n" +" result = cr.dictfetchall()" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_02 +msgid "Test 2: Opening a fiscal year" +msgstr "测试2: 打开一个会计年度" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_05 +msgid "" +"Check that reconciled invoice for Sales/Purchases has reconciled entries for " +"Payable and Receivable Accounts" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_03 +msgid "" +"Check if movement lines are balanced and have the same date and period" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,name:0 +msgid "Test Name" +msgstr "" + +#. module: account_test +#: report:account.test.assert.print:0 +msgid "Accouting tests on" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_01 +msgid "Test 1: General balance" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_06 +msgid "Check that paid/reconciled invoices are not in 'Open' state" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_05_2 +msgid "" +"Check that reconciled account moves, that define Payable and Receivable " +"accounts, are belonging to reconciled invoices" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Tests" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,desc:0 +msgid "Test Description" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Description" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_06_1 +msgid "Check that there's no move for any account with « View » account type" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_08 +msgid "Test 9 : Accounts and partners on account moves" +msgstr "" + +#. module: account_test +#: model:ir.actions.act_window,name:account_test.action_accounting_assert +#: model:ir.actions.report.xml,name:account_test.account_assert_test_report +#: model:ir.ui.menu,name:account_test.menu_action_license +msgid "Accounting Tests" +msgstr "" + +#. module: account_test +#: code:addons/account_test/report/account_test_report.py:74 +#, python-format +msgid "The test was passed successfully" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,active:0 +msgid "Active" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_06 +msgid "Test 6 : Invoices status" +msgstr "" + +#. module: account_test +#: model:ir.model,name:account_test.model_accounting_assert_test +msgid "accounting.assert.test" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_05 +msgid "" +"Test 5.1 : Payable and Receivable accountant lines of reconciled invoices" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,code_exec:0 +msgid "Python code" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_07 +msgid "" +"Check on bank statement that the Closing Balance = Starting Balance + sum of " +"statement lines" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_07 +msgid "Test 8 : Closing balance on bank statements" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_03 +msgid "Test 3: Movement lines" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_05_2 +msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Expression" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_04 +msgid "Test 4: Totally reconciled mouvements" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_04 +msgid "Check if the totally reconciled movements are balanced" +msgstr "" + +#. module: account_test +#: field:accounting.assert.test,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_02 +msgid "" +"Check if the balance of the new opened fiscal year matches with last year's " +"balance" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Python Code" +msgstr "" + +#. module: account_test +#: model:ir.actions.act_window,help:account_test.action_accounting_assert +msgid "" +"

\n" +" Click to create Accounting Test.\n" +"

\n" +" " +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_01 +msgid "Check the balance: Debit sum = Credit sum" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,desc:account_test.account_test_08 +msgid "Check that general accounts and partners on account moves are active" +msgstr "" + +#. module: account_test +#: model:accounting.assert.test,name:account_test.account_test_06_1 +msgid "Test 7: « View  » account type" +msgstr "" + +#. module: account_test +#: view:accounting.assert.test:0 +msgid "Code Help" +msgstr "" diff --git a/addons/auth_oauth/i18n/tr.po b/addons/auth_oauth/i18n/tr.po new file mode 100644 index 00000000000..7faa18ccebf --- /dev/null +++ b/addons/auth_oauth/i18n/tr.po @@ -0,0 +1,135 @@ +# Turkish 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-21 19:39+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Turkish \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-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_oauth +#: field:auth.oauth.provider,validation_endpoint:0 +msgid "Validation URL" +msgstr "Onaylama URL" + +#. module: auth_oauth +#: field:auth.oauth.provider,auth_endpoint:0 +msgid "Authentication URL" +msgstr "Kimlik Doğrulama URL" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_oauth +#: field:auth.oauth.provider,name:0 +msgid "Provider name" +msgstr "Sağlayıcı adı" + +#. module: auth_oauth +#: field:auth.oauth.provider,scope:0 +msgid "Scope" +msgstr "Kapsam" + +#. module: auth_oauth +#: field:res.users,oauth_provider_id:0 +msgid "OAuth Provider" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,css_class:0 +msgid "CSS class" +msgstr "CSS class" + +#. module: auth_oauth +#: field:auth.oauth.provider,body:0 +msgid "Body" +msgstr "" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: auth_oauth +#: field:auth.oauth.provider,sequence:0 +msgid "unknown" +msgstr "bilinmeyen" + +#. module: auth_oauth +#: field:res.users,oauth_access_token:0 +msgid "OAuth Access Token" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,client_id:0 +#: field:base.config.settings,auth_oauth_facebook_client_id:0 +#: field:base.config.settings,auth_oauth_google_client_id:0 +msgid "Client ID" +msgstr "" + +#. module: auth_oauth +#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers +msgid "OAuth Providers" +msgstr "" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_auth_oauth_provider +msgid "OAuth2 provider" +msgstr "" + +#. module: auth_oauth +#: field:res.users,oauth_uid:0 +msgid "OAuth User ID" +msgstr "" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_facebook_enabled:0 +msgid "Allow users to sign in with Facebook" +msgstr "Kullanıcılara Facebook ile oturum için izin ver" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "" + +#. module: auth_oauth +#: help:res.users,oauth_uid:0 +msgid "Oauth Provider user_id" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,data_endpoint:0 +msgid "Data URL" +msgstr "Data URL" + +#. module: auth_oauth +#: view:auth.oauth.provider:0 +msgid "arch" +msgstr "" + +#. module: auth_oauth +#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider +msgid "Providers" +msgstr "Sağlayıcılar" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_google_enabled:0 +msgid "Allow users to sign in with Google" +msgstr "" + +#. module: auth_oauth +#: field:auth.oauth.provider,enabled:0 +msgid "Allowed" +msgstr "İzinVerildi" diff --git a/addons/auth_openid/i18n/ru.po b/addons/auth_openid/i18n/ru.po new file mode 100644 index 00000000000..6041300fe60 --- /dev/null +++ b/addons/auth_openid/i18n/ru.po @@ -0,0 +1,97 @@ +# Russian 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-23 11:37+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Russian \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-24 04:45+0000\n" +"X-Generator: Launchpad (build 16540)\n" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:24 +#, python-format +msgid "Username" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:12 +#: view:res.users:0 +#, python-format +msgid "OpenID" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:30 +#: field:res.users,openid_url:0 +#, python-format +msgid "OpenID URL" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:9 +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:11 +#, python-format +msgid "Launchpad" +msgstr "" + +#. module: auth_openid +#: help:res.users,openid_email:0 +msgid "Used for disambiguation in case of a shared OpenID URL" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:18 +#, python-format +msgid "Google Apps Domain" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_email:0 +msgid "OpenID Email" +msgstr "" + +#. module: auth_openid +#: field:res.users,openid_key:0 +msgid "OpenID Key" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:8 +#, python-format +msgid "Password" +msgstr "" + +#. module: auth_openid +#. openerp-web +#: code:addons/auth_openid/static/src/xml/auth_openid.xml:10 +#, python-format +msgid "Google Apps" +msgstr "" + +#. module: auth_openid +#: model:ir.model,name:auth_openid.model_res_users +msgid "Users" +msgstr "" diff --git a/addons/auth_signup/i18n/es_CO.po b/addons/auth_signup/i18n/es_CO.po new file mode 100644 index 00000000000..eb590e320ac --- /dev/null +++ b/addons/auth_signup/i18n/es_CO.po @@ -0,0 +1,298 @@ +# Spanish (Colombia) 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-21 21:49+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Colombia) \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-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: auth_signup +#: field:res.partner,signup_type:0 +msgid "Signup Token Type" +msgstr "Tipo de palabra de ingreso" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_uninvited:0 +msgid "Allow external users to sign up" +msgstr "Permitir ingreso a usuarios externos" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:16 +#, python-format +msgid "Confirm Password" +msgstr "Confirmar Contraseña" + +#. module: auth_signup +#: help:base.config.settings,auth_signup_uninvited:0 +msgid "If unchecked, only invited users may sign up." +msgstr "Si no está marcado, sólo los usuarios invitados pueden ingresar." + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:265 +#, python-format +msgid "Cannot send email: user has no email address." +msgstr "" +"No se pudo enviar el correo eléctronico: el usuario no tiene dirección de " +"correo." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24 +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:28 +#, python-format +msgid "Reset password" +msgstr "Restablecer contraseña" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_template_user_id:0 +msgid "Template user for new users created through signup" +msgstr "" +"Plantilla de usuario para los nuevos usuarios creados a través del ingreso" + +#. module: auth_signup +#: model:email.template,subject:auth_signup.reset_password_email +msgid "Password reset" +msgstr "Restablecer contraseña" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:117 +#, python-format +msgid "Please enter a password and confirm it." +msgstr "Por favor introduzca una contraseña y confírmela." + +#. module: auth_signup +#: view:res.users:0 +msgid "Send an email to the user to (re)set their password." +msgstr "" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23 +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:26 +#, python-format +msgid "Sign Up" +msgstr "Registro" + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "New" +msgstr "Nuevo(a)" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:258 +#, python-format +msgid "Mail sent to:" +msgstr "" + +#. module: auth_signup +#: field:res.users,state:0 +msgid "Status" +msgstr "Estado" + +#. module: auth_signup +#: model:email.template,body_html:auth_signup.reset_password_email +msgid "" +"\n" +"

A password reset was requested for the OpenERP account linked to this " +"email.

\n" +"\n" +"

You may change your password by following this link.

\n" +"\n" +"

Note: If you do not expect this, you can safely ignore this email.

" +msgstr "" +"\n" +"

Se ha solicitado un cambio de contraseña dedse la cuenta de OpenERP " +"asociada con este correo eléctronico.

\n" +"\n" +"

Debería cambiar su contraseña siguiendo este enlace.

\n" +"\n" +"

Nota: Si no espera estanotificación, puede ignorarla de forma segura.

" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:111 +#, python-format +msgid "Please enter a name." +msgstr "Por favor, introduzca un nombre." + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_users +msgid "Users" +msgstr "Usuarios" + +#. module: auth_signup +#: field:res.partner,signup_url:0 +msgid "Signup URL" +msgstr "URL de Ingreso" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:114 +#, python-format +msgid "Please enter a username." +msgstr "Por favor, introduzca un nombre de usuario." + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Active" +msgstr "Activo(a)" + +#. module: auth_signup +#: code:addons/auth_signup/res_users.py:269 +#, python-format +msgid "" +"Cannot send email: no outgoing email server configured.\n" +"You can configure it under Settings/General Settings." +msgstr "" +"No se puede enviar el correo electrónico: no se ha configurado un servidor " +"de correo saliente.\n" +"Puede configurarlo en Configuración / Configuraciones Generales." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12 +#, python-format +msgid "Username" +msgstr "Nombre de Usuario" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:8 +#, python-format +msgid "Name" +msgstr "Nombre" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:170 +#, python-format +msgid "Please enter a username or email address." +msgstr "" +"Por favor ingresea un Nombre de Usuario o dirección de correo electrónico." + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Resetting Password" +msgstr "Restableciendo la Contraseña" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:13 +#, python-format +msgid "Username (Email)" +msgstr "Nombre de Usuario (Dirección de correo electrónico)" + +#. module: auth_signup +#: field:res.partner,signup_expiration:0 +msgid "Signup Expiration" +msgstr "Vencimiento del Ingreso" + +#. module: auth_signup +#: help:base.config.settings,auth_signup_reset_password:0 +msgid "This allows users to trigger a password reset from the Login page." +msgstr "" +"Esto permite a los usuarios lanzar un restablecimiento de la contraseña " +"desde la página de Inicio de Sesión." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22 +#, python-format +msgid "Log in" +msgstr "Iniciar Sesión" + +#. module: auth_signup +#: field:res.partner,signup_valid:0 +msgid "Signup Token is Valid" +msgstr "La Palabra de Ingreso es Válida" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:108 +#: code:addons/auth_signup/static/src/js/auth_signup.js:111 +#: code:addons/auth_signup/static/src/js/auth_signup.js:114 +#: code:addons/auth_signup/static/src/js/auth_signup.js:117 +#: code:addons/auth_signup/static/src/js/auth_signup.js:120 +#: code:addons/auth_signup/static/src/js/auth_signup.js:167 +#: code:addons/auth_signup/static/src/js/auth_signup.js:170 +#, python-format +msgid "Login" +msgstr "Inicio de Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:94 +#, python-format +msgid "Invalid signup token" +msgstr "Palabra de ingreso no válida" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:120 +#, python-format +msgid "Passwords do not match; please retype them." +msgstr "Las contraseñas no coinciden. Por favor vuelva a escribirlas." + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/js/auth_signup.js:108 +#: code:addons/auth_signup/static/src/js/auth_signup.js:167 +#, python-format +msgid "No database selected !" +msgstr "No se ha seleccionado ninguna base de datos!" + +#. module: auth_signup +#: view:res.users:0 +msgid "Reset Password" +msgstr "" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_reset_password:0 +msgid "Enable password reset from Login page" +msgstr "" +"Habilitar restablecimiento de la contraseña desde la página de Inicio de " +"Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:27 +#, python-format +msgid "Back to Login" +msgstr "Volver al Inicio de Sesión" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:22 +#, python-format +msgid "Sign up" +msgstr "" + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_partner +msgid "Partner" +msgstr "Empresa/Cliente" + +#. module: auth_signup +#: field:res.partner,signup_token:0 +msgid "Signup Token" +msgstr "Palabra de Ingreso" diff --git a/addons/contacts/i18n/es_CO.po b/addons/contacts/i18n/es_CO.po new file mode 100644 index 00000000000..d4b8e87b899 --- /dev/null +++ b/addons/contacts/i18n/es_CO.po @@ -0,0 +1,46 @@ +# Spanish (Colombia) 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-21 21:43+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish (Colombia) \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-22 04:57+0000\n" +"X-Generator: Launchpad (build 16532)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

\n" +" Click to add a contact in your address book.\n" +"

\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

\n" +" " +msgstr "" +"

\n" +" Pulse para añadir un contacto a su libreta de direcciones.\n" +"

\n" +" OpenERP le ayuda a seguir el rastro a todas las actividades " +"relativas a\n" +" un cliente: discusiones, histórico de oportunidades de negocio,\n" +" documentos, etc.\n" +"

\n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Contactos" diff --git a/addons/mrp/i18n/es_MX.po b/addons/mrp/i18n/es_MX.po index 82d584be219..f9fb2d53cb7 100644 --- a/addons/mrp/i18n/es_MX.po +++ b/addons/mrp/i18n/es_MX.po @@ -1,72 +1,61 @@ -# Translation of OpenERP Server. -# This file contains the translation of the following modules: -# * mrp +# 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-03-12 16:35+0000\n" -"Last-Translator: Jordi Esteve (www.zikzakmedia.com) " -"\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-23 21:44+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 04:59+0000\n" -"X-Generator: Launchpad (build 13830)\n" +"X-Launchpad-Export-Date: 2013-03-24 04:45+0000\n" +"X-Generator: Launchpad (build 16540)\n" #. module: mrp -#: field:mrp.production,move_created_ids:0 -#: field:mrp.production,move_created_ids2:0 -msgid "Moves Created" -msgstr "Movimientos creados" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_production_action +#: help:mrp.config.settings,module_mrp_repair:0 msgid "" -"Manufacturing Orders are usually proposed automatically by OpenERP based on " -"the bill of materials and the procurement rules, but you can also create " -"manufacturing orders manually. OpenERP will handle the consumption of the " -"raw materials (stock decrease) and the production of the finished products " -"(stock increase) when the order is processed." +"Allows to manage all product repairs.\n" +" * Add/remove products in the reparation\n" +" * Impact for stocks\n" +" * Invoicing (products and/or services)\n" +" * Warranty concept\n" +" * Repair quotation report\n" +" * Notes for the technician and for the final customer.\n" +" This installs the module mrp_repair." msgstr "" -"Las órdenes de fabricación suelen ser propuestas automáticamente por OpenERP " -"en base a la lista de materiales y las reglas de abastecimiento, pero " -"también puede crear órdenes de fabricación manualmente. OpenERP controlará " -"el consumo de las materias primas (disminución de stock) y la producción de " -"los productos terminados (aumento de stock) cuando se procese la orden." - -#. module: mrp -#: help:mrp.production,location_src_id:0 -msgid "Location where the system will look for components." -msgstr "Ubicación donde el sistema buscará los componentes." - -#. module: mrp -#: field:mrp.production,workcenter_lines:0 -msgid "Work Centers Utilisation" -msgstr "Utilización del centro de producción" - -#. module: mrp -#: view:mrp.routing.workcenter:0 -msgid "Routing Work Centers" -msgstr "Ruta de centros de producción" - -#. module: mrp -#: model:ir.module.module,shortdesc:mrp.module_meta_information -msgid "Manufacturing Resource Planning" -msgstr "Planificación de recursos de fabricación (MRP)" #. module: mrp #: report:mrp.production.order:0 msgid "No. Of Cycles" -msgstr "Núm. de ciclos" +msgstr "" #. module: mrp +#: help:mrp.production,location_src_id:0 +msgid "Location where the system will look for components." +msgstr "" + +#. module: mrp +#: field:mrp.production,workcenter_lines:0 +msgid "Work Centers Utilisation" +msgstr "" + +#. module: mrp +#: view:mrp.routing.workcenter:0 +msgid "Routing Work Centers" +msgstr "" + +#. module: mrp +#: field:mrp.production.workcenter.line,cycle:0 #: field:mrp.routing.workcenter,cycle_nbr:0 +#: field:report.workcenter.load,cycle:0 msgid "Number of Cycles" -msgstr "Número de ciclos" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_minimumstockprocure0 @@ -74,26 +63,12 @@ msgid "" "The 'Minimum stock rule' allows the system to create procurement orders " "automatically as soon as the minimum stock is reached." msgstr "" -"La 'regla de stock mínimo' permite al sistema de crear órdenes de " -"abasteciemiento automáticamente cuando el stock mínimo es alcanzado" - -#. module: mrp -#: field:mrp.production,picking_id:0 -#: field:mrp.production.order,picking_id:0 -msgid "Picking list" -msgstr "Albarán" - -#. module: mrp -#: code:addons/mrp/report/price.py:121 -#, python-format -msgid "Hourly Cost" -msgstr "Coste horario" #. module: mrp #: code:addons/mrp/report/price.py:130 #, python-format -msgid "Cost Price per Uom" -msgstr "Precio de coste pour Udm" +msgid "Hourly Cost" +msgstr "" #. module: mrp #: view:mrp.production:0 @@ -101,36 +76,32 @@ msgid "Scrap Products" msgstr "Productos de desecho" #. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,day:0 -msgid "Day" -msgstr "Día" +#: view:mrp.workcenter:0 +msgid "Mrp Workcenter" +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_routing_action #: model:ir.ui.menu,name:mrp.menu_mrp_routing_action msgid "Routings" -msgstr "Procesos productivos" - -#. module: mrp -#: field:mrp.workcenter,product_id:0 -msgid "Work Center Product" -msgstr "Producto centro de producción" +msgstr "" #. module: mrp #: view:mrp.bom:0 msgid "Search Bill Of Material" -msgstr "Buscar lista de materiales" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_stockproduct1 msgid "For stockable products and consumables" -msgstr "Para productos almacenables y consumibles" +msgstr "" #. module: mrp -#: model:process.transition,name:mrp.process_transition_stockproduction0 -msgid "To Produce" -msgstr "A producir" +#: help:mrp.bom,message_unread:0 +#: help:mrp.production,message_unread:0 +#: help:mrp.production.workcenter.line,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" #. module: mrp #: help:mrp.routing.workcenter,cycle_nbr:0 @@ -138,76 +109,63 @@ msgid "" "Number of iterations this work center has to do in the specified operation " "of the routing." msgstr "" -"Número de iteraciones que debe realizar este centro de producción en la " -"operación indicada de la ruta." + +#. module: mrp +#: view:product.product:0 +msgid "False" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: field:mrp.bom,code:0 -#: view:mrp.production:0 #: field:mrp.production,name:0 msgid "Reference" -msgstr "Referencia" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Finished Products" -msgstr "Productos finalizados" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Manufacturing Orders which are currently in production." +msgstr "" + +#. module: mrp +#: help:mrp.bom,message_summary:0 +#: help:mrp.production,message_summary:0 +#: help:mrp.production.workcenter.line,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: mrp #: model:process.transition,name:mrp.process_transition_servicerfq0 #: model:process.transition,name:mrp.process_transition_stockrfq0 msgid "To Buy" -msgstr "A comprar" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Raw Material Location" -msgstr "Ubicación de materias primas" - -#. module: mrp -#: help:mrp.installer,mrp_operations:0 -msgid "" -"Enhances production orders with readiness states as well as the start date " -"and end date of execution of the order." msgstr "" -"Mejora las órdenes de producción con los estados de preparación, así como la " -"fecha de inicio y final de la ejecución de la orden." #. module: mrp #: model:process.transition,note:mrp.process_transition_purchaseprocure0 msgid "The system launches automatically a RFQ to the preferred supplier." msgstr "" -"El sistema crea automáticamente una petición de presupuesto al proveedor " -"preferido." #. module: mrp #: view:mrp.production:0 msgid "Products to Finish" -msgstr "Productos a terminar" +msgstr "" #. module: mrp #: selection:mrp.bom,method:0 msgid "Set / Pack" -msgstr "Conjunto / Paquete" - -#. module: mrp -#: field:mrp.installer,mrp_subproduct:0 -msgid "MRP Subproducts" -msgstr "Subproductos MRP" - -#. module: mrp -#: view:mrp.production:0 -#: field:mrp.production,state:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,state:0 -msgid "State" -msgstr "Estado" +msgstr "" #. module: mrp #: field:mrp.workcenter,costs_hour:0 msgid "Cost per hour" -msgstr "Coste por hora" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_stockproduction0 @@ -215,188 +173,221 @@ msgid "" "In case the Supply method of the product is Produce, the system creates a " "production order." msgstr "" -"En caso de que el método de suministro del producto es Producir, el sistema " -"crea una orden de producción." - -#. module: mrp -#: view:mrp.production:0 -msgid "UOM" -msgstr "UdM" #. module: mrp #: field:change.production.qty,product_qty:0 -#: field:mrp.bom,product_qty:0 -#: field:mrp.production,product_qty:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,product_qty:0 -#: field:mrp.production.product.line,product_qty:0 msgid "Product Qty" -msgstr "Ctdad producto" +msgstr "" #. module: mrp -#: help:mrp.workcenter,product_id:0 -msgid "" -"Fill this product to track easily your production costs in the analytic " -"accounting." +#: view:mrp.production:0 +msgid "Unit of Measure" msgstr "" -"Introduzca este producto para realizar fácilmente un seguimiento de sus " -"costes de producción en la contabilidad analítica." #. module: mrp #: model:process.node,note:mrp.process_node_purchaseprocure0 msgid "For purchased material" -msgstr "Para material comprado" +msgstr "" #. module: mrp -#: field:mrp.bom.revision,indice:0 -msgid "Revision" -msgstr "Revisión" +#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action +msgid "Order Planning" +msgstr "" #. module: mrp -#: model:ir.ui.menu,name:mrp.next_id_77 -msgid "Reporting" -msgstr "Informe" +#: field:mrp.config.settings,module_mrp_operations:0 +msgid "Allow detailed planning of work order" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:633 +#, python-format +msgid "Cannot cancel manufacturing order!" +msgstr "" #. module: mrp #: field:mrp.workcenter,costs_cycle_account_id:0 msgid "Cycle Account" -msgstr "Cuenta ciclo" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Work Cost" -msgstr "Coste del trabajo" - -#. module: mrp -#: report:bom.structure:0 -msgid "[" -msgstr "[" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_procureserviceproduct0 msgid "Procurement of services" -msgstr "Abastecimiento de servicios" +msgstr "" #. module: mrp #: view:mrp.workcenter:0 msgid "Capacity Information" -msgstr "Información de capacidad" +msgstr "" + +#. module: mrp +#: field:mrp.routing,workcenter_lines:0 +msgid "Work Centers" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_routing_action +msgid "" +"

\n" +" Click to create a routing.\n" +"

\n" +" Routings allow you to create and manage the manufacturing\n" +" operations that should be followed within your work centers " +"in\n" +" order to produce a product. They are attached to bills of\n" +" materials that will define the required raw materials.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,move_created_ids2:0 +msgid "Produced Products" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "Destination Location" -msgstr "Ubicación destino" - -#. module: mrp -#: view:mrp.installer:0 -msgid "title" -msgstr "título" - -#. module: mrp -#: model:ir.ui.menu,name:mrp.menu_mrp_bom -msgid "Master Data" -msgstr "Datos principales" - -#. module: mrp -#: model:process.transition,note:mrp.process_transition_stockmts0 -msgid "" -"The system waits for the products to be available in the stock. These " -"products are typically procured manually or through a minimum stock rule." msgstr "" -"El sistema espera a que los productos estén disponibles en el stock. Estos " -"productos suelen ser adquiridos de forma manual o a través de una regla de " -"stock mínimo." + +#. module: mrp +#: view:mrp.config.settings:0 +msgid "Master Data" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_mrp_byproduct:0 +msgid "Produce several products from one manufacturing order" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,group_mrp_properties:0 +msgid "" +"The selection of the right Bill of Material to use will depend on the " +"properties specified on the sales order and the Bill of Material." +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 +msgid "" +"When processing a sales order for this product, the delivery order\n" +" will contain the raw materials, instead of " +"the finished product." +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "Partner Ref" -msgstr "Ref. empresa" +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,measure_unit:0 msgid "Amount in hours" -msgstr "Cantidad en horas" +msgstr "" #. module: mrp #: field:mrp.production,product_lines:0 msgid "Scheduled goods" -msgstr "Bienes planificados" +msgstr "" #. module: mrp #: selection:mrp.bom,type:0 msgid "Sets / Phantom" -msgstr "Conjuntos / Fantasma" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,state:0 +msgid "Status" +msgstr "" #. module: mrp #: help:mrp.bom,position:0 msgid "Reference to a position in an external plan." -msgstr "Referencia a una ubicación en una plan. externa" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "August" -msgstr "Agosto" - -#. module: mrp -#: constraint:stock.move:0 -msgid "You try to assign a lot which is not from the same product" -msgstr "Está intentando asignar un lote que no es del mismo producto" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_order -msgid "Production Order Report" -msgstr "Informe de órden de producción" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "June" -msgstr "Junio" +#: model:res.groups,name:mrp.group_mrp_routings +msgid "Manage Routings" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_product_produce msgid "Product Produce" -msgstr "Producir producto" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "October" -msgstr "Octubre" +#: constraint:mrp.bom:0 +msgid "Error ! You cannot create recursive BoM." +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:177 -#, python-format -msgid "Components Cost of " -msgstr "Coste de los componentes de " +#: model:ir.model,name:mrp.model_mrp_routing_workcenter +msgid "Work Center Usage" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_procurestockableproduct0 msgid "Procurement of stockable Product" -msgstr "Abastecimiento de producto almacenable" +msgstr "" #. module: mrp -#: view:mrp.bom:0 -msgid "Default UOM" -msgstr "UdM por defecto" +#: model:ir.actions.act_window,help:mrp.mrp_production_action +msgid "" +"

\n" +" Click to create a manufacturing order. \n" +"

\n" +" A manufacuring order, based on a bill of materials, will\n" +" consume raw materials and produce finished products.\n" +"

\n" +" Manufacturing orders are usually proposed automatically " +"based\n" +" on customer requirements or automated rules like the " +"minimum\n" +" stock rule.\n" +"

\n" +" " +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:130 +#: sql_constraint:mrp.production:0 +msgid "Reference must be unique per Company!" +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:139 #: report:bom.structure:0 +#: view:mrp.bom:0 #: field:mrp.product_price,number:0 +#: view:mrp.production:0 #: report:mrp.production.order:0 #, python-format msgid "Quantity" -msgstr "Cantidad" +msgstr "" #. module: mrp -#: field:mrp.production.workcenter.line,hour:0 -msgid "Nbr of hours" -msgstr "Nº de horas" +#: help:mrp.workcenter,product_id:0 +msgid "" +"Fill this product to easily track your production costs in the analytic " +"accounting." +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,product_id:0 +msgid "Work Center Product" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Confirm Production" -msgstr "Confirmar producción" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_stockproduct0 @@ -404,8 +395,6 @@ msgid "" "The system creates an order (production or purchased) depending on the sold " "quantity and the products parameters." msgstr "" -"El sistema crea una orden (de producción o de compra) en función de la " -"cantidad vendida y los parámetros de los productos." #. module: mrp #: model:process.transition,note:mrp.process_transition_servicemts0 @@ -413,49 +402,85 @@ msgid "" "This is used in case of a service without any impact in the system, a " "training session for instance." msgstr "" -"Esto se utiliza en caso de un servicio sin ningún tipo de impacto en el " -"sistema, una sesión de formación, por ejemplo." #. module: mrp -#: field:mrp.installer,mrp_repair:0 -msgid "Repairs" -msgstr "Reparaciones" +#: field:mrp.bom,product_qty:0 +#: field:mrp.production,product_qty:0 +#: field:mrp.production.product.line,product_qty:0 +msgid "Product Quantity" +msgstr "" #. module: mrp -#: field:mrp.installer,stock_location:0 -msgid "Advanced Routes" -msgstr "Rutas avanzadas" +#: help:mrp.production,picking_id:0 +msgid "" +"This is the Internal Picking List that brings the finished product to the " +"production plan" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_search_mrp msgid "Working Time" -msgstr "Horario trabajo" +msgstr "" + +#. module: mrp +#: help:mrp.production,state:0 +msgid "" +"When the production order is created the status is set to 'Draft'.\n" +" If the order is confirmed the status is set to 'Waiting " +"Goods'.\n" +" If any exceptions are there, the status is set to 'Picking " +"Exception'.\n" +" If the stock is available then the status is set to 'Ready " +"to Produce'.\n" +" When the production gets started then the status is set to " +"'In Production'.\n" +" When the production is over, the status is set to 'Done'." +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree msgid "Weekly Stock Value Variation" -msgstr "Variación del valor del stock semanal" - -#. module: mrp -#: help:mrp.installer,mrp_repair:0 -msgid "" -"Enables warranty and repair management (and their impact on stocks and " -"invoicing)." msgstr "" -"Activa la garantía y la gestión de reparaciones (y su impacto sobre stocks y " -"facturación)" #. module: mrp -#: field:mrp.production,date_planned_date:0 +#: model:ir.actions.act_window,help:mrp.mrp_property_action +msgid "" +"

\n" +" Click to create a new property.\n" +"

\n" +" The Properties in OpenERP are used to select the right bill " +"of\n" +" materials for manufacturing a product when you have " +"different\n" +" ways of building the same product. You can assign several\n" +" properties to each bill of materials. When a salesperson\n" +" creates a sales order, they can relate it to several " +"properties\n" +" and OpenERP will automatically select the BoM to use " +"according\n" +" the needs.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,date_planned:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,date_planned:0 msgid "Scheduled Date" -msgstr "Fecha programada" +msgstr "" #. module: mrp +#: code:addons/mrp/procurement.py:124 +#, python-format +msgid "Manufacturing Order %s created." +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 #: report:mrp.production.order:0 msgid "Bill Of Material" -msgstr "Lista de Material" +msgstr "" #. module: mrp #: help:mrp.routing,location_id:0 @@ -464,165 +489,140 @@ msgid "" "needed.Set a location if you produce at a fixed location. This can be a " "partner location if you subcontract the manufacturing operations." msgstr "" -"Dejarlo vacío si se produce en el mismo lugar en que los productos acabados " -"son necesarios. Indique una ubicación si se produce en una ubicación fija. " -"Puede ser una ubicación de otra empresa si subcontrata las operaciones de " -"fabricación." #. module: mrp #: view:board.board:0 msgid "Stock Value Variation" -msgstr "Variación del valor de stock" +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action2 msgid "Bill of Materials Structure" -msgstr "Estructura lista de materiales" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_serviceproduct0 msgid "Product type is service" -msgstr "Producto de tipo servicio" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_property_group_action -msgid "" -"Define specific property groups that can be assigned to the properties of " -"your bill of materials." msgstr "" -"Definir grupos específicos de propiedad que se pueden asignar a las " -"propiedades de su lista de materiales." - -#. module: mrp -#: model:process.transition,name:mrp.process_transition_bom0 -msgid "Manufacturing decomposition" -msgstr "Descomposición fabricación" - -#. module: mrp -#: model:process.node,note:mrp.process_node_serviceproduct1 -msgid "For Services." -msgstr "Para servicios" - -#. module: mrp -#: field:mrp.bom.revision,date:0 -msgid "Modification Date" -msgstr "Fecha de modificación" - -#. module: mrp -#: help:mrp.workcenter,costs_cycle_account_id:0 -#: help:mrp.workcenter,costs_hour_account_id:0 -msgid "" -"Complete this only if you want automatic analytic accounting entries on " -"production orders." -msgstr "" -"Rellenarlo sólo si desea crear entradas automáticas de contabilidad " -"analítica según órdenes de producción." - -#. module: mrp -#: field:mrp.production.workcenter.line,cycle:0 -msgid "Nbr of cycles" -msgstr "Nº de ciclos" - -#. module: mrp -#: model:process.node,note:mrp.process_node_orderrfq0 -#: model:process.node,note:mrp.process_node_rfq0 -msgid "Request for Quotation." -msgstr "Solicitud de presupuesto." - -#. module: mrp -#: model:process.transition,note:mrp.process_transition_billofmaterialrouting0 -msgid "" -"The Bill of Material is linked to a routing, i.e. the succession of work " -"centers." -msgstr "" -"La lista de materiales está vinculada a una ruta, es decir, la sucesión de " -"centros de producción." - -#. module: mrp -#: constraint:product.product:0 -msgid "Error: Invalid ean code" -msgstr "Error: Código EAN no válido" - -#. module: mrp -#: view:mrp.routing:0 -#: field:mrp.routing,location_id:0 -msgid "Production Location" -msgstr "Ubicación de producción" - -#. module: mrp -#: view:mrp.production:0 -msgid "Change Qty" -msgstr "Cambiar Ctd." - -#. module: mrp -#: view:mrp.production:0 -msgid "Force Reservation" -msgstr "Forzar reservas" - -#. module: mrp -#: field:mrp.bom.revision,author_id:0 -msgid "Author" -msgstr "Autor" - -#. module: mrp -#: field:report.mrp.inout,value:0 -msgid "Stock value" -msgstr "Valor del stock" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_product_bom_structure -msgid "Product BoM Structure" -msgstr "Estructura LdM del producto" - -#. module: mrp -#: view:mrp.production:0 -msgid "Search Production" -msgstr "Buscar producción" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#, python-format -msgid "Supplier Price per Uom" -msgstr "Precio proveedor por UdM" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "March" -msgstr "Marzo" - -#. module: mrp -#: field:mrp.bom,child_complete_ids:0 -msgid "BoM Hierarchy" -msgstr "Estructura LdM" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce -#: view:mrp.product.produce:0 -#: view:mrp.production:0 -msgid "Produce" -msgstr "Producir" #. module: mrp #: help:mrp.workcenter,costs_cycle:0 msgid "Specify Cost of Work Center per cycle." msgstr "" +#. module: mrp +#: model:process.transition,name:mrp.process_transition_bom0 +msgid "Manufacturing decomposition" +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_serviceproduct1 +msgid "For Services." +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_orderrfq0 +#: model:process.node,note:mrp.process_node_rfq0 +msgid "Request for Quotation." +msgstr "" + +#. module: mrp +#: view:change.production.qty:0 +#: view:mrp.config.settings:0 +#: view:mrp.product.produce:0 +#: view:mrp.product_price:0 +#: view:mrp.workcenter.load:0 +msgid "or" +msgstr "" + +#. module: mrp +#: model:process.transition,note:mrp.process_transition_billofmaterialrouting0 +msgid "" +"The Bill of Material is linked to a routing, i.e. the succession of work " +"centers." +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,move_created_ids:0 +msgid "Products to Produce" +msgstr "" + +#. module: mrp +#: view:mrp.config.settings:0 +msgid "Apply" +msgstr "" + +#. module: mrp +#: view:mrp.routing:0 +#: field:mrp.routing,location_id:0 +msgid "Production Location" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Force Reservation" +msgstr "" + +#. module: mrp +#: field:report.mrp.inout,value:0 +msgid "Stock value" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.action_product_bom_structure +msgid "Product BoM Structure" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Search Production" +msgstr "" + +#. module: mrp +#: help:mrp.routing.workcenter,sequence:0 +msgid "" +"Gives the sequence order when displaying a list of routing Work Centers." +msgstr "" + +#. module: mrp +#: field:mrp.bom,child_complete_ids:0 +msgid "BoM Hierarchy" +msgstr "" + +#. module: mrp +#: model:process.transition,name:mrp.process_transition_stockproduction0 +msgid "To Produce" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_stock_no_autopicking:0 +msgid "" +"This module allows an intermediate picking process to provide raw materials " +"to production orders.\n" +" For example to manage production made by your suppliers (sub-" +"contracting).\n" +" To achieve this, set the assembled product which is sub-" +"contracted to \"No Auto-Picking\"\n" +" and put the location of the supplier in the routing of the " +"assembly operation.\n" +" This installs the module stock_no_autopicking." +msgstr "" + #. module: mrp #: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "Picking Exception" -msgstr "Excepción albarán" +msgstr "" #. module: mrp #: field:mrp.bom,bom_lines:0 msgid "BoM Lines" -msgstr "Líneas de las listas de materiales" +msgstr "" #. module: mrp #: field:mrp.workcenter,time_start:0 msgid "Time before prod." -msgstr "Tiempo antes producción" +msgstr "" #. module: mrp #: help:mrp.routing,active:0 @@ -630,59 +630,53 @@ msgid "" "If the active field is set to False, it will allow you to hide the routing " "without removing it." msgstr "" -"Si el campo activo se desmarca, permite ocultar la ruta sin eliminarla." #. module: mrp #: model:process.transition,name:mrp.process_transition_billofmaterialrouting0 msgid "Material Routing" -msgstr "Ruta del material" +msgstr "" #. module: mrp #: view:mrp.production:0 #: field:mrp.production,move_lines2:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,consumed_products:0 msgid "Consumed Products" -msgstr "Productos consumidos" - -#. module: mrp -#: constraint:mrp.bom:0 -msgid "Error ! You can not create recursive BoM." -msgstr "¡Error! No puede crear Listas de Material recursivas." +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard #: model:ir.model,name:mrp.model_mrp_workcenter_load #: model:ir.model,name:mrp.model_report_workcenter_load msgid "Work Center Load" -msgstr "Carga centro de producción" +msgstr "" #. module: mrp -#: code:addons/mrp/procurement.py:45 +#: code:addons/mrp/procurement.py:50 #, python-format msgid "No BoM defined for this product !" -msgstr "¡No se ha definido LdM para este producto!" +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2 #: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action2 msgid "Bill of Material Components" -msgstr "Componentes de lista de materiales" +msgstr "" #. module: mrp -#: field:mrp.production.order,nbr:0 -msgid "# of Lines" -msgstr "Nº de líneas" +#: model:ir.model,name:mrp.model_stock_move +msgid "Stock Move" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_planning +#: view:mrp.config.settings:0 msgid "Planning" -msgstr "Planificación" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Ready" -msgstr "Preparado" +msgstr "" #. module: mrp #: help:mrp.production,routing_id:0 @@ -692,142 +686,151 @@ msgid "" "operations and to plan future loads on work centers based on production " "plannification." msgstr "" -"Lista de las operaciones (lista de los centros de trabajo) para producir los " -"productos acabados. La ruta se utiliza principalmente para calcular los " -"costes del centro de trabajo durante las operaciones y planificar la carga " -"en el futuro en los centros de trabajo basada en la planificación de " -"producción." #. module: mrp #: help:mrp.workcenter,time_cycle:0 msgid "Time in hours for doing one cycle." -msgstr "Tiempo en horas para realizar un ciclo." +msgstr "" #. module: mrp -#: report:bom.structure:0 -msgid "BOM Ref" -msgstr "Ref LdM" +#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2 +msgid "" +"

\n" +" Click to add a component to a bill of material.\n" +"

\n" +" Bills of materials components are components and by-" +"products\n" +" used to create master bills of materials. Use this menu to\n" +" search in which BoM a specific component is used.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: constraint:mrp.bom:0 +msgid "BoM line product should not be same as BoM product." +msgstr "" #. module: mrp #: view:mrp.production:0 -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "In Production" -msgstr "En producción" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_mrp_property msgid "Master Bill of Materials" -msgstr "Lista de materiales maestra" +msgstr "" #. module: mrp -#: help:mrp.bom,product_uos:0 +#: help:mrp.config.settings,module_product_manufacturer:0 msgid "" -"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and " -"promotion of stock." +"This allows you to define the following for a product:\n" +" * Manufacturer\n" +" * Manufacturer Product Name\n" +" * Manufacturer Product Code\n" +" * Product Attributes.\n" +" This installs the module product_manufacturer." msgstr "" -"UdV del producto (Unidad de Venta) es la unidad de medida para la " -"facturación y la promoción de existencias." #. module: mrp #: view:mrp.product_price:0 #: view:mrp.workcenter.load:0 msgid "Print" -msgstr "Imprimir" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.workcenter:0 msgid "Type" -msgstr "Tipo" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:150 -#: code:addons/mrp/report/price.py:201 -#, python-format -msgid "Total Cost of " -msgstr "Coste total de " +#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action +msgid "" +"

\n" +" Click to add a work center.\n" +"

\n" +" Work Centers allow you to create and manage manufacturing\n" +" units. They consist of workers and/or machines, which are\n" +" considered as units for task assignation as well as " +"capacity\n" +" and planning forecast.\n" +"

\n" +" " +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_minimumstockrule0 msgid "Linked to the 'Minimum stock rule' supplying method." -msgstr "Vinculado al método de abastecimiento 'Regla de stock mínimo'." +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,time_unit:0 msgid "Per month" -msgstr "Por mes" +msgstr "" #. module: mrp -#: code:addons/mrp/mrp.py:595 -#: code:addons/mrp/wizard/change_production_qty.py:77 -#: code:addons/mrp/wizard/change_production_qty.py:82 -#, python-format -msgid "Couldn't find bill of material for product" -msgstr "No se puede encontrar la lista de material para el producto" +#: help:mrp.bom,product_uom:0 +msgid "" +"Unit of Measure (Unit of Measure) is the unit of measurement for the " +"inventory control" +msgstr "" #. module: mrp #: report:bom.structure:0 msgid "Product Name" -msgstr "Nombre producto" - -#. module: mrp -#: code:addons/mrp/mrp.py:495 -#, python-format -msgid "Invalid action !" -msgstr "¡Acción no válida!" +msgstr "" #. module: mrp #: help:mrp.bom,product_efficiency:0 msgid "A factor of 0.9 means a loss of 10% within the production process." msgstr "" -"Un factor de 0.9 indica una pérdida del 10% en el proceso de producción." #. module: mrp -#: view:mrp.installer:0 -msgid "" -"Add more functionalities to the core Manufacturing Application with the " -"following addons." +#: code:addons/mrp/mrp.py:737 +#: code:addons/mrp/mrp.py:765 +#, python-format +msgid "Warning!" msgstr "" -"Añada más funcionalidades en el núcleo de la aplicación de fabricación con " -"los siguientes módulos." #. module: mrp #: report:mrp.production.order:0 msgid "Printing date" -msgstr "Fecha impresión" +msgstr "" #. module: mrp #: model:process.node,name:mrp.process_node_orderrfq0 #: model:process.node,name:mrp.process_node_rfq0 msgid "RFQ" -msgstr "Petición presupuesto" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_producttostockrules0 msgid "Procurement rule" -msgstr "Regla de abastecimiento" +msgstr "" #. module: mrp -#: help:mrp.workcenter,costs_hour:0 -msgid "Specify Cost of Work center per hour." -msgstr "Especificar costes del centro de trabajo por hora." +#: help:mrp.workcenter,costs_cycle_account_id:0 +#: help:mrp.workcenter,costs_hour_account_id:0 +msgid "" +"Fill this only if you want automatic analytic accounting entries on " +"production orders." +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Mark as Started" +msgstr "" #. module: mrp #: view:mrp.production:0 msgid "Partial" -msgstr "Parcial" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "September" -msgstr "Septiembre" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "WorkCenter" -msgstr "Centro de producción" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_procureserviceproduct0 @@ -836,188 +839,282 @@ msgid "" "order creates a RFQ for a subcontracting purchase order or waits until the " "service is done (= the delivery of the products)." msgstr "" -"Dependiendo del método elegido para \"suministrar\" del servicio, la orden " -"de abastecimiento crea una solicitud de presupuesto para un pedido de compra " -"(subcontratación) o espera hasta que el servicio se realice (= la entrega de " -"los productos)." #. module: mrp #: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 msgid "Urgent" -msgstr "Urgente" +msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_mrp_routing_workcenter -msgid "Work Center Usage" +#: view:mrp.production:0 +msgid "Manufacturing Orders which are waiting for raw materials." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:285 +#, python-format +msgid "" +"The Product Unit of Measure you chose has a different category than in the " +"product form." msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_production +#: view:mrp.config.settings:0 +#: view:mrp.production:0 +#: field:mrp.production.workcenter.line,production_id:0 +#: field:procurement.order,production_id:0 msgid "Manufacturing Order" -msgstr "Órden de producción" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_productionprocureproducts0 msgid "Procurement of raw material" -msgstr "Abastecimiento de materias primas" +msgstr "" #. module: mrp -#: help:mrp.routing.workcenter,hour_nbr:0 +#: sql_constraint:mrp.bom:0 msgid "" -"Time in hours for this work center to achieve the operation of the specified " -"routing." +"All product quantities must be greater than 0.\n" +"You should install the mrp_byproduct module if you want to manage extra " +"products on BoMs !" msgstr "" -"Tiempo en horas para este centro de producción para realizar la operación de " -"la ruta indicada." #. module: mrp #: view:mrp.production:0 #: field:mrp.production,cycle_total:0 msgid "Total Cycles" -msgstr "Total ciclos" +msgstr "" #. module: mrp #: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 msgid "Ready to Produce" -msgstr "Listo para producir" +msgstr "" #. module: mrp -#: field:mrp.bom.revision,name:0 -msgid "Modification name" -msgstr "Nombre de modificación" +#: field:mrp.bom,message_is_follower:0 +#: field:mrp.production,message_is_follower:0 +#: field:mrp.production.workcenter.line,message_is_follower:0 +msgid "Is a Follower" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.production:0 -#: field:mrp.production.order,date:0 msgid "Date" -msgstr "Fecha" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning +msgid "" +"

\n" +" Click to start a new manufacturing order. \n" +"

\n" +" A manufacuring order, based on a bill of materials, will\n" +" consume raw materials and produce finished products.\n" +"

\n" +" Manufacturing orders are usually proposed automatically " +"based\n" +" on customer requirements or automated rules like the " +"minimum\n" +" stock rule.\n" +"

\n" +" " +msgstr "" #. module: mrp #: field:mrp.bom,type:0 msgid "BoM Type" -msgstr "Tipo de lista de materiales" +msgstr "" #. module: mrp -#: view:mrp.production.order:0 -msgid "Extended Filters..." -msgstr "Filtros extendidos..." - -#. module: mrp -#: code:addons/mrp/procurement.py:47 +#: code:addons/mrp/procurement.py:52 #, python-format msgid "" "Procurement '%s' has an exception: 'No BoM defined for this product !'" msgstr "" -"Abastecimiento '%s' tiene una excepción: 'El producto no tiene LdM definida!'" #. module: mrp -#: view:mrp.production.order:0 #: view:mrp.property:0 msgid "Search" -msgstr "Buscar" +msgstr "" #. module: mrp -#: field:report.workcenter.load,cycle:0 -msgid "Nbr of cycle" -msgstr "Núm. de ciclo" +#: model:process.node,note:mrp.process_node_billofmaterial0 +msgid "Product's structure" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_res_company msgid "Companies" -msgstr "Compañías" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:634 +#, python-format +msgid "" +"You must first cancel related internal picking attached to this " +"manufacturing order." +msgstr "" #. module: mrp #: model:process.node,name:mrp.process_node_minimumstockrule0 #: model:process.node,name:mrp.process_node_productminimumstockrule0 msgid "Minimum Stock" -msgstr "Stock mínimo" +msgstr "" #. module: mrp -#: model:ir.ui.menu,name:mrp.menus_dash_mrp -msgid "Dashboard" -msgstr "Tablero" - -#. module: mrp -#: view:board.board:0 -msgid "Work Center Future Load" -msgstr "Carga futura del centro de producción" +#: code:addons/mrp/report/price.py:160 +#: code:addons/mrp/report/price.py:211 +#, python-format +msgid "Total Cost of %s %s" +msgstr "" #. module: mrp #: model:process.node,name:mrp.process_node_stockproduct0 #: model:process.node,name:mrp.process_node_stockproduct1 #: model:process.process,name:mrp.process_process_stockableproductprocess0 msgid "Stockable Product" -msgstr "Producto almacenable" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Work Center name" -msgstr "Nombre del centro de producción" +msgstr "" #. module: mrp #: field:mrp.routing,code:0 msgid "Code" -msgstr "Código" +msgstr "" #. module: mrp #: report:mrp.production.order:0 msgid "No. Of Hours" -msgstr "Núm. de horas" - -#. module: mrp -#: field:mrp.installer,mrp_jit:0 -msgid "Just In Time Scheduling" -msgstr "Planificación 'Just in Time'" +msgstr "" #. module: mrp #: view:mrp.property:0 -#: view:mrp.property.group:0 msgid "Property Group" -msgstr "Grupo de propiedad" +msgstr "" #. module: mrp -#: view:mrp.production:0 -msgid "Qty" -msgstr "Ctd." +#: field:mrp.config.settings,group_mrp_routings:0 +msgid "Manage routings and work orders " +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_production0 msgid "Manufacturing Plan." -msgstr "Plan de producción" +msgstr "" #. module: mrp #: view:mrp.routing:0 #: view:mrp.workcenter:0 msgid "Inactive" -msgstr "Inactivo" - -#. module: mrp -#: help:mrp.installer,mrp_subproduct:0 -msgid "" -"Enables multiple product output from a single production order: without " -"this, a production order can have only one output product." msgstr "" -"Habilita la salida de múltiples productos de una sola orden de producción: " -"sin ello, una orden de producción sólo puede tener un producto de salida." #. module: mrp #: view:change.production.qty:0 +#: view:mrp.config.settings:0 #: view:mrp.product.produce:0 #: view:mrp.product_price:0 -#: view:mrp.production:0 #: view:mrp.workcenter.load:0 msgid "Cancel" -msgstr "Cancelar" +msgstr "" + +#. module: mrp +#: model:process.transition,note:mrp.process_transition_servicerfq0 +msgid "" +"If the service has a 'Buy' supply method, this creates a RFQ, a " +"subcontracting demand for instance." +msgstr "" #. module: mrp #: view:mrp.production:0 -msgid "Split in production lots" -msgstr "Dividir en lotes de producción" +msgid "Late" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_servicemts0 +msgid "Make to stock" +msgstr "" + +#. module: mrp +#: report:bom.structure:0 +msgid "BOM Name" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.act_product_manufacturing_open +#: model:ir.actions.act_window,name:mrp.mrp_production_action +#: model:ir.actions.act_window,name:mrp.mrp_production_action_planning +#: model:ir.ui.menu,name:mrp.menu_mrp_production_action +#: view:mrp.production:0 +msgid "Manufacturing Orders" +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Awaiting Raw Materials" +msgstr "" + +#. module: mrp +#: field:mrp.bom,position:0 +msgid "Internal Reference" +msgstr "" + +#. module: mrp +#: field:mrp.production,product_uos_qty:0 +msgid "Product UoS Quantity" +msgstr "" + +#. module: mrp +#: field:mrp.bom,name:0 +#: report:mrp.production.order:0 +#: field:mrp.production.product.line,name:0 +#: view:mrp.property:0 +#: field:mrp.routing,name:0 +#: field:mrp.routing.workcenter,name:0 +msgid "Name" +msgstr "" + +#. module: mrp +#: report:mrp.production.order:0 +msgid "Production Order N° :" +msgstr "" + +#. module: mrp +#: field:mrp.product.produce,mode:0 +msgid "Mode" +msgstr "" + +#. module: mrp +#: help:mrp.bom,message_ids:0 +#: help:mrp.production,message_ids:0 +#: help:mrp.production.workcenter.line,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter.load,measure_unit:0 +msgid "Amount measuring unit" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_jit:0 +msgid "" +"This allows Just In Time computation of procurement orders.\n" +" All procurement orders will be processed immediately, which " +"could in some\n" +" cases entail a small performance impact.\n" +" This installs the module mrp_jit." +msgstr "" + +#. module: mrp +#: help:mrp.workcenter,costs_hour:0 +msgid "Specify Cost of Work Center per hour." +msgstr "" #. module: mrp #: help:mrp.workcenter,capacity_per_cycle:0 @@ -1026,1257 +1123,140 @@ msgid "" "Center represents a team of 5 workers, the capacity per cycle is 5." msgstr "" -#. module: mrp -#: model:process.transition,note:mrp.process_transition_servicerfq0 -msgid "" -"If the service has a 'Buy' supply method, this creates a RFQ, a " -"subcontracting demand for instance." -msgstr "" -"Si el servicio tiene un método de suministro 'Comprar', se crea una " -"solicitud de presupuesto, por ejemplo, una petición de subcontratación." - -#. module: mrp -#: field:mrp.production,move_prod_id:0 -msgid "Move product" -msgstr "Movimiento producto" - -#. module: mrp -#: view:mrp.production:0 -msgid "Late" -msgstr "Retrasado" - -#. module: mrp -#: model:process.node,name:mrp.process_node_servicemts0 -msgid "Make to stock" -msgstr "Obtener para stock" - -#. module: mrp -#: help:mrp.routing.workcenter,sequence:0 -msgid "" -"Gives the sequence order when displaying a list of routing work centers." -msgstr "" -"Proporciona el orden de secuencias cuando se muestra una lista de " -"enrutamiento de los centros de trabajo." - -#. module: mrp -#: report:bom.structure:0 -msgid "BOM Name" -msgstr "Nombre LdM" - -#. module: mrp -#: view:mrp.production:0 -msgid "Start Production" -msgstr "Empezar producción" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.open_board_manufacturing -#: model:ir.ui.menu,name:mrp.menu_board_manufacturing -msgid "Production Dashboard" -msgstr "Tablero de producción" - -#. module: mrp -#: view:mrp.production:0 -msgid "Source Loc." -msgstr "Ubic. orígen" - -#. module: mrp -#: field:mrp.bom,position:0 -msgid "Internal Reference" -msgstr "Referencia interna" - -#. module: mrp -#: help:mrp.installer,stock_location:0 -msgid "" -"Manages product routes and paths within and between locations (e.g. " -"warehouses)." -msgstr "" -"Gestiona las rutas y caminos de los productos dentro y entre las ubicaciones " -"(por ejemplo, almacenes)." - -#. module: mrp -#: model:process.node,note:mrp.process_node_billofmaterial0 -msgid "Product's structure" -msgstr "Estructura de producto" - -#. module: mrp -#: field:mrp.bom,name:0 -#: report:mrp.production.order:0 -#: field:mrp.production.product.line,name:0 -#: field:mrp.routing,name:0 -#: field:mrp.routing.workcenter,name:0 -msgid "Name" -msgstr "Nombre" - -#. module: mrp -#: view:mrp.installer:0 -msgid "MRP Application Configuration" -msgstr "Configuración aplicación MRP" - -#. module: mrp -#: help:mrp.installer,mrp_jit:0 -msgid "" -"Enables Just In Time computation of procurement orders.\n" -"\n" -"While it's more resource intensive than the default setup, the JIT computer " -"avoids having to wait for the procurement scheduler to run or having to run " -"the procurement scheduler manually." -msgstr "" -"Permite el cálculo de las órdenes de abastecimiento justo a tiempo (Just In " -"Time).\n" -"\n" -"Si bien consume más recursos que la configuración predeterminada, el cálculo " -"JIT evita tener que esperar a que se ejecute el planificador de " -"abastecimientos o tener que ejecutar el planificador de abastecimientos de " -"forma manual." - -#. module: mrp -#: field:mrp.product.produce,mode:0 -msgid "Mode" -msgstr "Modo" - -#. module: mrp -#: report:bom.structure:0 -msgid "]" -msgstr "]" - -#. module: mrp -#: field:mrp.workcenter.load,measure_unit:0 -msgid "Amount measuring unit" -msgstr "Importe unidad de medida" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_production_action_planning -msgid "" -"Manufacturing Orders describe the operations that need to be carried out and " -"the raw materials usage for each production stage. You use specifications " -"(bills of materials or BoM) to work out the raw material requirements and " -"the manufacturing orders needed for the finished products. Once the bills of " -"materials have been defined, OpenERP is capable of automatically deciding on " -"the manufacturing route depending on the needs of the company." -msgstr "" -"Las órdenes de fabricación describen las operaciones que deben ser " -"realizadas y las materias primas necesarias para cada etapa de fabricación. " -"Utilice las especificaciones (listas de materiales o LdM) para obtener las " -"necesidades de materias primas y las órdenes de fabricación necesarias para " -"los productos finales. Una vez las listas de materiales hayan sido " -"definidas, OpenERP es capz de decidir automáticamente al ruta de fabricación " -"en función de las necesidades de la compañía." - -#. module: mrp -#: constraint:mrp.production:0 -msgid "Order quantity cannot be negative or zero !" -msgstr "¡Cantidad ordenada no puede ser negativa o cero!" - #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_production_action3 msgid "Manufacturing Orders in Progress" -msgstr "Órdenes de producción en progreso" +msgstr "" #. module: mrp -#: model:ir.module.module,description:mrp.module_meta_information -msgid "" -"\n" -" This is the base module to manage the manufacturing process in OpenERP.\n" -"\n" -" Features:\n" -" * Make to Stock / Make to Order (by line)\n" -" * Multi-level BoMs, no limit\n" -" * Multi-level routing, no limit\n" -" * Routing and work center integrated with analytic accounting\n" -" * Scheduler computation periodically / Just In Time module\n" -" * Multi-pos, multi-warehouse\n" -" * Different reordering policies\n" -" * Cost method by product: standard price, average price\n" -" * Easy analysis of troubles or needs\n" -" * Very flexible\n" -" * Allows to browse Bill of Materials in complete structure\n" -" that include child and phantom BoMs\n" -" It supports complete integration and planification of stockable goods,\n" -" consumable of services. Services are completely integrated with the " -"rest\n" -" of the software. For instance, you can set up a sub-contracting service\n" -" in a BoM to automatically purchase on order the assembly of your " -"production.\n" -"\n" -" Reports provided by this module:\n" -" * Bill of Material structure and components\n" -" * Load forecast on Work Centers\n" -" * Print a production order\n" -" * Stock forecasts\n" -" Dashboard provided by this module::\n" -" * List of next production orders\n" -" * List of deliveries (out picking)\n" -" * Graph of work center load\n" -" * List of procurement in exception\n" -" " +#: model:ir.actions.client,name:mrp.action_client_mrp_menu +msgid "Open MRP Menu" msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_production_action4 msgid "Manufacturing Orders Waiting Products" -msgstr "Órdenes de producción en espera de productos" +msgstr "" #. module: mrp #: view:mrp.bom:0 #: view:mrp.production:0 -#: view:mrp.production.order:0 #: view:mrp.property:0 #: view:mrp.routing:0 #: view:mrp.workcenter:0 msgid "Group By..." -msgstr "Agrupar por..." +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:121 +#: code:addons/mrp/report/price.py:130 #, python-format msgid "Cycles Cost" -msgstr "Coste ciclos" +msgstr "" + +#. module: mrp +#: code:addons/mrp/wizard/change_production_qty.py:83 +#: code:addons/mrp/wizard/change_production_qty.py:88 +#, python-format +msgid "Cannot find bill of material for this product." +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,measure_unit:0 msgid "Amount in cycles" -msgstr "Valor en ciclos" +msgstr "" #. module: mrp #: field:mrp.production,location_dest_id:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,location_dest_id:0 msgid "Finished Products Location" -msgstr "Ubicación productos finalizados" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_pm_resources_config msgid "Resources" -msgstr "Recursos" +msgstr "" + +#. module: mrp +#: help:mrp.routing.workcenter,hour_nbr:0 +msgid "" +"Time in hours for this Work Center to achieve the operation of the specified " +"routing." +msgstr "" #. module: mrp #: field:mrp.workcenter,costs_journal_id:0 msgid "Analytic Journal" -msgstr "Diario analítico" +msgstr "" #. module: mrp -#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action -#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp -#: field:mrp.routing,workcenter_lines:0 -msgid "Work Centers" -msgstr "Centros de producción" +#: code:addons/mrp/report/price.py:139 +#, python-format +msgid "Supplier Price per Unit of Measure" +msgstr "" #. module: mrp #: selection:mrp.workcenter.load,time_unit:0 msgid "Per week" -msgstr "Por semana" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_routing_action -msgid "" -"Routings allow you to create and manage the manufacturing operations that " -"should be followed within your work centers in order to produce a product. " -"They are attached to bills of materials that will define the required raw " -"materials." msgstr "" -"Las rutas le permiten crear y gestionar las operaciones de fabricación a " -"realizar en sus centros de producción para fabricar un producto. Están " -"relacionadas con las listas de materiales que definirán las materias primas " -"necesarias." #. module: mrp -#: field:report.workcenter.load,hour:0 -msgid "Nbr of hour" -msgstr "Núm. de hora" +#: field:mrp.bom,message_unread:0 +#: field:mrp.production,message_unread:0 +#: field:mrp.production.workcenter.line,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: mrp +#: model:process.transition,note:mrp.process_transition_stockmts0 +msgid "" +"The system waits for the products to be available in the stock. These " +"products are typically procured manually or through a minimum stock rule." +msgstr "" #. module: mrp #: view:mrp.routing:0 msgid "Work Center Operations" -msgstr "Operaciones del centro de producción" +msgstr "" #. module: mrp #: view:mrp.routing:0 msgid "Notes" -msgstr "Notas" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Manufacturing Orders which are ready to start production." +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_bom #: view:mrp.bom:0 #: field:mrp.production,bom_id:0 -#: field:mrp.production.order,bom_id:0 #: model:process.node,name:mrp.process_node_billofmaterial0 msgid "Bill of Material" -msgstr "Lista de material" +msgstr "" #. module: mrp #: view:mrp.workcenter.load:0 msgid "Select time unit" -msgstr "Seleccionar unidad de tiempo" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.product_supply_method_produce +#: model:ir.ui.menu,name:mrp.menu_mrp_bom +#: model:ir.ui.menu,name:mrp.menu_mrp_product_form +#: view:mrp.config.settings:0 +msgid "Products" +msgstr "" #. module: mrp #: view:report.workcenter.load:0 msgid "Work Center load" -msgstr "Carga centro de producción" +msgstr "" #. module: mrp #: help:mrp.production,location_dest_id:0 msgid "Location where the system will stock the finished products." -msgstr "Ubicación donde el sistema almacenará los productos finalizados." - -#. module: mrp -#: help:mrp.production,picking_id:0 -msgid "" -"This is the Internal Picking List that brings the finished product to the " -"production plan" msgstr "" -"Este es el albarán interno que trae el producto terminado hacia el plan de " -"producción." - -#. module: mrp -#: field:stock.change.standard.price,change_parent_price:0 -msgid "Change Parent Price" -msgstr "Cambiar precio padre" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_move -msgid "Stock Move" -msgstr "Moviemiento de stock" - -#. module: mrp -#: model:process.transition,note:mrp.process_transition_producttostockrules0 -msgid "" -"The Minimum Stock Rule is an automatic procurement rule based on a mini and " -"maxi quantity. It's available in the Inventory management menu and " -"configured by product." -msgstr "" -"La regla de stock mínimo es una regla de abastecimiento automático basado en " -"una cantidad mínima y máxima. Está disponible en el menú de gestión de " -"inventario y configurable por producto." - -#. module: mrp -#: selection:mrp.workcenter.load,time_unit:0 -msgid "Day by day" -msgstr "Día por día" - -#. module: mrp -#: view:mrp.bom:0 -msgid "Revisions" -msgstr "Revisiones" - -#. module: mrp -#: view:mrp.installer:0 -msgid "Configure Your Manufacturing Resource Planning Application" -msgstr "" -"Configure su aplicación de planificación de recursos de fabricación (MRP)" - -#. module: mrp -#: field:mrp.production,priority:0 -#: field:mrp.production.order,priority:0 -msgid "Priority" -msgstr "Prioridad" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_picking -msgid "Picking List" -msgstr "Albarán" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Month -1" -msgstr "Mes -1" - -#. module: mrp -#: code:addons/mrp/mrp.py:924 -#, python-format -msgid "Manufacturing order '%s' is scheduled for the %s." -msgstr "Órden de producción '%s' planificada para el '%s'" - -#. module: mrp -#: report:mrp.production.order:0 -msgid "Production Order N° :" -msgstr "Núm. orden producción :" - -#. module: mrp -#: code:addons/mrp/mrp.py:640 -#, python-format -msgid "Manufacturing order '%s' is ready to produce." -msgstr "Orden fabricación '%s' está preparada para producir." - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_product_line -msgid "Production Scheduled Product" -msgstr "Fabricación planificada producto" - -#. module: mrp -#: help:res.company,manufacturing_lead:0 -msgid "Security days for each manufacturing operation." -msgstr "Días de seguridad para cada operación de fabricación." - -#. module: mrp -#: model:process.node,name:mrp.process_node_mts0 -#: model:process.transition,name:mrp.process_transition_servicemts0 -#: model:process.transition,name:mrp.process_transition_stockmts0 -msgid "Make to Stock" -msgstr "Obtener para stock" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "July" -msgstr "Julio" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action -msgid "" -"Master Bills of Materials allow you to create and manage the list of " -"necessary raw materials used to make a finished product. OpenERP will use " -"these BoMs to automatically propose manufacturing orders according to " -"product needs. You can either create a bill of materials to define specific " -"production steps or define a single multi-level bill of materials." -msgstr "" -"Las listas de materiales maestras le permiten crear y gestionar la lista de " -"las materias primas necesarias utilizadas para fabricar un producto acabado. " -"OpenERP utilizará estas LdMs para proponer automáticamente órdenes de " -"fabricación en función de las necesidades de producto. Puede crear una lista " -"de materiales para definir los pasos de producción o definir una única lista " -"de materiales multi-nivel." - -#. module: mrp -#: model:process.transition,note:mrp.process_transition_stockrfq0 -msgid "" -"In case the Supply method of the product is Buy, the system creates a " -"purchase order." -msgstr "" -"En caso de que el método de suministro del producto se Compra, el sistema " -"crea un pedido de compra." - -#. module: mrp -#: model:ir.model,name:mrp.model_procurement_order -msgid "Procurement" -msgstr "Abastecimiento" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_view_mrp_product_price_wizard -#: view:mrp.product_price:0 -msgid "Product Cost Structure" -msgstr "Estructura de los costes del producto" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#, python-format -msgid "Components suppliers" -msgstr "Proveedores de componentes" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_installer -msgid "mrp.installer" -msgstr "mrp.instalador" - -#. module: mrp -#: view:mrp.production:0 -msgid "Production Work Centers" -msgstr "Centros de trabajo de producción" - -#. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,month:0 -msgid "Month" -msgstr "Mes" - -#. module: mrp -#: code:addons/mrp/wizard/change_production_qty.py:62 -#, python-format -msgid "Active Id is not found" -msgstr "ID activo no se encuentra" - -#. module: mrp -#: view:mrp.workcenter:0 -msgid "Search for mrp workcenter" -msgstr "Buscar por centro de producción mrp" - -#. module: mrp -#: view:mrp.bom:0 -msgid "BoM Structure" -msgstr "Despiece de la LdM" - -#. module: mrp -#: field:mrp.production,date_start:0 -#: field:mrp.production.order,date_start:0 -msgid "Start Date" -msgstr "Fecha inicial" - -#. module: mrp -#: field:mrp.workcenter,costs_hour_account_id:0 -msgid "Hour Account" -msgstr "Cuenta horas" - -#. module: mrp -#: view:mrp.production:0 -msgid "Destination Loc." -msgstr "Ubic. destino" - -#. module: mrp -#: field:mrp.production.order,product_id2:0 -msgid "Product Consumed" -msgstr "Producto consumido" - -#. module: mrp -#: view:mrp.production:0 -msgid "Pending" -msgstr "Pendiente" - -#. module: mrp -#: field:mrp.bom,active:0 -#: field:mrp.routing,active:0 -msgid "Active" -msgstr "Activo" - -#. module: mrp -#: model:process.node,name:mrp.process_node_procureproducts0 -msgid "Procure Products" -msgstr "Abastecer productos" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_report_workcenter_load_tree -#: view:report.workcenter.load:0 -msgid "Work Center Loads" -msgstr "Cargas centro de producción" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.mrp_property_action -#: model:ir.ui.menu,name:mrp.menu_mrp_property_action -#: view:mrp.bom:0 -#: field:mrp.bom,property_ids:0 -#: view:mrp.property:0 -#: view:procurement.order:0 -#: field:procurement.order,property_ids:0 -msgid "Properties" -msgstr "Propiedades" - -#. module: mrp -#: help:mrp.production,origin:0 -msgid "" -"Reference of the document that generated this production order request." -msgstr "" -"Referencia al documento que generó esta solicitud de orden de producción." - -#. module: mrp -#: sql_constraint:mrp.bom:0 -msgid "" -"All product quantities must be greater than 0.\n" -"You should install the mrp_subproduct module if you want to manage extra " -"products on BoMs !" -msgstr "" -"Todas las cantidades de producto deben de ser superiores a cero.\n" -"¡Debe instalar el módulo mrp_subproduct si quiere gestionar productos extra " -"en las LdM!" - -#. module: mrp -#: view:mrp.production:0 -msgid "Extra Information" -msgstr "Información extra" - -#. module: mrp -#: model:ir.model,name:mrp.model_change_production_qty -msgid "Change Quantity of Products" -msgstr "Cambiar cantidad de productos" - -#. module: mrp -#: model:process.node,note:mrp.process_node_productionorder0 -msgid "Drives the procurement orders for raw material." -msgstr "Guía las órdenes de abastecimiento para materias primas." - -#. module: mrp -#: view:mrp.production.order:0 -msgid "Current" -msgstr "Actual" - -#. module: mrp -#: field:mrp.workcenter,costs_general_account_id:0 -msgid "General Account" -msgstr "Cuenta general" - -#. module: mrp -#: report:mrp.production.order:0 -msgid "SO Number" -msgstr "Número venta" - -#. module: mrp -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 -msgid "Done" -msgstr "Realizado" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_change_standard_price -msgid "Change Standard Price" -msgstr "Cambio de precio estándar" - -#. module: mrp -#: field:mrp.production,origin:0 -#: report:mrp.production.order:0 -#: field:mrp.production.order,origin:0 -msgid "Source Document" -msgstr "Documento origen" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Not urgent" -msgstr "No urgente" - -#. module: mrp -#: help:stock.change.standard.price,change_parent_price:0 -msgid "" -"This will change the price of parent products also according to the BoM " -"structure specified for the product." -msgstr "" -"Esto cambiará el precio de los productos padre de acuerdo a la estructura de " -"la lista de materiales del producto." - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.mrp_production_action2 -msgid "Manufacturing Orders To Start" -msgstr "Órdenes de producción a iniciar" - -#. module: mrp -#: code:addons/mrp/mrp.py:495 -#, python-format -msgid "Cannot delete Production Order(s) which are in %s State!" -msgstr "" -"¡No se puede eliminar orden(es) de producción que están en estado %s!" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_workcenter -#: field:mrp.production.workcenter.line,workcenter_id:0 -#: field:mrp.routing.workcenter,workcenter_id:0 -#: view:mrp.workcenter:0 -#: field:report.workcenter.load,workcenter_id:0 -msgid "Work Center" -msgstr "Centro de producción" - -#. module: mrp -#: field:mrp.workcenter,capacity_per_cycle:0 -msgid "Capacity per Cycle" -msgstr "Capacidad por ciclo" - -#. module: mrp -#: model:ir.model,name:mrp.model_product_product -#: view:mrp.bom:0 -#: field:mrp.bom,product_id:0 -#: view:mrp.production:0 -#: field:mrp.production,product_id:0 -#: report:mrp.production.order:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,product_id:0 -#: field:mrp.production.product.line,product_id:0 -msgid "Product" -msgstr "Producto" - -#. module: mrp -#: view:mrp.production:0 -#: field:mrp.production,hour_total:0 -msgid "Total Hours" -msgstr "Total horas" - -#. module: mrp -#: field:mrp.production,location_src_id:0 -#: field:mrp.production.order,location_src_id:0 -msgid "Raw Materials Location" -msgstr "Ubicación materias primas" - -#. module: mrp -#: view:mrp.product_price:0 -msgid "Print Cost Structure of Product." -msgstr "Imprimir la estructura de costes del producto" - -#. module: mrp -#: field:mrp.bom,product_uos:0 -#: field:mrp.production.product.line,product_uos:0 -msgid "Product UOS" -msgstr "UdV del producto" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_workcenter_action -msgid "" -"Work Centers allow you to create and manage manufacturing units consisting " -"of one or more persons and/or machines that can be considered as a unit for " -"capacity and planning forecasting." -msgstr "" -"Los centros de trabajo le permiten crear y administrar unidades de " -"producción que consisten en una o más personas y / o máquinas que se pueden " -"considerar como una unidad para la capacidad de planificación y previsión." - -#. module: mrp -#: view:mrp.production:0 -msgid "Consume Products" -msgstr "Consumir productos" - -#. module: mrp -#: field:mrp.bom,product_uom:0 -#: field:mrp.production,product_uom:0 -#: field:mrp.production.order,product_uom:0 -#: field:mrp.production.product.line,product_uom:0 -msgid "Product UOM" -msgstr "UdM del producto" - -#. module: mrp -#: model:process.node,name:mrp.process_node_stock0 -#: model:process.transition,name:mrp.process_transition_servicemto0 -#: model:process.transition,name:mrp.process_transition_stockproduct0 -msgid "Make to Order" -msgstr "Obtener bajo pedido" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_report_mrp_production_order -#: model:ir.ui.menu,name:mrp.menu_report_mrp_production_orders_tree -msgid "Production Analysis" -msgstr "Análisis de producción" - -#. module: mrp -#: code:addons/mrp/mrp.py:349 -#, python-format -msgid "Copy" -msgstr "Copiar" - -#. module: mrp -#: view:mrp.production.lot.line:0 -msgid "Production Products" -msgstr "Productos producidos" - -#. module: mrp -#: field:mrp.production,date_finished:0 -#: field:mrp.production.order,date_finished:0 -msgid "End Date" -msgstr "Fecha final" - -#. module: mrp -#: field:mrp.workcenter,resource_id:0 -msgid "Resource" -msgstr "Recurso" - -#. module: mrp -#: help:mrp.bom,date_start:0 -#: help:mrp.bom,date_stop:0 -msgid "Validity of this BoM or component. Keep empty if it's always valid." -msgstr "" -"Validez de esta LdM o componente. Dejarlo vacío si siempre es válido." - -#. module: mrp -#: field:mrp.production,product_uos:0 -msgid "Product UoS" -msgstr "UdV del producto" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "#Line Orders" -msgstr "Nº línea órdenes" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Very Urgent" -msgstr "Muy urgente" - -#. module: mrp -#: help:mrp.bom,routing_id:0 -msgid "" -"The list of operations (list of work centers) to produce the finished " -"product. The routing is mainly used to compute work center costs during " -"operations and to plan future loads on work centers based on production " -"planning." -msgstr "" -"La lista de operaciones (lista de los centros de trabajo) para producir los " -"productos terminados. La ruta se utiliza principalmente para calcular los " -"costes del centro de trabajo durante las operaciones de carga y planificar " -"el futuro en los centros de trabajo basado en la planificación de la " -"producción." - -#. module: mrp -#: view:change.production.qty:0 -msgid "Approve" -msgstr "Aprobar" - -#. module: mrp -#: view:mrp.property.group:0 -msgid "Properties categories" -msgstr "Categorías de propiedades" - -#. module: mrp -#: help:mrp.production.workcenter.line,sequence:0 -msgid "Gives the sequence order when displaying a list of work orders." -msgstr "" -"Indica el orden de secuencia cuando se muestra una lista de órdenes de " -"trabajo." - -#. module: mrp -#: report:mrp.production.order:0 -msgid "Source Location" -msgstr "Ubicación origen" - -#. module: mrp -#: view:mrp.production:0 -#: view:mrp.production.product.line:0 -msgid "Scheduled Products" -msgstr "Productos planificados" - -#. module: mrp -#: view:mrp.production.lot.line:0 -msgid "Production Products Consommation" -msgstr "Consumición de productos producidos" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.mrp_production_action -#: model:ir.actions.act_window,name:mrp.mrp_production_action_planning -#: model:ir.ui.menu,name:mrp.menu_mrp_production_action -#: model:ir.ui.menu,name:mrp.menu_mrp_production_order_action -#: view:mrp.production:0 -msgid "Manufacturing Orders" -msgstr "Órdenes de producción" - -#. module: mrp -#: help:mrp.product.produce,mode:0 -msgid "" -"'Consume only' mode will only consume the products with the quantity " -"selected.\n" -"'Consume & Produce' mode will consume as well as produce the products with " -"the quantity selected and it will finish the production order when total " -"ordered quantities are produced." -msgstr "" -"El modo 'Sólo consumir' sólo se consumen los productos con la cantidad " -"seleccionada.\n" -"El modo 'Consumo y Producción' se consumen y también se producen los " -"productos con la cantidad seleccionada y finalizará la orden de producción " -"cuando el total de las cantidades solicitadas se han producido." - -#. module: mrp -#: view:mrp.production:0 -#: report:mrp.production.order:0 -msgid "Work Orders" -msgstr "Órdenes de trabajo" - -#. module: mrp -#: field:mrp.workcenter,costs_cycle:0 -msgid "Cost per cycle" -msgstr "Coste por ciclo" - -#. module: mrp -#: model:process.node,name:mrp.process_node_serviceproduct0 -#: model:process.node,name:mrp.process_node_serviceproduct1 -msgid "Service" -msgstr "Servicio" - -#. module: mrp -#: selection:mrp.production,state:0 -#: selection:mrp.production.order,state:0 -msgid "Cancelled" -msgstr "Cancelado" - -#. module: mrp -#: view:mrp.production.order:0 -msgid "BOM" -msgstr "LdM" - -#. module: mrp -#: help:mrp.bom,product_uom:0 -msgid "" -"UoM (Unit of Measure) is the unit of measurement for the inventory control" -msgstr "" -"UdM(Unidad de medida) es la unidad de medida para el control de inventario" - -#. module: mrp -#: model:process.transition,note:mrp.process_transition_bom0 -msgid "" -"The Bill of Material is the product's decomposition. The components (that " -"are products themselves) can also have their own Bill of Material (multi-" -"level)." -msgstr "" -"La lista de materiales es la composición del producto. Los componentes (que " -"son también productos) pueden tener sus propias listas de materiales (multi-" -"nivel)." - -#. module: mrp -#: field:mrp.bom,company_id:0 -#: field:mrp.production,company_id:0 -#: view:mrp.production.order:0 -#: field:mrp.production.order,company_id:0 -#: field:mrp.routing,company_id:0 -#: field:mrp.routing.workcenter,company_id:0 -#: view:mrp.workcenter:0 -msgid "Company" -msgstr "Compañía" - -#. module: mrp -#: field:mrp.workcenter,time_cycle:0 -msgid "Time for 1 cycle (hour)" -msgstr "Tiempo para 1 ciclo (horas)" - -#. module: mrp -#: model:ir.actions.report.xml,name:mrp.report_mrp_production_report -#: field:mrp.production.product.line,production_id:0 -#: field:mrp.production.workcenter.line,production_id:0 -#: model:process.node,name:mrp.process_node_production0 -#: model:process.node,name:mrp.process_node_productionorder0 -msgid "Production Order" -msgstr "Orden de producción" - -#. module: mrp -#: model:process.node,note:mrp.process_node_productminimumstockrule0 -msgid "Automatic procurement rule" -msgstr "Regla de abastecimiento automática" - -#. module: mrp -#: view:mrp.production:0 -msgid "Compute Data" -msgstr "Calcular datos" - -#. module: mrp -#: field:mrp.production,product_uos_qty:0 -msgid "Product UoS Qty" -msgstr "Cant. UdV del producto" - -#. module: mrp -#: code:addons/mrp/report/price.py:130 -#: view:mrp.bom:0 -#, python-format -msgid "Components" -msgstr "Componentes" - -#. module: mrp -#: report:bom.structure:0 -#: model:ir.actions.report.xml,name:mrp.report_bom_structure -msgid "BOM Structure" -msgstr "Despiece de la LdM" - -#. module: mrp -#: field:mrp.bom,date_stop:0 -msgid "Valid Until" -msgstr "Válido hasta" - -#. module: mrp -#: field:mrp.bom,date_start:0 -msgid "Valid From" -msgstr "Válido desde" - -#. module: mrp -#: selection:mrp.bom,type:0 -msgid "Normal BoM" -msgstr "LdM normal" - -#. module: mrp -#: field:res.company,manufacturing_lead:0 -msgid "Manufacturing Lead Time" -msgstr "Tiempo entrega de fabricación" - -#. module: mrp -#: field:mrp.bom,product_uos_qty:0 -#: field:mrp.production.product.line,product_uos_qty:0 -msgid "Product UOS Qty" -msgstr "Ctdad UdV producto" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree -msgid "" -"Weekly Stock Value Variation enables you to track the stock value evolution " -"linked to manufacturing activities, receptions of products and delivery " -"orders." -msgstr "" -"La variación semanal del valor del stock permite realizar un seguimiento de " -"la evolución del valor del stock relativo a las actividades de fabricacion, " -"recepciónd de productos y ordenes de entrega." - -#. module: mrp -#: view:mrp.product.produce:0 -msgid "Confirm" -msgstr "Confirmar" - -#. module: mrp -#: field:mrp.bom,product_efficiency:0 -msgid "Manufacturing Efficiency" -msgstr "Eficiencia de la producción" - -#. module: mrp -#: constraint:res.company:0 -msgid "Error! You can not create recursive companies." -msgstr "¡Error! No puede crear compañías recursivas." - -#. module: mrp -#: help:mrp.bom,active:0 -msgid "" -"If the active field is set to False, it will allow you to hide the bills of " -"material without removing it." -msgstr "" -"Si el campo activo se desmarca, permite ocultar las listas de material sin " -"eliminarlas." - -#. module: mrp -#: field:mrp.bom,product_rounding:0 -msgid "Product Rounding" -msgstr "Redondeo del producto" - -#. module: mrp -#: model:ir.model,name:mrp.model_mrp_production_workcenter_line -#: field:mrp.production.workcenter.line,name:0 -msgid "Work Order" -msgstr "Orden de trabajo" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_mrp_production_order -msgid "" -"This reporting allows you to analyse your manufacturing activities and " -"performance." -msgstr "" -"Estos informes le permiten analizar sus actividad productiva y su " -"rendimiento." - -#. module: mrp -#: selection:mrp.product.produce,mode:0 -msgid "Consume Only" -msgstr "Consumir únicamente" - -#. module: mrp -#: view:mrp.production:0 -msgid "Recreate Picking" -msgstr "Volver a crear albarán" - -#. module: mrp -#: help:mrp.bom,type:0 -msgid "" -"If a sub-product is used in several products, it can be useful to create its " -"own BoM. Though if you don't want separated production orders for this sub-" -"product, select Set/Phantom as BoM type. If a Phantom BoM is used for a root " -"product, it will be sold and shipped as a set of components, instead of " -"being produced." -msgstr "" -"Si un sub-producto se utiliza en varios productos, puede ser útil crear su " -"propia lista de materiales. Aunque si no quiere órdenes de producción " -"separadas para este sub-producto, seleccione Conjunto/Fantasma como tipo de " -"LdM. Si una LdM fantasma se utiliza para un producto raíz, será vendida y " -"enviada como un conjunto de componentes, en vez de ser producida." - -#. module: mrp -#: field:mrp.bom,method:0 -msgid "Method" -msgstr "Método" - -#. module: mrp -#: help:mrp.production,state:0 -msgid "" -"When the production order is created the state is set to 'Draft'.\n" -" If the order is confirmed the state is set to 'Waiting Goods'.\n" -" If any exceptions are there, the state is set to 'Picking Exception'. " -" \n" -"If the stock is available then the state is set to 'Ready to Produce'.\n" -" When the production gets started then the state is set to 'In Production'.\n" -" When the production is over, the state is set to 'Done'." -msgstr "" -"Cuando se crea la orden de fabricación su estado es fijado a \"Borrador\"\n" -" Si la orden está confirmdada, el estado es fijado a \"Esperando " -"mercancía\"\n" -" Si existe alguna excepción, el estado es fijado a \"Excepcion de " -"abastecimiento\"\n" -"Si el stock está disponible, el estado es fijado a \"Listo para producir\"\n" -" Cuando la fabricación comienza, el estado es fijado a \"En producción\"\n" -" Cuando la fabricación finaliza, el estado es fijado a \"Realizado\"" - -#. module: mrp -#: selection:mrp.bom,method:0 -msgid "On Order" -msgstr "En orden" - -#. module: mrp -#: model:ir.ui.menu,name:mrp.menu_mrp_configuration -#: view:res.company:0 -msgid "Configuration" -msgstr "Configuración" - -#. module: mrp -#: field:mrp.workcenter,time_stop:0 -msgid "Time after prod." -msgstr "Tiempo después producción" - -#. module: mrp -#: field:mrp.workcenter.load,time_unit:0 -msgid "Type of period" -msgstr "Tipo de período" - -#. module: mrp -#: view:mrp.production:0 -msgid "Total Qty" -msgstr "Ctdad total" - -#. module: mrp -#: field:mrp.routing.workcenter,hour_nbr:0 -msgid "Number of Hours" -msgstr "Número de horas" - -#. module: mrp -#: view:mrp.workcenter:0 -msgid "Costing Information" -msgstr "Información de costes" - -#. module: mrp -#: model:process.node,name:mrp.process_node_purchaseprocure0 -msgid "Procurement Orders" -msgstr "Órdenes de abastecimiento" - -#. module: mrp -#: help:mrp.bom,product_rounding:0 -msgid "Rounding applied on the product quantity." -msgstr "Redondeo aplicado sobre la cantidad de producto" - -#. module: mrp -#: model:process.node,note:mrp.process_node_stock0 -msgid "Assignment from Production or Purchase Order." -msgstr "Asignación desde producción o pedido de compra." - -#. module: mrp -#: field:mrp.routing.workcenter,routing_id:0 -msgid "Parent Routing" -msgstr "Proceso productivo padre" - -#. module: mrp -#: view:mrp.installer:0 -msgid "Configure" -msgstr "Configurar" - -#. module: mrp -#: help:mrp.workcenter,time_start:0 -msgid "Time in hours for the setup." -msgstr "Tiempo en horas para la configuración." - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "December" -msgstr "Diciembre" - -#. module: mrp -#: field:mrp.installer,config_logo:0 -msgid "Image" -msgstr "Imagen" - -#. module: mrp -#: field:mrp.bom.revision,bom_id:0 -#: field:procurement.order,bom_id:0 -msgid "BoM" -msgstr "Lista de materiales (LdM)" - -#. module: mrp -#: model:ir.model,name:mrp.model_report_mrp_inout -#: view:report.mrp.inout:0 -msgid "Stock value variation" -msgstr "Variación del valor del stock" - -#. module: mrp -#: model:process.node,note:mrp.process_node_mts0 -#: model:process.node,note:mrp.process_node_servicemts0 -msgid "Assignment from stock." -msgstr "Asignación desde stock." - -#. module: mrp -#: selection:mrp.production,state:0 -#: view:mrp.production.order:0 -#: selection:mrp.production.order,state:0 -msgid "Waiting Goods" -msgstr "Esperando mercancía" - -#. module: mrp -#: field:mrp.bom.revision,last_indice:0 -msgid "last indice" -msgstr "Último índice" - -#. module: mrp -#: field:mrp.bom,revision_ids:0 -#: view:mrp.bom.revision:0 -msgid "BoM Revisions" -msgstr "Revisiones lista de materiales" - -#. module: mrp -#: selection:mrp.production,state:0 -#: selection:mrp.production.order,state:0 -msgid "Draft" -msgstr "Borrador" - -#. module: mrp -#: field:report.mrp.inout,date:0 -#: field:report.workcenter.load,name:0 -msgid "Week" -msgstr "Semana" - -#. module: mrp -#: field:mrp.installer,progress:0 -msgid "Configuration Progress" -msgstr "Progreso de la configuración" - -#. module: mrp -#: selection:mrp.production,priority:0 -#: selection:mrp.production.order,priority:0 -msgid "Normal" -msgstr "Normal" - -#. module: mrp -#: model:process.node,note:mrp.process_node_routing0 -msgid "Manufacturing Steps." -msgstr "Etapas de producción." - -#. module: mrp -#: code:addons/mrp/report/price.py:136 -#: model:ir.actions.report.xml,name:mrp.report_cost_structure -#, python-format -msgid "Cost Structure" -msgstr "Estructura de costes" - -#. module: mrp -#: selection:mrp.product.produce,mode:0 -msgid "Consume & Produce" -msgstr "Consumir y Producir" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "November" -msgstr "Noviembre" - -#. module: mrp -#: field:mrp.bom,bom_id:0 -msgid "Parent BoM" -msgstr "Lista de materiales (LdM) padre" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action2 -msgid "" -"Bills of materials components are components and sub-products used to create " -"master bills of materials. Use this menu to search in which BoM a specific " -"component is used." -msgstr "" -"Los componente de listas de materiales son componentes y sub-productos " -"utilizados para crear listas de materiales maestras. Utilice este menú para " -"buscar en qué LdM es utilizado un componente específico." - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "January" -msgstr "Enero" - -#. module: mrp -#: model:process.node,note:mrp.process_node_stockproduct0 -msgid "Product type is Stockable or Consumable." -msgstr "Tipo de producto es almacenable o consumible." - -#. module: mrp -#: code:addons/mrp/mrp.py:595 -#: code:addons/mrp/wizard/change_production_qty.py:77 -#: code:addons/mrp/wizard/change_production_qty.py:82 -#, python-format -msgid "Error" -msgstr "Error" - -#. module: mrp -#: field:mrp.product.produce,product_qty:0 -msgid "Select Quantity" -msgstr "Seleccionar cantidad" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.act_product_product_2_mrp_bom -#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action -#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action -#: field:product.product,bom_ids:0 -msgid "Bill of Materials" -msgstr "Lista de materiales (LdM)" #. module: mrp #: help:mrp.routing.workcenter,routing_id:0 @@ -2287,26 +1267,359 @@ msgid "" msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_mrp_bom_revision -msgid "Bill of Material Revision" -msgstr "Revisión de lista de materiales" +#: code:addons/mrp/mrp.py:505 +#, python-format +msgid "Invalid Action!" +msgstr "" #. module: mrp -#: view:mrp.routing.workcenter:0 -#: view:mrp.workcenter:0 -msgid "General Information" -msgstr "Información general" +#: model:process.transition,note:mrp.process_transition_producttostockrules0 +msgid "" +"The Minimum Stock Rule is an automatic procurement rule based on a mini and " +"maxi quantity. It's available in the Inventory management menu and " +"configured by product." +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:187 +#, python-format +msgid "Components Cost of %s %s" +msgstr "" + +#. module: mrp +#: selection:mrp.workcenter.load,time_unit:0 +msgid "Day by day" +msgstr "" + +#. module: mrp +#: field:mrp.production,priority:0 +msgid "Priority" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_stock_picking +#: field:mrp.production,picking_id:0 +msgid "Picking List" +msgstr "" + +#. module: mrp +#: help:mrp.production,bom_id:0 +msgid "" +"Bill of Materials allow you to define the list of required raw materials to " +"make a finished product." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:375 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_mrp_production_product_line +msgid "Production Scheduled Product" +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:204 +#, python-format +msgid "Work Cost of %s %s" +msgstr "" + +#. module: mrp +#: help:res.company,manufacturing_lead:0 +msgid "Security days for each manufacturing operation." +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_mts0 +#: model:process.transition,name:mrp.process_transition_servicemts0 +#: model:process.transition,name:mrp.process_transition_stockmts0 +msgid "Make to Stock" +msgstr "" + +#. module: mrp +#: constraint:mrp.production:0 +msgid "Order quantity cannot be negative or zero!" +msgstr "" + +#. module: mrp +#: model:process.transition,note:mrp.process_transition_stockrfq0 +msgid "" +"In case the Supply method of the product is Buy, the system creates a " +"purchase order." +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_procurement_order +msgid "Procurement" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_product_manufacturer:0 +msgid "Define manufacturers on products " +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.action_view_mrp_product_price_wizard +#: view:mrp.product_price:0 +msgid "Product Cost Structure" +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:139 +#, python-format +msgid "Components suppliers" +msgstr "" #. module: mrp #: view:mrp.production:0 -msgid "Productions" -msgstr "Producciones" +msgid "Production Work Centers" +msgstr "" #. module: mrp -#: code:addons/mrp/report/price.py:194 +#: view:mrp.workcenter:0 +msgid "Search for mrp workcenter" +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 +msgid "BoM Structure" +msgstr "" + +#. module: mrp +#: field:mrp.production,date_start:0 +msgid "Start Date" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,costs_hour_account_id:0 +msgid "Hour Account" +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_uom:0 +#: field:mrp.production,product_uom:0 +#: field:mrp.production.product.line,product_uom:0 +msgid "Product Unit of Measure" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Destination Loc." +msgstr "" + +#. module: mrp +#: field:mrp.bom,method:0 +msgid "Method" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Pending" +msgstr "" + +#. module: mrp +#: field:mrp.bom,active:0 +#: field:mrp.routing,active:0 +msgid "Active" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,group_mrp_routings:0 +msgid "" +"Routings allow you to create and manage the manufacturing operations that " +"should be followed\n" +" within your work centers in order to produce a product. They " +"are attached to bills of materials\n" +" that will define the required raw materials." +msgstr "" + +#. module: mrp +#: view:report.workcenter.load:0 +msgid "Work Center Loads" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.mrp_property_action +#: model:ir.ui.menu,name:mrp.menu_mrp_property_action +#: view:mrp.bom:0 +#: field:mrp.bom,property_ids:0 +#: view:mrp.property:0 +#: field:procurement.order,property_ids:0 +msgid "Properties" +msgstr "" + +#. module: mrp +#: help:mrp.production,origin:0 +msgid "" +"Reference of the document that generated this production order request." +msgstr "" + +#. module: mrp +#: model:process.transition,name:mrp.process_transition_minimumstockprocure0 +msgid "'Minimum stock rule' material" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Extra Information" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_change_production_qty +msgid "Change Quantity of Products" +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_productionorder0 +msgid "Drives the procurement orders for raw material." +msgstr "" + +#. module: mrp +#: field:mrp.production.product.line,product_uos_qty:0 +msgid "Product UOS Quantity" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,costs_general_account_id:0 +msgid "General Account" +msgstr "" + +#. module: mrp +#: report:mrp.production.order:0 +msgid "SO Number" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:505 #, python-format -msgid "Work Cost of " -msgstr "Coste trabajo de " +msgid "Cannot delete a manufacturing order in state '%s'." +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Done" +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "When you sell this product, OpenERP will trigger" +msgstr "" + +#. module: mrp +#: field:mrp.production,origin:0 +#: report:mrp.production.order:0 +msgid "Source Document" +msgstr "" + +#. module: mrp +#: selection:mrp.production,priority:0 +msgid "Not urgent" +msgstr "" + +#. module: mrp +#: field:mrp.production,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.mrp_production_action2 +msgid "Manufacturing Orders To Start" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.mrp_workcenter_action +#: model:ir.model,name:mrp.model_mrp_workcenter +#: model:ir.ui.menu,name:mrp.menu_view_resource_search_mrp +#: field:mrp.production.workcenter.line,workcenter_id:0 +#: field:mrp.routing.workcenter,workcenter_id:0 +#: view:mrp.workcenter:0 +#: field:report.workcenter.load,workcenter_id:0 +msgid "Work Center" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_property_group_action +msgid "" +"

\n" +" Click to create a group of properties.\n" +"

\n" +" Define specific property groups that can be assigned to " +"your\n" +" bill of materials and sales orders. Properties allows " +"OpenERP\n" +" to automatically select the right bill of materials " +"according\n" +" to properties selected in the sales order by salesperson.\n" +"

\n" +" For instance, in the property group \"Warranty\", you an " +"have\n" +" two properties: 1 year warranty, 3 years warranty. " +"Depending\n" +" on the propoerties selected in the sales order, OpenERP " +"will\n" +" schedule a production using the matching bill of materials.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,capacity_per_cycle:0 +msgid "Capacity per Cycle" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_product_product +#: view:mrp.bom:0 +#: field:mrp.bom,product_id:0 +#: view:mrp.production:0 +#: field:mrp.production,product_id:0 +#: report:mrp.production.order:0 +#: field:mrp.production.product.line,product_id:0 +msgid "Product" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: field:mrp.production,hour_total:0 +msgid "Total Hours" +msgstr "" + +#. module: mrp +#: field:mrp.production,location_src_id:0 +msgid "Raw Materials Location" +msgstr "" + +#. module: mrp +#: view:mrp.product_price:0 +msgid "Print Cost Structure of Product." +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_uos:0 +#: field:mrp.production.product.line,product_uos:0 +msgid "Product UOS" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Consume Products" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.act_mrp_product_produce +#: view:mrp.product.produce:0 +#: view:mrp.production:0 +msgid "Produce" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_stock0 +#: model:process.transition,name:mrp.process_transition_servicemto0 +#: model:process.transition,name:mrp.process_transition_stockproduct0 +msgid "Make to Order" +msgstr "" #. module: mrp #: help:mrp.workcenter,note:0 @@ -2316,160 +1629,656 @@ msgid "" msgstr "" #. module: mrp -#: model:ir.model,name:mrp.model_mrp_routing -#: view:mrp.bom:0 -#: field:mrp.bom,routing_id:0 -#: view:mrp.production:0 -#: field:mrp.production,routing_id:0 -#: field:mrp.production.order,routing_id:0 -#: view:mrp.routing:0 -#: model:process.node,name:mrp.process_node_routing0 -msgid "Routing" -msgstr "Proceso productivo" - -#. module: mrp -#: field:mrp.installer,mrp_operations:0 -msgid "Manufacturing Operations" -msgstr "Operaciones de producción" - -#. module: mrp -#: field:mrp.production,date_planned:0 -msgid "Scheduled date" -msgstr "Fecha planificada" - -#. module: mrp -#: constraint:stock.move:0 -msgid "You must assign a production lot for this product" -msgstr "Debe asignar un lote de producción para este producto" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.mrp_property_action -msgid "" -"The Properties in OpenERP are used to select the right bill of materials for " -"manufacturing a product when you have different ways of building the same " -"product. You can assign several properties to each Bill of Materials. When a " -"sales person creates a sales order, he can relate it to several properties " -"and OpenERP will automatically select the BoM to use according the the needs." +#: field:mrp.production,date_finished:0 +msgid "End Date" msgstr "" -"Las propiedades en OpenERP se utilizan para seleccionar la correcta lista de " -"materiales para la fabricación de uno de los productos cuando se tienen " -"diferentes formas de fabricar el mismo producto. Puede asignar varias " -"propiedades para cada lista de materiales. Cuando un vendedor crea un pedido " -"de cliente, él puede relacionarlo con varias propiedades y OpenERP " -"seleccionará automáticamente la lista de materiales para utilizar según las " -"necesidades." #. module: mrp -#: view:mrp.production.order:0 +#: field:mrp.workcenter,resource_id:0 +msgid "Resource" +msgstr "" + +#. module: mrp +#: help:mrp.bom,date_start:0 +#: help:mrp.bom,date_stop:0 +msgid "Validity of this BoM or component. Keep empty if it's always valid." +msgstr "" + +#. module: mrp +#: field:mrp.production,product_uos:0 +msgid "Product UoS" +msgstr "" + +#. module: mrp +#: selection:mrp.production,priority:0 +msgid "Very Urgent" +msgstr "" + +#. module: mrp +#: help:mrp.bom,routing_id:0 +msgid "" +"The list of operations (list of work centers) to produce the finished " +"product. The routing is mainly used to compute work center costs during " +"operations and to plan future loads on work centers based on production " +"planning." +msgstr "" + +#. module: mrp +#: view:change.production.qty:0 +msgid "Approve" +msgstr "" + +#. module: mrp +#: view:mrp.config.settings:0 +msgid "Order" +msgstr "" + +#. module: mrp +#: view:mrp.property.group:0 +msgid "Properties categories" +msgstr "" + +#. module: mrp +#: help:mrp.production.workcenter.line,sequence:0 +msgid "Gives the sequence order when displaying a list of work orders." +msgstr "" + +#. module: mrp +#: report:mrp.production.order:0 +msgid "Source Location" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: view:mrp.production.product.line:0 +msgid "Scheduled Products" +msgstr "" + +#. module: mrp +#: model:res.groups,name:mrp.group_mrp_manager +msgid "Manager" +msgstr "" + +#. module: mrp +#: help:mrp.product.produce,mode:0 +msgid "" +"'Consume only' mode will only consume the products with the quantity " +"selected.\n" +"'Consume & Produce' mode will consume as well as produce the products with " +"the quantity selected and it will finish the production order when total " +"ordered quantities are produced." +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +#: report:mrp.production.order:0 +msgid "Work Orders" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,costs_cycle:0 +msgid "Cost per cycle" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_serviceproduct0 +#: model:process.node,name:mrp.process_node_serviceproduct1 +msgid "Service" +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Cancelled" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "(Update)" +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_operations:0 +msgid "" +"This allows to add state, date_start,date_stop in production order operation " +"lines (in the \"Work Centers\" tab).\n" +" This installs the module mrp_operations." +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:737 +#, python-format +msgid "" +"You are going to consume total %s quantities of \"%s\".\n" +"But you can only consume up to total %s quantities." +msgstr "" + +#. module: mrp +#: model:process.transition,note:mrp.process_transition_bom0 +msgid "" +"The Bill of Material is the product's decomposition. The components (that " +"are products themselves) can also have their own Bill of Material (multi-" +"level)." +msgstr "" + +#. module: mrp +#: field:mrp.bom,company_id:0 +#: field:mrp.production,company_id:0 +#: field:mrp.routing,company_id:0 +#: field:mrp.routing.workcenter,company_id:0 +#: view:mrp.workcenter:0 +msgid "Company" +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 +msgid "Default Unit of Measure" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,time_cycle:0 +msgid "Time for 1 cycle (hour)" +msgstr "" + +#. module: mrp +#: model:ir.actions.report.xml,name:mrp.report_mrp_production_report +#: field:mrp.production.product.line,production_id:0 +#: model:process.node,name:mrp.process_node_production0 +#: model:process.node,name:mrp.process_node_productionorder0 +msgid "Production Order" +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_productminimumstockrule0 +msgid "Automatic procurement rule" +msgstr "" + +#. module: mrp +#: field:mrp.bom,message_ids:0 +#: field:mrp.production,message_ids:0 +#: field:mrp.production.workcenter.line,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Compute Data" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:610 +#: code:addons/mrp/wizard/change_production_qty.py:83 +#: code:addons/mrp/wizard/change_production_qty.py:88 +#, python-format +msgid "Error!" +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:139 +#: view:mrp.bom:0 +#, python-format +msgid "Components" +msgstr "" + +#. module: mrp +#: report:bom.structure:0 +#: model:ir.actions.report.xml,name:mrp.report_bom_structure +msgid "BOM Structure" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_mrp_jit:0 +msgid "Generate procurement in real time" +msgstr "" + +#. module: mrp +#: field:mrp.bom,date_stop:0 +msgid "Valid Until" +msgstr "" + +#. module: mrp +#: field:mrp.bom,date_start:0 +msgid "Valid From" +msgstr "" + +#. module: mrp +#: selection:mrp.bom,type:0 +msgid "Normal BoM" +msgstr "" + +#. module: mrp +#: field:res.company,manufacturing_lead:0 +msgid "Manufacturing Lead Time" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:285 +#, python-format +msgid "Warning" +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_uos_qty:0 +msgid "Product UOS Qty" +msgstr "" + +#. module: mrp +#: field:mrp.production,move_prod_id:0 +msgid "Product Move" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.action_report_in_out_picking_tree +msgid "" +"Weekly Stock Value Variation enables you to track the stock value evolution " +"linked to manufacturing activities, receptions of products and delivery " +"orders." +msgstr "" + +#. module: mrp +#: view:mrp.product.produce:0 +msgid "Confirm" +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_efficiency:0 +msgid "Manufacturing Efficiency" +msgstr "" + +#. module: mrp +#: field:mrp.bom,message_follower_ids:0 +#: field:mrp.production,message_follower_ids:0 +#: field:mrp.production.workcenter.line,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: mrp +#: help:mrp.bom,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the bills of " +"material without removing it." +msgstr "" + +#. module: mrp +#: field:mrp.bom,product_rounding:0 +msgid "Product Rounding" +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "New" +msgstr "" + +#. module: mrp +#: selection:mrp.product.produce,mode:0 +msgid "Consume Only" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Recreate Picking" +msgstr "" + +#. module: mrp +#: selection:mrp.bom,method:0 +msgid "On Order" +msgstr "" + +#. module: mrp +#: model:ir.ui.menu,name:mrp.menu_mrp_configuration +msgid "Configuration" +msgstr "" + +#. module: mrp +#: view:mrp.bom:0 +msgid "Starting Date" +msgstr "" + +#. module: mrp +#: field:mrp.workcenter,time_stop:0 +msgid "Time after prod." +msgstr "" + +#. module: mrp +#: field:mrp.workcenter.load,time_unit:0 +msgid "Type of period" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Total Qty" +msgstr "" + +#. module: mrp +#: field:mrp.production.workcenter.line,hour:0 +#: field:mrp.routing.workcenter,hour_nbr:0 +#: field:report.workcenter.load,hour:0 +msgid "Number of Hours" +msgstr "" + +#. module: mrp +#: view:mrp.workcenter:0 +msgid "Costing Information" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_purchaseprocure0 +msgid "Procurement Orders" +msgstr "" + +#. module: mrp +#: help:mrp.bom,product_rounding:0 +msgid "Rounding applied on the product quantity." +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_stock0 +msgid "Assignment from Production or Purchase Order." +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,help:mrp.mrp_bom_form_action +msgid "" +"

\n" +" Click to create a bill of material. \n" +"

\n" +" Bills of Materials allow you to define the list of required " +"raw\n" +" materials used to make a finished product; through a " +"manufacturing\n" +" order or a pack of products.\n" +"

\n" +" OpenERP uses these BoMs to automatically propose " +"manufacturing\n" +" orders according to procurement needs.\n" +"

\n" +" " +msgstr "" + +#. module: mrp +#: field:mrp.routing.workcenter,routing_id:0 +msgid "Parent Routing" +msgstr "" + +#. module: mrp +#: help:mrp.workcenter,time_start:0 +msgid "Time in hours for the setup." +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_mrp_repair:0 +msgid "Manage repairs of products " +msgstr "" + +#. module: mrp +#: help:mrp.config.settings,module_mrp_byproduct:0 +msgid "" +"You can configure by-products in the bill of material.\n" +" Without this module: A + B + C -> D.\n" +" With this module: A + B + C -> D + E.\n" +" This installs the module mrp_byproduct." +msgstr "" + +#. module: mrp +#: field:procurement.order,bom_id:0 +msgid "BoM" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_report_mrp_inout +#: view:report.mrp.inout:0 +msgid "Stock value variation" +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_mts0 +#: model:process.node,note:mrp.process_node_servicemts0 +msgid "Assignment from stock." +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:139 +#, python-format +msgid "Cost Price per Unit of Measure" +msgstr "" + +#. module: mrp +#: field:report.mrp.inout,date:0 +#: view:report.workcenter.load:0 +#: field:report.workcenter.load,name:0 +msgid "Week" +msgstr "" + +#. module: mrp +#: selection:mrp.production,priority:0 +msgid "Normal" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Production started late" +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_routing0 +msgid "Manufacturing Steps." +msgstr "" + +#. module: mrp +#: code:addons/mrp/report/price.py:146 +#: model:ir.actions.report.xml,name:mrp.report_cost_structure +#, python-format +msgid "Cost Structure" +msgstr "" + +#. module: mrp +#: model:res.groups,name:mrp.group_mrp_user +msgid "User" +msgstr "" + +#. module: mrp +#: selection:mrp.product.produce,mode:0 +msgid "Consume & Produce" +msgstr "" + +#. module: mrp +#: field:mrp.bom,bom_id:0 +msgid "Parent BoM" +msgstr "" + +#. module: mrp +#: report:bom.structure:0 +msgid "BOM Ref" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:765 +#, python-format +msgid "" +"You are going to produce total %s quantities of \"%s\".\n" +"But you can only produce up to total %s quantities." +msgstr "" + +#. module: mrp +#: model:process.node,note:mrp.process_node_stockproduct0 +msgid "Product type is Stockable or Consumable." +msgstr "" + +#. module: mrp +#: selection:mrp.production,state:0 +msgid "Production Started" +msgstr "" + +#. module: mrp +#: model:process.node,name:mrp.process_node_procureproducts0 +msgid "Procure Products" +msgstr "" + +#. module: mrp +#: field:mrp.product.produce,product_qty:0 +msgid "Select Quantity" +msgstr "" + +#. module: mrp +#: model:ir.actions.act_window,name:mrp.mrp_bom_form_action +#: model:ir.actions.act_window,name:mrp.product_open_bom +#: model:ir.ui.menu,name:mrp.menu_mrp_bom_form_action +#: view:mrp.bom:0 +#: view:product.product:0 +#: field:product.product,bom_ids:0 +msgid "Bill of Materials" +msgstr "" + +#. module: mrp +#: code:addons/mrp/mrp.py:610 +#, python-format +msgid "Cannot find a bill of material for this product." +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "" +"using the bill of materials assigned to this product.\n" +" The delivery order will be ready once the production " +"is done." +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,module_stock_no_autopicking:0 +msgid "Manage manual picking to fulfill manufacturing orders " +msgstr "" + +#. module: mrp +#: view:mrp.routing.workcenter:0 +#: view:mrp.workcenter:0 +msgid "General Information" +msgstr "" + +#. module: mrp +#: view:mrp.production:0 +msgid "Productions" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_stock_move_split +#: view:mrp.production:0 +msgid "Split in Serial Numbers" +msgstr "" + +#. module: mrp +#: help:mrp.bom,product_uos:0 +msgid "" +"Product UOS (Unit of Sale) is the unit of measurement for the invoicing and " +"promotion of stock." +msgstr "" + +#. module: mrp +#: view:mrp.production:0 #: field:stock.move,production_id:0 msgid "Production" -msgstr "Producción" +msgstr "" + +#. module: mrp +#: model:ir.model,name:mrp.model_mrp_production_workcenter_line +#: field:mrp.production.workcenter.line,name:0 +msgid "Work Order" +msgstr "" #. module: mrp #: view:board.board:0 msgid "Procurements in Exception" -msgstr "Abastecimientos en excepción" - -#. module: mrp -#: model:process.transition,name:mrp.process_transition_minimumstockprocure0 -msgid "'Minimum stock rule' material" -msgstr "material 'regla stock mínimo'" +msgstr "" #. module: mrp #: model:ir.model,name:mrp.model_mrp_product_price msgid "Product Price" -msgstr "Precio del producto" - -#. module: mrp -#: model:ir.actions.act_window,name:mrp.action_mrp_installer -msgid "MRP Applications Configuration" -msgstr "Configuración de las aplicaciónes MRP" - -#. module: mrp -#: model:ir.model,name:mrp.model_stock_move_split -msgid "Split in Production lots" -msgstr "Dividir en lotes de producción" +msgstr "" #. module: mrp #: view:change.production.qty:0 msgid "Change Quantity" -msgstr "Cambiar cantidad" +msgstr "" #. module: mrp #: view:change.production.qty:0 #: model:ir.actions.act_window,name:mrp.action_change_production_qty msgid "Change Product Qty" -msgstr "Cambiar Ctd. producto" +msgstr "" #. module: mrp -#: view:mrp.bom.revision:0 -#: field:mrp.bom.revision,description:0 -#: view:mrp.property:0 -#: view:mrp.property.group:0 #: field:mrp.routing,note:0 -#: view:mrp.routing.workcenter:0 #: field:mrp.routing.workcenter,note:0 -#: view:mrp.workcenter:0 #: field:mrp.workcenter,note:0 msgid "Description" -msgstr "Descripción" - -#. module: mrp -#: selection:mrp.production.order,month:0 -msgid "May" -msgstr "Mayo" +msgstr "" #. module: mrp #: view:board.board:0 msgid "Manufacturing board" -msgstr "Tablero fabricación" - -#. module: mrp -#: field:mrp.production,date_planned_end:0 -msgid "Scheduled End Date" -msgstr "Fecha de fin planificada" - -#. module: mrp -#: model:ir.actions.act_window,help:mrp.action_report_workcenter_load_tree -msgid "" -"Work Center Loads gives you a projection of work center loads over a " -"specified period. It is expressed in number of hours and machine related " -"cycles." msgstr "" -"Las cargas de los centros de producción muestran un pronóstico de la carga " -"de los centros de producción respecto a un periodo determinado. Está " -"expresado en número de horas y ciclos de máquina relacionados." + +#. module: mrp +#: code:addons/mrp/wizard/change_production_qty.py:68 +#, python-format +msgid "Active Id not found" +msgstr "" #. module: mrp #: model:process.node,note:mrp.process_node_procureproducts0 msgid "The way to procurement depends on the product type." -msgstr "La forma de abastecer depende del tipo de producto." +msgstr "" #. module: mrp +#: model:ir.actions.act_window,name:mrp.open_board_manufacturing +#: model:ir.ui.menu,name:mrp.menu_board_manufacturing #: model:ir.ui.menu,name:mrp.menu_mrp_manufacturing +#: model:ir.ui.menu,name:mrp.next_id_77 msgid "Manufacturing" -msgstr "Fabricación" +msgstr "" #. module: mrp -#: view:board.board:0 -msgid "Next Production Orders" -msgstr "Próximas órdenes de producción" +#: help:mrp.bom,type:0 +msgid "" +"If a by-product is used in several products, it can be useful to create its " +"own BoM. Though if you don't want separated production orders for this by-" +"product, select Set/Phantom as BoM type. If a Phantom BoM is used for a root " +"product, it will be sold and shipped as a set of components, instead of " +"being produced." +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "February" -msgstr "Febrero" +#: model:ir.actions.act_window,name:mrp.action_mrp_configuration +#: view:mrp.config.settings:0 +msgid "Configure Manufacturing" +msgstr "" + +#. module: mrp +#: view:product.product:0 +msgid "" +"a manufacturing\n" +" order" +msgstr "" + +#. module: mrp +#: field:mrp.config.settings,group_mrp_properties:0 +msgid "Allow several bill of materials per products using properties" +msgstr "" #. module: mrp #: model:ir.actions.act_window,name:mrp.mrp_property_group_action #: model:ir.ui.menu,name:mrp.menu_mrp_property_group_action msgid "Property Groups" -msgstr "Grupos de propiedades" +msgstr "" #. module: mrp -#: selection:mrp.production.order,month:0 -msgid "April" -msgstr "Abril" +#: model:ir.model,name:mrp.model_mrp_routing +#: view:mrp.bom:0 +#: field:mrp.bom,routing_id:0 +#: view:mrp.production:0 +#: field:mrp.production,routing_id:0 +#: view:mrp.routing:0 +#: model:process.node,name:mrp.process_node_routing0 +msgid "Routing" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_procurestockableproduct0 @@ -2477,19 +2286,23 @@ msgid "" "Depending on the chosen method to supply the stockable products, the " "procurement order creates a RFQ, a production order, ... " msgstr "" -"Dependiendo del método elegido para suministrar los productos almacenables, " -"la orden de abastecimiento crea una petición de presupuesto, una orden de " -"producción, ... " #. module: mrp #: help:mrp.workcenter,time_stop:0 msgid "Time in hours for the cleaning." -msgstr "Tiempo en horas para la limpieza." +msgstr "" + +#. module: mrp +#: field:mrp.bom,message_summary:0 +#: field:mrp.production,message_summary:0 +#: field:mrp.production.workcenter.line,message_summary:0 +msgid "Summary" +msgstr "" #. module: mrp #: model:process.transition,name:mrp.process_transition_purchaseprocure0 msgid "Automatic RFQ" -msgstr "Petición de presupuesto automática" +msgstr "" #. module: mrp #: model:process.transition,note:mrp.process_transition_servicemto0 @@ -2497,8 +2310,6 @@ msgid "" "If the service has a 'Produce' supply method, this creates a task in the " "project management module of OpenERP." msgstr "" -"Si el servicio tiene un método de suministro 'Producir', se crea una tarea " -"en el módulo de gestión de proyectos de OpenERP." #. module: mrp #: model:process.transition,note:mrp.process_transition_productionprocureproducts0 @@ -2507,10 +2318,6 @@ msgid "" "production order creates as much procurement orders as components listed in " "the BOM, through a run of the schedulers (MRP)." msgstr "" -"Para poder suministrar materias primas (que deben ser compradas o " -"producidas), la orden de producción genera tantas órdenes de abastecimiento " -"como componentes figuren en la lista de materiales, a través de una " -"ejecución de las planificaciones (MRP)." #. module: mrp #: help:mrp.product_price,number:0 @@ -2518,13 +2325,11 @@ msgid "" "Specify quantity of products to produce or buy. Report of Cost structure " "will be displayed base on this quantity." msgstr "" -"Indique la cantidad de productos a producir o comprar. El informe de la " -"estructura de costes se muestra basándose en esta cantidad." #. module: mrp #: selection:mrp.bom,method:0 msgid "On Stock" -msgstr "En stock" +msgstr "" #. module: mrp #: field:mrp.bom,sequence:0 @@ -2532,897 +2337,26 @@ msgstr "En stock" #: field:mrp.production.workcenter.line,sequence:0 #: field:mrp.routing.workcenter,sequence:0 msgid "Sequence" -msgstr "Secuencia" +msgstr "" #. module: mrp #: model:ir.ui.menu,name:mrp.menu_view_resource_calendar_leaves_search_mrp msgid "Resource Leaves" -msgstr "Ausencias recursos" +msgstr "" #. module: mrp #: help:mrp.bom,sequence:0 msgid "Gives the sequence order when displaying a list of bills of material." msgstr "" -"Indica el orden de secuencia cuando se muestra una lista de listas de " -"materiales." + +#. module: mrp +#: model:ir.model,name:mrp.model_mrp_config_settings +msgid "mrp.config.settings" +msgstr "" #. module: mrp #: view:mrp.production:0 #: field:mrp.production,move_lines:0 #: report:mrp.production.order:0 -#: field:mrp.production.order,products_to_consume:0 msgid "Products to Consume" -msgstr "Productos a consumir" - -#. module: mrp -#: view:mrp.production.order:0 -#: field:mrp.production.order,year:0 -msgid "Year" -msgstr "Año" - -#~ msgid "-" -#~ msgstr "-" - -#~ msgid "" -#~ "Triggers an automatic procurement for all products that have a virtual stock " -#~ "under 0. You should probably not use this option, we suggest using a MTO " -#~ "configuration on products." -#~ msgstr "" -#~ "Dispara un abastecimiento automático para todos los productos que tienen un " -#~ "stock virtual menor que 0. Probablemente no debería utilizar esta opción, " -#~ "sugerimos utilizar una configuración de MTO en productos." - -#~ msgid "Compute Stock Minimum Rules Only" -#~ msgstr "Calcular sólo reglas de stock mínimo" - -#~ msgid "Exceptions Procurements" -#~ msgstr "Excepciones de abastecimientos" - -#~ msgid "UoS Quantity" -#~ msgstr "Cantidad UdV" - -#~ msgid "Routing Workcenters" -#~ msgstr "Procesos productivos de los centros de producción" - -#~ msgid "Not used in computations, for information purpose only." -#~ msgstr "No utilizado en cálculos, sólo con la finalidad de informar." - -#~ msgid "Packing list" -#~ msgstr "Albarán" - -#~ msgid "Stockable Stock" -#~ msgstr "Stock productos almacenables" - -#~ msgid "Origin" -#~ msgstr "Origen" - -#~ msgid "Automatic orderpoint" -#~ msgstr "Generación de orden automática" - -#, python-format -#~ msgid "No supplier defined for this product !" -#~ msgstr "¡No se ha definido un proveedor para este producto!" - -#, python-format -#~ msgid "Product name" -#~ msgstr "Nombre producto" - -#~ msgid "Invalid XML for View Architecture!" -#~ msgstr "¡XML inválido para la definición de la vista!" - -#~ msgid "" -#~ "This is the days added to what you promise to customers for security purpose" -#~ msgstr "" -#~ "Éstos son los días añadidos a los que promete a los clientes por razones de " -#~ "seguridad" - -#~ msgid "Best price (not yet active!)" -#~ msgstr "Mejor precio (aún no activo!)" - -#~ msgid "Product & Location" -#~ msgstr "Producto & Ubicación" - -#~ msgid "MRP & Logistic Scheduler" -#~ msgstr "Planificador MRP & Logística" - -#~ msgid "" -#~ "Number of operation this workcenter can do in parallel. If this workcenter " -#~ "represent a team of 5 workers, the capacity per cycle is 5." -#~ msgstr "" -#~ "Número de operaciones que este centro de producción puede realizar en " -#~ "paralelo. Si este centro de producción tuviera un equipo de 5 trabajadores, " -#~ "la capacidad por ciclo sería de 5." - -#~ msgid "Ask New Products" -#~ msgstr "Solicitar nuevos productos" - -#~ msgid "Automatic Procurements" -#~ msgstr "Abastecimientos automáticos" - -#~ msgid "Products Consummed" -#~ msgstr "Productos consumidos" - -#~ msgid "Packing Exception" -#~ msgstr "Excepción de empaquetado" - -#~ msgid "A purchase order is created for a sub-contracting demand." -#~ msgstr "Una orden de compra es creada para sub-contratar la demanda." - -#~ msgid "Analytic Accounting" -#~ msgstr "Contabilidad analítica" - -#~ msgid "Do nothing" -#~ msgstr "No hacer nada" - -#, python-format -#~ msgid "products" -#~ msgstr "productos" - -#~ msgid "If the stock of a product is under 0, it will act like an orderpoint" -#~ msgstr "Si el stock de un producto es menor que 0, actuará como una orden" - -#~ msgid "you can see the minimum stock rules from product" -#~ msgstr "puede ver las reglas de stock mínimo desde producto" - -#~ msgid "This wizard will schedule procurements." -#~ msgstr "Este asistente planificará abastecimientos." - -#~ msgid "Internal Ref." -#~ msgstr "Ref. interna" - -#~ msgid "Status" -#~ msgstr "Estado" - -#~ msgid "Stockable Production Order" -#~ msgstr "Orden producción almacenable" - -#~ msgid "Stockable Request" -#~ msgstr "Solicitud almacenable" - -#, python-format -#~ msgid "Workcenter name" -#~ msgstr "Nombre centro de producción" - -#~ msgid "Service on Order" -#~ msgstr "Servicio sobre orden" - -#~ msgid "" -#~ "When the virtual stock goes belong the Min Quantity, Open ERP generates a " -#~ "procurement to bring the virtual stock to the Max Quantity." -#~ msgstr "" -#~ "Cuando el stock virtual disminuye por debajo de la cantidad mínima, OpenERP " -#~ "genera un abastecimiento para que el stock virtual sea la cantidad máxima." - -#~ msgid "Stockable Make to Stock" -#~ msgstr "Almacenable obtenido para stock" - -#~ msgid "Production Orders" -#~ msgstr "Órdenes de producción" - -#~ msgid "Procure Service Product" -#~ msgstr "Abastecer producto servicio" - -#, python-format -#~ msgid "Product Quantity" -#~ msgstr "Cantidad producto" - -#~ msgid "Procurements" -#~ msgstr "Abastecimientos" - -#~ msgid "Production scheduled products" -#~ msgstr "Producción planificada de productos" - -#~ msgid "Details" -#~ msgstr "Detalles" - -#~ msgid "Procurement Process" -#~ msgstr "Proceso de abastecimiento" - -#, python-format -#~ msgid "Product Standard Price" -#~ msgstr "Precio estándar producto" - -#~ msgid "" -#~ "Rounding applied on the product quantity. For integer only values, put 1.0" -#~ msgstr "" -#~ "Redondeo aplicado a la cantidad de producto. Para valores siempre enteros " -#~ "introduzca 1.0" - -#~ msgid "Reservation" -#~ msgstr "Reserva" - -#~ msgid "product" -#~ msgstr "producto" - -#~ msgid "max" -#~ msgstr "máx" - -#~ msgid "Product to stock rules" -#~ msgstr "Producto a reglas de stock" - -#, python-format -#~ msgid "from stock: products assigned." -#~ msgstr "desde stock: productos asignados." - -#~ msgid "Print product price" -#~ msgstr "Imprimir coste del producto" - -#~ msgid "Make Procurement" -#~ msgstr "Realizar abastecimiento" - -#~ msgid "If Procure method is Make to order and supply method is produce" -#~ msgstr "" -#~ "si método de abastecimiento es obtener bajo pedido y método de suministro es " -#~ "producir" - -#~ msgid "Purchase Lead Time" -#~ msgstr "Plazo de tiempo de compra" - -#~ msgid "Stockable Product Stock" -#~ msgstr "Stock de producto almacenable" - -#~ msgid "Production Procure Products" -#~ msgstr "Productos para abastecer la producción" - -#~ msgid "Service Product Process" -#~ msgstr "Proceso producto de servicios" - -#~ msgid "Procurement convert into the draft purchase order." -#~ msgstr "Abastecimiento se convierte en la orden de compra borrador." - -#~ msgid "Latest error" -#~ msgstr "Último error" - -#, python-format -#~ msgid "from stock and no minimum orderpoint rule defined" -#~ msgstr "desde stock y no se ha definido regla mínima generación orden" - -#~ msgid "Routing workcenter usage" -#~ msgstr "Procesos productivos del centro de producción" - -#~ msgid "If Product type is Stockable and procure method is make to stock" -#~ msgstr "" -#~ "Si el tipo de producto es almacenable y el método de abastecimiento es " -#~ "obtener para stock" - -#~ msgid "Manufacturity Lead Time" -#~ msgstr "Plazo de entrega de fabricación" - -#~ msgid "Exceptions Procurements to Fix" -#~ msgstr "Excepciones de abastecimientos a corregir" - -#~ msgid "Workcenter Operations" -#~ msgstr "Operaciones del centro de producción" - -#~ msgid "Production Orders Planning" -#~ msgstr "Planificación órdenes de producción" - -#~ msgid "Factor that multiplies all times expressed in the workcenter." -#~ msgstr "" -#~ "Factor que multiplica todos los tiempos expresados en el centro de " -#~ "producción." - -#~ msgid "" -#~ "This is the Internal Picking List take bring the raw materials to the " -#~ "production plan." -#~ msgstr "" -#~ "Ésta es la lista de empaquetado interna que lleva las materias primas a la " -#~ "producción planificada." - -#~ msgid "Qty Multiple" -#~ msgstr "Ctdad múltiple" - -#~ msgid "Waiting" -#~ msgstr "En espera" - -#~ msgid "For stockable and consumable" -#~ msgstr "Para almacenables y consumibles" - -#~ msgid "indice type" -#~ msgstr "Tipo de índice" - -#, python-format -#~ msgid "Hours Cost" -#~ msgstr "Coste horas" - -#~ msgid "Production orders are created for the product manufacturing." -#~ msgstr "Se crean órdenes de producción para la fabricación del producto." - -#~ msgid "Min Quantity" -#~ msgstr "Cantidad mín" - -#~ msgid "Production orders" -#~ msgstr "Órdenes de producción" - -#~ msgid "BoM Hyerarchy" -#~ msgstr "Jerarquía LdM" - -#~ msgid "Procurement Lines" -#~ msgstr "Líneas de abastecimiento" - -#~ msgid "If Product type is service and procure method is Make to stock" -#~ msgstr "" -#~ "si el tipo de producto es servicio y el método de abastecimiento es obtener " -#~ "para stock" - -#~ msgid "If Product type is service" -#~ msgstr "Si el tipo de producto es servicio" - -#, python-format -#~ msgid "SUBTOTAL" -#~ msgstr "SUBTOTAL" - -#~ msgid "Security Days" -#~ msgstr "Días de seguridad" - -#~ msgid "Exception" -#~ msgstr "Excepción" - -#~ msgid "" -#~ "This wizard will planify the procurement for this product. This procurement " -#~ "may generate task, production orders or purchase orders." -#~ msgstr "" -#~ "Este asistente planificará el abastecimiento para este producto. El " -#~ "abastecimiento puede generar tareas, órdenes de producción o órdenes de " -#~ "compra." - -#~ msgid "The system waits for requested products in stock." -#~ msgstr "El sistema espera los productos solicitados en stock." - -#~ msgid "Serivce Stockable Order" -#~ msgstr "Orden servicio almacenable" - -#~ msgid "From minimum stock rules, it goes for procure product." -#~ msgstr "Desde reglas de stock mínimo, va a abastecer el producto." - -#~ msgid "Production done" -#~ msgstr "Producción realizada" - -#, python-format -#~ msgid "Unit Product Price" -#~ msgstr "Precio producto unidad" - -#~ msgid "References" -#~ msgstr "Referencias" - -#~ msgid "Machine" -#~ msgstr "Fabricación" - -#~ msgid "Workcenter Name" -#~ msgstr "Nombre centro de producción" - -#~ msgid "min" -#~ msgstr "mín" - -#~ msgid "" -#~ "Description of the workcenter. Explain here what's a cycle according to this " -#~ "workcenter." -#~ msgstr "" -#~ "Descripción del centro de producción. Describa aquí que es un ciclo según " -#~ "este centro de producción." - -#~ msgid "Human Resource" -#~ msgstr "Recurso humano" - -#~ msgid "Workcenters" -#~ msgstr "Centros de producción" - -#~ msgid "on order" -#~ msgstr "bajo pedido" - -#~ msgid "Compute All Schedulers" -#~ msgstr "Calcular todas las planificaciones" - -#~ msgid "Create Procurement" -#~ msgstr "Crear abastecimiento" - -#, python-format -#~ msgid "Product uom" -#~ msgstr "UdM producto" - -#~ msgid "Number of Cycle" -#~ msgstr "Número de ciclos" - -#~ msgid "Run procurement" -#~ msgstr "Ejecutar abastecimiento" - -#~ msgid "" -#~ "This is the time frame analysed by the scheduler when computing " -#~ "procurements. All procurement that are not between today and today+range are " -#~ "skipped for futur computation." -#~ msgstr "" -#~ "Éste es el intervalo temporal analizado por el planificador al calcular " -#~ "abastecimientos. Todos los abastecimientos que no estén entre hoy y " -#~ "hoy+intervalo son omitidos para el cálculos futuros." - -#~ msgid "Time Efficiency" -#~ msgstr "Eficiencia temporal" - -#~ msgid "Scheduler Parameters" -#~ msgstr "Parámetros del planificador" - -#~ msgid "A cycle is defined in the workcenter definition." -#~ msgstr "En la definición de un centro de producción se define un ciclo." - -#~ msgid "Unit of Measure" -#~ msgstr "Unidad de medida" - -#~ msgid "Procurement Method" -#~ msgstr "Método abastecimiento" - -#~ msgid "Compute Procurements" -#~ msgstr "Calcular abastecimientos" - -#~ msgid "Wait for available products for reservation" -#~ msgstr "Esperar productos disponibles para reservarlos" - -#~ msgid "Validate" -#~ msgstr "Validar" - -#~ msgid "Procurement Purchase" -#~ msgstr "Compra de abastecimiento" - -#~ msgid "Number of products to produce" -#~ msgstr "Número de productos a producir" - -#~ msgid "Material routing" -#~ msgstr "Procesos productivos del material" - -#~ msgid "Minimum stock rule" -#~ msgstr "Regla de stock mínimo" - -#~ msgid "Product Efficiency" -#~ msgstr "Eficiencia del producto" - -#~ msgid "Orderpoint minimum rule" -#~ msgstr "Regla mínima generación orden" - -#~ msgid "Service Make to Stock" -#~ msgstr "Servicio obtener para stock" - -#~ msgid "Sale Ref" -#~ msgstr "Ref. venta" - -#~ msgid "Location" -#~ msgstr "Ubicación" - -#~ msgid "New Procurement" -#~ msgstr "Nuevo abastecimiento" - -#~ msgid "Tool" -#~ msgstr "Maquinaria" - -#~ msgid "" -#~ "Location where the system will look for products used in raw materials." -#~ msgstr "" -#~ "Ubicación donde el sistema buscará productos utilizados en las materias " -#~ "primas." - -#~ msgid "Planned Date" -#~ msgstr "Fecha prevista" - -#~ msgid "Procurement orders" -#~ msgstr "Órdenes de abastecimiento" - -#~ msgid "If product type is service and procure method is Make to order" -#~ msgstr "" -#~ "si el tipo de producto es servicio y el método de abastecimiento es obtener " -#~ "bajo pedido" - -#~ msgid "Scheduler Range" -#~ msgstr "Margen planificador" - -#~ msgid "Max Quantity" -#~ msgstr "Cantidad máx" - -#~ msgid "Minimum Stock Procure" -#~ msgstr "Abastecer stock mínimo" - -#~ msgid "This is the leads/security time for each purchase order." -#~ msgstr "Éste es el plazo/seguridad de tiempo para cada orden de compra." - -#~ msgid "alphabetical indices" -#~ msgstr "índices alfabéticos" - -#~ msgid "Procurement for raw materials." -#~ msgstr "Abastecimiento para materia primas." - -#~ msgid "Note" -#~ msgstr "Nota" - -#~ msgid "Procure Stockable Product" -#~ msgstr "Abastecimiento producto almacenable" - -#~ msgid "Paid ?" -#~ msgstr "¿Pagado?" - -#~ msgid "Define a routing to describe the manufacturing steps." -#~ msgstr "" -#~ "Definir un proceso productivo para describir los pasos de fabricación" - -#~ msgid "Define the product structure, with sub-products and/or components." -#~ msgstr "" -#~ "Definir la estructura del producto, con subproductos y/o componentes." - -#~ msgid "" -#~ "Procurement is created if the product quantity is lower than the minimum " -#~ "limit." -#~ msgstr "" -#~ "Se crea el abastecimiento si la cantidad de producto es menor que el límite " -#~ "mínimo." - -#~ msgid "Date Closed" -#~ msgstr "Fecha de cierre" - -#~ msgid "Properties composition" -#~ msgstr "Composición de propiedades" - -#~ msgid "Production Orders Waiting Products" -#~ msgstr "Órdenes de producción esperando productos" - -#~ msgid "Change Product Qty." -#~ msgstr "Cambiar Ctd. producto" - -#~ msgid "The procurement quantity will by rounded up to this multiple." -#~ msgstr "La cantidad abastecida será redondeada hacia arriba a este múltiplo." - -#~ msgid "Reordering Mode" -#~ msgstr "Modo de pedir de nuevo" - -#~ 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 "Central document to procure products" -#~ msgstr "Documento central para abastecer productos" - -#~ msgid "Production Orders in Progress" -#~ msgstr "Órdenes de producción en proceso" - -#~ msgid "Minimum Stock Rules" -#~ msgstr "Reglas de stock mínimo" - -#~ msgid "" -#~ "Reference of the document that created this procurement.\n" -#~ "This is automatically completed by Open ERP." -#~ msgstr "" -#~ "Referencia del documento que ha creado este abastecimiento.\n" -#~ "Éste es completado automáticamente por OpenERP." - -#~ msgid "Product type is Stockable and procure method is make to stock" -#~ msgstr "" -#~ "Tipo de producto es almacenable y método de abastecimiento es obtener para " -#~ "stock" - -#~ msgid "Product UoM" -#~ msgstr "UdM del producto" - -#~ msgid "Workcenter" -#~ msgstr "Centro de producción" - -#~ msgid "Purchase Order" -#~ msgstr "Orden de compra" - -#~ msgid "" -#~ "If you encode manually a procurement, you probably want to use a make to " -#~ "order method." -#~ msgstr "" -#~ "Si codifica manualmente un abastecimiento, probablemente desea usar un " -#~ "método obtener bajo pedido." - -#~ msgid "Stockable Order Request" -#~ msgstr "Solicitud orden almacenable" - -#~ msgid "numeric indices" -#~ msgstr "índices numéricos" - -#~ msgid "If Procure method is Make to order and supply method is buy" -#~ msgstr "" -#~ "si método de abastecimiento es obtener bajo pedido y método de suministro es " -#~ "comprar" - -#~ msgid "if Product type is Stockable in procurement order" -#~ msgstr "si el tipo de producto es almacenable en orden de abastecimiento" - -#~ msgid "Bill of material revisions" -#~ msgstr "Revisiones lista de material" - -#~ msgid "Planification" -#~ msgstr "Planificación" - -#~ msgid "" -#~ "Use a phantom bill of material in raw materials lines that have to be " -#~ "automatically computed in on eproduction order and not one per level.If you " -#~ "put \"Phantom/Set\" at the root level of a bill of material it is considered " -#~ "as a set or pack: the products are replaced by the components between the " -#~ "sale order to the picking without going through the production order.The " -#~ "normal BoM will generate one production order per BoM level." -#~ msgstr "" -#~ "Utilice una lista de materiales fantasma en líneas de materias primas que se " -#~ "deban calcular automáticamente en una orden de producción y no una por " -#~ "nivel. Si indica \"Fantasma/Conjunto\" en el nivel raíz de una lista de " -#~ "materiales es considerada como un conjunto o paquete: Los productos se " -#~ "reemplazan por los componentes entre el pedido de venta y el empaquetado sin " -#~ "generar la orden de producción. La LdM normal generará una orden de " -#~ "producción por nivel de LdM." - -#, python-format -#~ msgid "No address defined for the supplier" -#~ msgstr "No se ha definido dirección para el proveedor" - -#~ msgid "Your procurement request has been sent !" -#~ msgstr "¡Su petición de abastecimiento ha sido enviada!" - -#~ msgid "Internal Procurement Request" -#~ msgstr "Solicitud de abastecimiento interna" - -#~ msgid "Property Categories" -#~ msgstr "Categorías de propiedades" - -#~ msgid "Compute Procurements Only" -#~ msgstr "Calcular sólo abastecimientos" - -#~ msgid "Temporary Procurement Exceptions" -#~ msgstr "Excepciones de abastecimiento temporales" - -#~ msgid "Confirmed" -#~ msgstr "Confirmada" - -#~ msgid "Parameters" -#~ msgstr "Parámetros" - -#~ msgid "Production workcenters used" -#~ msgstr "Centros de producción utilizados" - -#~ msgid "Workcenters Utilisation" -#~ msgstr "Utilización del centro de producción" - -#~ msgid "" -#~ "Efficiency on the production. A factor of 0.9 means a loss of 10% in the " -#~ "production." -#~ msgstr "" -#~ "Eficiencia en la producción. Un factor de 0.9 significa una pérdida del 10% " -#~ "en la producción." - -#~ msgid "If procurement is make to order" -#~ msgstr "si abastecimiento es obtener bajo pedido" - -#~ msgid "Minimum Stock Rule" -#~ msgstr "Regla de stock mínimo" - -#~ msgid "New Bill of Materials" -#~ msgstr "Nueva lista de materiales" - -#, python-format -#~ msgid "Product quantity" -#~ msgstr "Cantidad producto" - -#~ msgid "Property" -#~ msgstr "Propiedad" - -#~ msgid "Canceled" -#~ msgstr "Cancelado" - -#~ msgid "plus" -#~ msgstr "más" - -#~ msgid "Stockable Product Process" -#~ msgstr "Proceso producto almacenable" - -#~ msgid "New Production Order" -#~ msgstr "Nueva orden de producción" - -#~ msgid "A Request for Quotation is created and sent to the supplier." -#~ msgstr "Una solicitud de presupuesto es creada y enviada al proveedor." - -#~ msgid "Retry" -#~ msgstr "Volver a intentar" - -#~ msgid "When any procuere products, it comes into the prpcurement orders" -#~ msgstr "" -#~ "Cuando alguien abastece productos, se convierte en las órdenes de " -#~ "abastecimiento" - -#~ msgid "Production Orders To Start" -#~ msgstr "Órdenes de producción a iniciar" - -#~ msgid "Procurement Reason" -#~ msgstr "Motivo del abastecimiento" - -#~ msgid "An entry is being made from billing material to routing." -#~ msgstr "Se crea una entrada desde material facturable a proceso productivo." - -#~ msgid "The normal working time of the workcenter." -#~ msgstr "El horario de trabajo normal del centro de producción." - -#~ msgid "Order to Max" -#~ msgstr "Ordenar el máximo" - -#~ msgid "In procurement order, if product type is service" -#~ msgstr "En orden de abastecimiento, si tipo de producto es servicio" - -#~ msgid "from stock" -#~ msgstr "desde stock" - -#~ msgid "Close" -#~ msgstr "Cerrar" - -#, python-format -#~ msgid "TOTAL" -#~ msgstr "TOTAL" - -#~ msgid "Sale Name" -#~ msgstr "Nombre venta" - -#, python-format -#~ msgid "Product supplier" -#~ msgstr "Proveedor producto" - -#~ msgid "Create minimum stock rules" -#~ msgstr "Crear reglas de stock mínimo" - -#~ msgid "Warehouse" -#~ msgstr "Almacén" - -#~ msgid "Service Product" -#~ msgstr "Producto servicio" - -#~ msgid "Close Move at end" -#~ msgstr "Movimiento de cierre al final" - -#~ msgid "Running" -#~ msgstr "En proceso" - -#~ msgid "Unscheduled procurements" -#~ msgstr "Abastecimientos no planificados" - -#~ msgid "Bill of Material Structure" -#~ msgstr "Despiece de la lista de materiales" - -#~ msgid "Workcenter load" -#~ msgstr "Carga del centro de producción" - -#~ msgid "Procurement Details" -#~ msgstr "Detalles de abastecimiento" - -#~ msgid "You can see its bill of material which are used to make product" -#~ msgstr "" -#~ "Puede ver su lista de material que se utiliza para fabricar el producto" - -#~ msgid "Bill of Materials Components" -#~ msgstr "Componentes de la lista de materiales" - -#, python-format -#~ msgid "Warning !" -#~ msgstr "¡Aviso!" - -#, python-format -#~ msgid "" -#~ "The production is in \"%s\" state. You can not change the production " -#~ "quantity anymore" -#~ msgstr "" -#~ "La producción está en estado \"%s\". Ya no puede cambiar la cantidad a " -#~ "producir." - -#~ msgid "Production Workcenters" -#~ msgstr "Centros de producción" - -#~ msgid "Invalid model name in the action definition." -#~ msgstr "Nombre de modelo no válido en la definición de acción." - -#~ msgid "" -#~ "The list of operations (list of workcenters) to produce the finished " -#~ "product. The routing is mainly used to compute workcenter costs during " -#~ "operations and to plan futur loads on workcenters based on production " -#~ "plannification." -#~ msgstr "" -#~ "La lista de operaciones (lista de centros de producción) para producir el " -#~ "producto terminado. La ruta se utiliza principalmente para calcular los " -#~ "costes de los centros de producción durante la fabricación y para prever " -#~ "futuras cargas de los centros de producción a partir de la planificación de " -#~ "la producción." - -#~ msgid "Workcenter Usage" -#~ msgstr "Uso centro de producción" - -#~ msgid "" -#~ "Routing indicates all the workcenters used, for how long and/or cycles.If " -#~ "Routing is indicated then,the third tab of a production order (workcenters) " -#~ "will be automatically pre-completed." -#~ msgstr "" -#~ "La ruta indica todos los centros de producción utilizados, por cuánto tiempo " -#~ "y/o ciclos. Si se indica la ruta, entonces la tercera pestaña de una orden " -#~ "de producción (centros de producción) será automáticamente pre-completada." - -#~ msgid "" -#~ "Number of operations this work center can do in parallel. If this work " -#~ "center represents a team of 5 workers, the capacity per cycle is 5." -#~ msgstr "" -#~ "El número de operaciones de este centro de trabajo se puede hacer en " -#~ "paralelo. Si este centro de trabajo representa un equipo del 5 trabajadores, " -#~ "la capacidad por ciclo es de 5." - -#~ msgid "" -#~ "Description of the work center. Explain here what's a cycle according to " -#~ "this work center." -#~ msgstr "" -#~ "Descripción del centro de trabajo. Explique aquí lo que es un ciclo de " -#~ "acuerdo con este centro de trabajo." - -#~ msgid "Specify Cost of Work center per cycle." -#~ msgstr "Especificar costes del centro de trabajo por ciclo." - -#~ msgid "" -#~ "\n" -#~ " This is the base module to manage the manufacturing process in OpenERP.\n" -#~ "\n" -#~ " Features:\n" -#~ " * Make to Stock / Make to Order (by line)\n" -#~ " * Multi-level BoMs, no limit\n" -#~ " * Multi-level routing, no limit\n" -#~ " * Routing and work center integrated with analytic accounting\n" -#~ " * Scheduler computation periodically / Just In Time module\n" -#~ " * Multi-pos, multi-warehouse\n" -#~ " * Different reordering policies\n" -#~ " * Cost method by product: standard price, average price\n" -#~ " * Easy analysis of troubles or needs\n" -#~ " * Very flexible\n" -#~ " * Allows to browse Bill of Materials in complete structure\n" -#~ " that include child and phantom BoMs\n" -#~ " It supports complete integration and planification of stockable goods,\n" -#~ " consumable of services. Services are completely integrated with the " -#~ "rest\n" -#~ " of the software. For instance, you can set up a sub-contracting service\n" -#~ " in a BoM to automatically purchase on order the assembly of your " -#~ "production.\n" -#~ "\n" -#~ " Reports provided by this module:\n" -#~ " * Bill of Material structure and components\n" -#~ " * Load forecast on workcenters\n" -#~ " * Print a production order\n" -#~ " * Stock forecasts\n" -#~ " Dashboard provided by this module::\n" -#~ " * List of next production orders\n" -#~ " * List of deliveries (out picking)\n" -#~ " * Graph of work center load\n" -#~ " * List of procurement in exception\n" -#~ " " -#~ msgstr "" -#~ "\n" -#~ " Este es el módulo base para gestionar los procesos de fabricación en " -#~ "OpenERP.\n" -#~ "\n" -#~ " Características:\n" -#~ " *Obtener para stock / Obtener bajo pedido (por línea)\n" -#~ " *BoMs multi-niveles, sin límite\n" -#~ " *Ubicaciones multi-nivel, sin límite\n" -#~ " *Ubicaciones y centros de trabajo integrados con la contabilidad " -#~ "analítica\n" -#~ " *Ejecución periódica del cálculo de la planificación / Módulo 'Just In " -#~ "Time'\n" -#~ " *Multi-pv, multi-almacén\n" -#~ " *Diferentes políticas de pedido\n" -#~ " *Método de coste por producto: precio estándar, precio medio\n" -#~ " *Fácil análisis de problemas o necesidades\n" -#~ " *Muy flexible\n" -#~ " *Permite inspeccionar la estructura completa de Facturas de Materiales\n" -#~ " que incluyen BoMs hijas y fantasmas\n" -#~ " Soporta integración y planificación de mercancías almacenables,\n" -#~ " y consumo de servicios. Los servicios se integran completamente con el " -#~ "resto\n" -#~ " de la aplicación. Por ejemplo, se puede establecer una servicio de " -#~ "subcontratación\n" -#~ " en una BoM para encargar automáticamente el montaje de su producción.\n" -#~ "\n" -#~ " Los informes que facilita este módulo:\n" -#~ " *Componentes y estructura de la BoMs\n" -#~ " *Previsión de carga de los centros de trabajo\n" -#~ " *Previsión de almacén\n" -#~ " Tableros proporcionados en este módulo:\n" -#~ " *Lista de órdenes de producción próximas\n" -#~ " *Lista de entregas\n" -#~ " *Gráfico de carga del centro de trabajo\n" -#~ " *Lista de órdenes de fabricación con excepciones\n" -#~ " " +msgstr "" diff --git a/addons/portal_sale/i18n/es_MX.po b/addons/portal_sale/i18n/es_MX.po new file mode 100644 index 00000000000..2852d1f6327 --- /dev/null +++ b/addons/portal_sale/i18n/es_MX.po @@ -0,0 +1,548 @@ +# 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: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-03-22 02:49+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: 2013-03-23 05:10+0000\n" +"X-Generator: Launchpad (build 16540)\n" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_config_settings +msgid "account.config.settings" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.portal_action_invoices +msgid "We haven't sent you any invoice." +msgstr "" + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_sale +msgid "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" +msgstr "" + +#. module: portal_sale +#: model:res.groups,name:portal_sale.group_payment_options +msgid "View Online Payment Options" +msgstr "" + +#. module: portal_sale +#: field:account.config.settings,group_payment_options:0 +msgid "Show payment buttons to employees too" +msgstr "" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_sale +msgid "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_quotations_portal +msgid "We haven't sent you any quotation." +msgstr "" + +#. module: portal_sale +#: model:ir.ui.menu,name:portal_sale.portal_sales_orders +msgid "Sales Orders" +msgstr "" + +#. module: portal_sale +#: model:res.groups,comment:portal_sale.group_payment_options +msgid "" +"Members of this group see the online payment options\n" +"on Sale Orders and Customer Invoices. These options are meant for customers " +"who are accessing\n" +"their documents through the portal." +msgstr "" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_sale +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +" \n" +"

Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCES
\n" +"   Order number: ${object.name}
\n" +"   Order total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
\n" +"   Order date: ${object.date_order}
\n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
\n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Your reference: ${object.client_order_ref}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" You can access this document and pay online via our Customer Portal:\n" +"

\n" +" View ${object.state in ('draft', 'sent') " +"and 'Quotation' or 'Order'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
\n" +"

It is also possible to directly pay with Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Hola, buen día ${object.partner_id.name}:

\n" +" \n" +"

Esta es su ${object.state in ('draft', 'sent') and 'cotización' or " +"'pedido'} de ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCIAS
\n" +"   Número: ${object.name}
\n" +"   Total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
\n" +"   Fecha: ${object.date_order}
\n" +" % if object.origin:\n" +"   Origen: ${object.origin}
\n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Referencia de la orden de compra: " +"${object.client_order_ref}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Su contacto: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" Usted puede acceder a este documento y pagarlo en linea vía nuestro " +"portal del cliente:\n" +"

\n" +" Ver ${object.state in ('draft', 'sent') " +"and 'Cotización' or 'Pedido'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
\n" +"

Tambien es posible pagarlo directamente con Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
\n" +"

Si tiene alguna pregunta no dude en contactarnos.

\n" +"

¡Gracias por seleccionar a ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Teléfono:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Página web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: portal_sale +#: model:email.template,report_name:portal_sale.email_template_edi_invoice +msgid "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" +msgstr "" + +#. module: portal_sale +#: model:email.template,subject:portal_sale.email_template_edi_invoice +msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a' })" +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_quotations_portal +#: model:ir.ui.menu,name:portal_sale.portal_quotations +msgid "Quotations" +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: portal_sale +#: field:account.invoice,portal_payment_options:0 +#: field:sale.order,portal_payment_options:0 +msgid "Portal Payment Options" +msgstr "" + +#. module: portal_sale +#: help:account.config.settings,group_payment_options:0 +msgid "" +"Show online payment options on Sale Orders and Customer Invoices to " +"employees. If not checked, these options are only visible to portal users." +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.portal_action_invoices +#: model:ir.ui.menu,name:portal_sale.portal_invoices +msgid "Invoices" +msgstr "" + +#. module: portal_sale +#: view:account.config.settings:0 +msgid "Configure payment acquiring methods" +msgstr "" + +#. module: portal_sale +#: model:email.template,body_html:portal_sale.email_template_edi_invoice +msgid "" +"\n" +"
\n" +"\n" +"

Hello ${object.partner_id.name},

\n" +"\n" +"

A new invoice is available for you:

\n" +" \n" +"

\n" +"   REFERENCES
\n" +"   Invoice number: ${object.number}
\n" +"   Invoice total: ${object.amount_total} " +"${object.currency_id.name}
\n" +"   Invoice date: ${object.date_invoice}
\n" +" % if object.origin:\n" +"   Order reference: ${object.origin}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Your contact: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" You can access the invoice document and pay online via our Customer " +"Portal:\n" +"

\n" +" View Invoice\n" +" % endif\n" +" \n" +" % if object.paypal_url:\n" +"
\n" +"

It is also possible to directly pay with Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +" \n" +"
\n" +"

If you have any question, do not hesitate to contact us.

\n" +"

Thank you for choosing ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Phone:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " +msgstr "" +"\n" +"
\n" +"\n" +"

Hola, buen día ${object.partner_id.name}:

\n" +" \n" +"

Esta es su ${object.state in ('draft', 'sent') and 'cotización' or " +"'pedido'} de ${object.company_id.name}:

\n" +"\n" +"

\n" +"   REFERENCIAS
\n" +"   Número: ${object.name}
\n" +"   Total: ${object.amount_total} " +"${object.pricelist_id.currency_id.name}
\n" +"   Fecha: ${object.date_order}
\n" +" % if object.origin:\n" +"   Origen: ${object.origin}
\n" +" % endif\n" +" % if object.client_order_ref:\n" +"   Referencia de la orden de compra: " +"${object.client_order_ref}
\n" +" % endif\n" +" % if object.user_id:\n" +"   Su contacto: ${object.user_id.name}\n" +" % endif\n" +"

\n" +"\n" +" <% set signup_url = object.get_signup_url() %>\n" +" % if signup_url:\n" +"

\n" +" Usted puede acceder a este documento y pagarlo en linea vía nuestro " +"portal del cliente:\n" +"

\n" +" Ver ${object.state in ('draft', 'sent') " +"and 'Cotización' or 'Pedido'}\n" +" % endif\n" +"\n" +" % if object.paypal_url:\n" +"
\n" +"

Tambien es posible pagarlo directamente con Paypal:

\n" +" \n" +" \n" +" \n" +" % endif\n" +"\n" +"
\n" +"

Si tiene alguna pregunta no dude en contactarnos.

\n" +"

¡Gracias por seleccionar a ${object.company_id.name or 'us'}!

\n" +"
\n" +"
\n" +"
\n" +"

\n" +" ${object.company_id.name}

\n" +"
\n" +"
\n" +" \n" +" % if object.company_id.street:\n" +" ${object.company_id.street}
\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}
\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}
\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}
\n" +" % endif\n" +"
\n" +" % if object.company_id.phone:\n" +"
\n" +" Teléfono:  ${object.company_id.phone}\n" +"
\n" +" % endif\n" +" % if object.company_id.website:\n" +"
\n" +" Página web : ${object.company_id.website}\n" +"
\n" +" % endif\n" +"

\n" +"
\n" +"
\n" +" " + +#. module: portal_sale +#: model:ir.actions.act_window,help:portal_sale.action_orders_portal +msgid "We haven't sent you any sales order." +msgstr "" + +#. module: portal_sale +#: model:ir.model,name:portal_sale.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: portal_sale +#: model:ir.actions.act_window,name:portal_sale.action_orders_portal +msgid "Sale Orders" +msgstr "" From a27afac0cb18dca4886b9dcdd098d00054362659 Mon Sep 17 00:00:00 2001 From: Mantavya Gajjar Date: Sun, 24 Mar 2013 15:14:45 +0530 Subject: [PATCH 20/49] [FIX]: chanined picking generats picking without number. bzr revid: mga@tinyerp.com-20130324094445-17r3zzykzkov4ztf --- addons/stock/stock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index ba3db96ff68..be0dd59468c 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -616,7 +616,7 @@ class stock_picking(osv.osv): return res def create(self, cr, user, vals, context=None): - if ('name' not in vals) or (vals.get('name')=='/'): + if ('name' not in vals) or (vals.get('name')=='/') or (vals.get('name') == False): seq_obj_name = self._name vals['name'] = self.pool.get('ir.sequence').get(cr, user, seq_obj_name) new_id = super(stock_picking, self).create(cr, user, vals, context) From 4d51437082f3ea9908a63d60230a7294692907e3 Mon Sep 17 00:00:00 2001 From: Launchpad Translations on behalf of openerp <> Date: Mon, 25 Mar 2013 04:38:08 +0000 Subject: [PATCH 21/49] Launchpad automatic translations update. bzr revid: launchpad_translations_on_behalf_of_openerp-20130325043808-54gm59kqxrqo9lou --- addons/mrp_repair/i18n/lv.po | 819 +++++++++++++++++++++++++++++++++++ 1 file changed, 819 insertions(+) create mode 100644 addons/mrp_repair/i18n/lv.po diff --git a/addons/mrp_repair/i18n/lv.po b/addons/mrp_repair/i18n/lv.po new file mode 100644 index 00000000000..2e4e1148cf5 --- /dev/null +++ b/addons/mrp_repair/i18n/lv.po @@ -0,0 +1,819 @@ +# Latvian 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-24 11:43+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Latvian \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-25 04:38+0000\n" +"X-Generator: Launchpad (build 16540)\n" + +#. module: mrp_repair +#: field:mrp.repair.line,move_id:0 +msgid "Inventory Move" +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Group By..." +msgstr "Grupēt pēc..." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Recreate Invoice" +msgstr "Pārveidot rēķinu" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:371 +#, python-format +msgid "You have to select a Partner Invoice Address in the repair form !" +msgstr "Labojumu formā Jums ir jānorāda partnera rēķina adrese!" + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.action_cancel_repair +#: view:mrp.repair.cancel:0 +msgid "Cancel Repair Order" +msgstr "Atcelt labojumu orderi" + +#. module: mrp_repair +#: field:mrp.repair.fee,to_invoice:0 +#: field:mrp.repair.line,to_invoice:0 +msgid "To Invoice" +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Unit of Measure" +msgstr "Mērvienība" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Printing Date" +msgstr "Drukāšanas datums" + +#. module: mrp_repair +#: field:mrp.repair.make_invoice,group:0 +msgid "Group by partner invoice address" +msgstr "Grupēt pēc partnera rēķina adreses" + +#. module: mrp_repair +#: field:mrp.repair,message_unread:0 +msgid "Unread Messages" +msgstr "Neizlasītie ziņojumi" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:435 +#, python-format +msgid "No product defined on Fees!" +msgstr "Maksājumam nav nodefinēts produkts!" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,company_id:0 +msgid "Company" +msgstr "Uzņēmums" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Set to Draft" +msgstr "Atzīmēt kā melnrakstu" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Invoice Exception" +msgstr "Rēķina izņēmums" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Serial Number" +msgstr "Sērijas numurs" + +#. module: mrp_repair +#: field:mrp.repair,address_id:0 +msgid "Delivery Address" +msgstr "Piegādes adrese" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "History" +msgstr "Vēsture" + +#. module: mrp_repair +#: field:mrp.repair.fee,price_subtotal:0 +#: field:mrp.repair.line,price_subtotal:0 +msgid "Subtotal" +msgstr "Kopā" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Invoice address :" +msgstr "Rēķina adrese:" + +#. module: mrp_repair +#: help:mrp.repair,partner_id:0 +msgid "Choose partner for whom the order will be invoiced and delivered." +msgstr "" +"Izvēlieties partneri kuram pēc ordera tiks izveidots rēķins un piegādāts." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Guarantee limit" +msgstr "Garantijas limits" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Notes" +msgstr "Piezīmes" + +#. module: mrp_repair +#: field:mrp.repair,message_ids:0 +msgid "Messages" +msgstr "Ziņojumi" + +#. module: mrp_repair +#: field:mrp.repair,amount_tax:0 +#: field:mrp.repair.fee,tax_id:0 +#: field:mrp.repair.line,tax_id:0 +msgid "Taxes" +msgstr "Nodokļi" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:385 +#: code:addons/mrp_repair/mrp_repair.py:413 +#: code:addons/mrp_repair/mrp_repair.py:442 +#, python-format +msgid "Error!" +msgstr "Kļūda!" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Net Total :" +msgstr "Neto kopā:" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +#: selection:mrp.repair.line,state:0 +msgid "Cancelled" +msgstr "Atcelts" + +#. module: mrp_repair +#: help:mrp.repair,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Operations" +msgstr "Operācijas" + +#. module: mrp_repair +#: model:ir.actions.act_window,help:mrp_repair.action_repair_order_tree +msgid "" +"

\n" +" Click to create a reparation order. \n" +"

\n" +" In a repair order, you can detail the components you " +"remove,\n" +" add or replace and record the time you spent on the " +"different\n" +" operations.\n" +"

\n" +" The repair order uses the warranty date on the Serial Number " +"in\n" +" order to know if whether the repair should be invoiced to " +"the\n" +" customer or not.\n" +"

\n" +" " +msgstr "" + +#. module: mrp_repair +#: help:mrp.repair.line,state:0 +msgid "" +" * The 'Draft' status is set automatically as draft when repair order in " +"draft status. \n" +"* The 'Confirmed' status is set automatically as confirm when repair order " +"in confirm status. \n" +"* The 'Done' status is set automatically when repair order is completed. " +" \n" +"* The 'Cancelled' status is set automatically when user cancel repair order." +msgstr "" + +#. module: mrp_repair +#: field:mrp.repair,move_id:0 +msgid "Move" +msgstr "Kustība" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Tax" +msgstr "Nodoklis" + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.action_repair_order_tree +#: model:ir.ui.menu,name:mrp_repair.menu_repair_order +msgid "Repair Orders" +msgstr "Labojumu orderi" + +#. module: mrp_repair +#: model:ir.actions.report.xml,name:mrp_repair.report_mrp_repair +msgid "Quotation / Order" +msgstr "Piedāvājums / Orderis" + +#. module: mrp_repair +#: help:mrp.repair,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: mrp_repair +#: view:mrp.repair:0 +msgid "Extra Info" +msgstr "Papildus informācija" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:336 +#: code:addons/mrp_repair/mrp_repair.py:349 +#: code:addons/mrp_repair/mrp_repair.py:435 +#: code:addons/mrp_repair/wizard/cancel_repair.py:49 +#, python-format +msgid "Warning!" +msgstr "Brīdinājums!" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "(update)" +msgstr "(atjaunināt)" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,partner_id:0 +msgid "Partner" +msgstr "Partneris" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:385 +#, python-format +msgid "No account defined for partner \"%s\"." +msgstr "Nav nodefinēt konts partnerim \"%s\"." + +#. module: mrp_repair +#: view:mrp.repair:0 +#: selection:mrp.repair,state:0 +#: selection:mrp.repair.line,state:0 +msgid "Confirmed" +msgstr "Apstiprināts" + +#. module: mrp_repair +#: help:mrp.repair,state:0 +msgid "" +" * The 'Draft' status is used when a user is encoding a new and unconfirmed " +"repair order. \n" +"* The 'Confirmed' status is used when a user confirms the repair order. " +" \n" +"* The 'Ready to Repair' status is used to start to repairing, user can start " +"repairing only after repair order is confirmed. \n" +"* The 'To be Invoiced' status is used to generate the invoice before or " +"after repairing done. \n" +"* The 'Done' status is set when repairing is completed. \n" +"* The 'Cancelled' status is used when user cancel repair order." +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Repairs order" +msgstr "Labojumu orderis" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:336 +#, python-format +msgid "Serial number is required for operation line with product '%s'" +msgstr "Sērijas numurs ir obligāts operācijas rindai ar produktu '%s'" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Repair Order N° :" +msgstr "Labojumu orderis Nr. :" + +#. module: mrp_repair +#: field:mrp.repair,prodlot_id:0 +#: field:mrp.repair.line,prodlot_id:0 +#: report:repair.order:0 +msgid "Lot Number" +msgstr "Partijas numurs" + +#. module: mrp_repair +#: field:mrp.repair,message_follower_ids:0 +msgid "Followers" +msgstr "Sekotāji" + +#. module: mrp_repair +#: field:mrp.repair,fees_lines:0 +msgid "Fees Lines" +msgstr "" + +#. module: mrp_repair +#: field:mrp.repair.line,type:0 +msgid "Type" +msgstr "Veids" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Fees Line(s)" +msgstr "Maksājumu rinda(s)" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "To be Invoiced" +msgstr "Tiks izrakstīts rēķins" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Shipping address :" +msgstr "Piegādes adrese:" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Total :" +msgstr "Kopā:" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +msgid "" +"This operation will cancel the Repair process, but will not cancel it's " +"Invoice. Do you want to continue?" +msgstr "" +"Šī darbība atcels labojumu procesu, bet neatcels tā rēķinu. Vai vēlaties " +"turpināt?" + +#. module: mrp_repair +#: field:mrp.repair,pricelist_id:0 +msgid "Pricelist" +msgstr "Cenrādis" + +#. module: mrp_repair +#: field:mrp.repair,quotation_notes:0 +msgid "Quotation Notes" +msgstr "Piedāvājuma piezīmes" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,state:0 +#: field:mrp.repair.line,state:0 +msgid "Status" +msgstr "Statuss" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Search Reair Orders" +msgstr "Meklēt labojumu orderus" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "(Add)" +msgstr "(Pievienot)" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_line +#: view:mrp.repair:0 +msgid "Repair Line" +msgstr "Labojumu rinda" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "N° :" +msgstr "Nr. :" + +#. module: mrp_repair +#: field:mrp.repair,invoice_method:0 +msgid "Invoice Method" +msgstr "Rēķina metode" + +#. module: mrp_repair +#: field:mrp.repair,repaired:0 +#: selection:mrp.repair,state:0 +msgid "Repaired" +msgstr "Izlabots" + +#. module: mrp_repair +#: field:mrp.repair.fee,invoice_line_id:0 +#: field:mrp.repair.line,invoice_line_id:0 +msgid "Invoice Line" +msgstr "Rēķina rinda" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "Before Repair" +msgstr "Pirms labojumiem" + +#. module: mrp_repair +#: field:mrp.repair,location_id:0 +msgid "Current Location" +msgstr "Pašreizējā atrašanās vieta" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +msgid "Yes" +msgstr "Jā" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +#: view:mrp.repair.make_invoice:0 +msgid "or" +msgstr "vai" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair,invoiced:0 +#: field:mrp.repair.fee,invoiced:0 +#: field:mrp.repair.line,invoiced:0 +msgid "Invoiced" +msgstr "Rēķins izrakstīts" + +#. module: mrp_repair +#: field:mrp.repair.fee,product_uom:0 +#: field:mrp.repair.line,product_uom:0 +msgid "Product Unit of Measure" +msgstr "Produkta mērvienība" + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Create invoices" +msgstr "Izveidot rēķinus" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "(Remove)" +msgstr "(Noņemt)" + +#. module: mrp_repair +#: selection:mrp.repair.line,type:0 +msgid "Add" +msgstr "Pievienot" + +#. module: mrp_repair +#: selection:mrp.repair.line,state:0 +msgid "Draft" +msgstr "Melnraksts" + +#. module: mrp_repair +#: field:mrp.repair,name:0 +msgid "Repair Reference" +msgstr "Labojuma atsauce" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair +#: view:mrp.repair:0 +msgid "Repair Order" +msgstr "Labojumu orderis" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Under Repair" +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Ready To Repair" +msgstr "Gatavs labojumiem" + +#. module: mrp_repair +#: field:mrp.repair,amount_untaxed:0 +msgid "Untaxed Amount" +msgstr "Summa bez nodokļa" + +#. module: mrp_repair +#: help:mrp.repair,invoice_method:0 +msgid "" +"Selecting 'Before Repair' or 'After Repair' will allow you to generate " +"invoice before or after the repair is done respectively. 'No invoice' means " +"you don't want to generate invoice for this repair order." +msgstr "" + +#. module: mrp_repair +#: field:mrp.repair,guarantee_limit:0 +msgid "Warranty Expiration" +msgstr "Garantijas termiņš" + +#. module: mrp_repair +#: help:mrp.repair,pricelist_id:0 +msgid "Pricelist of the selected partner." +msgstr "Atzīmētā partnera cenrādis." + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Guarantee Limit" +msgstr "Garantijas limits" + +#. module: mrp_repair +#: field:mrp.repair,default_address_id:0 +msgid "unknown" +msgstr "nezināms" + +#. module: mrp_repair +#: field:mrp.repair,product_id:0 +#: report:repair.order:0 +msgid "Product to Repair" +msgstr "Produkts labojumam" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "After Repair" +msgstr "Pēc labojuma" + +#. module: mrp_repair +#: code:addons/mrp_repair/wizard/cancel_repair.py:41 +#, python-format +msgid "Active ID not Found" +msgstr "Aktīvs ID nav atrasts" + +#. module: mrp_repair +#: field:mrp.repair,message_is_follower:0 +msgid "Is a Follower" +msgstr "Ir sekotājs" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Date" +msgstr "Datums" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_fee +msgid "Repair Fees Line" +msgstr "Labojuma maksājumu rinda" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Quotation" +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Confirm Repair" +msgstr "Apstiprināt labojumu" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Repair Quotation" +msgstr "Labojuma piedāvājums" + +#. module: mrp_repair +#: field:mrp.repair,message_summary:0 +msgid "Summary" +msgstr "Kopsavilkums" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "End Repair" +msgstr "Beigt labojumu" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:413 +#: code:addons/mrp_repair/mrp_repair.py:442 +#, python-format +msgid "No account defined for product \"%s\"." +msgstr "Produktam \"%s\" nav nodefinēts konts." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Quotations" +msgstr "Piedāvājumi" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair.fee,product_uom_qty:0 +#: field:mrp.repair.line,product_uom_qty:0 +#: report:repair.order:0 +msgid "Quantity" +msgstr "Daudzums" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Product Information" +msgstr "Produkta informācija" + +#. module: mrp_repair +#: model:ir.actions.act_window,name:mrp_repair.act_mrp_repair_invoice +#: model:ir.model,name:mrp_repair.model_mrp_repair_make_invoice +#: view:mrp.repair:0 +msgid "Make Invoice" +msgstr "Veidot rēķinu" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Start Repair" +msgstr "Sākt labojumu" + +#. module: mrp_repair +#: field:mrp.repair.fee,price_unit:0 +#: field:mrp.repair.line,price_unit:0 +#: report:repair.order:0 +msgid "Unit Price" +msgstr "Vienības cena" + +#. module: mrp_repair +#: selection:mrp.repair.line,state:0 +msgid "Done" +msgstr "Pabeigts" + +#. module: mrp_repair +#: field:mrp.repair,invoice_id:0 +msgid "Invoice" +msgstr "Rēķins" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Fees" +msgstr "Maksājumi" + +#. module: mrp_repair +#: view:mrp.repair.cancel:0 +#: view:mrp.repair.make_invoice:0 +msgid "Cancel" +msgstr "Atcelt" + +#. module: mrp_repair +#: field:mrp.repair.line,location_dest_id:0 +msgid "Dest. Location" +msgstr "Piegādes vieta" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Operation Line(s)" +msgstr "Operācijas rinda(s)" + +#. module: mrp_repair +#: field:mrp.repair,location_dest_id:0 +msgid "Delivery Location" +msgstr "Piegādes vieta" + +#. module: mrp_repair +#: help:mrp.repair,deliver_bool:0 +msgid "" +"Check this box if you want to manage the delivery once the product is " +"repaired and create a picking with selected product. Note that you can " +"select the locations in the Info tab, if you have the extended view." +msgstr "" + +#. module: mrp_repair +#: help:mrp.repair,guarantee_limit:0 +msgid "" +"The warranty expiration limit is computed as: last move date + warranty " +"defined on selected product. If the current date is below the warranty " +"expiration limit, each operation and fee you will add will be set as 'not to " +"invoiced' by default. Note that you can change manually afterwards." +msgstr "" + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Create Invoice" +msgstr "Izveidot rēķinu" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Reair Orders" +msgstr "Labojumu orderi" + +#. module: mrp_repair +#: field:mrp.repair.fee,name:0 +#: field:mrp.repair.line,name:0 +#: report:repair.order:0 +msgid "Description" +msgstr "Apraksts" + +#. module: mrp_repair +#: field:mrp.repair,operations:0 +msgid "Operation Lines" +msgstr "Operāciju rindas" + +#. module: mrp_repair +#: view:mrp.repair:0 +#: field:mrp.repair.fee,product_id:0 +#: field:mrp.repair.line,product_id:0 +msgid "Product" +msgstr "Produkts" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Invoice Corrected" +msgstr "Rēķins izlabots" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Price" +msgstr "Cena" + +#. module: mrp_repair +#: field:mrp.repair,deliver_bool:0 +msgid "Deliver" +msgstr "Piegādāt" + +#. module: mrp_repair +#: field:mrp.repair,internal_notes:0 +msgid "Internal Notes" +msgstr "Iekšējās piezīmes" + +#. module: mrp_repair +#: report:repair.order:0 +msgid "Taxes:" +msgstr "Nodokļi:" + +#. module: mrp_repair +#: view:mrp.repair.make_invoice:0 +msgid "Do you really want to create the invoice(s)?" +msgstr "Vai Jūs tiešām vēlaties izveidot rēķinu(s)?" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:349 +#, python-format +msgid "Repair order is already invoiced." +msgstr "No labojumu ordera rēķins jau ir izveidots." + +#. module: mrp_repair +#: field:mrp.repair,picking_id:0 +msgid "Picking" +msgstr "Izsniegšana" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Untaxed amount" +msgstr "Summa bez nodokļiem" + +#. module: mrp_repair +#: field:mrp.repair.fee,repair_id:0 +#: field:mrp.repair.line,repair_id:0 +msgid "Repair Order Reference" +msgstr "Labojumu ordera atsauce" + +#. module: mrp_repair +#: code:addons/mrp_repair/wizard/cancel_repair.py:49 +#, python-format +msgid "Repair order is not invoiced." +msgstr "No labojumu ordera rēķins nav izveidots." + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Total amount" +msgstr "Summa kopā" + +#. module: mrp_repair +#: selection:mrp.repair.line,type:0 +msgid "Remove" +msgstr "Izņemt" + +#. module: mrp_repair +#: field:mrp.repair,partner_invoice_id:0 +msgid "Invoicing Address" +msgstr "Rēķina adrese" + +#. module: mrp_repair +#: help:mrp.repair,message_ids:0 +msgid "Messages and communication history" +msgstr "Ziņojumu un komunikāciju vēsture" + +#. module: mrp_repair +#: view:mrp.repair:0 +msgid "Invoicing" +msgstr "Rēķina izrakstīšana" + +#. module: mrp_repair +#: field:mrp.repair.line,location_id:0 +msgid "Source Location" +msgstr "Resursa novietojums" + +#. module: mrp_repair +#: model:ir.model,name:mrp_repair.model_mrp_repair_cancel +#: view:mrp.repair:0 +msgid "Cancel Repair" +msgstr "Atcelt labojumu" + +#. module: mrp_repair +#: selection:mrp.repair,invoice_method:0 +msgid "No Invoice" +msgstr "Nav rēķina" + +#. module: mrp_repair +#: field:mrp.repair,amount_total:0 +msgid "Total" +msgstr "Kopā" + +#. module: mrp_repair +#: selection:mrp.repair,state:0 +msgid "Ready to Repair" +msgstr "Gatavs labojumiem" + +#. module: mrp_repair +#: code:addons/mrp_repair/mrp_repair.py:371 +#, python-format +msgid "No partner !" +msgstr "Nav partnera!" From 0d329163d10131035da1f6c3e8cca99d9336cc6b Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Mon, 25 Mar 2013 11:53:19 +0100 Subject: [PATCH 22/49] [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 23/49] [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 24/49] [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 25/49] [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 26/49] [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 27/49] [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 28/49] [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 29/49] [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 30/49] [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 31/49] [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 32/49] [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 33/49] [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 34/49] [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 35/49] [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 36/49] [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 37/49] 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 38/49] 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 684bd3544243afcade742942c8d17f52772dfa61 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Wed, 27 Mar 2013 10:31:25 +0100 Subject: [PATCH 39/49] [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 40/49] [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 314a8dab70097847a10eb884f558f0f05b672698 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Wed, 27 Mar 2013 15:16:53 +0100 Subject: [PATCH 41/49] [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 42/49] [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 43/49] [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 44/49] [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 45/49] [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 46/49] [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 47/49] [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 48/49] [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 49/49] [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):