← Back to team overview

openerp-community team mailing list archive

lp:~openerp-community/openerp-product-attributes/import-from-addons-extra-trunk into lp:~openerp-community/openerp-product-attributes/6.1

 

Maxime Chambreuil (http://www.savoirfairelinux.com) has proposed merging lp:~openerp-community/openerp-product-attributes/import-from-addons-extra-trunk into lp:~openerp-community/openerp-product-attributes/6.1.

Requested reviews:
  Product Core Editors (product-core-editors)

For more details, see:
https://code.launchpad.net/~openerp-community/openerp-product-attributes/import-from-addons-extra-trunk/+merge/135473

[ADD] Import product_* modules from lp:openobject-addons/extra-trunk
-- 
The attached diff has been truncated due to its size.
https://code.launchpad.net/~openerp-community/openerp-product-attributes/import-from-addons-extra-trunk/+merge/135473
Your team OpenERP Community is subscribed to branch lp:~openerp-community/openerp-product-attributes/6.1.
=== added directory 'product_catalog_report'
=== added file 'product_catalog_report/__init__.py'
--- product_catalog_report/__init__.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import report
+import wizard
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_catalog_report/__terp__.py'
--- product_catalog_report/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,35 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name":"Product Catalog - Print Report of product catalog with product image",
+    "version":"1.0",
+    "author":"Tiny",
+    "category":"Generic Modules/Inventory Control",
+    "description": """
+    This module use to print report of product catalog with product image, list price
+    """,
+    "depends":["base","product"],
+    "demo_xml":[],
+    "update_xml":['product_report.xml','product_wizard.xml'],
+    "active":False,
+    "installable":True,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_catalog_report/i18n'
=== added file 'product_catalog_report/i18n/es.po'
--- product_catalog_report/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_catalog_report/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,68 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2011-08-26 23:17+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a Product Categories "
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,description:product_catalog_report.module_meta_information
+msgid ""
+"\n"
+"    This module use to print report of product catalog with product image, "
+"list price\n"
+"    "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,report_lang:0
+msgid "Language"
+msgstr "Idioma"
+
+#. module: product_catalog_report
+#: model:ir.actions.wizard,name:product_catalog_report.wizard_print_catalog_report
+#: wizard_button:res.partner.product_catalog,init,print:0
+msgid "Print Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,shortdesc:product_catalog_report.module_meta_information
+msgid "Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a printing language "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_button:res.partner.product_catalog,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Choose catalog preferencies"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,categories:0
+msgid "Select Category"
+msgstr "Seleccionar categoría"

=== added file 'product_catalog_report/i18n/fr_BE.po'
--- product_catalog_report/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_catalog_report/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_catalog_report
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27:14+0000\n"
+"PO-Revision-Date: 2009-11-25 13:27:14+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a Product Categories "
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,description:product_catalog_report.module_meta_information
+msgid "\n"
+"    This module use to print report of product catalog with product image, list price\n"
+"    "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,report_lang:0
+msgid "Language"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.actions.wizard,name:product_catalog_report.wizard_print_catalog_report
+#: wizard_button:res.partner.product_catalog,init,print:0
+msgid "Print Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,shortdesc:product_catalog_report.module_meta_information
+msgid "Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a printing language "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_button:res.partner.product_catalog,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Choose catalog preferencies"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,categories:0
+msgid "Select Category"
+msgstr ""
+

=== added file 'product_catalog_report/i18n/product_catalog_report.pot'
--- product_catalog_report/i18n/product_catalog_report.pot	1970-01-01 00:00:00 +0000
+++ product_catalog_report/i18n/product_catalog_report.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_catalog_report
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27:14+0000\n"
+"PO-Revision-Date: 2009-11-25 13:27:14+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a Product Categories "
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,description:product_catalog_report.module_meta_information
+msgid "\n"
+"    This module use to print report of product catalog with product image, list price\n"
+"    "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,report_lang:0
+msgid "Language"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.actions.wizard,name:product_catalog_report.wizard_print_catalog_report
+#: wizard_button:res.partner.product_catalog,init,print:0
+msgid "Print Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,shortdesc:product_catalog_report.module_meta_information
+msgid "Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a printing language "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_button:res.partner.product_catalog,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Choose catalog preferencies"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,categories:0
+msgid "Select Category"
+msgstr ""
+

=== added file 'product_catalog_report/i18n/sv.po'
--- product_catalog_report/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_catalog_report/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,67 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_catalog_report
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-11-23 02:27+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a Product Categories "
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,description:product_catalog_report.module_meta_information
+msgid ""
+"\n"
+"    This module use to print report of product catalog with product image, "
+"list price\n"
+"    "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,report_lang:0
+msgid "Language"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.actions.wizard,name:product_catalog_report.wizard_print_catalog_report
+#: wizard_button:res.partner.product_catalog,init,print:0
+msgid "Print Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: model:ir.module.module,shortdesc:product_catalog_report.module_meta_information
+msgid "Product Catalog"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Select a printing language "
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_button:res.partner.product_catalog,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_view:res.partner.product_catalog,init:0
+msgid "Choose catalog preferencies"
+msgstr ""
+
+#. module: product_catalog_report
+#: wizard_field:res.partner.product_catalog,init,categories:0
+msgid "Select Category"
+msgstr ""

=== added file 'product_catalog_report/product_report.xml'
--- product_catalog_report/product_report.xml	1970-01-01 00:00:00 +0000
+++ product_catalog_report/product_report.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+	<data>
+
+		<report id="base.report_product_catalog"
+			string="Product Catalog"
+			model="res.partner"
+			name="product_catalog"
+			rml="product_catalog_report/report/product_catalog.rml"
+			auto="False"
+			menu="False"/>
+
+	</data>
+</openerp>

=== added file 'product_catalog_report/product_wizard.xml'
--- product_catalog_report/product_wizard.xml	1970-01-01 00:00:00 +0000
+++ product_catalog_report/product_wizard.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+	<data>
+		<wizard string="Print Product Catalog" 
+				model="res.partner" 
+				name="res.partner.product_catalog" 
+				keyword="client_print_multi"
+				id="wizard_print_catalog_report"/>
+	</data>
+</openerp>

=== added directory 'product_catalog_report/report'
=== added file 'product_catalog_report/report/__init__.py'
--- product_catalog_report/report/__init__.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/report/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import product_catalog
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_catalog_report/report/product_catalog.py'
--- product_catalog_report/report/product_catalog.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/report/product_catalog.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,137 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import time
+import reportlab
+import reportlab.lib.units
+import urllib
+import base64
+from report import report_sxw
+
+class product_catalog(report_sxw.rml_parse):
+    def __init__(self, cr, uid, name, context):
+        super(product_catalog, self).__init__(cr, uid, name, context)
+
+        self.localcontext.update({
+            'time': time,
+            'image_url' : self._get_imagepath,
+            'currency_code': self._get_currency,
+#            'Carton': self._get_carton,
+#            'SCondt': self._get_SCondt,
+#            'UV': self._get_UV,
+            'categories':self._getCategories,
+            'products':self._getProducts,
+            'description':self._get_desc,
+            'packaging_title':self._get_packaging_title,
+            'packaging_value':self._get_packaging_value,
+            'Price':self._get_price,
+
+        })
+    def _get_imagepath(self,product):
+        attach_ids = self.pool.get('ir.attachment').search(self.cr, self.uid, [('res_model','=','product.product'), ('res_id', '=',product)])
+        datas = self.pool.get('ir.attachment').read(self.cr, self.uid, attach_ids)
+        if len(datas):
+            # if there are several, pick first
+            try:
+                if datas[0]['link']:
+                    try:
+                        img_data =  base64.encodestring(urllib.urlopen(datas[0]['link']).read())
+                        return img_data
+                    except Exception,innerEx:
+                        print innerEx
+                elif datas[0]['datas']:
+                    return datas[0]['datas']
+            except Exception,e:
+                print e
+        return None
+
+    def setCat(self,cats):
+        lst = []
+        for cat in cats:
+            if cat not in lst:
+                lst.append(cat)
+                category = self.pool.get('product.category').read(self.cr,self.uid,[cat])
+                if category[0]['child_id']:
+                    lst.extend(self.setCat(category[0]['child_id']))
+        return lst
+
+
+    def _getCategories(self,cat):
+        lst =  self.setCat(cat[0][2])
+        cat_ids = self.pool.get('product.category').search(self.cr,self.uid,[('id','in',lst)])
+        tmpCat_ids = []
+        for cat in cat_ids:
+            prod_ids = self.pool.get('product.template').search(self.cr,self.uid,[('categ_id','=',cat)])
+            if len(prod_ids):
+                tmpCat_ids.append(cat)
+        cats = self.pool.get('product.category').read(self.cr,self.uid,tmpCat_ids)
+        return cats
+    def _getProducts(self,category,lang):
+        prod_tmpIDs = self.pool.get('product.template').search(self.cr,self.uid,[('categ_id','=',category)])
+        prod_ids = self.pool.get('product.product').search(self.cr,self.uid,[('product_tmpl_id','in',prod_tmpIDs)])
+        prods = self.pool.get('product.product').read(self.cr,self.uid,prod_ids,context={'lang':lang})
+        return prods
+
+    def _get_currency(self):
+        return self.pool.get('res.users').browse(self.cr, self.uid, [self.uid])[0].company_id.currency_id.name
+
+
+    def _get_packaging_title(self,product,index):
+        packaging_ids = self.pool.get('product.packaging').search(self.cr,self.uid,[('product_id','=',product)],limit=4)
+        packs = self.pool.get('product.packaging').read(self.cr,self.uid,packaging_ids,['name'])
+        if len(packs) > index:
+            s = str(packs[index]['name'])
+            if len(s)>9:
+                p = str(s[0:9]) + "..."
+                return p
+            elif not s == "False":
+                return s
+        return " "
+
+    def _get_packaging_value(self,product,index):
+        packaging_ids = self.pool.get('product.packaging').search(self.cr,self.uid,[('product_id','=',product)],limit=4)
+        packs = self.pool.get('product.packaging').read(self.cr,self.uid,packaging_ids,['qty'])
+        if len(packs) > index:
+            return str(packs[index]['qty'])
+        return False
+
+    def _get_price(self,product,pricelist):
+        price = self.pool.get('product.pricelist').price_get(self.cr,self.uid,[pricelist], product, 1.0, None,{'uom': False})[pricelist]
+        if not price:
+            price = 0.0
+        return price
+
+    def _get_desc(self,tempate_id):
+        if tempate_id:
+            prodtmpl = self.pool.get('product.template').read(self.cr,self.uid,[tempate_id])[0]
+
+            if prodtmpl['description_sale']:
+                return prodtmpl['description_sale']
+            else:
+                return "no Description Specified"
+        else:
+            return "This is Test Description"
+
+
+report_sxw.report_sxw('report.product_catalog', 'res.partner', 'addons/product_catalog_report/report/product_catalog.rml', parser=product_catalog,header=False)
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_catalog_report/report/product_catalog.rml'
--- product_catalog_report/report/product_catalog.rml	1970-01-01 00:00:00 +0000
+++ product_catalog_report/report/product_catalog.rml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+<document filename="test.pdf">
+  <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
+    <pageTemplate id="first">
+      <frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
+    </pageTemplate>
+  </template>
+  <stylesheet>
+    <blockTableStyle id="Standard_Outline">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table1">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table2">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table3">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
+      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="1,0" stop="1,-1"/>
+      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table4">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table5">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table6">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table7">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table8">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table9">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table10">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <initialize>
+      <paraStyle name="all" alignment="justify"/>
+    </initialize>
+    <paraStyle name="P1" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
+    <paraStyle name="P2" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="P3" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="P4" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="Standard" fontName="Times-Roman"/>
+    <paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="Index" fontName="Helvetica"/>
+    <paraStyle name="Table Contents" fontName="Times-Roman"/>
+    <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
+    <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="Footer" fontName="Times-Roman"/>
+    <paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
+    <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_8_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="Drawing" fontName="Helvetica-Oblique" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="Header" fontName="Times-Roman"/>
+    <paraStyle name="Endnote" rightIndent="0.0" leftIndent="14.0" fontName="Times-Roman" fontSize="10.0" leading="13"/>
+    <paraStyle name="Addressee" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="3.0"/>
+    <paraStyle name="Signature" fontName="Times-Roman"/>
+    <paraStyle name="Heading 8" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 7" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 6" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 5" fontName="Helvetica-Bold" fontSize="85%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 4" fontName="Helvetica-BoldOblique" fontSize="85%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 1" fontName="Helvetica-Bold" fontSize="115%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 10" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 2" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="First line indent" rightIndent="0.0" leftIndent="0.0" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="Hanging indent" rightIndent="0.0" leftIndent="28.0" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="Salutation" fontName="Times-Roman"/>
+    <paraStyle name="Text body indent" rightIndent="0.0" leftIndent="0.0" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 3" fontName="Helvetica-Bold" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="List Indent" rightIndent="0.0" leftIndent="142.0" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="Marginalia" rightIndent="0.0" leftIndent="113.0" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_default_space" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/>
+  </stylesheet>
+  <images/>
+  <story>
+    <para style="terp_default_8">[[ setLang(data['form']['report_lang']) ]]</para>
+    <blockTable colWidths="482.0" style="Table1">
+      <tr>
+        <td>
+          <para style="terp_header_Centre">Product Catelog</para>
+        </td>
+      </tr>
+    </blockTable>
+    <para style="terp_default_space">
+      <font color="white"> </font>
+    </para>
+    <blockTable colWidths="241.0,241.0" style="Table2">
+      <tr>
+        <td>
+          <para style="terp_tblheader_General_Centre">Printing Date</para>
+        </td>
+        <td>
+          <para style="terp_tblheader_General_Centre">Pricelist</para>
+        </td>
+      </tr>
+    </blockTable>
+    <blockTable colWidths="241.0,241.0" style="Table3">
+      <tr>
+        <td>
+          <para style="terp_default_Centre_8">[[ formatLang(time.strftime('%d-%m-%y'),date=True) ]]</para>
+        </td>
+        <td>
+          <para style="terp_default_Centre_8">[[ objects.property_product_pricelist[0].name ]]</para>
+        </td>
+      </tr>
+    </blockTable>
+    <para style="terp_default_space">
+      <font color="white"> </font>
+    </para>
+    <section>
+      <para style="terp_default_8">[[ repeatIn(categories(data['form']['categories']),'c') ]]</para>
+      <blockTable colWidths="73.0,409.0" style="Table4">
+        <tr>
+          <td>
+            <para style="terp_default_Bold_9">Code Family : </para>
+          </td>
+          <td>
+            <para style="terp_default_9">[[ c['id'] ]] [[ c['complete_name'] ]]</para>
+          </td>
+        </tr>
+      </blockTable>
+      <para style="terp_default_1">
+        <font color="white"> </font>
+      </para>
+      <section>
+        <para style="terp_default_8">[[ repeatIn(products(c['id'],data['form']['report_lang']),'p') ]]</para>
+        <blockTable colWidths="241.0,241.0" style="Table5">
+          <tr>
+            <td>
+              <para style="P2">[[ image_url(p['id']) and setTag('para','image',{'width':'78.0','height':'78.0'}) or removeParentNode('blockTable') ]][[ image_url(p['id']) ]]</para>
+            </td>
+            <td>
+              <para style="P1">
+                <font color="white"> </font>
+              </para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+        <blockTable colWidths="241.0,241.0" style="Table6">
+          <tr>
+            <td>
+              <para style="terp_default_9">[[ p['code'] ]] - [[ p['name'] ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">
+                <font color="white"> </font>
+              </para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+        <blockTable colWidths="120.0,120.0,120.0,121.0" style="Table7">
+          <tr>
+            <td>
+              <para style="P3">[[ packaging_title(p['id'],0) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_title(p['id'],1) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_title(p['id'],2) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_title(p['id'],3) or removeParentNode('para') ]]</para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+        <blockTable colWidths="120.0,120.0,120.0,121.0" style="Table8">
+          <tr>
+            <td>
+              <para style="terp_default_9">[[ packaging_value(p['id'],0) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_value(p['id'],1) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_value(p['id'],2) or removeParentNode('para') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ packaging_value(p['id'],3) or removeParentNode('para') ]]</para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+        <blockTable colWidths="54.0,428.0" style="Table9">
+          <tr>
+            <td>
+              <para style="P4">Price</para>
+            </td>
+            <td>
+              <para style="P4">[[ '%.4f' % Price(p['id'],objects.property_product_pricelist[0].id) ]] [[ currency_code() ]] h.t./pc</para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+        <blockTable colWidths="54.0,428.0" style="Table10">
+          <tr>
+            <td>
+              <para style="terp_default_Bold_9">Description</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ p['description_sale'] or removeParentNode('para') ]]</para>
+            </td>
+          </tr>
+        </blockTable>
+        <para style="terp_default_1">
+          <font color="white"> </font>
+        </para>
+      </section>
+      <para style="terp_default_1">
+        <font color="white"> </font>
+      </para>
+    </section>
+    <para style="terp_default_8">
+      <font color="white"> </font>
+    </para>
+  </story>
+</document>

=== added file 'product_catalog_report/report/product_catalog.sxw'
Binary files product_catalog_report/report/product_catalog.sxw	1970-01-01 00:00:00 +0000 and product_catalog_report/report/product_catalog.sxw	2012-11-21 17:14:42 +0000 differ
=== added directory 'product_catalog_report/wizard'
=== added file 'product_catalog_report/wizard/__init__.py'
--- product_catalog_report/wizard/__init__.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/wizard/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import wizard_product_catalog
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_catalog_report/wizard/wizard_product_catalog.py'
--- product_catalog_report/wizard/wizard_product_catalog.py	1970-01-01 00:00:00 +0000
+++ product_catalog_report/wizard/wizard_product_catalog.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,66 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import wizard
+import time
+import pooler
+
+_lang_form = '''<?xml version="1.0"?>
+<form string="Choose catalog preferencies">
+    <separator string="Select a printing language " colspan="4"/>
+    <field name="report_lang"/>
+   <separator string="Select a Product Categories " colspan="4"/>
+    <field name="categories" colspan="4" nolabel="1" />
+
+</form>'''
+
+
+
+class wiz_productCatalog(wizard.interface):
+    def _get_language(self, cr, uid, context):
+        lang_obj=pooler.get_pool(cr.dbname).get('res.lang')
+        ids=lang_obj.search(cr, uid, [('active', '=', True),])
+        langs=lang_obj.browse(cr, uid, ids)
+        return [(lang.code, lang.name ) for lang in langs]
+
+    _lang_fields = {
+    'report_lang': {'string':'Language', 'type':'selection', 'selection':_get_language,},
+    'categories': {'string':'Select Category', 'type':'many2many', 'relation':'product.category', 'required':True},
+    }
+
+    def _load(self,cr,uid,data,context):
+        partner_obj=pooler.get_pool(cr.dbname).get('res.partner')
+        partners=partner_obj.browse(cr, uid, [data['id']])
+        if len(partners)>0:
+            data['form']['report_lang']=partners[0].lang
+        return data['form']
+    states = {
+        'init': {
+            'actions': [_load],
+            'result': {'type': 'form', 'arch':_lang_form, 'fields':_lang_fields, 'state':[('end','Cancel'),('print','Print Product Catalog') ]}
+        },
+        'print': {
+            'actions': [],
+            'result': {'type': 'print', 'report': 'product_catalog', 'state':'end'}
+        }
+    }
+wiz_productCatalog('res.partner.product_catalog')
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_electronic'
=== added file 'product_electronic/__init__.py'
--- product_electronic/__init__.py	1970-01-01 00:00:00 +0000
+++ product_electronic/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import product_electronic
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_electronic/__terp__.py'
--- product_electronic/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_electronic/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,34 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name" : "Products Attributes & Manufacturers",
+    "version" : "1.0",
+    "author" : "Tiny",
+    "category" : "Enterprise Specific Modules/Electronic Industries",
+    "depends" : ["base", "account", "product", "stock"],
+    "init_xml" : [],
+    "demo_xml" : [],
+    "description": "A module that add manufacturers and attributes on the product form",
+    "update_xml" : ["security/ir.model.access.csv","product_electronic_view.xml"],
+    "active": False,
+    "installable": True
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_electronic/i18n'
=== added file 'product_electronic/i18n/es.po'
--- product_electronic/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,108 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2011-08-27 13:45+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+"Un módulo que añade fabricantes y atributos en el formulario de producto"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Nombre de plantilla de producto"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Atributos de producto"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr "Atributo"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Producto"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr "Valor"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr "Nombre del producto"
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr "Atributos"
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr "Fabricantes y atributos de los productos"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Fabricante"

=== added file 'product_electronic/i18n/et.po'
--- product_electronic/i18n/et.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/et.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,106 @@
+# Estonian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-10-27 08:12+0000\n"
+"Last-Translator: OpenERP Administrators <Unknown>\n"
+"Language-Team: Estonian <et@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr "Moodul, mis lisab tootjad ja atribuudid toote vormi"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr "Tootja tootekood"
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Vigane XML vaate arhitektuurile!"
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Toote Malli nimi"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Objekti nimi peab algama x_'ga ja ei tohi sisaldada ühtegi erisümbolit !"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Toote omadused"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr "Tootmise andmed"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr "Toote viide"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr "Atribuut"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Toode"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr "Väärtus"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr "Valmistusandmeid"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr "Toote nimi"
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr "Omadused"
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr "Toodete Atribuudid & Tootjad"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr "Toote nimetus"
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Valmistaja"

=== added file 'product_electronic/i18n/fr_BE.po'
--- product_electronic/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,103 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_electronic
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27:55+0000\n"
+"PO-Revision-Date: 2009-11-25 13:27:55+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr ""
+

=== added file 'product_electronic/i18n/it.po'
--- product_electronic/i18n/it.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/it.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,107 @@
+# Italian translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2011-07-22 08:17+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Italian <it@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr "Un modulo che aggiunge produttori e attributi al form del prodotto"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Nome modello prodotto"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Il nome dell'oggetto deve iniziare con x_ e non deve contenere alcun "
+"carattere speciale !"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Attributi prodotto"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Prodotto"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Produttore"

=== added file 'product_electronic/i18n/mn.po'
--- product_electronic/i18n/mn.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/mn.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,109 @@
+# Mongolian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-08-14 09:14+0000\n"
+"Last-Translator: OpenERP Administrators <Unknown>\n"
+"Language-Team: Mongolian <mn@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+"Бүтээгдэхүүний дэлгэц дээр үйлдвэрлэгчийн мэдээлэл болон бусад атрибутуу "
+"нэмэх модуль"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr "Үйлдвэрлэгчийн барааны код"
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Дэлгэцийн XML алдаатай!"
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Бүтээгдэхүүний загварын нэр"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Объектын нэрний эхлэл x_ байх ёстой бөгөөд бусад тусгай тэмдэгтийг агуулж "
+"болохгүй!"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Барааны атрибутууд"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr "Үйлдвэрлэлийн өгөгдөл"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr "Бүтээгдэхүүний ишлэл"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr "Аттрибут"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Бүтээгдэхүүн"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr "Утга"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr "Үйлдвэрлэлийн өгөгдөл"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr "Бүтээгдэхүүний нэр"
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr "Аттрибутууд"
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr "Бүтээгдэхүүний Атрибут & Үйлдвэрлэгч"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr "Үйлдвэрлэгчийн бүтээгдэхүүний нэр"
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Үйлдвэрлэгч"

=== added file 'product_electronic/i18n/nl.po'
--- product_electronic/i18n/nl.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/nl.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,105 @@
+# Dutch translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-08-02 11:29+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Dutch <nl@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr ""

=== added file 'product_electronic/i18n/product_electronic.pot'
--- product_electronic/i18n/product_electronic.pot	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/product_electronic.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,103 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_electronic
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27:55+0000\n"
+"PO-Revision-Date: 2009-11-25 13:27:55+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr ""
+

=== added file 'product_electronic/i18n/sl.po'
--- product_electronic/i18n/sl.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/sl.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,106 @@
+# Slovenian translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-08-31 08:24+0000\n"
+"Last-Translator: OpenERP Administrators <Unknown>\n"
+"Language-Team: Slovenian <sl@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr "Modul, ki doda proizvajalce in atribute v obrazec produkta"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr "Koda produkta proizvajalca"
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Neveljaven XML za arhitekturo pogleda!"
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr "Ime predloge produkta"
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"Naziv objekta se mora začeti z 'x_' in ne sme vsebovati posebnih znakov!"
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr "Atributi produkta"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr "Podatki proizvodnje"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr "Referenca produkta"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr "Lastnost"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr "Proizvod"
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr "Vrednost"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr "Podatki proizvodnje"
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr "Ime proizvoda"
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr "Lastnosti"
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr "Proizvajalčevo ime produkta"
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr "Proizvajalec"

=== added file 'product_electronic/i18n/sv.po'
--- product_electronic/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_electronic/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,104 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_electronic
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:27+0000\n"
+"PO-Revision-Date: 2010-11-23 01:06+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_electronic
+#: model:ir.module.module,description:product_electronic.module_meta_information
+msgid "A module that add manufacturers and attributes on the product form"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pref:0
+msgid "Manufacturer product code"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.electronic.attribute:0
+msgid "Product Template Name"
+msgstr ""
+
+#. module: product_electronic
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.model,name:product_electronic.model_product_electronic_attribute
+msgid "Product attributes"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product reference"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,name:0
+msgid "Attribute"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.electronic.attribute,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Manufacturing Data"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+msgid "Product name"
+msgstr ""
+
+#. module: product_electronic
+#: view:product.product:0
+#: field:product.product,attribute_ids:0
+msgid "Attributes"
+msgstr ""
+
+#. module: product_electronic
+#: model:ir.module.module,shortdesc:product_electronic.module_meta_information
+msgid "Products Attributes & Manufacturers"
+msgstr "Products Attributes & Manufacturers"
+
+#. module: product_electronic
+#: field:product.product,manufacturer_pname:0
+msgid "Manufacturer product name"
+msgstr ""
+
+#. module: product_electronic
+#: field:product.product,manufacturer:0
+msgid "Manufacturer"
+msgstr ""

=== added file 'product_electronic/product_electronic.py'
--- product_electronic/product_electronic.py	1970-01-01 00:00:00 +0000
+++ product_electronic/product_electronic.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,59 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+from osv import fields,osv
+
+class product_product(osv.osv):
+    _inherit = 'product.product'
+    _name = 'product.product'
+    _columns = {
+        'attribute_ids': fields.one2many('product.electronic.attribute', 'product_id', 'Attributes'),
+        'manufacturer_ids': fields.one2many('res.partner.manufacturer', 'product_id', 'Manufacturers'),
+    }
+product_product()
+
+class res_partner_manufacturer(osv.osv):
+    _name = 'res.partner.manufacturer'
+    _rec_name = 'manufacturer_id'
+    _columns = {
+        'manufacturer_id' : fields.many2one('res.partner', 'Manufacturer'),
+        'country_id' : fields.many2one('res.country', 'Country'),
+        'authorized' : fields.boolean('Authorized'),
+        'product_id': fields.many2one('product.product', 'Product', ondelete='cascade'),
+    }
+    _defaults = {
+        'authorized': lambda *a: True,
+    }
+
+res_partner_manufacturer()
+
+class product_attribute(osv.osv):
+    _name = "product.electronic.attribute"
+    _description = "Product attributes"
+    _columns = {
+        'name' : fields.char('Attribute', size=64, required=True),
+        'value' : fields.char('Value', size=64),
+        'product_id': fields.many2one('product.product', 'Product', ondelete='cascade'),
+    }
+product_attribute()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_electronic/product_electronic_view.xml'
--- product_electronic/product_electronic_view.xml	1970-01-01 00:00:00 +0000
+++ product_electronic/product_electronic_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,72 @@
+<?xml version="1.0" ?>
+<openerp>
+	<data>
+
+		<record model="ir.ui.view" id="view_product_form_expiry">
+			<field name="name">product.normal.form</field>
+			<field name="model">product.product</field>
+			<field name="inherit_id" ref="product.product_normal_form_view" />
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<notebook position="inside">
+					<page string="Manufacturing Data">
+						<separator string="Manufacturing data" colspan="4" />
+						<field name="manufacturer_ids" colspan="4" nolabel="1" widget="one2many_list"/>
+
+						<separator string="Attributes" colspan="4"/>
+						<field name="attribute_ids" colspan="4" nolabel="1" widget="one2many_list" />
+					</page>
+				</notebook>
+			</field>
+		</record>
+
+		<record model="ir.ui.view" id="product_electronic_attribute_tree_view">
+			<field name="name">product.electronic.attribute.tree</field>
+			<field name="model">product.electronic.attribute</field>
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<tree string="Product Template Name">
+					<field name="name"/>
+					<field name="value"/>
+				</tree>
+			</field>
+		</record>
+		<record model="ir.ui.view" id="product_electronic_attribute_form_view">
+			<field name="name">product.electronic.attribute.form</field>
+			<field name="model">product.electronic.attribute</field>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<form string="Product Template Name">
+					<field name="name" select="1"/>
+					<field name="value" select="1"/>
+				</form>
+			</field>
+		</record>
+
+		<record model="ir.ui.view" id="product_electronic_manufact_tree_view">
+			<field name="name">res.partner.manufacturer.tree</field>
+			<field name="model">res.partner.manufacturer</field>
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<tree string="Manufacturers" editable="top">
+					<field name="manufacturer_id"/>
+					<field name="country_id"/>
+					<field name="authorized"/>
+				</tree>
+			</field>
+		</record>
+		<record model="ir.ui.view" id="product_electronic_manufa_form_view">
+			<field name="name">res.partner.manufacturer.form</field>
+			<field name="model">res.partner.manufacturer</field>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<form string="Manufacturers">
+					<field name="manufacturer_id" colspan="4"/>
+					<field name="country_id"/>
+					<field name="authorized"/>
+				</form>
+			</field>
+		</record>
+	</data>
+</openerp>
+

=== added directory 'product_electronic/security'
=== added file 'product_electronic/security/ir.model.access.csv'
--- product_electronic/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_electronic/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_product_electronic_attribute","product.electronic.attribute","model_product_electronic_attribute","product.group_uos",1,0,0,0
+"access_product_electronic_attribute_manager","product.electronic.attribute","model_product_electronic_attribute","product.group_product_manager",1,1,1,1

=== added directory 'product_extended'
=== added file 'product_extended/__init__.py'
--- product_extended/__init__.py	1970-01-01 00:00:00 +0000
+++ product_extended/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import product_extended
+import mrp_bom
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_extended/__openerp__.py'
--- product_extended/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_extended/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,41 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2010-2011 OpenERP S.A. (<http://www.openerp.com>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name" : "Product extension to track sales and purchases",
+    "version" : "1.0",
+    "author" : "OpenERP S.A.",
+    "depends" : ["product", "purchase", "sale", "mrp"],
+    "category" : "Generic Modules/Inventory Control",
+    "description": """
+Product extension. This module adds:
+  * Last purchase order for each product supplier 
+  * New functional field: Available stock (real+outgoing stock)
+  * Computes standard price from the BoM of the product (optional for each product)
+  * Standard price is shown in the BoM and it can be computed with a wizard 
+""",
+    "init_xml" : [],
+    "demo_xml" : [],
+    "update_xml" : ["product_extended_view.xml","mrp_view.xml"],
+    "active": False,
+    "installable": True
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_extended/i18n'
=== added file 'product_extended/i18n/ca.po'
--- product_extended/i18n/ca.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/ca.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,62 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-08 18:00+0000\n"
+"PO-Revision-Date: 2011-02-15 15:23+0000\n"
+"Last-Translator: Benjamí Borràs Delgado <Unknown>\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: 2012-09-25 05:02+0000\n"
+"X-Generator: Launchpad (build 16019)\n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr "Extensió de producte pel seguiment de compres i vendes"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a la definició de la vista!"
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr "Preu cost"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr "Data de l'última comanda"
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr "Estoc disponible"
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr "Calcula preu"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr "Última comanda"
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr "Calcular preu cost"
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr "Punts de comandes"

=== added file 'product_extended/i18n/ca_ES.po'
--- product_extended/i18n/ca_ES.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/ca_ES.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,81 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-16 19:42:46+0000\n"
+"PO-Revision-Date: 2009-07-16 22:03+0100\n"
+"Last-Translator: Benjamí Borràs Delgado <benjami@xxxxxxxxxxxxxxx>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+
+#. module: product_extended
+#: model:ir.module.module,description:product_extended.module_meta_information
+msgid ""
+"\n"
+"Product extension. This module adds:\n"
+"  * Last purchase order for each product supplier \n"
+"  * New functional field: Available stock (real+outgoing stock)\n"
+"  * Computes standard price from the BoM of the product (optional for each product)\n"
+"  * Standard price is shown in the BoM and it can be computed with a wizard \n"
+msgstr ""
+"\n"
+"Extensió de producte. Aquest mòdul afegeix:\n"
+"  * Última comanda de compra per cada proveïdor del producte\n"
+"  * Nou camp funcional: Estoc disponible (estoc real+sortint)\n"
+"  * Calcula preu de cost a partir de la LdM del producte (opcional per cada producte)\n"
+"  * Preu de cost es mostra en la LdM i pot ser calculat amb un assistent\n"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a la definició de la vista!"
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr "Preu cost"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_meta_information
+msgid "Product extension to track sales and purchases"
+msgstr "Extensió de producte pel seguiment de compres i vendes"
+
+#. module: product_extended
+#: help:product.product,calculate_price:0
+msgid "Check this box if the standard price must be computed from the BoM."
+msgstr "Marqueu aquesta opció si el preu de cost s'ha de calcular a partir de la Llista de Materials."
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr "Data de l'última comanda"
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr "Estoc disponible"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr "Última comanda"
+
+#. module: product_extended
+#: model:ir.actions.wizard,name:product_extended.id_compute_price
+#: view:product.product:0
+#: field:product.product,calculate_price:0
+msgid "Compute standard price"
+msgstr "Calcular preu cost"
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr "Punts de comandes"
+

=== added file 'product_extended/i18n/de.po'
--- product_extended/i18n/de.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/de.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,63 @@
+# German translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-07-08 18:00+0000\n"
+"PO-Revision-Date: 2012-09-11 11:15+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: German <de@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-09-25 05:02+0000\n"
+"X-Generator: Launchpad (build 16019)\n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr ""
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr ""
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr ""

=== added file 'product_extended/i18n/es.po'
--- product_extended/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,62 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# 	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-08 18:00+0000\n"
+"PO-Revision-Date: 2011-02-15 15:23+0000\n"
+"Last-Translator: Benjamí Borràs Delgado <Unknown>\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: 2012-09-25 05:02+0000\n"
+"X-Generator: Launchpad (build 16019)\n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr "Extensión de producto para el seguimiento de compras y ventas"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr "Precio de coste"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr "Fecha del último pedido"
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr "Stock disponible"
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr "Calcular precio"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr "Último pedido"
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr "Calcular precio de coste"
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr "Puntos de pedidos"

=== added file 'product_extended/i18n/es_ES.po'
--- product_extended/i18n/es_ES.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/es_ES.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,84 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# 	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-16 19:42:46+0000\n"
+"PO-Revision-Date: 2009-07-16 21:58+0100\n"
+"Last-Translator: Benjamí Borràs Delgado <benjami@xxxxxxxxxxxxxxx>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: \n"
+
+#. module: product_extended
+#: model:ir.module.module,description:product_extended.module_meta_information
+msgid ""
+"\n"
+"Product extension. This module adds:\n"
+"  * Last purchase order for each product supplier \n"
+"  * New functional field: Available stock (real+outgoing stock)\n"
+"  * Computes standard price from the BoM of the product (optional for each product)\n"
+"  * Standard price is shown in the BoM and it can be computed with a wizard \n"
+msgstr ""
+"\n"
+"Extensión de producto. Este módulo añade:\n"
+"   * Último pedido de compra por cada proveedor del producto\n"
+"   * Nuevo campo funcional: Stock disponible (stock real + saliente)\n"
+"   * Calcula precio de coste a partir de la LdM del producto (opcional para cada producto)\n"
+"   * Precio de coste se muestra en la LdM y puede ser calculado con un asistente\n"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr "Precio de coste"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_meta_information
+msgid "Product extension to track sales and purchases"
+msgstr "Extensión de producto para el seguimiento de compras y ventas"
+
+#. module: product_extended
+#: help:product.product,calculate_price:0
+msgid "Check this box if the standard price must be computed from the BoM."
+msgstr "Marque esta opción si el precio de coste se calculará a partir de la Lista de Materiales."
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr "Fecha del último pedido"
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr "Stock disponible"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr "Último pedido"
+
+#. module: product_extended
+#: model:ir.actions.wizard,name:product_extended.id_compute_price
+#: view:product.product:0
+#: field:product.product,calculate_price:0
+msgid "Compute standard price"
+msgstr "Calcular precio de coste"
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr "Puntos de pedidos"
+
+#~ msgid "Compute price"
+#~ msgstr "Calcular precio"
+

=== added file 'product_extended/i18n/fr_BE.po'
--- product_extended/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,75 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-26 08:13:54+0000\n"
+"PO-Revision-Date: 2009-11-26 08:13:54+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_extended
+#: model:ir.module.module,description:product_extended.module_meta_information
+msgid "\n"
+"Product extension. This module adds:\n"
+"  * Last purchase order for each product supplier \n"
+"  * New functional field: Available stock (real+outgoing stock)\n"
+"  * Computes standard price from the BoM of the product (optional for each product)\n"
+"  * Standard price is shown in the BoM and it can be computed with a wizard \n"
+""
+msgstr ""
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr ""
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_meta_information
+msgid "Product extension to track sales and purchases"
+msgstr ""
+
+#. module: product_extended
+#: help:product.product,calculate_price:0
+msgid "Check this box if the standard price must be computed from the BoM."
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr ""
+
+#. module: product_extended
+#: model:ir.actions.wizard,name:product_extended.id_compute_price
+#: view:product.product:0
+#: field:product.product,calculate_price:0
+msgid "Compute standard price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr ""
+

=== added file 'product_extended/i18n/nl.po'
--- product_extended/i18n/nl.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/nl.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,63 @@
+# Dutch translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-07-08 18:00+0000\n"
+"PO-Revision-Date: 2012-04-05 10:22+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Dutch <nl@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-09-25 05:02+0000\n"
+"X-Generator: Launchpad (build 16019)\n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr "Productgegevens uitbreiding"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Ongeldige XML voor weergave opbouw!"
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr "Standaardprijs"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr "Laatste orderdatum"
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr "Voorraad beschikbaar"
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr "Bereken kostprijs"
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr "Laatste order"
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr "Bereken standaard prijs"
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr "Orderpunten"

=== added file 'product_extended/i18n/product_extended.pot'
--- product_extended/i18n/product_extended.pot	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/product_extended.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,62 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-08 18:00:36+0000\n"
+"PO-Revision-Date: 2009-07-08 18:00:36+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr ""
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr ""
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr ""
+

=== added file 'product_extended/i18n/sv.po'
--- product_extended/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_extended/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,62 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_extended
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-07-08 18:00+0000\n"
+"PO-Revision-Date: 2011-02-15 15:23+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-09-25 05:02+0000\n"
+"X-Generator: Launchpad (build 16019)\n"
+
+#. module: product_extended
+#: model:ir.module.module,shortdesc:product_extended.module_name_translation
+msgid "Product extension to track sales and purchases"
+msgstr "Product extension to track sales and purchases"
+
+#. module: product_extended
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_extended
+#: field:mrp.bom,standard_price:0
+msgid "Standard Price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order_date:0
+msgid "Last Order date"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,qty_dispo:0
+msgid "Stock available"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,calculate_price:0
+msgid "Compute price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.supplierinfo,last_order:0
+msgid "Last Order"
+msgstr ""
+
+#. module: product_extended
+#: view:product.product:0
+msgid "Compute standard price"
+msgstr ""
+
+#. module: product_extended
+#: field:product.product,orderpoint_ids:0
+msgid "Orderpoints"
+msgstr ""

=== added file 'product_extended/mrp_bom.py'
--- product_extended/mrp_bom.py	1970-01-01 00:00:00 +0000
+++ product_extended/mrp_bom.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,38 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution   
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2010-2011 OpenERP S.A. (<http://www.openerp.com>).
+#    $Id$
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import osv
+
+class mrp_bom(osv.osv):
+    
+    _inherit = "mrp.bom"
+    
+    def compute_cost_price(self, cr, uid, ids, context=None):
+        if context is None: context = {}
+    
+        for bom in self.browse(cr, uid, ids, context=context):
+            bom.product_id.compute_price()
+            
+        return True    
+    
+mrp_bom()

=== added file 'product_extended/mrp_view.xml'
--- product_extended/mrp_view.xml	1970-01-01 00:00:00 +0000
+++ product_extended/mrp_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        <record id="mrp_bom_form_view_product_extended" model="ir.ui.view">
+            <field name="name">mrp.bom.form.product_extended</field>
+            <field name="model">mrp.bom</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="mrp.mrp_bom_form_view"/>
+            <field name="arch" type="xml">
+                <field name="product_id" position="after">
+                    <field name="standard_price"/>
+                    <button name="compute_cost_price" type="object" string="Compute price" icon="gtk-execute"/>
+                    <newline/>
+                </field>
+            </field>
+        </record>
+
+        <record id="mrp_bom_tree_view_product_extended" model="ir.ui.view">
+            <field name="name">mrp.bom.tree.product_extended</field>
+            <field name="model">mrp.bom</field>
+            <field name="type">tree</field>
+            <field name="inherit_id" ref="mrp.mrp_bom_tree_view"/>
+            <field name="arch" type="xml">
+                <field name="product_uom" position="after">
+                    <field name="standard_price"/>
+                </field>
+            </field>
+        </record>
+    </data>
+</openerp>

=== added file 'product_extended/product_extended.py'
--- product_extended/product_extended.py	1970-01-01 00:00:00 +0000
+++ product_extended/product_extended.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,148 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#    Copyright (C) 2010-2011 OpenERP S.A. (<http://www.openerp.com>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+from osv import fields
+from osv import osv
+
+class product_supplierinfo(osv.osv):
+    _inherit = 'product.supplierinfo'
+    _name = "product.supplierinfo"
+
+    def _last_order(self, cr, uid, ids, name, arg, context=None):
+        res = dict.fromkeys(ids, False)
+        for supinfo in self.browse(cr, uid, ids, context=context):
+            cr.execute("select po.id, max(po.date_approve) from purchase_order as po, purchase_order_line as line where po.id=line.order_id and line.product_id=%s and po.partner_id=%s and po.state='approved' group by po.id", (supinfo.product_id.id, supinfo.name.id,))
+            record = cr.fetchone()
+            if record:
+                res[supinfo.id] = record[0]
+        return res
+
+    def _last_order_date(self, cr, uid, ids, name, arg, context):
+        res = dict.fromkeys(ids, False)
+        po = self.pool.get('purchase.order')
+        last_orders = self._last_order(cr, uid, ids, name, arg, context)
+        dates = po.read(cr, uid, filter(None, last_orders.values()), ['date_approve'])
+        for suppinfo in ids:
+            date_approve = [x['date_approve'] for x in dates if x['id']==last_orders[suppinfo]]
+            if date_approve:
+                res[suppinfo] = date_approve[0]
+        return res
+
+    _columns = {
+        'last_order' : fields.function(_last_order, type='many2one', obj='purchase.order', method=True, string='Last Order'),
+        'last_order_date' : fields.function(_last_order_date, type='date', method=True, string='Last Order date'),
+    }
+product_supplierinfo()
+
+
+class product_product(osv.osv):
+    _name = 'product.product'
+    _inherit = 'product.product'
+    
+    def _find_op(self, cr, uid, ids, name, arg, context):
+        res = dict.fromkeys(ids, False)
+        for product_id in ids:
+            cr.execute('SELECT swo.id from stock_warehouse_orderpoint AS swo WHERE product_id=%s', (product_id,))
+            op_id = cr.fetchone()
+            if op_id:
+                res[product_id] = op_id[0]
+        return res
+
+    def _product_dispo(self, cr, uid, ids, name, arg, context={}):
+        res = {}
+        out = self._product_outgoing_qty(cr, uid, ids, name, arg, context)
+        now = self._product_qty_available(cr, uid, ids, name, arg, context)
+        for p_id in ids:
+            res[p_id] = now[p_id] + out[p_id]
+        return res
+
+
+    _columns = {
+        'calculate_price': fields.boolean('Compute standard price', help="Check this box if the standard price must be computed from the BoM."),
+        'orderpoint_ids': fields.one2many('stock.warehouse.orderpoint', 'product_id', 'Orderpoints'),
+        'qty_dispo': fields.function(_product_dispo, method=True, type='float', string='Stock available'),
+    }
+
+    _defaults = {
+        'calculate_price': lambda w,x,y,z: False,
+    }
+
+    def compute_price(self, cr, uid, ids, context=None):
+        if context is None: context = {}
+        proxy = self.pool.get('mrp.bom')
+        for prod_id in ids:
+            bom_ids = proxy.search(cr, uid, [('product_id', '=', prod_id)])
+            if bom_ids:
+                for bom in proxy.browse(cr, uid, bom_ids):
+                    self._calc_price(cr, uid, bom)
+        return True
+                    
+    def _calc_price(self, cr, uid, bom):
+        if not bom.product_id.calculate_price:
+            return bom.product_id.standard_price
+        else:
+            price = 0
+            if bom.bom_lines:
+                for sbom in bom.bom_lines:
+                    my_qty = sbom.bom_lines and 1.0 or sbom.product_qty
+                    price += self._calc_price(cr, uid, sbom) * my_qty
+            else:
+                bom_obj = self.pool.get('mrp.bom')
+                no_child_bom = bom_obj.search(cr, uid, [('product_id', '=', bom.product_id.id), ('bom_id', '=', False)])
+                if no_child_bom and bom.id not in no_child_bom:
+                    other_bom = bom_obj.browse(cr, uid, no_child_bom)[0]
+                    if not other_bom.product_id.calculate_price:
+                        price += self._calc_price(cr, uid, other_bom) * other_bom.product_qty
+                    else:
+#                        price += other_bom.product_qty * other_bom.product_id.standard_price
+                        price += other_bom.product_id.standard_price
+                else:
+#                    price += bom.product_qty * bom.product_id.standard_price
+                    price += bom.product_id.standard_price
+#                if no_child_bom:
+#                    other_bom = bom_obj.browse(cr, uid, no_child_bom)[0]
+#                    price += bom.product_qty * self._calc_price(cr, uid, other_bom)
+#                else:
+#                    price += bom.product_qty * bom.product_id.standard_price
+            if bom.routing_id:
+                for wline in bom.routing_id.workcenter_lines:
+                    wc = wline.workcenter_id
+                    cycle = wline.cycle_nbr
+                    hour = (wc.time_start + wc.time_stop + cycle * wc.time_cycle) *  (wc.time_efficiency or 1.0)
+                    price += wc.costs_cycle * cycle + wc.costs_hour * hour
+                    price = self.pool.get('product.uom')._compute_price(cr,uid,bom.product_uom.id,price,bom.product_id.uom_id.id)
+            if bom.bom_lines:
+                self.write(cr, uid, [bom.product_id.id], {'standard_price' : price/bom.product_qty})
+            if bom.product_uom.id != bom.product_id.uom_id.id:
+                price = self.pool.get('product.uom')._compute_price(cr,uid,bom.product_uom.id,price,bom.product_id.uom_id.id)
+            return price
+product_product()
+
+class product_bom(osv.osv):
+    _inherit = 'mrp.bom'
+            
+    _columns = {
+        'standard_price': fields.related('product_id','standard_price',type="float",relation="product.product",string="Standard Price",store=False)
+    }
+
+product_bom()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_extended/product_extended_view.xml'
--- product_extended/product_extended_view.xml	1970-01-01 00:00:00 +0000
+++ product_extended/product_extended_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<openerp>
+    <data>
+        <record model="ir.ui.view" id="product_supplierinfo_ext_form_view">
+            <field name="name">product_extended.supplierinfo.form.view</field>
+            <field name="type">form</field>
+            <field name="model">product.supplierinfo</field>
+            <field name="inherit_id" ref="product.product_supplierinfo_form_view" />
+            <field name="arch" type="xml">
+                <field name="sequence" position="after">
+                    <field name="last_order" colspan="4"/>
+                </field>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="product_supplierinfo_ext_tree_view">
+            <field name="name">product_extended.supplierinfo.tree.view</field>
+            <field name="type">tree</field>
+            <field name="model">product.supplierinfo</field>
+            <field name="inherit_id" ref="product.product_supplierinfo_tree_view" />
+            <field name="arch" type="xml">
+                <field name="name" position="after">
+                    <field name="last_order_date" />
+                </field>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="product_product_ext_form_view">
+            <field name="name">product_extended.product.form.view</field>
+            <field name="type">form</field>
+            <field name="model">product.product</field>
+            <field name="priority">2</field>
+            <field name="inherit_id" ref="stock.view_normal_stock_property_form" />
+            <field name="arch" type="xml">
+                <field name="virtual_available" position="after">
+                    <field name="qty_dispo" />
+                </field>
+            </field>
+        </record>
+        <record model="ir.ui.view" id="product_product_ext_form_view2">
+            <field name="name">product_extended.product.form.view</field>
+            <field name="model">product.product</field>
+            <field name="type">form</field>
+            <field name="priority">3</field>
+            <field name="inherit_id" ref="product.product_normal_form_view" />
+            <field name="arch" type="xml">
+                <field name="seller_ids" position="before">
+                    <field name="calculate_price" />
+                    <button name="compute_price" type="object" string="Compute standard price"/>
+                </field>
+            </field>
+        </record>
+    </data>
+</openerp>
+

=== added directory 'product_gift'
=== added file 'product_gift/__init__.py'
--- product_gift/__init__.py	1970-01-01 00:00:00 +0000
+++ product_gift/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,26 @@
+# -*- encoding: utf-8 -*-
+#################################################################################
+#                                                                               #
+#    product_is_a_gift for OpenERP                                          #
+#    Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>   #
+#                                                                               #
+#    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 <http://www.gnu.org/licenses/>.      #
+#                                                                               #
+#################################################################################
+
+
+
+import stock
+import product
+import sale

=== added file 'product_gift/__openerp__.py'
--- product_gift/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_gift/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,42 @@
+# -*- encoding: utf-8 -*-
+#################################################################################
+#                                                                               #
+#    product_is_a_gift for OpenERP                                              #
+#    Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>   #
+#                                                                               #
+#    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 <http://www.gnu.org/licenses/>.      #
+#                                                                               #
+#################################################################################
+
+
+{
+    'name': 'product_gift',
+    'version': '0.1',
+    'category': 'Generic Modules',
+    'license': 'AGPL-3',
+    'description': """This modules add the feature of gift_wrap and give the posibility to add present message on the order or the order line""",
+    'author': 'Akretion',
+    'website': 'http://www.akretion.com/',
+    'depends': ['sale','product', 'stock'], 
+    'init_xml': [],
+    'update_xml': [
+           'stock_view.xml',
+           'product_view.xml',
+           'sale_view.xml',
+    ],
+    'demo_xml': [],
+    'installable': True,
+    'active': False,
+}
+

=== added directory 'product_gift/autoload'
=== added directory 'product_gift/autoload/magentoerpconnect'
=== added directory 'product_gift/autoload/magentoerpconnect/1.3.2.4'
=== added file 'product_gift/autoload/magentoerpconnect/1.3.2.4/external.mappinglines.template.csv'
--- product_gift/autoload/magentoerpconnect/1.3.2.4/external.mappinglines.template.csv	1970-01-01 00:00:00 +0000
+++ product_gift/autoload/magentoerpconnect/1.3.2.4/external.mappinglines.template.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+id,type_id:id,model_id:id,external_field,type,external_type,in_function,out_function
+mag_1324_erp_product_is_gift_1,magentoerpconnect.magento1324,sale.model_sale_order,gift_message,in,unicode,"result=[('gift_message',ifield)]",
+mag_1324_erp_product_is_gift_2,magentoerpconnect.magento1324,sale.model_sale_order_line,product_options,in,unicode,"result=[('need_gift_wrap', 'Option Cadeau' in ifield)]",

=== added directory 'product_gift/autoload/magentoerpconnect/1.5.0.0'
=== added file 'product_gift/autoload/magentoerpconnect/1.5.0.0/external.mappinglines.template.csv'
--- product_gift/autoload/magentoerpconnect/1.5.0.0/external.mappinglines.template.csv	1970-01-01 00:00:00 +0000
+++ product_gift/autoload/magentoerpconnect/1.5.0.0/external.mappinglines.template.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+id,type_id:id,model_id:id,external_field,type,external_type,in_function,out_function
+mag_1500_erp_product_is_gift_1,magentoerpconnect.magento1500,sale.model_sale_order,gift_message,in,unicode,"result=[('gift_message',ifield)]",
+mag_1500_erp_product_is_gift_2,magentoerpconnect.magento1500,sale.model_sale_order_line,product_options,in,unicode,"result=[('need_gift_wrap', 'Option Cadeau' in ifield)]",

=== added file 'product_gift/product.py'
--- product_gift/product.py	1970-01-01 00:00:00 +0000
+++ product_gift/product.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,36 @@
+# -*- encoding: utf-8 -*-
+#################################################################################
+#                                                                               #
+#    product_is_a_gift for OpenERP                                              #
+#    Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>   #
+#                                                                               #
+#    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 <http://www.gnu.org/licenses/>.      #
+#                                                                               #
+#################################################################################
+
+from osv import osv, fields
+
+
+class product_product(osv.osv):
+    _inherit = "product.product"
+    
+    _columns = {
+        'allow_gift_wrap': fields.boolean('Allow Gift Wrap', help="Determine if the product can have the option gift wrap on the sale order line"),
+    }
+
+    _defaults = {
+        'allow_gift_wrap': True,
+    }
+
+product_product()

=== added file 'product_gift/product_view.xml'
--- product_gift/product_view.xml	1970-01-01 00:00:00 +0000
+++ product_gift/product_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  product_is_a_gift for OpenERP
+  Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>
+  The licence is in the file __openerp__.py
+-->
+
+<openerp>
+    <data>
+    
+        <!-- INHERITED VIEW FOR THE OBJECT : product_product -->
+
+		<record id="product_normal_form_view" model="ir.ui.view">
+			<field name="name">product_is_a_gift.product_normal_form_view</field>
+			<field name="model">product.product</field>
+			<field name="inherit_id" ref="product.product_normal_form_view" />
+			<field name="type">form</field>
+            <field eval="15" name="priority"/>
+			<field name="arch" type="xml">
+				<data>
+					<field name="purchase_ok" position="after">
+						<field name="allow_gift_wrap" />
+					</field>
+				</data>
+			</field>
+		</record>
+
+    </data>
+</openerp>

=== added file 'product_gift/sale.py'
--- product_gift/sale.py	1970-01-01 00:00:00 +0000
+++ product_gift/sale.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,57 @@
+# -*- encoding: utf-8 -*-
+#################################################################################
+#                                                                               #
+#    product_is_a_gift for OpenERP                                              #
+#    Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>   #
+#    Copyright (C) 2011 Camptocamp SA. (author Guewen Baconnier)
+#                                                                               #
+#    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 <http://www.gnu.org/licenses/>.      #
+#                                                                               #
+#################################################################################
+
+from osv import osv, fields
+
+
+class sale_order(osv.osv):
+    
+    _inherit = "sale.order"
+    
+    _columns = {
+        'gift_message': fields.text('Gift Message'),
+    }
+
+    def _prepare_order_picking(self, cr, uid, order, *args, **kwargs):
+        values = super(sale_order, self)._prepare_order_picking(cr, uid, order, *args, **kwargs)
+        values.update({'gift_message' : order.gift_message})
+        return values
+
+sale_order()
+
+
+class sale_order_line(osv.osv):
+    
+    _inherit = "sale.order.line"
+    
+    _columns = {
+        'gift_message': fields.text('Gift Message'),
+        'need_gift_wrap': fields.boolean('Add Gift Wrap'),
+    }
+
+    def _prepare_order_line_move(self, cr, uid, order, line, picking_id, date_planned, *args, **kwargs):
+        values = super(sale_order_line, self)._prepare_order_line_move(cr, uid, order, line, picking_id, date_planned, *args, **kwargs)
+        values.update({'gift_message': line.gift_message,
+                       'need_gift_wrap': line.need_gift_wrap})
+        return values
+
+sale_order_line()

=== added file 'product_gift/sale_view.xml'
--- product_gift/sale_view.xml	1970-01-01 00:00:00 +0000
+++ product_gift/sale_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  product_is_a_gift for OpenERP
+  Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>
+  The licence is in the file __openerp__.py
+-->
+
+<openerp>
+    <data>
+    
+        <!-- INHERITED VIEW FOR THE OBJECT : sale_order -->
+
+		<record id="view_order_form" model="ir.ui.view">
+			<field name="name">product_is_a_gift.view_order_form</field>
+			<field name="model">sale.order</field>
+			<field name="inherit_id" ref="sale.view_order_form" />
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<data>
+					<xpath expr="/form/notebook/page[@string='Other Information']/separator[@string='Notes']" position="before">
+                        <separator string="Gift Message" colspan="4"/>
+                        <field name="gift_message" colspan="4" nolabel="1"/>
+					</xpath>
+
+					<xpath expr="/form/notebook/page/field[@name='order_line']/form/notebook/page[@string='Order Line']/group/field[@name='product_packaging']" position="after">
+						<field name="need_gift_wrap" />
+					</xpath>
+
+					<xpath expr="/form/notebook/page/field[@name='order_line']/form/notebook/page[@string='Extra Info']" position="after">
+                        <page string="Gift Message">
+                            <field name="gift_message" colspan="4" nolabel="1"/>
+                        </page>
+					</xpath>
+
+					<xpath expr="/form/notebook/page/field/tree/field[@name='name']" position="after">
+						<field name="need_gift_wrap" />
+					</xpath>
+				</data>
+			</field>
+		</record>
+
+    </data>
+</openerp>

=== added file 'product_gift/stock.py'
--- product_gift/stock.py	1970-01-01 00:00:00 +0000
+++ product_gift/stock.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,48 @@
+# -*- encoding: utf-8 -*-
+#################################################################################
+#                                                                               #
+#    product_is_a_gift for OpenERP                                              #
+#    Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>   #
+#                                                                               #
+#    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 <http://www.gnu.org/licenses/>.      #
+#                                                                               #
+#################################################################################
+
+from osv import osv, fields
+
+
+class stock_picking(osv.osv):
+    _inherit = "stock.picking"
+
+    _columns = {
+        'gift_message': fields.text('Gift Message'),
+    }
+
+stock_picking()
+
+
+class stock_move(osv.osv):
+    _inherit = "stock.move"
+
+    _columns = {
+        'gift_message': fields.text('Gift Message'),
+        'need_gift_wrap': fields.boolean('Need Gift Wrap'),
+    }
+
+    def _prepare_chained_picking(self, cr, uid, pick_name, picking, ptype, move, context=None):
+        res = super(stock_move, self)._prepare_chained_picking(cr, uid, pick_name, picking, ptype, move, context=context)
+        res['gift_message'] = picking.gift_message
+        return res
+
+stock_move()

=== added file 'product_gift/stock_view.xml'
--- product_gift/stock_view.xml	1970-01-01 00:00:00 +0000
+++ product_gift/stock_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  product_is_a_gift for OpenERP
+  Copyright (C) 2011 Akretion Sébastien BEAU <sebastien.beau@xxxxxxxxxxxx>
+  The licence is in the file __openerp__.py
+-->
+
+<openerp>
+    <data>
+    
+        <!-- INHERITED VIEW FOR THE OBJECT : stock_picking -->
+
+		<record id="view_picking_form" model="ir.ui.view">
+			<field name="name">product_is_a_gift.view_picking_form</field>
+			<field name="model">stock.picking</field>
+			<field name="inherit_id" ref="stock.view_picking_form" />
+            <field eval="16" name="priority"/>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<data>
+
+					<xpath expr="/form/notebook" position="inside">
+                        <page string="Gift Message">
+                            <field name="gift_message" colspan="4" nolabel="1"/>
+                        </page>
+					</xpath>
+
+					<xpath expr="/form/notebook/page/field/form/label[@string='']" position="before">
+                        <group colspan="4">
+                            <separator string="Gift Option" colspan="4"/>
+                            <field name="need_gift_wrap" />
+                            <field name="gift_message" colspan="4"/>
+                        </group>
+					</xpath>
+
+				</data>
+
+			</field>
+		</record>
+
+
+		<record id="view_picking_out_form" model="ir.ui.view">
+			<field name="name">product_is_a_gift.view_picking_out_form</field>
+			<field name="model">stock.picking</field>
+			<field name="inherit_id" ref="stock.view_picking_out_form" />
+            <field eval="16" name="priority"/>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<data>
+
+					<xpath expr="/form/notebook" position="inside">
+                        <page string="Gift Message">
+                            <field name="gift_message" colspan="4" nolabel="1"/>
+                        </page>
+					</xpath>
+
+					<xpath expr="/form/notebook/page/field/form/label[@string='']" position="before">
+                        <group colspan="4">
+                            <separator string="Gift Option" colspan="4"/>
+                            <field name="need_gift_wrap" />
+                            <field name="gift_message" colspan="4"/>
+                        </group>
+					</xpath>
+
+				</data>
+
+			</field>
+		</record>
+
+
+        <!-- INHERITED VIEW FOR THE OBJECT : stock_move -->
+
+		<record id="view_move_tree" model="ir.ui.view">
+			<field name="name">product_is_a_gift.view_move_tree</field>
+			<field name="model">stock.move</field>
+			<field name="inherit_id" ref="stock.view_move_tree" />
+            <field eval="16" name="priority"/>
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<data>
+					<field name="name" position="after">
+						<field name="need_gift_wrap" />
+					</field>
+				</data>
+			</field>
+		</record>
+    
+
+    </data>
+</openerp>

=== added directory 'product_gs1_128'
=== added file 'product_gs1_128/__init__.py'
--- product_gs1_128/__init__.py	1970-01-01 00:00:00 +0000
+++ product_gs1_128/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    This module is copyright (C) 2010 Numérigraphe SARL. All Rights Reserved.
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import product_gs1_128
+import res_users

=== added file 'product_gs1_128/__openerp__.py'
--- product_gs1_128/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_gs1_128/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,52 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    This module is copyright (C) 2010 Numérigraphe SARL. All Rights Reserved.
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+    'name' : 'Decoding features for GS1-128 codes (aka UCC/EAN-128)',
+    'version' : '0.1',
+    'author' : u'Numérigraphe',
+    'website': 'http://numerigraphe.com',
+    'category': 'Generic Modules/Inventory Control',
+    'description': """
+This makes OpenERP capable of decoding GS1-128 codes.
+
+GS1-128 (formerly known as UCC-128, EAN 128 or UCC/EAN-128) is a standard for \
+encoding item identification and logistics data.
+Physically it is represented as a Code-128 barcode, but this module does not \
+directly allow you to print or scan them.
+
+Instead, the focus of this module is on decoding the data contained in \
+barcodes. To this end, it provides objects to fine-tune the Application Identifiers and
+the associated data types.
+""",
+    'depends' : [
+        'product',
+    ],
+    'init_xml' : [],
+    'update_xml' : [
+        'product_gs1_128_view.xml',
+        'res_users_view.xml',
+        'data/product.gs1_128.csv',
+        "security/ir.model.access.csv",
+    ],
+    'active': False,
+    'installable': True,
+    'license' : 'GPL-3',
+}

=== added directory 'product_gs1_128/data'
=== added file 'product_gs1_128/data/product.gs1_128.csv'
--- product_gs1_128/data/product.gs1_128.csv	1970-01-01 00:00:00 +0000
+++ product_gs1_128/data/product.gs1_128.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,131 @@
+id,name,ai,length_fixed,length_max,length_min,decimal,type
+SSCC,Serial Shipping Container Code (SSCC),00,True,18,0,False,string
+GTIN,Global Trade Item Number (GTIN),01,True,14,0,False,string
+CONTENT_GTIN,GTIN of Contained Trade Items,02,True,14,0,False,string
+LOT,Batch/Lot Number,10,False,20,0,False,string
+PRODUCTION_DATE,Production Date,11,True,6,0,False,date
+DUE_DATE,Due Date,12,True,6,0,False,date
+PACKAGING_DATE,Packaging Date,13,True,6,0,False,date
+SELL_BY_DATE,Sell by Date (Quality Control),15,True,6,0,False,date
+EXPIRATION_DATE,Expiration Date,17,True,6,0,False,date
+VARIANT,Product Variant,20,True,2,0,False,string
+SN,Serial Number,21,False,20,0,False,string
+SECONDARY_DATA_FIELDS,Secondary Data Fields,22,False,29,0,False,string
+ADDITIONAL_PRODUCT_ID,Additional Product Identification,240,False,30,0,False,string
+CUSTOMER_PART,Customer Part Number,241,False,30,0,False,string
+VARIATION,Made-to-Order Variation Number,242,False,6,0,False,string
+SECONDARY_SN,Secondary Serial Number,250,False,30,0,False,string
+SOURCE_ENTITY,Reference to Source Entity,251,False,30,0,False,string
+GLOBAL_DOCUMENT_TYPE_ID,Global Document Type Identifier,253,False,17,13,False,string
+GLN_EXTENSION_COMPONENT,GLN Extension Component,254,False,20,0,False,string
+COUNT,Count of items,30,False,20,0,False,numeric
+NET_WEIGHT,Product Net Weight in kg,310,True,6,0,True,numeric
+LENGTH,"Product Length/1st Dimension, in meters",311,True,6,0,True,numeric
+WIDTH,"Product Width/Diameter/2nd Dimension, in meters",312,True,6,0,True,numeric
+DEPTH,"Product Depth/Thickness/Height/3rd Dimension, in meters",313,True,6,0,True,numeric
+AREA,"Product Area, in square meters",314,True,6,0,True,numeric
+NET_VOLUME_L,"Product Net Volume, in liters",315,True,6,0,True,numeric
+NET_VOLUME,"Product Net Volume, in cubic meters",316,True,6,0,True,numeric
+NET_WEIGHT_LB,"Product Net Weight, in pounds",320,True,6,0,True,numeric
+LENGTH_IN,"Product Length/1st Dimension, in inches",321,True,6,0,True,numeric
+LENGTH_FT,"Product Length/1st Dimension, in feet",322,True,6,0,True,numeric
+LENGTH_YD,"Product Length/1st Dimension, in yards",323,True,6,0,True,numeric
+WIDTH_IN,"Product Width/Diameter/2nd Dimension, in inches",324,True,6,0,True,numeric
+WIDTH_FT,"Product Width/Diameter/2nd Dimension, in feet",325,True,6,0,True,numeric
+WIDTH_YD,"Product Width/Diameter/2nd Dimension, in yards",326,True,6,0,True,numeric
+DEPTH_IN,"Product Depth/Thickness/Height/3rd Dimension, in inches",327,True,6,0,True,numeric
+DEPTH_FT,"Product Depth/Thickness/Height/3rd Dimension, in feet",328,True,6,0,True,numeric
+DEPTH_YD,"Product Depth/Thickness/3rd Dimension, in yards",329,True,6,0,True,numeric
+CONTAINER_GROSS_WEIGHT,Container Gross Weight (kg),330,True,6,0,True,numeric
+CONTAINER_LENGTH,Container Length/1st Dimension (Meters),331,True,6,0,True,numeric
+CONTAINER_WIDTH,Container Width/Diameter/2nd Dimension (Meters),332,True,6,0,True,numeric
+CONTAINER_DEPTH,Container Depth/Thickness/3rd Dimension (Meters),333,True,6,0,True,numeric
+CONTAINER_AREA,Container Area (Square Meters),334,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_L,Container Gross Volume (Liters),335,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME,Container Gross Volume (Cubic Meters),336,True,6,0,True,numeric
+CONTAINER_GROSS_WEIGHT_LB,Container Gross Weight (Pounds),340,True,6,0,True,numeric
+CONTAINER_LENGTH_IN,"Container Length/1st Dimension, in inches",341,True,6,0,True,numeric
+CONTAINER_LENGTH_FT,"Container Length/1st Dimension, in feet",342,True,6,0,True,numeric
+CONTAINER_LENGTH_YD,"Container Length/1st Dimension in, in yards",343,True,6,0,True,numeric
+CONTAINER_WIDTH_IN,"Container Width/Diameter/2nd Dimension, in inches",344,True,6,0,True,numeric
+CONTAINER_WIDTH_FT,"Container Width/Diameter/2nd Dimension, in feet",345,True,6,0,True,numeric
+CONTAINER_WIDTH_YD,"Container Width/Diameter/2nd Dimension, in yards",346,True,6,0,True,numeric
+CONTAINER_DEPTH_IN,"Container Depth/Thickness/Height/3rd Dimension, in inches",347,True,6,0,True,numeric
+CONTAINER_DEPTH_FT,"Container Depth/Thickness/Height/3rd Dimension, in feet",348,True,6,0,True,numeric
+CONTAINER_DEPTH_YD,"Container Depth/Thickness/Height/3rd Dimension, in yards",349,True,6,0,True,numeric
+AREA_IN2,Product Area (Square Inches),350,True,6,0,True,numeric
+AREA_FT2,Product Area (Square Feet),351,True,6,0,True,numeric
+AREA_SQUARE_YD,Product Area (Square Yards),352,True,6,0,True,numeric
+CONTAINER_AREA_IN2,Container Area (Square Inches),353,True,6,0,True,numeric
+CONTAINER_AREA_FT2,Container Area (Square Feet),354,True,6,0,True,numeric
+CONTAINER_AREA_SQUARE_YD,Container Area (Square Yards),355,True,6,0,True,numeric
+NET_WEIGHT_OZT,Net Weight (Troy Ounces),356,True,6,0,True,numeric
+NET_WEIGHT_VOLUME_OZ,Net Weight/Volume (Ounces),357,True,6,0,True,numeric
+VOLUME_QUARTS,Product Volume (Quarts),360,True,6,0,True,numeric
+VOLUME_GALLONS,Product Volume (Gallons),361,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_QUARTS,Container Gross Volume (Quarts),362,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_GALLONS,Container Gross Volume (U.S. Gallons),363,True,6,0,True,numeric
+VOLUME_IN3,Product Volume (Cubic Inches),364,True,6,0,True,numeric
+VOLUME_FT3,Product Volume (Cubic Feet),365,True,6,0,True,numeric
+VOLUME_YD3,Product Volume (Cubic Yards),366,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_IN3,Container Gross Volume (Cubic Inches),367,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_FT3,Container Gross Volume (Cubic Feet),368,True,6,0,True,numeric
+CONTAINER_GROSS_VOLUME_YD3,Container Gross Volume (Cubic Yards),369,True,6,0,True,numeric
+NB_CONTAINED,Number of Units Contained,37,False,8,0,False,numeric
+AMOUNT_PAYABLE,Amount payable (local currency),390,False,15,0,True,numeric
+AMOUNT_PAYABLE_CURRENCY,Amount payable (with ISO currency code),391,False,18,3,True,numeric
+AMOUNT_PAYABLE_SINGLE_ITEM,Amount payable per single item (local currency),392,False,15,0,True,numeric
+AMOUNT_PAYABLE_SINGLE_ITEM_CURRENCY,Amount payable per single item (with ISO currency code),393,False,18,3,True,numeric
+CUSTOMER_PURCHASE_ORDER,Customer Purchase Order Number,400,False,30,0,False,string
+CONSIGNMENT,Consignment Number,401,False,30,0,False,string
+BILL_OF_LADING,Bill of Lading number,402,True,17,0,False,string
+ROUTING_CODE,Routing code,403,False,30,0,False,string
+DELIVER_TO_LOCATION,Ship To/Deliver To Location Code (Global Location Number),410,True,13,0,False,string
+INVOICE_LOCATION,Bill To/Invoice Location Code (Global Location Number),411,True,13,0,False,string
+PURCHASE_LOCATION_,Purchase From Location Code (Global Location Number),412,True,13,0,False,string
+DELIVER_FOR,"Ship for, Deliver for, or Forward to Location Code (Global Location Number)",413,True,13,0,False,string
+PHYSICAL_LOCATION_ID,Identification of a physical location (Global Location Number),414,True,13,0,False,string
+DELIVER_TO_POSTAL_CODE,Ship To/Deliver To Postal Code (Single Postal Authority),420,False,20,0,False,string
+DELIVER_TO_POSTAL_CODE_COUNTRY,Ship To/Deliver To Postal Code (with ISO country code),421,False,15,3,False,string
+COUNTRY_ORIGIN,Country of Origin (ISO country code),422,True,3,0,False,string
+COUNTRY_INITIAL_PROCESSING,Country or countries of initial processing,423,False,15,3,False,string
+COUNTRY__PROCESSING,Country of processing,424,True,3,0,False,string
+COUNTRY_DISASSEMBLY,Country of disassembly,425,True,3,0,False,string
+COUNTRY,Country of full process chain,426,True,3,0,False,string
+NATO_STOCK,NATO Stock Number (NSN),7001,True,13,0,False,string
+UN_ECE_CLASSIFICATION,UN/ECE Meat Carcasses and cuts classification,7002,False,30,0,False,string
+EXPIRATION_DATE_AND_TIME,expiration date and time,7003,True,10,0,False,string
+ACTIVE_POTENCY,Active Potency,7004,False,4,0,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_1,Processor approval (with ISO country code) --1st processor,7031,False,30,3,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_2,Processor approval (with ISO country code) --2nd processor,7032,False,31,4,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_3,Processor approval (with ISO country code) --3rd processor,7033,False,32,5,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_4,Processor approval (with ISO country code) – 4th processor,7034,False,33,6,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_5,Processor approval (with ISO country code) – 5th processor,7035,False,34,7,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_6,Processor approval (with ISO country code) – 6th processor,7036,False,35,8,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_7,Processor approval (with ISO country code) – 7th processor,7037,False,36,9,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_8,Processor approval (with ISO country code) –8th processor,7038,False,37,10,False,string
+PROCESSOR_APPROVAL_WITH_COUNTRY_9,Processor approval (with ISO country code) – 9th processor,7039,False,38,11,False,string
+ROLL_PRODUCTS_DIMENSIONS,Roll Products - Width/Length/Core Diameter/Direction/Splices,8001,True,14,0,False,string
+MOBILE_PHONE_ID,Mobile phone identifier,8002,False,20,0,False,string
+GLOBAL_RETURNABLE_ASSET_ID,Global Returnable Asset Identifier,8003,False,30,14,False,string
+GLOBAL_INDIVIDUAL_ASSET_ID,Global Individual Asset Identifier,8004,False,30,0,False,string
+PRICE_PER_UOM,Price per Unit of Measure,8005,True,6,0,False,numeric
+COMPONENTS,identification of the components of an item,8006,True,18,0,False,string
+IBAN,International Bank Account Number,8007,False,30,0,False,string
+DATE_PRODUCTION,Date/time of production,8008,False,12,8,False,date
+GLOBAL_SERVICE_RELATION,Global Service Relation Number,8018,True,18,0,False,string
+PAYMENT_SLIP,Payment slip reference number,8020,False,25,0,False,string
+COUPON_EXTENDED_CODE_NB_SYSTEM_OFFER,Coupon Extended Code: Number System and Offer,8100,True,6,0,False,string
+COUPON_EXTENDED_CODE_NB_SYSTEM_OFFER_END,"Coupon Extended Code: Number System, Offer, End of Offer",8101,True,10,0,False,string
+COUPON_EXTENDED_CODE_NB_SYSTEM_PRECEDED_BY_0,Coupon Extended Code: Number System preceded by 0,8102,True,2,0,False,string
+COUPON_CODE_ID,Coupon code ID (North America),8110,False,30,0,False,string
+MUTUALLY_AGREED_BETWEEN_TRADING_PARTNERS,Mutually Agreed Between Trading Partners,90,False,999,0,False,string
+INTERNAL_COMPANY_CODE_1,Internal Company Code 1,91,False,30,0,False,string
+INTERNAL_COMPANY_CODE_2,Internal Company Code 2,92,False,30,0,False,string
+INTERNAL_COMPANY_CODE_3,Internal Company Code 3,93,False,30,0,False,string
+INTERNAL_COMPANY_CODE_4,Internal Company Code 4,94,False,30,0,False,string
+INTERNAL_COMPANY_CODE_5,Internal Company Code 5,95,False,30,0,False,string
+INTERNAL_COMPANY_CODE_6,Internal Company Code 6,96,False,30,0,False,string
+INTERNAL_COMPANY_CODE_7,Internal Company Code 7,97,False,30,0,False,string
+INTERNAL_COMPANY_CODE_8,Internal Company Code 8,98,False,30,0,False,string
+INTERNAL_COMPANY_CODE_9,Internal Company Code 9,99,False,30,0,False,string

=== added directory 'product_gs1_128/i18n'
=== added file 'product_gs1_128/i18n/fr.po'
--- product_gs1_128/i18n/fr.po	1970-01-01 00:00:00 +0000
+++ product_gs1_128/i18n/fr.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,850 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_gs1_128
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.10\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-09-28 17:39:07+0000\n"
+"PO-Revision-Date: 2010-09-28 17:39:07+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AREA
+msgid "Product Area, in square meters"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_WEIGHT
+msgid "Product Net Weight in kg"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.LENGTH_IN
+msgid "Product Length/1st Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.MOBILE_PHONE_ID
+msgid "Mobile phone identifier"
+msgstr ""
+
+#. module: product_gs1_128
+#: view:product.gs1_128:0
+msgid "Application Identifier"
+msgstr "Identifiant d'Application"
+
+#. module: product_gs1_128
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Invalid model name in the action definition."
+
+#. module: product_gs1_128
+#: field:product.gs1_128,type:0
+msgid "Data Type"
+msgstr "Type de données"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_DEPTH_FT
+msgid "Container Depth/Thickness/Height/3rd Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SECONDARY_SN
+msgid "Secondary Serial Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_GALLONS
+msgid "Container Gross Volume (U.S. Gallons)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PACKAGING_DATE
+msgid "Packaging Date"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.ROLL_PRODUCTS_DIMENSIONS
+msgid "Roll Products - Width/Length/Core Diameter/Direction/Splices"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SSCC
+msgid "Serial Shipping Container Code (SSCC)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_DEPTH_IN
+msgid "Container Depth/Thickness/Height/3rd Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SN
+msgid "Serial Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DEPTH_YD
+msgid "Product Depth/Thickness/3rd Dimension, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:product.gs1_128,ai:0
+msgid "Application Identifer"
+msgstr "Identifiant d'Application"
+
+#. module: product_gs1_128
+#: view:product.gs1_128:0
+msgid "Data Description"
+msgstr "Description des données"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_AREA_IN2
+msgid "Container Area (Square Inches)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_AREA_FT2
+msgid "Container Area (Square Feet)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DUE_DATE
+msgid "Due Date"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GLOBAL_INDIVIDUAL_ASSET_ID
+msgid "Global Individual Asset Identifier"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CUSTOMER_PURCHASE_ORDER
+msgid "Customer Purchase Order Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.ADDITIONAL_PRODUCT_ID
+msgid "Additional Product Identification"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_2
+msgid "Processor approval (with ISO country code) --2nd processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VOLUME_QUARTS
+msgid "Product Volume (Quarts)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNTRY_DISASSEMBLY
+msgid "Country of disassembly"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.LENGTH
+msgid "Product Length/1st Dimension, in meters"
+msgstr ""
+
+#. module: product_gs1_128
+#: selection:product.gs1_128,type:0
+msgid "Any character string"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_YD3
+msgid "Container Gross Volume (Cubic Yards)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUPON_EXTENDED_CODE_NB_SYSTEM_PRECEDED_BY_0
+msgid "Coupon Extended Code: Number System preceded by 0"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:product.gs1_128,ai:0
+msgid "The standard Application Identifier (AI)"
+msgstr "L'Identifiant d'Application (AI) standard"
+
+#. module: product_gs1_128
+#: selection:product.gs1_128,type:0
+msgid "Numeric value"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_AREA
+msgid "Container Area (Square Meters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_FT3
+msgid "Container Gross Volume (Cubic Feet)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUPON_EXTENDED_CODE_NB_SYSTEM_OFFER_END
+msgid "Coupon Extended Code: Number System, Offer, End of Offer"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_WEIGHT_LB
+msgid "Product Net Weight, in pounds"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNT
+msgid "Count of items"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUPON_EXTENDED_CODE_NB_SYSTEM_OFFER
+msgid "Coupon Extended Code: Number System and Offer"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:ir.actions.act_window,name:product_gs1_128.action_config_gs1_128
+#: model:ir.ui.menu,name:product_gs1_128.menu_config_gs1_128
+msgid "GS1-128 and UCC/EAN-128 Decoding"
+msgstr "Décodage GS1-128 et UCC/EAN-128"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_LENGTH_FT
+msgid "Container Length/1st Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_DEPTH
+msgid "Container Depth/Thickness/3rd Dimension (Meters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:product.gs1_128,length_min:0
+msgid "Minimum Data Length"
+msgstr "Taille des données minimum"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AMOUNT_PAYABLE_SINGLE_ITEM_CURRENCY
+msgid "Amount payable per single item (with ISO currency code)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_4
+msgid "Processor approval (with ISO country code) – 4th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: view:product.gs1_128:0
+msgid "GS1-128 decoding configuration"
+msgstr "Configuration du décodage GS1-128"
+
+#. module: product_gs1_128
+#: code:addons/product_gs1_128/product_gs1_128.py:0
+#, python-format
+msgid "Error decoding GS1-128 code"
+msgstr "Erreur pendant le décodage du code GS1-128"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AMOUNT_PAYABLE_SINGLE_ITEM
+msgid "Amount payable per single item (local currency)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CUSTOMER_PART
+msgid "Customer Part Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.LENGTH_YD
+msgid "Product Length/1st Dimension, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_DEPTH_YD
+msgid "Container Depth/Thickness/Height/3rd Dimension, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AMOUNT_PAYABLE
+msgid "Amount payable (local currency)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_7
+msgid "Processor approval (with ISO country code) – 7th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.EXPIRATION_DATE
+msgid "Expiration Date"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_9
+msgid "Processor approval (with ISO country code) – 9th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NB_CONTAINED
+msgid "Number of Units Contained"
+msgstr ""
+
+#. module: product_gs1_128
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Invalid XML for View Architecture!"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_WIDTH_IN
+msgid "Container Width/Diameter/2nd Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:res.users,gs1_128_prefix:0
+msgid "The prefix that the barcode scanner will send when GS1-128 codes are scanned. No prefix is expected if this fields is left empty"
+msgstr "Le préfixe que le lecteur de codes à barres envoi lorsqu'un code GS1-128 est scanné. Aucun préfixe ne sera attendu si vous laissze ce champs vide."
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DELIVER_TO_LOCATION
+msgid "Ship To/Deliver To Location Code (Global Location Number)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_L
+msgid "Container Gross Volume (Liters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PAYMENT_SLIP
+msgid "Payment slip reference number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SELL_BY_DATE
+msgid "Sell by Date (Quality Control)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_8
+msgid "Internal Company Code 8"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_9
+msgid "Internal Company Code 9"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_6
+msgid "Internal Company Code 6"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_7
+msgid "Internal Company Code 7"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_4
+msgid "Internal Company Code 4"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_5
+msgid "Internal Company Code 5"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_2
+msgid "Internal Company Code 2"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_3
+msgid "Internal Company Code 3"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INTERNAL_COMPANY_CODE_1
+msgid "Internal Company Code 1"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AREA_IN2
+msgid "Product Area (Square Inches)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_LENGTH
+msgid "Container Length/1st Dimension (Meters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNTRY__PROCESSING
+msgid "Country of processing"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:ir.module.module,shortdesc:product_gs1_128.module_meta_information
+msgid "Decoding features for GS1-128 codes (aka UCC/EAN-128)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VARIATION
+msgid "Made-to-Order Variation Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_VOLUME
+msgid "Product Net Volume, in cubic meters"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_IN3
+msgid "Container Gross Volume (Cubic Inches)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GLOBAL_RETURNABLE_ASSET_ID
+msgid "Global Returnable Asset Identifier"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DEPTH_IN
+msgid "Product Depth/Thickness/Height/3rd Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_WIDTH_YD
+msgid "Container Width/Diameter/2nd Dimension, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GLOBAL_SERVICE_RELATION
+msgid "Global Service Relation Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DELIVER_FOR
+msgid "Ship for, Deliver for, or Forward to Location Code (Global Locat"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GTIN
+msgid "Global Trade Item Number (GTIN)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DATE_PRODUCTION
+msgid "Date/time of production"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PRICE_PER_UOM
+msgid "Price per Unit of Measure"
+msgstr ""
+
+#. module: product_gs1_128
+#: view:res.users:0
+msgid "GS1-128 Barcodes"
+msgstr "Codes à barre GS1-128"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.ACTIVE_POTENCY
+msgid "Active Potency"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NATO_STOCK
+msgid "NATO Stock Number (NSN)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AREA_FT2
+msgid "Product Area (Square Feet)"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:product.gs1_128,decimal:0
+msgid "Decimal Indicator"
+msgstr "Indicateur de décimale"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.IBAN
+msgid "International Bank Account Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.LENGTH_FT
+msgid "Product Length/1st Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: code:addons/product_gs1_128/product_gs1_128.py:0
+#, python-format
+msgid "Could not decode GS1-128 code : wrong prefix - the code should start with \"%s\""
+msgstr "Impossible de décoder le code GS1-128 : préfixe incorrect ; le code devrait commencer par \"%s\""
+
+#. module: product_gs1_128
+#: help:res.users,gs1_128_separator:0
+msgid "The characters that the barcode scanner will send when a <GS> (Group Separator) is encountered in a GS1-128 code. <GS> is usually found when the data is of variable length. The ASCII character 29 will be used as a default if this field is left empty."
+msgstr "Le caractère que le lecteur de codes à barres envoi lorsqu'un <GS> (Séparateur de Groupe) est présent dans un code GS1-128. <GS> se trouve généralement dans les données de longueur variable. Le caractère ASCII 29 sera utilisé par défaut si vous laissez ce champ vide."
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DEPTH_FT
+msgid "Product Depth/Thickness/Height/3rd Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNTRY_ORIGIN
+msgid "Country of Origin (ISO country code)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DELIVER_TO_POSTAL_CODE_COUNTRY
+msgid "Ship To/Deliver To Postal Code (with ISO country code)"
+msgstr ""
+
+#. module: product_gs1_128
+#: selection:product.gs1_128,type:0
+msgid "Date"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AMOUNT_PAYABLE_CURRENCY
+msgid "Amount payable (with ISO currency code)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_LENGTH_YD
+msgid "Container Length/1st Dimension in, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COMPONENTS
+msgid "identification of the components of an item"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DEPTH
+msgid "Product Depth/Thickness/Height/3rd Dimension, in meters"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNTRY
+msgid "Country of full process chain"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.INVOICE_LOCATION
+msgid "Bill To/Invoice Location Code (Global Location Number)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VOLUME_IN3
+msgid "Product Volume (Cubic Inches)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONSIGNMENT
+msgid "Consignment Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_WEIGHT_VOLUME_OZ
+msgid "Net Weight/Volume (Ounces)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTENT_GTIN
+msgid "GTIN of Contained Trade Items"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:product.gs1_128,length_min:0
+msgid "Minimum length of the data for this Application Identifier."
+msgstr "Taille minimum des données pour cet Identifiant d'Application."
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_WIDTH_FT
+msgid "Container Width/Diameter/2nd Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:product.gs1_128,length_fixed:0
+msgid "Fixed-length Data"
+msgstr "Données de longueur fixe"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GLN_EXTENSION_COMPONENT
+msgid "GLN Extension Component"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.UN_ECE_CLASSIFICATION
+msgid "UN/ECE Meat Carcasses and cuts classification"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PHYSICAL_LOCATION_ID
+msgid "Identification of a physical location (Global Location Number)"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:product.gs1_128,decimal:0
+msgid "Indicates whether a digit is expected before the data for this Application Identifier to indicate the position of the decimal point."
+msgstr "Indique si un chiffre est attendu avant les données de cet Identifiant d'Application pour indiquer la position de la virgule décimale."
+
+#. module: product_gs1_128
+#: field:res.users,gs1_128_prefix:0
+msgid "GS1-128 Prefix"
+msgstr "Préfixe GS1-128"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VOLUME_YD3
+msgid "Product Volume (Cubic Yards)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.ROUTING_CODE
+msgid "Routing code"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:ir.module.module,description:product_gs1_128.module_meta_information
+msgid "\n"
+"This makes OpenERP capable of decoding GS1-128 codes.\n"
+"\n"
+"GS1-128 (formerly known as UCC-128, EAN 128 or UCC/EAN-128) is a standard for encoding item identification and logistics data.\n"
+"Physically it is represented as a Code-128 barcode, but this module does not directly allow you to print or scan them.\n"
+"\n"
+"Instead, the focus of this module is on decoding the data contained in barcodes. To this end, it provides objects to fine-tune the Application Identifiers and\n"
+"the associated data types.\n"
+""
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.GLOBAL_DOCUMENT_TYPE_ID
+msgid "Global Document Type Identifier"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_WEIGHT_LB
+msgid "Container Gross Weight (Pounds)"
+msgstr ""
+
+#. module: product_gs1_128
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.WIDTH
+msgid "Product Width/Diameter/2nd Dimension, in meters"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:ir.model,name:product_gs1_128.model_product_gs1_128
+msgid "GS1-128 bar codes decoder configuration"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_WEIGHT_OZT
+msgid "Net Weight (Troy Ounces)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.EXPIRATION_DATE_AND_TIME
+msgid "expiration date and time"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PRODUCTION_DATE
+msgid "Production Date"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.LOT
+msgid "Batch/Lot Number"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:product.gs1_128,length_max:0
+msgid "Maximum length of the data for this Application Identifier."
+msgstr "Taille maximum des données pour cet Identifiant d'Application"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.BILL_OF_LADING
+msgid "Bill of Lading number"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_5
+msgid "Processor approval (with ISO country code) – 5th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME
+msgid "Container Gross Volume (Cubic Meters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:res.users,gs1_128_separator:0
+msgid "GS1-128 Group Separator"
+msgstr "Séparateur de groupes GS1-128"
+
+#. module: product_gs1_128
+#: field:product.gs1_128,name:0
+msgid "Description"
+msgstr "Description"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.WIDTH_IN
+msgid "Product Width/Diameter/2nd Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VOLUME_FT3
+msgid "Product Volume (Cubic Feet)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_WEIGHT
+msgid "Container Gross Weight (kg)"
+msgstr ""
+
+#. module: product_gs1_128
+#: code:addons/product_gs1_128/product_gs1_128.py:0
+#, python-format
+msgid "Could not decode GS1-128 code: incorrect value for Application Identifer \"%s\" at position %d"
+msgstr "Impossible de décoder le code GS1-128 : valeur incorrecte pour l'Identifiant d'Application \"%s\" à la position %d"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_8
+msgid "Processor approval (with ISO country code) –8th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_GROSS_VOLUME_QUARTS
+msgid "Container Gross Volume (Quarts)"
+msgstr ""
+
+#. module: product_gs1_128
+#: help:product.gs1_128,length_fixed:0
+msgid "Indicates whether the length of the data for this Application Identifier is fixed or not."
+msgstr "Indique si la longueur des données pour cet Identifiant d'Application est fixe ou non."
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.WIDTH_YD
+msgid "Product Width/Diameter/2nd Dimension, in yards"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_6
+msgid "Processor approval (with ISO country code) – 6th processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.AREA_SQUARE_YD
+msgid "Product Area (Square Yards)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VARIANT
+msgid "Product Variant"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_AREA_SQUARE_YD
+msgid "Container Area (Square Yards)"
+msgstr ""
+
+#. module: product_gs1_128
+#: field:product.gs1_128,length_max:0
+msgid "Maximum Data Length"
+msgstr "Taille maximum des données"
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.DELIVER_TO_POSTAL_CODE
+msgid "Ship To/Deliver To Postal Code (Single Postal Authority)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_WIDTH
+msgid "Container Width/Diameter/2nd Dimension (Meters)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.MUTUALLY_AGREED_BETWEEN_TRADING_PARTNERS
+msgid "Mutually Agreed Between Trading Partners"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SOURCE_ENTITY
+msgid "Reference to Source Entity"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUPON_CODE_ID
+msgid "Coupon code ID (North America)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.SECONDARY_DATA_FIELDS
+msgid "Secondary Data Fields"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.NET_VOLUME_L
+msgid "Product Net Volume, in liters"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.WIDTH_FT
+msgid "Product Width/Diameter/2nd Dimension, in feet"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PURCHASE_LOCATION_
+msgid "Purchase From Location Code (Global Location Number)"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_1
+msgid "Processor approval (with ISO country code) --1st processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.PROCESSOR_APPROVAL_WITH_COUNTRY_3
+msgid "Processor approval (with ISO country code) --3rd processor"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.COUNTRY_INITIAL_PROCESSING
+msgid "Country or countries of initial processing"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.CONTAINER_LENGTH_IN
+msgid "Container Length/1st Dimension, in inches"
+msgstr ""
+
+#. module: product_gs1_128
+#: model:product.gs1_128,name:product_gs1_128.VOLUME_GALLONS
+msgid "Product Volume (Gallons)"
+msgstr ""
+
+#. module: product_gs1_128
+#: code:addons/product_gs1_128/product_gs1_128.py:0
+#, python-format
+msgid "Could not decode GS1-128 code : unknown Application Identifier at position %d"
+msgstr "Impossible de décoder le code GS1-128 : Identifiant d'Application inconnu à la position %d"
+

=== added file 'product_gs1_128/product_gs1_128.py'
--- product_gs1_128/product_gs1_128.py	1970-01-01 00:00:00 +0000
+++ product_gs1_128/product_gs1_128.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,180 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    This module is copyright (C) 2009 Numérigraphe SARL. All Rights Reserved.
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+"""This file defines a utility class to encode/decode GS1-128 codes
+
+GS1-128 codes (formerly known as UCC-128, EAN 128 or UCC/EAN-128) is a standard
+for encoding item identification and logistics data.
+Physically it is represented as a Code-128 bar-code, but this is not processed
+here.
+Instead we focus on decoding the data contained in this bar-code.
+"""
+
+# Make it easier to divide integers and get floating point results
+from __future__ import division
+
+import re
+import time
+
+import netsvc
+from osv import osv, fields
+from tools.translate import _
+
+class invalid_gs1_128(osv.except_osv):
+    """Indicate an error occurred while decoding a GS1-128 code"""
+    pass
+
+class product_gs1_128(osv.osv):
+    """GS1-128 bar codes decoder configuration"""
+    _name = "product.gs1_128"
+    _description = __doc__
+    _columns = {
+        'ai' : fields.char('Application Identifer', size=14,
+                           help='The standard Application Identifier (AI)',
+                           required=1, select=1),
+        'name': fields.char('Description', size=64, required=True, select=1,
+                            translate=True),
+        'length_fixed': fields.boolean('Fixed-length Data',
+                                       help='Indicates whether the length of the data for this Application Identifier is fixed or not.'),
+        'length_max': fields.integer('Maximum Data Length',
+                                     help='Maximum length of the data for this Application Identifier.', required=1),
+        'length_min': fields.integer('Minimum Data Length',
+                                     help='Minimum length of the data for this Application Identifier.'),
+        'decimal': fields.boolean('Decimal Indicator',
+                                  help='Indicates whether a digit is expected before the data for this Application Identifier to indicate the position of the decimal point.'
+                                  ),
+        'type': fields.selection([ ('string', 'Any character string'),
+                                    ('numeric', 'Numeric value'),
+                                    ('date', 'Date') ],
+                                    'Data Type', required=1),
+    }
+    _defaults = {
+        'length_fixed': lambda * a: True,
+        'length_max': lambda * a: 30,
+        'decimal': lambda * a: False,
+        'type': lambda * a: 'string',
+    }
+    _sql_constraints = [
+        ('ai_uniq', 'unique (ai)', 'The Application Identifier must be unique!'),
+    ]
+    _order = 'ai'
+
+    def decode(self, cr, uid, gs1_128_string, context=None):
+        """
+        Decode a GS1-128 string to dictionary of values with Application
+        Identifiers as keys.
+        Please note that the string MUST contain a <GS> character (group
+        separator, ASCI code 29) after each variable-length value.
+        
+        If the same Application Identifier is present several times in the
+        decoded, only the its last value is returned.
+    
+        @type  gs1_128_string: string
+        @param gs1_128_string: GS1-128 string  to decode (ie. content of a code-128 bar code)
+        @return:               A dictionary of values with Application Identifiers as keys
+        """
+
+        # Prefix and Group Separator
+        user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+        prefix = user.gs1_128_prefix or ''
+        separator = user.gs1_128_separator or '\x1D'
+
+        if not gs1_128_string.startswith(prefix):
+            raise invalid_gs1_128(_('Error decoding GS1-128 code'),
+                                 _('Could not decode GS1-128 code : wrong prefix - the code should start with "%s"') % prefix)
+
+        # We are going to use lots of regular expressions to decode the string,
+        # and they all boil down to the following templates:
+        #  * regular expression template to match the AI code %s, to the group "ai". Must be formated with a string
+        AI = r'(?P<ai>%s)'
+        #  * regular expression template to match a fixed-length value of
+        #    %d characters, to the group called "value".
+        #    Must be formated with an integer.
+        FIXED_LENGTH = r'(?P<value>.{%d})'
+        # * regular expression to match a variable length value ending with
+        #   a <GS> character, to the group called "value".
+        #   Must be formated with a pair of integers.
+        VARIABLE_LENGTH = r'(?P<value>[^' + separator + r']{%d,%d}' + separator + r'?)'
+        #  * regular expression to match the position of the decimal separator
+        #    after the AI code, to the group called "decimal".
+        DECIMAL = r'(?P<decimal>\d)'
+
+        # Make a dictionary of compiled regular expressions to decode the string
+        ai_regexps = {}
+        value_regexps = {}
+        types = {}
+        for config in self.browse(cr, uid,
+                                  self.search(cr, uid, [], context=context),
+                                  context=context):
+            # Compile a regular expression to match the Application Identifier
+            ai = config.ai
+            ai_regexps[ai] = re.compile(AI % ai)
+            # Compile a regular expression to match the data format
+            if config.length_fixed:
+                value_regexp = FIXED_LENGTH % config.length_max
+            else:
+                value_regexp = VARIABLE_LENGTH % (config.length_min,
+                                                  config.length_max)
+            if config.decimal:
+                value_regexp = DECIMAL + value_regexp
+            value_regexps[ai] = re.compile(value_regexp)
+            # remember the data type
+            types[ai] = config.type
+
+        # Now let's decode the string, one Application Identifier at a time
+        results = {}
+        # Start searching from the first character after the prefix
+        position = len(prefix)
+        while position < len(gs1_128_string):
+            # Search for a known Application Identifier
+            for (ai, regexp) in ai_regexps.items():
+                match = regexp.match(gs1_128_string, position)
+                if match:
+                    position += len(match.group('ai'))
+
+                    # We found the Application Identifier, now decode the value
+                    try:
+                        groups = value_regexps[ai].match(gs1_128_string, position).groupdict()
+                    except AttributeError:
+                        raise invalid_gs1_128(_('Error decoding GS1-128 code'),
+                                             _('Could not decode GS1-128 code: incorrect value for Application Identifer "%s" at position %d') % (ai, position))
+
+                    position += len(groups['value'])
+                    results[ai] = groups['value'].replace(separator, '')
+                    if types[ai] == 'numeric':
+                        results[ai] = int(results[ai])
+                        if 'decimal' in groups:
+                        	# Account for the decimal position
+                            results[ai] = results[ai] / (10 ** int(groups['decimal']))
+                            position += len(groups['decimal'])
+                    if types[ai] == 'date':
+                        # Format the date
+                        results[ai] = time.strftime('%Y-%m-%d',
+                                                    time.strptime(results[ai],
+                                                                  '%y%m%d'))
+
+                    # We know we won't match another AI for now, move on
+                    break
+            else:
+                # We couldn't find another valid AI in the rest of the code, give up
+                raise invalid_gs1_128(_('Error decoding GS1-128 code'),
+                                      _('Could not decode GS1-128 code : unknown Application Identifier at position %d') % position)
+
+        return results

=== added file 'product_gs1_128/product_gs1_128_view.xml'
--- product_gs1_128/product_gs1_128_view.xml	1970-01-01 00:00:00 +0000
+++ product_gs1_128/product_gs1_128_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        <!-- views for the configuration of GSA-128 decoding -->
+        <record id="gs1_128_tree_view" model="ir.ui.view">
+            <field name="name">product.gs1_128.tree</field>
+            <field name="model">product.gs1_128</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="GS1-128 decoding configuration">
+                    <field name="ai" />
+                    <field name="name" />
+                </tree>
+            </field>
+        </record>
+        <record id="gs1_128_form_view" model="ir.ui.view">
+            <field name="name">product.gs1_128.form</field>
+            <field name="model">product.gs1_128</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="GS1-128 decoding configuration">
+                    <separator string="Application Identifier" colspan="4" />
+                    <field name="ai" />
+                    <field name="name" colspan="4" />
+                    <separator string="Data Description" colspan="4" />
+                    <field name="type" />
+                    <newline />
+                    <field name="length_fixed" />
+                    <newline />
+                    <field name="length_min" attrs="{'readonly':[('length_fixed','=',True)]}"/>
+                    <field name="length_max" />
+                    <field name="decimal" />
+                </form>
+            </field>
+        </record>
+        <!-- Add a menu entry for the configuration of GSA-128 decoding -->
+        <record id="action_config_gs1_128" model="ir.actions.act_window">
+            <field name="name">GS1-128 and UCC/EAN-128 Decoding</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">product.gs1_128</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+        </record>
+        <menuitem action="action_config_gs1_128" id="menu_config_gs1_128" parent="product.prod_config_main" />
+    </data>
+</openerp>

=== added file 'product_gs1_128/res_users.py'
--- product_gs1_128/res_users.py	1970-01-01 00:00:00 +0000
+++ product_gs1_128/res_users.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,35 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    This module is copyright (C) 2009 Numérigraphe SARL. All Rights Reserved.
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+"""This file customizes the "Users" object"""
+
+from osv import osv, fields
+
+# XXX This would probably be best in res_config_users
+class res_users(osv.osv):
+    """Add the bar code decoding configuration to the user profile"""
+    _inherit = 'res.users'
+
+    _columns = {
+        # XXX those should be properties, not standard fields
+        'gs1_128_prefix': fields.char('GS1-128 Prefix', size=64,help="The prefix that the barcode scanner will send when GS1-128 codes are scanned. No prefix is expected if this fields is left empty"),
+        'gs1_128_separator': fields.char('GS1-128 Group Separator', size=1,
+                                         help="The characters that the barcode scanner will send when a <GS> (Group Separator) is encountered in a GS1-128 code. <GS> is usually found when the data is of variable length. The ASCII character 29 will be used as a default if this field is left empty."),
+    }
+res_users()

=== added file 'product_gs1_128/res_users_view.xml'
--- product_gs1_128/res_users_view.xml	1970-01-01 00:00:00 +0000
+++ product_gs1_128/res_users_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+    <data>
+        <record id="view_users_form_gs1_128" model="ir.ui.view">
+            <field name="name">res.users.form.gs1_128</field>
+            <field name="model">res.users</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="base.view_users_form" />
+            <field name="arch" type="xml">
+                <notebook position="inside">
+                    <page string="GS1-128 Barcodes">
+                        <field name="gs1_128_prefix" />
+                        <field name="gs1_128_separator" />
+                    </page>
+                </notebook>
+            </field>
+        </record>
+    </data>
+</openerp>
\ No newline at end of file

=== added directory 'product_gs1_128/security'
=== added file 'product_gs1_128/security/ir.model.access.csv'
--- product_gs1_128/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_gs1_128/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,2 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+"access_product_gs1_128_manager","product.gs1_128 manager","model_product_gs1_128","base.group_user",1,1,1,1

=== added directory 'product_gtin'
=== added file 'product_gtin/__init__.py'
--- product_gtin/__init__.py	1970-01-01 00:00:00 +0000
+++ product_gtin/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,31 @@
+##############################################################################
+#
+# Copyright (c) 2004 TINY SPRL. (http://tiny.be) All Rights Reserved.
+#                    Fabien Pinckaers <fp@xxxxxxx>
+# Copyright (c) 2008 ChriCar Beteilugungs- und Beratungs- GmbH All Rights Reserved.
+#                    Ferdinand Gassauer <tiny@xxxxxxxxxx>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+import product_gtin
\ No newline at end of file

=== added file 'product_gtin/__terp__.py'
--- product_gtin/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_gtin/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,17 @@
+{
+    "name" : "Invalid - Please use chricar_product_gtin instead Product GTIN EAN UPC JPC Support",
+    "version" : "1.0",
+    "author" : "ChriCar Beteiligungs- und Beratungs- GmbH",
+    "website" : "http://www.chricar.at/ChriCar";,
+    "category" : "Generic Modules/Others",
+    "depends" : ["product"],
+    "description" : """
+Replaces the EAN13 code completion with a checkroutine for EAN13, EAN8, UPC and GTIN.
+It allows to support different types of barcodes systems.
+    """,
+    "init_xml" : [],
+    "demo_xml" : [],
+    "update_xml" : [],
+    "active": False,
+    "installable": True
+}

=== added directory 'product_gtin/i18n'
=== added file 'product_gtin/i18n/fr_BE.po'
--- product_gtin/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_gtin/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,30 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_gtin
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:29:40+0000\n"
+"PO-Revision-Date: 2009-11-25 13:29:40+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_gtin
+#: model:ir.module.module,description:product_gtin.module_meta_information
+msgid "\n"
+"Replaces the EAN13 code completion with a checkroutine for EAN13, EAN8, UPC and GTIN.\n"
+"It allows to support different types of barcodes systems.\n"
+"    "
+msgstr ""
+
+#. module: product_gtin
+#: model:ir.module.module,shortdesc:product_gtin.module_meta_information
+msgid "Product GTIN EAN UPC JPC Support"
+msgstr ""
+

=== added file 'product_gtin/i18n/product_gtin.pot'
--- product_gtin/i18n/product_gtin.pot	1970-01-01 00:00:00 +0000
+++ product_gtin/i18n/product_gtin.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,30 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_gtin
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:29:40+0000\n"
+"PO-Revision-Date: 2009-11-25 13:29:40+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_gtin
+#: model:ir.module.module,description:product_gtin.module_meta_information
+msgid "\n"
+"Replaces the EAN13 code completion with a checkroutine for EAN13, EAN8, UPC and GTIN.\n"
+"It allows to support different types of barcodes systems.\n"
+"    "
+msgstr ""
+
+#. module: product_gtin
+#: model:ir.module.module,shortdesc:product_gtin.module_meta_information
+msgid "Product GTIN EAN UPC JPC Support"
+msgstr ""
+

=== added file 'product_gtin/i18n/sv.po'
--- product_gtin/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_gtin/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,36 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_gtin
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:29+0000\n"
+"PO-Revision-Date: 2010-11-23 01:37+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_gtin
+#: model:ir.module.module,description:product_gtin.module_meta_information
+msgid ""
+"\n"
+"Replaces the EAN13 code completion with a checkroutine for EAN13, EAN8, UPC "
+"and GTIN.\n"
+"It allows to support different types of barcodes systems.\n"
+"    "
+msgstr ""
+"\n"
+"Ersätter EAN13-koden med en kontrollrutin för EAN13, EAN8, UPC och GTIN.\n"
+"den tillåter användning av flera typer av streckkodsystem.\n"
+"    "
+
+#. module: product_gtin
+#: model:ir.module.module,shortdesc:product_gtin.module_meta_information
+msgid "Product GTIN EAN UPC JPC Support"
+msgstr "Product GTIN EAN UPC JPC Support"

=== added file 'product_gtin/product_gtin.py'
--- product_gtin/product_gtin.py	1970-01-01 00:00:00 +0000
+++ product_gtin/product_gtin.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,105 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2004-2006 TINY SPRL. (http://tiny.be) All Rights Reserved.
+#
+# $Id: account.py 1005 2005-07-25 08:41:42Z nicoe $
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+
+import netsvc
+from osv import fields, osv
+#import pooler
+#import wizard
+import math
+#from _common import rounding
+
+#import product 
+    
+# need to replace the check_ean_key function 
+class product_product(osv.osv):
+    _inherit = "product.product"
+    _name = "product.product"
+    _columns = {
+        'ean13':    fields.char('EAN UPC JPC GTIN', size=14),
+    }
+    def _check_ean_key(self, cr, uid, ids):
+        def is_pair(x):
+            return not x%2
+        for product in self.browse(cr, uid, ids):
+                        if not product.ean13:
+                                continue
+                        if not len(product.ean13) in [8,12,13,14]:
+                                return False
+                        try:
+                                int(product.ean13)
+                        except:
+                                return False
+                        sum=0
+                        ean_len=len(product.ean13)
+                        for i in range(ean_len-1):
+                                pos=int(ean_len-2-i)
+                                if is_pair(i):
+                                        sum += 3 * int(product.ean13[pos])
+                                else:
+                                        sum += int(product.ean13[pos])
+                        check = int(math.ceil(sum / 10.0) * 10 - sum)
+                        if check != int(product.ean13[ean_len-1]): # last digit
+                                return False
+        return True
+    _constraints = [(_check_ean_key, 'Error: Invalid EAN,UPC,JPC,GTIN code', ['ean13'])]
+product_product()
+
+class res_partner(osv.osv):
+    _inherit = "res.partner"
+    def _check_ean_key(self, cr, uid, ids):
+        def is_pair(x):
+            return not x%2
+        for partner in self.browse(cr, uid, ids):
+                        if not partner.ean13:
+                                continue
+                        if not len(partner.ean13) in [8,12,13,14]:
+                                return False
+                        try:
+                                int(partner.ean13)
+                        except:
+                                return False
+                        sum=0
+                        ean_len=len(partner.ean13)
+                        for i in range(ean_len-1):
+                                pos=int(ean_len-2-i)
+                                if is_pair(i):
+                                        sum += 3 * int(partner.ean13[pos])
+                                else:
+                                        sum += int(partner.ean13[pos])
+                        check = int(math.ceil(sum / 10.0) * 10 - sum)
+                        if check != int(partner.ean13[ean_len-1]): # last digit
+                                return False
+        return True
+
+    _constraints = [(_check_ean_key, 'Error: Invalid EAN,UPC,JPC,GTIN code', ['ean13'])]
+
+res_partner()
+

=== added directory 'product_icecat'
=== added file 'product_icecat/__init__.py'
--- product_icecat/__init__.py	1970-01-01 00:00:00 +0000
+++ product_icecat/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution	
+#    Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
+#    $Id$
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+import product_icecat
+import wizard

=== added file 'product_icecat/__openerp__.py'
--- product_icecat/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_icecat/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+{
+    "name" : "Product Information Import from icecat",
+    "version" : "1.0",
+    "author" : "Zikzakmedia",
+    "website" : "http://www.zikzakmedia.com";,
+    "category" : "Added functionality",
+    "depends" : ["base","product","product_images_olbs"],
+    "init_xml" : [],
+    "demo_xml" : [],
+    "description": """
+    Import information XML from icecat to OpenERP products.
+    This wizard download XML in openerp-server (addons/product_icecat/xml) and after process data mapping line to product import.
+    - Language import: User preference or force into wizard (option)
+    - HTML Category option: create list details
+    - FTP image
+    http://www.icecat.biz/
+    """,
+    'update_xml': [
+        'security/ir.model.access.csv',
+        'product_icecat.xml',
+        'wizard/wizard_product_icecat.xml',
+    ],
+    'test':[''],
+    'installable': True,
+    'active': False,
+}

=== added directory 'product_icecat/i18n'
=== added file 'product_icecat/i18n/ca.po'
--- product_icecat/i18n/ca.po	1970-01-01 00:00:00 +0000
+++ product_icecat/i18n/ca.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,333 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# 	* product_icecat
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-20 08:03+0000\n"
+"PO-Revision-Date: 2011-02-15 18:37+0000\n"
+"Last-Translator: Raimon Esteve (www.zikzakmedia.com) "
+"<resteve@xxxxxxxxxxxxxxx>\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: 2012-11-16 04:45+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_icecat
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"El nom de l'objecte ha de començar amb x_ i no ha de contenir cap caràcter "
+"especial!"
+
+#. module: product_icecat
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nom de model no correcte en la definició de l'acció"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:159
+#, python-format
+msgid "No"
+msgstr "No"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:72
+#, python-format
+msgid "Ok !"
+msgstr "Ok !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description_sale:0
+msgid "Description Śale"
+msgstr "Descripció de venta"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,state:0
+msgid "State"
+msgstr "Estat"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:96
+#, python-format
+msgid ""
+"They are other icecat configuration with \"Active\" field checked. Only one "
+"configuration is avaible for active field."
+msgstr ""
+"Hi ha una altra configuració amb l'estat \"Actiu\" activat. Només una "
+"configuració pot tenir aquest estat activat."
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "icecat"
+msgstr "icecat"
+
+#. module: product_icecat
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Error ! No pot crear un menú recursiu."
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Are you sure to import from icecat values to product?"
+msgstr "Esteu segurs de importar la informació de icecat al producte?"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_wizard
+msgid "product.icecat.wizard"
+msgstr "product.icecat.wizard"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:378
+#, python-format
+msgid "EAN not avaible"
+msgstr "EAN no disponible"
+
+#. module: product_icecat
+#: field:product.icecat,name:0
+#: field:product.icecat.wizard,name:0
+msgid "Name"
+msgstr "Nom"
+
+#. module: product_icecat
+#: field:product.icecat,ftpusername:0
+msgid "Username"
+msgstr "Usuari"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,html:0
+msgid "HTML Code"
+msgstr "Codi HTML"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:65
+#: code:addons/product_icecat/product_icecat.py:69
+#, python-format
+msgid "Error !"
+msgstr "Error !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description:0
+msgid "Description"
+msgstr "Descripció"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:69
+#, python-format
+msgid "Username/password FTP connection was not successfully!"
+msgstr "Usuari/password de FTP no son vàlids!"
+
+#. module: product_icecat
+#: field:product.icecat,username:0
+msgid "User Name"
+msgstr "Usuari"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:72
+#, python-format
+msgid "FTP connection was successfully!"
+msgstr "Connexió FTP s'ha realitzat correctament!"
+
+#. module: product_icecat
+#: help:product.icecat,ftpdirectory:0
+msgid ""
+"If not use directory, insert . (point). If use directory, path FTP dir"
+msgstr ""
+"Si no utilitza cap directori, insereix . (punt). Si utilitza un directori, "
+"introdueix la ruta dels directori de les imatges"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,field_id:0
+msgid "OpenERP Field"
+msgstr "Camp d'OpenERP"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.act_product_icecat
+msgid "Import Icecat"
+msgstr "Importar Icecat"
+
+#. module: product_icecat
+#: field:product.icecat,active:0
+#: field:product.icecat,ftp:0
+msgid "Active"
+msgstr "Actiu"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:267
+#, python-format
+msgid "Product %s XML Import successfully"
+msgstr "La importació del XML del producte %s s'ha realitzat correctament"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "First"
+msgstr "Primer"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Icecat to OpenERP fields"
+msgstr "Camps de Icecat a OpenERP"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,result:0
+msgid "Result"
+msgstr "Resultat"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "FTP"
+msgstr "FTP"
+
+#. module: product_icecat
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Invàlid XML per la vista de l'arquitectura!"
+
+#. module: product_icecat
+#: field:product.icecat,mapline_ids:0
+msgid "Mapline"
+msgstr "Mapeig"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_mapline
+msgid "Icecat Mapline Configuration"
+msgstr "Configuració mapeig Icecat"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,language_id:0
+msgid "Language"
+msgstr "Llengua"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:316
+#, python-format
+msgid "Not exist %s image"
+msgstr "Not exist %s image"
+
+#. module: product_icecat
+#: field:product.icecat,ftpurl:0
+msgid "URL"
+msgstr "URL"
+
+#. module: product_icecat
+#: field:product.icecat,ftpip:0
+msgid "IP"
+msgstr "IP"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "update"
+msgstr "actualitzar"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:96
+#, python-format
+msgid "Error!"
+msgstr "Error!"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:65
+#, python-format
+msgid "IP FTP connection was not successfully!"
+msgstr "La connexió FTP per la IP no s'ha pogut realitzar!"
+
+#. module: product_icecat
+#: field:product.icecat,ftpdirectory:0
+msgid "Directory"
+msgstr "Directori"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,name:0
+msgid "XML Field"
+msgstr "Camp XML"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.action_product_icecat
+#: model:ir.ui.menu,name:product_icecat.product_icecat
+msgid "Icecat Configuration"
+msgstr "Configuració Icecat"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,model_id:0
+msgid "OpenERP Model"
+msgstr "Model OpenERP"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:373
+#, python-format
+msgid "Import image not avaible"
+msgstr "La importació de les imatges no es troba disponible"
+
+#. module: product_icecat
+#: field:product.icecat,ftppassword:0
+#: field:product.icecat,password:0
+msgid "Password"
+msgstr "Password"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,image:0
+#: field:product.icecat.wizard,resimg:0
+msgid "Image"
+msgstr "Imatge"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Maping Lines"
+msgstr "Línies de mapeig"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Import icecat XML"
+msgstr "Importar icecat XML"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Check FTP"
+msgstr "Comprova FTP"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "Done"
+msgstr "Realitzat"
+
+#. module: product_icecat
+#: view:product.icecat:0
+#: field:product.icecat.mapline,icecat_id:0
+msgid "Icecat"
+msgstr "Icecat"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Cancel"
+msgstr "Cancel·lar"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Close"
+msgstr "Tancar"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:157
+#, python-format
+msgid "Yes"
+msgstr "Si"
+
+#. module: product_icecat
+#: help:product.icecat,ftpurl:0
+msgid "URL FTP Dir: http://domain/directory/";
+msgstr "URL FTP Dir: http://domain/directory/";
+
+#. module: product_icecat
+#: sql_constraint:ir.model.fields:0
+msgid "Size of the field can never be less than 1 !"
+msgstr "La grandaria del camp no pot ser menys petit de 1!"
+
+#. module: product_icecat
+#: help:product.icecat.mapline,name:0
+msgid "Insert ID Category from Icecat"
+msgstr "Insereix ID de la categoria de icecat"

=== added file 'product_icecat/i18n/es.po'
--- product_icecat/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_icecat/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,333 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+# 	* product_icecat
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-20 08:03+0000\n"
+"PO-Revision-Date: 2011-02-15 18:38+0000\n"
+"Last-Translator: Raimon Esteve (www.zikzakmedia.com) "
+"<resteve@xxxxxxxxxxxxxxx>\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: 2012-11-16 04:45+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_icecat
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"El nombre del objecto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: product_icecat
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre del modelo inválido en la definición de la acción."
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:159
+#, python-format
+msgid "No"
+msgstr "No"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:72
+#, python-format
+msgid "Ok !"
+msgstr "Ok !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description_sale:0
+msgid "Description Śale"
+msgstr "Descripción de venta"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:96
+#, python-format
+msgid ""
+"They are other icecat configuration with \"Active\" field checked. Only one "
+"configuration is avaible for active field."
+msgstr ""
+"Hay otra configuración de icecat como \"Activo\". Sólo una configuración "
+"puede contener este campo activo."
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "icecat"
+msgstr "icecat"
+
+#. module: product_icecat
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Error ! No puede crear un menú recursivo."
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Are you sure to import from icecat values to product?"
+msgstr "Está seguro de importar el catálogo de icecat a los productos?"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_wizard
+msgid "product.icecat.wizard"
+msgstr "product.icecat.wizard"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:378
+#, python-format
+msgid "EAN not avaible"
+msgstr "EAN no disponible"
+
+#. module: product_icecat
+#: field:product.icecat,name:0
+#: field:product.icecat.wizard,name:0
+msgid "Name"
+msgstr "Nombre"
+
+#. module: product_icecat
+#: field:product.icecat,ftpusername:0
+msgid "Username"
+msgstr "Usuario"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,html:0
+msgid "HTML Code"
+msgstr "Código HTML"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:65
+#: code:addons/product_icecat/product_icecat.py:69
+#, python-format
+msgid "Error !"
+msgstr "Error !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description:0
+msgid "Description"
+msgstr "Descripción"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:69
+#, python-format
+msgid "Username/password FTP connection was not successfully!"
+msgstr "El usuario/password de la conexión FTP no se ha podido realizar!"
+
+#. module: product_icecat
+#: field:product.icecat,username:0
+msgid "User Name"
+msgstr "Usuario"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:72
+#, python-format
+msgid "FTP connection was successfully!"
+msgstr "La conexión FTP se ha realizado correctamente!"
+
+#. module: product_icecat
+#: help:product.icecat,ftpdirectory:0
+msgid ""
+"If not use directory, insert . (point). If use directory, path FTP dir"
+msgstr ""
+"Si no utiliza ningún directorio, inserte un . (punto). Si utiliza un "
+"directorio, la ruta del directorio"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,field_id:0
+msgid "OpenERP Field"
+msgstr "Campo OpenERP"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.act_product_icecat
+msgid "Import Icecat"
+msgstr "Importar Icecat"
+
+#. module: product_icecat
+#: field:product.icecat,active:0
+#: field:product.icecat,ftp:0
+msgid "Active"
+msgstr "Activo"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:267
+#, python-format
+msgid "Product %s XML Import successfully"
+msgstr "La importación del XML del producto %s se ha realizado correctamente"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "First"
+msgstr "Primero"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Icecat to OpenERP fields"
+msgstr "Campos de Icecat a OpenERP"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,result:0
+msgid "Result"
+msgstr "Resultado"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "FTP"
+msgstr "FTP"
+
+#. module: product_icecat
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML inválido para la vista de arquitectura!"
+
+#. module: product_icecat
+#: field:product.icecat,mapline_ids:0
+msgid "Mapline"
+msgstr "Líneas de mapeo"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_mapline
+msgid "Icecat Mapline Configuration"
+msgstr "Configuración líneas de mapeo Icecat"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,language_id:0
+msgid "Language"
+msgstr "Lengua"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:316
+#, python-format
+msgid "Not exist %s image"
+msgstr "Not exist %s image"
+
+#. module: product_icecat
+#: field:product.icecat,ftpurl:0
+msgid "URL"
+msgstr "URL"
+
+#. module: product_icecat
+#: field:product.icecat,ftpip:0
+msgid "IP"
+msgstr "IP"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "update"
+msgstr "actualizar"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:96
+#, python-format
+msgid "Error!"
+msgstr "Error!"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:65
+#, python-format
+msgid "IP FTP connection was not successfully!"
+msgstr "No se ha podido conectar con FTP con la IP especificada!"
+
+#. module: product_icecat
+#: field:product.icecat,ftpdirectory:0
+msgid "Directory"
+msgstr "Directorio"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,name:0
+msgid "XML Field"
+msgstr "Campo XML"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.action_product_icecat
+#: model:ir.ui.menu,name:product_icecat.product_icecat
+msgid "Icecat Configuration"
+msgstr "Configuración Icecat"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,model_id:0
+msgid "OpenERP Model"
+msgstr "Modelo OpenERP"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:373
+#, python-format
+msgid "Import image not avaible"
+msgstr "La importación de la imagen no está disponible"
+
+#. module: product_icecat
+#: field:product.icecat,ftppassword:0
+#: field:product.icecat,password:0
+msgid "Password"
+msgstr "Password"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,image:0
+#: field:product.icecat.wizard,resimg:0
+msgid "Image"
+msgstr "Imagen"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Maping Lines"
+msgstr "Líneas de mapeo"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Import icecat XML"
+msgstr "Importación XML icecat"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Check FTP"
+msgstr "Comprobar FTP"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "Done"
+msgstr "Realizado"
+
+#. module: product_icecat
+#: view:product.icecat:0
+#: field:product.icecat.mapline,icecat_id:0
+msgid "Icecat"
+msgstr "Icecat"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Close"
+msgstr "Cerrar"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:157
+#, python-format
+msgid "Yes"
+msgstr "Si"
+
+#. module: product_icecat
+#: help:product.icecat,ftpurl:0
+msgid "URL FTP Dir: http://domain/directory/";
+msgstr "URL FTP Dir: http://domain/directory/";
+
+#. module: product_icecat
+#: sql_constraint:ir.model.fields:0
+msgid "Size of the field can never be less than 1 !"
+msgstr "El tamaño del campo no puede ser inferior a 1!"
+
+#. module: product_icecat
+#: help:product.icecat.mapline,name:0
+msgid "Insert ID Category from Icecat"
+msgstr "Inserte el ID de la categoría de Icecat"

=== added file 'product_icecat/i18n/product_icecat.pot'
--- product_icecat/i18n/product_icecat.pot	1970-01-01 00:00:00 +0000
+++ product_icecat/i18n/product_icecat.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,322 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_icecat
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-20 08:03:10+0000\n"
+"PO-Revision-Date: 2010-12-20 08:03:10+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_icecat
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr "The Object name must start with x_ and not contain any special character !"
+
+#. module: product_icecat
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Invalid model name in the action definition."
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "No"
+msgstr "No"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "Ok !"
+msgstr "Ok !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description_sale:0
+msgid "Description Śale"
+msgstr "Description Śale"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,state:0
+msgid "State"
+msgstr "State"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "They are other icecat configuration with \"Active\" field checked. Only one configuration is avaible for active field."
+msgstr "They are other icecat configuration with \"Active\" field checked. Only one configuration is avaible for active field."
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "icecat"
+msgstr "icecat"
+
+#. module: product_icecat
+#: constraint:ir.ui.menu:0
+msgid "Error ! You can not create recursive Menu."
+msgstr "Error ! You can not create recursive Menu."
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Are you sure to import from icecat values to product?"
+msgstr "Are you sure to import from icecat values to product?"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_wizard
+msgid "product.icecat.wizard"
+msgstr "product.icecat.wizard"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "EAN not avaible"
+msgstr "EAN not avaible"
+
+#. module: product_icecat
+#: field:product.icecat,name:0
+#: field:product.icecat.wizard,name:0
+msgid "Name"
+msgstr "Name"
+
+#. module: product_icecat
+#: field:product.icecat,ftpusername:0
+msgid "Username"
+msgstr "Username"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,html:0
+msgid "HTML Code"
+msgstr "HTML Code"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "Error !"
+msgstr "Error !"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,description:0
+msgid "Description"
+msgstr "Description"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "Username/password FTP connection was not successfully!"
+msgstr "Username/password FTP connection was not successfully!"
+
+#. module: product_icecat
+#: field:product.icecat,username:0
+msgid "User Name"
+msgstr "User Name"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "FTP connection was successfully!"
+msgstr "FTP connection was successfully!"
+
+#. module: product_icecat
+#: help:product.icecat,ftpdirectory:0
+msgid "If not use directory, insert . (point). If use directory, path FTP dir"
+msgstr "If not use directory, insert . (point). If use directory, path FTP dir"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,field_id:0
+msgid "OpenERP Field"
+msgstr "OpenERP Field"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.act_product_icecat
+msgid "Import Icecat"
+msgstr "Import Icecat"
+
+#. module: product_icecat
+#: field:product.icecat,active:0
+#: field:product.icecat,ftp:0
+msgid "Active"
+msgstr "Active"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "Product %s XML Import successfully"
+msgstr "Product %s XML Import successfully"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "First"
+msgstr "First"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Icecat to OpenERP fields"
+msgstr "Icecat to OpenERP fields"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,result:0
+msgid "Result"
+msgstr "Result"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "FTP"
+msgstr "FTP"
+
+#. module: product_icecat
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "Invalid XML for View Architecture!"
+
+#. module: product_icecat
+#: field:product.icecat,mapline_ids:0
+msgid "Mapline"
+msgstr "Mapline"
+
+#. module: product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat_mapline
+msgid "Icecat Mapline Configuration"
+msgstr "Icecat Mapline Configuration"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,language_id:0
+msgid "Language"
+msgstr "Language"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "Not exist %s image"
+msgstr "Not exist %s image"
+
+#. module: product_icecat
+#: field:product.icecat,ftpurl:0
+msgid "URL"
+msgstr "URL"
+
+#. module: product_icecat
+#: field:product.icecat,ftpip:0
+msgid "IP"
+msgstr "IP"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "update"
+msgstr "update"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "Error!"
+msgstr "Error!"
+
+#. module: product_icecat
+#: code:addons/product_icecat/product_icecat.py:0
+#, python-format
+msgid "IP FTP connection was not successfully!"
+msgstr "IP FTP connection was not successfully!"
+
+#. module: product_icecat
+#: field:product.icecat,ftpdirectory:0
+msgid "Directory"
+msgstr "Directory"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,name:0
+msgid "XML Field"
+msgstr "XML Field"
+
+#. module: product_icecat
+#: model:ir.actions.act_window,name:product_icecat.action_product_icecat
+#: model:ir.model,name:product_icecat.model_product_icecat
+#: model:ir.ui.menu,name:product_icecat.product_icecat
+msgid "Icecat Configuration"
+msgstr "Icecat Configuration"
+
+#. module: product_icecat
+#: field:product.icecat.mapline,model_id:0
+msgid "OpenERP Model"
+msgstr "OpenERP Model"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "Import image not avaible"
+msgstr "Import image not avaible"
+
+#. module: product_icecat
+#: field:product.icecat,ftppassword:0
+#: field:product.icecat,password:0
+msgid "Password"
+msgstr "Password"
+
+#. module: product_icecat
+#: field:product.icecat.wizard,image:0
+#: field:product.icecat.wizard,resimg:0
+msgid "Image"
+msgstr "Image"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Maping Lines"
+msgstr "Maping Lines"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Import icecat XML"
+msgstr "Import icecat XML"
+
+#. module: product_icecat
+#: view:product.icecat:0
+msgid "Check FTP"
+msgstr "Check FTP"
+
+#. module: product_icecat
+#: selection:product.icecat.wizard,state:0
+msgid "Done"
+msgstr "Done"
+
+#. module: product_icecat
+#: view:product.icecat:0
+#: field:product.icecat.mapline,icecat_id:0
+msgid "Icecat"
+msgstr "Icecat"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Cancel"
+msgstr "Cancel"
+
+#. module: product_icecat
+#: view:product.icecat.wizard:0
+msgid "Close"
+msgstr "Close"
+
+#. module: product_icecat
+#: code:addons/product_icecat/wizard/wizard_product_icecat.py:0
+#, python-format
+msgid "Yes"
+msgstr "Yes"
+
+#. module: product_icecat
+#: help:product.icecat,ftpurl:0
+msgid "URL FTP Dir: http://domain/directory/";
+msgstr "URL FTP Dir: http://domain/directory/";
+
+#. module: product_icecat
+#: sql_constraint:ir.model.fields:0
+msgid "Size of the field can never be less than 1 !"
+msgstr "Size of the field can never be less than 1 !"
+
+#. module: product_icecat
+#: help:product.icecat.mapline,name:0
+msgid "Insert ID Category from Icecat"
+msgstr "Insert ID Category from Icecat"
+

=== added directory 'product_icecat/icecat'
=== added file 'product_icecat/product_icecat.py'
--- product_icecat/product_icecat.py	1970-01-01 00:00:00 +0000
+++ product_icecat/product_icecat.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,100 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import osv, fields
+from tools.translate import _
+import netsvc
+
+from ftplib import FTP
+import os
+
+class product_icecat(osv.osv):
+    _name = "product.icecat"
+
+product_icecat()
+
+class product_icecat_mapline(osv.osv):
+    _name = "product.icecat.mapline"
+    _description = "Icecat Mapline Configuration"
+
+    _columns = {
+        'name': fields.char('XML Field', size=32, required=True, help='Insert ID Category from Icecat'),
+        'model_id': fields.many2one('ir.model','OpenERP Model'),
+        'field_id': fields.many2one('ir.model.fields','OpenERP Field', required=True),
+        'icecat_id': fields.many2one('product.icecat','Icecat'),
+    }
+
+    _defaults = {
+        'model_id': lambda self, cr, uid, c: self.pool.get('ir.model').search(cr, uid, [('model', '=', 'product.product')])[0],
+    }
+
+product_icecat_mapline()
+
+class product_icecat(osv.osv):
+    _name = "product.icecat"
+    _description = "Icecat Configuration"
+
+    def check_ftp(self, cr, uid, ids, context):
+        if context is None:
+            context = {}
+
+        for id in ids:
+            icecat = self.browse(cr, uid, id)
+
+            try: ftp = FTP(icecat.ftpip)
+            except:
+                raise osv.except_osv(_('Error !'), _("IP FTP connection was not successfully!"))
+
+            try: ftp.login(icecat.ftpusername, icecat.ftppassword)
+            except:
+                raise osv.except_osv(_('Error !'), _("Username/password FTP connection was not successfully!"))
+
+            ftp.quit()
+            raise osv.except_osv(_('Ok !'), _("FTP connection was successfully!"))
+
+    _columns = {
+        'name': fields.char('Name', size=32, required=True),
+        'username': fields.char('User Name', size=32, required=True),
+        'password': fields.char('Password', size=32, required=True),
+        'active': fields.boolean('Active'),
+        'mapline_ids': fields.one2many('product.icecat.mapline','icecat_id','Mapline'),
+        'ftp': fields.boolean('Active'),
+        'ftpip': fields.char('IP', size=256),
+        'ftpdirectory': fields.char('Directory', size=256, help='If not use directory, insert . (point). If use directory, path FTP dir'),
+        'ftpusername': fields.char('Username', size=32),
+        'ftppassword': fields.char('Password', size=32),
+        'ftpurl': fields.char('URL', size=256, help='URL FTP Dir: http://domain/directory/'),
+    }
+
+    _defaults = {
+        'active': lambda *a: 1,
+    }
+
+    def create(self, cr, uid, vals, context={}):
+        if vals.get('active',False):
+            actv_ids =  self.search(cr, uid, [('active','=',True)])
+            if len(actv_ids):
+                raise osv.except_osv(_('Error!'), _('They are other icecat configuration with "Active" field checked. Only one configuration is avaible for active field.'))
+        return super(product_icecat, self).create(cr, uid, vals, context)
+
+product_icecat()
+
+

=== added file 'product_icecat/product_icecat.xml'
--- product_icecat/product_icecat.xml	1970-01-01 00:00:00 +0000
+++ product_icecat/product_icecat.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+    <!-- Configuration -->
+    <record model="ir.ui.view" id="product_icecat_tree">
+        <field name="name">product.icecat.tree</field>
+        <field name="model">product.icecat</field>
+        <field name="type">tree</field>
+        <field name="priority" eval="8"/>
+        <field name="arch" type="xml">
+        <tree string="icecat">
+            <field name="name"/>
+            <field name="username"/>
+            <field name="active"/>
+        </tree>
+        </field>
+    </record>
+
+    <record model="ir.ui.view" id="product_icecat_form">
+        <field name="name">product.icecat.form</field>
+        <field name="model">product.icecat</field>
+        <field name="type">form</field>
+        <field name="priority" eval="8"/>
+        <field name="arch" type="xml">
+        <form string="icecat">
+            <field name="name" />
+            <field name="active" />
+		    <notebook colspan="4">
+			    <page string="Icecat">
+                    <field name="username" />
+                    <field name="password" />
+                </page>
+			    <page string="FTP">
+                    <field name="ftp" /><newline />
+                    <field name="ftpip" attrs="{'required':[('ftp','=',True)]}" />
+                    <field name="ftpdirectory" attrs="{'required':[('ftp','=',True)]}" />
+                    <field name="ftpusername" attrs="{'required':[('ftp','=',True)]}" />
+                    <field name="ftppassword" attrs="{'required':[('ftp','=',True)]}" />
+                    <field name="ftpurl" attrs="{'required':[('ftp','=',True)]}" />
+				    <button name="check_ftp" string="Check FTP" colspan="4" type="object" />
+                </page>
+            </notebook>
+            <separator string="Icecat to OpenERP fields" colspan="4" />
+<!--            <label string="Configure your mapping values from icecat to OpenERP (only category icecat)" colspan="4"/>-->
+            <field name="mapline_ids" nolabel="1" colspan="4" mode="tree,form" height="260">
+                <tree string="Maping Lines">
+                    <field name="name"/>
+                    <field name="field_id"/>
+                </tree>
+                <form string="Maping Lines">
+                    <field name="name"/>
+                    <field name="model_id" invisible="1"/>
+                    <field name="field_id" domain="[('model_id', '=', model_id)]"/>
+                </form>
+            </field>
+        </form>
+        </field>
+    </record>
+
+    <record model="ir.actions.act_window" id="action_product_icecat">
+        <field name="name">Icecat Configuration</field>
+        <field name="res_model">product.icecat</field>
+        <field name="view_mode">tree,form</field>
+    </record>
+
+    <menuitem id="product_icecat" name="Icecat Configuration" parent="product.prod_config_main" action="action_product_icecat"/>
+</data>
+</openerp>

=== added directory 'product_icecat/security'
=== added file 'product_icecat/security/ir.model.access.csv'
--- product_icecat/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_icecat/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_product_icecat","product_icecat","model_product_icecat","base.group_sale_manager",1,1,1,1
+"access_product_icecat_mapline","product_icecat_mapline","model_product_icecat_mapline","base.group_sale_manager",1,1,1,1

=== added directory 'product_icecat/wizard'
=== added file 'product_icecat/wizard/__init__.py'
--- product_icecat/wizard/__init__.py	1970-01-01 00:00:00 +0000
+++ product_icecat/wizard/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+# -*- encoding: utf-8 -*-
+############################################################################################
+#
+#    OpenERP, Open Source Management Solution	
+#    Copyright (C) 2010 Zikzakmedia S.L. (<http://www.zikzakmedia.com>). All Rights Reserved
+#    $Id$
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+############################################################################################
+
+import wizard_product_icecat

=== added file 'product_icecat/wizard/wizard_product_icecat.py'
--- product_icecat/wizard/wizard_product_icecat.py	1970-01-01 00:00:00 +0000
+++ product_icecat/wizard/wizard_product_icecat.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,342 @@
+# -*- encoding: utf-8 -*-
+############################################################################################
+#
+#    OpenERP, Open Source Management Solution	
+#    Copyright (C) 2010 Zikzakmedia S.L. (<http://www.zikzakmedia.com>). All Rights Reserved
+#    $Id$
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+############################################################################################
+
+from osv import fields,osv
+from tools.translate import _
+
+import os
+import re
+import cgi
+import libxml2
+import urllib
+import urllib2
+from urllib2 import Request, urlopen, URLError, HTTPError
+from ftplib import FTP
+
+class product_icecat_wizard(osv.osv_memory):
+    _name = 'product.icecat.wizard'
+
+    _columns = {
+        'name':fields.boolean('Name'),
+        'description':fields.boolean('Description'),
+        'description_sale':fields.boolean('Description Śale'),
+        'language_id': fields.many2one('res.lang','Language'),
+        'image':fields.boolean('Image'),
+        'html':fields.boolean('HTML Code'),
+        'result': fields.text('Result', readonly=True),
+        'resimg': fields.text('Image', readonly=True),
+        'state':fields.selection([
+            ('first','First'),
+            ('done','Done'),
+        ],'State'),
+    }
+
+    _defaults = {
+        'state': lambda *a: 'first',
+        'name': lambda *a: 1,
+        'description': lambda *a: 1,
+        'description_sale': lambda *a: 1,
+        'html': lambda *a: 1,
+    }
+
+    # ==========================================
+    # save XML file into product_icecat/xml dir
+    # ==========================================
+    def save_file(self, name, value):
+        path = os.path.abspath( os.path.dirname(__file__) )
+        path += '/icecat/%s' % name
+        path = re.sub('wizard/', '', path)
+        f = open( path, 'w' )
+        try:
+            f.write(value)
+        finally:
+            f.close()
+        return path
+
+    # ==========================================
+    # Convert HTML to text
+    # ==========================================
+    def StripTags(self, text): 
+         finished = 0 
+         while not finished: 
+             finished = 1 
+             start = text.find("<") 
+             if start >= 0: 
+                 stop = text[start:].find(">") 
+                 if stop >= 0: 
+                     text = text[:start] + text[start+stop+1:] 
+                     finished = 0 
+         return text
+
+    # ==========================================
+    # Convert icecat values to OpenERP mapline
+    # ==========================================
+    def icecat2oerp(self, cr, uid, form, product, icecat, pathxml, language, data, context):
+
+        if form.language_id.code:
+            language = form.language_id.code
+
+        doc = libxml2.parseFile(pathxml)
+
+        for prod in doc.xpathEval('//Product'):
+            if prod.xpathEval('@ErrorMessage'):
+                if prod.xpathEval('@ErrorMessage')[0].content:
+                    return prod.xpathEval('@ErrorMessage')[0].content
+                    exit
+
+        # product info
+        short_summary = doc.xpathEval('//SummaryDescription//ShortSummaryDescription')
+        long_summary = doc.xpathEval('//SummaryDescription//LongSummaryDescription')
+
+        short_description = short_summary[0].content
+        description = long_summary[0].content
+        name = description.split('.')[0]
+
+        for prod in doc.xpathEval('//ProductDescription'):
+            if prod.xpathEval('@ShortDesc'):
+                short_description = prod.xpathEval('@ShortDesc')[0].content
+            if prod.xpathEval('@LongDesc'):
+                description = prod.xpathEval('@LongDesc')[0].content
+
+        # product details category
+        categoryId  = []
+        categoryName  = []
+        for cat in doc.xpathEval('//CategoryFeatureGroup'):
+            categoryId.append(cat.xpathEval('@ID')[0].content)
+
+        for cat in doc.xpathEval('//CategoryFeatureGroup//FeatureGroup//Name'):
+            categoryName.append(cat.xpathEval('@Value')[0].content)
+
+        # join categorys lists
+        category = zip(categoryId,categoryName)
+
+        # product details feature
+        prodFeatureId  = []
+        prodFeatureName = []
+        values = {}
+        for prod in doc.xpathEval('//ProductFeature'):
+            prodFeatureId.append(prod.xpathEval('@CategoryFeatureGroup_ID')[0].content+"#"+prod.xpathEval('@Presentation_Value')[0].content)
+
+        for prod in doc.xpathEval('//ProductFeature//Feature//Name'):
+            prodFeatureName.append(prod.xpathEval('@Value')[0].content)
+
+        # ordered id, name & description Product Feature
+        prodFeature = {}
+        i = 0
+        for feature in prodFeatureId:
+            if not prodFeatureName[i] == 'Source data-sheet':
+                values = feature.split('#')
+                if values[1] == "Y":
+                    value = _("Yes")
+                elif values[1] == "N":
+                    value = _("No")
+                else:
+                    value = values[1]
+                if values[0] not in prodFeature:
+                    prodFeature[values[0]] = []
+                prodFeature[values[0]].append('<strong>'+prodFeatureName[i]+':</strong>'+' '+value)
+            i += 1
+
+        mapline_ids = self.pool.get('product.icecat.mapline').search(cr, uid, [('icecat_id', '=', icecat.id)])
+        mapline_fields = []
+        for mapline_id in mapline_ids:
+            mapline = self.pool.get('product.icecat.mapline').browse(cr, uid, mapline_id)
+            mapline_fields.append({'icecat':mapline.name,'oerp':mapline.field_id.name})
+
+        #show details product
+        #TODO: HTML template use Mako template for not hardcode HTML tags
+        mapline_values = []
+        for cat in category:
+            catID = cat[0]
+            catName = cat[1]
+            if catID in prodFeature and len(prodFeature[catID]):
+                for mapline_field in mapline_fields:
+                    if mapline_field['icecat'] == catID:
+                        source = '<h3>%s</h3>' % catName
+                        i = True
+                        for feature in prodFeature[catID]:
+                            if i == True:
+                                source += '<ul>'
+                            source += '<li>%s</li>' % feature
+                            i = False
+                        source += '</ul>'
+                        if not form.html:
+                            source = self.StripTags(source)
+                        mapline_values.append({'field':mapline_field['oerp'],'source':source})
+                    # This is not hardcode. Short description is avaible in antother fields, for example meta_description website fields (magento, djnago,...)
+                    if mapline_field['icecat'] == 'ShortSummaryDescription':
+                        mapline_values.append({'field':mapline_field['oerp'],'source':short_description})
+
+        # update icecat values at product
+        # default values. It is not hardcode ;)
+        values = {}
+
+        if form.name:
+            trans_name_id = self.pool.get('ir.translation').search(cr, uid, [('lang', '=', language),('name','=','product.template,name'),('res_id','=',product.id)])
+            if trans_name_id:
+                self.pool.get('ir.translation').write(cr, uid, trans_name_id, {'value': name}, context)
+            else:
+                values['name'] = name
+
+        if form.description_sale:
+            trans_descsale_id = self.pool.get('ir.translation').search(cr, uid, [('lang', '=', language),('name','=','product.template,description_sale'),('res_id','=',product.id)])
+            if trans_descsale_id:
+                self.pool.get('ir.translation').write(cr, uid, trans_descsale_id, {'value': short_description}, context)
+            else:
+                values['description_sale'] = short_description
+
+        if form.description:
+            if not form.html:
+                description = self.StripTags(description)
+            trans_description_id = self.pool.get('ir.translation').search(cr, uid, [('lang', '=', language),('name','=','product.template,description'),('res_id','=',product.id)])
+            if trans_description_id:
+                self.pool.get('ir.translation').write(cr, uid, trans_description_id, {'value': description}, context)
+            else:
+                values['description'] = description
+
+        # add mapline values calculated
+        for mapline_value in mapline_values:
+            values[mapline_value['field']] = mapline_value['source']
+        
+        self.pool.get('product.product').write(cr, uid, [product.id], values, context)
+
+        result = _("Product %s XML Import successfully") % name
+
+        return result
+
+    # ==========================================
+    # Convert icecat values to OpenERP mapline
+    # ==========================================
+    def iceimg2oerpimg(self, cr, uid, form, product, icecat, pathxml, data, context):
+        doc = libxml2.parseFile(pathxml)
+
+        #product image
+        for prod in doc.xpathEval('//Product'):
+            if prod.xpathEval('@HighPic'):
+                image = prod.xpathEval('@HighPic')[0].content
+
+        if image:
+            fname = image.split('/')
+            fname = fname[len(fname)-1]
+
+            path = os.path.abspath( os.path.dirname(__file__) )
+            path += '/icecat/%s' % fname
+            path = re.sub('wizard/', '', path)
+
+            #download image
+            urllib.urlretrieve(image, path)
+
+            #send ftp server
+            ftp = FTP(icecat.ftpip)
+            ftp.login(icecat.ftpusername, icecat.ftppassword)
+            ftp.cwd(icecat.ftpdirectory)
+            f=file(path,'rb')
+            ftp.storbinary('STOR '+os.path.basename(path),f)
+            ftp.quit()
+
+            # add values into product_image
+            # product info
+            long_summary = doc.xpathEval('//SummaryDescription//LongSummaryDescription')
+            description = long_summary[0].content
+            name = description.split('.')[0]
+
+            values = {
+                'name': name,
+                'link': 1,
+                'filename': icecat.ftpurl+fname,
+                'product_id': product.id,
+            }
+            self.pool.get('product.images').create(cr, uid, values, context)
+            return icecat.ftpurl+fname
+        else:
+            return _("Not exist %s image") % fname
+
+    # ==========================================
+    # wizard
+    # =========================================
+    def import_xml(self, cr, uid, ids, data, context={}):
+        icecat_id = self.pool.get('product.icecat').search(cr, uid, [('active', '=', 1)])[0]
+        icecat = self.pool.get('product.icecat').browse(cr, uid, icecat_id)
+
+        form = self.browse(cr, uid, ids[0])
+
+        if not form.language_id:
+            language =  self.pool.get('res.users').browse(cr, uid, uid).context_lang
+            lang = language.split('_')[0]
+        else:
+            language = form.language_id.code
+            lang = language.split('_')[0]
+
+        resimg = ''
+
+        for prod in data['active_ids']:
+            product = self.pool.get('product.product').browse(cr, uid, prod)
+            ean = product.ean13
+
+            if ean:
+                url = 'http://data.icecat.biz/xml_s3/xml_server3.cgi?ean_upc=%s;lang=%s;output=productxml' % (ean, lang)
+                fileName = '%s.xml' % ean
+
+                passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
+                # this creates a password manager
+                passman.add_password(None, url, icecat.username, icecat.password)
+
+                authhandler = urllib2.HTTPBasicAuthHandler(passman)
+                # create the AuthHandler
+
+                openerp = urllib2.build_opener(authhandler)
+
+                urllib2.install_opener(openerp)
+                # All calls to urllib2.urlopen will now use our handler
+
+                try:
+                    pagehandle = urllib2.urlopen(url)
+                    req = urllib2.Request(url)
+                    handle = urllib2.urlopen(req)
+                    content = handle.read()
+                    #save file
+                    pathxml = self.save_file( fileName, content )
+                    #import values icecat2oerp
+                    result = self.icecat2oerp(cr, uid, form, product, icecat, pathxml, language, data, context)
+                    #import image icecat2oerp
+                    if icecat.ftp and form.image:
+                        resimg += self.iceimg2oerpimg(cr, uid, form, product, icecat, pathxml, data, context)
+                        resimg += "\n"
+                    else:
+                        resimg += _("Import image not avaible")
+                        resimg += "\n"
+                except URLError, e:
+                    result = e.code
+            else:
+                result = _("EAN not avaible")
+                resimg = False
+
+        values = {
+            'state':'done',
+            'result':result,
+            'resimg':resimg,
+        }
+        self.write(cr, uid, ids, values)
+
+        return True
+
+product_icecat_wizard()

=== added file 'product_icecat/wizard/wizard_product_icecat.xml'
--- product_icecat/wizard/wizard_product_icecat.xml	1970-01-01 00:00:00 +0000
+++ product_icecat/wizard/wizard_product_icecat.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+    <data>
+        <record id="wizard_product_icecat" model="ir.ui.view">
+            <field name="name">product.icecat.wizard.form</field>
+            <field name="model">product.icecat.wizard</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+            <form string="Import icecat XML">
+                <group col="4" colspan="4" attrs="{'invisible':[('state','=','done')]}">
+                    <label string="Are you sure to import from icecat values to product?" colspan="4"/>
+                    <field name="name"/><newline/>
+                    <field name="description"/><newline/>
+                    <field name="description_sale"/><newline/>
+                    <field name="language_id"/><newline/>
+                    <field name="image"/><newline/>
+                    <field name="html"/>
+                </group>
+                <group col="4" colspan="4" attrs="{'invisible':[('state','=','first')]}">
+                    <field name="result"/><newline/>
+                    <field name="resimg"/>
+                </group>
+                <group col="2" colspan="4">
+                    <field name="state" invisible="1" />
+                    <button string="Cancel" special="cancel" icon="gtk-cancel" states="first" />
+                    <button string="update" name="import_xml" type="object" icon="gtk-ok" states="first" />
+                    <button string="Close" special="cancel" icon="gtk-ok" states="done" />
+                </group>
+            </form>
+            </field>
+        </record>
+
+        <act_window name="Import Icecat"
+            res_model="product.icecat.wizard"
+            src_model="product.product"
+            view_mode="form"
+            target="new"
+            key2="client_action_multi"
+            id="act_product_icecat"
+            groups="base.group_extended"/>
+    </data>
+</openerp>

=== added directory 'product_images_olbs'
=== added file 'product_images_olbs/__init__.py'
--- product_images_olbs/__init__.py	1970-01-01 00:00:00 +0000
+++ product_images_olbs/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,20 @@
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas Open Labs Business Solutions       #
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+
+import product_images
+import product
+import company

=== added file 'product_images_olbs/__openerp__.py'
--- product_images_olbs/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_images_olbs/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,42 @@
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas, Open Labs Business solutions      #
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+
+{
+    "name" : "Product Image Gallery",
+    "version" : "0.1 ",
+    "author" : "Sharoon Thomas, Open Labs Business Solutions",
+    "website" : "http://openlabs.co.in/";,
+    "category" : "Added functionality - Product Extension",
+    "depends" : ['base','product'],
+    "description": """
+    This Module implements an Image Gallery for products.
+    You can add images against every product.
+    
+    This module is generic but built for Magento ERP connector and
+    the upcoming e-commerce system for Open ERP by Open Labs
+    """,
+    "init_xml": [],
+    "update_xml": [
+        'security/ir.model.access.csv',
+        'views/product_images_view.xml',
+        'views/company_view.xml'
+    ],
+    "installable": True,
+    "active": False,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== added file 'product_images_olbs/company.py'
--- product_images_olbs/company.py	1970-01-01 00:00:00 +0000
+++ product_images_olbs/company.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,41 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    Author Nicolas Bessi & Guewen Baconnier. Copyright Camptocamp SA
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+from tools.translate import _
+
+class ResCompany(osv.osv):
+    """Override company to add images configuration"""
+    _inherit = "res.company"
+    _columns = {        
+        'local_media_repository':fields.char(
+                        'Images Repository Path', 
+                        size=256,
+                        help='Local mounted path on OpenERP server where all your images are stored.'
+                    ),
+    }    
+    
+    def get_local_media_repository(self, cr, uid, id=None, context=None):
+        if id:
+            return self.browse(cr, uid, id, context=context).local_media_repository
+        user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+        return user.company_id.local_media_repository
+
+ResCompany()

=== added directory 'product_images_olbs/i18n'
=== added file 'product_images_olbs/i18n/sv.po'
--- product_images_olbs/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_images_olbs/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_images_olbs
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-11-22 10:19:32+0000\n"
+"PO-Revision-Date: 2010-11-22 10:19:32+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_images_olbs
+#: model:ir.module.module,shortdesc:product_images_olbs.module_meta_information
+msgid "Product Image Gallery"
+msgstr "Product Image Gallery"
+

=== added file 'product_images_olbs/product.py'
--- product_images_olbs/product.py	1970-01-01 00:00:00 +0000
+++ product_images_olbs/product.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,125 @@
+# -*- encoding: utf-8 -*-
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas, Open Labs Business solutions      #
+# Copyright (C) 2011 Akretion Sébastien BEAU sebastien.beau@xxxxxxxxxxxx#
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+import os
+import shutil
+import logging
+import unicodedata
+import base64, urllib
+
+from osv import osv,fields
+from tools.translate import _
+
+class product_product(osv.osv):
+    _inherit = "product.product"
+
+    def copy(self, cr, uid, id, default=None, context=None):
+        if not default:
+            default = {}
+        original = self.read(cr, uid, id, fields=['default_code', 'image_ids'], context=context)
+        default.update({
+            'default_code': original['default_code'] + '.copy',
+            'images_ids': False,
+        })
+        local_media_repository = self.pool.get('res.company').get_local_media_repository(cr, uid, context=context)
+        if local_media_repository:
+            if original['image_ids']:
+                old_path = os.path.join(local_media_repository, original['default_code'])
+                if os.path.isdir(old_path):
+                    try:
+                        shutil.copytree(old_path, old_path+'.copy')
+                    except:
+                        logger = logging.getLogger('product_images_olbs')
+                        logger.exception('error while trying to copy images from %s to %s', old_path, old_path+'.copy')
+
+        return super(product_product, self).copy(cr, uid, id, default, context=context)
+
+    def get_main_image(self, cr, uid, id, context=None):
+        if isinstance(id, list):
+            id = id[0]
+        images_ids = self.read(cr, uid, id, ['image_ids'], context=context)['image_ids']
+        if images_ids:
+            return images_ids[0]
+        return False
+
+    def _get_main_image(self, cr, uid, ids, field_name, arg, context=None):
+        res = {}
+        img_obj = self.pool.get('product.images')
+        for id in ids:
+            image_id = self.get_main_image(cr, uid, id, context=context)
+            if image_id:
+                image = img_obj.browse(cr, uid, image_id, context=context)
+                res[id] = image.file
+            else:
+                res[id] = False
+        return res
+
+    _columns = {
+        'image_ids':fields.one2many(
+                'product.images',
+                'product_id',
+                'Product Images'
+        ),
+        'default_code': fields.char('Reference', size=64, require='True'),
+        'product_image': fields.function(_get_main_image, type="binary", method=True),
+    }
+
+    def write(self, cr, uid, ids, vals, context=None):
+        if isinstance(ids, (int, long)):
+            ids = [ids]
+        # here we expect that the write on default_code is always on 1 product because there is an unique constraint on the default code
+        if vals.get('default_code', False) and ids:
+            local_media_repository = self.pool.get('res.company').get_local_media_repository(cr, uid, context=context)
+            if local_media_repository:
+                old_product = self.read(cr, uid, ids[0], ['default_code', 'image_ids'], context=context)
+                res = super(product_product, self).write(cr, uid, ids, vals, context=context)
+                if old_product['image_ids']:
+                    if old_product['default_code'] != vals['default_code']:
+                        old_path = os.path.join(local_media_repository, old_product['default_code'])
+                        new_path = os.path.join(local_media_repository, vals['default_code'])
+                        if os.path.isdir(old_path):
+                            if not os.path.isdir(os.path.dirname(new_path)):
+                                os.makedirs(os.path.dirname(new_path))
+                            if os.path.isdir(new_path):
+                                shutil.rmtree(new_path)
+                            shutil.copytree(old_path, new_path)
+                            shutil.rmtree(old_path)
+                return res
+        return super(product_product, self).write(cr, uid, ids, vals, context=context)
+
+    #This constraint should be by default in openerp
+    _sql_constraints = [('default_code', 'UNIQUE(default_code)',
+                _('Default code should be uniq'))]
+
+    def create_image_from_url(self, cr, uid, id, url, image_name=None, context=None):
+        (filename, header) = urllib.urlretrieve(url)
+        f = open(filename , 'rb')
+        data = f.read()
+        f.close()
+        img = base64.encodestring(data)
+        filename, extention = os.path.splitext(os.path.basename(url))
+        data = {'name': image_name or filename,
+            'extention': extention,
+            'file': img,
+            'product_id': id,
+            }
+        new_image_id = self.pool.get('product.images').create(cr, uid, data, context=context)
+        return True
+
+
+product_product()

=== added file 'product_images_olbs/product_images.py'
--- product_images_olbs/product_images.py	1970-01-01 00:00:00 +0000
+++ product_images_olbs/product_images.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,172 @@
+# -*- encoding: utf-8 -*-
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas, Open Labs Business solutions      #
+# Copyright (C) 2011 Akretion Sébastien BEAU sebastien.beau@xxxxxxxxxxxx#
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+from osv import osv, fields
+import base64, urllib
+from tools.translate import _
+import os
+
+import logging
+_logger = logging.getLogger(__name__)
+
+#TODO find a good solution in order to roll back changed done on file system
+#TODO add the posibility to move from a store system to an other (example : moving existing image on database to file system)
+
+class product_images(osv.osv):
+    "Products Image gallery"
+    _name = "product.images"
+    _description = __doc__
+    _table = "product_images"
+
+    def unlink(self, cr, uid, ids, context=None):
+        if isinstance(ids, (int, long)):
+            ids = [ids]
+        for image in self.browse(cr, uid, ids, context=context):
+            full_path = self._image_path(cr, uid, image, context=context)
+            if full_path:
+                os.path.isfile(full_path) and os.remove(full_path)
+        return super(product_images, self).unlink(cr, uid, ids, context=context)
+
+    def create(self, cr, uid, vals, context=None):
+        if vals.get('name', False) and not vals.get('extention', False):
+            vals['name'], vals['extention'] = os.path.splitext(vals['name'])
+        return super(product_images, self).create(cr, uid, vals, context=context)
+
+    def write(self, cr, uid, ids, vals, context=None):
+        if not isinstance(ids, list):
+            ids = [ids]
+        if vals.get('name', False) and not vals.get('extention', False):
+            vals['name'], vals['extention'] = os.path.splitext(vals['name'])
+        upd_ids = ids[:]
+        if vals.get('name', False) or vals.get('extention', False):
+            images = self.browse(cr, uid, upd_ids, context=context)
+            for image in images:
+                old_full_path = self._image_path(cr, uid, image, context=context)
+                if not old_full_path:
+                    continue
+                # all the stuff below is there to manage the files on the filesystem
+                if vals.get('name', False) and (image.name != vals['name']) \
+                    or vals.get('extention', False) and (image.extention != vals['extention']):
+                    super(product_images, self).write(
+                        cr, uid, image.id, vals, context=context)
+                    upd_ids.remove(image.id)
+                    if 'file' in vals:
+                        # a new image have been loaded we should remove the old image
+                        # TODO it's look like there is something wrong with function
+                        # field in openerp indeed the preview is always added in the write :(
+                        if os.path.isfile(old_full_path):
+                            os.remove(old_full_path)
+                    else:
+                        new_image = self.browse(cr, uid, image.id, context=context)
+                        new_full_path = self._image_path(cr, uid, new_image, context=context)
+                        #we have to rename the image on the file system
+                        if os.path.isfile(old_full_path):
+                            os.rename(old_full_path, new_full_path)
+        return super(product_images, self).write(cr, uid, upd_ids, vals, context=context)
+
+    def _image_path(self, cr, uid, image, context=None):
+        full_path = False
+        local_media_repository = self.pool.get('res.company').\
+             get_local_media_repository(cr, uid, context=context)
+        if local_media_repository:
+            full_path = os.path.join(
+                local_media_repository,
+                image.product_id.default_code,
+                '%s%s' % (image.name or '', image.extention or ''))
+        return full_path
+
+    def get_image(self, cr, uid, id, context=None):
+        image = self.browse(cr, uid, id, context=context)
+        if image.link:
+            (filename, header) = urllib.urlretrieve(image.url)
+            with open(filename , 'rb') as f:
+                img = base64.b64encode(f.read())
+        else:
+            try:
+                if isinstance(image.product_id.default_code, bool):
+                    _logger.debug('product not completely setup, no image available')
+                    full_path = False
+                else:
+                    full_path = self._image_path(cr, uid, image, context=context)
+            except Exception, e:
+                _logger.error("Can not find the path for image %s: %s", id, e, exc_info=True)
+                return False
+            if full_path:
+                if os.path.exists(full_path):
+                    try:
+                        with open(full_path, 'rb') as f:
+                            img = base64.b64encode(f.read())
+                    except Exception, e:
+                        _logger.error("Can not open the image %s, error : %s", full_path, e, exc_info=True)
+                        return False
+                else:
+                    _logger.error("The image %s doesn't exist ", full_path)
+                    return False
+            else:
+                img = image.file_db_store
+        return img
+
+    def _get_image(self, cr, uid, ids, field_name, arg, context=None):
+        res = {}
+        for each in ids:
+            res[each] = self.get_image(cr, uid, each, context=context)
+        return res
+
+    def _check_filestore(self, image_filestore):
+        """check if the filestore is created, if not it create it automatically"""
+        try:
+            dir_path = os.path.dirname(image_filestore)
+            if not os.path.exists(dir_path):
+                os.makedirs(dir_path)
+        except OSError, e:
+            raise osv.except_osv(_('Error'), _('The image filestore can not be created, %s'%e))
+        return True
+
+    def _save_file(self, path, b64_file):
+        """Save a file encoded in base 64"""
+        self._check_filestore(path)
+        with open(path, 'w') as ofile:
+            ofile.write(base64.b64decode(b64_file))
+        return True
+
+    def _set_image(self, cr, uid, id, name, value, arg, context=None):
+        image = self.browse(cr, uid, id, context=context)
+        full_path = self._image_path(cr, uid, image, context=context)
+        if full_path:
+            return self._save_file(full_path, value)
+        return self.write(cr, uid, id, {'file_db_store' : value}, context=context)
+
+    _columns = {
+        'name':fields.char('Image Title', size=100, required=True),
+        'extention': fields.char('file extention', size=6),
+        'link':fields.boolean('Link?', help="Images can be linked from files on your file system or remote (Preferred)"),
+        'file_db_store':fields.binary('Image stored in database'),
+        'file':fields.function(_get_image, fnct_inv=_set_image, type="binary", filters='*.png,*.jpg,*.gif'),
+        'url':fields.char('File Location', size=250),
+        'comments':fields.text('Comments'),
+        'product_id':fields.many2one('product.product', 'Product')
+    }
+
+    _defaults = {
+        'link': lambda *a: False,
+    }
+
+    _sql_constraints = [('uniq_name_product_id', 'UNIQUE(product_id, name)',
+                _('A product can have only one image with the same name'))]
+
+product_images()

=== added directory 'product_images_olbs/security'
=== added file 'product_images_olbs/security/ir.model.access.csv'
--- product_images_olbs/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_images_olbs/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_product_images_olbs_product_images","product_images_olbs_product_images","model_product_images","base.group_user",1,0,0,0
+"access_product_images_olbs_product_images_manager","product_images_olbs_product_images","model_product_images","base.group_sale_manager",1,1,1,1

=== added directory 'product_images_olbs/views'
=== added file 'product_images_olbs/views/company_view.xml'
--- product_images_olbs/views/company_view.xml	1970-01-01 00:00:00 +0000
+++ product_images_olbs/views/company_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,18 @@
+<openerp>
+    <data>
+        <record model="ir.ui.view" id="view_company_form_product_images">
+            <field name="name">res.company.form.inherit</field>
+            <field name="model">res.company</field>
+            <field name="inherit_id" ref="base.view_company_form"/>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <notebook  position="inside">
+            		<page string="Product images">
+                        <field name="local_media_repository"/>
+                    </page>
+                </notebook>
+            </field>
+        </record>
+    </data>
+</openerp>
+

=== added file 'product_images_olbs/views/product_images_view.xml'
--- product_images_olbs/views/product_images_view.xml	1970-01-01 00:00:00 +0000
+++ product_images_olbs/views/product_images_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+	<data>
+		<record id="view_product_image_form" model="ir.ui.view">
+			<field name="name">product.images.form</field>
+			<field name="model">product.images</field>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<form string="Product Images">
+					<notebook colspan="4">
+						<page string="Image">
+							<group col="6" colspan="4">
+								<field name="name" colspan="2" />
+                                <field name="extention" colspan="2" />
+								<field name="link" colspan="2" />
+							</group>
+                            <group attrs="{'invisible':[('link','=',0)]}" colspan="4">
+							    <separator string="File Location and Preview (Only when saved)" colspan="4"/>
+                                <field name="url" colspan="4" widget="url" nolabel="1"/>
+                            </group>
+							<field name="file" widget="image" nolabel="1" filename="name" colspan="4" attrs="{'readonly':[('link','!=',0)]}"/>
+						</page>
+						<page string="Comments">
+							<field name="comments" nolabel="1" colspan="4" />
+						</page>
+					</notebook>
+				</form>
+			</field>
+		</record>
+		<record id="view_product_image_tree" model="ir.ui.view">
+			<field name="name">product.images.tree</field>
+			<field name="model">product.images</field>
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<tree string="Product Images">
+					<field name="name" select="1" />
+					<field name="comments" select="2" />
+				</tree>
+			</field>
+		</record>
+		<record id="view_product_form_img_inh" model="ir.ui.view">
+			<field name="name">product.product.images</field>
+			<field name="model">product.product</field>
+			<field name="inherit_id" ref="product.product_normal_form_view" />
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<xpath expr="/form/notebook" position="inside">
+					<page string="Images">
+						<field name="image_ids" nolabel="1" />
+					</page>
+				</xpath>
+			</field>
+		</record>
+	</data>
+</openerp>

=== added directory 'product_index'
=== added file 'product_index/__init__.py'
--- product_index/__init__.py	1970-01-01 00:00:00 +0000
+++ product_index/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,23 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import product_index
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_index/__terp__.py'
--- product_index/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_index/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,34 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name" : "Manage indexes on products prices",
+    "version" : "1.0",
+    "author" : "Tiny",
+    "category" : "Generic Modules/Sales & Purchases",
+    "website": "http://www.openerp.com";,
+    "depends" : ["product"],
+    "demo_xml" : ['product.index.csv'],
+    "init_xml" : [],
+    "update_xml" : ['security/ir.model.access.csv','product_data.xml', "product_index_view.xml", "product_view.xml"],
+    "active": False,
+    "installable": True
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_index/i18n'
=== added file 'product_index/i18n/es.po'
--- product_index/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_index/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,166 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:30+0000\n"
+"PO-Revision-Date: 2011-08-27 13:47+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index
+msgid "Index"
+msgstr "Índice"
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price_index
+#: field:product.product,buyer_price_index:0
+msgid "Indexed buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_index
+#: view:product.index:0
+#: view:product.product:0
+msgid "Indexes"
+msgstr "Índices"
+
+#. module: product_index
+#: field:product.index,code:0
+msgid "Index code"
+msgstr "Código del índice"
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_new_index
+msgid "New index"
+msgstr "Nuevo índice"
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index,rate_ids:0
+msgid "Rates"
+msgstr "Tasas"
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price
+#: field:product.product,buyer_price:0
+msgid "Buyer price"
+msgstr "Precio comprador"
+
+#. module: product_index
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre del modelo inválido en la definición de acción."
+
+#. module: product_index
+#: model:ir.actions.act_window,name:product_index.action_index_form
+#: model:ir.actions.act_window,name:product_index.action_index_tree
+msgid "product.index"
+msgstr "índice.producto"
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index.rate,index_id:0
+msgid "index"
+msgstr "índice"
+
+#. module: product_index
+#: model:product.price.type,name:product_index.list_price_index
+#: field:product.product,list_price_index:0
+msgid "Indexed list price"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+#: field:product.product,index_purchase:0
+msgid "Purchase indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,name:0
+msgid "Date"
+msgstr "Fecha"
+
+#. module: product_index
+#: view:product.product:0
+msgid "Sale indexes"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_index
+#: field:product.product,index_sale:0
+msgid "Sales indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,active:0
+msgid "Active"
+msgstr "Activo"
+
+#. module: product_index
+#: field:product.index,rounding:0
+msgid "Rounding factor"
+msgstr "Factor de redondeo"
+
+#. module: product_index
+#: model:product.price.type,name:product_index.standard_price_index
+#: field:product.product,standard_price_index:0
+msgid "Indexed standard price"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rate:0
+msgid "Current rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,rate:0
+msgid "Rate"
+msgstr "Tasa"
+
+#. module: product_index
+#: view:product.product:0
+msgid "Descriptions"
+msgstr "Descripciones"
+
+#. module: product_index
+#: model:ir.module.module,shortdesc:product_index.module_meta_information
+msgid "Manage indexes on products prices"
+msgstr ""
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index_rate
+msgid "Index Rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_date:0
+msgid "Index price date"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,name:0
+msgid "Index name"
+msgstr "Nombre del índice"

=== added file 'product_index/i18n/fr_BE.po'
--- product_index/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_index/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,162 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_index
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:30:08+0000\n"
+"PO-Revision-Date: 2009-11-25 13:30:08+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index
+msgid "Index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price_index
+#: field:product.product,buyer_price_index:0
+msgid "Indexed buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_index
+#: view:product.index:0
+#: view:product.product:0
+msgid "Indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,code:0
+msgid "Index code"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_new_index
+msgid "New index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index,rate_ids:0
+msgid "Rates"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price
+#: field:product.product,buyer_price:0
+msgid "Buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_index
+#: model:ir.actions.act_window,name:product_index.action_index_form
+#: model:ir.actions.act_window,name:product_index.action_index_tree
+msgid "product.index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index.rate,index_id:0
+msgid "index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.list_price_index
+#: field:product.product,list_price_index:0
+msgid "Indexed list price"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+#: field:product.product,index_purchase:0
+msgid "Purchase indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,name:0
+msgid "Date"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Sale indexes"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_sale:0
+msgid "Sales indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,active:0
+msgid "Active"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rounding:0
+msgid "Rounding factor"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.standard_price_index
+#: field:product.product,standard_price_index:0
+msgid "Indexed standard price"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rate:0
+msgid "Current rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,rate:0
+msgid "Rate"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Descriptions"
+msgstr ""
+
+#. module: product_index
+#: model:ir.module.module,shortdesc:product_index.module_meta_information
+msgid "Manage indexes on products prices"
+msgstr ""
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index_rate
+msgid "Index Rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_date:0
+msgid "Index price date"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,name:0
+msgid "Index name"
+msgstr ""
+

=== added file 'product_index/i18n/product_index.pot'
--- product_index/i18n/product_index.pot	1970-01-01 00:00:00 +0000
+++ product_index/i18n/product_index.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,162 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_index
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:30:08+0000\n"
+"PO-Revision-Date: 2009-11-25 13:30:08+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index
+msgid "Index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price_index
+#: field:product.product,buyer_price_index:0
+msgid "Indexed buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_index
+#: view:product.index:0
+#: view:product.product:0
+msgid "Indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,code:0
+msgid "Index code"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_new_index
+msgid "New index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index,rate_ids:0
+msgid "Rates"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price
+#: field:product.product,buyer_price:0
+msgid "Buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_index
+#: model:ir.actions.act_window,name:product_index.action_index_form
+#: model:ir.actions.act_window,name:product_index.action_index_tree
+msgid "product.index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index.rate,index_id:0
+msgid "index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.list_price_index
+#: field:product.product,list_price_index:0
+msgid "Indexed list price"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+#: field:product.product,index_purchase:0
+msgid "Purchase indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,name:0
+msgid "Date"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Sale indexes"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_sale:0
+msgid "Sales indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,active:0
+msgid "Active"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rounding:0
+msgid "Rounding factor"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.standard_price_index
+#: field:product.product,standard_price_index:0
+msgid "Indexed standard price"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rate:0
+msgid "Current rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,rate:0
+msgid "Rate"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Descriptions"
+msgstr ""
+
+#. module: product_index
+#: model:ir.module.module,shortdesc:product_index.module_meta_information
+msgid "Manage indexes on products prices"
+msgstr ""
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index_rate
+msgid "Index Rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_date:0
+msgid "Index price date"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,name:0
+msgid "Index name"
+msgstr ""
+

=== added file 'product_index/i18n/sv.po'
--- product_index/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_index/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,163 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_index
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:30+0000\n"
+"PO-Revision-Date: 2010-11-22 19:38+0000\n"
+"Last-Translator: <>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index
+msgid "Index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price_index
+#: field:product.product,buyer_price_index:0
+msgid "Indexed buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_index
+#: view:product.index:0
+#: view:product.product:0
+msgid "Indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,code:0
+msgid "Index code"
+msgstr ""
+
+#. module: product_index
+#: model:ir.ui.menu,name:product_index.menu_product_config_new_index
+msgid "New index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index,rate_ids:0
+msgid "Rates"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.buyer_price
+#: field:product.product,buyer_price:0
+msgid "Buyer price"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_index
+#: model:ir.actions.act_window,name:product_index.action_index_form
+#: model:ir.actions.act_window,name:product_index.action_index_tree
+msgid "product.index"
+msgstr ""
+
+#. module: product_index
+#: view:product.index:0
+#: field:product.index.rate,index_id:0
+msgid "index"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.list_price_index
+#: field:product.product,list_price_index:0
+msgid "Indexed list price"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+#: field:product.product,index_purchase:0
+msgid "Purchase indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,name:0
+msgid "Date"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Sale indexes"
+msgstr ""
+
+#. module: product_index
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_sale:0
+msgid "Sales indexes"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,active:0
+msgid "Active"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rounding:0
+msgid "Rounding factor"
+msgstr ""
+
+#. module: product_index
+#: model:product.price.type,name:product_index.standard_price_index
+#: field:product.product,standard_price_index:0
+msgid "Indexed standard price"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,rate:0
+msgid "Current rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.index.rate,rate:0
+msgid "Rate"
+msgstr ""
+
+#. module: product_index
+#: view:product.product:0
+msgid "Descriptions"
+msgstr ""
+
+#. module: product_index
+#: model:ir.module.module,shortdesc:product_index.module_meta_information
+msgid "Manage indexes on products prices"
+msgstr ""
+
+#. module: product_index
+#: model:ir.model,name:product_index.model_product_index_rate
+msgid "Index Rate"
+msgstr ""
+
+#. module: product_index
+#: field:product.product,index_date:0
+msgid "Index price date"
+msgstr ""
+
+#. module: product_index
+#: field:product.index,name:0
+msgid "Index name"
+msgstr ""

=== added file 'product_index/product.index.csv'
--- product_index/product.index.csv	1970-01-01 00:00:00 +0000
+++ product_index/product.index.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,5 @@
+code,name,rounding,rate_ids/name,rate_ids/rate
+EMP,Employé,1.0,2007-02-18,1.5
+,,,2006-02-18,1.3
+,,,2005-02-18,1.1
+,,,2004-02-18,1.0

=== added file 'product_index/product_data.xml'
--- product_index/product_data.xml	1970-01-01 00:00:00 +0000
+++ product_index/product_data.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+
+	<record model="product.price.type" id="buyer_price">
+		<field name="name">Buyer price</field>
+		<field name="field">buyer_price</field>
+		<field name="currency_id" ref="base.EUR"/>
+	</record>
+
+	<record model="product.price.type" id="buyer_price_index">
+		<field name="name">Indexed buyer price</field>
+		<field name="field">buyer_price_index</field>
+		<field name="currency_id" ref="base.EUR"/>
+	</record>
+
+	<record model="product.price.type" id="list_price_index">
+		<field name="name">Indexed list price</field>
+		<field name="field">list_price_index</field>
+		<field name="currency_id" ref="base.EUR"/>
+	</record>
+
+	<record model="product.price.type" id="standard_price_index">
+		<field name="name">Indexed standard price</field>
+		<field name="field">standard_price_index</field>
+		<field name="currency_id" ref="base.EUR"/>
+	</record>
+
+</data>
+</openerp>

=== added file 'product_index/product_index.py'
--- product_index/product_index.py	1970-01-01 00:00:00 +0000
+++ product_index/product_index.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,121 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import time
+import netsvc
+from osv import fields, osv
+
+class product_index(osv.osv):
+    def _current_rate(self, cr, uid, ids, name, arg, context={}):
+        res={}
+        date = context.get('date', time.strftime('%Y-%m-%d'))
+        for id in ids:
+            cr.execute("SELECT index_id, rate FROM product_index_rate WHERE index_id = %s AND name <= '%s' ORDER BY name desc LIMIT 1" % (id, date))
+            if cr.rowcount:
+                id, rate=cr.fetchall()[0]
+                res[id]=rate
+            else:
+                res[id]=0
+        return res
+    _name = "product.index"
+    _description = "Index"
+    _columns = {
+        'name': fields.char('Index name', size=32, required=True),
+        'code': fields.char('Index code', size=3),
+        'rate': fields.function(_current_rate, method=True, string='Current rate',digits=(12,6)),
+        'rate_ids': fields.one2many('product.index.rate', 'index_id', 'Rates'),
+        'rounding': fields.float('Rounding factor', digits=(12,6)),
+        'active': fields.boolean('Active'),
+    }
+    _sql_constraints = [
+        ('rounding_zero', 'CHECK (rounding>0)',  'The rounding must be > 0 !')
+    ]
+    _order = 'name'
+    _defaults = {
+        'active': lambda *a: 1,
+    }
+    _order = "code"
+
+    def round(self, cr, uid, index, amount, context={}):
+        return round(amount / index.rounding) * index.rounding
+
+    def compute(self, cr, uid, index, amount, date_from, date_to=None, round=True, context={}):
+        if not date_to:
+            date_to = time.strftime('%Y-%m-%d')
+        cr.execute('select rate from product_index_rate where name<=%s and index_id=%s order by name desc limit 1', (date_from, index.id))
+        ifrom = cr.rowcount and cr.fetchone()[0] or 1.0
+        cr.execute('select rate from product_index_rate where name<=%s and index_id=%s order by name desc limit 1', (date_to, index.id))
+        ito = cr.rowcount and cr.fetchone()[0] or 1.0
+        val = amount * ito / ifrom
+        if round:
+            val = self.round(cr, uid, index, val)
+        return val
+product_index()
+
+class product_index_rate(osv.osv):
+    _name = "product.index.rate"
+    _description = "Index Rate"
+    _columns = {
+        'name': fields.date('Date', required=True, select=True),
+        'rate': fields.float('Rate', digits=(12,6), required=True),
+        'index_id': fields.many2one('product.index', 'index', readonly=True),
+    }
+    _defaults = {
+        'name': lambda *a: time.strftime('%Y-%m-%d'),
+    }
+    _order = "name desc"
+product_index_rate()
+
+
+class product_index(osv.osv):
+    _inherit = 'product.product'
+    def _current_rate(self, cr, uid, ids, name, arg, context={}):
+        res=dict(map(lambda x: (x,0.0), ids))
+        if not name [-6:]=='_index':
+            raise 'The field name should end by _index !'
+        fname = name[:-6]
+        for product in self.browse(cr, uid, ids, context):
+            val = getattr(product, fname)
+            if fname in ('list_price',):
+                ifields = product.index_sale
+            else:
+                ifields = product.index_purchase
+            for i in ifields:
+                val = self.pool.get('product.index').compute(cr, uid, i, val, product.index_date)
+            res[product.id] = val
+        return res
+    _columns = {
+        'buyer_price':fields.float('Buyer price'),
+        'index_sale': fields.many2many('product.index', 'product_index_sale_rel', 'product_id', 'index_id', 'Sales indexes'),
+        'index_purchase': fields.many2many('product.index', 'product_index_purchase_rel', 'product_id', 'index_id', 'Purchase indexes'),
+
+        'index_date': fields.date('Index price date', required=True),
+
+        'list_price_index': fields.function(_current_rate, method=True, string='Indexed list price',digits=(12,6)),
+        'standard_price_index': fields.function(_current_rate, method=True, string='Indexed standard price',digits=(12,6)),
+        'buyer_price_index': fields.function(_current_rate, method=True, string='Indexed buyer price',digits=(12,6)),
+    }
+    _defaults = {
+        'buyer_price': lambda *args: 0.0,
+        'index_date': lambda *args: time.strftime('%Y-%m-%d')
+    }
+product_index()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_index/product_index_view.xml'
--- product_index/product_index_view.xml	1970-01-01 00:00:00 +0000
+++ product_index/product_index_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+
+	#---------------------------------------------------------
+	# Indexes
+	#---------------------------------------------------------
+	<record model="ir.ui.view" id="view_index_tree">
+		<field name="name">product.index.tree</field>
+		<field name="model">product.index</field>
+		<field name="type">tree</field>
+		<field name="arch" type="xml">
+			<tree string="Indexes">
+				<field name="name"/>
+				<field name="code"/>
+				<field name="rate"/>
+				<field name="rounding"/>
+				<field name="active" />
+			</tree>
+		</field>
+	</record>
+	<record model="ir.ui.view" id="view_index_form">
+		<field name="name">product.index.form</field>
+		<field name="model">product.index</field>
+		<field name="type">form</field>
+		<field name="arch" type="xml">
+			<form string="index">
+				<field name="name" select="1" colspan="3"/>
+				<field name="code" select="1"/>
+				<field name="rate"/>
+				<field name="rounding"/>
+				<field name="active"  select="1"/>
+				<field name="rate_ids" colspan="4" nolabel="1" mode="tree,form">
+					<form string="Rates">
+						<field name="name"/>
+						<field name="rate"/>
+					</form>
+					<tree string="Rates">
+						<field name="name"/>
+						<field name="rate"/>
+					</tree>
+				</field>
+			</form>
+		</field>
+	</record>
+	<record model="ir.actions.act_window" id="action_index_form">
+		<field name="name">product.index</field>
+		<field name="res_model">product.index</field>
+		<field name="view_type">form</field>
+		<field name="view_mode">form,tree</field>
+	</record>
+	<record model="ir.actions.act_window" id="action_index_tree">
+		<field name="name">product.index</field>
+		<field name="res_model">product.index</field>
+		<field name="view_type">form</field>
+		<field name="view_mode">tree,form</field>
+	</record>
+	
+	<menuitem name="Indexes" id="menu_product_config_index" parent="base.menu_product" action="action_index_tree"/>
+	
+	<menuitem name="New index" id="menu_product_config_new_index" parent="menu_product_config_index" action="action_index_form"/>
+
+</data>
+</openerp>

=== added file 'product_index/product_view.xml'
--- product_index/product_view.xml	1970-01-01 00:00:00 +0000
+++ product_index/product_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+	<data>
+
+		<record model="ir.ui.view" id="view_product_form_expiry">
+			<field name="name">product.normal.form</field>
+			<field name="model">product.product</field>
+			<field name="inherit_id" ref="product.product_normal_form_view" />
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<page string="Descriptions" position="before">
+					<page string="Indexes">
+						<field name="buyer_price"/>
+						<field name="index_date" required="1"/>
+						<field name="list_price_index"/>
+						<field name="standard_price_index"/>
+						<field name="buyer_price_index"/>
+						<newline/>
+						<separator string="Sale indexes" colspan="2"/>
+						<separator string="Purchase indexes" colspan="2"/>
+						<field name="index_sale" colspan="2" nolabel="1"/>
+						<field name="index_purchase" colspan="2" nolabel="1"/>
+					</page>
+				</page>
+			</field>
+		</record>
+
+</data>
+</openerp>

=== added directory 'product_index/security'
=== added file 'product_index/security/ir.model.access.csv'
--- product_index/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_index/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,3 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_product_index","product.index","model_product_index","product.group_uos",1,1,1,1
+"access_product_index_rate","product.index.rate","model_product_index_rate","product.group_uos",1,1,1,1

=== added directory 'product_listprice_upgrade'
=== added file 'product_listprice_upgrade/__init__.py'
--- product_listprice_upgrade/__init__.py	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import wizard
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_listprice_upgrade/__terp__.py'
--- product_listprice_upgrade/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,38 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name":"Product listprice upgrade",
+    "version":"1.0",
+    "author":"Tiny",
+    "category":"Generic Modules/Inventory Control",
+    "description": """
+    The aim of this module is to allow the automatic upgrade of the field 'List Price' on each product.
+    * added a new price type called 'Internal Pricelist' (currently, we have only 2 price types: Sale and Purchase Pricelist)
+    * Created a wizard button in the menu Products>Pricelist called 'Upgrade Product List Price'
+    * When we have completed the wizard and click on 'Upgrade', it will change the field 'List Price' for all products contained in the categories that we have selected in the wizard
+    """,
+    "depends":["base","product"],
+    "demo_xml":[],
+    "update_xml":['product_wizard.xml','product_data.xml'],
+    "active":False,
+    "installable":True,
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_listprice_upgrade/i18n'
=== added file 'product_listprice_upgrade/i18n/es.po'
--- product_listprice_upgrade/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,114 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:31+0000\n"
+"PO-Revision-Date: 2011-08-27 13:50+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist
+msgid "Pricelists"
+msgstr "Lista de precios"
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select a pricelist "
+msgstr "Seleccione una lista de precios "
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,product_category:0
+msgid "Product Category"
+msgstr "Categoría del Producto"
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,upgrade,end:0
+msgid "End"
+msgstr "Finalizar"
+
+#. module: product_listprice_upgrade
+#: model:ir.actions.wizard,name:product_listprice_upgrade.wizard_product_listprice
+msgid "Upgrade Product list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,upgrade,update_products:0
+msgid "Upgraded list price of Products"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist_upgrade
+msgid "Upgrade Product List price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,upgrade:0
+msgid "Upgraded list price of prodcuts"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,upgrade:0
+msgid "Upgrade"
+msgstr "Actualizar"
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,description:product_listprice_upgrade.module_meta_information
+msgid ""
+"\n"
+"    The aim of this module is to allow the automatic upgrade of the field "
+"'List Price' on each product.\n"
+"    * added a new price type called 'Internal Pricelist' (currently, we have "
+"only 2 price types: Sale and Purchase Pricelist)\n"
+"    * Created a wizard button in the menu Products>Pricelist called 'Upgrade "
+"Product List Price'\n"
+"    * When we have completed the wizard and click on 'Upgrade', it will "
+"change the field 'List Price' for all products contained in the categories "
+"that we have selected in the wizard\n"
+"    "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select Product Categories "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Upgrade list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,pricelist:0
+msgid "Pricelist"
+msgstr "Lista de precios"
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,upgrade:0
+msgid "Upgrade Child categories"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:product.pricelist.type,name:product_listprice_upgrade.pricelist_type_internal
+msgid "Internal Pricelist"
+msgstr "Lista de precios interna"
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,shortdesc:product_listprice_upgrade.module_meta_information
+msgid "Product listprice upgrade"
+msgstr ""

=== added file 'product_listprice_upgrade/i18n/fr_BE.po'
--- product_listprice_upgrade/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,107 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_listprice_upgrade
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31:04+0000\n"
+"PO-Revision-Date: 2009-11-25 13:31:04+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist
+msgid "Pricelists"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select a pricelist "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,product_category:0
+msgid "Product Category"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,upgrade,end:0
+msgid "End"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.actions.wizard,name:product_listprice_upgrade.wizard_product_listprice
+msgid "Upgrade Product list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,upgrade,update_products:0
+msgid "Upgraded list price of Products"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist_upgrade
+msgid "Upgrade Product List price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,upgrade:0
+msgid "Upgraded list price of prodcuts"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,upgrade:0
+msgid "Upgrade"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,description:product_listprice_upgrade.module_meta_information
+msgid "\n"
+"    The aim of this module is to allow the automatic upgrade of the field 'List Price' on each product.\n"
+"    * added a new price type called 'Internal Pricelist' (currently, we have only 2 price types: Sale and Purchase Pricelist)\n"
+"    * Created a wizard button in the menu Products>Pricelist called 'Upgrade Product List Price'\n"
+"    * When we have completed the wizard and click on 'Upgrade', it will change the field 'List Price' for all products contained in the categories that we have selected in the wizard\n"
+"    "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select Product Categories "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Upgrade list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,pricelist:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,upgrade:0
+msgid "Upgrade Child categories"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:product.pricelist.type,name:product_listprice_upgrade.pricelist_type_internal
+msgid "Internal Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,shortdesc:product_listprice_upgrade.module_meta_information
+msgid "Product listprice upgrade"
+msgstr ""
+

=== added file 'product_listprice_upgrade/i18n/product_listprice_upgrade.pot'
--- product_listprice_upgrade/i18n/product_listprice_upgrade.pot	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/i18n/product_listprice_upgrade.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,107 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_listprice_upgrade
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31:04+0000\n"
+"PO-Revision-Date: 2009-11-25 13:31:04+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist
+msgid "Pricelists"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select a pricelist "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,product_category:0
+msgid "Product Category"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,upgrade,end:0
+msgid "End"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.actions.wizard,name:product_listprice_upgrade.wizard_product_listprice
+msgid "Upgrade Product list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,upgrade,update_products:0
+msgid "Upgraded list price of Products"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist_upgrade
+msgid "Upgrade Product List price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,upgrade:0
+msgid "Upgraded list price of prodcuts"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,upgrade:0
+msgid "Upgrade"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,description:product_listprice_upgrade.module_meta_information
+msgid "\n"
+"    The aim of this module is to allow the automatic upgrade of the field 'List Price' on each product.\n"
+"    * added a new price type called 'Internal Pricelist' (currently, we have only 2 price types: Sale and Purchase Pricelist)\n"
+"    * Created a wizard button in the menu Products>Pricelist called 'Upgrade Product List Price'\n"
+"    * When we have completed the wizard and click on 'Upgrade', it will change the field 'List Price' for all products contained in the categories that we have selected in the wizard\n"
+"    "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select Product Categories "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Upgrade list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,pricelist:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,upgrade:0
+msgid "Upgrade Child categories"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:product.pricelist.type,name:product_listprice_upgrade.pricelist_type_internal
+msgid "Internal Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,shortdesc:product_listprice_upgrade.module_meta_information
+msgid "Product listprice upgrade"
+msgstr ""
+

=== added file 'product_listprice_upgrade/i18n/sv.po'
--- product_listprice_upgrade/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,113 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_listprice_upgrade
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31+0000\n"
+"PO-Revision-Date: 2010-11-22 22:25+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist
+msgid "Pricelists"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select a pricelist "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,product_category:0
+msgid "Product Category"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,upgrade,end:0
+msgid "End"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.actions.wizard,name:product_listprice_upgrade.wizard_product_listprice
+msgid "Upgrade Product list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,upgrade,update_products:0
+msgid "Upgraded list price of Products"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.ui.menu,name:product_listprice_upgrade.menu_wizard_pricelist_upgrade
+msgid "Upgrade Product List price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,upgrade:0
+msgid "Upgraded list price of prodcuts"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,upgrade:0
+msgid "Upgrade"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,description:product_listprice_upgrade.module_meta_information
+msgid ""
+"\n"
+"    The aim of this module is to allow the automatic upgrade of the field "
+"'List Price' on each product.\n"
+"    * added a new price type called 'Internal Pricelist' (currently, we have "
+"only 2 price types: Sale and Purchase Pricelist)\n"
+"    * Created a wizard button in the menu Products>Pricelist called 'Upgrade "
+"Product List Price'\n"
+"    * When we have completed the wizard and click on 'Upgrade', it will "
+"change the field 'List Price' for all products contained in the categories "
+"that we have selected in the wizard\n"
+"    "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Select Product Categories "
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_button:product.listprice,init,end:0
+msgid "Cancel"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_view:product.listprice,init:0
+msgid "Upgrade list price"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,pricelist:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: wizard_field:product.listprice,init,upgrade:0
+msgid "Upgrade Child categories"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:product.pricelist.type,name:product_listprice_upgrade.pricelist_type_internal
+msgid "Internal Pricelist"
+msgstr ""
+
+#. module: product_listprice_upgrade
+#: model:ir.module.module,shortdesc:product_listprice_upgrade.module_meta_information
+msgid "Product listprice upgrade"
+msgstr "Product listprice upgrade"

=== added file 'product_listprice_upgrade/product_data.xml'
--- product_listprice_upgrade/product_data.xml	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/product_data.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<openerp>
+	<data noupdate="1">
+
+		<record model="product.pricelist.type" id="pricelist_type_internal">
+			<field name="name">Internal Pricelist</field>
+			<field name="key">internal</field>
+		</record>
+	</data>
+</openerp>

=== added file 'product_listprice_upgrade/product_wizard.xml'
--- product_listprice_upgrade/product_wizard.xml	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/product_wizard.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,16 @@
+<?xml version="1.0" ?>
+<openerp>
+	<data>
+
+		<wizard
+			string="Upgrade Product list price"
+			model="product.pricelist"
+			name="product.listprice"
+			menu="False"
+			id="wizard_product_listprice"/>
+		
+		<menuitem name="Pricelists" id="menu_wizard_pricelist" parent="product.menu_main_product"/> 
+		<menuitem name="Upgrade Product List price" id="menu_wizard_pricelist_upgrade" parent="menu_wizard_pricelist" action="wizard_product_listprice" type="wizard"/>
+
+	</data>
+</openerp>

=== added directory 'product_listprice_upgrade/wizard'
=== added file 'product_listprice_upgrade/wizard/__init__.py'
--- product_listprice_upgrade/wizard/__init__.py	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/wizard/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,22 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+import wizard_product_listprice
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_listprice_upgrade/wizard/wizard_product_listprice.py'
--- product_listprice_upgrade/wizard/wizard_product_listprice.py	1970-01-01 00:00:00 +0000
+++ product_listprice_upgrade/wizard/wizard_product_listprice.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,101 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+
+
+import pooler
+import time
+import wizard
+
+_pricelist_form = '''<?xml version="1.0"?>
+<form string="Upgrade list price">
+    <separator string="Select a pricelist " colspan="4"/>
+    <field name="pricelist" colspan="4" nolabel="1"/>
+    <separator string="Select Product Categories " colspan="4"/>
+    <field name="product_category" colspan="4" nolabel="1"/>
+    <newline/>
+    <field name="upgrade" />
+</form>'''
+
+_done_form = '''<?xml version="1.0"?>
+<form string="Upgraded list price of prodcuts">
+    <field name="update_products"/>
+
+</form>'''
+
+_done_fields = {
+    'update_products': {'string':'Upgraded list price of Products', 'type':'float', 'readonly': True},
+
+
+}
+
+class wizard_product_pricelist(wizard.interface):
+
+
+    def _get_pricelist(self, cr, uid, context):
+        pricelist_obj=pooler.get_pool(cr.dbname).get('product.pricelist')
+        ids=pricelist_obj.search(cr, uid, [('type', '=', 'internal'),])
+        pricelists=pricelist_obj.browse(cr, uid, ids)
+        return [(pricelist.id, pricelist.name ) for pricelist in pricelists]
+
+    def _upgrade_listprice(self, cr, uid, data, context):
+        self.update_products=0
+        categories_ids=data['form']['product_category']
+        pricelist_obj=pooler.get_pool(cr.dbname).get('product.pricelist')
+        cat_obj = pooler.get_pool(cr.dbname).get('product.category')
+        product_obj = pooler.get_pool(cr.dbname).get('product.product')
+        pricelist_id=data['form']['pricelist']
+
+        def _upgrade(category_id):
+            if data['form']['upgrade']==True:
+                child_ids=cat_obj.search(cr, uid, [('parent_id', '=', category_id),])
+                for child_id in child_ids:
+                    _upgrade(child_id)
+            product_ids=product_obj.search(cr, uid, [('categ_id', '=', category_id),])
+            for product_id in product_ids:
+                list_price=pricelist_obj.price_get(cr, uid, [pricelist_id], product_id, 1)
+                product_obj.write(cr, uid, [product_id], {
+                            'list_price': list_price[pricelist_id]})
+                self.update_products += 1
+
+        for category_id in categories_ids[0][2]:
+            _upgrade(category_id)
+
+        return {'update_products':self.update_products}
+
+    _pricelist_fields = {
+        'pricelist': {'string':'Pricelist', 'type':'many2one', 'relation': 'product.pricelist','domain':[('type','=','internal')], 'required':True},
+        'product_category': {'string':'Product Category', 'type':'many2many', 'relation': 'product.category', 'required':True},
+        'upgrade' : {'string':'Upgrade Child categories', 'type':'boolean', 'default': lambda x,y,z: True}
+    }
+
+    states = {
+        'init': {
+            'actions': [],
+            'result': {'type':'form', 'arch':_pricelist_form, 'fields':_pricelist_fields, 'state':[('end','Cancel'),('upgrade','Upgrade')]}
+        },
+        'upgrade':{
+             'actions':[_upgrade_listprice],
+             'result':{'type': 'form', 'arch': _done_form, 'fields': _done_fields,'state':[('end', 'End')]}
+       }
+    }
+wizard_product_pricelist('product.listprice')
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_lot_foundry'
=== added file 'product_lot_foundry/__init__.py'
--- product_lot_foundry/__init__.py	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,25 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import product_lot_foundry
+import sale_order
+import purchase_auto
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_lot_foundry/__terp__.py'
--- product_lot_foundry/__terp__.py	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/__terp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,34 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+{
+    "name" : "Products Lot Foundry",
+    "version" : "1.0",
+    "author" : "Tiny",
+    "category" : "Enterprise Specific Modules/Metal Industries",
+    "depends" : ["base", "account", "product", "stock", "sale"],
+    "init_xml" : [],
+    "demo_xml" : ["product_lot_foundry_demo.xml"],
+    "description": "Lots management for a metal company: cutting, heatcode, sizes",
+    "update_xml" : ["security/ir.model.access.csv","product_lot_foundry_view.xml","sale_order_view.xml"],
+    "active": False,
+    "installable": True
+}
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_lot_foundry/i18n'
=== added file 'product_lot_foundry/i18n/es.po'
--- product_lot_foundry/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,482 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:31+0000\n"
+"PO-Revision-Date: 2011-08-27 13:53+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,lot_id:0
+#: field:stock.production.lot.reservation,lot_id:0
+msgid "Lot"
+msgstr "Lote"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Lots Assignations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.product:0
+msgid "Dimensions"
+msgstr "Dimensiones"
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco21_product_template
+msgid "AMPCO21 plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.act_production_product
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,lot_ids:0
+#: field:product.product,lot_ids:0
+msgid "Lots"
+msgstr "Muchos"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Declaration"
+msgstr "Declaración automática"
+
+#. module: product_lot_foundry
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr "Error! No puede crear compañias recursivas."
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_all
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_heat
+msgid "Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,quality_info:0
+msgid "Quality Information"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,status:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order Lines"
+msgstr "Líneas del pedido de venta"
+
+#. module: product_lot_foundry
+#: field:product.product,size_x:0
+#: field:sale.order.line,size_x:0
+#: field:stock.production.lot,size_x:0
+#: field:stock.production.lot.reservation,size_x:0
+msgid "Width"
+msgstr "Ancho"
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Create Invoice"
+msgstr "Crear factura"
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr "Cambiar a borrador"
+
+#. module: product_lot_foundry
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre del modelo inválido en la definición de acción."
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr "Base imponible"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Compute"
+msgstr "Calcular"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Qty"
+msgstr "Ctdad"
+
+#. module: product_lot_foundry
+#: model:ir.module.module,description:product_lot_foundry.module_meta_information
+msgid "Lots management for a metal company: cutting, heatcode, sizes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,type:0
+msgid "Type"
+msgstr "Tipo"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr "Líneas de factura"
+
+#. module: product_lot_foundry
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Procurement"
+msgstr "Recrear abastecimiento"
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,name:0
+msgid "Heat Code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Mechanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Procurement Corrected"
+msgstr "Abastecimiento corregido"
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,name:0
+#: field:product.lot.foundry.heatcode.mecanical,name:0
+msgid "Property"
+msgstr "Propiedad"
+
+#. module: product_lot_foundry
+#: model:res.company,overdue_msg:product_lot_foundry.main_company_sa
+msgid ""
+"Would your payment have been carried out after this mail was sent, please "
+"consider the present one as void. Do not hesitate to contact our accounting "
+"department"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Corrected"
+msgstr "Factura corregida"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Manual Description"
+msgstr "Descripción manual"
+
+#. module: product_lot_foundry
+#: field:product.product,size_z:0
+#: field:sale.order.line,size_z:0
+#: field:stock.production.lot,size_z:0
+#: field:stock.production.lot.reservation,size_z:0
+msgid "Thickness"
+msgstr "Grosor"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Total amount"
+msgstr "Cantidad total"
+
+#. module: product_lot_foundry
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory
+msgid "Inventory Control"
+msgstr "Control inventario"
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_chemical
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,chemical_ids:0
+msgid "Chemical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,cutting:0
+msgid "Can be Cutted"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_ids:0
+msgid "Lots Assignation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr "Confirmar pedido"
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Valid"
+msgstr "Válido"
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,date:0
+#: field:stock.production.lot.reservation,date:0
+msgid "Date"
+msgstr "Fecha"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr "Información extra"
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,name:0
+msgid "Quantity"
+msgstr "Cantidad"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Properties"
+msgstr "Propiedades"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr "Cancelar pedido"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Inventory Moves"
+msgstr "Movimientos de inventario"
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Heat code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.product:0
+#: constraint:res.partner:0
+msgid "Error: Invalid EAN,UPC,JPC,GTIN code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,available:0
+msgid "Availables"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr "Error: La UdV debe estar en una categoría diferente que la UdM"
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Plate"
+msgstr "Matrícula"
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+"Error: La UdM por defecto y la UdM de compra deben estar en la misma "
+"categoría."
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Notes"
+msgstr "Notas"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order"
+msgstr "Pedido de venta"
+
+#. module: product_lot_foundry
+#: field:product.product,auto_picking:0
+msgid "Auto Picking for Production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,value:0
+#: field:product.lot.foundry.heatcode.mecanical,value:0
+msgid "Value"
+msgstr "Valor"
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,heatcode_id:0
+#: field:product.lot.foundry.heatcode.mecanical,heatcode_id:0
+#: field:stock.production.lot,heatcode_id:0
+msgid "Heatcode"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_y:0
+#: field:stock.production.lot,size_y:0
+#: field:stock.production.lot.reservation,size_y:0
+msgid "Length"
+msgstr "Longitud"
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_reservation
+msgid "stock.production.lot.reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.reservation,name:0
+msgid "Reservation"
+msgstr "Reserva"
+
+#. module: product_lot_foundry
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_lot_foundry
+#: model:ir.module.module,shortdesc:product_lot_foundry.module_meta_information
+msgid "Products Lot Foundry"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Non Conformity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+msgid "Dimension"
+msgstr "Dimensión"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "History"
+msgstr "Histórico"
+
+#. module: product_lot_foundry
+#: help:sale.order.line,prodlot_id:0
+#: help:sale.order.line,prodlot_ids:0
+msgid "Production lot is used to put a serial number on the production"
+msgstr ""
+"Lote de producción se utiliza para poner un número de serie a la producción."
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_all
+msgid "stock.production.lot.all"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr "Recrear factura"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related invoices"
+msgstr "Facturas relacionadas"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Other data"
+msgstr "Otros datos"
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+#: field:stock.production.lot,reservation_ids:0
+msgid "Reservations"
+msgstr "Reservas"
+
+#. module: product_lot_foundry
+#: field:sale.order.line,size_y:0
+msgid "Height"
+msgstr "Alto"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "States"
+msgstr "Estados"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr "Líneas del pedido de ventas"
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_mecanical
+#: field:product.lot.foundry.heatcode,mecanical_ids:0
+msgid "Mecanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_id:0
+msgid "Production lot"
+msgstr "Lote producción"
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Done"
+msgstr "Hecho"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "UoM"
+msgstr "UdM"
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related packings"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_draft
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_draft_heat
+msgid "Draft Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order"
+msgstr "Pedido de ventas"
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco25_product_template
+msgid "Ampco25 Rectangle Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Order Line"
+msgstr "Línea de pedido"

=== added file 'product_lot_foundry/i18n/fr_BE.po'
--- product_lot_foundry/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,471 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_lot_foundry
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31:27+0000\n"
+"PO-Revision-Date: 2009-11-25 13:31:27+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,lot_id:0
+#: field:stock.production.lot.reservation,lot_id:0
+msgid "Lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Lots Assignations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.product:0
+msgid "Dimensions"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco21_product_template
+msgid "AMPCO21 plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.act_production_product
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,lot_ids:0
+#: field:product.product,lot_ids:0
+msgid "Lots"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Declaration"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_all
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_heat
+msgid "Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,quality_info:0
+msgid "Quality Information"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,status:0
+msgid "Status"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_x:0
+#: field:sale.order.line,size_x:0
+#: field:stock.production.lot,size_x:0
+#: field:stock.production.lot.reservation,size_x:0
+msgid "Width"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,state:0
+msgid "State"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Qty"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,description:product_lot_foundry.module_meta_information
+msgid "Lots management for a metal company: cutting, heatcode, sizes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,type:0
+msgid "Type"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Procurement"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,name:0
+msgid "Heat Code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Mechanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Procurement Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,name:0
+#: field:product.lot.foundry.heatcode.mecanical,name:0
+msgid "Property"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:res.company,overdue_msg:product_lot_foundry.main_company_sa
+msgid "Would your payment have been carried out after this mail was sent, please consider the present one as void. Do not hesitate to contact our accounting department"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Manual Description"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_z:0
+#: field:sale.order.line,size_z:0
+#: field:stock.production.lot,size_z:0
+#: field:stock.production.lot.reservation,size_z:0
+msgid "Thickness"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Total amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory
+msgid "Inventory Control"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_chemical
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,chemical_ids:0
+msgid "Chemical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,cutting:0
+msgid "Can be Cutted"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_ids:0
+msgid "Lots Assignation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Valid"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,date:0
+#: field:stock.production.lot.reservation,date:0
+msgid "Date"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,name:0
+msgid "Quantity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Inventory Moves"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Heat code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.product:0
+#: constraint:res.partner:0
+msgid "Error: Invalid EAN,UPC,JPC,GTIN code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,available:0
+msgid "Availables"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,auto_picking:0
+msgid "Auto Picking for Production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,value:0
+#: field:product.lot.foundry.heatcode.mecanical,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,heatcode_id:0
+#: field:product.lot.foundry.heatcode.mecanical,heatcode_id:0
+#: field:stock.production.lot,heatcode_id:0
+msgid "Heatcode"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_y:0
+#: field:stock.production.lot,size_y:0
+#: field:stock.production.lot.reservation,size_y:0
+msgid "Length"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_reservation
+msgid "stock.production.lot.reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.reservation,name:0
+msgid "Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,shortdesc:product_lot_foundry.module_meta_information
+msgid "Products Lot Foundry"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Non Conformity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+msgid "Dimension"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: product_lot_foundry
+#: help:sale.order.line,prodlot_id:0
+#: help:sale.order.line,prodlot_ids:0
+msgid "Production lot is used to put a serial number on the production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_all
+msgid "stock.production.lot.all"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related invoices"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Other data"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+#: field:stock.production.lot,reservation_ids:0
+msgid "Reservations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,size_y:0
+msgid "Height"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_mecanical
+#: field:product.lot.foundry.heatcode,mecanical_ids:0
+msgid "Mecanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_id:0
+msgid "Production lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Done"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "UoM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related packings"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_draft
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_draft_heat
+msgid "Draft Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco25_product_template
+msgid "Ampco25 Rectangle Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Order Line"
+msgstr ""
+

=== added file 'product_lot_foundry/i18n/product_lot_foundry.pot'
--- product_lot_foundry/i18n/product_lot_foundry.pot	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/i18n/product_lot_foundry.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,471 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_lot_foundry
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31:27+0000\n"
+"PO-Revision-Date: 2009-11-25 13:31:27+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,lot_id:0
+#: field:stock.production.lot.reservation,lot_id:0
+msgid "Lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Lots Assignations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.product:0
+msgid "Dimensions"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco21_product_template
+msgid "AMPCO21 plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.act_production_product
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,lot_ids:0
+#: field:product.product,lot_ids:0
+msgid "Lots"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Declaration"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_all
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_heat
+msgid "Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,quality_info:0
+msgid "Quality Information"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,status:0
+msgid "Status"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_x:0
+#: field:sale.order.line,size_x:0
+#: field:stock.production.lot,size_x:0
+#: field:stock.production.lot.reservation,size_x:0
+msgid "Width"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,state:0
+msgid "State"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Qty"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,description:product_lot_foundry.module_meta_information
+msgid "Lots management for a metal company: cutting, heatcode, sizes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,type:0
+msgid "Type"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Procurement"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,name:0
+msgid "Heat Code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Mechanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Procurement Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,name:0
+#: field:product.lot.foundry.heatcode.mecanical,name:0
+msgid "Property"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:res.company,overdue_msg:product_lot_foundry.main_company_sa
+msgid "Would your payment have been carried out after this mail was sent, please consider the present one as void. Do not hesitate to contact our accounting department"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Manual Description"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_z:0
+#: field:sale.order.line,size_z:0
+#: field:stock.production.lot,size_z:0
+#: field:stock.production.lot.reservation,size_z:0
+msgid "Thickness"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Total amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory
+msgid "Inventory Control"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_chemical
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,chemical_ids:0
+msgid "Chemical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,cutting:0
+msgid "Can be Cutted"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_ids:0
+msgid "Lots Assignation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Valid"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,date:0
+#: field:stock.production.lot.reservation,date:0
+msgid "Date"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,name:0
+msgid "Quantity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Inventory Moves"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Heat code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.product:0
+#: constraint:res.partner:0
+msgid "Error: Invalid EAN,UPC,JPC,GTIN code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,available:0
+msgid "Availables"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,auto_picking:0
+msgid "Auto Picking for Production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,value:0
+#: field:product.lot.foundry.heatcode.mecanical,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,heatcode_id:0
+#: field:product.lot.foundry.heatcode.mecanical,heatcode_id:0
+#: field:stock.production.lot,heatcode_id:0
+msgid "Heatcode"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_y:0
+#: field:stock.production.lot,size_y:0
+#: field:stock.production.lot.reservation,size_y:0
+msgid "Length"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_reservation
+msgid "stock.production.lot.reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.reservation,name:0
+msgid "Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,shortdesc:product_lot_foundry.module_meta_information
+msgid "Products Lot Foundry"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Non Conformity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+msgid "Dimension"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: product_lot_foundry
+#: help:sale.order.line,prodlot_id:0
+#: help:sale.order.line,prodlot_ids:0
+msgid "Production lot is used to put a serial number on the production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_all
+msgid "stock.production.lot.all"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related invoices"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Other data"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+#: field:stock.production.lot,reservation_ids:0
+msgid "Reservations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,size_y:0
+msgid "Height"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_mecanical
+#: field:product.lot.foundry.heatcode,mecanical_ids:0
+msgid "Mecanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_id:0
+msgid "Production lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Done"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "UoM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related packings"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_draft
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_draft_heat
+msgid "Draft Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco25_product_template
+msgid "Ampco25 Rectangle Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Order Line"
+msgstr ""
+

=== added file 'product_lot_foundry/i18n/sv.po'
--- product_lot_foundry/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,476 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_lot_foundry
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31+0000\n"
+"PO-Revision-Date: 2010-11-23 01:33+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,lot_id:0
+#: field:stock.production.lot.reservation,lot_id:0
+msgid "Lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Lots Assignations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.product:0
+msgid "Dimensions"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco21_product_template
+msgid "AMPCO21 plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.act_production_product
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,lot_ids:0
+#: field:product.product,lot_ids:0
+msgid "Lots"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Declaration"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:res.company:0
+msgid "Error! You can not create recursive companies."
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_all
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_heat
+msgid "Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,quality_info:0
+msgid "Quality Information"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,status:0
+msgid "Status"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_x:0
+#: field:sale.order.line,size_x:0
+#: field:stock.production.lot,size_x:0
+#: field:stock.production.lot.reservation,size_x:0
+msgid "Width"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,state:0
+msgid "State"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Set to Draft"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Untaxed amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Compute"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Qty"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,description:product_lot_foundry.module_meta_information
+msgid "Lots management for a metal company: cutting, heatcode, sizes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,type:0
+msgid "Type"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Procurement"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,name:0
+msgid "Heat Code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Mechanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Procurement Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,name:0
+#: field:product.lot.foundry.heatcode.mecanical,name:0
+msgid "Property"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:res.company,overdue_msg:product_lot_foundry.main_company_sa
+msgid ""
+"Would your payment have been carried out after this mail was sent, please "
+"consider the present one as void. Do not hesitate to contact our accounting "
+"department"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Invoice Corrected"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Manual Description"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_z:0
+#: field:sale.order.line,size_z:0
+#: field:stock.production.lot,size_z:0
+#: field:stock.production.lot.reservation,size_z:0
+msgid "Thickness"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Total amount"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory
+msgid "Inventory Control"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_chemical
+#: view:product.lot.foundry.heatcode:0
+#: field:product.lot.foundry.heatcode,chemical_ids:0
+msgid "Chemical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,cutting:0
+msgid "Can be Cutted"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Automatic Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_ids:0
+msgid "Lots Assignation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Confirm Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:product.lot.foundry.heatcode,state:0
+#: selection:stock.production.lot,status:0
+msgid "Valid"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode,date:0
+#: field:stock.production.lot.reservation,date:0
+msgid "Date"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.all,name:0
+msgid "Quantity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Inventory Moves"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:product.lot.foundry.heatcode:0
+msgid "Heat code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.product:0
+#: constraint:res.partner:0
+msgid "Error: Invalid EAN,UPC,JPC,GTIN code"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot,available:0
+msgid "Availables"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid "Error: UOS must be in a different category than the UOM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,type:0
+msgid "Plate"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Notes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sale Order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,auto_picking:0
+msgid "Auto Picking for Production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,value:0
+#: field:product.lot.foundry.heatcode.mecanical,value:0
+msgid "Value"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.lot.foundry.heatcode.chemical,heatcode_id:0
+#: field:product.lot.foundry.heatcode.mecanical,heatcode_id:0
+#: field:stock.production.lot,heatcode_id:0
+msgid "Heatcode"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:product.product,size_y:0
+#: field:stock.production.lot,size_y:0
+#: field:stock.production.lot.reservation,size_y:0
+msgid "Length"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_reservation
+msgid "stock.production.lot.reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:stock.production.lot.reservation,name:0
+msgid "Reservation"
+msgstr ""
+
+#. module: product_lot_foundry
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.module.module,shortdesc:product_lot_foundry.module_meta_information
+msgid "Products Lot Foundry"
+msgstr "Products Lot Foundry"
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Non Conformity"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+msgid "Dimension"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "History"
+msgstr ""
+
+#. module: product_lot_foundry
+#: help:sale.order.line,prodlot_id:0
+#: help:sale.order.line,prodlot_ids:0
+msgid "Production lot is used to put a serial number on the production"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_stock_production_lot_all
+msgid "stock.production.lot.all"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related invoices"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Other data"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:stock.production.lot:0
+#: field:stock.production.lot,reservation_ids:0
+msgid "Reservations"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,size_y:0
+msgid "Height"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "States"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order lines"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.model,name:product_lot_foundry.model_product_lot_foundry_heatcode_mecanical
+#: field:product.lot.foundry.heatcode,mecanical_ids:0
+msgid "Mecanical Properties"
+msgstr ""
+
+#. module: product_lot_foundry
+#: field:sale.order.line,prodlot_id:0
+msgid "Production lot"
+msgstr ""
+
+#. module: product_lot_foundry
+#: selection:stock.production.lot,status:0
+msgid "Done"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "UoM"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Related packings"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:ir.actions.act_window,name:product_lot_foundry.action_heatcode_draft
+#: model:ir.ui.menu,name:product_lot_foundry.menu_action_inventory_draft_heat
+msgid "Draft Heat Codes"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Sales order"
+msgstr ""
+
+#. module: product_lot_foundry
+#: model:product.template,name:product_lot_foundry.product_product_ampco25_product_template
+msgid "Ampco25 Rectangle Bar"
+msgstr ""
+
+#. module: product_lot_foundry
+#: view:sale.order:0
+msgid "Order Line"
+msgstr ""

=== added file 'product_lot_foundry/product_lot_foundry.py'
--- product_lot_foundry/product_lot_foundry.py	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/product_lot_foundry.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,216 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import time
+from osv import fields,osv
+import pooler
+import netsvc
+
+class stock_heatcode(osv.osv):
+    _name = 'product.lot.foundry.heatcode'
+    _description = "Heat Code"
+    _columns = {
+        'name': fields.char('Heat Code', size=64, required=True),
+        'date': fields.date('Date', required=True),
+        'chemical_ids': fields.one2many('product.lot.foundry.heatcode.chemical', 'heatcode_id', 'Chemical Properties'),
+        'mecanical_ids': fields.one2many('product.lot.foundry.heatcode.mecanical', 'heatcode_id','Mecanical Properties'),
+        'lot_ids': fields.one2many('stock.production.lot', 'heatcode_id','Lots'),
+        'state': fields.selection([
+            ('draft','Draft'),
+            ('valid','Valid')
+        ], 'State', required=True)
+    }
+    _defaults = {
+        'date': lambda *args: time.strftime('%Y-%m-%d'),
+        'state': lambda *args: 'draft'
+    }
+    def name_get(self, cr, uid, ids, context={}):
+        res = {}
+        for lot in self.browse(cr, uid, ids, context):
+            res[lot.id] = lot.name+'   '
+            for prop in lot.chemical_ids:
+                res[lot.id]+= (' %s=<%s>' % (prop.name,prop.value))
+        return res.items()
+stock_heatcode()
+
+
+class stock_heatcode_mecanical(osv.osv):
+    _name = 'product.lot.foundry.heatcode.mecanical'
+    _description = "Mecanical Properties"
+    _columns = {
+        'name': fields.char('Property', size=64, required=True),
+        'value': fields.char('Value', size=64, required=True),
+        'heatcode_id': fields.many2one('product.lot.foundry.heatcode', 'Heatcode'),
+    }
+stock_heatcode_mecanical()
+
+
+class stock_heatcode_chemical(osv.osv):
+    _name = 'product.lot.foundry.heatcode.chemical'
+    _description = "Chemical Properties"
+    _columns = {
+        'name': fields.char('Property', size=64, required=True),
+        'value': fields.char('Value', size=64, required=True),
+        'heatcode_id': fields.many2one('product.lot.foundry.heatcode', 'Heatcode'),
+    }
+stock_heatcode_chemical()
+
+
+
+class stock_production_lot(osv.osv):
+    _name = 'stock.production.lot'
+    _inherit = 'stock.production.lot'
+    def _available_get(self, cr, uid, ids, name, args, context={}):
+        res = {}
+        for lot in self.browse(cr, uid, ids, context):
+            if lot.type=='bar':
+                x = lot.size_x
+                for res2 in lot.reservation_ids:
+                    x -= res2.size_x
+                print  ('%.2f mm'% (x,)), res
+
+                res[lot.id] = ('%.2f mm'% (x,))
+            else:
+                res[lot.id] = '%d mm x 122mm x 12mm\n%d mm x 22mm x 12mm' % (lot.size_x or 0.0,lot.size_x or 0.0)
+        return res
+    def _get_size(dtype):
+        def calc_date(self, cr, uid, context={}):
+            if context.get('product_id', False):
+                product = pooler.get_pool(cr.dbname).get('product.product').browse(cr, uid, [context['product_id']])[0]
+                duree = getattr(product, dtype) or 0
+                return duree
+            else:
+                return False
+        return calc_date
+
+    _columns = {
+        'size_x': fields.float('Width'),
+        'size_y': fields.float('Length'),
+        'size_z': fields.float('Thickness'),
+        'product_id': fields.many2one('product.product', 'Product'),
+        'heatcode_id': fields.many2one('product.lot.foundry.heatcode', 'Heatcode'),
+        'type': fields.selection([
+            ('bar','Bar'),
+            ('plate','Plate')
+        ], 'Type', required=True),
+        'status': fields.selection([
+            ('draft', 'Draft'),
+            ('valid', 'Valid'),
+            ('non conformity', 'Non Conformity'),
+            ('done', 'Done')
+        ], 'Status', required=True),
+        'quality_info': fields.text('Quality Information'),
+        'reservation_ids': fields.one2many('stock.production.lot.reservation', 'lot_id', 'Reservations'),
+        'available': fields.function(_available_get, type="text", method=True, string='Availables'),
+    }
+    _defaults = {
+        'status': lambda *args: 'draft',
+        'product_id': lambda self,cr, uid, ctx: ctx.get('product_id', False),
+        'name': lambda *args: time.strftime('%Y-%m-%d'),
+        'type': lambda *args: 'bar',
+        'size_x': _get_size('Width'),
+        'size_y': _get_size('Length'),
+        'size_z': _get_size('Thickness'),
+    }
+stock_production_lot()
+
+class stock_production_lot_reservation(osv.osv):
+    _name = 'stock.production.lot.reservation'
+    _columns = {
+        'name': fields.char('Reservation', size=64),
+        'date': fields.date('Date'),
+        'size_x': fields.float('Width'),
+        'size_y': fields.float('Length'),
+        'size_z': fields.float('Thickness'),
+        'lot_id': fields.many2one('stock.production.lot', 'Lot', required=True, ondelete="cascade")
+    }
+    _defaults = {
+        'date': lambda *args: time.strftime('%Y-%m-%d'),
+    }
+stock_production_lot_reservation()
+
+class product_product(osv.osv):
+    _inherit = 'product.product'
+    _columns = {
+        'size_x': fields.float('Width'),
+        'size_y': fields.float('Length'),
+        'size_z': fields.float('Thickness'),
+        'lot_ids': fields.one2many('stock.production.lot', 'product_id', 'Lots'),
+        'cutting': fields.boolean('Can be Cutted'),
+        'auto_picking': fields.boolean('Auto Picking for Production')
+    }
+product_product()
+
+
+class stock_move(osv.osv):
+    _inherit = "stock.move"
+    def check_assign(self, cr, uid, ids, context={}):
+        done = []
+        count=0
+        pickings = {}
+        for move in self.browse(cr, uid, ids):
+            if move.product_id.type == 'consu':
+                if mode.state in ('confirmed', 'waiting'):
+                    done.append(move.id)
+                pickings[move.picking_id.id] = 1
+                continue
+            if move.state in ('confirmed','waiting'):
+                if move.product_id.cutting:
+                    # TODO Check for reservation
+                    done.append(move.id)
+                    pickings[move.picking_id.id] = 1
+                    cr.execute('update stock_move set location_id=%s where id=%s', (move.product_id.property_stock_production.id, move.id))
+
+                    move_id = self.copy(cr, uid, move.id, {
+                        'product_uos_qty': move.product_uos_qty,
+                        'product_qty': 0,
+                        'location_id': move.location_id.id,
+                        'location_dest_id': move.product_id.property_stock_production.id
+                    })
+                    done.append(move_id)
+
+                else:
+                    res = self.pool.get('stock.location')._product_reserve(cr, uid, [move.location_id.id], move.product_id.id, move.product_qty, {'uom': move.product_uom.id})
+                    if res:
+                        done.append(move.id)
+                        pickings[move.picking_id.id] = 1
+                        r = res.pop(0)
+                        cr.execute('update stock_move set location_id=%s, product_qty=%s where id=%s', (r[1],r[0], move.id))
+
+                        while res:
+                            r = res.pop(0)
+                            move_id = self.copy(cr, uid, move.id, {'product_qty':r[0], 'location_id':r[1]})
+                            done.append(move_id)
+                            #cr.execute('insert into stock_move_history_ids values (%s,%s)', (move.id,move_id))
+        if done:
+            count += len(done)
+            self.write(cr, uid, done, {'state':'assigned'})
+
+        if count:
+            for pick_id in pickings:
+                wf_service = netsvc.LocalService("workflow")
+                wf_service.trg_write(uid, 'stock.picking', pick_id, cr)
+        return count
+
+stock_move()
+
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_lot_foundry/product_lot_foundry_demo.xml'
--- product_lot_foundry/product_lot_foundry_demo.xml	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/product_lot_foundry_demo.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,168 @@
+<openerp>
+	<data noupdate="1">
+		# --------------------------------------------------------------------
+		# Heat Codes
+		# --------------------------------------------------------------------
+
+		<record model="product.lot.foundry.heatcode" id="mwk31879">
+			<field name="name">MWK 31879</field>
+			<field name="state">valid</field>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Zn</field>
+			<field name="value">80%</field>
+			<field name="heatcode_id" ref="mwk31879"/>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Cu</field>
+			<field name="value">90%</field>
+			<field name="heatcode_id" ref="mwk31879"/>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Mg</field>
+			<field name="value">15%</field>
+			<field name="heatcode_id" ref="mwk31879"/>
+		</record>
+
+		<record model="product.lot.foundry.heatcode.mecanical">
+			<field name="name">Poids</field>
+			<field name="value">1.234 Kg/Sm</field>
+			<field name="heatcode_id" ref="mwk31879"/>
+		</record>
+
+		<record model="product.lot.foundry.heatcode" id="mwk32345">
+			<field name="name">MWK 32345</field>
+			<field name="state">valid</field>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Zn</field>
+			<field name="value">80%</field>
+			<field name="heatcode_id" ref="mwk32345"/>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Cu</field>
+			<field name="value">50%</field>
+			<field name="heatcode_id" ref="mwk32345"/>
+		</record>
+		<record model="product.lot.foundry.heatcode.chemical">
+			<field name="name">Mg</field>
+			<field name="value">18%</field>
+			<field name="heatcode_id" ref="mwk32345"/>
+		</record>
+
+		<record model="product.lot.foundry.heatcode.mecanical">
+			<field name="name">Poids</field>
+			<field name="value">4.23 Kg/Sm</field>
+			<field name="heatcode_id" ref="mwk32345"/>
+		</record>
+
+
+	<record id="res_partner_amcofr" model="res.partner">
+		<field name="name">Ampco France</field>
+		<field name="user_id" ref="base.user_demo"/>
+	</record>
+	<record id="res_partner_amcofoundry" model="res.partner">
+		<field name="name">Ampco Foundry</field>
+	</record>
+	<record id="res_partner_amcosa" model="res.partner">
+		<field name="name">Ampco SA</field>
+		<field name="user_id" ref="base.user_demo"/>
+	</record>
+	<record id="res_partner_address_1" model="res.partner.address">
+		<field name="city">Bruxelles</field>
+		<field name="name">Benoit Mortier</field>
+		<field name="zip">75000</field>
+		<field name="country_id" model="res.country" search="[('name','=','France')]"/>
+		<field name="email">info@xxxxxxxxxxxx</field>
+		<field name="phone">(+33)2 211 34 83</field>
+		<field name="street">Rue des Palais 44, bte 33</field>
+		<field name="type">default</field>
+		<field name="partner_id" ref="res_partner_amcofr"/>
+	</record>
+	<record id="res_partner_address_2" model="res.partner.address">
+		<field name="city">Marly</field>
+		<field name="name">Benoit Mortier</field>
+		<field name="zip">1723</field>
+		<field name="country_id" model="res.country" search="[('code','=','CH')]"/>
+		<field name="email">info@xxxxxxxx</field>
+		<field name="phone">(+41)2 211 34 83</field>
+		<field name="street">Rte de chesalles 48</field>
+		<field name="type">default</field>
+		<field name="partner_id" ref="res_partner_amcosa"/>
+	</record>
+	<record id="res_partner_address_3" model="res.partner.address">
+		<field name="city">Marly</field>
+		<field name="name">Benoit Mortier</field>
+		<field name="zip">1723</field>
+		<field name="country_id" model="res.country" search="[('code','=','CH')]"/>
+		<field name="email">info@xxxxxxxx</field>
+		<field name="phone">(+41)2 211 34 83</field>
+		<field name="street">Rte de chesalles 48</field>
+		<field name="type">default</field>
+		<field name="partner_id" ref="res_partner_amcofoundry"/>
+	</record>
+
+
+	<record model="res.company" id="base.main_company">
+		<field name="name">Amco France</field>
+		<field name="partner_id" ref="res_partner_amcofr"/>
+		<field name="rml_header1">Your Solution Provider</field>
+	</record>
+
+	<record model="res.company" id="main_company_sa">
+		<field name="name">Ampco SA</field>
+		<field name="partner_id" ref="res_partner_amcosa"/>
+		<field name="rml_header1">Your Solution Provider</field>
+		<field name="rml_footer1">Web: http://tiny.be - Tel: (+32).81.81.37.00 - Bank: CPH 126-2013269-07</field>
+		<field name="rml_footer2">IBAN: BE74 1262 0132 6907 - SWIFT: GKCCBEBB - VAT: BE0477.472.701</field>
+		<field name="currency_id" ref="base.EUR"/>
+	</record>
+	<record model="res.users" id="base.user_demo">
+		<field name="address_id" ref="main_company_sa"/>
+	</record>
+
+
+
+		<record id="product_product_ampco25" model="product.product">
+			<field name="supply_method">buy</field>
+			<field name="list_price">7.0</field>
+			<field name="standard_price">5.0</field>
+			<field name="uom_id" ref="product.product_uom_unit"/>
+			<field name="uom_po_id" ref="product.product_uom_unit"/>
+			<field name="uos_id" ref="product.product_uom_kgm" />
+			<field name="uos_coeff">20</field>
+			<field name="name">Ampco25 Rectangle Bar</field>
+			<field name="procure_method">make_to_order</field>
+			<field name="size_x">101.6</field>
+			<field name="size_y">254.0</field>
+			<field name="size_z">1</field>
+			<field name="default_code">AMPCO25</field>
+			<field name="ean13">3307630302014</field>
+			<field name="categ_id" search="[]" model="product.category"/>
+		</record>
+		<record model="product.supplierinfo" id="supplier_ampco25">
+			<field name="name" ref="res_partner_amcosa"/>
+			<field name="product_id" ref="product_product_ampco25"/>
+			<field name="delay" eval="15"/>
+		</record>
+
+		<record id="product_product_ampco21" model="product.product">
+			<field name="supply_method">buy</field>
+			<field name="list_price">8.0</field>
+			<field name="standard_price">6.0</field>
+			<field name="uom_id" ref="product.product_uom_unit"/>
+			<field name="uom_po_id" ref="product.product_uom_unit"/>
+			<field name="uos_id" ref="product.product_uom_kgm" />
+			<field name="uos_coeff">1045.45</field>
+			<field name="name">AMPCO21 plate</field>
+			<field name="procure_method">make_to_order</field>
+			<field name="size_x">450</field>
+			<field name="size_y">1500</field>
+			<field name="size_z">145.0</field>
+			<field name="default_code">AMPCO21</field>
+			<field name="ean13">3307631101876</field>
+			<field name="categ_id" search="[]" model="product.category"/>
+		</record>
+
+	</data>
+</openerp>

=== added file 'product_lot_foundry/product_lot_foundry_view.xml'
--- product_lot_foundry/product_lot_foundry_view.xml	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/product_lot_foundry_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,146 @@
+<?xml version="1.0" ?>
+<openerp>
+	<data>
+		<record model="ir.ui.view" id="view_production_lot_tree">
+			<field name="name">stock.production.lot.foundry.tree</field>
+			<field name="model">stock.production.lot</field>
+			<field name="inherit_id" ref="stock.view_production_lot_tree" />
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<field name="revisions" position="replace">
+					<field name="size_x"/>
+					<field name="size_y"/>
+					<field name="size_z"/>
+					<field name="available"/>
+					<field name="status"/>
+				</field>
+			</field>
+		</record>
+
+		<record model="ir.ui.view" id="view_move_form_expiry">
+			<field name="name">stock.production.lot.form</field>
+			<field name="model">stock.production.lot</field>
+			<field name="inherit_id" ref="stock.view_production_lot_form" />
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<separator position="before">
+					<field name="status" select="2"/>
+					<field name="product_id" colspan="4"/>
+					<field name="size_x" string="Dimension" select="1"/>
+					<field name="type" select="2"/>
+					<field name="size_y" select="1"/>
+					<field name="size_z" select="1"/>
+					<field name="heatcode_id" colspan="4" select="2"/>
+					<field name="quality_info" colspan="4"/>
+					<field name="available" colspan="4"/>
+					<field name="reservation_ids" colspan="4">
+						<tree string="Reservations">
+							<field name="name"/>
+							<field name="date"/>
+							<field name="size_x"/>
+							<field name="size_y"/>
+							<field name="size_z"/>
+						</tree>
+					</field>
+				</separator>
+			</field>
+		</record>
+
+		# --------------------------------------------------------------------
+		# Heat Code
+		# --------------------------------------------------------------------
+
+		<record model="ir.ui.view" id="view_product_lot_foundry_heatcode_tree">
+			<field name="name">product.lot.foundry.heatcode.tree</field>
+			<field name="model">product.lot.foundry.heatcode</field>
+			<field name="type">tree</field>
+			<field name="arch" type="xml">
+				<tree string="Heat code">
+					<field name="name"/>
+					<field name="date"/>
+					<field name="state"/>
+				</tree>
+			</field>
+		</record>
+
+
+		<record model="ir.ui.view" id="view_product_lot_foundry_heatcode_form">
+			<field name="name">product.lot.foundry.heatcode.form</field>
+			<field name="model">product.lot.foundry.heatcode</field>
+			<field name="type">form</field>
+			<field name="arch" type="xml">
+				<form string="Heat code">
+					<notebook colspan="4">
+					<page string="Heat Code">
+						<field name="name" select="1"/>
+						<field name="date" select="1"/>
+						<separator string="Chemical Properties" colspan="4"/>
+						<field name="chemical_ids" colspan="4" nolabel="1">
+							<tree string="Chemical Properties" editable="bottom">
+								<field name="name"/>
+								<field name="value"/>
+							</tree>
+						</field>
+						<separator string="Mechanical Properties" colspan="4"/>
+						<field name="mecanical_ids" colspan="4" nolabel="1">
+							<tree string="Mechanical Properties" editable="bottom">
+								<field name="name"/>
+								<field name="value"/>
+							</tree>
+						</field>
+						<field name="state"/>
+					</page><page string="Lots">
+						<field name="lot_ids" nolabel="1" colspan="4"/>
+					</page>
+					</notebook>
+				</form>
+			</field>
+		</record>
+
+
+	<record model="ir.actions.act_window" id="action_heatcode_all">
+		<field name="name">Heat Codes</field>
+		<field name="res_model">product.lot.foundry.heatcode</field>
+		<field name="view_type">form</field>
+	</record>
+	
+	<menuitem name="Inventory Control" id="menu_action_inventory"/>
+	<menuitem name="Heat Codes" id="menu_action_inventory_heat" parent="menu_action_inventory" action="action_heatcode_all"/>
+	
+	<record model="ir.actions.act_window" id="action_heatcode_draft">
+		<field name="name">Draft Heat Codes</field>
+		<field name="res_model">product.lot.foundry.heatcode</field>
+		<field name="view_type">form</field>
+		<field name="domain">[('state','=','draft')]</field>
+	</record>
+	<menuitem name="Draft Heat Codes" id="menu_action_inventory_draft_heat" parent="menu_action_inventory_heat" action="action_heatcode_draft"/>
+
+	<record model="ir.ui.view" id="view_product_form_expiry">
+		<field name="name">product.normal.form</field>
+		<field name="model">product.product</field>
+		<field name="inherit_id" ref="product.product_normal_form_view" />
+		<field name="type">form</field>
+		<field name="arch" type="xml">
+			<notebook position="inside">
+				<page string="Dimensions">
+					<field name="size_x" />
+					<field name="size_y" />
+					<field name="size_z" />
+					<newline/>
+					<field name="cutting" />
+					<field name="auto_picking" />
+				</page>
+			</notebook>
+		</field>
+	</record>
+
+	<act_window name="Lots"
+		domain="[('product_id', '=', active_id)]"
+		res_model="stock.production.lot"
+		src_model="product.product"
+		id="act_production_product"/>
+
+
+	</data>
+</openerp>
+

=== added file 'product_lot_foundry/purchase_auto.py'
--- product_lot_foundry/purchase_auto.py	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/purchase_auto.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,37 @@
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import time
+import netsvc
+from osv import fields, osv
+
+class mrp_procurement(osv.osv):
+    _inherit = "mrp.procurement"
+    def action_po_assign(self,cr, uid, ids):
+        res = super(mrp_procurement,self).action_po_assign(cr, uid, ids)
+        wf_service = netsvc.LocalService("workflow")
+        wf_service.trg_validate(uid, 'purchase.order', res, 'purchase_confirm', cr)
+        wf_service.trg_validate(uid, 'purchase.order', res, 'purchase_approve', cr)
+        return res
+
+mrp_procurement()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_lot_foundry/sale_order.py'
--- product_lot_foundry/sale_order.py	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/sale_order.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,91 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
+#    $Id$
+#
+#    This program is free software: you can redistribute it and/or modify
+#    it under the terms of the GNU 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 General Public License for more details.
+#
+#    You should have received a copy of the GNU General Public License
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+import time
+from osv import fields, osv
+
+class sale_order_line(osv.osv):
+    _inherit = "sale.order.line"
+    def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
+            uom=False, qty_uos=0, uos=False, name='', partner_id=False, fiscal_position=False,
+            lang=False, update_tax=True):
+        res = super(sale_order_line,self).product_id_change(cr, uid, ids, pricelist, product,
+            qty=qty, uom=uom, qty_uos=qty_uos, uos=uos, name=name, partner_id=partner_id, fiscal_position=fiscal_position, lang=lang, update_tax=update_tax)
+        if product:
+            p = self.pool.get('product.product').browse(cr, uid, product)
+            res['value']['size_x'] = p.size_x
+            res['value']['size_y'] = p.size_y
+            res['value']['size_z'] = p.size_z
+        return res
+    def size_change(self, cr, uid, ids, size_x, size_y, size_z, product_id, qty, context={}):
+        if (not product_id) or not (size_x and size_y and size_z):
+            return {}
+        res= {}
+        p = self.pool.get('product.product').browse(cr, uid, product_id)
+        if size_y and size_z:
+            res['product_uos_qty'] = size_x*size_y*size_z*p.weight*qty / 1000000
+        else:
+            res['product_uos_qty'] = size_x*p.weight*qty / 1000
+        return {'value': res}
+
+
+    _columns = {
+        'prodlot_id' : fields.many2one('stock.production.lot', 'Production lot', help="Production lot is used to put a serial number on the production"),
+        'prodlot_ids' : fields.one2many('stock.production.lot.all', 'line_id', 'Lots Assignation', help="Production lot is used to put a serial number on the production"),
+        'size_x' : fields.float(digits=(16,2), string='Width'),
+        'size_y' : fields.float(digits=(16,2), string='Height'),
+        'size_z' : fields.float(digits=(16,2), string='Thickness'),
+    }
+sale_order_line()
+
+class prod_lot_lines(osv.osv):
+    _name='stock.production.lot.all'
+    _columns = {
+        'name': fields.float('Quantity'),
+        'lot_id': fields.many2one('stock.production.lot', 'Lot'),
+    }
+prod_lot_lines()
+
+class sale_order(osv.osv):
+    _inherit = "sale.order"
+    def action_wait(self, cr, uid, ids, *args):
+        print 'Confirm'
+        res = super(sale_order,self).action_wait(cr, uid, ids, *args)
+        for sale in self.browse(cr, uid, ids):
+            for line in sale.order_line:
+                if line.prodlot_id.id:
+                    self.pool.get('stock.production.lot.reservation').create(cr, uid, {
+                        'name': sale.name,
+                        'size_x': line.size_x,
+                        'size_y': line.size_y,
+                        'size_z': line.size_z,
+                        'lot_id': line.prodlot_id.id
+                    })
+                for move in line.move_ids:
+                    self.pool.get('stock.move').write(cr, uid, {
+                        'prodlot_id': line.prodlot_id.id or False,
+                        'name': '%.2f x %.2f x %.2f' % (line.size_x or 1.0, line.size_y or 1.0, line.size_z or 1.0)
+                    })
+        return res
+sale_order()
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_lot_foundry/sale_order_view.xml'
--- product_lot_foundry/sale_order_view.xml	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/sale_order_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,140 @@
+<?xml version="1.0"?>
+<openerp>
+<data>
+	<record model="ir.ui.view" id="view_order_form">
+		<field name="name">sale.order.form</field>
+		<field name="model">sale.order</field>
+		<field name="type">form</field>
+		<field name="arch" type="xml">
+			<form string="Sales order">
+				<notebook>
+					<page string="Sale Order">
+						<field name="name" select="1"/>
+						<group colspan="2" col="4">
+							<field name="shipped" select="2"/>
+							<field name="invoiced" select="2"/>
+						</group>
+						<newline/>
+						<field name="date_order" select="1"/>
+						<field name="shop_id" select="2" on_change="onchange_shop_id(shop_id)"/>
+						<field name="partner_id" select="1" on_change="onchange_partner_id(partner_id)" required="1"/>
+						<field name="partner_order_id" domain="[('partner_id','=',partner_id)]"/>
+						<field name="partner_invoice_id" domain="[('partner_id','=',partner_id)]"/>
+						<field name="partner_shipping_id" domain="[('partner_id','=',partner_id)]"/>
+						<field name="pricelist_id"  domain="[('type','=','sale')]"/>
+						<field name="project_id" select="2"/>
+						<newline/>
+						<field name="order_line" widget="one2many_list" colspan="4" nolabel="1" mode="tree,graph">
+							<form string="Sale Order Lines">
+								<notebook>
+									<page string="Order Line">
+										<separator string="Automatic Declaration" colspan="4"/>
+										<field name="product_id" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, parent.fiscal_position, 'lang' in context and context['lang'], True)" context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" colspan="4" select="1"/>
+										<field name="product_uom_qty" on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, parent.fiscal_position, 'lang' in context and context['lang'], False)" context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom" select="1"/>
+										<field name="product_uom" required="1"/>
+										<field name="product_uos_qty" required="1"/>
+										<field name="product_uos"  required="1" />
+										<field name="prodlot_id" context="product=product_id" domain="[('product_id','=',product_id)]" required="1"/>
+										<field name="size_x" on_change="size_change(size_x,size_y,size_z,product_id,product_uom_qty)"/>
+										<field name="size_y" on_change="size_change(size_x,size_y,size_z,product_id,product_uom_qty)"/>
+										<field name="size_z" on_change="size_change(size_x,size_y,size_z,product_id,product_uom_qty)"/>
+										<field name="prodlot_ids" colspan="4">
+											<tree string="Lots Assignations" editable="bottom">
+												<field name="name"/>
+												<field name="lot_id" context="product=parent.product_id" domain="[('product_id','=',parent.product_id)]" required="1"/>
+
+											</tree>
+										</field>
+										<button string="Automatic Reservation" colspan="4" name="assign" type="workflow"/>
+										<separator string="Manual Description" colspan="4"/>
+										<field name="name" colspan="4" select="2"/>
+										<field name="price_unit" select="2"/>
+										<field name="discount"/>
+										<field name="type"/>
+										<field name="delay" select="2"/>
+										<newline/>
+										<field name="tax_id" colspan="4"/>
+										<separator string="States" colspan="4"/>
+										<field name="state" select="2"/>
+										<field name="invoiced" select="2"/>
+									</page>
+									<page string="Extra Info">
+										<field name="product_packaging" />
+										<field name="address_allotment_id" select="2"/>
+										<separator string="Properties" colspan="4"/>
+										<field name="property_ids" colspan="4" nolabel="1"/>
+									</page>
+									<page string="Notes">
+										<field name="notes" colspan="4" nolabel="1"/>
+									</page>
+									<page string="History">
+										<separator string="Invoice Lines" colspan="4"/>
+										<field name="invoice_lines" colspan="4" nolabel="1"/>
+										<separator string="Inventory Moves" colspan="4"/>
+										<field name="move_ids" colspan="4" nolabel="1"/>
+									</page>
+								</notebook>
+							</form>
+							<tree string="Sales order lines">
+								<field name="name" colspan="4"/>
+								<field name="product_id"/>
+								<field name="product_uom_qty" string="Qty"/>
+								<field name="product_uom" string="UoM"/>
+								<field name="discount"/>
+								<field name="price_unit"/>
+								<field name="price_net"/>
+								<field name="price_subtotal"/>
+							</tree>
+						</field>
+						<newline/>
+						<group colspan="4" col="7">
+							<field name="amount_untaxed" sum="Untaxed amount"/>
+							<field name="amount_tax"/>
+							<field name="amount_total" sum="Total amount"/>
+							<button name="button_dummy" string="Compute" states="draft" type="object"/>
+						</group>
+						<group colspan="4" col="13">
+							<field name="state" select="2"/>
+							<button name="order_confirm" string="Confirm Order" states="draft"/>
+							<button name="invoice_recreate" string="Recreate Invoice" states="invoice_except"/>
+							<button name="invoice_corrected" string="Invoice Corrected" states="invoice_except"/>
+							<button name="ship_recreate" string="Recreate Procurement" states="shipping_except"/>
+							<button name="ship_corrected" string="Procurement Corrected" states="shipping_except"/>
+							<button name="manual_invoice" states="manual" string="Create Invoice"/>
+							<button name="ship_cancel" string="Cancel Order" states="shipping_except"/>
+							<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
+							<button name="action_cancel" string="Cancel Order" states="manual,progress" type="object"/>
+							<button name="cancel" string="Cancel Order" states="draft"/>
+							<button name="invoice_cancel" string="Cancel Order" states="invoice_except"/>
+						</group>
+					</page>
+					<page string="Other data">
+						<field name="incoterm"/>
+						<field name="picking_policy" required="True"/>
+						<field name="user_id"/>
+						<field name="order_policy" />
+						<field name="origin"/>
+						<field name="invoice_quantity"/>
+						<field name="client_order_ref" />
+						<field name="fiscal_position" />
+						<separator string="Notes" colspan="4"/>
+						<field name="note" colspan="4" nolabel="1"/>
+					</page>
+					<page string="History">
+						<separator string="Related invoices" colspan="4"/>
+						<field name="invoice_ids" colspan="4" nolabel="1"/>
+						<separator string="Related packings" colspan="4"/>
+						<field name="picking_ids" colspan="4" nolabel="1"/>
+					</page>
+				</notebook>
+			</form>
+		</field>
+	</record>
+	<record model="ir.actions.act_window" id="sale.action_order_form">
+		<field name="type">ir.actions.act_window</field>
+		<field name="res_model">sale.order</field>
+		<field name="view_type">form</field>
+		<field name="view_id" ref="view_order_form"/>
+	</record>
+</data>
+</openerp>

=== added directory 'product_lot_foundry/security'
=== added file 'product_lot_foundry/security/ir.model.access.csv'
--- product_lot_foundry/security/ir.model.access.csv	1970-01-01 00:00:00 +0000
+++ product_lot_foundry/security/ir.model.access.csv	2012-11-21 17:14:42 +0000
@@ -0,0 +1,6 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_product_lot_foundry_heatcode","product.lot.foundry.heatcode","model_product_lot_foundry_heatcode","product.group_uos",1,1,1,1
+"access_product_lot_foundry_heatcode_mecanical","product.lot.foundry.heatcode.mecanical","model_product_lot_foundry_heatcode_mecanical","product.group_uos",1,1,1,1
+"access_product_lot_foundry_heatcode_chemical","product.lot.foundry.heatcode.chemical","model_product_lot_foundry_heatcode_chemical","product.group_uos",1,1,1,1
+"access_stock_production_lot_reservation","stock.production.lot.reservation","model_stock_production_lot_reservation","stock.group_stock_user",1,1,1,1
+"access_stock_production_lot_all","stock.production.lot.all","model_stock_production_lot_all","stock.group_stock_user",1,1,1,1
\ No newline at end of file

=== added directory 'product_m2mcategories'
=== added file 'product_m2mcategories/__init__.py'
--- product_m2mcategories/__init__.py	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,18 @@
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas & Open ERP Community               #
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+
+import product
\ No newline at end of file

=== added file 'product_m2mcategories/__openerp__.py'
--- product_m2mcategories/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,39 @@
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas  & Open ERP Community              #
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+
+{
+    "name" : "Product - Many Categories",
+    "version" : "1.0.2",
+    "author" : "Sharoon Thomas",
+    "website" : "",
+    "category" : "Added functionality",
+    "depends" : ['base','product'],
+    "description": """
+    This module Extends the existing functionality of Open ERP Products (One product - One Catgory)
+    to One product -> Many Categories
+
+    *Note: This module was built generically but in focus of the Magento Open ERP connector
+    """,
+    "init_xml": [],
+    "update_xml": [
+            'product_view.xml'
+    ],
+    "installable": True,
+    "active": False,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== added directory 'product_m2mcategories/i18n'
=== added file 'product_m2mcategories/i18n/ca.po'
--- product_m2mcategories/i18n/ca.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/ca.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_m2mcategories
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-12-20 17:16+0000\n"
+"PO-Revision-Date: 2010-11-17 03:56+0000\n"
+"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
+"<jesteve@xxxxxxxxxxxxxxx>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+"X-Poedit-Language: Catalan\n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML invàlid per a la definició de la vista!"
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr "Categories de producte"
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr "Classificació en categories"
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr "Producte - Moltes categories"
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid ""
+"\n"
+"    This module Extends the existing functionality of Open ERP Products (One "
+"product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento "
+"Open ERP connector\n"
+"    "
+msgstr ""
+"\n"
+"    Aquest mòdul estén la funcionalitat existent dels productes a OpenERP "
+"(Un producte -> Una categoria)\n"
+"    a Un producte -> Moltes categories\n"
+"\n"
+"    * Nota: Aquest mòdul ha estat construït de forma genèrica, i s'utilitza "
+"al connector OpenERP Magento\n"
+"    "
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr "Categories extra"

=== added file 'product_m2mcategories/i18n/es.po'
--- product_m2mcategories/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,64 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_m2mcategories
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-12-20 17:16+0000\n"
+"PO-Revision-Date: 2010-11-17 03:56+0000\n"
+"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
+"<jesteve@xxxxxxxxxxxxxxx>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML inválido para la definición de la vista!"
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr "Categorías de producto"
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr "Clasificación en categorías"
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr "Producto - Muchas categorías"
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid ""
+"\n"
+"    This module Extends the existing functionality of Open ERP Products (One "
+"product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento "
+"Open ERP connector\n"
+"    "
+msgstr ""
+"\n"
+"    Este módulo extiende la funcionalidad existente de los productos en "
+"OpenERP (Un producto -> Una categoría)\n"
+"    a Un producto -> Muchas categorías\n"
+"\n"
+"    * Nota: Este módulo ha sido construido de forma genérica, y se utiliza "
+"en el conector OpenERP Magento\n"
+"    "
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr "Categorías extra"

=== added file 'product_m2mcategories/i18n/fr.po'
--- product_m2mcategories/i18n/fr.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/fr.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,56 @@
+# French translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-12-20 17:16+0000\n"
+"PO-Revision-Date: 2012-01-31 13:13+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: French <fr@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid ""
+"\n"
+"    This module Extends the existing functionality of Open ERP Products (One "
+"product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento "
+"Open ERP connector\n"
+"    "
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr ""

=== added file 'product_m2mcategories/i18n/fr_BE.po'
--- product_m2mcategories/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,52 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_m2mcategories
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:31:57+0000\n"
+"PO-Revision-Date: 2009-11-25 13:31:57+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid "\n"
+"    This module Extends the existing functionality of Open ERP Products (One product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento Open ERP connector\n"
+"    "
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr ""
+

=== added file 'product_m2mcategories/i18n/product_m2mcategories.pot'
--- product_m2mcategories/i18n/product_m2mcategories.pot	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/product_m2mcategories.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,52 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_m2mcategories
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-12-20 17:16:57+0000\n"
+"PO-Revision-Date: 2009-12-20 17:16:57+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid "\n"
+"    This module Extends the existing functionality of Open ERP Products (One product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento Open ERP connector\n"
+"    "
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr ""
+

=== added file 'product_m2mcategories/i18n/sv.po'
--- product_m2mcategories/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,55 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_m2mcategories
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-12-20 17:16+0000\n"
+"PO-Revision-Date: 2010-11-23 02:21+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr "Product - Many Categories"
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid ""
+"\n"
+"    This module Extends the existing functionality of Open ERP Products (One "
+"product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento "
+"Open ERP connector\n"
+"    "
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr ""

=== added file 'product_m2mcategories/i18n/tr.po'
--- product_m2mcategories/i18n/tr.po	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/i18n/tr.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,56 @@
+# Turkish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-12-20 17:16+0000\n"
+"PO-Revision-Date: 2011-02-21 08:51+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Turkish <tr@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_m2mcategories
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_m2mcategories
+#: field:product.template,categ_ids:0
+msgid "Product Categories"
+msgstr "Ürün Kategorileri"
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Classification Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,shortdesc:product_m2mcategories.module_meta_information
+msgid "Product - Many Categories"
+msgstr ""
+
+#. module: product_m2mcategories
+#: model:ir.module.module,description:product_m2mcategories.module_meta_information
+msgid ""
+"\n"
+"    This module Extends the existing functionality of Open ERP Products (One "
+"product - One Catgory)\n"
+"    to One product -> Many Categories\n"
+"\n"
+"    *Note: This module was built generically but in focus of the Magento "
+"Open ERP connector\n"
+"    "
+msgstr ""
+
+#. module: product_m2mcategories
+#: view:product.product:0
+msgid "Extra Categories"
+msgstr ""

=== added file 'product_m2mcategories/product.py'
--- product_m2mcategories/product.py	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/product.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,25 @@
+#########################################################################
+# Copyright (C) 2009  Sharoon Thomas & Open ERP Community               #
+#                                                                       #
+#This program is free software: you can redistribute it and/or modify   #
+#it under the terms of the GNU 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 General Public License for more details.                           #
+#                                                                       #
+#You should have received a copy of the GNU General Public License      #
+#along with this program.  If not, see <http://www.gnu.org/licenses/>.  #
+#########################################################################
+from osv import osv,fields
+
+class product_product(osv.osv):
+    _inherit = "product.template"
+    _columns = {
+        'categ_id': fields.many2one('product.category','Pricing/Primary Category', required=True, change_default=True),
+        'categ_ids': fields.many2many('product.category','product_categ_rel','product_id','categ_id','Product Categories')
+    }
+product_product()

=== added file 'product_m2mcategories/product_view.xml'
--- product_m2mcategories/product_view.xml	1970-01-01 00:00:00 +0000
+++ product_m2mcategories/product_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<openerp>
+    <data>
+        <record id="product_normal_form_view_add_categids" model="ir.ui.view">
+            <field name="name">product.normal.form</field>
+            <field name="model">product.product</field>
+            <field name="inherit_id" ref="product.product_normal_form_view" />
+            <field name="type">form</field>
+            <field eval="7" name="priority"/>
+            <field name="arch" type="xml">
+                <xpath expr="/form/notebook/page[@string='Information']" position="after">
+                    <page string="Extra Categories">
+                        <separator string="Classification Categories" colspan="2"/>
+                        <newline/>
+                        <field name="categ_ids" nolabel="1" colspan="2"/>
+                    </page>
+                </xpath>
+            </field>
+        </record>
+    </data>
+</openerp>
\ No newline at end of file

=== added directory 'product_multi_company'
=== added file 'product_multi_company/__init__.py'
--- product_multi_company/__init__.py	1970-01-01 00:00:00 +0000
+++ product_multi_company/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+import product_multi_company
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== added file 'product_multi_company/__openerp__.py'
--- product_multi_company/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_multi_company/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,39 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+{
+    "name" : "Product multi company ",
+    "version" : "1.1",
+    "author" : "OpenERP SA",
+    "category" : "Generic Modules/Inventory Control",
+    "depends" : [ "product"],
+    "init_xml" : [],
+    "demo_xml" : [],
+    "description": """
+        This module updates the definitions of standard price, public price and seller price with property fields.
+    """,
+    'update_xml': [],
+    'test':[],
+    'installable': True,
+    'active': False,
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== added directory 'product_multi_company/i18n'
=== added file 'product_multi_company/i18n/en_US.po'
--- product_multi_company/i18n/en_US.po	1970-01-01 00:00:00 +0000
+++ product_multi_company/i18n/en_US.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,32 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_multi_company
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-28 12:10:13+0000\n"
+"PO-Revision-Date: 2010-12-28 12:10:13+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_product_template
+msgid "Product Template"
+msgstr ""
+
+#. module: product_multi_company
+#: constraint:product.template:0
+msgid "Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
+msgstr ""
+

=== added file 'product_multi_company/i18n/es.po'
--- product_multi_company/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_multi_company/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,36 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2010-12-28 12:10+0000\n"
+"PO-Revision-Date: 2011-08-27 14:01+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:45+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_product_template
+msgid "Product Template"
+msgstr "Plantilla de producto"
+
+#. module: product_multi_company
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+"Error: La UdM por defecto y la UdM de compra deben estar en la misma "
+"categoría."
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
+msgstr "listaprecios.infoempresa"

=== added file 'product_multi_company/i18n/fr.po'
--- product_multi_company/i18n/fr.po	1970-01-01 00:00:00 +0000
+++ product_multi_company/i18n/fr.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,33 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_multi_company
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-28 12:10+0000\n"
+"PO-Revision-Date: 2011-02-15 17:25+0000\n"
+"Last-Translator: <>\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: 2012-11-16 04:45+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_product_template
+msgid "Product Template"
+msgstr ""
+
+#. module: product_multi_company
+#: constraint:product.template:0
+msgid ""
+"Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
+msgstr ""

=== added file 'product_multi_company/i18n/product_multi_company.pot'
--- product_multi_company/i18n/product_multi_company.pot	1970-01-01 00:00:00 +0000
+++ product_multi_company/i18n/product_multi_company.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,32 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_multi_company
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2010-12-28 12:10:13+0000\n"
+"PO-Revision-Date: 2010-12-28 12:10:13+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_product_template
+msgid "Product Template"
+msgstr ""
+
+#. module: product_multi_company
+#: constraint:product.template:0
+msgid "Error: The default UOM and the purchase UOM must be in the same category."
+msgstr ""
+
+#. module: product_multi_company
+#: model:ir.model,name:product_multi_company.model_pricelist_partnerinfo
+msgid "pricelist.partnerinfo"
+msgstr ""
+

=== added file 'product_multi_company/product_multi_company.py'
--- product_multi_company/product_multi_company.py	1970-01-01 00:00:00 +0000
+++ product_multi_company/product_multi_company.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,59 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#    
+#    OpenERP, Open Source Management Solution
+#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
+#
+#    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 <http://www.gnu.org/licenses/>.     
+#
+##############################################################################
+
+from osv import osv, fields
+
+class product_template(osv.osv):
+    _inherit = "product.template"
+    _description = "Product Template"
+    _columns={
+        'list_price': fields.property('product.template',
+            type='float',
+            string='Public Price',
+            method=True,
+            view_load=True,
+            required=True,
+            help="Base price for computing the customer price. Sometimes called the catalog price."),
+        'standard_price': fields.property('product.template',
+            type='float',
+            string='Standard Price',
+            method=True,
+            view_load=True,
+            required=True,
+            help="Product's cost for accounting stock valuation. It is the base price for the supplier price."),
+        }
+product_template()
+
+class pricelist_partnerinfo(osv.osv):
+    _inherit = 'pricelist.partnerinfo' 
+    _description = "Pricelist Partner"
+    _columns = {
+        'price': fields.property('pricelist.partnerinfo',
+            type='float',
+            string='Seller Price',
+            method=True,
+            view_load=True,
+            required=True,
+            help="This price will be considered as a price for the supplier UoM if any or the default Unit of Measure of the product otherwise"),
+    }
+pricelist_partnerinfo()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== added directory 'product_pricelist_fixed_price'
=== added directory 'product_pricelist_fixed_price/i18n'
=== added file 'product_pricelist_fixed_price/i18n/ca.po'
--- product_pricelist_fixed_price/i18n/ca.po	1970-01-01 00:00:00 +0000
+++ product_pricelist_fixed_price/i18n/ca.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# Catalan translation for openobject-addons
+# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-03-25 10:08+0000\n"
+"PO-Revision-Date: 2012-04-18 23:39+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Catalan <ca@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:46+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr "Marge màxim"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr "Marge mínim"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr "Mètode arrodoniment"
+
+#. module: product_pricelist_fixed_price
+#: constraint:product.pricelist.item:0
+msgid ""
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
+msgstr ""
+"Error!  No podeu assignar la tarifa principal com una altre tarifa en un "
+"element de la tarifa."
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist
+msgid "Pricelist"
+msgstr "Tarifa"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:97
+#, python-format
+msgid "Warning !"
+msgstr "Atenció!"
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Element de la tarifa"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:32
+#: field:product.pricelist.item,fixed_price:0
+#, python-format
+msgid "Fixed Price"
+msgstr "Preu fix"

=== added file 'product_pricelist_fixed_price/i18n/de.po'
--- product_pricelist_fixed_price/i18n/de.po	1970-01-01 00:00:00 +0000
+++ product_pricelist_fixed_price/i18n/de.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# German translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-03-25 10:08+0000\n"
+"PO-Revision-Date: 2011-05-02 07:47+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: German <de@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:46+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr "Max. Spanne"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr "Min. Spanne"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr "Rundungsverfahren"
+
+#. module: product_pricelist_fixed_price
+#: constraint:product.pricelist.item:0
+msgid ""
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
+msgstr ""
+"Fehler! Sie können die Basispreisliste nicht als alternative Preisliste in "
+"einem Preislisteneintrag zuweisen."
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist
+msgid "Pricelist"
+msgstr "Preisliste"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:97
+#, python-format
+msgid "Warning !"
+msgstr "Warnung!"
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Preisliste Einzelposition"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:32
+#: field:product.pricelist.item,fixed_price:0
+#, python-format
+msgid "Fixed Price"
+msgstr "Festpreis"

=== added file 'product_pricelist_fixed_price/i18n/es.po'
--- product_pricelist_fixed_price/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_pricelist_fixed_price/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,65 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-03-25 10:08+0000\n"
+"PO-Revision-Date: 2011-08-26 23:18+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:46+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr "Margen máximo"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr "Margen mínimo"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr "Método redondeo"
+
+#. module: product_pricelist_fixed_price
+#: constraint:product.pricelist.item:0
+msgid ""
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
+msgstr ""
+"¡Error!  No puede asignar la tarifa principal como otra tarifa en un "
+"elemento de la tarifa."
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist
+msgid "Pricelist"
+msgstr "Lista de Precios"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:97
+#, python-format
+msgid "Warning !"
+msgstr "¡Atención!"
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Elemento de la tarifa"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:32
+#: field:product.pricelist.item,fixed_price:0
+#, python-format
+msgid "Fixed Price"
+msgstr "Precio fijo"

=== added file 'product_pricelist_fixed_price/i18n/it.po'
--- product_pricelist_fixed_price/i18n/it.po	1970-01-01 00:00:00 +0000
+++ product_pricelist_fixed_price/i18n/it.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,64 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_pricelist_fixed_price
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 6.0.1\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2011-03-25 10:08+0000\n"
+"PO-Revision-Date: 2011-03-31 12:02+0000\n"
+"Last-Translator: Lorenzo Battistini <lorenzo.battistini@xxxxxxxxxxx>\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: 2012-11-16 04:46+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Max. Margin"
+msgstr "Margine Massimo"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Min. Margin"
+msgstr "Margine Minimo"
+
+#. module: product_pricelist_fixed_price
+#: view:product.pricelist.item:0
+msgid "Rounding Method"
+msgstr "Metodo Arrotondamento"
+
+#. module: product_pricelist_fixed_price
+#: constraint:product.pricelist.item:0
+msgid ""
+"Error ! You cannot assign the Main Pricelist as Other Pricelist in PriceList "
+"Item!"
+msgstr ""
+"Errore ! Non è possibile assegnare il listino principale come 'altro "
+"listino' nell'elemento di listino!"
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist
+msgid "Pricelist"
+msgstr "Listino Prezzi"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:97
+#, python-format
+msgid "Warning !"
+msgstr "attenzione !"
+
+#. module: product_pricelist_fixed_price
+#: model:ir.model,name:product_pricelist_fixed_price.model_product_pricelist_item
+msgid "Pricelist item"
+msgstr "Oggetto Listino"
+
+#. module: product_pricelist_fixed_price
+#: code:addons/product_pricelist_fixed_price/pricelist.py:32
+#: field:product.pricelist.item,fixed_price:0
+#, python-format
+msgid "Fixed Price"
+msgstr "Prezzo fisso"

=== added directory 'product_qt'
=== added file 'product_qt/__init__.py'
--- product_qt/__init__.py	1970-01-01 00:00:00 +0000
+++ product_qt/__init__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,33 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2004-2008 Tiny SPRL (http://tiny.be) All Rights Reserved.
+#
+# $Id$
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+###############################################################################
+import product_qt
+import wizard
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added file 'product_qt/__openerp__.py'
--- product_qt/__openerp__.py	1970-01-01 00:00:00 +0000
+++ product_qt/__openerp__.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,55 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2004-2008 Tiny SPRL (http://tiny.be) All Rights Reserved.
+#
+# $Id$
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+###############################################################################
+{
+    "name" : "Products & Pricelists - Define quality control and testing parameters in product",
+    "version" : "1.0",
+    "author" : "Tiny",
+    "category" : "Generic Modules/Inventory Control",
+    "depends" : ["base", "process", "product","stock","mrp"],
+    "init_xml" : [],
+    "demo_xml" : [],
+    "description": """
+    This module add quality control and testing parameters in product
+    1> configure QC parameters for particular product.
+    2> QC testing on purchased raw material.
+    3> QC testing during production.
+    3> QC testing on finished goods.
+    """,
+    "update_xml" : [
+        "security/ir.model.access.csv",
+        "wizard_view.xml",
+        "product_qt_view.xml",
+
+        ],
+    "active": False,
+    "installable": True
+}
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+

=== added directory 'product_qt/i18n'
=== added file 'product_qt/i18n/ca.po'
--- product_qt/i18n/ca.po	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/ca.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,263 @@
+# Catalan translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:32+0000\n"
+"PO-Revision-Date: 2010-01-10 22:56+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Catalan <ca@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr "Límit mínim de mesura"
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
+"especial!"
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid ""
+"\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+"\n"
+"    Aquest mòdul afegeix paràmetres de control de qualitat i proves al "
+"producte\n"
+"    1> configura els paràmetres QC per un producte particular.\n"
+"    2> proves de materials comprats en brut.\n"
+"    3> proves QC durant la producció.\n"
+"    3> proves QC en bens acabats.\n"
+"    "
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr "Resultats del test"
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr "Configuració del control de qualitat per a components de fabricació."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr "Test de materials"
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr "Configuració del control de qualitat per a productes acabats."
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr "Data test de qualitat"
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr "Valor actual"
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nom de model no vàlid en la definició de l'acció."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr "Test de productes acabats"
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr "Resultat del test"
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr "Test durant la producció"
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr "UdM"
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr "Estat"
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr "Producte"
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr "Descripció"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr "Rebutjat"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr "Configuració test de qualitat"
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr "Cas de Test"
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr "Límit màxim"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr "Acceptat"
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr "Test durant la producció"
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr "Tipus de Verificació"
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML no vàlid per a la definició de la vista!"
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr "Configuració Qualitat"
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr "Límit mínim"
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr "Configuració del test de qualitat durant la fabricació."
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr "Verificació de productes acabats"
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr "Verificació de materials"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr "Tests de Qualitat"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr "testeig.resultat"
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr "Verificat per"
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr "Casos"
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr "D'acord"
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr "Configuració de Qualitat"
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr "Límit màxim de mesura"
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr "Estat de moviments"
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr "Test de qualitat"
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr "Cancel·la"

=== added file 'product_qt/i18n/es.po'
--- product_qt/i18n/es.po	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/es.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,264 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:32+0000\n"
+"PO-Revision-Date: 2010-04-23 04:38+0000\n"
+"Last-Translator: Jonay <jonay.santana@xxxxxxxxx>\n"
+"Language-Team: Spanish <es@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr "Límite mínimo de medida"
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"¡El nombre del objeto debe empezar con x_ y no contener ningún carácter "
+"especial!"
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid ""
+"\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+"\n"
+"    Este módulo añade parámetros de control de calidad y pruebas al "
+"producto\n"
+"    1> configura los parámetros QC para un producto particular.\n"
+"    2> pruebas de materiales comprados en bruto.\n"
+"    3> pruebas QC durante la producción.\n"
+"    3> pruebas QC en bienes terminados.\n"
+"    "
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr "Resultados del test"
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr ""
+"Configuración del control de calidad para componentes de fabricación."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr "Test de materiales"
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr "Configuración del control de calidad para productos terminados."
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr "Fecha test de calidad"
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr "Valor actual"
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nombre de modelo no válido en la definición de la acción."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr "Test de productos terminados"
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr "Resultado del test"
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr "Test durante la producción"
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr "UdM"
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr "Producto"
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr "Descripción"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr "Rechazado"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr "Configuración test de calidad"
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr "Caso de Test"
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr "Límite máximo"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr "Aceptado"
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr "Test durante la producción"
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr "Tipo de Verificación"
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "¡XML no válido para la definición de la vista!"
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr "Configuración Calidad"
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr "Límite mínimo"
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr "Configuración del test de calidad durante la fabricación."
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr "Verificación de productos terminados"
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr "Verificación de materiales"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr "Tests de Calidad"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr "testeo.resultado"
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr "Verificado por"
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr "Casos"
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr "Productos y tarifas"
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr "De acuerdo"
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr "Configuración de Calidad"
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr "Límite máximo de medida"
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr "Estado de movimientos"
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr "Test de calidad"
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"

=== added file 'product_qt/i18n/fr_BE.po'
--- product_qt/i18n/fr_BE.po	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/fr_BE.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,250 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_qt
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:32:22+0000\n"
+"PO-Revision-Date: 2009-11-25 13:32:22+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid "\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr ""
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr ""
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr ""
+

=== added file 'product_qt/i18n/product_qt.pot'
--- product_qt/i18n/product_qt.pot	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/product_qt.pot	2012-11-21 17:14:42 +0000
@@ -0,0 +1,250 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_qt
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.6\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:32:22+0000\n"
+"PO-Revision-Date: 2009-11-25 13:32:22+0000\n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid "The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid "\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr ""
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr ""
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr ""
+

=== added file 'product_qt/i18n/pt.po'
--- product_qt/i18n/pt.po	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/pt.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,263 @@
+# Portuguese translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2009-11-25 13:32+0000\n"
+"PO-Revision-Date: 2010-11-09 22:26+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Portuguese <pt@xxxxxx>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr "Limite Mínimo de Medida"
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+"O nome do Objecto deve começar com x_ e não pode conter nenhum carácter "
+"especial !"
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid ""
+"\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+"\n"
+"    Este módulo adiciona controlo de qualidade e parâmetros de teste de "
+"produto\n"
+"    1> configurar os parâmetros de CQ para determinado produto.\n"
+"    2> teste do QC na compra de matérias-primas.\n"
+"    3> teste do QC durante a produção.\n"
+"    3> teste do QC em bens acabados.\n"
+"    "
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr "Resultado do Teste"
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr "Configuração do Teste de Qualidade para a matéria-prima."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr "Teste de Matéria-Prima"
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr "Configuração do Teste de Qualidade para bens concluído."
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr "Data do Teste"
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr "Valor Actual"
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr "Nome do modelo inválido na definição da acção."
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr "Teste de Bens Concluído"
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr "Resultado do Teste"
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr "Duração de Teste de Produção"
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr "UOM"
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr "Estado"
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr "Produto"
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr "Descrição"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr "Rejeitado"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr "configuração de teste de qualidade"
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr "Caso de Teste"
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr "Limite Máximo"
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr "Aceite"
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr "Duração do Teste de Produção"
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr "Tipo de Teste"
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr "XML Inválido para a Arquitectura de Vista!"
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr "Configuração QC"
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr "Limite Mínino"
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr "Configuração do Teste de Qualidade durante a produção."
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr "Teste de Bens Concluído"
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr "Teste de matéria-prima"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr "testes de qualidade"
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr "testing.result"
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr "Testado Por"
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr "Casos"
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr "OK"
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr "Configuração QT"
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr "Limite Máximo de Medida"
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr "Mudar Estado"
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr "Teste de Qualidade"
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr "Cancelar"

=== added file 'product_qt/i18n/sv.po'
--- product_qt/i18n/sv.po	1970-01-01 00:00:00 +0000
+++ product_qt/i18n/sv.po	2012-11-21 17:14:42 +0000
@@ -0,0 +1,252 @@
+# Translation of OpenERP Server.
+# This file contains the translation of the following modules:
+#	* product_qt
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: OpenERP Server 5.0.14\n"
+"Report-Msgid-Bugs-To: support@xxxxxxxxxxx\n"
+"POT-Creation-Date: 2009-11-25 13:32+0000\n"
+"PO-Revision-Date: 2010-11-22 21:31+0000\n"
+"Last-Translator: Olivier Dony (OpenERP) <Unknown>\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: 2012-11-16 04:42+0000\n"
+"X-Generator: Launchpad (build 16272)\n"
+
+#. module: product_qt
+#: help:quality.test.config,min_limit:0
+msgid "Minimum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.model:0
+msgid ""
+"The Object name must start with x_ and not contain any special character !"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,description:product_qt.module_meta_information
+msgid ""
+"\n"
+"    This module add quality control and testing parameters in product\n"
+"    1> configure QC parameters for particular product.\n"
+"    2> QC testing on purchased raw material.\n"
+"    3> QC testing during production.\n"
+"    3> QC testing on finished goods.\n"
+"    "
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.act_window,name:product_qt.action_testing_result_form
+#: model:ir.ui.menu,name:product_qt.menu_action_testing_result
+#: model:ir.ui.menu,name:product_qt.menu_testing_result
+#: view:testing.result:0
+msgid "Testing Result"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,raw_m_test:0
+msgid "Quality Testing configuration for raw material."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Raw Material Testing"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,finished_test:0
+msgid "Quality Testing configuration for finished goods."
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_date:0
+msgid "Testing Date"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,actual_val:0
+msgid "Actual Value"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.actions.act_window:0
+msgid "Invalid model name in the action definition."
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "Finish Goods Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,test_id:0
+msgid "Test Result"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,production_test:0
+msgid "During Production testing"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,uom:0
+msgid "UOM"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,state:0
+msgid "Status"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,product_idf:0
+#: field:quality.test.config,product_idp:0
+#: field:quality.test.config,product_idr:0
+#: field:testing.result,product:0
+msgid "Product"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,description:0
+msgid "Description"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_reject:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_reject:0
+msgid "Rejected"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test_config
+msgid "quality test configuration"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test,name:0
+#: field:quality.test.config,name:0
+msgid "Test Case"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,max_limit:0
+msgid "Max Limit"
+msgstr ""
+
+#. module: product_qt
+#: field:mrp.production.workcenter.line,qlty_test_accept:0
+#: selection:quality.test.config,state:0
+#: field:stock.move,qlty_test_accept:0
+msgid "Accepted"
+msgstr ""
+
+#. module: product_qt
+#: selection:testing.result,type:0
+msgid "During Production Testing"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,type:0
+msgid "Testing Type"
+msgstr ""
+
+#. module: product_qt
+#: constraint:ir.ui.view:0
+msgid "Invalid XML for View Architecture!"
+msgstr ""
+
+#. module: product_qt
+#: view:product.product:0
+msgid "QC Config"
+msgstr ""
+
+#. module: product_qt
+#: field:quality.test.config,min_limit:0
+msgid "Min Limit"
+msgstr ""
+
+#. module: product_qt
+#: help:product.product,production_test:0
+msgid "Quality Testing configuration during production."
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,finished_test:0
+msgid "Finished Goods testing"
+msgstr ""
+
+#. module: product_qt
+#: field:product.product,raw_m_test:0
+msgid "Raw material testing"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_quality_test
+msgid "quality testings"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.model,name:product_qt.model_testing_result
+msgid "testing.result"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,tester:0
+msgid "Tested By"
+msgstr ""
+
+#. module: product_qt
+#: field:testing.result,test_case:0
+msgid "Cases"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.module.module,shortdesc:product_qt.module_meta_information
+msgid "Products & Pricelists"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,ok:0
+#: wizard_button:qty_test_finish,init,ok:0
+#: wizard_button:qty_test_prod,init,ok:0
+msgid "OK"
+msgstr ""
+
+#. module: product_qt
+#: view:quality.test.config:0
+msgid "QT Configuration"
+msgstr ""
+
+#. module: product_qt
+#: help:quality.test.config,max_limit:0
+msgid "Maximum Limit of measure"
+msgstr ""
+
+#. module: product_qt
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Move State"
+msgstr ""
+
+#. module: product_qt
+#: model:ir.actions.wizard,name:product_qt.qty_test_finish_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_id
+#: model:ir.actions.wizard,name:product_qt.qty_test_prod_id
+#: view:mrp.production:0
+#: view:quality.test:0
+#: view:stock.move:0
+#: view:stock.picking:0
+msgid "Quality Testing"
+msgstr ""
+
+#. module: product_qt
+#: wizard_button:qty_test,init,end:0
+#: wizard_button:qty_test_finish,init,end:0
+#: wizard_button:qty_test_prod,init,end:0
+msgid "Cancel"
+msgstr ""

=== added file 'product_qt/product_qt.py'
--- product_qt/product_qt.py	1970-01-01 00:00:00 +0000
+++ product_qt/product_qt.py	2012-11-21 17:14:42 +0000
@@ -0,0 +1,117 @@
+# -*- encoding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved.
+#
+# $Id$
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from osv import osv, fields
+import time
+
+#----------------------------------------------------------
+# Quality Testing
+#----------------------------------------------------------
+
+class quality_test(osv.osv):
+    _name = "quality.test"
+    _description = "quality testings"
+    _columns = {
+        'name': fields.char('Test Case', size=256),
+        'description': fields.text('Description'),
+        }
+quality_test()
+
+class testing_result(osv.osv):
+    _name ="testing.result"
+    _columns = {
+        'product' :fields.many2one('product.product', string='Product',readonly=True),
+        'test_case':fields.one2many('quality.test.config', 'test_id', 'Cases'),
+        'tester': fields.many2one('hr.employee',string='Tested By'),
+        'test_date': fields.date('Testing Date'),
+        'type':fields.selection([('rw_mat','Raw Material Testing'),('in_prod','During Production Testing'),('finish_prod','Finish Goods Testing')],'Testing Type', readonly=True, select=True),
+                }
+    _defaults = {
+        'test_date':lambda *a: time.strftime('%Y-%m-%d')
+                  }
+testing_result()
+
+class quality_test_config(osv.osv):
+    _name = "quality.test.config"
+    _description = "quality test configuration"
+    _columns = {
+        'name': fields.many2one('quality.test','Test Case',),
+        'min_limit': fields.float('Min Limit', help='Minimum Limit of measure'),
+        'max_limit': fields.float('Max Limit', help='Maximum Limit of measure'),
+        'uom': fields.many2one('product.uom','UOM'),
+        'product_idr': fields.many2one('product.product', string='Product'),
+        'product_idp': fields.many2one('product.product', string='Product'),
+        'product_idf': fields.many2one('product.product', string='Product'),
+        'actual_val':fields.float('Actual Value'),
+        'state':fields.selection([('accepted','Accepted'),('rejected','Rejected')],'Status', readonly=True, select=True),
+        'test_id':fields.many2one('testing.result',string='Test Result')
+        }
+quality_test_config()
+
+
+#----------------------------------------------------------
+# Product
+#----------------------------------------------------------
+
+class product_product(osv.osv):
+    _name = "product.product"
+    _inherit = "product.product"
+    _columns = {
+        'raw_m_test': fields.one2many('quality.test.config', 'product_idr', 'Raw material testing', help="Quality Testing configuration for raw material."),
+        'production_test': fields.one2many('quality.test.config', 'product_idp', 'During Production testing', help="Quality Testing configuration during production."),
+        'finished_test': fields.one2many('quality.test.config', 'product_idf', 'Finished Goods testing', help="Quality Testing configuration for finished goods."),
+    }
+product_product()
+
+class stock_move(osv.osv):
+    _inherit ="stock.move"
+    _columns = {
+        'qlty_test_accept': fields.boolean('Accepted',readonly=True),
+        'qlty_test_reject': fields.boolean('Rejected',readonly=True),
+                }
+    _defaults = {
+        'qlty_test_accept': lambda *a: False,
+        'qlty_test_reject': lambda *a: False,
+                  }
+stock_move()
+
+class mrp_production_workcenter_line(osv.osv):
+    _inherit = 'mrp.production.workcenter.line'
+    _columns ={
+        'qlty_test_accept': fields.boolean('Accepted',readonly=True),
+        'qlty_test_reject': fields.boolean('Rejected',readonly=True),
+                }
+    _defaults = {
+        'qlty_test_accept': lambda *a: False,
+        'qlty_test_reject': lambda *a: False,
+                  }
+mrp_production_workcenter_line()
+
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== added file 'product_qt/product_qt_view.xml'
--- product_qt/product_qt_view.xml	1970-01-01 00:00:00 +0000
+++ product_qt/product_qt_view.xml	2012-11-21 17:14:42 +0000
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+
+		<record id="quality_testing_form_view" model="ir.ui.view">
+            <field name="name">quality.testing.form</field>
+            <field name="model">quality.test</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+            	<form string="Quality Testing">
+                	<field name="name" colspan="4" select="2"/>
+                	<field name="description" colspan="4" nolabel="1"/>
+                </form>
+            </field>
+        </record>
+
+		<record id="quality_testing_tree_view" model="ir.ui.view">
+            <field name="name">quality.testing.tree</field>
+            <field name="model">quality.test</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+            	<tree string="Quality Testing">
+                	<field name="name"/>
+                </tree>
+            </field>
+        </record>
+
+		<record id="quality_

Follow ups