From fd65d126806f5a3b31cdb3f21e10dfb054aa8694 Mon Sep 17 00:00:00 2001
From: "nicolas.bessi@camptocamp.com" <>
Date: Fri, 22 Oct 2010 15:34:02 +0200
Subject: [PATCH 01/36] [FIX] RC2 fix of image embeeding, possibilit to have
tmp file name in same milisecond, imporvement of multi header support when
cusomizing report, fix of translation getter retunr scr if no translation
available
bzr revid: nicolas.bessi@camptocamp.com-20101022133402-bme1hmy4mtd7maa8
---
addons/report_webkit/report_helper.py | 2 +-
addons/report_webkit/webkit_report.py | 34 ++++++++++++++++-----------
2 files changed, 21 insertions(+), 15 deletions(-)
diff --git a/addons/report_webkit/report_helper.py b/addons/report_webkit/report_helper.py
index 80896fa4ba2..db0c1c372fc 100644
--- a/addons/report_webkit/report_helper.py
+++ b/addons/report_webkit/report_helper.py
@@ -51,7 +51,7 @@ class WebKitHelper(object):
height = 'width="%spx"'%(height)
else :
height = ' '
- toreturn = '
'%(
+ toreturn = '
'%(
width,
height,
type,
diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py
index 3dd768128fb..5bdea865cde 100644
--- a/addons/report_webkit/webkit_report.py
+++ b/addons/report_webkit/webkit_report.py
@@ -84,8 +84,10 @@ class WebKitParser(report_sxw):
_('path to Wkhtmltopdf is not absolute'),
'for path %s'%(path)
)
- def generate_pdf(self, comm_path, report_xml, header, footer, html_list):
+ def generate_pdf(self, comm_path, report_xml, header, footer, html_list, webkit_header=False):
"""Call webkit in order to generate pdf"""
+ if not webkit_header:
+ webkit_header = report_xml.webkit_header
tmp_dir = tempfile.gettempdir()
out = report_xml.name+str(time.time())+'.pdf'
out = os.path.join(tmp_dir, out.replace(' ',''))
@@ -120,20 +122,22 @@ class WebKitParser(report_sxw):
file_to_del.append(foot_file.name)
command.append("--footer-html '%s'"%(foot_file.name))
- if report_xml.webkit_header.margin_top :
- command.append('--margin-top %s'%(report_xml.webkit_header.margin_top))
- if report_xml.webkit_header.margin_bottom :
- command.append('--margin-bottom %s'%(report_xml.webkit_header.margin_bottom))
- if report_xml.webkit_header.margin_left :
- command.append('--margin-left %s'%(report_xml.webkit_header.margin_left))
- if report_xml.webkit_header.margin_right :
- command.append('--margin-right %s'%(report_xml.webkit_header.margin_right))
- if report_xml.webkit_header.orientation :
- command.append("--orientation '%s'"%(report_xml.webkit_header.orientation))
- if report_xml.webkit_header.format :
- command.append(" --page-size '%s'"%(report_xml.webkit_header.format))
+ if webkit_header.margin_top :
+ command.append('--margin-top %s'%(webkit_header.margin_top))
+ if webkit_header.margin_bottom :
+ command.append('--margin-bottom %s'%(webkit_header.margin_bottom))
+ if webkit_header.margin_left :
+ command.append('--margin-left %s'%(webkit_header.margin_left))
+ if webkit_header.margin_right :
+ command.append('--margin-right %s'%(webkit_header.margin_right))
+ if webkit_header.orientation :
+ command.append("--orientation '%s'"%(webkit_header.orientation))
+ if webkit_header.format :
+ command.append(" --page-size '%s'"%(webkit_header.format))
+ count = 0
for html in html_list :
- html_file = file(os.path.join(tmp_dir, str(time.time()) + '.body.html'), 'w')
+ html_file = file(os.path.join(tmp_dir, str(time.time()) + str(count) +'.body.html'), 'w')
+ count += 1
html_file.write(html)
html_file.close()
file_to_del.append(html_file.name)
@@ -168,6 +172,8 @@ class WebKitParser(report_sxw):
"""Translate String."""
ir_translation = self.pool.get('ir.translation')
res = ir_translation._get_source(self.parser_instance.cr, self.parser_instance.uid, self.name, 'report', self.localcontext.get('lang', 'en_US'), src)
+ if not res :
+ return src
return res
def formatLang(self, value, digits=None, date=False, date_time=False, grouping=True, monetary=False):
From cdaef22f14104878cf21aba391c444cfe83e1abb Mon Sep 17 00:00:00 2001
From: "nicolas.bessi@camptocamp.com" <>
Date: Mon, 15 Nov 2010 11:17:59 +0100
Subject: [PATCH 02/36] [IMP] better debug-error message$
bzr revid: nicolas.bessi@camptocamp.com-20101115101759-vt2b1j03c9upbubn
---
addons/report_webkit/webkit_report.py | 82 +++++++++++++++------------
1 file changed, 47 insertions(+), 35 deletions(-)
diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py
index cce410a9dc6..e05c8e5c437 100644
--- a/addons/report_webkit/webkit_report.py
+++ b/addons/report_webkit/webkit_report.py
@@ -35,7 +35,7 @@ import report
import tempfile
import time
from mako.template import Template
-
+from mako import exceptions
import netsvc
import pooler
from report_helper import WebKitHelper
@@ -278,45 +278,57 @@ class WebKitParser(report_sxw):
#default_filters=['unicode', 'entity'] can be used to set global filter
body_mako_tpl = Template(template ,input_encoding='utf-8')
helper = WebKitHelper(cursor, uid, report_xml.id, context)
- html = body_mako_tpl.render( helper=helper,
- css=css,
- _=self.translate_call,
- **self.parser_instance.localcontext
- )
+ try :
+ html = body_mako_tpl.render( helper=helper,
+ css=css,
+ _=self.translate_call,
+ **self.parser_instance.localcontext
+ )
+ except :
+ raise Exception(exceptions.html_error_template().render())
head_mako_tpl = Template(header, input_encoding='utf-8')
- head = head_mako_tpl.render(
- company=company,
- time=time,
- helper=helper,
- css=css,
- formatLang=self.formatLang,
- setLang=self.setLang,
- _=self.translate_call,
- _debug=False
- )
+ try :
+ head = head_mako_tpl.render(
+ company=company,
+ time=time,
+ helper=helper,
+ css=css,
+ formatLang=self.formatLang,
+ setLang=self.setLang,
+ _=self.translate_call,
+ _debug=False
+ )
+ except :
+ raise Exception(exceptions.html_error_template().render())
foot = False
if footer :
foot_mako_tpl = Template(footer ,input_encoding='utf-8')
- foot = foot_mako_tpl.render(
- company=company,
- time=time,
- helper=helper,
- css=css,
- formatLang=self.formatLang,
- setLang=self.setLang,
- _=self.translate_call,
- )
+ try :
+ foot = foot_mako_tpl.render(
+ company=company,
+ time=time,
+ helper=helper,
+ css=css,
+ formatLang=self.formatLang,
+ setLang=self.setLang,
+ _=self.translate_call,
+ )
+ except:
+ raise Exception(exceptions.html_error_template().render())
if report_xml.webkit_debug :
- deb = head_mako_tpl.render(
- company=company,
- time=time,
- helper=helper,
- css=css,
- _debug=html,
- formatLang=self.formatLang,
- setLang=self.setLang,
- _=self.translate_call,
- )
+ try :
+ deb = head_mako_tpl.render(
+ company=company,
+ time=time,
+ helper=helper,
+ css=css,
+ _debug=html,
+ formatLang=self.formatLang,
+ setLang=self.setLang,
+ _=self.translate_call,
+ )
+ except :
+ raise Exception(exceptions.html_error_template().render())
return (deb, 'html')
bin = self.get_lib(cursor, uid, company.id)
pdf = self.generate_pdf(bin, report_xml, head, foot, [html])
From f4ebea2992d16e862ac75a0e5709a6ebac4163bf Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Tue, 23 Nov 2010 18:54:34 +0530
Subject: [PATCH 03/36] [IMP]: Apply removing changes when merge branch
bzr revid: ksa@tinyerp.co.in-20101123132434-fm0u05iasfpt0c3p
---
addons/mrp/mrp.py | 22 ++++++++++++++++++++--
addons/mrp/mrp_view.xml | 15 ++++++++-------
addons/mrp/wizard/mrp_price.py | 2 +-
addons/product/product.py | 3 ++-
addons/stock/stock.py | 16 ++++++++++++++--
addons/stock/wizard/stock_splitinto.py | 4 ++--
6 files changed, 47 insertions(+), 15 deletions(-)
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 4f5b8f24e14..b42d3797b2f 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -53,11 +53,23 @@ class mrp_workcenter(osv.osv):
'costs_journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal'),
'costs_general_account_id': fields.many2one('account.account', 'General Account', domain=[('type','<>','view')]),
'resource_id': fields.many2one('resource.resource','Resource', ondelete='cascade', required=True),
+ 'product_id': fields.many2one('product.product','Product'),
}
_defaults = {
'capacity_per_cycle': 1.0,
'resource_type': 'material',
}
+
+ def on_change_product_cost(self, cr, uid, ids, product_id, context=None):
+ if context is None:
+ context = {}
+ res = {'value':{}}
+
+ if product_id:
+ cost = self.pool.get('product.product').browse(cr, uid, product_id, context=context)
+ res = {'value' : {'costs_hour' :cost.standard_price }}
+ return res
+
mrp_workcenter()
@@ -737,7 +749,10 @@ class mrp_production(osv.osv):
'account_id': account,
'general_account_id': wc.costs_general_account_id.id,
'journal_id': wc.costs_journal_id.id,
- 'code': wc.code
+ 'ref': wc.code,
+ 'product_id': wc.product_id.id,
+ 'unit_amount': wc.costs_hour * wc.time_cycle,
+ 'product_uom_id': wc.product_id.uom_id.id
} )
if wc.costs_journal_id and wc.costs_general_account_id:
value = wc_line.cycle * wc.costs_cycle
@@ -750,7 +765,10 @@ class mrp_production(osv.osv):
'account_id': account,
'general_account_id': wc.costs_general_account_id.id,
'journal_id': wc.costs_journal_id.id,
- 'code': wc.code,
+ 'ref': wc.code,
+ 'product_id': wc.product_id.id,
+ 'unit_amount': wc.costs_hour * wc.time_cycle,
+ 'product_uom_id': wc.product_id.uom_id.id
} )
return amount
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 4f6f0c88d54..ea85940d451 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -160,12 +160,13 @@
+
-
-
+
+
@@ -649,9 +650,9 @@
-
-
+
-
+
diff --git a/addons/mrp/wizard/mrp_price.py b/addons/mrp/wizard/mrp_price.py
index b136326a2dc..c392ee22131 100644
--- a/addons/mrp/wizard/mrp_price.py
+++ b/addons/mrp/wizard/mrp_price.py
@@ -25,7 +25,7 @@ class mrp_price(osv.osv_memory):
_name = 'mrp.product_price'
_description = 'Product Price'
_columns = {
- 'number': fields.integer('Quantity', required=True, help="Specify quantity of products to produce or buy. Report of Cost structure will be displayed base on this qunatity."),
+ 'number': fields.integer('Quantity', required=True, help="Specify quantity of products to produce or buy. Report of Cost structure will be displayed base on this quantity."),
}
_defaults = {
'number': 1,
diff --git a/addons/product/product.py b/addons/product/product.py
index b3fa3c594f4..45ce0f620b6 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -327,7 +327,8 @@ class product_template(osv.osv):
return True
_constraints = [
- (_check_uos, 'Error: UOS must be in a different category than the UOM', ['uos_id']),
+ # As Per do changes given by lp bug : 543979
+# (_check_uos, 'Error: UOS must be in a different category than the UOM', ['uos_id']),
(_check_uom, 'Error: The default UOM and the purchase UOM must be in the same category.', ['uom_id']),
]
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 299b81a9c01..7abfc292872 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1904,6 +1904,12 @@ class stock_move(osv.osv):
acc_variation = accounts.get('property_stock_variation', False)
journal_id = accounts['stock_journal']
+ if acc_dest == acc_variation:
+ raise osv.except_osv(_('Error!'), _('Can not create Journal Entry, Output Account on defined on this product and Variant account on category of this product is same.'))
+
+ if acc_src == acc_variation:
+ raise osv.except_osv(_('Error!'), _('Can not create Journal Entry, Input Account on defined on this product and Variant account on category of this product is same.'))
+
if not acc_src:
raise osv.except_osv(_('Error!'), _('There is no stock input account defined for this product or its category: "%s" (id: %d)') % \
(move.product_id.name, move.product_id.id,))
@@ -2416,6 +2422,12 @@ class stock_inventory(osv.osv):
return self.pool.get('stock.move').create(cr, uid, move_vals)
def action_done(self, cr, uid, ids, context=None):
+ """ Finished the inventory
+ @return: True
+ """
+
+ if context is None:
+ context = {}
move_obj = self.pool.get('stock.move')
for inv in self.browse(cr, uid, ids, context=context):
move_obj.action_done(cr, uid, [x.id for x in inv.move_ids], context=context)
@@ -2423,7 +2435,7 @@ class stock_inventory(osv.osv):
return True
def action_confirm(self, cr, uid, ids, context=None):
- """ Finishes the inventory and writes its finished date
+ """ Confirm the inventory and writes its finished date
@return: True
"""
if context is None:
@@ -2434,7 +2446,7 @@ class stock_inventory(osv.osv):
product_context = dict(context, compute_child=False)
location_obj = self.pool.get('stock.location')
- for inv in self.browse(cr, uid, ids):
+ for inv in self.browse(cr, uid, ids, context=context):
move_ids = []
for line in inv.inventory_line_id:
pid = line.product_id.id
diff --git a/addons/stock/wizard/stock_splitinto.py b/addons/stock/wizard/stock_splitinto.py
index 72949695fde..3d208ca0418 100644
--- a/addons/stock/wizard/stock_splitinto.py
+++ b/addons/stock/wizard/stock_splitinto.py
@@ -63,10 +63,10 @@ class stock_split_into(osv.osv_memory):
})
- if quantity_rest>0:
+ if quantity_rest > 0:
quantity_rest = move.product_qty - quantity
tracking_id = track_obj.create(cr, uid, {}, context=context)
- if quantity==0.0:
+ if quantity == 0.0:
move_obj.write(cr, uid, [move.id], {'tracking_id': tracking_id}, context=context)
else:
default_val = {
From 3f6d20200662753d065a64276225bd8b208f71db Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Wed, 24 Nov 2010 13:52:28 +0530
Subject: [PATCH 04/36] [FIX]purchase:Invoice journal(s) not loaded properly
lp bug: https://launchpad.net/bugs/677429 fixed
bzr revid: ron@tinyerp.com-20101124082228-t6xrcs91bmp5sju7
---
addons/account/account_invoice_view.xml | 2 +-
addons/purchase/purchase_view.xml | 12 ++---
.../purchase/wizard/purchase_line_invoice.py | 49 ++++++++++---------
3 files changed, 32 insertions(+), 31 deletions(-)
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index c6542758952..d63dce78f17 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -149,7 +149,7 @@
@@ -238,11 +242,11 @@
You can define your minimum stock rules, so that OpenERP will trigger automatically the propositions of manufacturing or purchase orders according to the stock level. Once the virtual stock of a product (=stock on hand minus all confirmed orders and reservations) is bellow the minimum quantity, OpenERP will generate a procurement request in order to fullfil the stock up to the maximum quantity.
-
From 5579039d8418fa9303d1b58b71067ee01cb427a2 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Wed, 24 Nov 2010 18:09:17 +0530
Subject: [PATCH 07/36] [ADD]Task Id:1852 Purchase form - Pricelist menu add in
purchases->configuration
bzr revid: ron@tinyerp.com-20101124123917-f593dcgolzfnt29k
---
addons/purchase/purchase_view.xml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index 0d27f970246..2379a79001a 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -6,6 +6,18 @@
+
+
+
+
+
+
+
Addresses
From 06abcc7f99a540b4662751568f8de00096ddf796 Mon Sep 17 00:00:00 2001
From: sus
Date: Thu, 25 Nov 2010 12:26:48 +0530
Subject: [PATCH 08/36] Change search view from draft to ready with domain
ready to produce in mrp/mrp_view.xml
lp bug: https://launchpad.net/bugs/680918 fixed
bzr revid: tiny@tiny-desktop-20101125065648-ytmj8ps061h9vwxs
---
addons/mrp/mrp_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index adc517f1b7c..5c220cfc12c 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -720,8 +720,8 @@
-
Date: Thu, 25 Nov 2010 16:17:19 +0530
Subject: [PATCH 09/36] [IMP]Tracebility Improvement
bzr revid: ron@tinyerp.com-20101125104719-pr255plf9d7aepuq
---
addons/stock/wizard/stock_traceability.py | 24 +++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/addons/stock/wizard/stock_traceability.py b/addons/stock/wizard/stock_traceability.py
index 815f90810ed..2a40ba2685e 100644
--- a/addons/stock/wizard/stock_traceability.py
+++ b/addons/stock/wizard/stock_traceability.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,45 +15,49 @@
# 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 .
+# along with this program. If not, see .
#
##############################################################################
from osv import fields, osv
class action_traceability(osv.osv_memory):
- """
+ """
This class defines a function action_traceability for wizard
"""
_name = "action.traceability"
_description = "Action traceability "
-
+
def action_traceability(self, cr, uid, ids, context={}):
""" It traces the information of a product
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param ids: List of IDs selected
- @param context: A standard dictionary
+ @param ids: List of IDs selected
+ @param context: A standard dictionary
@return: A dictionary of values
"""
-
+ lot_id = ids
type1 = context['type'] or 'move_history_ids2'
field = context['field'] or 'tracking_id'
obj = self.pool.get('stock.move')
- ids = obj.search(cr, uid, [(field, 'in',context['active_ids'])])
+ ids = obj.search(cr, uid, [(field, 'in',lot_id)])
+ if type1 == 'move_history_ids2':
+ new_id = ids[1]
+ else:
+ new_id = ids[0]
cr.execute('select id from ir_ui_view where model=%s and field_parent=%s and type=%s', ('stock.move', type1, 'tree'))
view_id = cr.fetchone()[0]
value = {
- 'domain': "[('id','in',["+','.join(map(str, ids))+"])]",
+ 'domain': "[('id','in',["+','.join(map(str, [new_id]))+"])]",
'name': ((type1=='move_history_ids2') and 'Upstream Traceability') or 'Downstream Traceability',
'view_type': 'tree',
'res_model': 'stock.move',
'field_parent': type1,
'view_id': (view_id,'View'),
'type': 'ir.actions.act_window',
- 'nodestroy':True,
+ 'nodestroy':True,
}
return value
From 0716a455a609d62b1b5b1d2e5358c9c943a5646b Mon Sep 17 00:00:00 2001
From: "nicolas.bessi@camptocamp.com" <>
Date: Thu, 25 Nov 2010 16:50:35 +0100
Subject: [PATCH 10/36] Fixes as disscused with odony
bzr revid: nicolas.bessi@camptocamp.com-20101125155035-to0aj6i7ulygbwap
---
addons/report_webkit/webkit_report.py | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py
index e05c8e5c437..191c614a68f 100644
--- a/addons/report_webkit/webkit_report.py
+++ b/addons/report_webkit/webkit_report.py
@@ -284,8 +284,8 @@ class WebKitParser(report_sxw):
_=self.translate_call,
**self.parser_instance.localcontext
)
- except :
- raise Exception(exceptions.html_error_template().render())
+ except Exception, e:
+ raise except_osv(exceptions.html_error_template().render())
head_mako_tpl = Template(header, input_encoding='utf-8')
try :
head = head_mako_tpl.render(
@@ -298,8 +298,8 @@ class WebKitParser(report_sxw):
_=self.translate_call,
_debug=False
)
- except :
- raise Exception(exceptions.html_error_template().render())
+ except Exception, e:
+ raise except_osv(exceptions.html_error_template().render())
foot = False
if footer :
foot_mako_tpl = Template(footer ,input_encoding='utf-8')
@@ -314,7 +314,7 @@ class WebKitParser(report_sxw):
_=self.translate_call,
)
except:
- raise Exception(exceptions.html_error_template().render())
+ raise except_osv(exceptions.html_error_template().render())
if report_xml.webkit_debug :
try :
deb = head_mako_tpl.render(
@@ -327,8 +327,8 @@ class WebKitParser(report_sxw):
setLang=self.setLang,
_=self.translate_call,
)
- except :
- raise Exception(exceptions.html_error_template().render())
+ except Exception, e:
+ raise except_osv(exceptions.html_error_template().render())
return (deb, 'html')
bin = self.get_lib(cursor, uid, company.id)
pdf = self.generate_pdf(bin, report_xml, head, foot, [html])
From d6dad104bc7da30e05240a0bbf3b8f8bb5f31e9c Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Thu, 2 Dec 2010 18:11:33 +0530
Subject: [PATCH 11/36] [IMP]: schedular wizard improvement
bzr revid: ksa@tinyerp.co.in-20101202124133-fbs2je1udm074051
---
addons/procurement/procurement.py | 1 +
addons/procurement/schedulers.py | 88 +++++++++++++++++++++++++------
2 files changed, 74 insertions(+), 15 deletions(-)
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index f350e79205b..faaa5f79657 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -500,6 +500,7 @@ class stock_warehouse_orderpoint(osv.osv):
result[data.id] = procurement_id
procurement_ids = procurement_obj.search(cr, uid , [('state','=','draft'),('product_id','=',data.product_id.id),('location_id','=',data.location_id.id)])
+ procurement_ids.sort()
result[data.id] = procurement_ids
return result
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index b3d3c3bb98d..fa52b948340 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -34,14 +34,14 @@ class procurement_order(osv.osv):
def _procure_confirm(self, cr, uid, ids=None, use_new_cursor=False, context=None):
'''
Call the scheduler to check the procurement order
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param uid: The current user ID for security checks
@param ids: List of selected IDs
@param use_new_cursor: False or the dbname
@param context: A standard dictionary for contextual values
- @return: Dictionary of values
+ @return: Dictionary of values
'''
if not context:
context = {}
@@ -50,7 +50,7 @@ class procurement_order(osv.osv):
if use_new_cursor:
cr = pooler.get_db(use_new_cursor).cursor()
wf_service = netsvc.LocalService("workflow")
-
+
procurement_obj = self.pool.get('procurement.order')
if not ids:
ids = procurement_obj.search(cr, uid, [], order="date_planned")
@@ -112,13 +112,13 @@ class procurement_order(osv.osv):
if uid:
request = self.pool.get('res.request')
summary = '''Here is the procurement scheduling report.
-
+
Start Time: %s
End Time: %s
Total Procurements processed: %d
Procurements with exceptions: %d
Skipped Procurements (scheduled date outside of scheduler range) %d
-
+
Exceptions:\n'''% (start_date, end_date, report_total, report_except, report_later)
summary += '\n'.join(report)
request.create(cr, uid,
@@ -141,7 +141,7 @@ class procurement_order(osv.osv):
def create_automatic_op(self, cr, uid, context=None):
"""
Create procurement of virtual stock < 0
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param uid: The current user ID for security checks
@@ -191,14 +191,14 @@ class procurement_order(osv.osv):
'''
Create procurement based on Orderpoint
use_new_cursor: False or the dbname
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param user_id: The current user ID for security checks
@param context: A standard dictionary for contextual values
@param param: False or the dbname
@return: Dictionary of values
- """
+ """
'''
if not context:
context = {}
@@ -212,24 +212,81 @@ class procurement_order(osv.osv):
report = []
offset = 0
ids = [1]
+ newdate = datetime.today()
if automatic:
self.create_automatic_op(cr, uid, context=context)
while ids:
ids = orderpoint_obj.search(cr, uid, [], offset=offset, limit=100)
- for op in orderpoint_obj.browse(cr, uid, ids):
+
+# for op in orderpoint_obj.browse(cr, uid, ids, context=context):
+# for pro_data in op.procurement_data_id:
+# pro_qty.append(pro_data.product_qty)
+# pro_qty.sort()
+
+ for op in orderpoint_obj.browse(cr, uid, ids, context=context):
+ pro_qty = {}
+ for pro_data in op.procurement_data_id:
+ pro_qty.update({pro_data.product_qty: pro_data.id })
+ procure_list = pro_qty.keys()
+ procure_list.sort()
+ procure_list.reverse()
+
if op.procurement_id.state != 'exception':
if op.procurement_id and op.procurement_id.purchase_id and op.procurement_id.purchase_id.state in ('draft', 'confirmed'):
continue
- prods = location_obj._product_virtual_get(cr, uid,
- op.location_id.id, [op.product_id.id],
- {'uom': op.product_uom.id})[op.product_id.id]
+
+ prods = location_obj._product_virtual_get(cr, uid,
+ op.location_id.id, [op.product_id.id],
+ {'uom': op.product_uom.id})[op.product_id.id]
+
if prods < op.product_min_qty:
qty = max(op.product_min_qty, op.product_max_qty)-prods
+ def check_qty(procure_list, qty):
+ new_qty = 0.0
+ newdate = datetime.today()
+ for proc in procure_list:
+ if qty >= proc:
+ #generate ORDER
+ new_qty = qty - proc
+
+ reste = qty % op.qty_multiple
+ if reste > 0:
+ qty += op.qty_multiple - reste
+ newdate += relativedelta(
+ days = int(op.product_id.seller_delay))
+
+ if op.product_id.type not in ('consu'):
+ proc_id = procurement_obj.create(cr, uid, {
+ 'name': op.name,
+ 'date_planned': newdate.strftime('%Y-%m-%d'),
+ 'product_id': op.product_id.id,
+ 'product_qty': new_qty,
+ 'product_uom': op.product_uom.id,
+ 'location_id': op.location_id.id,
+ 'procure_method': 'make_to_order',
+ 'origin': op.name
+ })
+# wf_service.trg_validate(uid, 'procurement.order', proc_id,
+# 'button_confirm', cr)
+# wf_service.trg_validate(uid, 'procurement.order', proc_id,
+# 'button_check', cr)
+ orderpoint_obj.write(cr, uid, [op.id],
+ {'procurement_id': proc_id}, context=context)
+ wf_service.trg_validate(uid, 'procurement.order', pro_qty[proc],
+ 'button_confirm', cr)
+ else:
+ print 'GENERATE NEW ORDER'
+ return new_qty
+
+ while qty!=0:
+ qty = check_qty(procure_list, qty)
+
+
reste = qty % op.qty_multiple
if reste > 0:
qty += op.qty_multiple - reste
- newdate = datetime.today() + relativedelta(
- days = int(op.product_id.seller_delay))
+ newdate = datetime.today() + relativedelta(
+ days = int(op.product_id.seller_delay))
if qty <= 0:
continue
if op.product_id.type not in ('consu'):
@@ -248,7 +305,8 @@ class procurement_order(osv.osv):
wf_service.trg_validate(uid, 'procurement.order', proc_id,
'button_check', cr)
orderpoint_obj.write(cr, uid, [op.id],
- {'procurement_id': proc_id})
+ {'procurement_id': proc_id}, context=context)
+
offset += len(ids)
if use_new_cursor:
cr.commit()
From 4b594c00f8f37e3cf51893c22cca5b983903a139 Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Fri, 3 Dec 2010 17:01:30 +0530
Subject: [PATCH 12/36] [IMP]: improve schedular wizard
bzr revid: ksa@tinyerp.co.in-20101203113130-uorct2rxmj5vdlj4
---
addons/procurement/procurement.py | 2 +-
addons/procurement/procurement_view.xml | 2 +-
addons/procurement/schedulers.py | 76 ++++++++++++-------------
3 files changed, 38 insertions(+), 42 deletions(-)
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index faaa5f79657..f3aefd0665a 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -522,7 +522,7 @@ class stock_warehouse_orderpoint(osv.osv):
help="The procurement quantity will by rounded up to this multiple."),
'procurement_id': fields.many2one('procurement.order', 'Latest procurement', ondelete="set null"),
'company_id': fields.many2one('res.company','Company',required=True),
- 'procurement_data_id': fields.function(procurement_draft, method=True, type='many2many', relation="procurement.order", \
+ 'procurement_draft_id': fields.function(procurement_draft, method=True, type='many2many', relation="procurement.order", \
string="Related Procurement Orders",help="Draft procurement of the product and location of that orderpoint"),
}
_defaults = {
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index 9ef921cc23a..e4a6a07f93d 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -226,7 +226,7 @@
-
+
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index fa52b948340..406f4ddebd8 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -218,14 +218,9 @@ class procurement_order(osv.osv):
while ids:
ids = orderpoint_obj.search(cr, uid, [], offset=offset, limit=100)
-# for op in orderpoint_obj.browse(cr, uid, ids, context=context):
-# for pro_data in op.procurement_data_id:
-# pro_qty.append(pro_data.product_qty)
-# pro_qty.sort()
-
for op in orderpoint_obj.browse(cr, uid, ids, context=context):
pro_qty = {}
- for pro_data in op.procurement_data_id:
+ for pro_data in op.procurement_draft_id:
pro_qty.update({pro_data.product_qty: pro_data.id })
procure_list = pro_qty.keys()
procure_list.sort()
@@ -242,45 +237,47 @@ class procurement_order(osv.osv):
if prods < op.product_min_qty:
qty = max(op.product_min_qty, op.product_max_qty)-prods
def check_qty(procure_list, qty):
- new_qty = 0.0
+ new_qty = qty
newdate = datetime.today()
for proc in procure_list:
- if qty >= proc:
- #generate ORDER
- new_qty = qty - proc
+ if new_qty >= proc:
+# print 'Confirm PO ID: ', pro_qty[proc], 'for', proc
+ wf_service.trg_validate(uid, 'procurement.order', pro_qty[proc],
+ 'button_confirm', cr)
+ procurement_obj.write(cr, uid, [pro_qty[proc]],
+ {'origin': op.name}, context=context)
+ new_qty -= proc
+ else:
+# print "generate ORDER of ",new_qty#, qty, proc
+ reste = qty % op.qty_multiple
+ if reste > 0:
+ qty += op.qty_multiple - reste
+ newdate += relativedelta(
+ days = int(op.product_id.seller_delay))
+ if op.product_id.type not in ('consu'):
+ proc_id = procurement_obj.create(cr, uid, {
+ 'name': op.name,
+ 'date_planned': newdate.strftime('%Y-%m-%d'),
+ 'product_id': op.product_id.id,
+ 'product_qty': new_qty,
+ 'product_uom': op.product_uom.id,
+ 'location_id': op.location_id.id,
+ 'procure_method': 'make_to_order',
+ 'origin': op.name
+ })
+ wf_service.trg_validate(uid, 'procurement.order', proc_id,
+ 'button_confirm', cr)
+ wf_service.trg_validate(uid, 'procurement.order', proc_id,
+ 'button_check', cr)
+ orderpoint_obj.write(cr, uid, [op.id],
+ {'procurement_id': proc_id}, context=context)
- reste = qty % op.qty_multiple
- if reste > 0:
- qty += op.qty_multiple - reste
- newdate += relativedelta(
- days = int(op.product_id.seller_delay))
+ if not new_qty:
+ break
- if op.product_id.type not in ('consu'):
- proc_id = procurement_obj.create(cr, uid, {
- 'name': op.name,
- 'date_planned': newdate.strftime('%Y-%m-%d'),
- 'product_id': op.product_id.id,
- 'product_qty': new_qty,
- 'product_uom': op.product_uom.id,
- 'location_id': op.location_id.id,
- 'procure_method': 'make_to_order',
- 'origin': op.name
- })
-# wf_service.trg_validate(uid, 'procurement.order', proc_id,
-# 'button_confirm', cr)
-# wf_service.trg_validate(uid, 'procurement.order', proc_id,
-# 'button_check', cr)
- orderpoint_obj.write(cr, uid, [op.id],
- {'procurement_id': proc_id}, context=context)
- wf_service.trg_validate(uid, 'procurement.order', pro_qty[proc],
- 'button_confirm', cr)
- else:
- print 'GENERATE NEW ORDER'
return new_qty
- while qty!=0:
- qty = check_qty(procure_list, qty)
-
+ qty = check_qty(procure_list, qty)
reste = qty % op.qty_multiple
if reste > 0:
@@ -323,5 +320,4 @@ class procurement_order(osv.osv):
return {}
procurement_order()
-
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
From 20eb39e68e4364aa47799030a52ff067cbccf91b Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Fri, 3 Dec 2010 17:56:34 +0530
Subject: [PATCH 13/36] [IMP]: improve schedular wizard for confirm order point
bzr revid: ksa@tinyerp.co.in-20101203122634-3pvqng4i89vvjy6n
---
addons/procurement/procurement.py | 2 +-
addons/procurement/procurement_view.xml | 2 +-
addons/procurement/schedulers.py | 86 +++++++++----------------
3 files changed, 31 insertions(+), 59 deletions(-)
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index f3aefd0665a..1800249ed9b 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -522,7 +522,7 @@ class stock_warehouse_orderpoint(osv.osv):
help="The procurement quantity will by rounded up to this multiple."),
'procurement_id': fields.many2one('procurement.order', 'Latest procurement', ondelete="set null"),
'company_id': fields.many2one('res.company','Company',required=True),
- 'procurement_draft_id': fields.function(procurement_draft, method=True, type='many2many', relation="procurement.order", \
+ 'procurement_draft_ids': fields.function(procurement_draft, method=True, type='many2many', relation="procurement.order", \
string="Related Procurement Orders",help="Draft procurement of the product and location of that orderpoint"),
}
_defaults = {
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index e4a6a07f93d..c0c2a2f27bd 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -226,7 +226,7 @@
-
+
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index 406f4ddebd8..dd99da63231 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -217,76 +217,48 @@ class procurement_order(osv.osv):
self.create_automatic_op(cr, uid, context=context)
while ids:
ids = orderpoint_obj.search(cr, uid, [], offset=offset, limit=100)
-
for op in orderpoint_obj.browse(cr, uid, ids, context=context):
- pro_qty = {}
- for pro_data in op.procurement_draft_id:
- pro_qty.update({pro_data.product_qty: pro_data.id })
- procure_list = pro_qty.keys()
- procure_list.sort()
- procure_list.reverse()
-
if op.procurement_id.state != 'exception':
if op.procurement_id and op.procurement_id.purchase_id and op.procurement_id.purchase_id.state in ('draft', 'confirmed'):
continue
-
- prods = location_obj._product_virtual_get(cr, uid,
- op.location_id.id, [op.product_id.id],
- {'uom': op.product_uom.id})[op.product_id.id]
+ prods = location_obj._product_virtual_get(cr, uid,
+ op.location_id.id, [op.product_id.id],
+ {'uom': op.product_uom.id})[op.product_id.id]
if prods < op.product_min_qty:
qty = max(op.product_min_qty, op.product_max_qty)-prods
- def check_qty(procure_list, qty):
- new_qty = qty
- newdate = datetime.today()
- for proc in procure_list:
- if new_qty >= proc:
-# print 'Confirm PO ID: ', pro_qty[proc], 'for', proc
- wf_service.trg_validate(uid, 'procurement.order', pro_qty[proc],
- 'button_confirm', cr)
- procurement_obj.write(cr, uid, [pro_qty[proc]],
- {'origin': op.name}, context=context)
- new_qty -= proc
- else:
-# print "generate ORDER of ",new_qty#, qty, proc
- reste = qty % op.qty_multiple
- if reste > 0:
- qty += op.qty_multiple - reste
- newdate += relativedelta(
- days = int(op.product_id.seller_delay))
- if op.product_id.type not in ('consu'):
- proc_id = procurement_obj.create(cr, uid, {
- 'name': op.name,
- 'date_planned': newdate.strftime('%Y-%m-%d'),
- 'product_id': op.product_id.id,
- 'product_qty': new_qty,
- 'product_uom': op.product_uom.id,
- 'location_id': op.location_id.id,
- 'procure_method': 'make_to_order',
- 'origin': op.name
- })
- wf_service.trg_validate(uid, 'procurement.order', proc_id,
- 'button_confirm', cr)
- wf_service.trg_validate(uid, 'procurement.order', proc_id,
- 'button_check', cr)
- orderpoint_obj.write(cr, uid, [op.id],
- {'procurement_id': proc_id}, context=context)
-
- if not new_qty:
- break
-
- return new_qty
-
- qty = check_qty(procure_list, qty)
reste = qty % op.qty_multiple
if reste > 0:
qty += op.qty_multiple - reste
- newdate = datetime.today() + relativedelta(
- days = int(op.product_id.seller_delay))
+
+ newdate = datetime.today() + relativedelta(
+ days = int(op.product_id.seller_delay))
if qty <= 0:
continue
if op.product_id.type not in ('consu'):
+ # Check draft procurement related to this order point
+ if op.procurement_draft_ids:
+ procure_qty = {}
+ #Compute list of draft procurement attached to Orderpoint
+ for pro_data in op.procurement_draft_ids:
+ procure_qty.update({pro_data.product_qty: pro_data.id })
+ procure_list = procure_qty.keys()
+ procure_list.sort()
+ procure_list.reverse()
+
+ to_generate = qty
+ for proc in procure_list:
+ if to_generate >= proc:
+ wf_service.trg_validate(uid, 'procurement.order', procure_qty[proc], 'button_confirm', cr)
+ wf_service.trg_validate(uid, 'procurement.order', procure_qty[proc], 'button_check', cr)
+ procurement_obj.write(cr, uid, [pro_qty[proc]], {'origin': op.name}, context=context)
+ to_generate -= proc
+ if not to_generate:
+ break
+ qty = to_generate
+
+ if qty:
proc_id = procurement_obj.create(cr, uid, {
'name': op.name,
'date_planned': newdate.strftime('%Y-%m-%d'),
@@ -303,7 +275,6 @@ class procurement_order(osv.osv):
'button_check', cr)
orderpoint_obj.write(cr, uid, [op.id],
{'procurement_id': proc_id}, context=context)
-
offset += len(ids)
if use_new_cursor:
cr.commit()
@@ -320,4 +291,5 @@ class procurement_order(osv.osv):
return {}
procurement_order()
+
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
From d108a970e69022e1673a3c108d7b6421dd965fc5 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Fri, 3 Dec 2010 18:36:21 +0530
Subject: [PATCH 14/36] [ADD]wizard to change Product Quantity from Product
form View
bzr revid: ron@tinyerp.com-20101203130621-ddfrcf36mls4p7q5
---
addons/stock/__openerp__.py | 5 +-
addons/stock/product_view.xml | 5 +-
addons/stock/stock.py | 1 -
addons/stock/wizard/__init__.py | 2 +-
.../stock/wizard/stock_change_product_qty.py | 106 ++++++++++++++++++
.../wizard/stock_change_product_qty_view.xml | 37 ++++++
6 files changed, 151 insertions(+), 5 deletions(-)
create mode 100644 addons/stock/wizard/stock_change_product_qty.py
create mode 100644 addons/stock/wizard/stock_change_product_qty_view.xml
diff --git a/addons/stock/__openerp__.py b/addons/stock/__openerp__.py
index 0b85511050d..987a0e12493 100644
--- a/addons/stock/__openerp__.py
+++ b/addons/stock/__openerp__.py
@@ -45,10 +45,11 @@ Thanks to the double entry management, the inventory controlling is powerful and
"init_xml" : [],
"demo_xml" : ["stock_demo.xml"],
"update_xml" : [
- "security/stock_security.xml",
- "security/ir.model.access.csv",
+ "security/stock_security.xml",
+ "security/ir.model.access.csv",
"stock_data.xml",
"wizard/stock_move_view.xml",
+ "wizard/stock_change_product_qty_view.xml",
"wizard/stock_partial_picking_view.xml",
"wizard/stock_partial_move_view.xml",
"wizard/stock_fill_inventory_view.xml",
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 35715a9e1fb..04344e18c16 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -102,9 +102,12 @@
-
+
+
+
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index 39380f282a5..f7a8ca3830c 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -2431,7 +2431,6 @@ class stock_inventory(osv.osv):
"""
if context is None:
context = {}
-
# to perform the correct inventory corrections we need analyze stock location by
# location, never recursively, so we use a special context
product_context = dict(context, compute_child=False)
diff --git a/addons/stock/wizard/__init__.py b/addons/stock/wizard/__init__.py
index 5e35e0e7297..b903f020f82 100644
--- a/addons/stock/wizard/__init__.py
+++ b/addons/stock/wizard/__init__.py
@@ -33,6 +33,6 @@ import stock_invoice_onshipping
import stock_location_product
import stock_change_standard_price
import stock_return_picking
-
+import stock_change_product_qty
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/stock/wizard/stock_change_product_qty.py b/addons/stock/wizard/stock_change_product_qty.py
new file mode 100644
index 00000000000..efceb833644
--- /dev/null
+++ b/addons/stock/wizard/stock_change_product_qty.py
@@ -0,0 +1,106 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Management Solution
+# Copyright (C) 2004-2010 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 .
+#
+##############################################################################
+
+from osv import fields, osv
+from tools.translate import _
+import decimal_precision as dp
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
+import time
+
+class stock_change_product_qty(osv.osv_memory):
+ _name = "stock.change.product.qty"
+ _description = "Change Product Quantity"
+ _columns = {
+ 'new_quantity': fields.float('Quantity', required=True),
+ 'warehouse_id': fields.many2one('stock.warehouse', 'Warehouse', required=True, ondelete="cascade"),
+ 'location_id': fields.many2one('stock.location', 'Location', required=True, ondelete="cascade"),
+ }
+
+ _defaults = {
+ 'warehouse_id': 1 or False,
+ }
+
+
+ def onchange_warehouse_id(self, cr, uid, ids, warehouse_id, context={}):
+ """ Finds location id for changed warehouse.
+ @param warehouse_id: Changed id of warehouse.
+ @return: Dictionary of values.
+ """
+ if warehouse_id:
+ w = self.pool.get('stock.warehouse').browse(cr, uid, warehouse_id, context)
+ v = {'location_id': w.lot_stock_id.id}
+ return {'value': v}
+ return {}
+
+ def default_get(self, cr, uid, fields, context):
+ """ To get default values for the object.
+ @param self: The object pointer.
+ @param cr: A database cursor
+ @param uid: ID of the user currently logged in
+ @param fields: List of fields for which we want default values
+ @param context: A standard dictionary
+ @return: A dictionary which of fields with values.
+ """
+ product_pool = self.pool.get('product.product')
+ product_obj = product_pool.browse(cr, uid, context.get('active_id', False))
+ res = super(stock_change_product_qty, self).default_get(cr, uid, fields, context=context)
+
+ if 'new_quantity' in fields:
+ res.update({'new_quantity': product_obj.qty_available})
+ return res
+
+ def change_product_qty(self, cr, uid, ids, context):
+ """ Changes the Standard Price of Product.
+ And creates an account move accordingly.
+ @param self: The object pointer.
+ @param cr: A database cursor
+ @param uid: ID of the user currently logged in
+ @param ids: List of IDs selected
+ @param context: A standard dictionary
+ @return:
+ """
+ move_ids = []
+ rec_id = context and context.get('active_id', False)
+ assert rec_id, _('Active ID is not set in Context')
+
+ inventry_obj_pool = self.pool.get('stock.inventory')
+ prod_obj_pool = self.pool.get('product.product')
+ move_obj_pool = self.pool.get('stock.move')
+
+ res_original = prod_obj_pool.browse(cr, uid, rec_id)
+ res_update = self.browse(cr, uid, ids)
+
+ move_data ={
+ 'product_qty' : res_update[0].new_quantity,
+ 'location_id' : res_update[0].location_id.id,
+ 'product_id' : rec_id,
+ }
+ datas = {
+ 'name': 'INV:' + str(res_original.name),
+ 'company_id' : 1 or False ,
+ 'date': time.strftime('%Y-%m-%d %H:%M:%S'),
+ 'move_ids': [(6, 0, move_data)]
+ }
+
+# inventry_obj_pool.create(cr , uid, datas, context = context)
+ return {}
+stock_change_product_qty()
diff --git a/addons/stock/wizard/stock_change_product_qty_view.xml b/addons/stock/wizard/stock_change_product_qty_view.xml
new file mode 100644
index 00000000000..9c88f1c51eb
--- /dev/null
+++ b/addons/stock/wizard/stock_change_product_qty_view.xml
@@ -0,0 +1,37 @@
+
+
+
+
+ Change Product Quantity
+ stock.change.product.qty
+ form
+
+
+
+
+
+
+ Change Product Quantity
+ ir.actions.act_window
+ stock.change.product.qty
+ form
+ form
+
+ new
+
+
+
+
+
From dd0510428f13eac487f07cc0739b53df46f668ab Mon Sep 17 00:00:00 2001
From: "P. Christeas"
Date: Fri, 3 Dec 2010 18:45:53 +0200
Subject: [PATCH 15/36] sql_db: only do frame inspection when debugging
This affects the "Cursor not closed explicitly..." message.
The message is at a "warning" level, but the frame inspection added
some expensive overhead to each cursor open. So, avoid that unless we
are at debug mode.
Conflicts:
bin/sql_db.py
bzr revid: p_christ@hol.gr-20101203164553-vudqkoqb0hpfsocj
---
bin/report/interface.py | 7 +-
bin/report/render/render.py | 18 +++-
bin/report/render/rml2pdf/trml2pdf.py | 122 ++++++++++++++++----------
3 files changed, 97 insertions(+), 50 deletions(-)
diff --git a/bin/report/interface.py b/bin/report/interface.py
index 703256d8fcd..6cec28b1c98 100644
--- a/bin/report/interface.py
+++ b/bin/report/interface.py
@@ -186,7 +186,7 @@ class report_rml(report_int):
else:
if 'logo' in self.bin_datas:
del self.bin_datas['logo']
- obj = render.rml(rml, localcontext, self.bin_datas, tools.config['root_path'],title)
+ obj = render.rml(rml, localcontext, self.bin_datas, self._get_path(), title)
obj.render()
return obj.get()
@@ -226,5 +226,10 @@ class report_rml(report_int):
obj.render()
return obj.get()
+ def _get_path(self):
+ ret = []
+ ret.append(self.tmpl.rsplit('/',1)[0]) # Same dir as the report rml
+ ret.append(tools.config['root_path'])
+ return ret
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/bin/report/render/render.py b/bin/report/render/render.py
index 5252288d53d..0d00701ee54 100644
--- a/bin/report/render/render.py
+++ b/bin/report/render/render.py
@@ -36,9 +36,23 @@ import threading
# _render
#
class render(object):
- def __init__(self, bin_datas={}, path='.'):
+ """ Represents a report job being rendered.
+
+ @param bin_datas a dictionary of name: of images etc.
+ @param path the path in which binary files can be discovered, useful
+ for components (images) of the report. It can be:
+ - a string, relative or absolute path to images
+ - a list, containing strings of paths.
+ If a string is absolute path, it will be opened as such, else
+ it will be passed to tools.file_open() which also considers zip
+ addons.
+ """
+ def __init__(self, bin_datas=None, path='.'):
self.done = False
- self.bin_datas = bin_datas
+ if bin_datas is None:
+ self.bin_datas = {}
+ else:
+ self.bin_datas = bin_datas
self.path = path
def _render(self):
diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py
index cbe847eea1c..a964a962442 100644
--- a/bin/report/render/rml2pdf/trml2pdf.py
+++ b/bin/report/render/rml2pdf/trml2pdf.py
@@ -35,6 +35,7 @@ import base64
from reportlab.platypus.doctemplate import ActionFlowable
from tools.safe_eval import safe_eval as eval
from reportlab.lib.units import inch,cm,mm
+from tools.misc import file_open
from reportlab.pdfbase import pdfmetrics
try:
@@ -45,6 +46,27 @@ except ImportError:
encoding = 'utf-8'
+def _open_image(filename, path=None):
+ """Attempt to open a binary file and return the descriptor
+ """
+
+ if os.path.isfile(filename):
+ return open(filename, 'rb')
+ for p in (path or []):
+ if p and os.path.isabs(p):
+ fullpath = os.path.join(p, filename)
+ if os.path.isfile(fullpath):
+ return open(fullpath, 'rb')
+ try:
+ if p:
+ fullpath = os.path.join(p, filename)
+ else:
+ fullpath = filename
+ return file_open(fullpath)
+ except IOError:
+ pass
+ raise IOError("File %s cannot be found in image path" % filename)
+
class NumberedCanvas(canvas.Canvas):
def __init__(self, *args, **kwargs):
canvas.Canvas.__init__(self, *args, **kwargs)
@@ -296,6 +318,7 @@ class _rml_canvas(object):
self.images = images
self.path = path
self.title = title
+ self._logger = logging.getLogger('report.rml.canvas')
if self.title:
self.canvas.setTitle(self.title)
@@ -413,10 +436,13 @@ class _rml_canvas(object):
def _image(self, node):
import urllib
+ import urlparse
from reportlab.lib.utils import ImageReader
- if not node.get('file') :
+ nfile = node.get('file')
+ if not nfile:
if node.get('name'):
image_data = self.images[node.get('name')]
+ self._logger.debug("Image %s used", node.get('name'))
s = StringIO(image_data)
else:
if self.localcontext:
@@ -430,21 +456,30 @@ class _rml_canvas(object):
if image_data:
s = StringIO(image_data)
else:
+ self._logger.debug("No image data!")
return False
else:
- if node.get('file') in self.images:
- s = StringIO(self.images[node.get('file')])
+ if nfile in self.images:
+ s = StringIO(self.images[nfile])
else:
try:
- u = urllib.urlopen(str(node.get('file')))
- s = StringIO(u.read())
- except Exception:
- u = file(os.path.join(self.path,str(node.get('file'))), 'rb')
+ up = urlparse.urlparse(str(nfile))
+ except ValueError:
+ up = False
+ if up and up.scheme:
+ # RFC: do we really want to open external URLs?
+ # Are we safe from cross-site scripting or attacks?
+ self._logger.debug("Retrieve image from %s", nfile)
+ u = urllib.urlopen(str(nfile))
s = StringIO(u.read())
+ else:
+ self._logger.debug("Open image file %s ", nfile)
+ s = _open_image(nfile, path=self.path)
img = ImageReader(s)
(sx,sy) = img.getSize()
+ self._logger.debug("Image is %dx%d", sx, sy)
- args = {}
+ args = { 'x': 0.0, 'y': 0.0 }
for tag in ('width','height','x','y'):
if node.get(tag):
args[tag] = utils.unit_get(node.get(tag))
@@ -540,14 +575,29 @@ class _rml_draw(object):
cnv.render(self.node)
canvas.restoreState()
+class _rml_Illustration(platypus.flowables.Flowable):
+ def __init__(self, node, localcontext, styles, self2):
+ self.localcontext = (localcontext or {}).copy()
+ self.node = node
+ self.styles = styles
+ self.width = utils.unit_get(node.get('width'))
+ self.height = utils.unit_get(node.get('height'))
+ self.self2 = self2
+ def wrap(self, *args):
+ return (self.width, self.height)
+ def draw(self):
+ drw = _rml_draw(self.localcontext ,self.node,self.styles, images=self.self2.images, path=self.self2.path, title=self.self2.title)
+ drw.render(self.canv, None)
+
class _rml_flowable(object):
- def __init__(self, doc, localcontext, images={}, path='.', title=None):
+ def __init__(self, doc, localcontext, images=None, path='.', title=None):
self.localcontext = localcontext
self.doc = doc
self.styles = doc.styles
- self.images = images
+ self.images = images or {}
self.path = path
self.title = title
+ self._logger = logging.getLogger('report.rml.flowable')
def _textual(self, node):
rc1 = utils._process_text(self, node.text or '')
@@ -638,21 +688,7 @@ class _rml_flowable(object):
return table
def _illustration(self, node):
- class Illustration(platypus.flowables.Flowable):
- def __init__(self, node, localcontext, styles, self2):
- self.localcontext = (localcontext or {}).copy()
- self.node = node
- self.styles = styles
- self.width = utils.unit_get(node.get('width'))
- self.height = utils.unit_get(node.get('height'))
- self.self2 = self2
- def wrap(self, *args):
- return (self.width, self.height)
- def draw(self):
- canvas = self.canv
- drw = _rml_draw(self.localcontext ,self.node,self.styles, images=self.self2.images, path=self.self2.path, title=self.self2.title)
- drw.render(self.canv, None)
- return Illustration(node, self.localcontext, self.styles, self)
+ return _rml_Illustration(node, self.localcontext, self.styles, self)
def _textual_image(self, node):
return base64.decodestring(node.text)
@@ -698,6 +734,7 @@ class _rml_flowable(object):
from reportlab.graphics.barcode import fourstate
from reportlab.graphics.barcode import usps
except Exception, e:
+ self._logger.warning("Cannot use barcode renderers:", exc_info=True)
return None
args = utils.attr_get(node, [], {'ratio':'float','xdim':'unit','height':'unit','checksum':'int','quiet':'int','width':'unit','stop':'bool','bearers':'int','barWidth':'float','barHeight':'float'})
codes = {
@@ -739,38 +776,29 @@ class _rml_flowable(object):
style = styles['Heading'+str(node.tag[1:])]
return platypus.Paragraph(self._textual(node), style, **(utils.attr_get(node, [], {'bulletText':'str'})))
elif node.tag=='image':
+ image_data = False
if not node.get('file'):
if node.get('name'):
- image_data = self.doc.images[node.get('name')].read()
+ if node.get('name') in self.doc.images:
+ self._logger.debug("Image %s read ", node.get('name'))
+ image_data = self.doc.images[node.get('name')].read()
+ else:
+ self._logger.warning("Image %s not defined", node.get('name'))
+ return False
else:
import base64
if self.localcontext:
newtext = utils._process_text(self, node.text or '')
node.text = newtext
image_data = base64.decodestring(node.text)
- if not image_data: return False
+ if not image_data:
+ self._logger.debug("No inline image data")
+ return False
image = StringIO(image_data)
- return platypus.Image(image, mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height'])))
else:
- return platypus.Image(node.get('file'), mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height'])))
- from reportlab.lib.utils import ImageReader
- name = str(node.get('file'))
- img = ImageReader(name)
- (sx,sy) = img.getSize()
- args = {}
- for tag in ('width','height'):
- if node.get(tag):
- args[tag] = utils.unit_get(node.get(tag))
- if ('width' in args) and (not 'height' in args):
- args['height'] = sy * args['width'] / sx
- elif ('height' in args) and (not 'width' in args):
- args['width'] = sx * args['height'] / sy
- elif ('width' in args) and ('height' in args):
- if (float(args['width'])/args['height'])>(float(sx)>sy):
- args['width'] = sx * args['height'] / sy
- else:
- args['height'] = sy * args['width'] / sx
- return platypus.Image(name, mask=(250,255,250,255,250,255), **args)
+ self._logger.debug("Image get from file %s", node.get('file'))
+ image = _open_image(node.get('file'), path=self.doc.path)
+ return platypus.Image(image, mask=(250,255,250,255,250,255), **(utils.attr_get(node, ['width','height'])))
elif node.tag=='spacer':
if node.get('width'):
width = utils.unit_get(node.get('width'))
From ee07fda232284e0a57db225882d3acf70f17aa61 Mon Sep 17 00:00:00 2001
From: "P. Christeas"
Date: Fri, 3 Dec 2010 18:46:06 +0200
Subject: [PATCH 16/36] ir.values: do return the search_view_id of action
windows [Bug 681479]
Partially revert cadc172a2cd09, that prevented both that field and
"search_view" from being read. While the latter one is expensive to
compute, the "search_view_id" is pretty harmless. GTK client (at least)
depends on that to select the appropriate search view.
bzr revid: p_christ@hol.gr-20101203164606-qdjfg0o7ybe0h2i1
---
bin/addons/base/ir/ir_values.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py
index 602e2a10a80..babd98de282 100644
--- a/bin/addons/base/ir/ir_values.py
+++ b/bin/addons/base/ir/ir_values.py
@@ -26,8 +26,7 @@ from tools.translate import _
EXCLUDED_FIELDS = set((
'report_sxw_content', 'report_rml_content', 'report_sxw', 'report_rml',
- 'report_sxw_content_data', 'report_rml_content_data', 'search_view',
- 'search_view_id'))
+ 'report_sxw_content_data', 'report_rml_content_data', 'search_view', ))
class ir_values(osv.osv):
_name = 'ir.values'
@@ -205,6 +204,12 @@ class ir_values(osv.osv):
datas = datas and datas[0]
if not datas:
return False
+ if model == 'ir.actions.act_window' \
+ and 'search_view_id' in datas \
+ and datas['search_view_id']:
+ # GTK client has a bug, where it expects only the integer id
+ # rather than [id, name] (of many2one fields)
+ datas['search_view_id'] = datas['search_view_id'][0]
else:
datas = pickle.loads(x[2].encode('utf-8'))
if meta:
From 3f511d602da11c3ce863d215344db31434f01052 Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Mon, 6 Dec 2010 10:40:53 +0530
Subject: [PATCH 17/36] [IMP]:Improve code
bzr revid: ksa@tinyerp.co.in-20101206051053-dbk72tsdtfkkwde0
---
addons/procurement/procurement.py | 3 ---
1 file changed, 3 deletions(-)
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index 1800249ed9b..17dc6f6e928 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -496,11 +496,8 @@ class stock_warehouse_orderpoint(osv.osv):
result = {}
procurement_obj = self.pool.get('procurement.order')
for data in self.browse(cr, uid, ids, context=context):
- procurement_id = []
- result[data.id] = procurement_id
procurement_ids = procurement_obj.search(cr, uid , [('state','=','draft'),('product_id','=',data.product_id.id),('location_id','=',data.location_id.id)])
- procurement_ids.sort()
result[data.id] = procurement_ids
return result
From 7969b68250bdeb0a94818ac70f8c246db5b82786 Mon Sep 17 00:00:00 2001
From: "ksa (Open ERP)"
Date: Mon, 6 Dec 2010 11:04:21 +0530
Subject: [PATCH 18/36] [IMP]:Improve in wizard of schedular
bzr revid: ksa@tinyerp.co.in-20101206053421-fr6j4hvo056xm5fv
---
addons/procurement/schedulers.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index dd99da63231..b59923e5696 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -252,7 +252,7 @@ class procurement_order(osv.osv):
if to_generate >= proc:
wf_service.trg_validate(uid, 'procurement.order', procure_qty[proc], 'button_confirm', cr)
wf_service.trg_validate(uid, 'procurement.order', procure_qty[proc], 'button_check', cr)
- procurement_obj.write(cr, uid, [pro_qty[proc]], {'origin': op.name}, context=context)
+ procurement_obj.write(cr, uid, [procure_qty[proc]], {'origin': op.name}, context=context)
to_generate -= proc
if not to_generate:
break
From 5bf68228b19b20b703d15db5bf2b41c3f1a8808d Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Mon, 6 Dec 2010 12:37:13 +0530
Subject: [PATCH 19/36] [IMP]wizard to change Product Quantity from Product
form View
bzr revid: ron@tinyerp.com-20101206070713-1z79mqwilnhf11h1
---
addons/stock/product_view.xml | 2 +-
.../stock/wizard/stock_change_product_qty.py | 25 +++++++++++++------
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/addons/stock/product_view.xml b/addons/stock/product_view.xml
index 04344e18c16..3a408afa87a 100644
--- a/addons/stock/product_view.xml
+++ b/addons/stock/product_view.xml
@@ -106,7 +106,7 @@
+ type="action" icon="gtk-execute" groups = "stock.group_stock_manager,product.group_product_manager"/>
diff --git a/addons/stock/wizard/stock_change_product_qty.py b/addons/stock/wizard/stock_change_product_qty.py
index efceb833644..efce2eee4c3 100644
--- a/addons/stock/wizard/stock_change_product_qty.py
+++ b/addons/stock/wizard/stock_change_product_qty.py
@@ -83,24 +83,33 @@ class stock_change_product_qty(osv.osv_memory):
assert rec_id, _('Active ID is not set in Context')
inventry_obj_pool = self.pool.get('stock.inventory')
+ inventry_line_obj_pool = self.pool.get('stock.inventory.line')
prod_obj_pool = self.pool.get('product.product')
move_obj_pool = self.pool.get('stock.move')
res_original = prod_obj_pool.browse(cr, uid, rec_id)
res_update = self.browse(cr, uid, ids)
- move_data ={
+ datas = {
+ 'name': 'INV:' + str(res_original.name),
+ 'company_id' : self.pool.get('res.users').browse(cr, uid, uid).company_id.id or False ,
+ 'date': time.strftime('%Y-%m-%d %H:%M:%S'),
+ }
+
+ invntry_id = inventry_obj_pool.create(cr , uid, datas, context = context)
+
+ line_data ={
+ 'inventory_id' : invntry_id,
'product_qty' : res_update[0].new_quantity,
'location_id' : res_update[0].location_id.id,
'product_id' : rec_id,
+ 'product_uom' : res_original.uom_id.id,
+ 'company_id' : self.pool.get('res.users').browse(cr, uid, uid).company_id.id or False ,
+ 'state' : 'draft'
}
- datas = {
- 'name': 'INV:' + str(res_original.name),
- 'company_id' : 1 or False ,
- 'date': time.strftime('%Y-%m-%d %H:%M:%S'),
- 'move_ids': [(6, 0, move_data)]
- }
+ line_id = inventry_line_obj_pool.create(cr , uid, line_data, context = context)
-# inventry_obj_pool.create(cr , uid, datas, context = context)
+ inventry_obj_pool.action_confirm(cr, uid, [invntry_id], context = context)
+ inventry_obj_pool.action_done(cr, uid, [invntry_id], context = context)
return {}
stock_change_product_qty()
From cdbdc6e29c80206930b70387e6ac9348586a8b62 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Mon, 6 Dec 2010 16:43:42 +0530
Subject: [PATCH 20/36] [FIX]mrp:procurement from orderpoints is generated for
non-active,non-purchasable products
lp bug: https://launchpad.net/bugs/627936 fixed
bzr revid: ron@tinyerp.com-20101206111342-bw85c5h0ckn6v0mq
---
addons/procurement/schedulers.py | 59 ++++++++++++++++----------------
1 file changed, 30 insertions(+), 29 deletions(-)
diff --git a/addons/procurement/schedulers.py b/addons/procurement/schedulers.py
index b3d3c3bb98d..56bd7e0398a 100644
--- a/addons/procurement/schedulers.py
+++ b/addons/procurement/schedulers.py
@@ -34,14 +34,14 @@ class procurement_order(osv.osv):
def _procure_confirm(self, cr, uid, ids=None, use_new_cursor=False, context=None):
'''
Call the scheduler to check the procurement order
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param uid: The current user ID for security checks
@param ids: List of selected IDs
@param use_new_cursor: False or the dbname
@param context: A standard dictionary for contextual values
- @return: Dictionary of values
+ @return: Dictionary of values
'''
if not context:
context = {}
@@ -50,7 +50,7 @@ class procurement_order(osv.osv):
if use_new_cursor:
cr = pooler.get_db(use_new_cursor).cursor()
wf_service = netsvc.LocalService("workflow")
-
+
procurement_obj = self.pool.get('procurement.order')
if not ids:
ids = procurement_obj.search(cr, uid, [], order="date_planned")
@@ -112,13 +112,13 @@ class procurement_order(osv.osv):
if uid:
request = self.pool.get('res.request')
summary = '''Here is the procurement scheduling report.
-
+
Start Time: %s
End Time: %s
Total Procurements processed: %d
Procurements with exceptions: %d
Skipped Procurements (scheduled date outside of scheduler range) %d
-
+
Exceptions:\n'''% (start_date, end_date, report_total, report_except, report_later)
summary += '\n'.join(report)
request.create(cr, uid,
@@ -141,7 +141,7 @@ class procurement_order(osv.osv):
def create_automatic_op(self, cr, uid, context=None):
"""
Create procurement of virtual stock < 0
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param uid: The current user ID for security checks
@@ -163,42 +163,43 @@ class procurement_order(osv.osv):
for warehouse in warehouse_obj.browse(cr, uid, warehouse_ids, context=context):
context['warehouse'] = warehouse
for product in product_obj.browse(cr, uid, products_id, context=context):
- if product.virtual_available >= 0.0:
- continue
+ if (product.active == True) and (product.purchase_ok == True):
+ if product.virtual_available >= 0.0:
+ continue
- newdate = datetime.today()
- if product.supply_method == 'buy':
- location_id = warehouse.lot_input_id.id
- elif product.supply_method == 'produce':
- location_id = warehouse.lot_stock_id.id
- else:
- continue
- proc_id = proc_obj.create(cr, uid, {
- 'name': _('Automatic OP: %s') % (product.name,),
- 'origin': _('SCHEDULER'),
- 'date_planned': newdate.strftime('%Y-%m-%d %H:%M:%S'),
- 'product_id': product.id,
- 'product_qty': -product.virtual_available,
- 'product_uom': product.uom_id.id,
- 'location_id': location_id,
- 'procure_method': 'make_to_order',
- })
- wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
- wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)
+ newdate = datetime.today()
+ if product.supply_method == 'buy':
+ location_id = warehouse.lot_input_id.id
+ elif product.supply_method == 'produce':
+ location_id = warehouse.lot_stock_id.id
+ else:
+ continue
+ proc_id = proc_obj.create(cr, uid, {
+ 'name': _('Automatic OP: %s') % (product.name,),
+ 'origin': _('SCHEDULER'),
+ 'date_planned': newdate.strftime('%Y-%m-%d %H:%M:%S'),
+ 'product_id': product.id,
+ 'product_qty': -product.virtual_available,
+ 'product_uom': product.uom_id.id,
+ 'location_id': location_id,
+ 'procure_method': 'make_to_order',
+ })
+ wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_confirm', cr)
+ wf_service.trg_validate(uid, 'procurement.order', proc_id, 'button_check', cr)
def _procure_orderpoint_confirm(self, cr, uid, automatic=False,\
use_new_cursor=False, context=None, user_id=False):
'''
Create procurement based on Orderpoint
use_new_cursor: False or the dbname
-
+
@param self: The object pointer
@param cr: The current row, from the database cursor,
@param user_id: The current user ID for security checks
@param context: A standard dictionary for contextual values
@param param: False or the dbname
@return: Dictionary of values
- """
+ """
'''
if not context:
context = {}
From 77134eca558999c5389a1d408cba1cb017916db9 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 6 Dec 2010 13:40:52 +0100
Subject: [PATCH 21/36] [FIX] report.trml2pdf: fix path to locate in
RML
lp bug: https://launchpad.net/bugs/586066 fixed
bzr revid: odo@openerp.com-20101206124052-01bp2395vxaenzry
---
bin/report/render/rml2pdf/trml2pdf.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/bin/report/render/rml2pdf/trml2pdf.py b/bin/report/render/rml2pdf/trml2pdf.py
index ef26951c4db..b609528177e 100644
--- a/bin/report/render/rml2pdf/trml2pdf.py
+++ b/bin/report/render/rml2pdf/trml2pdf.py
@@ -277,24 +277,24 @@ class _rml_doc(object):
def _images(self, el):
result = {}
- for node in el.findall('image'):
+ for node in el.findall('.//image'):
rc =( node.text or '')
result[node.get('name')] = base64.decodestring(rc)
return result
def render(self, out):
- el = self.etree.findall('docinit')
+ el = self.etree.findall('.//docinit')
if el:
self.docinit(el)
- el = self.etree.findall('stylesheet')
+ el = self.etree.findall('.//stylesheet')
self.styles = _rml_styles(el,self.localcontext)
- el = self.etree.findall('images')
+ el = self.etree.findall('.//images')
if el:
self.images.update( self._images(el[0]) )
- el = self.etree.findall('template')
+ el = self.etree.findall('.//template')
if len(el):
pt_obj = _rml_template(self.localcontext, out, el[0], self, images=self.images, path=self.path, title=self.title)
el = utils._child_get(self.etree, self, 'story')
From efa0acb9cd92500502f3689f3efb3b43430de046 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Mon, 6 Dec 2010 18:12:05 +0530
Subject: [PATCH 22/36] [FIX]Return packingnumber hardcoded bug:-671172
lp bug: https://launchpad.net/bugs/671172 fixed
bzr revid: ron@tinyerp.com-20101206124205-flnt4re9e5ssalh5
---
addons/stock/wizard/stock_return_picking.py | 38 ++++++++++-----------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/addons/stock/wizard/stock_return_picking.py b/addons/stock/wizard/stock_return_picking.py
index cf6f7c4b1bd..a2d70b91a4b 100644
--- a/addons/stock/wizard/stock_return_picking.py
+++ b/addons/stock/wizard/stock_return_picking.py
@@ -56,16 +56,16 @@ class stock_return_picking(osv.osv_memory):
return res
def view_init(self, cr, uid, fields_list, context=None):
- """
+ """
Creates view dynamically and adding fields at runtime.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param context: A standard dictionary
+ @param context: A standard dictionary
@return: New arch of view with new columns.
"""
res = super(stock_return_picking, self).view_init(cr, uid, fields_list, context=context)
- record_id = context and context.get('active_id', False)
+ record_id = context and context.get('active_id', False)
if record_id:
pick_obj = self.pool.get('stock.picking')
pick = pick_obj.browse(cr, uid, record_id)
@@ -87,15 +87,15 @@ class stock_return_picking(osv.osv_memory):
if not valid_lines:
raise osv.except_osv(_('Warning !'), _("There are no products to return (only lines in Done state and not fully returned yet can be returned)!"))
return res
-
- def fields_view_get(self, cr, uid, view_id=None, view_type='form',
+
+ def fields_view_get(self, cr, uid, view_id=None, view_type='form',
context=None, toolbar=False, submenu=False):
- """
+ """
Changes the view dynamically
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param context: A standard dictionary
+ @param context: A standard dictionary
@return: New arch of view.
"""
res = super(stock_return_picking, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
@@ -116,7 +116,7 @@ class stock_return_picking(osv.osv_memory):
quantity = m.product_qty
if m.state=='done' and quantity > return_history[m.id]:
arch_lst.append('\n' % (m.id,))
- res['fields']['return%s' % m.id]={'string':m.name, 'type':'float', 'required':True}
+ res['fields']['return%s' % m.id]={'string':m.name, 'type':'float', 'required':True}
res.setdefault('returns', []).append(m.id)
arch_lst.append('\n')
res['fields']['invoice_state']={'string':_('Invoicing'), 'type':'selection','required':True, 'selection':[('2binvoiced', _('To be refunded/invoiced')), ('none', _('No invoicing'))]}
@@ -129,26 +129,26 @@ class stock_return_picking(osv.osv_memory):
return res
def create_returns(self, cr, uid, ids, context):
- """
+ """
Creates return picking.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
- @param ids: List of ids selected
- @param context: A standard dictionary
- @return: A dictionary which of fields with values.
- """
+ @param ids: List of ids selected
+ @param context: A standard dictionary
+ @return: A dictionary which of fields with values.
+ """
record_id = context and context.get('active_id', False) or False
move_obj = self.pool.get('stock.move')
pick_obj = self.pool.get('stock.picking')
uom_obj = self.pool.get('product.uom')
wf_service = netsvc.LocalService("workflow")
-
+
pick = pick_obj.browse(cr, uid, record_id)
data = self.read(cr, uid, ids[0])
new_picking = None
date_cur = time.strftime('%Y-%m-%d %H:%M:%S')
-
+
set_invoice_state_to_none = True
returned_lines = 0
for move in pick.move_lines:
@@ -159,22 +159,22 @@ class stock_return_picking(osv.osv_memory):
new_type = 'out'
else:
new_type = 'internal'
- new_picking = pick_obj.copy(cr, uid, pick.id, {'name':'%s (return)' % pick.name,
+ new_picking = pick_obj.copy(cr, uid, pick.id, {'name':'%s-return' % pick.name,
'move_lines':[], 'state':'draft', 'type':new_type,
'date':date_cur, 'invoice_state':data['invoice_state'],})
new_location=move.location_dest_id.id
if move.state=='done':
new_qty = data['return%s' % move.id]
returned_qty = move.product_qty
-
+
for rec in move.move_history_ids2:
returned_qty -= rec.product_qty
-
+
if returned_qty != new_qty:
set_invoice_state_to_none = False
if new_qty:
- returned_lines += 1
+ returned_lines += 1
new_move=move_obj.copy(cr, uid, move.id, {
'product_qty': new_qty,
'product_uos_qty': uom_obj._compute_qty(cr, uid, move.product_uom.id,
From 6f0660eaa075fe46b921583bd8e253d6bfd40058 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 6 Dec 2010 14:18:18 +0100
Subject: [PATCH 23/36] [FIX] orm.read_group: support ordering by any field
(not just m2o ones)
bzr revid: odo@openerp.com-20101206131818-ibah9gt409jbil3l
---
bin/osv/orm.py | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/bin/osv/orm.py b/bin/osv/orm.py
index 4a54267053c..b66aa390e57 100644
--- a/bin/osv/orm.py
+++ b/bin/osv/orm.py
@@ -2299,19 +2299,14 @@ class orm(orm_template):
if val == None: r[fld] = False
alldata[r['id']] = r
del r['id']
- if groupby and fget[groupby]['type'] == 'many2one':
- data_ids = self.search(cr, uid, [('id', 'in', alldata.keys())], order=orderby or groupby, context=context)
- # the IDS of the records that has groupby field value = False or ''
- # should be added too
- data_ids += filter(lambda x:x not in data_ids, alldata.keys())
- data = self.read(cr, uid, data_ids, groupby and [groupby] or ['id'], context=context)
- # restore order of the search as read() uses the default _order (this is only for groups, so the size of data_read shoud be small):
- data.sort(lambda x,y: cmp(data_ids.index(x['id']), data_ids.index(y['id'])))
- else:
- #FIXME: handle orderby param for non-m2o too!
- data = self.read(cr, uid, alldata.keys(), groupby and [groupby] or ['id'], context=context)
- if groupby:
- data.sort(lambda x,y:cmp(x[groupby],y[groupby]))
+
+ data_ids = self.search(cr, uid, [('id', 'in', alldata.keys())], order=orderby or groupby, context=context)
+ # the IDS of records that have groupby field value = False or '' should be sorted too
+ data_ids += filter(lambda x:x not in data_ids, alldata.keys())
+ data = self.read(cr, uid, data_ids, groupby and [groupby] or ['id'], context=context)
+ # restore order of the search as read() uses the default _order (this is only for groups, so the size of data_read shoud be small):
+ data.sort(lambda x,y: cmp(data_ids.index(x['id']), data_ids.index(y['id'])))
+
for d in data:
if groupby:
d['__domain'] = [(groupby, '=', alldata[d['id']][groupby] or False)] + domain
From 9b25bd6eb49bd02c5f6a3d8e3f6e0a0bee2da17f Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 6 Dec 2010 14:19:28 +0100
Subject: [PATCH 24/36] [FIX] ir_values: revert GTK-specific hack for
search_view_id after GTK client was fixed
bzr revid: odo@openerp.com-20101206131928-2ew6lqe1lz55vwh1
---
bin/addons/base/ir/ir_values.py | 6 ------
1 file changed, 6 deletions(-)
diff --git a/bin/addons/base/ir/ir_values.py b/bin/addons/base/ir/ir_values.py
index babd98de282..79b1b5e338c 100644
--- a/bin/addons/base/ir/ir_values.py
+++ b/bin/addons/base/ir/ir_values.py
@@ -204,12 +204,6 @@ class ir_values(osv.osv):
datas = datas and datas[0]
if not datas:
return False
- if model == 'ir.actions.act_window' \
- and 'search_view_id' in datas \
- and datas['search_view_id']:
- # GTK client has a bug, where it expects only the integer id
- # rather than [id, name] (of many2one fields)
- datas['search_view_id'] = datas['search_view_id'][0]
else:
datas = pickle.loads(x[2].encode('utf-8'))
if meta:
From 8d5d7b1cbe71971f37e74661fee76dff2e97b0e6 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Mon, 6 Dec 2010 15:10:53 +0100
Subject: [PATCH 25/36] [FIX] base: missing import _() in base_module_upgrade
lp bug: https://launchpad.net/bugs/685949 fixed
bzr revid: odo@openerp.com-20101206141053-ckisp97vg8herdnr
---
bin/addons/base/module/wizard/base_module_upgrade.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bin/addons/base/module/wizard/base_module_upgrade.py b/bin/addons/base/module/wizard/base_module_upgrade.py
index d712b3ccf77..fd9bde9a129 100644
--- a/bin/addons/base/module/wizard/base_module_upgrade.py
+++ b/bin/addons/base/module/wizard/base_module_upgrade.py
@@ -20,8 +20,8 @@
##############################################################################
import pooler
-import wizard
from osv import osv, fields
+from tools.translate import _
class base_module_upgrade(osv.osv_memory):
""" Module Upgrade """
From 3bde229bc3214e07303b0af4b966349ed1d97465 Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Tue, 7 Dec 2010 04:57:45 +0000
Subject: [PATCH 26/36] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20101207045745-va45z3pzzv6xten7
---
bin/addons/base/i18n/el.po | 90 +++---
bin/addons/base/i18n/es.po | 4 +-
bin/addons/base/i18n/fr.po | 26 +-
bin/addons/base/i18n/pt.po | 577 ++++++++++++++++++++--------------
bin/addons/base/i18n/pt_BR.po | 35 ++-
bin/addons/base/i18n/ro.po | 216 ++++++-------
bin/addons/base/i18n/sv.po | 130 ++++----
debian/po/ro.po | 13 +-
8 files changed, 627 insertions(+), 464 deletions(-)
diff --git a/bin/addons/base/i18n/el.po b/bin/addons/base/i18n/el.po
index dda0ebecaf1..56d9cd0466e 100644
--- a/bin/addons/base/i18n/el.po
+++ b/bin/addons/base/i18n/el.po
@@ -6,13 +6,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-03 07:26+0000\n"
-"Last-Translator: OpenERP Administrators \n"
+"PO-Revision-Date: 2010-12-07 01:01+0000\n"
+"Last-Translator: Dimitrios Ntoulas \n"
"Language-Team: nls@hellug.gr \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-12-04 05:12+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
@@ -2916,7 +2916,7 @@ msgstr "tree_but_action, client_print_multi"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_retailers0
msgid "Retailers"
-msgstr ""
+msgstr "Μεταπωλητές"
#. module: base
#: help:ir.cron,priority:0
@@ -3729,7 +3729,7 @@ msgstr ""
#: model:ir.actions.server,name:base.action_start_configurator
#: model:ir.ui.menu,name:base.menu_view_base_module_configuration
msgid "Start Configuration"
-msgstr ""
+msgstr "Έναρξη Παραμετροποίησης"
#. module: base
#: view:ir.module.module:0
@@ -4181,7 +4181,7 @@ msgstr "Πλήρες Όνομα"
#. module: base
#: view:base.module.configuration:0
msgid "_Ok"
-msgstr ""
+msgstr "_Οκ"
#. module: base
#: help:ir.filters,user_id:0
@@ -4221,7 +4221,7 @@ msgstr "On Multiple Doc."
#: view:res.partner:0
#: field:res.partner,user_id:0
msgid "Salesman"
-msgstr ""
+msgstr "Πωλητής"
#. module: base
#: field:res.partner,address:0
@@ -4269,7 +4269,7 @@ msgstr ""
#. module: base
#: selection:ir.property,type:0
msgid "Integer"
-msgstr ""
+msgstr "Ακέραιος"
#. module: base
#: help:ir.actions.report.xml,report_rml:0
@@ -4631,7 +4631,7 @@ msgstr "1cm 28cm 20cm 28cm"
#. module: base
#: field:ir.module.module,maintainer:0
msgid "Maintainer"
-msgstr ""
+msgstr "Προγραμματιστής"
#. module: base
#: field:ir.sequence,suffix:0
@@ -4802,7 +4802,7 @@ msgstr "res.partner.event"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_sms_send
msgid "SMS Send"
-msgstr ""
+msgstr "Αποστολή γραπτού μηνύματος"
#. module: base
#: field:res.company,user_ids:0
@@ -5187,7 +5187,7 @@ msgstr "Συμπλήρωση αριθμών"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Report"
-msgstr ""
+msgstr "Αναφορά"
#. module: base
#: model:res.country,name:base.ua
@@ -5218,7 +5218,7 @@ msgstr "Οδηγός Παραπομπών"
#. module: base
#: view:ir.ui.view:0
msgid "Architecture"
-msgstr ""
+msgstr "Αρχιτεκτονική"
#. module: base
#: model:res.country,name:base.ml
@@ -5369,6 +5369,7 @@ msgstr ""
#, python-format
msgid "You cannot delete the language which is User's Preferred Language !"
msgstr ""
+"Δεν μπορείτε να διαγράψετε τη γλώσσα που είναι προτιμώμενη από τον χρήστη!"
#. module: base
#: view:ir.actions.server:0
@@ -5554,7 +5555,7 @@ msgstr "Περιγραφή Πεδίων"
#: view:res.partner.address:0
#: view:workflow.activity:0
msgid "Group By..."
-msgstr ""
+msgstr "Ομαδοποίηση ανά..."
#. module: base
#: view:ir.model.fields:0
@@ -5788,7 +5789,7 @@ msgstr ""
#. module: base
#: view:ir.actions.todo:0
msgid "Todo"
-msgstr ""
+msgstr "Προς υλοποίηση"
#. module: base
#: field:ir.attachment,datas:0
@@ -5912,7 +5913,7 @@ msgstr "maintenance.contract.wizard"
#: model:ir.ui.menu,name:base.menu_sale_config_sales
#: model:ir.ui.menu,name:base.menu_sales
msgid "Sales"
-msgstr ""
+msgstr "Πωλήσεις"
#. module: base
#: field:ir.actions.server,child_ids:0
@@ -5963,7 +5964,7 @@ msgstr "Italy"
#: view:ir.actions.todo:0
#: selection:ir.actions.todo,state:0
msgid "To Do"
-msgstr ""
+msgstr "Προς υλοποίηση"
#. module: base
#: selection:base.language.install,lang:0
@@ -5975,7 +5976,7 @@ msgstr "Estonian / Eesti keel"
#: field:res.partner,email:0
#: field:res.users,email:0
msgid "E-mail"
-msgstr ""
+msgstr "E-mail"
#. module: base
#: selection:ir.module.module,license:0
@@ -6095,7 +6096,7 @@ msgstr "Προεπιλεγμένη Τιμή"
#. module: base
#: model:ir.ui.menu,name:base.menu_tools
msgid "Tools"
-msgstr ""
+msgstr "Εργαλεία"
#. module: base
#: model:res.country,name:base.kn
@@ -6195,6 +6196,8 @@ msgid ""
"You cannot delete the language which is Active !\n"
"Please de-activate the language first."
msgstr ""
+"Δεν μπορείτε να διαγράψετε τη γλώσσα η οποία είναι ενεργή!\n"
+"Παρακαλούμε να απενεργοποιήσετε τη γλώσσα πρώτα."
#. module: base
#: view:base.language.install:0
@@ -6203,6 +6206,8 @@ msgid ""
"Please be patient, this operation may take a few minutes (depending on the "
"number of modules currently installed)..."
msgstr ""
+"Παρακαλώ να είστε υπομονετικοί, αυτή η λειτουργία μπορεί να διαρκέσει λίγα "
+"λεπτά (ανάλογα με τον αριθμό των πρόσθετων που είναι εγκατεστημένα) ..."
#. module: base
#: field:ir.ui.menu,child_id:0
@@ -6339,7 +6344,7 @@ msgstr ""
#. module: base
#: view:base.module.upgrade:0
msgid "Start update"
-msgstr ""
+msgstr "Έναρξη ενημέρωσης"
#. module: base
#: field:res.country.state,name:0
@@ -6490,7 +6495,7 @@ msgstr "Φίλτρο"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_madam
msgid "Ms."
-msgstr ""
+msgstr "Κα/Δς"
#. module: base
#: model:res.country,name:base.ch
@@ -6570,17 +6575,17 @@ msgstr "Arguments"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 2"
-msgstr ""
+msgstr "GPL Έκδοση 2"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 3"
-msgstr ""
+msgstr "GPL Έκδοση 3"
#. module: base
#: view:partner.wizard.ean.check:0
msgid "Correct EAN13"
-msgstr ""
+msgstr "Σωστός EAN13"
#. module: base
#: model:ir.ui.menu,name:base.menu_audit
@@ -6660,7 +6665,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_wizard_lang_export
#: model:ir.ui.menu,name:base.menu_wizard_lang_export
msgid "Export Translation"
-msgstr ""
+msgstr "Εξαγωγή Μετάφρασης"
#. module: base
#: model:ir.actions.act_window,name:base.action_server_action
@@ -6682,7 +6687,7 @@ msgstr "Υπόμνημα μορφών ώρας και ημερ/νίας"
#. module: base
#: selection:ir.actions.server,state:0
msgid "Copy Object"
-msgstr ""
+msgstr "Αντιγραφή Αντικειμένου"
#. module: base
#: code:addons/base/res/res_user.py:0
@@ -6751,7 +6756,7 @@ msgstr "Λεπτά: %(min)s"
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
msgid "Synchronize Translations"
-msgstr ""
+msgstr "Συγχρονισμός μεταφράσεων"
#. module: base
#: model:ir.ui.menu,name:base.next_id_10
@@ -6795,7 +6800,7 @@ msgstr "Loop Expression"
#. module: base
#: help:res.partner,website:0
msgid "Website of Partner"
-msgstr ""
+msgstr "Ιστοσελίδα του Συνεργάτη"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_5
@@ -6972,7 +6977,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_view_base_import_language
#: model:ir.ui.menu,name:base.menu_view_base_import_language
msgid "Import Translation"
-msgstr ""
+msgstr "Εισαγωγή Μετάφρασης"
#. module: base
#: field:res.partner.bank.type,field_ids:0
@@ -7130,7 +7135,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_emails
#: model:ir.ui.menu,name:base.menu_mail_gateway
msgid "Emails"
-msgstr ""
+msgstr "Emails"
#. module: base
#: model:res.country,name:base.cd
@@ -7341,6 +7346,9 @@ msgid ""
"loading a new language it becomes available as default interface language "
"for users and partners."
msgstr ""
+"Αυτός ο οδηγός σας βοηθά να προσθέσετε μια νέα γλώσσα για το σύστημα του "
+"OpenERP. Μετά τη φόρτωση μιας νέας γλώσσας είναι διαθέσιμη, ως προεπιλεγμένη "
+"γλώσσα περιβάλλοντος για τους χρήστες και τους συνεργάτες."
#. module: base
#: field:ir.actions.server,subject:0
@@ -7358,7 +7366,7 @@ msgstr "Από"
#. module: base
#: view:res.users:0
msgid "Preferences"
-msgstr ""
+msgstr "Προτιμήσεις"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_consumers0
@@ -7389,7 +7397,7 @@ msgstr ""
#. module: base
#: view:ir.actions.report.xml:0
msgid "Miscellaneous"
-msgstr ""
+msgstr "Διάφορα"
#. module: base
#: model:res.country,name:base.cn
@@ -7571,7 +7579,7 @@ msgstr "Chile (Χιλή)"
#: model:ir.ui.menu,name:base.menu_config_address_book
#: model:ir.ui.menu,name:base.menu_procurement_management_supplier
msgid "Address Book"
-msgstr ""
+msgstr "Βιβλίο Διευθύνσεων"
#. module: base
#: model:ir.model,name:base.model_ir_sequence_type
@@ -7706,7 +7714,7 @@ msgstr ""
#. module: base
#: selection:ir.ui.view,type:0
msgid "Diagram"
-msgstr ""
+msgstr "Διάγραμμα"
#. module: base
#: help:multi_company.default,name:0
@@ -7847,7 +7855,7 @@ msgstr "Προγραμματισμός εγκατάστασης"
#. module: base
#: model:ir.model,name:base.model_partner_wizard_ean_check
msgid "Ean Check"
-msgstr ""
+msgstr "Έλεγχος EAN"
#. module: base
#: sql_constraint:res.config.users:0
@@ -7909,7 +7917,7 @@ msgstr "Εκκίνηση ρυθμίσεων"
#. module: base
#: view:base.language.export:0
msgid "_Export"
-msgstr ""
+msgstr "_Εξαγωγή"
#. module: base
#: field:base.language.install,state:0
@@ -8190,6 +8198,8 @@ msgid ""
"Supported file formats: *.csv (Comma-separated values) or *.po (GetText "
"Portable Objects)"
msgstr ""
+"Υποστηριζόμενες μορφές αρχείων *.csv (Comma-separated values) ή *.po "
+"(GetText Portable Objects)"
#. module: base
#: field:maintenance.contract.wizard,state:0
@@ -8263,7 +8273,7 @@ msgstr "Εταιρεία"
#. module: base
#: view:res.users:0
msgid "Email & Signature"
-msgstr ""
+msgstr "Email & Υπογραφή"
#. module: base
#: selection:base.language.install,lang:0
@@ -8273,7 +8283,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_aftersale
msgid "After-Sale Services"
-msgstr ""
+msgstr "Υπηρεσίες μετά την πώληση"
#. module: base
#: model:ir.actions.act_window,name:base.action_maintenance_contract_add_wizard
@@ -8341,7 +8351,7 @@ msgstr "Virgin Islands (British)"
#: view:ir.property:0
#: model:ir.ui.menu,name:base.next_id_15
msgid "Parameters"
-msgstr ""
+msgstr "Παράμετροι"
#. module: base
#: selection:base.language.install,lang:0
@@ -8603,7 +8613,7 @@ msgstr "Κατηγορίες Συνεργατών"
#. module: base
#: view:base.module.upgrade:0
msgid "System Update"
-msgstr ""
+msgstr "Ενημέρωση συστήματος"
#. module: base
#: help:ir.sequence,prefix:0
@@ -8684,7 +8694,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "Never"
-msgstr ""
+msgstr "Ποτέ"
#. module: base
#: selection:res.partner.address,type:0
diff --git a/bin/addons/base/i18n/es.po b/bin/addons/base/i18n/es.po
index 3f61c1ad559..18f5d4ddc7b 100644
--- a/bin/addons/base/i18n/es.po
+++ b/bin/addons/base/i18n/es.po
@@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-05 00:10+0000\n"
+"PO-Revision-Date: 2010-12-05 06:57+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"\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: 2010-12-05 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
diff --git a/bin/addons/base/i18n/fr.po b/bin/addons/base/i18n/fr.po
index d119584d594..1bd32f0aac8 100644
--- a/bin/addons/base/i18n/fr.po
+++ b/bin/addons/base/i18n/fr.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-04 09:50+0000\n"
-"Last-Translator: Quentin THEURET \n"
+"PO-Revision-Date: 2010-12-05 11:06+0000\n"
+"Last-Translator: lolivier \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: 2010-12-05 04:47+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -2387,7 +2387,7 @@ msgstr "GPL-2 ou version supérieure"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_sir
msgid "M."
-msgstr ""
+msgstr "M."
#. module: base
#: code:addons/base/module/module.py:0
@@ -3815,7 +3815,7 @@ msgstr "Menus"
#. module: base
#: selection:base.language.install,lang:0
msgid "Serbian (Latin) / srpski"
-msgstr ""
+msgstr "Serbe (Latin) / srpski"
#. module: base
#: model:res.country,name:base.il
@@ -4606,7 +4606,7 @@ msgstr "Hollandais / Nederlands"
#. module: base
#: model:res.widget,title:base.rvalyi_twitter_widget
msgid "Raphaël Valyi's tweets"
-msgstr ""
+msgstr "Tweets de Raphaël Valyi"
#. module: base
#: help:ir.cron,interval_number:0
@@ -4910,7 +4910,7 @@ msgstr "Choisir entre l'interface simplifiée et l'interface étendue"
#. module: base
#: model:res.widget,title:base.odony_twitter_widget
msgid "Olivier Dony's tweets"
-msgstr ""
+msgstr "Tweets d'Oliver Dony"
#. module: base
#: model:res.country,name:base.np
@@ -6414,7 +6414,7 @@ msgstr "ir.actions.report.xml"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_miss
msgid "Mss"
-msgstr ""
+msgstr "Mme"
#. module: base
#: model:ir.model,name:base.model_ir_ui_view
@@ -7784,6 +7784,7 @@ msgstr "Rafraîchissement automatique"
#, python-format
msgid "The osv_memory field can only be compared with = and != operator."
msgstr ""
+"Le champ osv_memory peut seulement être comparé avec les opérateurs = et !=."
#. module: base
#: selection:ir.ui.view,type:0
@@ -8014,7 +8015,7 @@ msgstr "République Dominicaine"
#. module: base
#: selection:base.language.install,lang:0
msgid "Serbian (Cyrillic) / српски"
-msgstr ""
+msgstr "Serbe (Cyrilique) / српски"
#. module: base
#: field:res.widget.user,widget_id:0
@@ -8119,7 +8120,7 @@ msgstr "Tél."
#. module: base
#: model:res.widget,title:base.albertnan_twitter_widget
msgid "Albert Cervera Areny's tweets"
-msgstr ""
+msgstr "Tweets d'Albert Cervera Areny"
#. module: base
#: field:res.groups,menu_access:0
@@ -8198,6 +8199,11 @@ msgid ""
"be assigned to specific groups in order to make them accessible to some "
"users within the system."
msgstr ""
+"Gère et personnalise les éléments disponibles et affichés dans les menus "
+"d'OpenERP. Vous pouvez supprimer un élément en cliquant sur la case à cocher "
+"au début de chaque ligne et en cliquant sur le bouton de suppression qui "
+"apparaît alors. Les éléments peuvent être attachés à un groupe spécifique "
+"dans le but de les rendre accessible qu'à quelques utilisateurs du système."
#. module: base
#: field:ir.ui.view,field_parent:0
diff --git a/bin/addons/base/i18n/pt.po b/bin/addons/base/i18n/pt.po
index 12290d89135..fab96012a00 100644
--- a/bin/addons/base/i18n/pt.po
+++ b/bin/addons/base/i18n/pt.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-04 22:42+0000\n"
+"PO-Revision-Date: 2010-12-05 18:10+0000\n"
"Last-Translator: Paulino Ascenção \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: 2010-12-05 04:47+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:56+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -163,7 +163,7 @@ msgstr ""
#. module: base
#: field:ir.sequence,number_increment:0
msgid "Increment Number"
-msgstr "Incrementar numero"
+msgstr "Incremento"
#. module: base
#: model:ir.actions.act_window,name:base.action_res_company_tree
@@ -201,7 +201,7 @@ msgstr "Em múltiplos documentos"
#. module: base
#: field:ir.module.category,module_nr:0
msgid "Number of Modules"
-msgstr "Número de Módolos"
+msgstr "Numero de módulos"
#. module: base
#: help:multi_company.default,company_dest_id:0
@@ -695,7 +695,7 @@ msgstr "Índia"
#. module: base
#: model:ir.model,name:base.model_maintenance_contract_module
msgid "maintenance contract modules"
-msgstr "Módulos de manutenção do contracto"
+msgstr "Módulos do contracto de manutenção"
#. module: base
#: model:ir.actions.act_window,name:base.res_request_link-act
@@ -857,7 +857,7 @@ msgstr "Url da acção"
#. module: base
#: field:base.module.import,module_name:0
msgid "Module Name"
-msgstr ""
+msgstr "Nome do módulo"
#. module: base
#: model:res.country,name:base.mh
@@ -880,6 +880,7 @@ msgstr "Procurar"
msgid ""
"2. Group-specific rules are combined together with a logical AND operator"
msgstr ""
+"Regras específicas do grupo são combinados com o operador lógico \"E\""
#. module: base
#: help:base.language.export,lang:0
@@ -889,17 +890,17 @@ msgstr "Para exportar uma nova linguagem, não seleccione a linguagem."
#. module: base
#: view:res.request:0
msgid "Request Date"
-msgstr ""
+msgstr "Data do Pedido"
#. module: base
#: model:ir.ui.menu,name:base.menu_hr_dasboard
msgid "Dashboard"
-msgstr ""
+msgstr "Painel"
#. module: base
#: model:ir.ui.menu,name:base.menu_purchase_root
msgid "Purchases"
-msgstr ""
+msgstr "Compras"
#. module: base
#: model:res.country,name:base.md
@@ -934,7 +935,7 @@ msgstr "ir.exports"
#: code:addons/base/module/wizard/base_update_translations.py:0
#, python-format
msgid "No language with code \"%s\" exists"
-msgstr ""
+msgstr "Não existe um idioma com o código \"%s\""
#. module: base
#: help:ir.actions.server,email:0
@@ -955,7 +956,7 @@ msgstr "-"
#. module: base
#: view:wizard.ir.model.menu.create:0
msgid "Create _Menu"
-msgstr ""
+msgstr "Criar _Menu"
#. module: base
#: field:res.payterm,name:0
@@ -980,6 +981,8 @@ msgid ""
"If you check this box, your customized translations will be overwritten and "
"replaced by the official ones."
msgstr ""
+"Se você marcar esta caixa, as suas traduções personalizadas serão "
+"substituídas pelas oficiais."
#. module: base
#: field:ir.actions.report.xml,report_rml:0
@@ -1021,6 +1024,8 @@ msgid ""
"Access all the fields related to the current object using expressions, i.e. "
"object.partner_id.name "
msgstr ""
+"Aceda a todos os campos relacionados com o objeto atual usando expressões, "
+"ex.: object.partner_id.name "
#. module: base
#: view:maintenance.contract:0
@@ -1036,7 +1041,7 @@ msgstr "Estado do país"
#. module: base
#: selection:ir.property,type:0
msgid "Float"
-msgstr ""
+msgstr "Decimal"
#. module: base
#: model:ir.model,name:base.model_res_request_link
@@ -1124,6 +1129,12 @@ msgid ""
"schedule button in this list. Then, apply the schedule upgrade from Action "
"menu once for all the ones you have scheduled for installation."
msgstr ""
+"Lista todos os módulos certificados disponíveis para configurar o seu "
+"OpenERP. Módulos instalados são marcados como tal. Pode procurar por um "
+"módulo específico usando seu nome ou descrição. Não é necessário instalar um "
+"módulo de cada vez, pode instalar vários módulos clicando no botão agendar "
+"nesta lista. Então, aplique todas as atualizações agendadas de uma só vez a "
+"partir do menu \"Ação\"."
#. module: base
#: model:res.country,name:base.mv
@@ -1196,7 +1207,7 @@ msgstr "Modelo ligado"
#. module: base
#: view:ir.rule:0
msgid "Domain Setup"
-msgstr ""
+msgstr "Configurar domínio"
#. module: base
#: field:ir.actions.server,trigger_name:0
@@ -1255,7 +1266,7 @@ msgstr "Tipo de endereço"
#. module: base
#: view:ir.ui.menu:0
msgid "Full Path"
-msgstr ""
+msgstr "Caminho completo"
#. module: base
#: view:res.request:0
@@ -1276,7 +1287,7 @@ msgstr ""
#. module: base
#: view:ir.ui.view:0
msgid "Advanced"
-msgstr ""
+msgstr "Avançadas"
#. module: base
#: model:res.country,name:base.fi
@@ -1308,7 +1319,7 @@ msgstr ""
#. module: base
#: view:ir.actions.server:0
msgid "Create / Write / Copy"
-msgstr ""
+msgstr "Criar / Escrever / Copiar"
#. module: base
#: view:base.language.export:0
@@ -1326,6 +1337,8 @@ msgid ""
"When using CSV format, please also check that the first line of your file is "
"one of the following:"
msgstr ""
+"Ao usar o formato CSV, verifique se a primeira linha do seu ficheiro é uma "
+"das seguintes:"
#. module: base
#: model:ir.actions.act_window,name:base.res_log_act_window
@@ -1350,6 +1363,9 @@ msgid ""
"This wizard will scan all module repositories on the server side to detect "
"newly added modules as well as any change to existing modules."
msgstr ""
+"Este assistente irá verificar todos os repositórios de módulos no servidor, "
+"para deteção de novos módulos, bem como qualquer alteração nos módulos "
+"existentes."
#. module: base
#: field:res.company,logo:0
@@ -1404,7 +1420,7 @@ msgstr "Numero de módulos actualizados"
#. module: base
#: view:workflow.activity:0
msgid "Workflow Activity"
-msgstr ""
+msgstr "Atividade do Fluxo de Trabalho"
#. module: base
#: view:ir.rule:0
@@ -1419,6 +1435,8 @@ msgid ""
"Views allows you to personalize each view of OpenERP. You can add new "
"fields, move fields, rename them or delete the ones that you do not need."
msgstr ""
+"Vistas permitem personalizar os ecrãs do OpenERP. Pode renomear os campos, "
+"movê-los adicionar novos ou apagar os que não necessita."
#. module: base
#: field:ir.actions.act_window,groups_id:0
@@ -1467,11 +1485,13 @@ msgid ""
"Comma-separated list of allowed view modes, such as 'form', 'tree', "
"'calendar', etc. (Default: tree,form)"
msgstr ""
+"Lista separada por virgulas, dos modos de vistas permitidos como 'form', "
+"'tree', 'calendar', etc. (padrão: tree,form)"
#. module: base
#: view:workflow:0
msgid "Workflow Editor"
-msgstr ""
+msgstr "Editor de Fluxos de Trabalho"
#. module: base
#: selection:ir.module.module,state:0
@@ -1508,14 +1528,14 @@ msgstr "Campo de assistente"
#. module: base
#: view:ir.rule:0
msgid "Groups (no group = global)"
-msgstr ""
+msgstr "Grupos (Sem grupo = global)"
#. module: base
#: selection:res.config.users,view:0
#: selection:res.config.view,view:0
#: selection:res.users,view:0
msgid "Simplified"
-msgstr ""
+msgstr "Simplificada"
#. module: base
#: model:res.country,name:base.st
@@ -1614,7 +1634,7 @@ msgstr "Zimbabwe"
#. module: base
#: view:base.module.update:0
msgid "Please be patient, as this operation may take a few seconds..."
-msgstr ""
+msgstr "Esta operação pode demorar alguns segundos ..."
#. module: base
#: help:ir.values,action_id:0
@@ -1667,7 +1687,7 @@ msgstr "Mapeamento de campos"
#. module: base
#: view:base.language.export:0
msgid "Export Translations"
-msgstr ""
+msgstr "Exportar traduções"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@@ -1699,7 +1719,7 @@ msgstr "Lituânia"
#: model:ir.model,name:base.model_partner_clear_ids
#: view:partner.clear.ids:0
msgid "Clear IDs"
-msgstr ""
+msgstr "Limpar IDs"
#. module: base
#: help:ir.cron,model:0
@@ -1716,13 +1736,13 @@ msgstr "Eslovénia"
#. module: base
#: model:ir.ui.menu,name:base.menu_email_gateway_form
msgid "Messages"
-msgstr ""
+msgstr "Mensagens"
#. module: base
#: code:addons/base/module/wizard/base_update_translations.py:0
#, python-format
msgid "Error!"
-msgstr ""
+msgstr "Erro!"
#. module: base
#: view:res.lang:0
@@ -1834,12 +1854,12 @@ msgstr "Arménia"
#: model:ir.actions.act_window,name:base.ir_property_form
#: model:ir.ui.menu,name:base.menu_ir_property_form_all
msgid "Configuration Parameters"
-msgstr ""
+msgstr "Parâmetros da configuração"
#. module: base
#: constraint:ir.cron:0
msgid "Invalid arguments"
-msgstr ""
+msgstr "Argumentos inválidos"
#. module: base
#: model:res.country,name:base.se
@@ -1878,7 +1898,7 @@ msgstr "Tipo de conta bancaria"
#: field:res.config.users,config_logo:0
#: field:res.config.view,config_logo:0
msgid "Image"
-msgstr ""
+msgstr "Imagem"
#. module: base
#: view:ir.actions.server:0
@@ -1895,7 +1915,7 @@ msgstr "Áustria"
#: selection:base.module.import,state:0
#: selection:base.module.update,state:0
msgid "done"
-msgstr ""
+msgstr "feito"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@@ -1908,7 +1928,7 @@ msgstr "Calendário"
#. module: base
#: field:res.partner.address,partner_id:0
msgid "Partner Name"
-msgstr ""
+msgstr "Nome do parceiro"
#. module: base
#: field:workflow.activity,signal_send:0
@@ -1918,7 +1938,7 @@ msgstr "Sinal (subfluxo.*)"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_17
msgid "HR sector"
-msgstr ""
+msgstr "Setor de RH"
#. module: base
#: model:ir.model,name:base.model_ir_module_module_dependency
@@ -1935,7 +1955,7 @@ msgstr "Rascunho"
#: selection:res.config.view,view:0
#: selection:res.users,view:0
msgid "Extended"
-msgstr ""
+msgstr "Extendida"
#. module: base
#: model:ir.actions.act_window,help:base.action_partner_title_contact
@@ -1944,6 +1964,8 @@ msgid ""
"way you want to print them in letters and other documents. Some example: "
"Mr., Mrs. "
msgstr ""
+"Gere os títulos dos contatos que quer ter no seu sistema e a forma como "
+"serão impressos nos ofícios e outros documentos. Ex: Sr., Sra. "
#. module: base
#: field:res.company,rml_footer1:0
@@ -1999,6 +2021,8 @@ msgid ""
"Please double-check that the file encoding is set to UTF-8 (sometimes called "
"Unicode) when the translator exports it."
msgstr ""
+"Verifique que a codificação de caracteres do ficheiro é UTF-8, quando o "
+"tradutor o exportar."
#. module: base
#: selection:base.language.install,lang:0
@@ -2063,7 +2087,7 @@ msgstr "Senhor"
#. module: base
#: view:base.module.import:0
msgid "Select module package to import (.zip file):"
-msgstr ""
+msgstr "Selecione pacote do módulo a importar (ficheiro zip.)"
#. module: base
#: field:ir.default,ref_id:0
@@ -2125,7 +2149,7 @@ msgstr ""
#. module: base
#: view:base.language.import:0
msgid "_Import"
-msgstr ""
+msgstr "_Importar"
#. module: base
#: view:res.partner.canal:0
@@ -2188,7 +2212,7 @@ msgstr "Da direita para a esquerda"
#: model:ir.model,name:base.model_ir_filters
#: model:ir.ui.menu,name:base.menu_ir_filters
msgid "Filters"
-msgstr ""
+msgstr "Filtros"
#. module: base
#: model:ir.actions.act_window,name:base.ir_cron_act
@@ -2207,7 +2231,7 @@ msgstr "Título"
#. module: base
#: help:ir.property,res_id:0
msgid "If not set, acts as a default value for new resources"
-msgstr ""
+msgstr "Se não definido, atua como um valor padrão para novos registos."
#. module: base
#: code:addons/base/module/module.py:0
@@ -2222,6 +2246,9 @@ msgid ""
"loading a new language it becomes available as default interface language "
"for users and partners."
msgstr ""
+"Este assistente ajuda-o a adicionar um novo idioma ao seu sistema OpenERP. "
+"Depois de carregado ele fica disponível como idioma padrão da interface dos "
+"utilizadores."
#. module: base
#: view:ir.model:0
@@ -2261,7 +2288,7 @@ msgstr "Países"
#. module: base
#: selection:ir.translation,type:0
msgid "RML (deprecated - use Report)"
-msgstr ""
+msgstr "RML (desatualizado - use Report)"
#. module: base
#: view:ir.rule:0
@@ -2271,18 +2298,18 @@ msgstr "Regras de gravação"
#. module: base
#: view:ir.property:0
msgid "Field Information"
-msgstr ""
+msgstr "Informação do campo"
#. module: base
#: view:ir.actions.todo:0
msgid "Search Actions"
-msgstr ""
+msgstr "Ações de pesquisa"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_partner_wizard_ean_check
#: view:partner.wizard.ean.check:0
msgid "Ean check"
-msgstr ""
+msgstr "Verificar EAN"
#. module: base
#: field:res.partner,vat:0
@@ -2343,7 +2370,7 @@ msgstr "Nauru"
#: code:addons/base/module/module.py:0
#, python-format
msgid "The certificate ID of the module must be unique !"
-msgstr ""
+msgstr "O ID do certificado do módulo tem de ser único!"
#. module: base
#: model:ir.model,name:base.model_ir_property
@@ -2425,7 +2452,7 @@ msgstr "Portugal"
#: sql_constraint:ir.model.data:0
msgid ""
"You cannot have multiple records with the same id for the same module !"
-msgstr ""
+msgstr "Não pode ter vários registos com o mesmo ID no mesmo módulo!"
#. module: base
#: selection:maintenance.contract,state:0
@@ -2446,12 +2473,12 @@ msgstr "6. %d, %m ==> 05, 12"
#: field:res.config.users,date:0
#: field:res.users,date:0
msgid "Last Connection"
-msgstr ""
+msgstr "Última ligação"
#. module: base
#: field:ir.actions.act_window,help:0
msgid "Action description"
-msgstr ""
+msgstr "Descrição da ação"
#. module: base
#: help:res.partner,customer:0
@@ -2525,7 +2552,7 @@ msgstr "Campo base"
#. module: base
#: field:ir.actions.todo,restart:0
msgid "Restart"
-msgstr ""
+msgstr "Reiniciar"
#. module: base
#: field:ir.actions.report.xml,report_sxw_content:0
@@ -2549,6 +2576,8 @@ msgstr "Acção a despoletar"
#, python-format
msgid "\"email_from\" needs to be set to send welcome mails to users"
msgstr ""
+"\"email_from\" precisa ser definido para enviar mensagens de boas-vindas aos "
+"utilizadores"
#. module: base
#: selection:ir.translation,type:0
@@ -2571,7 +2600,7 @@ msgstr "Obrigatório"
#. module: base
#: view:res.users:0
msgid "Default Filters"
-msgstr ""
+msgstr "Filtros padrão"
#. module: base
#: field:res.request.history,name:0
@@ -2603,6 +2632,8 @@ msgid ""
"Optional help text for the users with a description of the target view, such "
"as its usage and purpose."
msgstr ""
+"Texto de ajuda opcional para os utilizadores, com uma descrição do ecrã, a "
+"sua utilização e finalidade."
#. module: base
#: model:res.country,name:base.va
@@ -2617,12 +2648,12 @@ msgstr "Modulo ficheiro .ZIP"
#. module: base
#: field:ir.ui.view,xml_id:0
msgid "XML ID"
-msgstr ""
+msgstr "ID XML"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_16
msgid "Telecom sector"
-msgstr ""
+msgstr "Setor das telecomunicações"
#. module: base
#: field:workflow.transition,trigger_model:0
@@ -2632,7 +2663,7 @@ msgstr "Accionar objecto"
#. module: base
#: view:res.users:0
msgid "Current Activity"
-msgstr ""
+msgstr "Actividade corrente"
#. module: base
#: view:workflow.activity:0
@@ -2648,7 +2679,7 @@ msgstr "Suriname"
#. module: base
#: model:ir.ui.menu,name:base.marketing_menu
msgid "Marketing"
-msgstr ""
+msgstr "Marketing"
#. module: base
#: view:res.partner.bank:0
@@ -2684,7 +2715,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.todo,restart:0
msgid "Always"
-msgstr ""
+msgstr "Sempre"
#. module: base
#: selection:ir.translation,type:0
@@ -2702,6 +2733,8 @@ msgid ""
"The selected language has been successfully installed. You must change the "
"preferences of the user and open a new menu to view the changes."
msgstr ""
+"O idioma selecionado foi instalado com sucesso. Tem de alterar as "
+"preferências do utilizador e abrir um novo menu para ver as alterações."
#. module: base
#: field:ir.actions.act_window.view,view_id:0
@@ -2820,7 +2853,7 @@ msgstr "Fluxos de trabalhos"
#. module: base
#: model:ir.actions.act_window,name:base.action_config_user_form
msgid "Create Users"
-msgstr ""
+msgstr "Criar utilizadores"
#. module: base
#: model:ir.model,name:base.model_res_partner_title
@@ -2835,7 +2868,7 @@ msgstr "tree_but_action, client_print_multi"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_retailers0
msgid "Retailers"
-msgstr ""
+msgstr "Retalhistas"
#. module: base
#: help:ir.cron,priority:0
@@ -2871,12 +2904,12 @@ msgstr "Quénia"
#. module: base
#: view:res.partner.event:0
msgid "Event"
-msgstr ""
+msgstr "Evento"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom_reports
msgid "Custom Reports"
-msgstr ""
+msgstr "Relatórios personalizados"
#. module: base
#: selection:base.language.install,lang:0
@@ -2886,12 +2919,12 @@ msgstr ""
#. module: base
#: view:base.module.configuration:0
msgid "System Configuration Done"
-msgstr ""
+msgstr "Configuração do sistema concluída"
#. module: base
#: view:ir.property:0
msgid "Generic"
-msgstr ""
+msgstr "Genérica"
#. module: base
#: model:res.country,name:base.sm
@@ -2921,7 +2954,7 @@ msgstr "Benim"
#. module: base
#: help:ir.sequence,suffix:0
msgid "Suffix value of the record for the sequence"
-msgstr ""
+msgstr "Sufíxo do registro para a sequência"
#. module: base
#: selection:base.language.install,lang:0
@@ -2947,7 +2980,7 @@ msgstr "Maurícia"
#: view:ir.model.access:0
#: view:ir.rule:0
msgid "Full Access"
-msgstr ""
+msgstr "Acesso total"
#. module: base
#: view:ir.actions.act_window:0
@@ -2961,7 +2994,7 @@ msgstr "Segurança"
#. module: base
#: model:res.widget,title:base.openerp_favorites_twitter_widget
msgid "OpenERP Favorites"
-msgstr ""
+msgstr "Favoritos do OpenERP"
#. module: base
#: model:res.country,name:base.za
@@ -2984,7 +3017,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_translation
#: model:ir.ui.menu,name:base.menu_action_translation
msgid "Translation Terms"
-msgstr ""
+msgstr "Termos da tradução"
#. module: base
#: model:res.country,name:base.sn
@@ -3014,7 +3047,7 @@ msgstr "Próximo número"
#. module: base
#: help:workflow.transition,condition:0
msgid "Expression to be satisfied if we want the transition done."
-msgstr ""
+msgstr "Expressão a ser satisfeita, se quisermos a transição concluída."
#. module: base
#: selection:base.language.install,lang:0
@@ -3051,7 +3084,7 @@ msgstr ""
#. module: base
#: view:base.module.upgrade:0
msgid "System update completed"
-msgstr ""
+msgstr "Atualização do sistema concluida"
#. module: base
#: field:ir.model.fields,selection:0
@@ -3092,7 +3125,7 @@ msgstr "Menu pai"
#. module: base
#: field:ir.rule,perm_unlink:0
msgid "Apply For Delete"
-msgstr ""
+msgstr "Aplique para eliminar"
#. module: base
#: help:ir.actions.act_window.view,multi:0
@@ -3129,6 +3162,11 @@ msgid ""
"to see. Whether they can have a read, write, create and delete access right "
"can be managed from here."
msgstr ""
+"Um grupo é uma série de áreas funcionais que vão ser atribuídas ao "
+"utilizador, de forma a que este tenha acesso a funcionalidades e tarefas "
+"específicas. Pode criar novos grupos ou alterar os existentes, para "
+"personalizar os itens do menu visíveis para os utilizadores. As permissões "
+"para criar, eliminar, visualizar e/ou alterar registos são definidas aqui."
#. module: base
#: view:res.partner:0
@@ -3150,7 +3188,7 @@ msgstr "México"
#. module: base
#: model:ir.ui.menu,name:base.menu_base_config_plugins
msgid "Plugins"
-msgstr ""
+msgstr "Extensões"
#. module: base
#: field:res.company,child_ids:0
@@ -3175,7 +3213,7 @@ msgstr "Descrição geral"
#. module: base
#: model:ir.actions.act_window,name:base.action_config_simple_view_form
msgid "Configure Your Interface"
-msgstr ""
+msgstr "Configure sua interface"
#. module: base
#: field:ir.values,meta:0
@@ -3185,7 +3223,7 @@ msgstr "Meta-dados"
#. module: base
#: sql_constraint:ir.ui.view_sc:0
msgid "Shortcut for this menu already exists!"
-msgstr ""
+msgstr "Um atalho para este menu já existe!"
#. module: base
#: model:res.country,name:base.ve
@@ -3265,6 +3303,8 @@ msgid ""
"If set to true, the action will not be displayed on the right toolbar of a "
"form view"
msgstr ""
+"Se definido como verdadeiro, a ação não será exibida na barra de ferramentas "
+"à direita na vista de formulário."
#. module: base
#: model:res.country,name:base.ms
@@ -3283,6 +3323,8 @@ msgid ""
"The user's timezone, used to perform timezone conversions between the server "
"and the client."
msgstr ""
+"Fuso horário do utilizador, utilizado para realizar conversões de fuso "
+"horário entre o servidor e o cliente."
#. module: base
#: field:ir.module.module,demo:0
@@ -3305,6 +3347,8 @@ msgid ""
"Source activity. When this activity is over, the condition is tested to "
"determine if we can start the ACT_TO activity."
msgstr ""
+"Atividade de origem. Quando essa atividade termina, a condição é testada "
+"para determinar se podemos começar a atividade seguinte (ACT_TO)."
#. module: base
#: model:res.partner.category,name:base.res_partner_category_3
@@ -3314,7 +3358,7 @@ msgstr "Parceiro iniciante"
#. module: base
#: view:base.module.upgrade:0
msgid "Your system will be updated."
-msgstr ""
+msgstr "O sistema será atualizado."
#. module: base
#: model:ir.model,name:base.model_ir_actions_act_window_view
@@ -3375,17 +3419,17 @@ msgstr "Agrupar por"
#: view:res.config:0
#: view:res.config.installer:0
msgid "title"
-msgstr ""
+msgstr "título"
#. module: base
#: model:ir.model,name:base.model_base_language_install
msgid "Install Language"
-msgstr ""
+msgstr "Instalar idioma"
#. module: base
#: view:ir.translation:0
msgid "Translation"
-msgstr ""
+msgstr "Tradução"
#. module: base
#: selection:res.request,state:0
@@ -3410,7 +3454,7 @@ msgstr "Escrever id"
#. module: base
#: model:ir.ui.menu,name:base.menu_product
msgid "Products"
-msgstr ""
+msgstr "Artigos"
#. module: base
#: field:ir.actions.act_window,domain:0
@@ -3473,6 +3517,8 @@ msgstr ""
msgid ""
"Unable to process module \"%s\" because an external dependency is not met: %s"
msgstr ""
+"Impossível processar o módulo \"%s\" devido a uma dependência externa não "
+"satisfeita: %s"
#. module: base
#: selection:ir.translation,type:0
@@ -3484,6 +3530,7 @@ msgstr "Botão assistente"
#, python-format
msgid "module base cannot be loaded! (hint: verify addons-path)"
msgstr ""
+"o módulo base não pode ser carregado! (dica: verifique o caminho dos addons)"
#. module: base
#: view:res.partner.bank:0
@@ -3515,7 +3562,7 @@ msgstr "Guadalupe"
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "User Error"
-msgstr ""
+msgstr "Erro do utilizador"
#. module: base
#: help:workflow.transition,signal:0
@@ -3524,11 +3571,14 @@ msgid ""
"form, signal tests the name of the pressed button. If signal is NULL, no "
"button is necessary to validate this transition."
msgstr ""
+"Quando a operação de transição provem de um botão pressionado no formulário "
+"no cliente, o sinal testa o nome do botão. Se o sinal for \"NULL\", nenhum "
+"botão é necessário para validar esta transição."
#. module: base
#: help:multi_company.default,object_id:0
msgid "Object affected by this rule"
-msgstr ""
+msgstr "Objeto afetado por esta regra"
#. module: base
#: report:ir.module.reference.graph:0
@@ -3543,12 +3593,12 @@ msgstr "Nome do menu"
#. module: base
#: view:ir.module.module:0
msgid "Author Website"
-msgstr ""
+msgstr "Sítio do autor"
#. module: base
#: view:ir.attachment:0
msgid "Month"
-msgstr ""
+msgstr "Mês"
#. module: base
#: model:res.country,name:base.my
@@ -3559,7 +3609,7 @@ msgstr "Malásia"
#: view:base.language.install:0
#: model:ir.actions.act_window,name:base.action_view_base_language_install
msgid "Load Official Translation"
-msgstr ""
+msgstr "Carregar uma tradução oficial"
#. module: base
#: model:ir.model,name:base.model_res_request_history
@@ -3609,12 +3659,12 @@ msgstr "Contactos do parceiro"
#. module: base
#: field:base.module.update,add:0
msgid "Number of modules added"
-msgstr "Numero de módulos adicionados"
+msgstr "Número de módulos adicionados"
#. module: base
#: view:res.currency:0
msgid "Price Accuracy"
-msgstr ""
+msgstr "Precisão do preço"
#. module: base
#: selection:base.language.install,lang:0
@@ -3631,7 +3681,7 @@ msgstr ""
#: model:ir.actions.server,name:base.action_start_configurator
#: model:ir.ui.menu,name:base.menu_view_base_module_configuration
msgid "Start Configuration"
-msgstr ""
+msgstr "Iniciar configuração"
#. module: base
#: view:ir.module.module:0
@@ -3667,12 +3717,12 @@ msgstr "ir.cron"
#. module: base
#: view:ir.rule:0
msgid "Combination of rules"
-msgstr ""
+msgstr "Conbinação de regras"
#. module: base
#: view:ir.sequence:0
msgid "Current Year without Century: %(y)s"
-msgstr ""
+msgstr "Ano atual (dois digitos): %(y)s"
#. module: base
#: field:ir.actions.server,trigger_obj_id:0
@@ -3682,7 +3732,7 @@ msgstr "Gatilho activo"
#. module: base
#: sql_constraint:ir.rule:0
msgid "Rule must have at least one checked access right !"
-msgstr ""
+msgstr "A regra tem de ter ao menos um direito de acesso marcado."
#. module: base
#: model:res.country,name:base.fj
@@ -3735,7 +3785,7 @@ msgstr "Israel"
#: model:ir.actions.act_window,name:base.action_maintenance_contract_form
#: model:ir.ui.menu,name:base.menu_maintenance_contract
msgid "Maintenance Contracts"
-msgstr ""
+msgstr "Contratos de manutenção"
#. module: base
#: model:ir.actions.wizard,name:base.wizard_server_action_create
@@ -3798,7 +3848,7 @@ msgstr "Bancos"
#. module: base
#: view:res.log:0
msgid "Unread"
-msgstr ""
+msgstr "Não lidas"
#. module: base
#: view:res.lang:0
@@ -3873,7 +3923,7 @@ msgstr "Adicionar refrescamento auto na vista"
#. module: base
#: help:res.partner,employee:0
msgid "Check this box if the partner is an Employee."
-msgstr ""
+msgstr "Marque esta caixa se o parceiro é um empregado."
#. module: base
#: field:ir.actions.report.xml,report_rml_content:0
@@ -3924,27 +3974,27 @@ msgstr "Vista herdada"
#. module: base
#: view:ir.translation:0
msgid "Source Term"
-msgstr ""
+msgstr "Equipa de origem"
#. module: base
#: model:ir.ui.menu,name:base.menu_main_pm
msgid "Project"
-msgstr ""
+msgstr "Projeto"
#. module: base
#: view:base.module.import:0
msgid "Module file successfully imported!"
-msgstr ""
+msgstr "Ficheiro do módulo importado com sucesso!"
#. module: base
#: selection:ir.actions.todo,state:0
msgid "Cancelled"
-msgstr ""
+msgstr "Cancelada"
#. module: base
#: view:partner.clear.ids:0
msgid "Want to Clear Ids ? "
-msgstr ""
+msgstr "Quer limpar Ids? "
#. module: base
#: selection:res.request,priority:0
@@ -3978,7 +4028,7 @@ msgstr "Seleccione o objecto do modelo no qual o workflow será executado."
#. module: base
#: field:res.partner,employee:0
msgid "Employee"
-msgstr ""
+msgstr "Empregado"
#. module: base
#: field:ir.model.access,perm_create:0
@@ -3993,17 +4043,17 @@ msgstr "Estado federal"
#. module: base
#: field:ir.actions.server,copy_object:0
msgid "Copy Of"
-msgstr ""
+msgstr "Copiar de"
#. module: base
#: field:ir.model,osv_memory:0
msgid "In-memory model"
-msgstr ""
+msgstr "Modelo na-memória"
#. module: base
#: view:partner.clear.ids:0
msgid "Clear Ids"
-msgstr ""
+msgstr "Limpar Ids"
#. module: base
#: model:res.country,name:base.io
@@ -4084,13 +4134,13 @@ msgstr ""
#. module: base
#: help:ir.filters,user_id:0
msgid "False means for every user"
-msgstr ""
+msgstr "Falso significa para todos os utilizadores"
#. module: base
#: code:addons/base/module/module.py:0
#, python-format
msgid "The name of the module must be unique !"
-msgstr ""
+msgstr "O nome do módulo tem de ser único!"
#. module: base
#: model:res.country,name:base.mz
@@ -4100,7 +4150,7 @@ msgstr "Moçambique"
#. module: base
#: model:ir.ui.menu,name:base.menu_project_long_term
msgid "Long Term Planning"
-msgstr ""
+msgstr "Planeamento a longo prazo"
#. module: base
#: field:ir.actions.server,message:0
@@ -4119,7 +4169,7 @@ msgstr "Em múltiplos docs"
#: view:res.partner:0
#: field:res.partner,user_id:0
msgid "Salesman"
-msgstr ""
+msgstr "Vendedor"
#. module: base
#: field:res.partner,address:0
@@ -4135,7 +4185,7 @@ msgstr "Ilhas Faroé"
#. module: base
#: view:res.widget.wizard:0
msgid "Add"
-msgstr ""
+msgstr "Adicionar"
#. module: base
#: view:base.module.upgrade:0
@@ -4162,12 +4212,12 @@ msgstr "Ilhas Marianas do Norte"
#. module: base
#: view:res.widget.wizard:0
msgid "Widget Wizard"
-msgstr ""
+msgstr "Assistente de Widget"
#. module: base
#: selection:ir.property,type:0
msgid "Integer"
-msgstr ""
+msgstr "Inteiro"
#. module: base
#: help:ir.actions.report.xml,report_rml:0
@@ -4175,12 +4225,14 @@ msgid ""
"The path to the main report file (depending on Report Type) or NULL if the "
"content is in another data field"
msgstr ""
+"O caminho para o ficheiro principal do relatório (dependendo tipo de "
+"relatório) ou \"NULL\" se o conteúdo está noutro campo de dados"
#. module: base
#: help:res.config.users,company_id:0
#: help:res.users,company_id:0
msgid "The company this user is currently working for."
-msgstr ""
+msgstr "A companhia em que o uutilizador está a trabalhar."
#. module: base
#: model:ir.model,name:base.model_wizard_ir_model_menu_create
@@ -4259,7 +4311,7 @@ msgstr ""
#. module: base
#: view:res.log:0
msgid "My Logs"
-msgstr ""
+msgstr "Meus logs"
#. module: base
#: model:res.country,name:base.bt
@@ -4269,7 +4321,7 @@ msgstr "Butão"
#. module: base
#: help:ir.sequence,number_next:0
msgid "Next number of this sequence"
-msgstr ""
+msgstr "Próximo número desta sequência"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_11
@@ -4305,12 +4357,12 @@ msgstr "res.config.view"
#: view:res.log:0
#: field:res.log,read:0
msgid "Read"
-msgstr ""
+msgstr "Lido"
#. module: base
#: sql_constraint:res.country:0
msgid "The name of the country must be unique !"
-msgstr ""
+msgstr "O nome do país tem de ser único!"
#. module: base
#: model:ir.actions.act_window,help:base.action_country_state
@@ -4319,6 +4371,8 @@ msgid ""
"federal states you are working on from here. Each state is attached to one "
"country."
msgstr ""
+"Se trabalha no mercado americano, pode gerir os estados federados aqui. Cada "
+"estado é associado a um país."
#. module: base
#: view:workflow.workitem:0
@@ -4342,7 +4396,7 @@ msgstr "Senha"
#. module: base
#: field:ir.ui.menu,web_icon:0
msgid "Icon File"
-msgstr ""
+msgstr "Ficheiro do Ícone"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_fields
@@ -4357,13 +4411,15 @@ msgstr "Campos"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_employee_form
msgid "Employees"
-msgstr ""
+msgstr "Empregados"
#. module: base
#: help:res.log,read:0
msgid ""
"If this log item has been read, get() should not send it to the client"
msgstr ""
+"Se este item do \"log\" ja foi lido, \"get()\" não deveria enviá-lo para o "
+"cliente"
#. module: base
#: field:res.company,rml_header2:0
@@ -4388,6 +4444,8 @@ msgid ""
"channels that will be maintained at the creation of a document in the "
"system. Some examples of channels can be: Website, Phone Call, Reseller, etc."
msgstr ""
+"Registe de onde vêm as suas dicas e oportunidades, criando canais "
+"específicos. Ex: sitio da internet; telefonema; revendedor, etc"
#. module: base
#: model:res.partner.bank.type.field,name:base.bank_normal_field
@@ -4398,7 +4456,7 @@ msgstr "Numero_acc"
#: model:ir.actions.act_window,name:base.action_partner_address_form
#: model:ir.ui.menu,name:base.menu_partner_address_form
msgid "Addresses"
-msgstr ""
+msgstr "Endereços"
#. module: base
#: model:res.country,name:base.mm
@@ -4476,7 +4534,7 @@ msgstr "Campo personalizado"
#. module: base
#: field:ir.module.module,web:0
msgid "Has a web component"
-msgstr ""
+msgstr "Possui uma componente web"
#. module: base
#: model:res.country,name:base.cc
@@ -4513,7 +4571,7 @@ msgstr ""
#. module: base
#: help:ir.cron,interval_number:0
msgid "Repeat every x."
-msgstr ""
+msgstr "Repetir a cada x."
#. module: base
#: wizard_view:server.action.create,step_1:0
@@ -4529,7 +4587,7 @@ msgstr "1cm 28cm 20cm 28cm"
#. module: base
#: field:ir.module.module,maintainer:0
msgid "Maintainer"
-msgstr ""
+msgstr "Mantenedor"
#. module: base
#: field:ir.sequence,suffix:0
@@ -4573,11 +4631,13 @@ msgid ""
"If specified, this action will be opened at logon for this user, in addition "
"to the standard menu."
msgstr ""
+"A acção aqui especificada será aberta no início da sessão do utilizador, "
+"além do seu menu."
#. module: base
#: view:ir.values:0
msgid "Client Actions"
-msgstr ""
+msgstr "Ações do cliente"
#. module: base
#: code:addons/base/module/module.py:0
@@ -4613,7 +4673,7 @@ msgstr "Categoria Pai"
#. module: base
#: selection:ir.property,type:0
msgid "Integer Big"
-msgstr ""
+msgstr "Inteiro grande"
#. module: base
#: selection:res.partner.address,type:0
@@ -4630,7 +4690,7 @@ msgstr "ir.ui.menu"
#. module: base
#: view:partner.wizard.ean.check:0
msgid "Ignore"
-msgstr ""
+msgstr "Ignorar"
#. module: base
#: view:ir.module.module:0
@@ -4647,7 +4707,7 @@ msgstr "Comunicação"
#. module: base
#: view:ir.actions.report.xml:0
msgid "RML Report"
-msgstr ""
+msgstr "Relatório RML"
#. module: base
#: model:ir.model,name:base.model_ir_server_object_lines
@@ -4699,7 +4759,7 @@ msgstr "res.partner.event"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_sms_send
msgid "SMS Send"
-msgstr ""
+msgstr "Enviar SMS"
#. module: base
#: field:res.company,user_ids:0
@@ -4738,6 +4798,14 @@ msgid ""
"installed the CRM, with the history tab, you can track all the interactions "
"with a partner such as opportunities, emails, or sales orders issued."
msgstr ""
+"A tabela de clientes (designados de parceiros noutros pontos do sistema) "
+"ajuda a gerir a sua agenda de contactos, quer sejam fornecedores, clientes "
+"activos ou potenciais. O formulário parceiros permite registar a rastrear "
+"toda a informação necessária para interagir com os seus parceiros, desde o "
+"endereço, os seus contactos, as listas de preços e muito mais. Se instalou o "
+"módulo CRM, no separador 'historico' pode analisar todas as interações com "
+"um parceiro, tasi como as oportunidades, as mensagens trocadas, as ordens de "
+"venda emitidas, etc."
#. module: base
#: model:res.country,name:base.ph
@@ -4757,12 +4825,13 @@ msgstr "2. %a ,%A ==> Sex, Sexta-Feira"
#. module: base
#: field:res.widget,content:0
msgid "Content"
-msgstr ""
+msgstr "Conteúdo"
#. module: base
#: help:ir.rule,global:0
msgid "If no group is specified the rule is global and applied to everyone"
msgstr ""
+"Se nenhum grupo for especificado, a regra é global e aplicada a todos"
#. module: base
#: model:res.country,name:base.td
@@ -4797,13 +4866,13 @@ msgstr "Dominica"
#. module: base
#: help:ir.cron,nextcall:0
msgid "Next planned execution date for this scheduler"
-msgstr ""
+msgstr "Próxima data de execução planejada para este agendador."
#. module: base
#: help:res.config.users,view:0
#: help:res.users,view:0
msgid "Choose between the simplified interface and the extended one"
-msgstr ""
+msgstr "Escolha entre a interface simplificada ou a extendida"
#. module: base
#: model:res.widget,title:base.odony_twitter_widget
@@ -4818,7 +4887,7 @@ msgstr "Nepal"
#. module: base
#: help:ir.cron,args:0
msgid "Arguments to be passed to the method. e.g. (uid,)"
-msgstr ""
+msgstr "Argumentos a serem passados ao método. Ex: (uid,)"
#. module: base
#: help:ir.ui.menu,groups_id:0
@@ -4827,6 +4896,9 @@ msgid ""
"groups. If this field is empty, OpenERP will compute visibility based on the "
"related object's read access."
msgstr ""
+"Se tem grupos, a visibilidade deste menu será baseada neles. Se este campo "
+"está vazio, o OpenERP calculará a visibilidade baseada nos direitos de "
+"leitura do objeto relacionado."
#. module: base
#: view:partner.sms.send:0
@@ -4846,7 +4918,7 @@ msgstr "Segundo: %(seg)s"
#. module: base
#: model:ir.ui.menu,name:base.menu_view_base_module_update
msgid "Update Modules List"
-msgstr "Actualizar lista de módulos"
+msgstr "Atualizar a lista de módulos"
#. module: base
#: code:addons/base/module/module.py:0
@@ -4854,6 +4926,8 @@ msgstr "Actualizar lista de módulos"
msgid ""
"Unable to upgrade module \"%s\" because an external dependency is not met: %s"
msgstr ""
+"Não foi possível atualizar o módulo \"%s\" devido a uma dependência externa "
+"não satisfeita: %s"
#. module: base
#: code:addons/base/res/res_user.py:0
@@ -4962,7 +5036,7 @@ msgstr ""
#. module: base
#: help:ir.ui.view,xml_id:0
msgid "ID of the view defined in xml file"
-msgstr ""
+msgstr "ID da vista como foi definida no ficheiro XML"
#. module: base
#: model:ir.model,name:base.model_base_module_import
@@ -4983,7 +5057,7 @@ msgstr ""
#. module: base
#: field:res.log,secondary:0
msgid "Secondary Log"
-msgstr ""
+msgstr "Log Secundário"
#. module: base
#: field:ir.model.fields,selectable:0
@@ -5020,7 +5094,7 @@ msgstr "Emirados Árabes Unidos"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main
msgid "Recruitment"
-msgstr ""
+msgstr "Recrutamento"
#. module: base
#: model:res.country,name:base.re
@@ -5037,7 +5111,7 @@ msgstr "Global"
#. module: base
#: view:res.users:0
msgid "You must logout and login again after changing your password."
-msgstr ""
+msgstr "Tem de sair e voltar a entrar, após alterar a palavra-passe."
#. module: base
#: model:res.country,name:base.cz
@@ -5058,13 +5132,13 @@ msgstr "Erro de acesso"
#. module: base
#: view:res.request:0
msgid "Waiting"
-msgstr ""
+msgstr "A aguardar"
#. module: base
#: code:addons/__init__.py:0
#, python-format
msgid "Could not load base module"
-msgstr ""
+msgstr "Não pôde carregar o módulo base"
#. module: base
#: view:res.lang:0
@@ -5085,7 +5159,7 @@ msgstr "Dígitos do número"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Report"
-msgstr ""
+msgstr "Relatório"
#. module: base
#: model:res.country,name:base.ua
@@ -5116,7 +5190,7 @@ msgstr "Guia de referencia"
#. module: base
#: view:ir.ui.view:0
msgid "Architecture"
-msgstr ""
+msgstr "Arquitetura"
#. module: base
#: model:res.country,name:base.ml
@@ -5132,6 +5206,11 @@ msgid ""
"Warning: if \"email_from\" and \"smtp_server\" aren't configured, it won't "
"be possible to email new users."
msgstr ""
+"Se um endereço de correio electrónico foi fornecido, será enviada uma "
+"mensagem de boas vindas ao utilizador.\n"
+"\n"
+"Aviso: Se os valores \"email_from\" e \"smtp_server\" não estiverem "
+"definidos, não será possível enviar mensagens aos novos utilizadores."
#. module: base
#: selection:base.language.install,lang:0
@@ -5191,7 +5270,7 @@ msgstr "ir.actions.todo"
#: code:addons/base/res/res_config.py:0
#, python-format
msgid "Couldn't find previous ir.actions.todo"
-msgstr ""
+msgstr "Não foi encontrada a ação (ir.actions.todo) anterior"
#. module: base
#: view:ir.actions.act_window:0
@@ -5260,13 +5339,13 @@ msgstr ""
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "Model %s does not exist!"
-msgstr ""
+msgstr "O modelo %s não existe!"
#. module: base
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "You cannot delete the language which is User's Preferred Language !"
-msgstr ""
+msgstr "Não pode eliminar o idioma preferido de um utilizador."
#. module: base
#: view:ir.actions.server:0
@@ -5312,12 +5391,12 @@ msgstr "Zona Neutra"
#. module: base
#: view:ir.model:0
msgid "Custom"
-msgstr ""
+msgstr "Personalizar"
#. module: base
#: view:res.request:0
msgid "Current"
-msgstr ""
+msgstr "Corrente"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_9
@@ -5382,6 +5461,8 @@ msgid ""
"View type: set to 'tree' for a hierarchical tree view, or 'form' for other "
"views"
msgstr ""
+"Tipo de vista: Defina como \"tree\" para uma vista em aŕvore hierárquica, ou "
+"\"form\" para outras."
#. module: base
#: field:ir.actions.server,record_id:0
@@ -5399,6 +5480,7 @@ msgstr "Honduras"
msgid ""
"Check out this box if you want to always display tips on each menu action"
msgstr ""
+"Assinale esta caixa, se quer exibir sempre dicas em todos os menus de ação."
#. module: base
#: model:res.country,name:base.eg
@@ -5408,7 +5490,7 @@ msgstr "Egipto"
#. module: base
#: field:ir.rule,perm_read:0
msgid "Apply For Read"
-msgstr ""
+msgstr "Aplicar para Leitura"
#. module: base
#: help:ir.actions.server,model_id:0
@@ -5427,7 +5509,7 @@ msgstr ""
#. module: base
#: field:base.language.import,name:0
msgid "Language Name"
-msgstr ""
+msgstr "Nome do idioma."
#. module: base
#: selection:ir.property,type:0
@@ -5453,7 +5535,7 @@ msgstr "Descrições dos campos"
#: view:res.partner.address:0
#: view:workflow.activity:0
msgid "Group By..."
-msgstr ""
+msgstr "Agrupar por..."
#. module: base
#: view:ir.model.fields:0
@@ -5474,6 +5556,8 @@ msgid ""
"It gives the status if the tip has to be displayed or not when a user "
"executes an action"
msgstr ""
+"Dá o estado, se uma dica tem de ser exibida ou não, quando um utilizador "
+"executa a ação."
#. module: base
#: view:ir.model:0
@@ -5551,6 +5635,7 @@ msgstr "Ajuda"
msgid ""
"If specified, the action will replace the standard menu for this user."
msgstr ""
+"Se especificada, a ação substituirá o menu padrão, para este utilizador."
#. module: base
#: selection:ir.actions.server,state:0
@@ -5560,13 +5645,13 @@ msgstr "Escrever objecto"
#. module: base
#: model:ir.ui.menu,name:base.menu_fundrising
msgid "Fund Raising"
-msgstr ""
+msgstr "Angariação de fundos"
#. module: base
#: model:ir.actions.act_window,name:base.ir_sequence_type
#: model:ir.ui.menu,name:base.menu_ir_sequence_type
msgid "Sequence Codes"
-msgstr ""
+msgstr "Codigos das sequências"
#. module: base
#: selection:base.language.install,lang:0
@@ -5579,6 +5664,8 @@ msgid ""
"All pending configuration wizards have been executed. You may restart "
"individual wizards via the list of configuration wizards."
msgstr ""
+"Todos os assistentes de configuração pendentes foram executados. Pode "
+"reiniciar um assistente através da lista de assistentes de configuração."
#. module: base
#: wizard_button:server.action.create,step_1,create:0
@@ -5588,7 +5675,7 @@ msgstr "Criar"
#. module: base
#: view:ir.sequence:0
msgid "Current Year with Century: %(year)s"
-msgstr ""
+msgstr "Ano corrente (4 digitos): %(year)s"
#. module: base
#: field:ir.exports,export_fields:0
@@ -5682,12 +5769,12 @@ msgstr "res.request"
#. module: base
#: view:ir.model:0
msgid "In Memory"
-msgstr ""
+msgstr "Na memória"
#. module: base
#: view:ir.actions.todo:0
msgid "Todo"
-msgstr ""
+msgstr "A fazer"
#. module: base
#: field:ir.attachment,datas:0
@@ -5709,12 +5796,13 @@ msgstr "LDA"
msgid ""
"The group that a user must have to be authorized to validate this transition."
msgstr ""
+"O grupo ao qual o utilizador tem de pertencer, para validar esta transação."
#. module: base
#: constraint:res.config.users:0
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
-msgstr ""
+msgstr "A companhia escolhida não está entre permitidas para este utilizador"
#. module: base
#: model:res.country,name:base.gi
@@ -5724,7 +5812,7 @@ msgstr "Gibraltar"
#. module: base
#: field:ir.actions.report.xml,report_name:0
msgid "Service Name"
-msgstr ""
+msgstr "Nome do serviço"
#. module: base
#: model:res.country,name:base.pn
@@ -5736,6 +5824,8 @@ msgstr "Ilha Pitcairn"
msgid ""
"We suggest to reload the menu tab to see the new menus (Ctrl+T then Ctrl+R)."
msgstr ""
+"Sugerimos que recarregue o menu, para ver os novos itens (Ctrl+T e depois "
+"Ctrl+R)"
#. module: base
#: model:ir.actions.act_window,name:base.action_rule
@@ -5747,7 +5837,7 @@ msgstr "Gravar regras"
#: field:res.config.users,name:0
#: field:res.users,name:0
msgid "User Name"
-msgstr ""
+msgstr "Nome do utilizador"
#. module: base
#: view:ir.sequence:0
@@ -5767,6 +5857,8 @@ msgid ""
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
"get the required padding size."
msgstr ""
+"O OpenERP vai adicionar os zeros necessários à esquerda, para obter o número "
+"seguinte com o comprimento desejado."
#. module: base
#: view:res.lang:0
@@ -5786,7 +5878,7 @@ msgstr "Vista de procura"
#. module: base
#: sql_constraint:res.lang:0
msgid "The code of the language must be unique !"
-msgstr ""
+msgstr "O código do idioma tem de ser único."
#. module: base
#: model:ir.actions.act_window,name:base.action_attachment
@@ -5811,7 +5903,7 @@ msgstr "maintenance.contract.wizard"
#: model:ir.ui.menu,name:base.menu_sale_config_sales
#: model:ir.ui.menu,name:base.menu_sales
msgid "Sales"
-msgstr ""
+msgstr "Vendas"
#. module: base
#: field:ir.actions.server,child_ids:0
@@ -5862,7 +5954,7 @@ msgstr "Itália"
#: view:ir.actions.todo:0
#: selection:ir.actions.todo,state:0
msgid "To Do"
-msgstr ""
+msgstr "A Fazer"
#. module: base
#: selection:base.language.install,lang:0
@@ -5874,7 +5966,7 @@ msgstr "Estónio / Eesti keel"
#: field:res.partner,email:0
#: field:res.users,email:0
msgid "E-mail"
-msgstr ""
+msgstr "Correio eletrónico"
#. module: base
#: selection:ir.module.module,license:0
@@ -5908,7 +6000,7 @@ msgstr ""
#. module: base
#: view:base.language.export:0
msgid "To browse official translations, you can start with these links:"
-msgstr ""
+msgstr "Para"
#. module: base
#: view:res.bank:0
@@ -5994,7 +6086,7 @@ msgstr "Valor por defeito"
#. module: base
#: model:ir.ui.menu,name:base.menu_tools
msgid "Tools"
-msgstr ""
+msgstr "Ferramentas"
#. module: base
#: model:res.country,name:base.kn
@@ -6009,6 +6101,9 @@ msgid ""
"for the currency: %s \n"
"at the date: %s"
msgstr ""
+"Taxa de câmbio não encontrada \n"
+"para a divisa: %s \n"
+"à data: %s"
#. module: base
#: field:ir.model,name:0
@@ -6052,7 +6147,7 @@ msgstr "Martinica (França)"
#. module: base
#: view:ir.sequence.type:0
msgid "Sequences Type"
-msgstr ""
+msgstr "Tipos de sequencias"
#. module: base
#: model:ir.actions.act_window,name:base.res_request-act
@@ -6080,7 +6175,7 @@ msgstr "Paquistão"
#. module: base
#: view:ir.actions.todo:0
msgid "Set as Todo"
-msgstr ""
+msgstr "Defina como \"a fazer\""
#. module: base
#: model:res.country,name:base.ws
@@ -6094,6 +6189,8 @@ msgid ""
"You cannot delete the language which is Active !\n"
"Please de-activate the language first."
msgstr ""
+"Não pode eliminar um idoma activo!\n"
+"Desactive primeiro o idioma."
#. module: base
#: view:base.language.install:0
@@ -6102,6 +6199,8 @@ msgid ""
"Please be patient, this operation may take a few minutes (depending on the "
"number of modules currently installed)..."
msgstr ""
+"Por favor, seja paciente. Esta operação pode demorar alguns minutos (depende "
+"do número de módulos já instalados)"
#. module: base
#: field:ir.ui.menu,child_id:0
@@ -6118,7 +6217,7 @@ msgstr "Problema na configuração `Record Id` na acção do servidor!"
#: view:base.module.import:0
#: view:base.module.update:0
msgid "Open Modules"
-msgstr ""
+msgstr "Abrir módulos"
#. module: base
#: code:addons/base/maintenance/maintenance.py:0
@@ -6129,7 +6228,7 @@ msgstr "Este erro ocorre na base de dados %s"
#. module: base
#: model:ir.actions.act_window,help:base.action_res_bank_form
msgid "Manage bank records you want to be used in the system."
-msgstr ""
+msgstr "Gere os registos bancários que quer usar no sistema."
#. module: base
#: view:base.module.import:0
@@ -6176,7 +6275,7 @@ msgstr "Acção domestico"
#: model:ir.ui.menu,name:base.next_id_73
#: model:ir.ui.menu,name:base.reporting_menu
msgid "Reporting"
-msgstr ""
+msgstr "Relatórios"
#. module: base
#: model:res.country,name:base.tg
@@ -6186,7 +6285,7 @@ msgstr "Togo"
#. module: base
#: selection:ir.module.module,license:0
msgid "Other Proprietary"
-msgstr ""
+msgstr "Outra, proprietária"
#. module: base
#: selection:workflow.activity,kind:0
@@ -6196,7 +6295,7 @@ msgstr "Parar Tudo"
#. module: base
#: view:ir.model.data:0
msgid "Updatable"
-msgstr ""
+msgstr "Atualizável"
#. module: base
#: view:res.lang:0
@@ -6211,7 +6310,7 @@ msgstr "Cascata"
#. module: base
#: field:workflow.transition,group_id:0
msgid "Group Required"
-msgstr ""
+msgstr "Necessário grupo"
#. module: base
#: view:ir.actions.configuration.wizard:0
@@ -6238,7 +6337,7 @@ msgstr ""
#. module: base
#: view:base.module.upgrade:0
msgid "Start update"
-msgstr ""
+msgstr "Iniciar actualização"
#. module: base
#: field:res.country.state,name:0
@@ -6275,7 +6374,7 @@ msgstr "ir.ui.view"
#. module: base
#: constraint:res.partner:0
msgid "Error ! You can not create recursive associated members."
-msgstr ""
+msgstr "Erro! Não pode criar membros associados recursivamente."
#. module: base
#: help:res.lang,code:0
@@ -6290,7 +6389,7 @@ msgstr "Parceiros da OpenERP"
#. module: base
#: model:ir.ui.menu,name:base.menu_hr_manager
msgid "HR Manager Dashboard"
-msgstr ""
+msgstr "Painel do gestor de RH"
#. module: base
#: code:addons/base/module/module.py:0
@@ -6302,7 +6401,7 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Search modules"
-msgstr ""
+msgstr "Pesquizar módulos"
#. module: base
#: model:res.country,name:base.by
@@ -6348,7 +6447,7 @@ msgstr ""
#: code:addons/base/module/wizard/base_module_upgrade.py:0
#, python-format
msgid "Following modules are not installed or unknown: %s"
-msgstr ""
+msgstr "Os seguintes módulos não são conhecidos: %s"
#. module: base
#: view:ir.cron:0
@@ -6417,7 +6516,7 @@ msgstr "Factor de arredondamento"
#. module: base
#: view:base.language.install:0
msgid "Load"
-msgstr ""
+msgstr "Carregar"
#. module: base
#: help:res.config.users,name:0
@@ -6429,7 +6528,7 @@ msgstr ""
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "Size of the field can never be less than 1 !"
-msgstr ""
+msgstr "O tamanho do campo nunca pode ser menor que 1 !"
#. module: base
#: model:res.country,name:base.so
@@ -6467,12 +6566,12 @@ msgstr "Argumentos"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 2"
-msgstr ""
+msgstr "GPL Versão 2"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 3"
-msgstr ""
+msgstr "GPL Versão 3"
#. module: base
#: view:partner.wizard.ean.check:0
@@ -6482,7 +6581,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_audit
msgid "Audit"
-msgstr ""
+msgstr "Auditoria"
#. module: base
#: selection:base.language.install,lang:0
@@ -6508,7 +6607,7 @@ msgstr "Hora 00->24: %(h24)s"
#. module: base
#: field:ir.cron,nextcall:0
msgid "Next Execution Date"
-msgstr ""
+msgstr "Próxima data de execução"
#. module: base
#: help:multi_company.default,field_id:0
@@ -6550,14 +6649,14 @@ msgstr "Tunísia"
#. module: base
#: model:ir.ui.menu,name:base.menu_mrp_root
msgid "Manufacturing"
-msgstr ""
+msgstr "Produção"
#. module: base
#: view:base.language.export:0
#: model:ir.actions.act_window,name:base.action_wizard_lang_export
#: model:ir.ui.menu,name:base.menu_wizard_lang_export
msgid "Export Translation"
-msgstr ""
+msgstr "Exportar tradução"
#. module: base
#: model:ir.actions.act_window,name:base.action_server_action
@@ -6579,7 +6678,7 @@ msgstr "Legendas para os formatos da data e hora"
#. module: base
#: selection:ir.actions.server,state:0
msgid "Copy Object"
-msgstr ""
+msgstr "Copiar objeto"
#. module: base
#: code:addons/base/res/res_user.py:0
@@ -6587,6 +6686,8 @@ msgstr ""
msgid ""
"Group(s) cannot be deleted, because some user(s) still belong to them: %s !"
msgstr ""
+"Grupo(s) não podem ser eliminados, porque ainda têm utilizadores associados: "
+"%s!"
#. module: base
#: model:ir.actions.act_window,name:base.action_country_state
@@ -6648,7 +6749,7 @@ msgstr "Minuto: %(min)s"
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
msgid "Synchronize Translations"
-msgstr ""
+msgstr "Sincronizar traduções"
#. module: base
#: model:ir.ui.menu,name:base.next_id_10
@@ -6671,7 +6772,7 @@ msgstr "Ref. do utilizador"
#: code:addons/base/res/res_user.py:0
#, python-format
msgid "Warning !"
-msgstr ""
+msgstr "Aviso!"
#. module: base
#: model:ir.ui.menu,name:base.menu_base_config
@@ -6771,7 +6872,7 @@ msgstr "carregar uma tradução oficial"
#. module: base
#: view:res.currency:0
msgid "Miscelleanous"
-msgstr ""
+msgstr "Diversos"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_10
@@ -6807,7 +6908,7 @@ msgstr ""
#. module: base
#: view:ir.attachment:0
msgid "Created"
-msgstr ""
+msgstr "Criado"
#. module: base
#: help:ir.actions.wizard,multi:0
@@ -6863,13 +6964,15 @@ msgid ""
"You try to install module '%s' that depends on module '%s'.\n"
"But the latter module is not available in your system."
msgstr ""
+"Tentou instalar o módulo '%s' que depende do módulo '%s'.\n"
+"Mas este não se encontra disponível no sistema."
#. module: base
#: view:base.language.import:0
#: model:ir.actions.act_window,name:base.action_view_base_import_language
#: model:ir.ui.menu,name:base.menu_view_base_import_language
msgid "Import Translation"
-msgstr ""
+msgstr "Importar tradução"
#. module: base
#: field:res.partner.bank.type,field_ids:0
@@ -6887,7 +6990,7 @@ msgstr "Categoria"
#: selection:ir.attachment,type:0
#: selection:ir.property,type:0
msgid "Binary"
-msgstr ""
+msgstr "Binário"
#. module: base
#: field:ir.actions.server,sms:0
@@ -6904,7 +7007,7 @@ msgstr "Costa Rica"
#: code:addons/base/maintenance/maintenance.py:0
#, python-format
msgid "Your can't submit bug reports due to uncovered modules: %s"
-msgstr "Não pode reportar erros, devido a módulos não suportados: %s"
+msgstr "Não pode reportar erros relativos a módulos não contemplados: %s"
#. module: base
#: model:ir.actions.act_window,help:base.action_partner_supplier_form
@@ -6917,7 +7020,7 @@ msgstr ""
#. module: base
#: view:workflow.activity:0
msgid "Conditions"
-msgstr ""
+msgstr "Condições"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_other_form
@@ -6934,7 +7037,7 @@ msgstr "Moedas"
#. module: base
#: sql_constraint:res.groups:0
msgid "The name of the group must be unique !"
-msgstr ""
+msgstr "O nome do grupo tem de ser único!"
#. module: base
#: view:ir.sequence:0
@@ -6989,12 +7092,12 @@ msgstr "Estónia"
#. module: base
#: model:ir.ui.menu,name:base.dashboard
msgid "Dashboards"
-msgstr ""
+msgstr "Painéis"
#. module: base
#: help:ir.attachment,type:0
msgid "Binary File or external URL"
-msgstr ""
+msgstr "Ficheiro binário ou URL externo"
#. module: base
#: model:res.country,name:base.nl
@@ -7025,7 +7128,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_emails
#: model:ir.ui.menu,name:base.menu_mail_gateway
msgid "Emails"
-msgstr ""
+msgstr "Correio Electrónico"
#. module: base
#: model:res.country,name:base.cd
@@ -7092,7 +7195,7 @@ msgstr "Croata / hrvatski jezik"
#. module: base
#: field:base.language.install,overwrite:0
msgid "Overwrite Existing Terms"
-msgstr ""
+msgstr "Reescrever condições existentes"
#. module: base
#: help:ir.actions.server,code:0
@@ -7102,7 +7205,7 @@ msgstr "Código python a ser executado"
#. module: base
#: sql_constraint:res.country:0
msgid "The code of the country must be unique !"
-msgstr ""
+msgstr "O código do país tem de ser único!"
#. module: base
#: model:ir.ui.menu,name:base.menu_project_management_time_tracking
@@ -7123,7 +7226,7 @@ msgstr "Activar"
#. module: base
#: model:ir.model,name:base.model_base_module_update
msgid "Update Module"
-msgstr ""
+msgstr "Atualizar Modulo"
#. module: base
#: view:ir.model.fields:0
@@ -7158,6 +7261,8 @@ msgid ""
"Indicates whether this object model lives in memory only, i.e. is not "
"persisted (osv.osv_memory)"
msgstr ""
+"Indica se este modelo reside na memória apenas, isto é, não é persistente "
+"(osv.osv_memory)"
#. module: base
#: field:res.partner,child_ids:0
@@ -7253,12 +7358,12 @@ msgstr "De"
#. module: base
#: view:res.users:0
msgid "Preferences"
-msgstr ""
+msgstr "Preferências"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_consumers0
msgid "Consumers"
-msgstr ""
+msgstr "Consumidores"
#. module: base
#: view:res.config:0
@@ -7272,6 +7377,7 @@ msgid ""
"Name of the method to be called on the object when this scheduler is "
"executed."
msgstr ""
+"Nome do método do objecto a ser evocado, quando o planificador for executado."
#. module: base
#: model:res.company,overdue_msg:base.main_company
@@ -7280,11 +7386,14 @@ msgid ""
"consider the present one as void. Do not hesitate to contact our accounting "
"department"
msgstr ""
+"Por favor desconsidere esta mensagem, caso o seu pagamento tenha sido "
+"efetuado após o envio deste e-mail. Em caso de dúvida, entre em contato com "
+"a nossa contabilidade"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Miscellaneous"
-msgstr ""
+msgstr "Diversos"
#. module: base
#: model:res.country,name:base.cn
@@ -7396,7 +7505,7 @@ msgstr "Administração"
#. module: base
#: view:base.module.update:0
msgid "Click on Update below to start the process..."
-msgstr ""
+msgstr "Carregue em 'actualizar' abaixo, para iniciar o processo..."
#. module: base
#: model:res.country,name:base.ir
@@ -7423,7 +7532,7 @@ msgstr "Desconhecido"
#. module: base
#: field:res.currency,symbol:0
msgid "Symbol"
-msgstr ""
+msgstr "Símbolo"
#. module: base
#: help:res.config.users,login:0
@@ -7434,7 +7543,7 @@ msgstr ""
#. module: base
#: view:base.update.translations:0
msgid "Synchronize Translation"
-msgstr ""
+msgstr "Sincronizar tradução"
#. module: base
#: field:ir.ui.view_sc,res_id:0
@@ -7454,7 +7563,7 @@ msgstr "Iraque"
#. module: base
#: model:ir.ui.menu,name:base.menu_association
msgid "Association"
-msgstr ""
+msgstr "Associação"
#. module: base
#: model:res.country,name:base.cl
@@ -7466,7 +7575,7 @@ msgstr "Chile"
#: model:ir.ui.menu,name:base.menu_config_address_book
#: model:ir.ui.menu,name:base.menu_procurement_management_supplier
msgid "Address Book"
-msgstr ""
+msgstr "Livro de endereços"
#. module: base
#: model:ir.model,name:base.model_ir_sequence_type
@@ -7481,13 +7590,13 @@ msgstr "Ficheiro CSV"
#. module: base
#: field:res.company,account_no:0
msgid "Account No."
-msgstr ""
+msgstr "Nº da conta"
#. module: base
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "Base Language 'en_US' can not be deleted !"
-msgstr ""
+msgstr "O idioma base \"en_US\" não pode ser eliminado!"
#. module: base
#: selection:ir.model,state:0
@@ -7562,7 +7671,7 @@ msgstr ""
#. module: base
#: view:base.module.update:0
msgid "Update Module List"
-msgstr ""
+msgstr "Actualizar a lista de módulos"
#. module: base
#: selection:res.partner.address,type:0
@@ -7597,11 +7706,13 @@ msgstr "Auto-refrescar"
#, python-format
msgid "The osv_memory field can only be compared with = and != operator."
msgstr ""
+"O campo \"osv_memory\" só pode ser objecto de comparações com os operadores "
+"'=' ou '!='."
#. module: base
#: selection:ir.ui.view,type:0
msgid "Diagram"
-msgstr ""
+msgstr "Diagrama"
#. module: base
#: help:multi_company.default,name:0
@@ -7617,13 +7728,13 @@ msgstr ""
#. module: base
#: constraint:ir.rule:0
msgid "Rules are not supported for osv_memory objects !"
-msgstr ""
+msgstr "Regras não são suportadas por objetos \"osv_memory\"!"
#. module: base
#: model:ir.ui.menu,name:base.menu_event_association
#: model:ir.ui.menu,name:base.menu_event_main
msgid "Events Organisation"
-msgstr ""
+msgstr "Organização de eventos"
#. module: base
#: model:ir.actions.act_window,name:base.ir_sequence_actions
@@ -7667,12 +7778,12 @@ msgstr "Adicionar ou não o cabeçalho RML da corporação"
#. module: base
#: help:workflow.transition,act_to:0
msgid "The destination activity."
-msgstr ""
+msgstr "A actividade destino"
#. module: base
#: sql_constraint:maintenance.contract:0
msgid "Your maintenance contract is already subscribed in the system !"
-msgstr ""
+msgstr "O seu contrato de manutenção já se encontra registado no sistema!"
#. module: base
#: view:base.module.update:0
@@ -7713,7 +7824,7 @@ msgstr "Não instalavel"
#. module: base
#: view:res.config.installer:0
msgid "Install Modules"
-msgstr ""
+msgstr "Instalar módulos"
#. module: base
#: model:ir.actions.act_window,name:base.res_partner_canal-act
@@ -7726,13 +7837,13 @@ msgstr "Canais"
#. module: base
#: view:ir.ui.view:0
msgid "Extra Info"
-msgstr ""
+msgstr "Informação extra"
#. module: base
#: model:ir.actions.act_window,name:base.act_values_form_action
#: model:ir.ui.menu,name:base.menu_values_form_action
msgid "Client Events"
-msgstr ""
+msgstr "Eventos de clientes"
#. module: base
#: view:ir.module.module:0
@@ -7742,7 +7853,7 @@ msgstr "Agendar para instalação"
#. module: base
#: model:ir.model,name:base.model_partner_wizard_ean_check
msgid "Ean Check"
-msgstr ""
+msgstr "Verificar EAN"
#. module: base
#: sql_constraint:res.config.users:0
@@ -7764,7 +7875,7 @@ msgstr "Enviar"
#: field:res.config.users,menu_tips:0
#: field:res.users,menu_tips:0
msgid "Menu Tips"
-msgstr ""
+msgstr "Dicas do menu"
#. module: base
#: field:ir.translation,src:0
@@ -7804,14 +7915,14 @@ msgstr "Iniciar configuração"
#. module: base
#: view:base.language.export:0
msgid "_Export"
-msgstr ""
+msgstr "_Exportar"
#. module: base
#: field:base.language.install,state:0
#: field:base.module.import,state:0
#: field:base.module.update,state:0
msgid "state"
-msgstr ""
+msgstr "estado"
#. module: base
#: selection:base.language.install,lang:0
@@ -7851,13 +7962,13 @@ msgstr "Campo de relação"
#. module: base
#: view:res.partner.event:0
msgid "Event Logs"
-msgstr ""
+msgstr "Registo dos Eventos"
#. module: base
#: code:addons/base/module/wizard/base_module_configuration.py:0
#, python-format
msgid "System Configuration done"
-msgstr ""
+msgstr "configuração do sistema pronta"
#. module: base
#: field:workflow.triggers,instance_id:0
@@ -7898,13 +8009,13 @@ msgstr "Luxemburgo"
#. module: base
#: view:base.module.upgrade:0
msgid "The selected modules have been updated / installed !"
-msgstr ""
+msgstr "Os módulos selecionados foram actualizados / instalados!"
#. module: base
#: code:addons/base/ir/ir_ui_menu.py:0
#, python-format
msgid "Error ! You can not create recursive Menu."
-msgstr ""
+msgstr "Erro ! Você não pode criar menus recursivamente."
#. module: base
#: view:ir.rule:0
@@ -7912,6 +8023,8 @@ msgid ""
"3. If user belongs to several groups, the results from step 2 are combined "
"with logical OR operator"
msgstr ""
+"#. Se o utilizador pertence a grupos diferentes, os resultados do passo 2 "
+"são combinados com o operador lógico \"OU\""
#. module: base
#: model:res.country,name:base.sv
@@ -7943,7 +8056,7 @@ msgstr "Tailândia"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
msgid "Leads & Opportunities"
-msgstr ""
+msgstr "Dicas & oportunidades"
#. module: base
#: selection:base.language.install,lang:0
@@ -8047,7 +8160,7 @@ msgstr "Ver auto-carregamento"
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "You cannot remove the field '%s' !"
-msgstr ""
+msgstr "Não pode eliminar o campo '%s'!"
#. module: base
#: field:ir.exports,resource:0
@@ -8070,13 +8183,13 @@ msgstr ""
#. module: base
#: view:ir.actions.act_window:0
msgid "View Ordering"
-msgstr ""
+msgstr "Ordem da vista"
#. module: base
#: code:addons/base/module/wizard/base_module_upgrade.py:0
#, python-format
msgid "Unmet dependency !"
-msgstr ""
+msgstr "Dependência não encontrada!"
#. module: base
#: view:base.language.import:0
@@ -8157,7 +8270,7 @@ msgstr "Empresa"
#. module: base
#: view:res.users:0
msgid "Email & Signature"
-msgstr ""
+msgstr "Email & Assinatura"
#. module: base
#: selection:base.language.install,lang:0
@@ -8167,7 +8280,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_aftersale
msgid "After-Sale Services"
-msgstr ""
+msgstr "Serviços pós-venda"
#. module: base
#: model:ir.actions.act_window,name:base.action_maintenance_contract_add_wizard
@@ -8179,7 +8292,7 @@ msgstr "Adicionar contacto de manutenção"
#. module: base
#: view:ir.actions.todo:0
msgid "Launch"
-msgstr ""
+msgstr "Lançar"
#. module: base
#: model:res.country,name:base.sa
@@ -8235,7 +8348,7 @@ msgstr "Ilhas Virgens Britânicas"
#: view:ir.property:0
#: model:ir.ui.menu,name:base.next_id_15
msgid "Parameters"
-msgstr ""
+msgstr "Parâmetros"
#. module: base
#: selection:base.language.install,lang:0
@@ -8326,6 +8439,8 @@ msgid ""
"1. Global rules are combined together with a logical AND operator, and with "
"the result of the following steps"
msgstr ""
+"1. Regras globais são combinadas com o operador lógico \"E\", e com o "
+"resultado dos seguintes passos"
#. module: base
#: field:res.partner.category,name:0
@@ -8335,7 +8450,7 @@ msgstr "Nome da categoria"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_15
msgid "IT sector"
-msgstr ""
+msgstr "Setor TI"
#. module: base
#: view:ir.actions.act_window:0
@@ -8374,7 +8489,7 @@ msgstr "Retrato"
#. module: base
#: selection:ir.translation,type:0
msgid "Report/Template"
-msgstr ""
+msgstr "Relatório/modelo"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@@ -8418,7 +8533,7 @@ msgstr "Modo separado"
#. module: base
#: view:base.module.upgrade:0
msgid "Note that this operation might take a few minutes."
-msgstr ""
+msgstr "Note que esta operação pode demorar alguns minutos"
#. module: base
#: model:ir.ui.menu,name:base.menu_localisation
@@ -8433,7 +8548,7 @@ msgstr "Acção a inicializar"
#. module: base
#: view:ir.cron:0
msgid "Execution"
-msgstr ""
+msgstr "Execução"
#. module: base
#: field:ir.actions.server,condition:0
@@ -8495,7 +8610,7 @@ msgstr "Categorias de parceiros"
#. module: base
#: view:base.module.upgrade:0
msgid "System Update"
-msgstr ""
+msgstr "Actualização do sistema"
#. module: base
#: help:ir.sequence,prefix:0
@@ -8559,7 +8674,7 @@ msgstr "Recurso do objecto"
#. module: base
#: help:ir.sequence,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
-msgstr ""
+msgstr "O próximo numero da sequencia, será incrementado por este valor"
#. module: base
#: field:ir.cron,function:0
diff --git a/bin/addons/base/i18n/pt_BR.po b/bin/addons/base/i18n/pt_BR.po
index 8e92484d118..2fc0cb76ec1 100644
--- a/bin/addons/base/i18n/pt_BR.po
+++ b/bin/addons/base/i18n/pt_BR.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-04 08:23+0000\n"
+"PO-Revision-Date: 2010-12-06 18:57+0000\n"
"Last-Translator: Cristiano Korndörfer \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: 2010-12-05 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -1092,6 +1092,19 @@ msgid ""
"%(user_signature)s\n"
"%(company_name)s"
msgstr ""
+"Data : %(date)s\n"
+"\n"
+"Prezado(a) %(partner_name)s,\n"
+"\n"
+"Em anexo encontra-se um resumo de todas as suas faturas em aberto, para um "
+"total devido de:\n"
+"\n"
+"%(followup_amount).2f %(company_currency)s\n"
+"\n"
+"Sem mais,\n"
+"--\n"
+"%(user_signature)s\n"
+"%(company_name)s"
#. module: base
#: field:res.currency,accuracy:0
@@ -1193,7 +1206,7 @@ msgstr "Parceiros"
#: model:ir.actions.act_window,name:base.res_widget_act_window
#: model:ir.ui.menu,name:base.menu_res_widget_act_window
msgid "Homepage Widgets"
-msgstr ""
+msgstr "Widgets de Página Web"
#. module: base
#: help:ir.actions.server,message:0
@@ -1261,7 +1274,7 @@ msgstr "Malawi"
#: code:addons/base/res/res_user.py:0
#, python-format
msgid "%s (copy)"
-msgstr ""
+msgstr "%s (cópia)"
#. module: base
#: field:res.partner.address,type:0
@@ -1782,6 +1795,9 @@ msgid ""
"partner records. You can create or delete countries to make sure the ones "
"you are working on will be maintained."
msgstr ""
+"Mostra e gerencia a lista de todos os países que podem ser informados nos "
+"seus registros de parceiros. Você pode criar ou apagar países para assegurar-"
+"se de que os que são utilizados serão mantidos."
#. module: base
#: model:res.partner.category,name:base.res_partner_category_7
@@ -2416,6 +2432,9 @@ msgid ""
"import a language pack from here. Other OpenERP languages than the official "
"ones can be found on launchpad."
msgstr ""
+"Se você precisa de um outro idioma diferente dos disponíveis oficialmente, "
+"você pode importar pacotes de idiomas aqui. Outros idiomas diferentes dos "
+"oficiais podem ser encontrados no launchpad."
#. module: base
#: view:ir.module.module:0
@@ -4399,7 +4418,7 @@ msgstr "Senha"
#. module: base
#: field:ir.ui.menu,web_icon:0
msgid "Icon File"
-msgstr ""
+msgstr "Arquivo de Ícone"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_fields
@@ -4445,6 +4464,10 @@ msgid ""
"channels that will be maintained at the creation of a document in the "
"system. Some examples of channels can be: Website, Phone Call, Reseller, etc."
msgstr ""
+"Rastreie por onde entram suas indicações e oportunidades criando canais "
+"específicos que serão atualizados na criação de documentos no sistema. "
+"Alguns exemplos de canais podem ser: Página na Internet, Chamada Telefônica, "
+"Revendedor, etc."
#. module: base
#: model:res.partner.bank.type.field,name:base.bank_normal_field
@@ -4630,6 +4653,8 @@ msgid ""
"If specified, this action will be opened at logon for this user, in addition "
"to the standard menu."
msgstr ""
+"Se especificada, esta ação será aberta cada vez que o usuário autenticar-se, "
+"em adição ao menu padrão."
#. module: base
#: view:ir.values:0
diff --git a/bin/addons/base/i18n/ro.po b/bin/addons/base/i18n/ro.po
index 041f6de7e0d..1af92b4ff0a 100644
--- a/bin/addons/base/i18n/ro.po
+++ b/bin/addons/base/i18n/ro.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-04 23:20+0000\n"
+"PO-Revision-Date: 2010-12-05 22:06+0000\n"
"Last-Translator: Syraxes \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: 2010-12-05 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -43,7 +43,7 @@ msgstr "%j - Ziua anului ca numar zecimal [001,366]."
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
-msgstr ""
+msgstr "DateTime"
#. module: base
#: view:ir.values:0
@@ -4294,12 +4294,12 @@ msgstr "Saint Vincent & Grenadines"
#: field:res.config.users,password:0
#: field:res.users,password:0
msgid "Password"
-msgstr ""
+msgstr "Parola"
#. module: base
#: field:ir.ui.menu,web_icon:0
msgid "Icon File"
-msgstr ""
+msgstr "Icon"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_fields
@@ -4433,7 +4433,7 @@ msgstr "Câmp Custom"
#. module: base
#: field:ir.module.module,web:0
msgid "Has a web component"
-msgstr ""
+msgstr "Are o componentă web"
#. module: base
#: model:res.country,name:base.cc
@@ -5871,7 +5871,7 @@ msgstr ""
#: view:res.users:0
#: field:res.users,address_id:0
msgid "Address"
-msgstr ""
+msgstr "Adresa"
#. module: base
#: field:ir.ui.menu,web_icon_hover:0
@@ -5881,22 +5881,22 @@ msgstr ""
#. module: base
#: field:ir.module.module,latest_version:0
msgid "Installed version"
-msgstr ""
+msgstr "Versiunea instalată"
#. module: base
#: selection:base.language.install,lang:0
msgid "Mongolian / монгол"
-msgstr ""
+msgstr "Mongolă / монгол"
#. module: base
#: model:res.country,name:base.mr
msgid "Mauritania"
-msgstr ""
+msgstr "Mauritania"
#. module: base
#: model:ir.model,name:base.model_ir_translation
msgid "ir.translation"
-msgstr ""
+msgstr "ir.translation"
#. module: base
#: view:base.module.update:0
@@ -5907,38 +5907,38 @@ msgstr ""
#: view:workflow.activity:0
#: field:workflow.workitem,act_id:0
msgid "Activity"
-msgstr ""
+msgstr "Activitate"
#. module: base
#: view:res.partner:0
#: view:res.partner.address:0
msgid "Postal Address"
-msgstr ""
+msgstr "Adresa poștală"
#. module: base
#: field:res.company,parent_id:0
msgid "Parent Company"
-msgstr ""
+msgstr "Compania părinte"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (CR) / Español (CR)"
-msgstr ""
+msgstr "Spaniolă (CR) / Español (CR)"
#. module: base
#: field:res.currency.rate,rate:0
msgid "Rate"
-msgstr ""
+msgstr "Rata"
#. module: base
#: model:res.country,name:base.cg
msgid "Congo"
-msgstr ""
+msgstr "Congo"
#. module: base
#: view:res.lang:0
msgid "Examples"
-msgstr ""
+msgstr "Exemple"
#. module: base
#: field:ir.default,value:0
@@ -5953,7 +5953,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.kn
msgid "Saint Kitts & Nevis Anguilla"
-msgstr ""
+msgstr "Federaţia Saint Kitts & Nevis Anguilla"
#. module: base
#: code:addons/base/res/res_currency.py:0
@@ -5969,7 +5969,7 @@ msgstr ""
#: field:ir.model.fields,model:0
#: field:ir.values,model:0
msgid "Object Name"
-msgstr ""
+msgstr "Numele obiectului"
#. module: base
#: help:ir.actions.server,srcmodel_id:0
@@ -6001,7 +6001,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.mq
msgid "Martinique (French)"
-msgstr ""
+msgstr "Martinica (Franceză)"
#. module: base
#: view:ir.sequence.type:0
@@ -6019,17 +6019,17 @@ msgstr ""
#. module: base
#: model:res.country,name:base.ye
msgid "Yemen"
-msgstr ""
+msgstr "Yemen"
#. module: base
#: selection:workflow.activity,split_mode:0
msgid "Or"
-msgstr ""
+msgstr "Sau"
#. module: base
#: model:res.country,name:base.pk
msgid "Pakistan"
-msgstr ""
+msgstr "Pakistan"
#. module: base
#: view:ir.actions.todo:0
@@ -6039,7 +6039,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.ws
msgid "Samoa"
-msgstr ""
+msgstr "Samoa"
#. module: base
#: code:addons/base/res/res_lang.py:0
@@ -6048,6 +6048,8 @@ msgid ""
"You cannot delete the language which is Active !\n"
"Please de-activate the language first."
msgstr ""
+"Nu puteţi şterge o limbă activă !\n"
+"Vă rugăm să deactivaţi limba mai întâi."
#. module: base
#: view:base.language.install:0
@@ -6060,7 +6062,7 @@ msgstr ""
#. module: base
#: field:ir.ui.menu,child_id:0
msgid "Child IDs"
-msgstr ""
+msgstr "ID- urile copil"
#. module: base
#: code:addons/base/ir/ir_actions.py:0
@@ -6088,7 +6090,7 @@ msgstr ""
#. module: base
#: view:base.module.import:0
msgid "Import module"
-msgstr ""
+msgstr "Import modul"
#. module: base
#: field:ir.actions.server,loop_action:0
@@ -6105,14 +6107,14 @@ msgstr ""
#. module: base
#: model:res.country,name:base.la
msgid "Laos"
-msgstr ""
+msgstr "Laos"
#. module: base
#: selection:ir.actions.server,state:0
#: field:res.config.users,user_email:0
#: field:res.users,user_email:0
msgid "Email"
-msgstr ""
+msgstr "Email"
#. module: base
#: field:res.config.users,action_id:0
@@ -6130,12 +6132,12 @@ msgstr "Actiuni"
#: model:ir.ui.menu,name:base.next_id_73
#: model:ir.ui.menu,name:base.reporting_menu
msgid "Reporting"
-msgstr ""
+msgstr "Raportare"
#. module: base
#: model:res.country,name:base.tg
msgid "Togo"
-msgstr ""
+msgstr "Togo"
#. module: base
#: selection:ir.module.module,license:0
@@ -6155,7 +6157,7 @@ msgstr ""
#. module: base
#: view:res.lang:0
msgid "3. %x ,%X ==> 12/05/08, 18:25:20"
-msgstr ""
+msgstr "3. %x ,%X ==> 12/05/08, 18:25:20"
#. module: base
#: selection:ir.model.fields,on_delete:0
@@ -6180,7 +6182,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.ro
msgid "Romania"
-msgstr ""
+msgstr "România"
#. module: base
#: help:ir.cron,doall:0
@@ -6208,13 +6210,13 @@ msgstr "Tip de legare(legatura)"
#: field:res.config.users,context_tz:0
#: field:res.users,context_tz:0
msgid "Timezone"
-msgstr ""
+msgstr "Fusul orar"
#. module: base
#: model:ir.model,name:base.model_ir_actions_report_xml
#: selection:ir.ui.menu,action:0
msgid "ir.actions.report.xml"
-msgstr ""
+msgstr "ir.actions.report.xml"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_miss
@@ -6224,7 +6226,7 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_ir_ui_view
msgid "ir.ui.view"
-msgstr ""
+msgstr "ir.ui.view"
#. module: base
#: constraint:res.partner:0
@@ -6239,7 +6241,7 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_2
msgid "OpenERP Partners"
-msgstr ""
+msgstr "Parteneri OpenERP"
#. module: base
#: model:ir.ui.menu,name:base.menu_hr_manager
@@ -6256,12 +6258,12 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Search modules"
-msgstr ""
+msgstr "Căutare module"
#. module: base
#: model:res.country,name:base.by
msgid "Belarus"
-msgstr ""
+msgstr "Bielorusia"
#. module: base
#: field:ir.actions.act_window,name:0
@@ -6271,7 +6273,7 @@ msgstr ""
#: field:ir.actions.url,name:0
#: field:ir.filters,name:0
msgid "Action Name"
-msgstr ""
+msgstr "Nume acțiune"
#. module: base
#: model:ir.actions.act_window,help:base.action_res_users
@@ -6285,24 +6287,24 @@ msgstr ""
#. module: base
#: selection:res.request,priority:0
msgid "Normal"
-msgstr ""
+msgstr "Normal"
#. module: base
#: field:res.bank,street2:0
#: field:res.partner.address,street2:0
msgid "Street2"
-msgstr ""
+msgstr "Strada2"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_base_module_update
msgid "Module Update"
-msgstr ""
+msgstr "Actualizare modul"
#. module: base
#: code:addons/base/module/wizard/base_module_upgrade.py:0
#, python-format
msgid "Following modules are not installed or unknown: %s"
-msgstr ""
+msgstr "Modulele următoare nu există sau nu sunt instalate: %s"
#. module: base
#: view:ir.cron:0
@@ -6316,12 +6318,12 @@ msgstr ""
#: view:res.users:0
#: field:res.widget.user,user_id:0
msgid "User"
-msgstr ""
+msgstr "Utilizator"
#. module: base
#: model:res.country,name:base.pr
msgid "Puerto Rico"
-msgstr ""
+msgstr "Puerto Rico"
#. module: base
#: view:ir.actions.act_window:0
@@ -6336,7 +6338,7 @@ msgstr ""
#. module: base
#: field:ir.actions.act_window,filter:0
msgid "Filter"
-msgstr ""
+msgstr "Filtru"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_madam
@@ -6346,7 +6348,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.ch
msgid "Switzerland"
-msgstr ""
+msgstr "Elveţia"
#. module: base
#: model:res.country,name:base.gd
@@ -7289,17 +7291,17 @@ msgstr ""
#. module: base
#: model:res.country,name:base.bg
msgid "Bulgaria"
-msgstr ""
+msgstr "Bulgaria"
#. module: base
#: model:res.country,name:base.ao
msgid "Angola"
-msgstr ""
+msgstr "Angola"
#. module: base
#: model:res.country,name:base.tf
msgid "French Southern Territories"
-msgstr ""
+msgstr "Teritoriile Franceze de Sud"
#. module: base
#: model:ir.model,name:base.model_res_currency
@@ -7309,7 +7311,7 @@ msgstr ""
#: field:res.currency,name:0
#: field:res.currency.rate,currency_id:0
msgid "Currency"
-msgstr ""
+msgstr "Moneda"
#. module: base
#: field:res.partner.canal,name:0
@@ -7319,7 +7321,7 @@ msgstr "Nume canal"
#. module: base
#: view:res.lang:0
msgid "5. %y, %Y ==> 08, 2008"
-msgstr ""
+msgstr "5. %y, %Y ==> 08, 2008"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_ltd
@@ -7336,12 +7338,12 @@ msgstr ""
#. module: base
#: view:res.company:0
msgid "Landscape"
-msgstr ""
+msgstr "Landscape"
#. module: base
#: model:ir.ui.menu,name:base.menu_administration
msgid "Administration"
-msgstr ""
+msgstr "Administrare"
#. module: base
#: view:base.module.update:0
@@ -7362,7 +7364,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Slovak / Slovenský jazyk"
-msgstr ""
+msgstr "Slovacă / Slovenský jazyk"
#. module: base
#: field:base.language.export,state:0
@@ -7394,7 +7396,7 @@ msgstr "Ref. resursa"
#. module: base
#: model:res.country,name:base.ki
msgid "Kiribati"
-msgstr ""
+msgstr "Kiribati"
#. module: base
#: model:res.country,name:base.iq
@@ -7404,12 +7406,12 @@ msgstr "Irak"
#. module: base
#: model:ir.ui.menu,name:base.menu_association
msgid "Association"
-msgstr ""
+msgstr "Asociere"
#. module: base
#: model:res.country,name:base.cl
msgid "Chile"
-msgstr ""
+msgstr "Chile"
#. module: base
#: model:ir.ui.menu,name:base.menu_address_book
@@ -7421,23 +7423,23 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_ir_sequence_type
msgid "ir.sequence.type"
-msgstr ""
+msgstr "ir.sequence.type"
#. module: base
#: selection:base.language.export,format:0
msgid "CSV File"
-msgstr ""
+msgstr "Fişier CSV"
#. module: base
#: field:res.company,account_no:0
msgid "Account No."
-msgstr ""
+msgstr "Nr. cont"
#. module: base
#: code:addons/base/res/res_lang.py:0
#, python-format
msgid "Base Language 'en_US' can not be deleted !"
-msgstr ""
+msgstr "Limba 'en_US' nu poate fi ștearsă !"
#. module: base
#: selection:ir.model,state:0
@@ -7449,7 +7451,7 @@ msgstr ""
#: selection:ir.translation,type:0
#: field:multi_company.default,field_id:0
msgid "Field"
-msgstr ""
+msgstr "Câmp"
#. module: base
#: report:ir.module.reference.graph:0
@@ -7459,7 +7461,7 @@ msgstr ""
#. module: base
#: field:ir.model.fields,field_description:0
msgid "Field Label"
-msgstr ""
+msgstr "Eticheta câmpului"
#. module: base
#: model:ir.actions.act_window,help:base.action_partner_form
@@ -7473,7 +7475,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.dj
msgid "Djibouti"
-msgstr ""
+msgstr "Djibouti"
#. module: base
#: field:ir.translation,value:0
@@ -7483,12 +7485,12 @@ msgstr "Suma tranzactiei"
#. module: base
#: model:res.country,name:base.ag
msgid "Antigua and Barbuda"
-msgstr ""
+msgstr "Antigua si Barbuda"
#. module: base
#: model:res.country,name:base.zr
msgid "Zaire"
-msgstr ""
+msgstr "Zair"
#. module: base
#: field:ir.model.data,res_id:0
@@ -7517,7 +7519,7 @@ msgstr ""
#. module: base
#: selection:res.partner.address,type:0
msgid "Other"
-msgstr ""
+msgstr "Altele"
#. module: base
#: view:res.request:0
@@ -7527,7 +7529,7 @@ msgstr "Raspuns"
#. module: base
#: selection:base.language.install,lang:0
msgid "Turkish / Türkçe"
-msgstr ""
+msgstr "Turcă / Türkçe"
#. module: base
#: model:ir.actions.act_window,name:base.action_workflow_activity_form
@@ -7535,7 +7537,7 @@ msgstr ""
#: view:workflow:0
#: field:workflow,activities:0
msgid "Activities"
-msgstr ""
+msgstr "Activități"
#. module: base
#: field:ir.actions.act_window,auto_refresh:0
@@ -7551,7 +7553,7 @@ msgstr ""
#. module: base
#: selection:ir.ui.view,type:0
msgid "Diagram"
-msgstr ""
+msgstr "Diagramă"
#. module: base
#: help:multi_company.default,name:0
@@ -7582,7 +7584,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.next_id_6
#: view:workflow.activity:0
msgid "Actions"
-msgstr ""
+msgstr "Acțiuni"
#. module: base
#: selection:res.request,priority:0
@@ -7592,7 +7594,7 @@ msgstr ""
#. module: base
#: field:ir.exports.line,export_id:0
msgid "Export"
-msgstr ""
+msgstr "Export"
#. module: base
#: help:res.bank,bic:0
@@ -7602,12 +7604,12 @@ msgstr ""
#. module: base
#: model:res.country,name:base.tm
msgid "Turkmenistan"
-msgstr ""
+msgstr "Turkmenistan"
#. module: base
#: model:res.country,name:base.pm
msgid "Saint Pierre and Miquelon"
-msgstr ""
+msgstr "St. Pierre și Miquelon"
#. module: base
#: help:ir.actions.report.xml,header:0
@@ -7628,22 +7630,22 @@ msgstr ""
#: view:base.module.update:0
#: view:base.update.translations:0
msgid "Update"
-msgstr ""
+msgstr "Actualizare"
#. module: base
#: model:ir.actions.report.xml,name:base.ir_module_reference_print
msgid "Technical guide"
-msgstr ""
+msgstr "Ghid tehnic"
#. module: base
#: model:res.country,name:base.tz
msgid "Tanzania"
-msgstr ""
+msgstr "Tanzania"
#. module: base
#: selection:base.language.install,lang:0
msgid "Danish / Dansk"
-msgstr ""
+msgstr "Daneză / Dansk"
#. module: base
#: model:res.country,name:base.cx
@@ -7658,12 +7660,12 @@ msgstr ""
#. module: base
#: selection:ir.module.module.dependency,state:0
msgid "Uninstallable"
-msgstr ""
+msgstr "Nu poate fi instalat"
#. module: base
#: view:res.config.installer:0
msgid "Install Modules"
-msgstr ""
+msgstr "Instalare module"
#. module: base
#: model:ir.actions.act_window,name:base.res_partner_canal-act
@@ -7671,12 +7673,12 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_res_partner_canal-act
#: view:res.partner.canal:0
msgid "Channels"
-msgstr ""
+msgstr "Canale"
#. module: base
#: view:ir.ui.view:0
msgid "Extra Info"
-msgstr ""
+msgstr "Informaţii suplimentare"
#. module: base
#: model:ir.actions.act_window,name:base.act_values_form_action
@@ -7692,13 +7694,13 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_partner_wizard_ean_check
msgid "Ean Check"
-msgstr ""
+msgstr "Verificare EAN"
#. module: base
#: sql_constraint:res.config.users:0
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
-msgstr ""
+msgstr "Nu pot exista doi utilizatori cu același nume de login !"
#. module: base
#: model:ir.model,name:base.model_multi_company_default
@@ -7708,7 +7710,7 @@ msgstr ""
#. module: base
#: view:res.request:0
msgid "Send"
-msgstr ""
+msgstr "Trimitere"
#. module: base
#: field:res.config.users,menu_tips:0
@@ -7729,7 +7731,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.vu
msgid "Vanuatu"
-msgstr ""
+msgstr "Vanuatu"
#. module: base
#: view:res.company:0
@@ -7752,7 +7754,7 @@ msgstr ""
#. module: base
#: view:base.language.export:0
msgid "_Export"
-msgstr ""
+msgstr "_Export"
#. module: base
#: field:base.language.install,state:0
@@ -7764,17 +7766,17 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Catalan / Català"
-msgstr ""
+msgstr "Catalană / Català"
#. module: base
#: model:res.country,name:base.do
msgid "Dominican Republic"
-msgstr ""
+msgstr "Republica Dominicană"
#. module: base
#: selection:base.language.install,lang:0
msgid "Serbian (Cyrillic) / српски"
-msgstr ""
+msgstr "Sârbă (Cyrillic) / српски"
#. module: base
#: field:res.widget.user,widget_id:0
@@ -7819,7 +7821,7 @@ msgstr ""
#. module: base
#: view:base.language.export:0
msgid "https://translations.launchpad.net/openobject"
-msgstr ""
+msgstr "https://translations.launchpad.net/openobject"
#. module: base
#: field:ir.actions.report.xml,report_xml:0
@@ -7834,12 +7836,12 @@ msgstr ""
#. module: base
#: model:res.country,name:base.gn
msgid "Guinea"
-msgstr ""
+msgstr "Guineea"
#. module: base
#: model:res.country,name:base.lu
msgid "Luxembourg"
-msgstr ""
+msgstr "Luxemburg"
#. module: base
#: view:base.module.upgrade:0
@@ -7862,14 +7864,14 @@ msgstr ""
#. module: base
#: model:res.country,name:base.sv
msgid "El Salvador"
-msgstr ""
+msgstr "Salvador"
#. module: base
#: field:res.bank,phone:0
#: field:res.partner,phone:0
#: field:res.partner.address,phone:0
msgid "Phone"
-msgstr ""
+msgstr "Telefon"
#. module: base
#: model:res.widget,title:base.albertnan_twitter_widget
@@ -7884,7 +7886,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.th
msgid "Thailand"
-msgstr ""
+msgstr "Thailanda"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
@@ -7900,7 +7902,7 @@ msgstr ""
#: selection:workflow.activity,join_mode:0
#: selection:workflow.activity,split_mode:0
msgid "And"
-msgstr ""
+msgstr "Și"
#. module: base
#: field:ir.model.fields,relation:0
@@ -7922,7 +7924,7 @@ msgstr ""
#: model:ir.model,name:base.model_ir_actions_act_window
#: selection:ir.ui.menu,action:0
msgid "ir.actions.act_window"
-msgstr ""
+msgstr "ir.actions.act_window"
#. module: base
#: field:ir.rule,perm_create:0
@@ -7932,12 +7934,12 @@ msgstr ""
#. module: base
#: model:res.country,name:base.vi
msgid "Virgin Islands (USA)"
-msgstr ""
+msgstr "Insulele Virgine (SUA)"
#. module: base
#: model:res.country,name:base.tw
msgid "Taiwan"
-msgstr ""
+msgstr "Taiwan"
#. module: base
#: model:ir.model,name:base.model_res_currency_rate
@@ -8575,12 +8577,12 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Polish / Język polski"
-msgstr ""
+msgstr "Poloneză / Język polski"
#. module: base
#: field:ir.exports,name:0
msgid "Export Name"
-msgstr ""
+msgstr "Nume export"
#. module: base
#: help:res.partner.address,type:0
@@ -8588,16 +8590,18 @@ msgid ""
"Used to select automatically the right address according to the context in "
"sales and purchases documents."
msgstr ""
+"Folosit pentru selectarea automată, în funcţie de context, a adresei in "
+"documentele de vânzare şi cumpărare."
#. module: base
#: model:res.country,name:base.lk
msgid "Sri Lanka"
-msgstr ""
+msgstr "Sri Lanka"
#. module: base
#: selection:base.language.install,lang:0
msgid "Russian / русский язык"
-msgstr ""
+msgstr "Rusă / русский язык"
#~ msgid "Factor"
#~ msgstr "Factor(Postas)"
diff --git a/bin/addons/base/i18n/sv.po b/bin/addons/base/i18n/sv.po
index b328038a8c0..c3324bb5034 100644
--- a/bin/addons/base/i18n/sv.po
+++ b/bin/addons/base/i18n/sv.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-12-03 15:43+0000\n"
-"PO-Revision-Date: 2010-12-05 01:23+0000\n"
+"PO-Revision-Date: 2010-12-06 12:35+0000\n"
"Last-Translator: Magnus Brandt, Aspirix AB \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: 2010-12-05 04:48+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: base
@@ -5077,7 +5077,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Flemish (BE) / Vlaams (BE)"
-msgstr ""
+msgstr "Flamländska (BE) / Vlaams (BE)"
#. module: base
#: field:ir.cron,interval_number:0
@@ -5111,7 +5111,7 @@ msgstr "Brunei Darussalam"
#: field:ir.ui.view,type:0
#: field:wizard.ir.model.menu.create.line,view_type:0
msgid "View Type"
-msgstr ""
+msgstr "Vy typ"
#. module: base
#: model:ir.ui.menu,name:base.next_id_2
@@ -5132,7 +5132,7 @@ msgstr "ir.actions.todo"
#: code:addons/base/res/res_config.py:0
#, python-format
msgid "Couldn't find previous ir.actions.todo"
-msgstr ""
+msgstr "Kunde inte hitta föregående ir.actions.todo"
#. module: base
#: view:ir.actions.act_window:0
@@ -5323,6 +5323,8 @@ msgid ""
"View type: set to 'tree' for a hierarchical tree view, or 'form' for other "
"views"
msgstr ""
+"Vy typ: sätt till 'tree' för en hierarkisk trä vy eller 'form' för övriga "
+"vyer"
#. module: base
#: field:ir.actions.server,record_id:0
@@ -5376,7 +5378,7 @@ msgstr ""
#. module: base
#: view:ir.model:0
msgid "Fields Description"
-msgstr ""
+msgstr "Fältbeskrivningar"
#. module: base
#: view:ir.attachment:0
@@ -5399,7 +5401,7 @@ msgstr "Gruppera efter"
#: field:ir.model.fields,readonly:0
#: field:res.partner.bank.type.field,readonly:0
msgid "Readonly"
-msgstr ""
+msgstr "Skrivskyddad"
#. module: base
#: selection:ir.module.module,state:0
@@ -5542,13 +5544,13 @@ msgstr "France"
#. module: base
#: model:ir.model,name:base.model_res_log
msgid "res.log"
-msgstr ""
+msgstr "res.log"
#. module: base
#: view:workflow.activity:0
#: field:workflow.activity,flow_stop:0
msgid "Flow Stop"
-msgstr ""
+msgstr "Flödesstop"
#. module: base
#: model:res.country,name:base.ar
@@ -5569,7 +5571,7 @@ msgstr "Fel !"
#. module: base
#: model:res.partner.bank.type.field,name:base.bank_normal_field_contry
msgid "country_id"
-msgstr ""
+msgstr "country_id"
#. module: base
#: field:ir.cron,interval_type:0
@@ -5619,7 +5621,7 @@ msgstr "res.request"
#. module: base
#: view:ir.model:0
msgid "In Memory"
-msgstr ""
+msgstr "I minnet"
#. module: base
#: view:ir.actions.todo:0
@@ -5629,12 +5631,12 @@ msgstr ""
#. module: base
#: field:ir.attachment,datas:0
msgid "File Content"
-msgstr ""
+msgstr "Filinnehåll"
#. module: base
#: model:res.country,name:base.pa
msgid "Panama"
-msgstr ""
+msgstr "Panama"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_ltd
@@ -6237,7 +6239,7 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Search modules"
-msgstr ""
+msgstr "Sök moduler"
#. module: base
#: model:res.country,name:base.by
@@ -6277,13 +6279,13 @@ msgstr "Gata 2"
#. module: base
#: model:ir.actions.act_window,name:base.action_view_base_module_update
msgid "Module Update"
-msgstr ""
+msgstr "Moduluppdatering"
#. module: base
#: code:addons/base/module/wizard/base_module_upgrade.py:0
#, python-format
msgid "Following modules are not installed or unknown: %s"
-msgstr ""
+msgstr "Följande moduler är inte installerade eller okända: %s"
#. module: base
#: view:ir.cron:0
@@ -6307,7 +6309,7 @@ msgstr "Puerto Rico"
#. module: base
#: view:ir.actions.act_window:0
msgid "Open Window"
-msgstr ""
+msgstr "Öppna fönster"
#. module: base
#: field:ir.actions.act_window,auto_search:0
@@ -6317,7 +6319,7 @@ msgstr ""
#. module: base
#: field:ir.actions.act_window,filter:0
msgid "Filter"
-msgstr ""
+msgstr "Filtrera"
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_madam
@@ -6342,17 +6344,17 @@ msgstr ""
#. module: base
#: selection:server.action.create,init,type:0
msgid "Open Report"
-msgstr ""
+msgstr "Öppna rapport"
#. module: base
#: field:res.currency,rounding:0
msgid "Rounding factor"
-msgstr ""
+msgstr "Avrundningsfaktor"
#. module: base
#: view:base.language.install:0
msgid "Load"
-msgstr ""
+msgstr "Ladda"
#. module: base
#: help:res.config.users,name:0
@@ -6364,7 +6366,7 @@ msgstr ""
#: code:addons/base/ir/ir_model.py:0
#, python-format
msgid "Size of the field can never be less than 1 !"
-msgstr ""
+msgstr "Storleken på fältet kan inte vara mindre än 1 !"
#. module: base
#: model:res.country,name:base.so
@@ -6374,17 +6376,17 @@ msgstr "Somalia"
#. module: base
#: model:ir.model,name:base.model_res_config
msgid "res.config"
-msgstr ""
+msgstr "res.config"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_13
msgid "Important customers"
-msgstr ""
+msgstr "Viktiga kunder"
#. module: base
#: view:res.lang:0
msgid "Update Terms"
-msgstr ""
+msgstr "Uppdateringsvillkor"
#. module: base
#: field:partner.sms.send,mobile_to:0
@@ -6402,12 +6404,12 @@ msgstr "Argument"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 2"
-msgstr ""
+msgstr "GPL Version 2"
#. module: base
#: selection:ir.module.module,license:0
msgid "GPL Version 3"
-msgstr ""
+msgstr "GPL Version 3"
#. module: base
#: view:partner.wizard.ean.check:0
@@ -6417,17 +6419,17 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_audit
msgid "Audit"
-msgstr ""
+msgstr "Granska"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (NI) / Español (NI)"
-msgstr ""
+msgstr "Spanska (NI) / Español (NI)"
#. module: base
#: field:ir.module.module,shortdesc:0
msgid "Short Description"
-msgstr ""
+msgstr "Kort beskrivning"
#. module: base
#: field:ir.actions.act_window,context:0
@@ -6485,7 +6487,7 @@ msgstr "Tunisia"
#. module: base
#: model:ir.ui.menu,name:base.menu_mrp_root
msgid "Manufacturing"
-msgstr ""
+msgstr "Tillverkning"
#. module: base
#: view:base.language.export:0
@@ -6504,7 +6506,7 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Cancel Install"
-msgstr ""
+msgstr "Avbryt installering"
#. module: base
#: view:res.lang:0
@@ -6514,7 +6516,7 @@ msgstr ""
#. module: base
#: selection:ir.actions.server,state:0
msgid "Copy Object"
-msgstr ""
+msgstr "Kopiera objekt"
#. module: base
#: code:addons/base/res/res_user.py:0
@@ -6566,7 +6568,7 @@ msgstr ""
#: field:res.request.link,object:0
#: field:workflow.triggers,model:0
msgid "Object"
-msgstr ""
+msgstr "Objekt"
#. module: base
#: model:ir.model,name:base.model_ir_default
@@ -6583,12 +6585,12 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_wizard_update_translations
#: model:ir.ui.menu,name:base.menu_wizard_update_translations
msgid "Synchronize Translations"
-msgstr ""
+msgstr "Synkronisera översättningar"
#. module: base
#: model:ir.ui.menu,name:base.next_id_10
msgid "Scheduler"
-msgstr ""
+msgstr "Schemaläggare"
#. module: base
#: help:ir.cron,numbercall:0
@@ -6606,7 +6608,7 @@ msgstr "Användarreferens"
#: code:addons/base/res/res_user.py:0
#, python-format
msgid "Warning !"
-msgstr ""
+msgstr "Varning !"
#. module: base
#: model:ir.ui.menu,name:base.menu_base_config
@@ -6632,7 +6634,7 @@ msgstr ""
#. module: base
#: model:res.partner.category,name:base.res_partner_category_5
msgid "Gold Partner"
-msgstr ""
+msgstr "Guldpartner"
#. module: base
#: model:ir.model,name:base.model_res_partner
@@ -6664,7 +6666,7 @@ msgstr "Lebanon"
#: view:ir.actions.report.xml:0
#: field:ir.actions.report.xml,report_type:0
msgid "Report Type"
-msgstr ""
+msgstr "Rapporttyp"
#. module: base
#: field:ir.actions.todo,state:0
@@ -6701,12 +6703,12 @@ msgstr "4. %b, %B ==> Dec, December"
#: view:base.language.install:0
#: model:ir.ui.menu,name:base.menu_view_base_language_install
msgid "Load an Official Translation"
-msgstr ""
+msgstr "Ladda in en officiell översättning"
#. module: base
#: view:res.currency:0
msgid "Miscelleanous"
-msgstr ""
+msgstr "Diverse"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_10
@@ -6726,7 +6728,7 @@ msgstr "väntar"
#. module: base
#: field:ir.actions.report.xml,report_file:0
msgid "Report file"
-msgstr ""
+msgstr "Rapportfil"
#. module: base
#: model:ir.model,name:base.model_workflow_triggers
@@ -6774,7 +6776,7 @@ msgstr ""
#. module: base
#: field:res.company,rml_header1:0
msgid "Report Header"
-msgstr ""
+msgstr "Rapporthuvud"
#. module: base
#: field:ir.actions.act_window,type:0
@@ -6802,7 +6804,7 @@ msgstr ""
#: model:ir.actions.act_window,name:base.action_view_base_import_language
#: model:ir.ui.menu,name:base.menu_view_base_import_language
msgid "Import Translation"
-msgstr ""
+msgstr "Importera översättning"
#. module: base
#: field:res.partner.bank.type,field_ids:0
@@ -6820,7 +6822,7 @@ msgstr "Kategori"
#: selection:ir.attachment,type:0
#: selection:ir.property,type:0
msgid "Binary"
-msgstr ""
+msgstr "Binär"
#. module: base
#: field:ir.actions.server,sms:0
@@ -6831,7 +6833,7 @@ msgstr "SMS"
#. module: base
#: model:res.country,name:base.cr
msgid "Costa Rica"
-msgstr ""
+msgstr "Costa Rica"
#. module: base
#: code:addons/base/maintenance/maintenance.py:0
@@ -6850,7 +6852,7 @@ msgstr ""
#. module: base
#: view:workflow.activity:0
msgid "Conditions"
-msgstr ""
+msgstr "Villkor"
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_other_form
@@ -7412,7 +7414,7 @@ msgstr "CSV-Fil"
#. module: base
#: field:res.company,account_no:0
msgid "Account No."
-msgstr ""
+msgstr "Kontonummer"
#. module: base
#: code:addons/base/res/res_lang.py:0
@@ -7430,7 +7432,7 @@ msgstr ""
#: selection:ir.translation,type:0
#: field:multi_company.default,field_id:0
msgid "Field"
-msgstr ""
+msgstr "Fält"
#. module: base
#: report:ir.module.reference.graph:0
@@ -7493,7 +7495,7 @@ msgstr ""
#. module: base
#: view:base.module.update:0
msgid "Update Module List"
-msgstr ""
+msgstr "Uppdateringslista moduler"
#. module: base
#: selection:res.partner.address,type:0
@@ -7521,7 +7523,7 @@ msgstr ""
#. module: base
#: field:ir.actions.act_window,auto_refresh:0
msgid "Auto-Refresh"
-msgstr ""
+msgstr "Automatisk uppdatering"
#. module: base
#: code:addons/base/ir/ir_model.py:0
@@ -7532,7 +7534,7 @@ msgstr ""
#. module: base
#: selection:ir.ui.view,type:0
msgid "Diagram"
-msgstr ""
+msgstr "Diagram"
#. module: base
#: help:multi_company.default,name:0
@@ -7573,7 +7575,7 @@ msgstr "Hög"
#. module: base
#: field:ir.exports.line,export_id:0
msgid "Export"
-msgstr ""
+msgstr "Exportera"
#. module: base
#: help:res.bank,bic:0
@@ -7609,12 +7611,12 @@ msgstr ""
#: view:base.module.update:0
#: view:base.update.translations:0
msgid "Update"
-msgstr ""
+msgstr "Uppdatera"
#. module: base
#: model:ir.actions.report.xml,name:base.ir_module_reference_print
msgid "Technical guide"
-msgstr ""
+msgstr "Teknisk guide"
#. module: base
#: model:res.country,name:base.tz
@@ -7624,7 +7626,7 @@ msgstr "Tanzania"
#. module: base
#: selection:base.language.install,lang:0
msgid "Danish / Dansk"
-msgstr ""
+msgstr "Danska / Dansk"
#. module: base
#: model:res.country,name:base.cx
@@ -7644,7 +7646,7 @@ msgstr ""
#. module: base
#: view:res.config.installer:0
msgid "Install Modules"
-msgstr ""
+msgstr "Installera moduler"
#. module: base
#: model:ir.actions.act_window,name:base.res_partner_canal-act
@@ -7652,12 +7654,12 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_res_partner_canal-act
#: view:res.partner.canal:0
msgid "Channels"
-msgstr ""
+msgstr "Kanaler"
#. module: base
#: view:ir.ui.view:0
msgid "Extra Info"
-msgstr ""
+msgstr "Extra Info"
#. module: base
#: model:ir.actions.act_window,name:base.act_values_form_action
@@ -7668,7 +7670,7 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Schedule for Installation"
-msgstr ""
+msgstr "Lägg i installationskön"
#. module: base
#: model:ir.model,name:base.model_partner_wizard_ean_check
@@ -7724,6 +7726,8 @@ msgid ""
"Save this document to a .tgz file. This archive containt UTF-8 %s files and "
"may be uploaded to launchpad."
msgstr ""
+"Spara detta dokument som en .tgz fil. Detta arkiv innehåller UTF-8 %s filer "
+"och kan laddas upp till launchpad."
#. module: base
#: view:base.module.upgrade:0
@@ -7831,7 +7835,7 @@ msgstr ""
#: code:addons/base/ir/ir_ui_menu.py:0
#, python-format
msgid "Error ! You can not create recursive Menu."
-msgstr ""
+msgstr "Fel ! Du kan inte skapa rekursiva menyer."
#. module: base
#: view:ir.rule:0
@@ -7850,7 +7854,7 @@ msgstr "El Salvador"
#: field:res.partner,phone:0
#: field:res.partner.address,phone:0
msgid "Phone"
-msgstr ""
+msgstr "Telefon"
#. module: base
#: model:res.widget,title:base.albertnan_twitter_widget
@@ -7865,7 +7869,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.th
msgid "Thailand"
-msgstr ""
+msgstr "Thailand"
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_lead
diff --git a/debian/po/ro.po b/debian/po/ro.po
index bace70806da..d25effb8ac6 100644
--- a/debian/po/ro.po
+++ b/debian/po/ro.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-08-24 22:41+0300\n"
-"PO-Revision-Date: 2010-09-27 23:36+0000\n"
-"Last-Translator: Valentin Caragea \n"
+"PO-Revision-Date: 2010-12-05 14:46+0000\n"
+"Last-Translator: Syraxes \n"
"Language-Team: Romanian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-09-29 04:47+0000\n"
+"X-Launchpad-Export-Date: 2010-12-07 04:57+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. Type: string
@@ -31,12 +31,11 @@ msgid ""
"the system's security is not compromised by running it with superuser "
"privileges."
msgstr ""
-"Serverul Open ERP trebuie sa utilizeze un cont dedicat operatiilor sale "
-"astfel incat sa nu fie compromisa securitatea sistemului prin rularea cu "
-"privilegii de root"
+"Serverul Open ERP trebuie sa utilizeze un cont dedicat, deoarece din motive "
+"de securitate este contraindicat să ruleze cu privilegii de superuser."
#. Type: string
#. Description
#: ../openerp-server.templates:1001
msgid "Please choose that account's username."
-msgstr "Alege numele utilizatorului (username)"
+msgstr "Alegeţi numele utilizatorului (username)"
From 1cc04e6f2d296458f45bad9c078c13d7e4ec3255 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Tue, 7 Dec 2010 11:25:04 +0530
Subject: [PATCH 27/36] [IMP]stock_tracebility.py for upstream and downstream
tracebility
bzr revid: ron@tinyerp.com-20101207055504-5bcym5vzznmraqv2
---
addons/stock/wizard/stock_traceability.py | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/addons/stock/wizard/stock_traceability.py b/addons/stock/wizard/stock_traceability.py
index 2a40ba2685e..3906fa4fabf 100644
--- a/addons/stock/wizard/stock_traceability.py
+++ b/addons/stock/wizard/stock_traceability.py
@@ -43,14 +43,10 @@ class action_traceability(osv.osv_memory):
field = context['field'] or 'tracking_id'
obj = self.pool.get('stock.move')
ids = obj.search(cr, uid, [(field, 'in',lot_id)])
- if type1 == 'move_history_ids2':
- new_id = ids[1]
- else:
- new_id = ids[0]
cr.execute('select id from ir_ui_view where model=%s and field_parent=%s and type=%s', ('stock.move', type1, 'tree'))
view_id = cr.fetchone()[0]
value = {
- 'domain': "[('id','in',["+','.join(map(str, [new_id]))+"])]",
+ 'domain': "[('id','in',["+','.join(map(str, ids))+"])]",
'name': ((type1=='move_history_ids2') and 'Upstream Traceability') or 'Downstream Traceability',
'view_type': 'tree',
'res_model': 'stock.move',
From d34cff12465f0e29d8c018c32f44a08e357cc5d4 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Tue, 7 Dec 2010 15:47:44 +0530
Subject: [PATCH 28/36] [IMP]stock:stock addon: simpliefied code _product_value
BUG:-683718
bzr revid: ron@tinyerp.com-20101207101744-na505ffu2rq0w9fw
---
addons/stock/stock.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index f7a8ca3830c..b5170f90126 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -123,8 +123,7 @@ class stock_location(osv.osv):
currency_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.currency_id.id
currency_obj = self.pool.get('res.currency')
- currency = self.pool.get('res.currency').browse(cr, uid, currency_id)
- currency_obj.round(cr, uid, currency, 300)
+ currency = currency_obj.browse(cr, uid, currency_id)
for loc_id, product_ids in products_by_location.items():
if prod_id:
product_ids = [prod_id]
From 3d2cacfdd64e841f2ec908357af50601c9eb86e7 Mon Sep 17 00:00:00 2001
From: "ron@tinyerp.com" <>
Date: Tue, 7 Dec 2010 17:42:47 +0530
Subject: [PATCH 29/36] [FIX]stock:Stock move in done state add a pack and
production lot
lp bug: https://launchpad.net/bugs/673572 fixed
bzr revid: ron@tinyerp.com-20101207121247-x1ldrbyyygbge29m
---
addons/stock/stock_view.xml | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index c711993c3f8..f484d739292 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -667,15 +667,15 @@
attrs="{'invisible': [('tracking_id','<>',False)]}"
icon="terp-stock_effects-object-colorize"
groups="base.group_extended"
- states="draft,assigned,confirmed,done"/>
+ states="draft,assigned,confirmed"/>
+ states="draft,assigned,confirmed"/>
+ states="draft,assigned,confirmed"/>
@@ -716,14 +716,14 @@
+ states="draft,assigned,confirmed" colspan="1"/>
@@ -856,18 +856,18 @@
+ states="draft,assigned,confirmed"/>
+ states="draft,assigned,confirmed"/>
@@ -909,14 +909,14 @@
+ states="draft,assigned,confirmed" colspan="1"/>
@@ -1086,7 +1086,7 @@
+ states="draft,assigned,confirmed"/>
+ states="draft,assigned,confirmed" colspan="1"/>
From 8233e8b505ef64ce98d82ac439427872302f0be6 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Tue, 7 Dec 2010 17:15:23 +0100
Subject: [PATCH 30/36] [FIX] reports: support for multi-company headers
(pending improvements after v6.0)
bzr revid: odo@openerp.com-20101207161523-nxo1lz9u9edajbfa
---
bin/report/report_sxw.py | 30 +++++++++++++++++++++++-------
1 file changed, 23 insertions(+), 7 deletions(-)
diff --git a/bin/report/report_sxw.py b/bin/report/report_sxw.py
index b3f5e66e995..eb6fad169d6 100644
--- a/bin/report/report_sxw.py
+++ b/bin/report/report_sxw.py
@@ -34,6 +34,7 @@ import tools
import zipfile
import common
from osv.fields import float as float_class, function as function_class
+from osv.orm import browse_record
DT_FORMAT = '%Y-%m-%d'
DHM_FORMAT = '%Y-%m-%d %H:%M:%S'
@@ -153,25 +154,24 @@ class rml_parse(object):
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
self.localcontext = {
'user': user,
- 'company': user.company_id,
+ 'setCompany': self.setCompany,
'repeatIn': self.repeatIn,
'setLang': self.setLang,
'setTag': self.setTag,
'removeParentNode': self.removeParentNode,
'format': self.format,
'formatLang': self.formatLang,
- 'logo' : user.company_id.logo,
'lang' : user.company_id.partner_id.lang,
'translate' : self._translate,
'setHtmlImage' : self.set_html_image,
'strip_name' : self._strip_name,
- 'time' : time
+ 'time' : time,
+ # more context members are setup in setCompany() below:
+ # - company_id
+ # - logo
}
+ self.setCompany(user.company_id)
self.localcontext.update(context)
- self.rml_header = user.company_id.rml_header
- self.rml_header2 = user.company_id.rml_header2
- self.rml_header3 = user.company_id.rml_header3
- self.logo = user.company_id.logo
self.name = name
self._node = None
self.parents = parents
@@ -190,6 +190,15 @@ class rml_parse(object):
return char
return char[:size-len(truncation_str)] + truncation_str
+ def setCompany(self, company_id):
+ if company_id:
+ self.localcontext['company'] = company_id
+ self.localcontext['logo'] = company_id.logo
+ self.rml_header = company_id.rml_header
+ self.rml_header2 = company_id.rml_header2
+ self.rml_header3 = company_id.rml_header3
+ self.logo = company_id.logo
+
def _strip_name(self, name, maxlen=50):
return self._ellipsis(name, maxlen)
@@ -357,6 +366,13 @@ class rml_parse(object):
else:
self.localcontext.update({'name_space' :common.sxw_namespace})
+ if objects and len(objects) == 1 and \
+ 'company_id' in objects[0] and objects[0].company_id:
+ # When we print only one record, we can auto-set the correct
+ # company in the localcontext. For other cases the report
+ # will have to call setCompany() inside the main repeatIn loop.
+ 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, '')
From 592d666e51767eb751e2f842798148245eb10d3f Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Tue, 7 Dec 2010 18:05:51 +0100
Subject: [PATCH 31/36] [FIX] tools.misc: correct argument to subprocess.Popen
(via xrg, analysis/patch courtesy of Michael Telahun Makonnen)
lp bug: https://launchpad.net/bugs/685115 fixed
lp bug: https://launchpad.net/bugs/684661 fixed
bzr revid: odo@openerp.com-20101207170551-o19ab06g1h2x3ygz
---
bin/tools/misc.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/bin/tools/misc.py b/bin/tools/misc.py
index 0d5f7c67e5b..59230d5f141 100644
--- a/bin/tools/misc.py
+++ b/bin/tools/misc.py
@@ -141,15 +141,15 @@ def exec_pg_command(name, *args):
prog = find_pg_tool(name)
if not prog:
raise Exception('Couldn\'t find %s' % name)
- args2 = (os.path.basename(prog),) + args
+ args2 = (prog,) + args
- return subprocess.call(args2, executable=prog)
+ return subprocess.call(args2)
def exec_pg_command_pipe(name, *args):
prog = find_pg_tool(name)
if not prog:
raise Exception('Couldn\'t find %s' % name)
- pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,
+ pop = subprocess.Popen((prog,) + args, bufsize= -1,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)
return (pop.stdin, pop.stdout)
@@ -157,7 +157,7 @@ def exec_command_pipe(name, *args):
prog = find_in_path(name)
if not prog:
raise Exception('Couldn\'t find %s' % name)
- pop = subprocess.Popen(args, executable=prog, shell=True, bufsize= -1,
+ pop = subprocess.Popen((prog,) + args, bufsize= -1,
stdin=subprocess.PIPE, stdout=subprocess.PIPE, close_fds=True)
return (pop.stdin, pop.stdout)
From 88bee41f4677f19485945249bc058516d640fb24 Mon Sep 17 00:00:00 2001
From: "qdp-launchpad@tinyerp.com" <>
Date: Tue, 7 Dec 2010 18:51:16 +0100
Subject: [PATCH 32/36] [FIX] mrp: fixed the qtty on analytic entries creation
for costing of workcenter + tooltips improvements
bzr revid: qdp-launchpad@tinyerp.com-20101207175116-h8pjc5u8o2iw3ush
---
addons/mrp/mrp.py | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/addons/mrp/mrp.py b/addons/mrp/mrp.py
index 62f5d615ee2..80574cf4a4d 100644
--- a/addons/mrp/mrp.py
+++ b/addons/mrp/mrp.py
@@ -53,7 +53,7 @@ class mrp_workcenter(osv.osv):
'costs_journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal'),
'costs_general_account_id': fields.many2one('account.account', 'General Account', domain=[('type','<>','view')]),
'resource_id': fields.many2one('resource.resource','Resource', ondelete='cascade', required=True),
- 'product_id': fields.many2one('product.product','Product'),
+ 'product_id': fields.many2one('product.product','Workcenter Product', help="Fill this product to track easily your production costs in the analytic accounting."),
}
_defaults = {
'capacity_per_cycle': 1.0,
@@ -111,8 +111,8 @@ class mrp_routing_workcenter(osv.osv):
'name': fields.char('Name', size=64, required=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of routing workcenters."),
'cycle_nbr': fields.float('Number of Cycles', required=True,
- help="Number of operations this workcenter can do."),
- 'hour_nbr': fields.float('Number of Hours', required=True, help="Time in hours for doing one cycle."),
+ help="Number of iterations this workcenter has to do in the specified operation of the routing."),
+ 'hour_nbr': fields.float('Number of Hours', required=True, help="Time in hours for this workcenter to achieve the operation of the specified routing."),
'routing_id': fields.many2one('mrp.routing', 'Parent Routing', select=True, ondelete='cascade',
help="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."),
@@ -760,7 +760,7 @@ class mrp_production(osv.osv):
'journal_id': wc.costs_journal_id.id,
'ref': wc.code,
'product_id': wc.product_id.id,
- 'unit_amount': wc.costs_hour * wc.time_cycle,
+ 'unit_amount': wc_line.hour,
'product_uom_id': wc.product_id.uom_id.id
} )
if wc.costs_journal_id and wc.costs_general_account_id:
@@ -776,7 +776,7 @@ class mrp_production(osv.osv):
'journal_id': wc.costs_journal_id.id,
'ref': wc.code,
'product_id': wc.product_id.id,
- 'unit_amount': wc.costs_hour * wc.time_cycle,
+ 'unit_amount': wc_line.cycle,
'product_uom_id': wc.product_id.uom_id.id
} )
return amount
From fdb1958cdf4edcd05706f8745ff25bb04f7f2d0f Mon Sep 17 00:00:00 2001
From: "qdp-launchpad@tinyerp.com" <>
Date: Tue, 7 Dec 2010 18:52:19 +0100
Subject: [PATCH 33/36] [REF] product: bazaar is your historian
bzr revid: qdp-launchpad@tinyerp.com-20101207175219-h5ihwcdprubqjy7f
---
addons/product/product.py | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/addons/product/product.py b/addons/product/product.py
index 46c096d4c3b..84b90a53b62 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -346,17 +346,7 @@ class product_template(osv.osv):
return False
return True
- def _check_uos(self, cursor, user, ids):
- for product in self.browse(cursor, user, ids):
- if product.uos_id \
- and product.uos_id.category_id.id \
- == product.uom_id.category_id.id:
- return False
- return True
-
_constraints = [
- # According to bug: 543979
-# (_check_uos, 'Error: UOS must be in a different category than the UOM', ['uos_id']),
(_check_uom, 'Error: The default UOM and the purchase UOM must be in the same category.', ['uom_id']),
]
From 97e5bd7d80f5839b913757dbd1e369e4fe9b1c12 Mon Sep 17 00:00:00 2001
From: "qdp-launchpad@tinyerp.com" <>
Date: Tue, 7 Dec 2010 18:53:42 +0100
Subject: [PATCH 34/36] [REF] procurement, code cleaning in _defaults: removed
unecessary lambda expr
bzr revid: qdp-launchpad@tinyerp.com-20101207175342-bv6ietdos6wm05k6
---
addons/procurement/procurement.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/addons/procurement/procurement.py b/addons/procurement/procurement.py
index a266673bf69..ae7bf4183c6 100644
--- a/addons/procurement/procurement.py
+++ b/addons/procurement/procurement.py
@@ -119,11 +119,11 @@ class procurement_order(osv.osv):
'company_id': fields.many2one('res.company','Company',required=True),
}
_defaults = {
- 'state': lambda *a: 'draft',
- 'priority': lambda *a: '1',
+ 'state': 'draft',
+ 'priority': '1',
'date_planned': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
- 'close_move': lambda *a: 0,
- 'procure_method': lambda *a: 'make_to_order',
+ 'close_move': 0,
+ 'procure_method': 'make_to_order',
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'procurement.order', context=c)
}
From 7e67a32b91bc6de0f88f84d088780e674fd4dbc3 Mon Sep 17 00:00:00 2001
From: "qdp-launchpad@tinyerp.com" <>
Date: Tue, 7 Dec 2010 18:55:06 +0100
Subject: [PATCH 35/36] [IMP] procurement: order point form view improved
bzr revid: qdp-launchpad@tinyerp.com-20101207175506-cdycemi4ya4rma0y
---
addons/procurement/procurement_view.xml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index 118dd369226..83376678fea 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -224,9 +224,9 @@
-
-
-
+
+
+
From 49d4f1f3d3c64ec6de406861e2c4fd567fadba14 Mon Sep 17 00:00:00 2001
From: "JVO (OpenERP)" <>
Date: Tue, 7 Dec 2010 19:12:43 +0100
Subject: [PATCH 36/36] [FIX] stock_view.xml: removed some incorrect values in
context of Products related actions
lp bug: https://launchpad.net/bugs/615791 fixed
bzr revid: odo@openerp.com-20101207181243-cpx219dgxtqh7lxa
---
addons/stock/stock_view.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index b649e7feec8..d1368ae5165 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -1758,7 +1758,7 @@
src_model="stock.location"/>