ソースを参照

[FIX] product_price

Rodney Enciso Arias 7 年 前
コミット
8069b27fb0

BIN
__init__.pyc


+ 8 - 8
__openerp__.py

@@ -20,18 +20,18 @@
 ##############################################################################
 ##############################################################################
 {
 {
     "name": "Account Analytic Purchase Contract",
     "name": "Account Analytic Purchase Contract",
-    'version': '8.0.1.0.0',
+    'version': '8.0.1.3.0',
     'category': 'Accounting',
     'category': 'Accounting',
     'sequence': 14,
     'sequence': 14,
-    'summary': 'Contracts, Invoicing',
+    'summary': 'Quotations, Sales Orders, Invoicing',
     'description': """
     'description': """
 Account Analytic Purchase Contract
 Account Analytic Purchase Contract
 ==================================
 ==================================
 Manage Purchase Contracts and generate Recurring Invoices as you can do in
 Manage Purchase Contracts and generate Recurring Invoices as you can do in
 sales.
 sales.
     """,
     """,
-    'author':  'ADHOC SA / Eiru Software',
-    'website': 'www.eiru.com.py',
+    'author': 'ADHOC SA - Eiru Software',
+    'website': 'www.adhoc.com.ar',
     'license': 'AGPL-3',
     'license': 'AGPL-3',
     'images': [
     'images': [
     ],
     ],
@@ -40,9 +40,10 @@ sales.
         'purchase',
         'purchase',
     ],
     ],
     'data': [
     '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': [
     'demo': [
     ],
     ],
@@ -52,4 +53,3 @@ sales.
     'auto_install': False,
     'auto_install': False,
     'application': True,
     '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
 from openerp.osv import osv, fields
 import openerp.tools
 import openerp.tools
 from openerp.tools.translate import _
 from openerp.tools.translate import _
-
+from openerp import models, api
 from openerp.addons.decimal_precision import decimal_precision as dp
 from openerp.addons.decimal_precision import decimal_precision as dp
 
 
 
 
@@ -69,7 +69,7 @@ class account_analytic_account(osv.osv):
             fiscal_position = None
             fiscal_position = None
             if fiscal_position_id:
             if fiscal_position_id:
                 fiscal_position = fpos_obj.browse(
                 fiscal_position = fpos_obj.browse(
-                    cr, uid,  fiscal_position_id, context=context)
+                    cr, uid, fiscal_position_id, context=context)
             invoice_lines = []
             invoice_lines = []
             for line in contract.recurring_invoice_line_ids:
             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 = [x.id for x in taxes]
                     tax_ids = self.pool['account.tax'].search(
                     tax_ids = self.pool['account.tax'].search(
                         cr, uid,
                         cr, uid,
-                        [('id', 'in', tax_ids), ('company_id', '=', contract.company_id.id)],
+                        [('id', 'in', tax_ids),
+                         ('company_id', '=', contract.company_id.id)],
                         context=context)
                         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)
                 tax_id = fpos_obj.map_tax(cr, uid, fiscal_position, taxes)
 
 
                 invoice_lines.append((0, 0, {
                 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)
             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):
     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), (
         contract_ids = self.search(cr, uid, [('recurring_next_date', '<=', current_date), (
             'state', '=', 'open'), ('recurring_invoices', '=', True), ('type', '=', 'purchase_contract')])
             'state', '=', 'open'), ('recurring_invoices', '=', True), ('type', '=', 'purchase_contract')])
         return self._recurring_create_invoice(cr, uid, contract_ids, context=context)
         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'?>
 <?xml version="1.0" encoding='UTF-8'?>
 <openerp>
 <openerp>
     <data>
     <data>
+
+      
+
+       
+
         <record model="ir.cron" id="account_analytic_cron_for_invoice_supplier">
         <record model="ir.cron" id="account_analytic_cron_for_invoice_supplier">
            <field name="name">Generate Recurring Invoices Suppliers from Contracts </field>
            <field name="name">Generate Recurring Invoices Suppliers from Contracts </field>
            <field name="interval_number">1</field>
            <field name="interval_number">1</field>
@@ -10,5 +15,6 @@
            <field name="function" eval="'_cron_recurring_create_invoice_purchase'"/>
            <field name="function" eval="'_cron_recurring_create_invoice_purchase'"/>
            <field name="args" eval="'()'"/>
            <field name="args" eval="'()'"/>
         </record>
         </record>
+
     </data>
     </data>
 </openerp>
 </openerp>

