Pārlūkot izejas kodu

[FIX] product_price

Rodney Enciso Arias 7 gadi atpakaļ
vecāks
revīzija
8069b27fb0

BIN
__init__.pyc


+ 8 - 8
__openerp__.py

@@ -20,18 +20,18 @@
 ##############################################################################
 {
     "name": "Account Analytic Purchase Contract",
-    'version': '8.0.1.0.0',
+    'version': '8.0.1.3.0',
     'category': 'Accounting',
     'sequence': 14,
-    'summary': 'Contracts, Invoicing',
+    'summary': 'Quotations, Sales Orders, Invoicing',
     'description': """
 Account Analytic Purchase Contract
 ==================================
 Manage Purchase Contracts and generate Recurring Invoices as you can do in
 sales.
     """,
-    'author':  'ADHOC SA / Eiru Software',
-    'website': 'www.eiru.com.py',
+    'author': 'ADHOC SA - Eiru Software',
+    'website': 'www.adhoc.com.ar',
     'license': 'AGPL-3',
     'images': [
     ],
@@ -40,9 +40,10 @@ sales.
         'purchase',
     ],
     'data': [
-    'view/account_purchase_contract_view.xml',
-    'view/account_purchase_contract_menu.xml',
-    'account_analytic_analysis_cron.xml'
+        'security/ir.model.access.csv',
+        'view/account_purchase_contract_view.xml',
+        'view/account_purchase_contract_menu.xml',
+        'account_analytic_analysis_cron.xml'
     ],
     'demo': [
     ],
@@ -52,4 +53,3 @@ sales.
     'auto_install': False,
     'application': True,
 }
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

+ 41 - 5
account_analytic_analysis.py

@@ -12,7 +12,7 @@ import time
 from openerp.osv import osv, fields
 import openerp.tools
 from openerp.tools.translate import _
-
+from openerp import models, api
 from openerp.addons.decimal_precision import decimal_precision as dp
 
 
@@ -69,7 +69,7 @@ class account_analytic_account(osv.osv):
             fiscal_position = None
             if fiscal_position_id:
                 fiscal_position = fpos_obj.browse(
-                    cr, uid,  fiscal_position_id, context=context)
+                    cr, uid, fiscal_position_id, context=context)
             invoice_lines = []
             for line in contract.recurring_invoice_line_ids:
 
@@ -85,9 +85,11 @@ class account_analytic_account(osv.osv):
                     tax_ids = [x.id for x in taxes]
                     tax_ids = self.pool['account.tax'].search(
                         cr, uid,
-                        [('id', 'in', tax_ids), ('company_id', '=', contract.company_id.id)],
+                        [('id', 'in', tax_ids),
+                         ('company_id', '=', contract.company_id.id)],
                         context=context)
