diff --git a/addons/account/account.py b/addons/account/account.py index 74531102073..eca8bf9b397 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -887,7 +887,7 @@ class account_move(osv.osv): cr.execute('update account_move set state=%s where id =ANY(%s) ',('posted',ids,)) else: - raise osv.except_osv(_('Integrity Error !'), _('You can not validate a non-balanced entry !')) + raise osv.except_osv(_('Integrity Error !'), _('You can not validate a non-balanced entry !\nMake sure you have configured Payment Term properly !\nIt should contain atleast one Payment Term Line with type "Balance" !')) return True def button_validate(self, cursor, user, ids, context=None): diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index c42597e785d..70a99adc18e 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -29,69 +29,15 @@ import tools from tools import config class account_analytic_line(osv.osv): - _name = 'account.analytic.line' + _inherit = 'account.analytic.line' _description = 'Analytic lines' - - def _amount_currency(self, cr, uid, ids, field_name, arg, context={}): - result = {} - for rec in self.browse(cr, uid, ids, context): - cmp_cur_id=rec.company_id.currency_id.id - aa_cur_id=rec.account_id.currency_id.id - # Always provide the amount in currency - if cmp_cur_id != aa_cur_id: - cur_obj = self.pool.get('res.currency') - ctx = {} - if rec.date and rec.amount: - ctx['date'] = rec.date - result[rec.id] = cur_obj.compute(cr, uid, rec.company_id.currency_id.id, - rec.account_id.currency_id.id, rec.amount, - context=ctx) - else: - result[rec.id]=rec.amount - return result - - def _get_account_currency(self, cr, uid, ids, field_name, arg, context={}): - result = {} - for rec in self.browse(cr, uid, ids, context): - # Always provide second currency - result[rec.id] = (rec.account_id.currency_id.id,rec.account_id.currency_id.code) - return result - - def _get_account_line(self, cr, uid, ids, context={}): - aac_ids = {} - for acc in self.pool.get('account.analytic.account').browse(cr, uid, ids): - aac_ids[acc.id] = True - aal_ids = [] - if aac_ids: - aal_ids = self.pool.get('account.analytic.line').search(cr, uid, [('account_id','in',aac_ids.keys())], context=context) - return aal_ids - _columns = { - 'name' : fields.char('Description', size=256, required=True), - 'date' : fields.date('Date', required=True), - 'amount' : fields.float('Amount', required=True, help='Calculated by multiplying the quantity and the price given in the Product\'s cost price.'), - 'unit_amount' : fields.float('Quantity', help='Specifies the amount of quantity to count.'), 'product_uom_id' : fields.many2one('product.uom', 'UoM'), 'product_id' : fields.many2one('product.product', 'Product'), - 'account_id' : fields.many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='cascade', select=True), 'general_account_id' : fields.many2one('account.account', 'General Account', required=True, ondelete='cascade'), 'move_id' : fields.many2one('account.move.line', 'Move Line', ondelete='cascade', select=True), 'journal_id' : fields.many2one('account.analytic.journal', 'Analytic Journal', required=True, ondelete='cascade', select=True), 'code' : fields.char('Code', size=8), - 'user_id' : fields.many2one('res.users', 'User',), - 'currency_id': fields.function(_get_account_currency, method=True, type='many2one', relation='res.currency', string='Account currency', - store={ - 'account.analytic.account': (_get_account_line, ['company_id'], 50), - 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10), - }, - help="The related account currency if not equal to the company one."), - 'company_id': fields.many2one('res.company','Company',required=True), - 'amount_currency': fields.function(_amount_currency, method=True, digits_compute= dp.get_precision('Account'), string='Amount currency', - store={ - 'account.analytic.account': (_get_account_line, ['company_id'], 50), - 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10), - }, - help="The amount expressed in the related account currency if not equal to the company one."), 'ref': fields.char('Ref.', size=64), } _defaults = { diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml old mode 100755 new mode 100644 diff --git a/addons/account/process/statement_process.xml b/addons/account/process/statement_process.xml old mode 100755 new mode 100644 diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml old mode 100755 new mode 100644 diff --git a/addons/account/report/account_balance_landscape.py b/addons/account/report/account_balance_landscape.py old mode 100755 new mode 100644 diff --git a/addons/account/report/compare_account_balance.py b/addons/account/report/compare_account_balance.py old mode 100755 new mode 100644 diff --git a/addons/account/report/partner_balance.py b/addons/account/report/partner_balance.py old mode 100755 new mode 100644 diff --git a/addons/account/wizard/account_aged_trial_balance.py b/addons/account/wizard/account_aged_trial_balance.py old mode 100755 new mode 100644 diff --git a/addons/account/wizard/account_compare_account_balance_report.py b/addons/account/wizard/account_compare_account_balance_report.py old mode 100755 new mode 100644 diff --git a/addons/account/wizard/account_third_party_ledger.py b/addons/account/wizard/account_third_party_ledger.py old mode 100755 new mode 100644 diff --git a/addons/account/wizard/account_vat.py b/addons/account/wizard/account_vat.py old mode 100755 new mode 100644 diff --git a/addons/account_analytic_plans/i18n/it.po b/addons/account_analytic_plans/i18n/it.po index fc9266c9397..0e2583dfe3d 100644 --- a/addons/account_analytic_plans/i18n/it.po +++ b/addons/account_analytic_plans/i18n/it.po @@ -7,27 +7,27 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.0\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2009-08-28 16:01+0000\n" -"PO-Revision-Date: 2009-09-08 16:37+0000\n" -"Last-Translator: paola \n" +"PO-Revision-Date: 2010-04-29 11:06+0000\n" +"Last-Translator: Lorenzo Lucio Ancora \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:11+0000\n" +"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account4_ids:0 msgid "Account4 Id" -msgstr "" +msgstr "Identificativo di Account4" #. module: account_analytic_plans #: 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 per x_ e non deve contenere caratteri " -"speciali!" +"Il nome dell'oggetto deve iniziare con x_ e non può contenere caratteri " +"speciali !" #. module: account_analytic_plans #: model:ir.actions.report.xml,name:account_analytic_plans.account_analytic_account_crossovered_analytic @@ -38,7 +38,7 @@ msgstr "" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account5_ids:0 msgid "Account5 Id" -msgstr "" +msgstr "Identificativo di Account5" #. module: account_analytic_plans #: wizard_field:wizard.crossovered.analytic,init,date2:0 @@ -77,7 +77,7 @@ msgstr "Stampa" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "To Date" -msgstr "" +msgstr "Alla data" #. module: account_analytic_plans #: field:account.analytic.plan.instance.line,plan_id:0 @@ -102,22 +102,22 @@ msgstr "" #. module: account_analytic_plans #: field:account.analytic.plan.instance,code:0 msgid "Distribution Code" -msgstr "" +msgstr "Codice di distribuzione" #. module: account_analytic_plans #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Nome del modello non valido nella definizione dell'azione." #. module: account_analytic_plans #: field:account.analytic.plan.line,name:0 msgid "Plan Name" -msgstr "" +msgstr "Nome del piano" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "Printing date" -msgstr "" +msgstr "Data di stampa" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 @@ -127,28 +127,28 @@ msgstr "Percentuale" #. module: account_analytic_plans #: wizard_field:wizard.crossovered.analytic,init,empty_line:0 msgid "Dont show empty lines" -msgstr "" +msgstr "Non mostrare le righe vuote" #. module: account_analytic_plans #: wizard_view:wizard.crossovered.analytic,init:0 msgid "Select Information" -msgstr "" +msgstr "Scegli l'informazione" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account3_ids:0 msgid "Account3 Id" -msgstr "" +msgstr "Identificativo di Account3" #. module: account_analytic_plans #: field:account.analytic.plan.instance,journal_id:0 #: wizard_field:wizard.crossovered.analytic,init,journal_ids:0 msgid "Analytic Journal" -msgstr "" +msgstr "Registro Analitico" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "100.00%" -msgstr "" +msgstr "Cento per cento" #. module: account_analytic_plans #: wizard_field:wizard.crossovered.analytic,init,ref:0 @@ -158,12 +158,12 @@ msgstr "" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "Analytic Account :" -msgstr "" +msgstr "Account analitico:" #. module: account_analytic_plans #: view:account.analytic.plan.line:0 msgid "Analytic Plan Line" -msgstr "" +msgstr "Linea del piano analitico" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 @@ -173,12 +173,12 @@ msgstr "" #. module: account_analytic_plans #: model:ir.actions.wizard,name:account_analytic_plans.create_model msgid "Create Model" -msgstr "" +msgstr "Crea un modello" #. module: account_analytic_plans #: field:account.analytic.plan,default_instance_id:0 msgid "Default Entries" -msgstr "" +msgstr "Valori di default" #. module: account_analytic_plans #: view:account.analytic.plan:0 @@ -191,27 +191,27 @@ msgstr "" #. module: account_analytic_plans #: field:account.analytic.plan.line,min_required:0 msgid "Minimum Allowed (%)" -msgstr "" +msgstr "Minimo consentito (%)" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account1_ids:0 msgid "Account1 Id" -msgstr "" +msgstr "Identificativo di Account1" #. module: account_analytic_plans #: field:account.analytic.plan.line,max_required:0 msgid "Maximum Allowed (%)" -msgstr "" +msgstr "Massimo consentito (%)" #. module: account_analytic_plans #: wizard_view:create.model,info:0 msgid "Distribution Model Saved" -msgstr "" +msgstr "Modello di distribuzione salvato" #. module: account_analytic_plans #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_instance msgid "Analytic Plan Instance" -msgstr "" +msgstr "Istanza del piano analitico" #. module: account_analytic_plans #: constraint:ir.ui.view:0 @@ -221,7 +221,7 @@ msgstr "XML non valido per Visualizzazione Architettura!" #. module: account_analytic_plans #: model:ir.actions.act_window,name:account_analytic_plans.account_analytic_instance_model_open msgid "Distribution Models" -msgstr "" +msgstr "Modelli di distribuzione" #. module: account_analytic_plans #: model:ir.module.module,description:account_analytic_plans.module_meta_information @@ -267,7 +267,7 @@ msgstr "" #: view:account.analytic.plan.line:0 #: model:ir.model,name:account_analytic_plans.model_account_analytic_plan_line msgid "Analytic Plan Lines" -msgstr "" +msgstr "Linee del piano analitico" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 @@ -277,68 +277,70 @@ msgstr "" #. module: account_analytic_plans #: field:account.analytic.plan.instance,plan_id:0 msgid "Model's Plan" -msgstr "" +msgstr "Piano dei modelli" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account2_ids:0 msgid "Account2 Id" -msgstr "" +msgstr "Identificativo di Account2" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "Amount" -msgstr "" +msgstr "Quantità" #. module: account_analytic_plans #: help:account.analytic.plan.line,root_analytic_id:0 msgid "Root account of this plan." -msgstr "" +msgstr "Account radice per questo piano" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account6_ids:0 msgid "Account6 Id" -msgstr "" +msgstr "Identificativo di Account6" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "Quantity" -msgstr "" +msgstr "Quantità" #. module: account_analytic_plans #: field:account.analytic.plan.instance,account_ids:0 msgid "Account Id" -msgstr "" +msgstr "Identificativo dell'Account" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "Code" -msgstr "" +msgstr "Codice" #. module: account_analytic_plans #: wizard_button:create.model,info,end:0 msgid "OK" -msgstr "" +msgstr "OK" #. module: account_analytic_plans #: field:account.analytic.plan.line,root_analytic_id:0 msgid "Root Account" -msgstr "" +msgstr "Account radice" #. module: account_analytic_plans #: wizard_view:create.model,info:0 msgid "" "This distribution model has been saved. You will be able to reuse it later." msgstr "" +"Questo modello di distribuzione è stato salvato. Lo potrai usare di nuovo in " +"seguito." #. module: account_analytic_plans #: field:account.analytic.plan.line,sequence:0 msgid "Sequence" -msgstr "" +msgstr "Sequenza" #. module: account_analytic_plans #: field:account.analytic.plan.instance.line,analytic_account_id:0 msgid "Analytic Account" -msgstr "" +msgstr "Account analitico" #. module: account_analytic_plans #: field:account.analytic.default,analytics_id:0 @@ -347,22 +349,22 @@ msgstr "" #: field:account.invoice.line,analytics_id:0 #: field:account.move.line,analytics_id:0 msgid "Analytic Distribution" -msgstr "" +msgstr "Distribuzione analitica" #. module: account_analytic_plans #: model:ir.ui.menu,name:account_analytic_plans.menu_account_analytic_plan_instance_action msgid "Analytic Distribution's models" -msgstr "" +msgstr "Modelli della distribuzione analitica" #. module: account_analytic_plans #: wizard_button:wizard.crossovered.analytic,init,end:0 msgid "Cancel" -msgstr "" +msgstr "Annulla" #. module: account_analytic_plans #: wizard_field:wizard.crossovered.analytic,init,date1:0 msgid "Start Date" -msgstr "" +msgstr "Data di inizio" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 @@ -372,4 +374,4 @@ msgstr "" #. module: account_analytic_plans #: rml:account.analytic.account.crossovered.analytic:0 msgid "From Date" -msgstr "" +msgstr "Dalla data" diff --git a/addons/account_report/account_report.xml b/addons/account_report/account_report.xml old mode 100755 new mode 100644 diff --git a/addons/account_tax_include/i18n/oc.po b/addons/account_tax_include/i18n/oc.po new file mode 100644 index 00000000000..3fddc4ffbd8 --- /dev/null +++ b/addons/account_tax_include/i18n/oc.po @@ -0,0 +1,53 @@ +# Occitan (post 1500) 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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-08-28 16:01+0000\n" +"PO-Revision-Date: 2010-04-29 14:21+0000\n" +"Last-Translator: Cédric VALMARY (Tot en òc) \n" +"Language-Team: Occitan (post 1500) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: account_tax_include +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML invalid per l'arquitectura de la vista" + +#. module: account_tax_include +#: field:account.invoice,price_type:0 +msgid "Price method" +msgstr "Metòde de prètz" + +#. module: account_tax_include +#: model:ir.module.module,shortdesc:account_tax_include.module_meta_information +msgid "Invoices and prices with taxes included" +msgstr "Facturas e prèses amb taxas inclusas" + +#. module: account_tax_include +#: selection:account.invoice,price_type:0 +msgid "Tax included" +msgstr "Taxa inclusa" + +#. module: account_tax_include +#: selection:account.invoice,price_type:0 +msgid "Tax excluded" +msgstr "Fòra taxa" + +#. module: account_tax_include +#: view:account.tax:0 +msgid "Compute Code for Taxes included prices" +msgstr "Còde de calcul pels prèses amb taxas compresas" + +#. module: account_tax_include +#: field:account.invoice.line,price_subtotal_incl:0 +msgid "Subtotal" +msgstr "Sostotal" diff --git a/addons/account_voucher/__init__.py b/addons/account_voucher/__init__.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/account_report.xml b/addons/account_voucher/account_report.xml old mode 100755 new mode 100644 diff --git a/addons/account_voucher/account_view.xml b/addons/account_voucher/account_view.xml old mode 100755 new mode 100644 diff --git a/addons/account_voucher/report/__init__.py b/addons/account_voucher/report/__init__.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/report/report_voucher.py b/addons/account_voucher/report/report_voucher.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/report/report_voucher_amount.py b/addons/account_voucher/report/report_voucher_amount.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/report/rml_parse.py b/addons/account_voucher/report/rml_parse.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py old mode 100755 new mode 100644 diff --git a/addons/account_voucher/voucher_view.xml b/addons/account_voucher/voucher_view.xml old mode 100755 new mode 100644 diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py index c19404388a6..143168ab8fe 100644 --- a/addons/analytic/__openerp__.py +++ b/addons/analytic/__openerp__.py @@ -26,7 +26,7 @@ "author" : "Tiny", "website" : "http://www.openerp.com", "category" : "Generic Modules/Projects & Services", - "depends" : ["base"], + "depends" : ["base", "decimal_precision"], "description": """Module for defining analytic accounting object. """, "init_xml" : [], diff --git a/addons/analytic/project.py b/addons/analytic/project.py index 9194bd9906b..2ed3fe5a67d 100644 --- a/addons/analytic/project.py +++ b/addons/analytic/project.py @@ -22,8 +22,8 @@ import time import operator -from osv import fields -from osv import osv +from osv import fields, osv +import decimal_precision as dp # # Object definition @@ -282,3 +282,70 @@ class account_analytic_account(osv.osv): account_analytic_account() + +class account_analytic_line(osv.osv): + _name = 'account.analytic.line' + _description = 'Analytic lines' + def _amount_currency(self, cr, uid, ids, field_name, arg, context={}): + result = {} + for rec in self.browse(cr, uid, ids, context): + cmp_cur_id=rec.company_id.currency_id.id + aa_cur_id=rec.account_id.currency_id.id + # Always provide the amount in currency + if cmp_cur_id != aa_cur_id: + cur_obj = self.pool.get('res.currency') + ctx = {} + if rec.date and rec.amount: + ctx['date'] = rec.date + result[rec.id] = cur_obj.compute(cr, uid, rec.company_id.currency_id.id, + rec.account_id.currency_id.id, rec.amount, + context=ctx) + else: + result[rec.id]=rec.amount + return result + + def _get_account_currency(self, cr, uid, ids, field_name, arg, context={}): + result = {} + for rec in self.browse(cr, uid, ids, context): + # Always provide second currency + result[rec.id] = (rec.account_id.currency_id.id,rec.account_id.currency_id.code) + return result + def _get_account_line(self, cr, uid, ids, context={}): + aac_ids = {} + for acc in self.pool.get('account.analytic.account').browse(cr, uid, ids): + aac_ids[acc.id] = True + aal_ids = [] + if aac_ids: + aal_ids = self.pool.get('account.analytic.line').search(cr, uid, [('account_id','in',aac_ids.keys())], context=context) + return aal_ids + + _columns = { + 'name' : fields.char('Description', size=256, required=True), + 'date' : fields.date('Date', required=True), + 'amount' : fields.float('Amount', required=True, help='Calculated by multiplying the quantity and the price given in the Product\'s cost price.'), + 'unit_amount' : fields.float('Quantity', help='Specifies the amount of quantity to count.'), + 'account_id' : fields.many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='cascade', select=True), + 'user_id' : fields.many2one('res.users', 'User',), + 'company_id': fields.many2one('res.company','Company',required=True), + 'currency_id': fields.function(_get_account_currency, method=True, type='many2one', relation='res.currency', string='Account currency', + store={ + 'account.analytic.account': (_get_account_line, ['company_id'], 50), + 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10), + }, + help="The related account currency if not equal to the company one."), + 'amount_currency': fields.function(_amount_currency, method=True, digits_compute= dp.get_precision('Account'), string='Amount currency', + store={ + 'account.analytic.account': (_get_account_line, ['company_id'], 50), + 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10), + }, + help="The amount expressed in the related account currency if not equal to the company one."), + + } + _defaults = { + 'date': lambda *a: time.strftime('%Y-%m-%d'), + 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', c), + } + _order = 'date' +account_analytic_line() + + diff --git a/addons/analytic_user_function/i18n/oc.po b/addons/analytic_user_function/i18n/oc.po new file mode 100644 index 00000000000..91d9c373a54 --- /dev/null +++ b/addons/analytic_user_function/i18n/oc.po @@ -0,0 +1,67 @@ +# Occitan (post 1500) 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 , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2009-08-28 16:01+0000\n" +"PO-Revision-Date: 2010-04-29 14:21+0000\n" +"Last-Translator: Cédric VALMARY (Tot en òc) \n" +"Language-Team: Occitan (post 1500) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2010-04-30 03:51+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#. module: analytic_user_function +#: constraint:ir.ui.view:0 +msgid "Invalid XML for View Architecture!" +msgstr "XML invalid per l'arquitectura de la vista" + +#. module: analytic_user_function +#: model:ir.model,name:analytic_user_function.model_analytic_user_funct_grid +msgid "Relation table between users and products on a analytic account" +msgstr "" + +#. module: analytic_user_function +#: field:analytic_user_funct_grid,product_id:0 +msgid "Product" +msgstr "Produch" + +#. module: analytic_user_function +#: field:analytic_user_funct_grid,account_id:0 +msgid "Analytic Account" +msgstr "Compte Analitic" + +#. module: analytic_user_function +#: view:account.analytic.account:0 +#: field:account.analytic.account,user_product_ids:0 +msgid "Users/Products Rel." +msgstr "Relacion Utilizaires/Produches" + +#. module: analytic_user_function +#: field:analytic_user_funct_grid,user_id:0 +msgid "User" +msgstr "Utilizaire" + +#. module: analytic_user_function +#: constraint:ir.model:0 +msgid "" +"The Object name must start with x_ and not contain any special character !" +msgstr "" +"Lo nom de l'objècte deu començar amb x_ e conténer pas de caractèrs " +"especials !" + +#. module: analytic_user_function +#: model:ir.module.module,shortdesc:analytic_user_function.module_meta_information +msgid "Analytic User Function" +msgstr "" + +#. module: analytic_user_function +#: view:analytic_user_funct_grid:0 +msgid "User's Product for this Analytic Account" +msgstr "Produch de l'Utilizaire per aqueste Compte Analitic" diff --git a/addons/base_calendar/__init__.py b/addons/base_calendar/__init__.py old mode 100755 new mode 100644 diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py old mode 100755 new mode 100644 diff --git a/addons/base_calendar/base_calendar_data.xml b/addons/base_calendar/base_calendar_data.xml old mode 100755 new mode 100644 diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml old mode 100755 new mode 100644 diff --git a/addons/base_calendar/wizard/__init__.py b/addons/base_calendar/wizard/__init__.py old mode 100755 new mode 100644 diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py old mode 100755 new mode 100644 diff --git a/addons/base_calendar/wizard/calendar_event_edit_all.py b/addons/base_calendar/wizard/calendar_event_edit_all.py old mode 100755 new mode 100644 diff --git a/addons/base_calendar/wizard/calendar_event_edit_all_view.xml b/addons/base_calendar/wizard/calendar_event_edit_all_view.xml old mode 100755 new mode 100644 diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/davcopy.py b/addons/caldav/DAV/davcopy.py old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/davmove.py b/addons/caldav/DAV/davmove.py old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/delete.py b/addons/caldav/DAV/delete.py old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/errors.py b/addons/caldav/DAV/errors.py old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/propfind.py b/addons/caldav/DAV/propfind.py old mode 100755 new mode 100644 diff --git a/addons/caldav/DAV/utils.py b/addons/caldav/DAV/utils.py old mode 100755 new mode 100644 diff --git a/addons/caldav/wizard/__init__.py b/addons/caldav/wizard/__init__.py old mode 100755 new mode 100644 diff --git a/addons/crm/crm.py b/addons/crm/crm.py index b0515a3fa13..91ef20be892 100644 --- a/addons/crm/crm.py +++ b/addons/crm/crm.py @@ -516,7 +516,7 @@ class crm_case(osv.osv): @param self: The object pointer @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, - @param ids: List of Case ids + @param cases: a browse record list @param keyword: Case action keyword e.g.: If case is closed "Close" keyword is used @param history: Value True/False, If True it makes entry in case History otherwise in Case Log @param email: Email address if any @@ -525,6 +525,10 @@ class crm_case(osv.osv): if not context: context = {} + # The mailgate sends the ids of the cases and not the object list + if all(isinstance(case_id, (int, long)) for case_id in cases) and context.get('model'): + cases = self.pool.get(context['model']).browse(cr, uid, cases, context=context) + model_obj = self.pool.get('ir.model') obj = self.pool.get('crm.case.log') for case in cases: diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml index 4bdc0d90158..9ce2a89ad34 100644 --- a/addons/crm/crm_opportunity_view.xml +++ b/addons/crm/crm_opportunity_view.xml @@ -190,10 +190,13 @@ -