BIN
analytic_contract_purchase.pyc


+ 20 - 19
i18n/ar.po

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

+ 12 - 10
i18n/es.po

@@ -3,14 +3,16 @@
 # * account_analytic_purchase_contract
 # * account_analytic_purchase_contract
 # 
 # 
 # Translators:
 # Translators:
+# emiq2 <eq@ingadhoc.com>, 2016
+# Hotellook, 2014
 msgid ""
 msgid ""
 msgstr ""
 msgstr ""
-"Project-Id-Version: odoo-addons (8.0)\n"
+"Project-Id-Version: account-analytic (8.0)\n"
 "Report-Msgid-Bugs-To: \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"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
 "Content-Transfer-Encoding: \n"
@@ -36,12 +38,12 @@ msgstr "Cuenta analítica"
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Cancel Contract"
 msgid "Cancel Contract"
-msgstr ""
+msgstr "Cancelar Contrato"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Close Contract"
 msgid "Close Contract"
-msgstr ""
+msgstr "Cerrar Contrato"
 
 
 #. module: account_analytic_purchase_contract
 #. module: account_analytic_purchase_contract
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
 #: 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
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
 #, python-format
 #, python-format
 msgid "Please define a pruchase journal for the company \"%s\"."
 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
 #. 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_form
@@ -101,7 +103,7 @@ msgstr "Renovación"
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Set In Progress"
 msgid "Set In Progress"
-msgstr ""
+msgstr "Establecer a \"En progreso\""
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
@@ -117,7 +119,7 @@ msgstr "Plazos y condiciones"
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "To Renew"
 msgid "To Renew"
-msgstr ""
+msgstr "A Renovar"
 
 
 #. module: account_analytic_purchase_contract
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29

+ 25 - 21
i18n/fr.po

@@ -3,14 +3,18 @@
 # * account_analytic_purchase_contract
 # * account_analytic_purchase_contract
 # 
 # 
 # Translators:
 # 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 ""
 msgid ""
 msgstr ""
 msgstr ""
-"Project-Id-Version: odoo-addons (8.0)\n"
+"Project-Id-Version: account-analytic (8.0)\n"
 "Report-Msgid-Bugs-To: \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"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: \n"
 "Content-Transfer-Encoding: \n"
@@ -25,7 +29,7 @@ msgstr ""
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Account Analytic Lines"
 msgid "Account Analytic Lines"
-msgstr ""
+msgstr " Lignes d'écritures analytiques "
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
@@ -36,23 +40,23 @@ msgstr "Compte analytique"
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Cancel Contract"
 msgid "Cancel Contract"
-msgstr ""
+msgstr "Annuler le contrat"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Close Contract"
 msgid "Close Contract"
-msgstr ""
+msgstr "Fermer le contrat"
 
 
 #. module: account_analytic_purchase_contract
 #. module: account_analytic_purchase_contract
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
 #: model:ir.actions.act_window,name:account_analytic_purchase_contract.action_contract_purchase
 #: model:ir.ui.menu,name:account_analytic_purchase_contract.contract_purchase
 #: model:ir.ui.menu,name:account_analytic_purchase_contract.contract_purchase
 msgid "Contract"
 msgid "Contract"
-msgstr ""
+msgstr "Contrat"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Contract Information"
 msgid "Contract Information"
-msgstr ""
+msgstr "Renseignements sur le contrat"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
@@ -69,7 +73,7 @@ msgstr "Erreur!"
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #, python-format
 #, python-format
 msgid "No Supplier Defined!"
 msgid "No Supplier Defined!"
-msgstr ""
+msgstr "Pas de fournisseur défini !"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
@@ -80,52 +84,52 @@ msgid ""
 "                                        reached, the account manager is notified \n"
 "                                        reached, the account manager is notified \n"
 "                                        by email to renew the contract with the\n"
 "                                        by email to renew the contract with the\n"
 "                                        customer."
 "                                        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
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:37
 #, python-format
 #, python-format
 msgid "Please define a pruchase journal for the company \"%s\"."
 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
 #. 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_form
 msgid "Recurring Invoices"
 msgid "Recurring Invoices"
-msgstr ""
+msgstr "Factures récurrentes"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Renewal"
 msgid "Renewal"
-msgstr ""
+msgstr "Renouvellement"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Set In Progress"
 msgid "Set In Progress"