-                    taxes = self.pool['account.tax'].browse(cr, uid, tax_ids, context=context)
+                    taxes = self.pool['account.tax'].browse(
+                        cr, uid, tax_ids, context=context)
                 tax_id = fpos_obj.map_tax(cr, uid, fiscal_position, taxes)
 
                 invoice_lines.append((0, 0, {
@@ -105,7 +107,41 @@ class account_analytic_account(osv.osv):
             return super(account_analytic_account, self)._prepare_invoice_lines(cr, uid, contract, fiscal_position_id, context=None)
 
     def _cron_recurring_create_invoice_purchase(self, cr, uid, context=None):
-        current_date =  time.strftime('%Y-%m-%d')
+        current_date = time.strftime('%Y-%m-%d')
         contract_ids = self.search(cr, uid, [('recurring_next_date', '<=', current_date), (
             'state', '=', 'open'), ('recurring_invoices', '=', True), ('type', '=', 'purchase_contract')])
         return self._recurring_create_invoice(cr, uid, contract_ids, context=context)
+
+
+class AccountAnalyticInvoiceLine(models.Model):
+    _inherit = "account.analytic.invoice.line"
+
+    @api.multi
+    def product_id_change(
+            self, product, uom_id, qty=0, name='', partner_id=False,
+            price_unit=False, pricelist_id=False, company_id=None):
+        context = self._context or {}
+        company_id = company_id or False
+        local_context = dict(context, company_id=company_id,
+                             force_company=company_id, pricelist=pricelist_id)
+        result = super(AccountAnalyticInvoiceLine, self).product_id_change(
+            product=product, uom_id=uom_id, qty=0, name='',
+            partner_id=False, price_unit=False, pricelist_id=False,
+            company_id=None)
+
+        if not product or not context.get('purchase', False):
+            return result
+        res = self.env['product.product'].with_context(local_context).browse(
+            product)
+        if pricelist_id:
+            price = res.price
+        else:
+            price = res.standard_price
+        result['value']['price_unit'] = price
+        if result['value']['uom_id'] != res.uom_id.id:
+            new_price = self.env['product.uom']._compute_price(
+                res.uom_id.id,
+                result['value']['price_unit'],
+                result['value']['uom_id'])
+            result['value']['price_unit'] = new_price
+        return result

BIN
account_analytic_analysis.pyc


+ 6 - 0
account_analytic_analysis_cron.xml

@@ -1,6 +1,11 @@
 <?xml version="1.0" encoding='UTF-8'?>
 <openerp>
     <data>
+
+      
+
+       
+
         <record model="ir.cron" id="account_analytic_cron_for_invoice_supplier">
            <field name="name">Generate Recurring Invoices Suppliers from Contracts </field>
            <field name="interval_number">1</field>
@@ -10,5 +15,6 @@
            <field name="function" eval="'_cron_recurring_create_invoice_purchase'"/>
            <field name="args" eval="'()'"/>
         </record>
+
     </data>
 </openerp>

BIN
analytic_contract_purchase.pyc


+ 20 - 19
i18n/ar.po

@@ -3,14 +3,15 @@
 # * account_analytic_purchase_contract
 # 
 # Translators:
+# Haitham EL-Sayed <freelancetranslator444@yahoo.com>, 2016
 msgid ""
 msgstr ""
-"Project-Id-Version: odoo-addons (8.0)\n"
+"Project-Id-Version: account-analytic (8.0)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-02 18:20+0000\n"
-"PO-Revision-Date: 2015-09-01 18:07+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: Arabic (http://www.transifex.com/adhoc/ingadhoc-odoo-addons-8-0/language/ar/)\n"
+"POT-Creation-Date: 2017-01-17 22:08+0000\n"
+"PO-Revision-Date: 2016-07-12 18:49+0000\n"
+"Last-Translator: Haitham EL-Sayed <freelancetranslator444@yahoo.com>\n"
+"Language-Team: Arabic (http://www.transifex.com/adhoc/ingadhoc-account-analytic-8-0/language/ar/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
@@ -25,18 +26,18 @@ msgstr ""
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Account Analytic Lines"
-msgstr ""
+msgstr "خطوط الحساب التحليلي"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 #: model:ir.model,name:account_analytic_purchase_contract.model_account_analytic_account
 msgid "Analytic Account"
-msgstr ""
+msgstr "حساب تحليلي"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Cancel Contract"
-msgstr ""
+msgstr "عقد"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -47,12 +48,12 @@ msgstr ""
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
 #: model:ir.ui.menu,name:account_analytic_purchase_contract.contract_purchase
 msgid "Contract"
-msgstr ""
+msgstr "عقد"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Contract Information"
-msgstr ""
+msgstr "معلومات عقود"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -69,7 +70,7 @@ msgstr "خطأ!"
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #, python-format
 msgid "No Supplier Defined!"
-msgstr ""
+msgstr "لا يوجود مورد معرف!"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -80,7 +81,7 @@ msgid ""
 "                                        reached, the account manager is notified \n"
 "                                        by email to renew the contract with the\n"
 "                                        customer."
-msgstr ""
+msgstr "في حال مرور تاريخ انتهاء العقد أو الوصول للحد الاقصي لعدد وحدات الخدمة( مثل: عقد الدعم)، يُخطر مدير الحسابات بموجب البريد الإلكتروني لتجديد العقد مع العميل."
 
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
@@ -91,33 +92,33 @@ msgstr ""
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Recurring Invoices"
-msgstr ""
+msgstr "فواتير متواترة"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Renewal"
-msgstr ""
+msgstr "التجديد"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Set In Progress"
-msgstr ""
+msgstr " قيد العمل"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_tree
 msgid "Supplier"
-msgstr ""
+msgstr "مورد"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Terms and Conditions"
-msgstr ""
+msgstr "الشروط والأحكام"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "To Renew"
-msgstr ""
+msgstr "لتجديد"
 
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
@@ -128,4 +129,4 @@ msgstr ""
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "⇒ create invoices"
-msgstr ""
+msgstr "أنشاء فواتير"

+ 12 - 10
i18n/es.po

@@ -3,14 +3,16 @@
 # * account_analytic_purchase_contract
 # 
 # Translators:
+# emiq2 <eq@ingadhoc.com>, 2016
+# Hotellook, 2014
 msgid ""
 msgstr ""
-"Project-Id-Version: odoo-addons (8.0)\n"
+"Project-Id-Version: account-analytic (8.0)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-09-09 23:57+0000\n"
-"PO-Revision-Date: 2015-09-01 18:07+0000\n"
-"Last-Translator: Juan Jose Scarafia <scarafia.juanjose@gmail.com>\n"
-"Language-Team: Spanish (http://www.transifex.com/adhoc/ingadhoc-odoo-addons-8-0/language/es/)\n"
+"POT-Creation-Date: 2017-01-17 22:08+0000\n"
+"PO-Revision-Date: 2016-04-05 14:47+0000\n"
+"Last-Translator: emiq2 <eq@ingadhoc.com>\n"
+"Language-Team: Spanish (http://www.transifex.com/adhoc/ingadhoc-account-analytic-8-0/language/es/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
@@ -36,12 +38,12 @@ msgstr "Cuenta analítica"
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Cancel Contract"
-msgstr ""
+msgstr "Cancelar Contrato"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Close Contract"
-msgstr ""
+msgstr "Cerrar Contrato"
 
 #. module: account_analytic_purchase_contract
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
@@ -86,7 +88,7 @@ msgstr "Una vez que se ha sobrepasado la fecha final del contrato o el número m
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
 #, python-format
 msgid "Please define a pruchase journal for the company \"%s\"."
-msgstr ""
+msgstr "Por favor definir un Diario de compra de la compañía \"%s\"."
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -101,7 +103,7 @@ msgstr "Renovación"
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Set In Progress"
-msgstr ""
+msgstr "Establecer a \"En progreso\""
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -117,7 +119,7 @@ msgstr "Plazos y condiciones"
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "To Renew"
-msgstr ""
+msgstr "A Renovar"
 
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29

+ 25 - 21
i18n/fr.po

@@ -3,14 +3,18 @@
 # * account_analytic_purchase_contract
 # 
 # Translators:
+# Accounts-Payable - Alkemics, 2015
+# Chen-Do LU <clu@alkemics.com>, 2015
+# François Breysse <fb@alkemics.com>, 2015
+# Guillaume Masson <guillaume.masson@meta-it.fr>, 2016
 msgid ""
 msgstr ""
-"Project-Id-Version: odoo-addons (8.0)\n"
+"Project-Id-Version: account-analytic (8.0)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-02 18:20+0000\n"
-"PO-Revision-Date: 2015-09-01 18:07+0000\n"
-"Last-Translator: <>\n"
-"Language-Team: French (http://www.transifex.com/adhoc/ingadhoc-odoo-addons-8-0/language/fr/)\n"
+"POT-Creation-Date: 2017-01-17 22:08+0000\n"
+"PO-Revision-Date: 2016-03-31 15:51+0000\n"
+"Last-Translator: Juan José Scarafía <scarafia.juanjose@gmail.com>\n"
+"Language-Team: French (http://www.transifex.com/adhoc/ingadhoc-account-analytic-8-0/language/fr/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
@@ -25,7 +29,7 @@ msgstr ""
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Account Analytic Lines"
-msgstr ""
+msgstr " Lignes d'écritures analytiques "
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -36,23 +40,23 @@ msgstr "Compte analytique"
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Cancel Contract"
-msgstr ""
+msgstr "Annuler le contrat"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Close Contract"
-msgstr ""
+msgstr "Fermer le contrat"
 
 #. module: account_analytic_purchase_contract
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
 #: model:ir.ui.menu,name:account_analytic_purchase_contract.contract_purchase
 msgid "Contract"
-msgstr ""
+msgstr "Contrat"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Contract Information"
-msgstr ""
+msgstr "Renseignements sur le contrat"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -69,7 +73,7 @@ msgstr "Erreur!"
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #, python-format
 msgid "No Supplier Defined!"
-msgstr ""
+msgstr "Pas de fournisseur défini !"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
@@ -80,52 +84,52 @@ msgid ""
 "                                        reached, the account manager is notified \n"
 "                                        by email to renew the contract with the\n"
 "                                        customer."
-msgstr ""
+msgstr "Lorsque la date de fin du contrat est\npassée ou le nombre maximum d'unité\nde service (ex. contrat de support) est\natteint, le responsable du compte est avisé\npar courriel pour renouveler le contrat avec le\nclient."
 
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
 #, python-format
 msgid "Please define a pruchase journal for the company \"%s\"."
-msgstr ""
+msgstr "Veuillez définir un journal d'achats pour la société \"%s\"."
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Recurring Invoices"
-msgstr ""
+msgstr "Factures récurrentes"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Renewal"
-msgstr ""
+msgstr "Renouvellement"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Set In Progress"
-msgstr ""
+msgstr "Renouveler"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_tree
 msgid "Supplier"
-msgstr ""
+msgstr "Fournisseur"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "Terms and Conditions"
-msgstr ""
+msgstr "Conditions générales"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "To Renew"
-msgstr ""
+msgstr "À renouveler"
 
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #, python-format
 msgid "You must first select a Supplier for Contract %s!"
-msgstr ""
+msgstr "Vous devez tout d'abord sélectionner un fournisseur pour le contrat %s !"
 
 #. module: account_analytic_purchase_contract
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_form
 msgid "⇒ create invoices"
-msgstr ""
+msgstr "⇒ créer les factures"

+ 2 - 0
security/ir.model.access.csv

@@ -0,0 +1,2 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_account_analytic_invoice_line_purchase_user,account_analytic_invoice_line_purchase.user,account_analytic_analysis.model_account_analytic_invoice_line,purchase.group_purchase_user,1,1,1,1

+ 8 - 5
view/account_purchase_contract_menu.xml

@@ -2,27 +2,30 @@
 <openerp>
 	<data>
       <record id="action_contract_purchase" model="ir.actions.act_window">
-            <field name="name">Contracts</field>
+            <field name="name">Contract</field>
             <field name="res_model">account.analytic.account</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="view_id" ref=""/>
-            <field name="search_view_id" ref=""/>
+            <field name="search_view_id" ref=""/> 
             <field name="domain">[('type','=','purchase_contract')]</field>
             <field name="context">{'default_type':'purchase_contract','recurring_invoices':True}</field>
         </record>
-    	<record id="action_contract_purchase_tree" model="ir.actions.act_window.view">
+
+    <record id="action_contract_purchase_tree" model="ir.actions.act_window.view">
             <field name="act_window_id" ref="action_contract_purchase"/>
             <field name="sequence">2</field>
             <field name="view_mode">tree</field>
             <field name="view_id" ref="view_purchase_contract_tree"/>
         </record>
-    	<record id="action_contract_purchase_form" model="ir.actions.act_window.view">
+
+    <record id="action_contract_purchase_form" model="ir.actions.act_window.view">
             <field name="act_window_id" ref="action_contract_purchase"/>
             <field name="sequence">6</field>
             <field name="view_mode">form</field>
             <field name="view_id" ref="view_purchase_contract_form"/>
         </record>
-        <menuitem name="Contracts" id="contract_purchase" parent="purchase.menu_procurement_management" action="action_contract_purchase" sequence="20"/>
+        
+        <menuitem name="Contract" id="contract_purchase" parent="purchase.menu_procurement_management" action="action_contract_purchase" sequence="20"/>
 	</data>
 </openerp>

+ 47 - 36
view/account_purchase_contract_view.xml

@@ -11,20 +11,23 @@
                         <button name="set_close" string="Close Contract" type="object" states="open,pending"/>
                         <button name="set_open" string="Set In Progress" type="object" states="pending,close,cancelled,draft"/>
                         <button name="set_cancel" string="Cancel Contract" type="object" states="open,pending"/>
-                        <field name="state" readonly="1" widget="statusbar" statusbar_visible="open,pending,close" statusbar_colors="{'pending':'red', 'template':'blue}"/>
+                        <field name="state" readonly="1" widget="statusbar" statusbar_visible="open,pending,close" statusbar_colors="{'pending':'red', 'template':'blue'}"/>
                     </header>
                     <sheet string="Analytic Account">
-                        <div class="oe_right oe_button_box" name="buttons"></div>
+                        <div class="oe_right oe_button_box" name="buttons">
+                        </div>
+
                         <div class="oe_title">
-                        	<label for="name" class="oe_edit_only"/>
+                        <label for="name" class="oe_edit_only"/>
                             <h1>
                                 <field name="name" class="oe_inline"/>
                             </h1>
                             <div name="project"/>
                         </div>
+
                         <group name="main">
                             <group>
-                                <field name="partner_id" on_change="on_change_partner_id(partner_id, name)" string="Supplier" required="1"/>
+                                <field name="partner_id" on_change="on_change_partner_id(partner_id, name)" string="Supplier" domain="[('supplier','=',True)]" required="1"/>
                                 <field name="manager_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'account.group_account_manager']}"/>
                                 <field name="currency_id" attrs="{'invisible': ['|',('type', '&lt;&gt;', 'view'), ('company_id', '&lt;&gt;', False)]}"/>
                             </group>
@@ -53,35 +56,36 @@
                                         <field name="date" class="oe_inline"/>
                                     </div>
                                 </group>
-                    			<separator string="Recurring Invoices" attrs="{'invisible': [('recurring_invoices','!=',True)]}"/>
-			                    <div>
-			                        <div attrs="{'invisible': [('type','!=', 'purchase_contract')]}">
-			                            <field name="recurring_invoices" on_change="onchange_recurring_invoices(recurring_invoices, date_start)" class="oe_inline"/>
-			                            <label for="recurring_invoices"/>
-			                        </div>
-			                        <button class="oe_link" name="recurring_create_invoice" attrs="{'invisible': [('recurring_invoices','!=',True)]}" string="⇒ create invoices" type="object" groups="base.group_no_one"/>
-			                    </div>
-			                    <group attrs="{'invisible': [('recurring_invoices','!=',True)]}">
-			                        <label for="recurring_interval"/>
-			                        <div>
-			                            <field name="recurring_interval" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
-			                            <field name="recurring_rule_type" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
-			                        </div>
-			                        <field name="recurring_next_date"/>
-			                    </group>
-			                    <label for="recurring_invoice_line_ids" attrs="{'invisible': [('recurring_invoices','=',False)]}"/>
-			                    <div attrs="{'invisible': [('recurring_invoices','=',False)]}">
-			                        <field name="recurring_invoice_line_ids">
-			                            <tree string="Account Analytic Lines" editable="bottom">
-			                                <field name="product_id" on_change="product_id_change(product_id, uom_id, quantity, False, parent.partner_id, False, parent.pricelist_id, parent.company_id)"/>
-			                                <field name="name"/>
-			                                <field name="quantity"/>
-			                                <field name="uom_id"/>
-			                                <field name="price_unit"/>
-			                                <field name="price_subtotal"/>
-			                            </tree>
-			                        </field>
-			                    </div>
+
+                    <separator string="Recurring Invoices" attrs="{'invisible': [('recurring_invoices','!=',True)]}"/>
+                    <div>
+                        <div attrs="{'invisible': [('type','!=', 'purchase_contract')]}">
+                            <field name="recurring_invoices" on_change="onchange_recurring_invoices(recurring_invoices, date_start)" class="oe_inline"/>
+                            <label for="recurring_invoices"/>
+                        </div>
+                        <button class="oe_link" name="recurring_create_invoice" attrs="{'invisible': [('recurring_invoices','!=',True)]}" string="⇒ create invoices" type="object"/>
+                    </div>
+                    <group attrs="{'invisible': [('recurring_invoices','!=',True)]}">
+                        <label for="recurring_interval"/>
+                        <div>
+                            <field name="recurring_interval" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
+                            <field name="recurring_rule_type" class="oe_inline" attrs="{'required': [('recurring_invoices', '=', True)]}"/>
+                        </div>
+                        <field name="recurring_next_date"/>
+                    </group>
+                    <label for="recurring_invoice_line_ids" attrs="{'invisible': [('recurring_invoices','=',False)]}"/>
+                    <div attrs="{'invisible': [('recurring_invoices','=',False)]}">
+                        <field name="recurring_invoice_line_ids">
+                            <tree string="Account Analytic Lines" editable="bottom">
+                                <field name="product_id" on_change="product_id_change(product_id, uom_id, quantity, False, parent.partner_id, False, parent.pricelist_id, parent.company_id, {'purchase': True})"/>
+                                <field name="name"/>
+                                <field name="quantity"/>
+                                <field name="uom_id"/>
+                                <field name="price_unit"/>
+                                <field name="price_subtotal"/>
+                            </tree>
+                        </field>
+                    </div>
                                 <separator string="Terms and Conditions" name="description"/>
                                 <field name="description"/>
                             </page>
@@ -94,17 +98,24 @@
                 </form>
             </field>
         </record>
+
+
         <record id="view_purchase_contract_tree" model="ir.ui.view">
             <field name="name">purchase_contract.tree</field>
             <field name="model">account.analytic.account</field>
             <field name="inherit_id" ref="account.view_account_analytic_account_list"/>
             <field name="arch" type="xml">
-		        <field name="partner_id" position="attributes">
-		            <attribute name="invisible">'recurring_invoices' in context</attribute>
-		        </field>
+
+            <field name="partner_id" position="attributes">
+            <attribute name="invisible">'recurring_invoices' in context</attribute>
+        </field>
                 <field name="partner_id" position="after" >
                     <field name="partner_id" string="Supplier" invisible="'recurring_invoices' not in context"/>
+
                 </field>
+
+
+
             </field>
         </record>
 	</data>