-msgstr ""
+msgstr "Renouveler"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_tree
 #: view:account.analytic.account:account_analytic_purchase_contract.view_purchase_contract_tree
 msgid "Supplier"
 msgid "Supplier"
-msgstr ""
+msgstr "Fournisseur"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "Terms and Conditions"
 msgid "Terms and Conditions"
-msgstr ""
+msgstr "Conditions générales"
 
 
 #. module: account_analytic_purchase_contract
 #. 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_form
 msgid "To Renew"
 msgid "To Renew"
-msgstr ""
+msgstr "À renouveler"
 
 
 #. module: account_analytic_purchase_contract
 #. module: account_analytic_purchase_contract
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #: code:addons/account_analytic_purchase_contract/account_analytic_analysis.py:29
 #, python-format
 #, python-format
 msgid "You must first select a Supplier for Contract %s!"
 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
 #. 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_form
 msgid "⇒ create invoices"
 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>
 <openerp>
 	<data>
 	<data>
       <record id="action_contract_purchase" model="ir.actions.act_window">
       <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="res_model">account.analytic.account</field>
             <field name="view_type">form</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="view_mode">tree,form</field>
             <field name="view_id" ref=""/>
             <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="domain">[('type','=','purchase_contract')]</field>
             <field name="context">{'default_type':'purchase_contract','recurring_invoices':True}</field>
             <field name="context">{'default_type':'purchase_contract','recurring_invoices':True}</field>
         </record>
         </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="act_window_id" ref="action_contract_purchase"/>
             <field name="sequence">2</field>
             <field name="sequence">2</field>
             <field name="view_mode">tree</field>
             <field name="view_mode">tree</field>
             <field name="view_id" ref="view_purchase_contract_tree"/>
             <field name="view_id" ref="view_purchase_contract_tree"/>
         </record>
         </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="act_window_id" ref="action_contract_purchase"/>
             <field name="sequence">6</field>
             <field name="sequence">6</field>
             <field name="view_mode">form</field>
             <field name="view_mode">form</field>
             <field name="view_id" ref="view_purchase_contract_form"/>
             <field name="view_id" ref="view_purchase_contract_form"/>
         </record>
         </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>
 	</data>
 </openerp>
 </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_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_open" string="Set In Progress" type="object" states="pending,close,cancelled,draft"/>
                         <button name="set_cancel" string="Cancel Contract" type="object" states="open,pending"/>
                         <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>
                     </header>
                     <sheet string="Analytic Account">
                     <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">
                         <div class="oe_title">
-                        	<label for="name" class="oe_edit_only"/>
+                        <label for="name" class="oe_edit_only"/>
                             <h1>
                             <h1>
                                 <field name="name" class="oe_inline"/>
                                 <field name="name" class="oe_inline"/>
                             </h1>
                             </h1>
                             <div name="project"/>
                             <div name="project"/>
                         </div>
                         </div>
+
                         <group name="main">
                         <group name="main">
                             <group>
                             <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="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)]}"/>
                                 <field name="currency_id" attrs="{'invisible': ['|',('type', '&lt;&gt;', 'view'), ('company_id', '&lt;&gt;', False)]}"/>
                             </group>
                             </group>
@@ -53,35 +56,36 @@
                                         <field name="date" class="oe_inline"/>
                                         <field name="date" class="oe_inline"/>
                                     </div>
                                     </div>
                                 </group>
                                 </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"/>
                                 <separator string="Terms and Conditions" name="description"/>
                                 <field name="description"/>
                                 <field name="description"/>
                             </page>
                             </page>
@@ -94,17 +98,24 @@
                 </form>
                 </form>
             </field>
             </field>
         </record>
         </record>
+
+
         <record id="view_purchase_contract_tree" model="ir.ui.view">
         <record id="view_purchase_contract_tree" model="ir.ui.view">
             <field name="name">purchase_contract.tree</field>
             <field name="name">purchase_contract.tree</field>
             <field name="model">account.analytic.account</field>
             <field name="model">account.analytic.account</field>
             <field name="inherit_id" ref="account.view_account_analytic_account_list"/>
             <field name="inherit_id" ref="account.view_account_analytic_account_list"/>
             <field name="arch" type="xml">
             <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" position="after" >
                     <field name="partner_id" string="Supplier" invisible="'recurring_invoices' not in context"/>
                     <field name="partner_id" string="Supplier" invisible="'recurring_invoices' not in context"/>
+
                 </field>
                 </field>
+
+
+
             </field>
             </field>
         </record>
         </record>
 	</data>
 	</data>