[MERGE] merge with latest trunk

bzr revid: rma@tinyerp.com-20140407100737-oj6r1olz6v1mq2oe
This commit is contained in:
Randhir Mayatra rma-openerp 2014-04-07 15:37:37 +05:30
commit db0fd7aba9
364 changed files with 1978 additions and 1169 deletions

1
debian/control vendored
View File

@ -35,6 +35,7 @@ Depends:
python-pydot,
python-pyparsing,
python-reportlab,
python-requests,
python-simplejson,
python-tz,
python-unittest2,

View File

@ -40,6 +40,8 @@ conf['addons_path'] = '../../addons/trunk,../../web/trunk/addons'
#----------------------------------------------------------
application = openerp.service.wsgi_server.application
openerp.service.server.load_server_wide_modules()
#----------------------------------------------------------
# Gunicorn
#----------------------------------------------------------

View File

@ -24,7 +24,6 @@ import workflow
import module
import res
import report
import test
import tests
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -57,6 +57,8 @@ The kernel of OpenERP, needed for all installation.
'ir/ir_values_view.xml',
'ir/osv_memory_autovacuum.xml',
'ir/ir_model_report.xml',
'ir/ir_logging_view.xml',
'ir/ir_qweb.xml',
'workflow/workflow_view.xml',
'module/module_view.xml',
'module/module_data.xml',

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:26+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:26+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:59+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:59+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:59+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:59+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:00+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
"X-Poedit-Language: Czech\n"
#. module: base
@ -64,7 +64,7 @@ msgstr "Zobrazení architektury"
#. module: base
#: model:ir.module.module,summary:base.module_sale_stock
msgid "Quotation, Sale Orders, Delivery & Invoicing Control"
msgstr "Nabídky, zakázky, řízení dopravy a fakturace"
msgstr "Nabídky, zakázky, řízení dodávek a fakturace"
#. module: base
#: selection:ir.sequence,implementation:0
@ -87,8 +87,7 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Pomůže vám spravovat projekty a úkoly jejich sledováním, generováním plánů, "
"apod."
"Pomůže vám řídit projekty a úkoly jejich sledováním, generováním plánů, aj."
#. module: base
#: model:ir.module.module,summary:base.module_point_of_sale
@ -158,7 +157,7 @@ msgstr ""
#. module: base
#: help:res.partner,employee:0
msgid "Check this box if this contact is an Employee."
msgstr "Zaškrtněte toto pole, pokud je kontakt zaměstnanec."
msgstr "Zaškrtněte toto pole, pokud je kontakt zaměstnancem."
#. module: base
#: help:ir.model.fields,domain:0
@ -11056,7 +11055,7 @@ msgstr "Úkoly"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_visible_discount
msgid "Prices Visible Discounts"
msgstr ""
msgstr "Zobrazení slevy u ceny"
#. module: base
#: field:ir.attachment,datas:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:00+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:02+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:30+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -12,8 +12,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:03+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:30+0000\n"
"X-Generator: Launchpad (build 16967)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\n"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:13+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:10+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:36+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:13+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:14+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:14+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:15+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:40+0000\n"
"X-Generator: Launchpad (build 16967)\n"
"Language: \n"
#. module: base

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:13+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:16+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:41+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:15+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:40+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:16+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:41+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:13+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:01+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:29+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:59+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -9,8 +9,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:07+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:34+0000\n"
"X-Generator: Launchpad (build 16967)\n"
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
"X-Poedit-Language: Persian\n"

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:16+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:41+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:01+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:29+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:02+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:29+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -9951,7 +9951,7 @@ msgid ""
msgstr ""
"\n"
"Le noyau d'OpenERP, nécessaire pour toute installation.\n"
"===================================================\n"
"=======================================================\n"
#. module: base
#: model:ir.model,name:base.model_ir_server_object_lines

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:14+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -29,7 +29,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.sh
msgid "Saint Helena"
msgstr ""
msgstr "Sainte Hélène"
#. module: base
#: view:ir.actions.report.xml:0
@ -39,7 +39,7 @@ msgstr ""
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
msgstr ""
msgstr "Date et heure"
#. module: base
#: code:addons/fields.py:652
@ -68,7 +68,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Hungarian / Magyar"
msgstr ""
msgstr "Hongrois / Magyar"
#. module: base
#: selection:base.language.install,lang:0
@ -81,6 +81,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Vous aide à gérer vos projets et tâches, en assurant leur suivi, en générant "
"des planifications, etc."
#. module: base
#: model:ir.module.module,summary:base.module_point_of_sale
@ -221,7 +223,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.sz
msgid "Swaziland"
msgstr ""
msgstr "Swaziland"
#. module: base
#: code:addons/orm.py:4485
@ -352,7 +354,7 @@ msgstr ""
#. module: base
#: model:ir.module.category,name:base.module_category_customer_relationship_management
msgid "Customer Relationship Management"
msgstr ""
msgstr "Gestion de la relation client (CRM)"
#. module: base
#: model:ir.module.module,description:base.module_delivery
@ -389,14 +391,14 @@ msgstr ""
#. module: base
#: field:res.partner,credit_limit:0
msgid "Credit Limit"
msgstr ""
msgstr "Limite de crédit"
#. module: base
#: field:ir.model.constraint,date_update:0
#: field:ir.model.data,date_update:0
#: field:ir.model.relation,date_update:0
msgid "Update Date"
msgstr ""
msgstr "Mettre à jour la date"
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_action_rule
@ -407,12 +409,12 @@ msgstr ""
#: view:ir.attachment:0
#: field:ir.attachment,create_uid:0
msgid "Owner"
msgstr ""
msgstr "Propriétaire"
#. module: base
#: view:ir.actions.act_window:0
msgid "Source Object"
msgstr ""
msgstr "Objet source"
#. module: base
#: model:res.partner.bank.type,format_layout:base.bank_normal
@ -434,7 +436,7 @@ msgstr ""
#: field:ir.model.access,group_id:0
#: view:res.groups:0
msgid "Group"
msgstr ""
msgstr "Groupe"
#. module: base
#: constraint:res.lang:0
@ -442,6 +444,9 @@ msgid ""
"Invalid date/time format directive specified. Please refer to the list of "
"allowed directives, displayed when you edit a language."
msgstr ""
"Vous avez spécifié une directive de format date/temps non valide. Veuillez "
"vous référer à la liste des directives autorisées, qui s'affiche lorsque "
"vous modifiez une langue."
#. module: base
#: code:addons/orm.py:4153
@ -555,6 +560,19 @@ msgid ""
"* Use emails to automatically confirm and send acknowledgements for any "
"event registration\n"
msgstr ""
"\n"
"Gestion et organisation d'événements\n"
"====================================\n"
"\n"
"Le module 'Événement' vous permet d'organiser efficacement des événements et "
"toutes les tâches liées : planification, suivi des inscriptions, des "
"présences, etc.\n"
"\n"
"Fonctionnalités clés\n"
"--------------------\n"
"* Gestion des événements et des inscriptions\n"
"* Utilisation d'e-mails pour automatiquement confirmer et envoyer des "
"accusés de réception pour chaque inscription à un événement\n"
#. module: base
#: selection:base.language.install,lang:0
@ -567,6 +585,8 @@ msgid ""
"If you check this, then the second time the user prints with same attachment "
"name, it returns the previous report."
msgstr ""
"Si vous cochez ceci, alors la seconde fois que l'utilisateur imprimera avec "
"le même nom de pièce jointe, cela retournera le rapport stocké"
#. module: base
#: model:ir.module.module,description:base.module_mrp_byproduct
@ -597,7 +617,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
msgid "Invoice on Timesheets"
msgstr ""
msgstr "Facture sur les feuilles de temps"
#. module: base
#: view:base.module.upgrade:0
@ -613,12 +633,12 @@ msgstr ""
#. module: base
#: field:res.country,name:0
msgid "Country Name"
msgstr ""
msgstr "Nom du pays"
#. module: base
#: model:res.country,name:base.co
msgid "Colombia"
msgstr ""
msgstr "Colombie"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_mister
@ -640,7 +660,7 @@ msgstr ""
#. module: base
#: view:res.partner:0
msgid "Sales & Purchases"
msgstr ""
msgstr "Achats et ventes"
#. module: base
#: view:ir.translation:0
@ -721,6 +741,33 @@ msgid ""
"module named account_voucher.\n"
" "
msgstr ""
"\n"
"Comptabilité et gestion financière\n"
"==================================\n"
"\n"
"Le module de comptabilité et de finance couvre :\n"
"------------------------------------------------\n"
" * Comptabilité générale\n"
" * Comptabilité de coût / comptabilité analytique\n"
" * Comptabilité de tiers\n"
" * Gestion des taxes\n"
" * Budgets\n"
" * Factures clients et fournisseurs\n"
" * Relevés bancaires\n"
" * Réconciliations par partenaire\n"
"\n"
"Il créé également un tableau de bord pour les comptables qui inclut :\n"
"---------------------------------------------------------------------\n"
" * Une liste des factures clients à approuver\n"
" * L'analyse de la société\n"
" * Un graphe de la trésorerie\n"
"\n"
"Les processus tels que le maintien de la comptabilité générale se fait par "
"le biais des revues financières définies (les lignes d'écriture à regrouper "
"le sont à travers un journal)\n"
"pour un exercice donné et pour la préparation des reçus il ya un module "
"nommé account_voucher.\n"
" "
#. module: base
#: view:ir.model:0
@ -763,7 +810,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.jo
msgid "Jordan"
msgstr ""
msgstr "Jordanie"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_hr
@ -788,7 +835,7 @@ msgstr ""
#. module: base
#: sql_constraint:res.company:0
msgid "The company name must be unique !"
msgstr ""
msgstr "Le nom de la société doit être unique !"
#. module: base
#: model:ir.ui.menu,name:base.menu_base_action_rule_admin
@ -820,6 +867,10 @@ msgid ""
"invoice, then `object.invoice_address_id.mobile` is the field which gives "
"the correct mobile number"
msgstr ""
"Fournit les champs qui seront utilisés pour récupérer le numéro du "
"cellulaire. Exemple: vous sélectionnez une facture, alors, "
"`object.invoice_address_id.mobile` est le champ qui représente le numéro du "
"cellulaire correct."
#. module: base
#: view:ir.mail_server:0
@ -840,7 +891,7 @@ msgstr ""
#: field:base.language.export,name:0
#: field:ir.attachment,datas_fname:0
msgid "File Name"
msgstr ""
msgstr "Nom du fichier"
#. module: base
#: model:res.country,name:base.rs
@ -891,6 +942,33 @@ msgid ""
"also possible in order to automatically create a meeting when a holiday "
"request is accepted by setting up a type of meeting in Leave Type.\n"
msgstr ""
"\n"
"Gère les absences et les demandes de congés\n"
"===========================================\n"
"\n"
"Cette application contrôle la programmation des congés de votre société. Il "
"permet aux employés de faire des demandes de congés. Ensuite, les managers "
"peuvent examiner les demandes et les approuver ou les rejeter. De cette "
"façon, vous pouvez contrôler la planification de l'ensemble des congés de "
"votre entreprise ou de votre département.\n"
"\n"
"Vous pouvez configurer plusieurs sortes d'absences (maladie, congés payés, "
"congés sans soldes…) et allouer rapidement ces absences à un employé ou un "
"département en utilisant les demandes de congés. Un employé peut aussi faire "
"une demande de congés pour plus de jours en ajoutant une allocation. Cela va "
"augmenter le total des jours disponibles pour ce type de congés (si la "
"demande est acceptée).\n"
"\n"
"Vous pouvez suivre les absences de différentes façons grâce aux rapports "
"suivants : \n"
"\n"
"* Résumé des absences\n"
"* Absences par département\n"
"* Analyse des absences\n"
"\n"
"Une synchronisation avec les agendas internes (Réunions du module CRM) est "
"aussi possible dans le but de créer automatiquement une réunion quand une "
"demande de congés est accepté en ajoutant une type de réunion Absence.\n"
#. module: base
#: selection:base.language.install,lang:0
@ -900,7 +978,7 @@ msgstr ""
#. module: base
#: model:ir.ui.menu,name:base.menu_crm_config_opportunity
msgid "Opportunities"
msgstr ""
msgstr "Opportunités"
#. module: base
#: model:ir.model,name:base.model_base_language_export
@ -910,7 +988,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.pg
msgid "Papua New Guinea"
msgstr ""
msgstr "Papouasie-Nouvelle-Guinée"
#. module: base
#: help:ir.actions.report.xml,report_type:0
@ -941,7 +1019,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.zw
msgid "Zimbabwe"
msgstr ""
msgstr "Zimbabwe"
#. module: base
#: help:ir.model.constraint,type:0
@ -957,7 +1035,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.es
msgid "Spain"
msgstr ""
msgstr "Espagne"
#. module: base
#: help:ir.actions.act_window,domain:0
@ -978,17 +1056,17 @@ msgstr ""
#. module: base
#: field:res.partner,mobile:0
msgid "Mobile"
msgstr ""
msgstr "Cellulaire"
#. module: base
#: model:res.country,name:base.om
msgid "Oman"
msgstr ""
msgstr "Oman"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp
msgid "MRP"
msgstr ""
msgstr "MRP - PBM"
#. module: base
#: model:ir.module.module,description:base.module_hr_attendance
@ -1026,12 +1104,12 @@ msgstr ""
#: model:ir.actions.act_window,name:base.act_menu_create
#: view:wizard.ir.model.menu.create:0
msgid "Create Menu"
msgstr ""
msgstr "Créer un menu"
#. module: base
#: model:res.country,name:base.in
msgid "India"
msgstr ""
msgstr "Inde"
#. module: base
#: model:ir.actions.act_window,name:base.res_request_link-act
@ -1047,7 +1125,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_fleet
msgid "Fleet Management"
msgstr ""
msgstr "Gestion de flotte"
#. module: base
#: help:ir.server.object.lines,value:0
@ -1107,6 +1185,36 @@ msgid ""
"* Planned Revenue by Stage and User (graph)\n"
"* Opportunities by Stage (graph)\n"
msgstr ""
"\n"
"Le module OpenERP de gestion de la relation client (CRM)\n"
"=============================================\n"
"\n"
"Cette application permet aux utilisateurs de gérer efficacement et "
"intelligemment leurs pistes, opportunités, réunions et appels "
"téléphoniques.\n"
"\n"
"Elle gère les tâches clés comme la communication, l'identification, les "
"assignations, les résolutions et les notifications.\n"
"\n"
"OpenERP assure que toutes les demandes sont suivis par les utilisateurs, les "
"clients et les fournisseurs. Il permet d'envoyer automatiquement des "
"rappels, d'escalader des requêtes, de lancer des actions spécifiques et de "
"nombreuses autres selon les règles de l'entreprise.\n"
"\n"
"Le grand avantage de ce système est que les utilisateurs n'ont rien à faire "
"de spécial. Le module CRM dispose d'une passerelle de courriel permettant de "
"synchroniser les courriels reçus et OpenERP. De cette façon, les "
"utilisateurs peuvent simplement envoyer des courriels au système de suivi "
"des demandes.\n"
"\n"
"OpenERP s'occupera de remercier les utilisateurs de leur message, de diriger "
"cette demande à l'équipe appropriée et de s'assurer que toute les "
"communications futures seront rangées à la bonne place.\n"
"\n"
"\n"
"Le tableau bord de cette application inclus:\n"
"* les revenus prévus par étape de vente et par utilisateur (graphique);\n"
"* les opportunités par étape de vente (graphique).\n"
#. module: base
#: selection:base.language.export,format:0
@ -1241,17 +1349,17 @@ msgstr ""
#: selection:ir.actions.server,state:0
#: selection:workflow.activity,kind:0
msgid "Dummy"
msgstr ""
msgstr "Factice"
#. module: base
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "XML invalide pour l'architecture de la vue"
#. module: base
#: model:res.country,name:base.ky
msgid "Cayman Islands"
msgstr ""
msgstr "Îles Caïmans"
#. module: base
#: view:ir.rule:0
@ -1287,7 +1395,7 @@ msgstr ""
#. module: base
#: selection:ir.property,type:0
msgid "Char"
msgstr ""
msgstr "Caractère"
#. module: base
#: field:ir.module.category,visible:0
@ -1365,6 +1473,9 @@ msgid ""
"decimal number [00,53]. All days in a new year preceding the first Monday "
"are considered to be in week 0."
msgstr ""
"%W - Numéro de semaine dans l'année (lundi est le premier jour de la "
"semaine) en nombre décimal [00,53]. Tous les jours de la nouvelle année "
"précédant le premier lundi sont considérés faisant partie de la semaine 0."
#. module: base
#: code:addons/base/module/wizard/base_language_install.py:53
@ -1390,13 +1501,13 @@ msgstr ""
#. module: base
#: field:ir.actions.act_url,url:0
msgid "Action URL"
msgstr ""
msgstr "URL de l'action"
#. module: base
#: field:base.module.import,module_name:0
#: field:ir.module.module,shortdesc:0
msgid "Module Name"
msgstr ""
msgstr "Nom du module"
#. module: base
#: model:res.country,name:base.mh
@ -1423,7 +1534,7 @@ msgstr ""
#: view:ir.ui.view:0
#: selection:ir.ui.view,type:0
msgid "Search"
msgstr ""
msgstr "Recherche"
#. module: base
#: code:addons/osv.py:154
@ -1451,12 +1562,12 @@ msgstr ""
#: code:addons/base/res/res_users.py:131
#, python-format
msgid "Operation Canceled"
msgstr ""
msgstr "Opération annulée"
#. module: base
#: model:ir.module.module,shortdesc:base.module_document
msgid "Document Management System"
msgstr ""
msgstr "Système de gestion des documents"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_claim
@ -1499,7 +1610,7 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_purchase_management
#: model:ir.ui.menu,name:base.menu_purchase_root
msgid "Purchases"
msgstr ""
msgstr "Achats"
#. module: base
#: model:res.country,name:base.md
@ -1524,12 +1635,12 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Features"
msgstr ""
msgstr "Fonctionnalités"
#. module: base
#: view:ir.attachment:0
msgid "Data"
msgstr ""
msgstr "Données"
#. module: base
#: model:ir.module.module,description:base.module_portal_claim
@ -1597,7 +1708,7 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_social_network
#: model:ir.module.module,shortdesc:base.module_mail
msgid "Social Network"
msgstr ""
msgstr "Réseau social"
#. module: base
#: view:res.lang:0
@ -12871,7 +12982,7 @@ msgstr ""
#. module: base
#: model:res.country,name:base.ao
msgid "Angola"
msgstr ""
msgstr "Angola"
#. module: base
#: model:res.country,name:base.tf

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:03+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:30+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:03+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:30+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:03+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:31+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:04+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:31+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:09+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:35+0000\n"
"X-Generator: Launchpad (build 16967)\n"
"Language: hr\n"
#. module: base

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:04+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:31+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -9,8 +9,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:05+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:31+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -211,6 +211,15 @@ msgid ""
"revenue\n"
"reports."
msgstr ""
"\n"
"Bentuk tagihan anda dari entri Expenses, Timesheet.\n"
"========================================================\n"
"\n"
"Modul untuk menerbitkan tagihan berbasis biaya (sdm, biaya, dsb).\n"
"\n"
"Anda dapat mendefinisikan daftar harga pada akun analitik, membuat laporan "
"anggaran \n"
"penghasilan."
#. module: base
#: code:addons/base/ir/ir_sequence.py:134
@ -299,6 +308,12 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Lokalisasi skema akunting dan pajak Chili.\n"
"==============================================\n"
"Plan contable chileno e impuestos de acuerdo a disposiciones vigentes\n"
"\n"
" "
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale
@ -398,6 +413,15 @@ msgid ""
"invoices from picking, OpenERP is able to add and compute the shipping "
"line.\n"
msgstr ""
"\n"
"Mengizinkan anda untuk menambahkan metode deliveri pada order penjualan dan "
"pengambilan.\n"
"==============================================================\n"
"\n"
"Anda dapat menentukan carrier sendiri dan metode antar untuk harga tersebut. "
"Saat membuat\n"
"tagihan dari pengantaran, OpenERP dapat menambah dan menghitung biaya "
"pengiriman.\n"
#. module: base
#: code:addons/base/ir/ir_filters.py:80

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:04+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:31+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:05+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:32+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:05+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:32+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -411,7 +411,7 @@ msgstr "与信限度"
#: field:ir.model.data,date_update:0
#: field:ir.model.relation,date_update:0
msgid "Update Date"
msgstr "日付の更新"
msgstr "更新"
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_action_rule
@ -4582,7 +4582,7 @@ msgstr "スペイン語(ホンジュラス)/ Español (HN)"
#. module: base
#: view:ir.sequence.type:0
msgid "Sequence Type"
msgstr "順序タイプ"
msgstr "付番タイプ"
#. module: base
#: view:base.language.export:0
@ -5141,7 +5141,7 @@ msgstr "銀行口座タイプ"
#. module: base
#: help:ir.sequence,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr "順序のためのレコードのサフィックス値"
msgstr "この付番定義でレコードに適用するサフィックス値"
#. module: base
#: help:ir.mail_server,smtp_user:0
@ -6140,7 +6140,7 @@ msgstr "ショートカット"
#. module: base
#: field:ir.model.data,date_init:0
msgid "Init Date"
msgstr "整数データ"
msgstr "作成日"
#. module: base
#: selection:base.language.install,lang:0
@ -7630,7 +7630,7 @@ msgstr ""
#. module: base
#: help:ir.sequence,number_next:0
msgid "Next number of this sequence"
msgstr "この順序の次の番号"
msgstr "この付番定義の次の番号"
#. module: base
#: view:res.partner:0
@ -10135,7 +10135,7 @@ msgstr "発注分析計画"
#: model:ir.actions.act_window,name:base.ir_sequence_type
#: model:ir.ui.menu,name:base.menu_ir_sequence_type
msgid "Sequence Codes"
msgstr "順序コード"
msgstr "付番コード"
#. module: base
#: selection:base.language.install,lang:0
@ -10790,7 +10790,7 @@ msgstr "国の状態"
#. module: base
#: model:ir.ui.menu,name:base.next_id_5
msgid "Sequences & Identifiers"
msgstr "順序と識別子"
msgstr "付番定義とID"
#. module: base
#: model:ir.module.module,description:base.module_l10n_th
@ -10925,7 +10925,7 @@ msgstr "連絡先が会社の場合はチェックしてください。チェッ
#. module: base
#: view:ir.sequence.type:0
msgid "Sequences Type"
msgstr "順序タイプ"
msgstr "付番タイプ"
#. module: base
#: view:res.partner:0
@ -11282,7 +11282,7 @@ msgstr ""
#: view:ir.sequence:0
#: model:ir.ui.menu,name:base.menu_ir_sequence_form
msgid "Sequences"
msgstr "順序"
msgstr "付番"
#. module: base
#: help:res.lang,code:0
@ -11724,7 +11724,7 @@ msgstr "月:%(month)s"
#: field:multi_company.default,sequence:0
#: field:res.partner.bank,sequence:0
msgid "Sequence"
msgstr "順序"
msgstr "付番"
#. module: base
#: model:res.country,name:base.tn
@ -12190,7 +12190,7 @@ msgstr "ハード島とマクドナルド諸島"
msgid ""
"External Key/Identifier that can be used for data integration with third-"
"party systems"
msgstr "サードパーティシステムとのデータ統合のために利用する外部キー / 識別子"
msgstr "サードパーティシステムとのデータ統合のために利用する外部キー / ID"
#. module: base
#: field:ir.actions.act_window,view_id:0
@ -12519,7 +12519,7 @@ msgstr "CRMポータル"
#. module: base
#: model:ir.ui.menu,name:base.next_id_4
msgid "Low Level Objects"
msgstr "低レベルオブジェクト"
msgstr "低レベルオブジェクト"
#. module: base
#: help:ir.values,model:0
@ -12596,7 +12596,7 @@ msgstr ""
#: view:ir.model.data:0
#: model:ir.ui.menu,name:base.ir_model_data_menu
msgid "External Identifiers"
msgstr "外部識別子"
msgstr "外部ID"
#. module: base
#: selection:base.language.install,lang:0
@ -13614,7 +13614,7 @@ msgstr ""
#: view:ir.model.data:0
#: field:ir.model.data,name:0
msgid "External Identifier"
msgstr "外部識別子"
msgstr "外部ID"
#. module: base
#: model:ir.module.module,description:base.module_audittrail
@ -14048,9 +14048,7 @@ msgid ""
"Two sequence object implementations are offered: Standard and 'No gap'. The "
"later is slower than the former but forbids any gap in the sequence (while "
"they are possible in the former)."
msgstr ""
"2つのシーケンスオブジェクトの実装が提供されます:標準と\"ギャップなし\"です。後者は前者よりも遅いですが、どんな順序のギャップを禁じます(前者は可能で"
"す)。"
msgstr "「標準」と「ギャップなし」の2種類の付番定義が可能です。後者の場合、付番ごとにギャップを設けることができません。"
#. module: base
#: model:res.country,name:base.gn
@ -14249,7 +14247,7 @@ msgstr "かつ"
#: help:ir.values,res_id:0
msgid ""
"Database identifier of the record to which this applies. 0 = for all records"
msgstr "これを適用するためのレコードのデータベース識別子。0 = 全てのレコードのため"
msgstr ""
#. module: base
#: field:ir.model.fields,relation:0
@ -14903,7 +14901,7 @@ msgstr "クック諸島"
#. module: base
#: field:ir.model.data,noupdate:0
msgid "Non Updatable"
msgstr "更新可能でない"
msgstr "更新可"
#. module: base
#: selection:base.language.install,lang:0
@ -15311,7 +15309,7 @@ msgstr ""
#. module: base
#: help:ir.sequence,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr "順序のためのレコードのプレフィックス値"
msgstr "この付番定義でレコードに適用するプレフィックス値"
#. module: base
#: model:res.country,name:base.sc
@ -15353,7 +15351,7 @@ msgstr ""
#. module: base
#: field:ir.model.data,complete_name:0
msgid "Complete ID"
msgstr "完ID"
msgstr "完ID"
#. module: base
#: model:ir.module.module,description:base.module_stock
@ -15447,7 +15445,7 @@ msgstr "製造プロセスを管理し、それらのプロセスのレポート
#. module: base
#: help:ir.sequence,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr "順序の次の番号はこの数値だけ増加します。"
msgstr "付番毎にこの数値分だけ番号が増加します。"
#. module: base
#: selection:workflow.activity,kind:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:02+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:29+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:05+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:32+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:06+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:33+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:06+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:33+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:06+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:33+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:07+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:33+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:07+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:34+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:07+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:34+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:00+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:28+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -13429,7 +13429,7 @@ msgstr ""
#. module: base
#: selection:res.currency,position:0
msgid "Before Amount"
msgstr "Voormalig bedrag"
msgstr "Voor bedrag"
#. module: base
#: field:res.request,act_from:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:14+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:39+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:08+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:34+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:08+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:34+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing
@ -5633,7 +5633,7 @@ msgstr "Falta o valor do campo '%s'."
#. module: base
#: view:ir.rule:0
msgid "Write Access Right"
msgstr ""
msgstr "Permissões de Escrita"
#. module: base
#: model:ir.actions.act_window,help:base.action_res_groups

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:12+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:08+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:35+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:09+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:35+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:09+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:36+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:10+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:36+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 05:58+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:27+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:09+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:35+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:16+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:41+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:10+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:36+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:11+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:11+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:11+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:11+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:12+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:12+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:37+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:15+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:40+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:12+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:38+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2014-03-04 06:14+0000\n"
"X-Generator: Launchpad (build 16948)\n"
"X-Launchpad-Export-Date: 2014-03-28 05:40+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: base
#: model:ir.module.module,description:base.module_account_check_writing

View File

@ -39,6 +39,7 @@ import ir_mail_server
import ir_fields
import ir_qweb
import ir_http
import ir_logging
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -135,35 +135,42 @@ class ir_actions_report_xml(osv.osv):
_sequence = 'ir_actions_id_seq'
_order = 'name'
_columns = {
'name': fields.char('Name', size=64, required=True, translate=True),
'model': fields.char('Object', size=64, required=True),
'type': fields.char('Action Type', size=32, required=True),
'report_name': fields.char('Service Name', size=64, required=True),
'usage': fields.char('Action Usage', size=32),
'report_type': fields.char('Report Type', size=32, required=True, help="Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..."),
'name': fields.char('Name', size=64, required=True, translate=True),
'model': fields.char('Model', required=True),
'report_type': fields.selection([('qweb-pdf', 'PDF'),
('qweb-html', 'HTML'),
('controller', 'Controller'),
('pdf', 'RML pdf (deprecated)'),
('sxw', 'RML sxw (deprecated)'),
('webkit', 'Webkit (deprecated)'),
], 'Report Type', required=True, help="HTML will open the report directly in your browser, PDF will use wkhtmltopdf to render the HTML into a PDF file and let you download it, Controller allows you to define the url of a custom controller outputting any kind of report."),
'report_name': fields.char('Template Name', required=True, help="For QWeb reports, name of the template used in the rendering. The method 'render_html' of the model 'report.template_name' will be called (if any) to give the html. For RML reports, this is the LocalService name."),
'groups_id': fields.many2many('res.groups', 'res_groups_report_rel', 'uid', 'gid', 'Groups'),
# options
'multi': fields.boolean('On Multiple Doc.', help="If set to true, the action will not be displayed on the right toolbar of a form view."),
'attachment': fields.char('Save as Attachment Prefix', size=128, help='This is the filename of the attachment used to store the printing result. Keep empty to not save the printed reports. You can use a python expression with the object and time variables.'),
'attachment_use': fields.boolean('Reload from Attachment', help='If you check this, then the second time the user prints with same attachment name, it returns the previous report.'),
'attachment': fields.char('Save as Attachment Prefix', size=128, help='This is the filename of the attachment used to store the printing result. Keep empty to not save the printed reports. You can use a python expression with the object and time variables.'),
# Deprecated rml stuff
'usage': fields.char('Action Usage', size=32),
'header': fields.boolean('Add RML Header', help="Add or not the corporate RML header"),
'parser': fields.char('Parser Class'),
'auto': fields.boolean('Custom Python Parser'),
'header': fields.boolean('Add RML Header', help="Add or not the corporate RML header"),
'report_xsl': fields.char('XSL Path'),
'report_xml': fields.char('XML Path'),
'report_xsl': fields.char('XSL Path', size=256),
'report_xml': fields.char('XML Path', size=256, help=''),
# Pending deprecation... to be replaced by report_file as this object will become the default report object (not so specific to RML anymore)
'report_rml': fields.char('Main Report File Path', size=256, help="The path to the main report file (depending on Report Type) or NULL if the content is in another data field"),
# temporary related field as report_rml is pending deprecation - this field will replace report_rml after v6.0
'report_file': fields.related('report_rml', type="char", size=256, required=False, readonly=False, string='Report File', help="The path to the main report file (depending on Report Type) or NULL if the content is in another field", store=True),
'report_rml': fields.char('Main Report File Path/controller', help="The path to the main report file/controller (depending on Report Type) or NULL if the content is in another data field"),
'report_file': fields.related('report_rml', type="char", required=False, readonly=False, string='Report File', help="The path to the main report file (depending on Report Type) or NULL if the content is in another field", store=True),
'report_sxw': fields.function(_report_sxw, type='char', string='SXW Path'),
'report_sxw_content_data': fields.binary('SXW Content'),
'report_rml_content_data': fields.binary('RML Content'),
'report_sxw_content': fields.function(_report_content, fnct_inv=_report_content_inv, type='binary', string='SXW Content',),
'report_rml_content': fields.function(_report_content, fnct_inv=_report_content_inv, type='binary', string='RML Content'),
'parser': fields.char('Parser Class'),
}
_defaults = {
'type': 'ir.actions.report.xml',

View File

@ -57,39 +57,36 @@
<group>
<group>
<field name="name"/>
<field name="report_name"/>
<field name="model"/>
<field name="report_type"/>
<field name="report_name" attrs="{'invisible':[('report_type','=', 'controller')]}"/>
<field name="report_rml" attrs="{'invisible':[('report_type','!=', 'controller')]}"/>
</group>
<group>
<field name="usage"/>
<field name="report_type"/>
<field name="report_file"/>
<field name="multi"/>
<field name="attachment_use" attrs="{'invisible':[('report_type','=', 'controller')]}"/>
<field name="attachment" attrs="{'invisible':[('report_type','=', 'controller')]}"/>
</group>
</group>
<notebook>
<page string="Other Configuration">
<page string="Security">
<field name="groups_id"/>
</page>
<page string="RML Configuration" attrs="{'invisible':[('report_type','not in',['pdf','sxw'])]}">
<group>
<group string="RML Report">
<field name="header"/>
<field name="report_file"/>
<field name="auto"/>
<field name="parser"/>
<field name="usage"/>
</group>
<group string="XML Report">
<field name="report_xsl"/>
<field name="report_xml"/>
</group>
<group string="Attachments">
<field name="attachment"/>
<field name="attachment_use"/>
</group>
<group string="Miscellaneous">
<field name="multi"/>
<field name="auto"/>
<field name="parser"/>
</group>
</group>
</page>
<page string="Security">
<field name="groups_id"/>
</page>
</notebook>
</form>
</field>
@ -117,7 +114,8 @@
filter_domain="['|', '|', '|', '|', ('name','ilike',self), ('model','ilike',self), ('type','ilike',self), ('report_name','ilike',self), ('report_type','ilike',self)]"
string="Report"/>
<group expand="0" string="Group By" colspan="4">
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'report_type'}"/>
<filter string="Report Type" domain="[]" context="{'group_by':'report_type'}"/>
<filter string="Report Model" domain="[]" context="{'group_by':'model'}"/>
</group>
</search>
</field>

View File

@ -69,7 +69,7 @@ class ir_attachment(osv.osv):
@tools.ormcache()
def _filestore(self, cr, uid, context=None):
return os.path.join(tools.config['data_dir'], 'filestore', cr.dbname)
return tools.config.filestore(cr.dbname)
# 'data' field implementation
def _full_path(self, cr, uid, location, path):

View File

@ -53,8 +53,8 @@ class ir_http(osv.AbstractModel):
def _get_converters(self):
return {'model': ModelConverter, 'models': ModelsConverter}
def _find_handler(self):
return self.routing_map().bind_to_environ(request.httprequest.environ).match()
def _find_handler(self, return_rule=False):
return self.routing_map().bind_to_environ(request.httprequest.environ).match(return_rule=return_rule)
def _auth_method_user(self):
request.uid = request.session.uid
@ -77,7 +77,9 @@ class ir_http(osv.AbstractModel):
# what if error in security.check()
# -> res_users.check()
# -> res_users.check_credentials()
except Exception:
except (openerp.exceptions.AccessDenied, openerp.http.SessionExpiredException):
# All other exceptions mean undetermined status (e.g. connection pool full),
# let them bubble up
request.session.logout()
getattr(self, "_auth_method_%s" % auth_method)()
return auth_method
@ -89,7 +91,8 @@ class ir_http(osv.AbstractModel):
def _dispatch(self):
# locate the controller method
try:
func, arguments = self._find_handler()
rule, arguments = self._find_handler(return_rule=True)
func = rule.endpoint
except werkzeug.exceptions.NotFound, e:
return self._handle_exception(e)
@ -102,7 +105,7 @@ class ir_http(osv.AbstractModel):
convert_exception_to(
werkzeug.exceptions.Forbidden))
processing = self._postprocess_args(arguments)
processing = self._postprocess_args(arguments, rule)
if processing:
return processing
@ -118,7 +121,7 @@ class ir_http(osv.AbstractModel):
return result
def _postprocess_args(self, arguments):
def _postprocess_args(self, arguments, rule):
""" post process arg to set uid on browse records """
for arg in arguments.itervalues():
if isinstance(arg, orm.browse_record) and arg._uid is UID_PLACEHOLDER:

View File

@ -0,0 +1,46 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 OpenERP SA (<http://www.openerp.com>)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import logging
from openerp.osv import osv, fields
from openerp.tools.translate import _
class ir_logging(osv.Model):
_name = 'ir.logging'
_order = 'id DESC'
EXCEPTIONS_TYPE = [
('client', 'Client'),
('server', 'Server')
]
_columns = {
'create_date': fields.datetime('Create Date', readonly=True),
'create_uid': fields.integer('Uid', readonly=True), # Integer not m2o is intentionnal
'name': fields.char('Name', required=True),
'type': fields.selection(EXCEPTIONS_TYPE, string='Type', required=True, select=True),
'dbname': fields.char('Database Name'),
'level': fields.char('Level'),
'message': fields.text('Message', required=True),
'path': fields.char('Path', required=True),
'func': fields.char('Function', required=True),
'line': fields.char('Line', required=True),
}

View File

@ -0,0 +1,66 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="ir.ui.view" id="ir_logging_form_view">
<field name="model">ir.logging</field>
<field name="arch" type="xml">
<form string="Log" version="7.0">
<group>
<field name="create_date" />
<field name="dbname" />
<field name="type" />
<field name="name" />
<field name="level" />
<field name="path" />
<field name="line" />
<field name="func" />
<field name="message" />
</group>
</form>
</field>
</record>
<record model="ir.ui.view" id="ir_logging_tree_view">
<field name="model">ir.logging</field>
<field name="arch" type="xml">
<tree string="Logs" version="7.0">
<field name="create_date" />
<field name="create_uid" />
<field name="dbname" />
<field name="type" />
<field name="name" />
<field name="level" />
<field name="path" />
<field name="line" />
<field name="func" />
</tree>
</field>
</record>
<record model="ir.ui.view" id="ir_logging_search_view">
<field name="model">ir.logging</field>
<field name="arch" type="xml">
<search string="Logs">
<field name="dbname" />
<field name="type" />
<field name="name" />
<field name="level" />
<field name="message" />
<group expand="0" string="Group By...">
<filter string="Database" domain="[]" context="{'group_by': 'dbname'}" />
<filter string="Level" domain="[]" context="{'group_by': 'level'}" />
<filter string="Type" domain="[]" context="{'group_by': 'type'}" />
<filter string="Month" domain="[]" context="{'group_by': 'create_date'}" />
<filter string="Day" domain="[]" context="{'group_by': 'create_date:day'}" />
</group>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="ir_logging_all_act">
<field name="name">Logging</field>
<field name="res_model">ir.logging</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="ir_logging_search_view" />
</record>
<menuitem parent="base.menu_custom" id="ir_logging_all_menu" action="ir_logging_all_act" />
</data>
</openerp>

View File

@ -33,7 +33,7 @@ from openerp.osv.orm import Model, browse_null
from openerp.tools.safe_eval import safe_eval as eval
from openerp.tools import config
from openerp.tools.translate import _
from openerp.osv.orm import except_orm, browse_record
from openerp.osv.orm import except_orm, browse_record, MAGIC_COLUMNS
_logger = logging.getLogger(__name__)
@ -302,6 +302,8 @@ class ir_model_fields(osv.osv):
def _drop_column(self, cr, uid, ids, context=None):
for field in self.browse(cr, uid, ids, context):
if field.name in MAGIC_COLUMNS:
continue
model = self.pool[field.model]
cr.execute('select relkind from pg_class where relname=%s', (model._table,))
result = cr.fetchone()
@ -1117,6 +1119,10 @@ class ir_model_data(osv.osv):
# Don't remove the LOG_ACCESS_COLUMNS unless _log_access
# has been turned off on the model.
field = self.pool[model].browse(cr, uid, [res_id], context=context)[0]
if not field.exists():
_logger.info('Deleting orphan external_ids %s', external_ids)
self.unlink(cr, uid, external_ids)
continue
if field.name in openerp.osv.orm.LOG_ACCESS_COLUMNS and self.pool[field.model]._log_access:
continue
if field.name == 'id':

View File

@ -32,7 +32,7 @@ class QWebException(Exception):
class QWebTemplateNotFound(QWebException):
pass
def convert_to_qweb_exception(etype=None, **kw):
def raise_qweb_exception(etype=None, **kw):
if etype is None:
etype = QWebException
orig_type, original, tb = sys.exc_info()
@ -43,7 +43,7 @@ def convert_to_qweb_exception(etype=None, **kw):
e.qweb[k] = v
# Will use `raise foo from bar` in python 3 and rename cause to __cause__
e.qweb['cause'] = original
return e
raise
class QWebContext(dict):
def __init__(self, cr, uid, data, loader=None, templates=None, context=None):
@ -166,7 +166,7 @@ class QWeb(orm.AbstractModel):
try:
xml_doc = qwebcontext.loader(name)
except ValueError:
raise convert_to_qweb_exception(QWebTemplateNotFound, message="Loader could not find template %r" % name, template=origin_template)
raise_qweb_exception(QWebTemplateNotFound, message="Loader could not find template %r" % name, template=origin_template)
self.load_document(xml_doc, qwebcontext=qwebcontext)
if name in qwebcontext.templates:
@ -179,7 +179,7 @@ class QWeb(orm.AbstractModel):
return qwebcontext.safe_eval(expr)
except Exception:
template = qwebcontext.get('__template__')
raise convert_to_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
raise_qweb_exception(message="Could not evaluate expression %r" % expr, expression=expr, template=template)
def eval_object(self, expr, qwebcontext):
return self.eval(expr, qwebcontext)
@ -207,7 +207,7 @@ class QWeb(orm.AbstractModel):
return str(expr % qwebcontext)
except Exception:
template = qwebcontext.get('__template__')
raise convert_to_qweb_exception(message="Format error for expression %r" % expr, expression=expr, template=template)
raise_qweb_exception(message="Format error for expression %r" % expr, expression=expr, template=template)
def eval_bool(self, expr, qwebcontext):
return int(bool(self.eval(expr, qwebcontext)))
@ -292,7 +292,7 @@ class QWeb(orm.AbstractModel):
raise
except Exception:
template = qwebcontext.get('__template__')
raise convert_to_qweb_exception(message="Could not render element %r" % element.nodeName, node=element, template=template)
raise_qweb_exception(message="Could not render element %r" % element.nodeName, node=element, template=template)
name = str(element.nodeName)
inner = "".join(g_inner)
trim = template_attributes.get("trim", 0)
@ -488,7 +488,6 @@ class FieldConverter(osv.AbstractModel):
A default configuration key is ``widget`` which can override the
field's own ``_type``.
"""
content = None
try:
content = self.record_to_html(
cr, uid, field_name, record,
@ -503,12 +502,14 @@ class FieldConverter(osv.AbstractModel):
field_name, record._model._name, exc_info=True)
content = None
g_att += ''.join(
' %s="%s"' % (name, werkzeug.utils.escape(value))
for name, value in self.attributes(
cr, uid, field_name, record, options,
source_element, g_att, t_att, qweb_context)
)
if context and context.get('inherit_branding'):
# add branding attributes
g_att += ''.join(
' %s="%s"' % (name, werkzeug.utils.escape(value))
for name, value in self.attributes(
cr, uid, field_name, record, options,
source_element, g_att, t_att, qweb_context)
)
return self.render_element(cr, uid, source_element, t_att, g_att,
qweb_context, content)
@ -611,6 +612,9 @@ class DateTimeConverter(osv.AbstractModel):
strftime_pattern = (u"%s %s" % (lang.date_format, lang.time_format))
pattern = openerp.tools.posix_to_ldml(strftime_pattern, locale=locale)
if options and options.get('hide_seconds'):
pattern = pattern.replace(":ss", "").replace(":s", "")
return babel.dates.format_datetime(value, format=pattern, locale=locale)
class TextConverter(osv.AbstractModel):
@ -804,6 +808,38 @@ class RelativeDatetimeConverter(osv.AbstractModel):
return babel.dates.format_timedelta(
value - reference, add_direction=True, locale=locale)
class Contact(orm.AbstractModel):
_name = 'ir.qweb.field.contact'
_inherit = 'ir.qweb.field.many2one'
def record_to_html(self, cr, uid, field_name, record, column, options=None, context=None):
opf = options.get('fields') or ["name", "address", "phone", "mobile", "fax", "email"]
if not getattr(record, field_name):
return None
id = getattr(record, field_name).id
field_browse = self.pool[column._obj].browse(cr, openerp.SUPERUSER_ID, id, context={"show_address": True})
value = werkzeug.utils.escape( field_browse.name_get()[0][1] )
val = {
'name': value.split("\n")[0],
'address': werkzeug.utils.escape("\n".join(value.split("\n")[1:])),
'phone': field_browse.phone,
'mobile': field_browse.mobile,
'fax': field_browse.fax,
'city': field_browse.city,
'country_id': field_browse.country_id and field_browse.country_id.name_get()[0][1],
'email': field_browse.email,
'fields': opf,
'options': options
}
html = self.pool["ir.ui.view"].render(cr, uid, "base.contact", val, engine='ir.qweb', context=context).decode('utf8')
return HTMLSafe(html)
class HTMLSafe(object):
""" HTMLSafe string wrapper, Werkzeug's escape() has special handling for
objects with a ``__html__`` methods but AFAIK does not provide any such

View File

@ -0,0 +1,21 @@
<openerp>
<data>
<template id="contact">
<address t-ignore="true" class="mb0" itemscope="itemscope" itemtype="http://schema.org/Organization">
<div t-att-class="'name' not in fields and 'css_non_editable_mode_hidden'"><span itemprop="name" t-esc="name"/></div>
<div itemprop="address" itemscope="itemscope" itemtype="http://schema.org/PostalAddress">
<div t-if="address and 'address' in fields" class='css_editable_mode_hidden'>
<i t-if="not options.get('no_marker')" class='fa fa-map-marker'/> <span itemprop="streetAddress" t-raw="address.replace('\n', options.get('no_tag_br') and ', ' or ('&lt;br/&gt;%s' % ('' if options.get('no_marker') else '&amp;nbsp; &amp;nbsp; ')))"/>
</div>
<div t-if="city and 'city' in fields" class='css_editable_mode_hidden'>
<i t-if="not options.get('no_marker')" class='fa fa-map-marker'/> <span itemprop="addressLocality" t-raw="city"/>, <span itemprop="addressCountry" t-raw="country_id"/>
</div>
<div t-if="phone and 'phone' in fields" class='css_editable_mode_hidden'><i t-if="not options.get('no_marker')" class='fa fa-phone'/> <span itemprop="telephone" t-esc="phone"/></div>
<div t-if="mobile and 'mobile' in fields" class='css_editable_mode_hidden'><i t-if="not options.get('no_marker')" class='fa fa-mobile-phone'/> <span itemprop="telephone" t-esc="mobile"/></div>
<div t-if="fax and 'fax' in fields" class='css_editable_mode_hidden'><i t-if="not options.get('no_marker')" class='fa fa-file-text-o'/> <span itemprop="faxNumber" t-esc="fax"/></div>
<div t-if="email and 'email' in fields" class='css_editable_mode_hidden'><i t-if="not options.get('no_marker')" class='fa fa-envelope'/> <span itemprop="email" t-esc="email"/></div>
</div>
</address>
</template>
</data>
</openerp>

View File

@ -728,9 +728,26 @@ class view(osv.osv):
def clear_cache(self):
self.read_template.clear_cache(self)
def _contains_branded(self, node):
return node.tag == 't'\
or 't-raw' in node.attrib\
or any(self.is_node_branded(child) for child in node.iterdescendants())
def _pop_view_branding(self, element):
distributed_branding = dict(
(attribute, element.attrib.pop(attribute))
for attribute in MOVABLE_BRANDING
if element.get(attribute))
return distributed_branding
def distribute_branding(self, e, branding=None, parent_xpath='',
index_map=misc.ConstantMapping(1)):
if e.get('t-ignore') or e.tag == 'head':
# remove any view branding possibly injected by inheritance
attrs = set(MOVABLE_BRANDING)
for descendant in e.iterdescendants(tag=etree.Element):
if not attrs.intersection(descendant.attrib): continue
self._pop_view_branding(descendant)
# TODO: find a better name and check if we have a string to boolean helper
return
@ -742,15 +759,15 @@ class view(osv.osv):
e.set('data-oe-xpath', node_path)
if not e.get('data-oe-model'): return
# if a branded element contains branded elements distribute own
# branding to children unless it's t-raw, then just remove branding
# on current element
if e.tag == 't' or 't-raw' in e.attrib or \
any(self.is_node_branded(child) for child in e.iterdescendants()):
distributed_branding = dict(
(attribute, e.attrib.pop(attribute))
for attribute in MOVABLE_BRANDING
if e.get(attribute))
if set(('t-esc', 't-escf', 't-raw', 't-rawf')).intersection(e.attrib):
# nodes which fully generate their content and have no reason to
# be branded because they can not sensibly be edited
self._pop_view_branding(e)
elif self._contains_branded(e):
# if a branded element contains branded elements distribute own
# branding to children unless it's t-raw, then just remove branding
# on current element
distributed_branding = self._pop_view_branding(e)
if 't-raw' not in e.attrib:
# TODO: collections.Counter if remove p2.6 compat
@ -760,11 +777,12 @@ class view(osv.osv):
if child.get('data-oe-xpath'):
# injected by view inheritance, skip otherwise
# generated xpath is incorrect
continue
indexes[child.tag] += 1
self.distribute_branding(child, distributed_branding,
parent_xpath=node_path,
index_map=indexes)
self.distribute_branding(child)
else:
indexes[child.tag] += 1
self.distribute_branding(
child, distributed_branding,
parent_xpath=node_path, index_map=indexes)
def is_node_branded(self, node):
""" Finds out whether a node is branded or qweb-active (bears a

View File

@ -208,20 +208,19 @@ class res_company(osv.osv):
res['value'] = {'currency_id': currency_id}
return res
def _search(self, cr, uid, args, offset=0, limit=None, order=None,
context=None, count=False, access_rights_uid=None):
def name_search(self, cr, uid, name='', args=None, operator='ilike', context=None, limit=100):
if context is None:
context = {}
if context.get('user_preference'):
if context.pop('user_preference', None):
# We browse as superuser. Otherwise, the user would be able to
# select only the currently visible companies (according to rules,
# which are probably to allow to see the child companies) even if
# she belongs to some other companies.
user = self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context)
cmp_ids = list(set([user.company_id.id] + [cmp.id for cmp in user.company_ids]))
return cmp_ids
return super(res_company, self)._search(cr, uid, args, offset=offset, limit=limit, order=order,
context=context, count=count, access_rights_uid=access_rights_uid)
uid = SUPERUSER_ID
args = (args or []) + [('id', 'in', cmp_ids)]
return super(res_company, self).name_search(cr, uid, name=name, args=args, operator=operator, context=context, limit=limit)
def _company_default_get(self, cr, uid, object=False, field=False, context=None):
"""

View File

@ -493,6 +493,10 @@ class res_config_settings(osv.osv_memory, res_config_module_installation_mixin):
return res
def execute(self, cr, uid, ids, context=None):
if context is None:
context = {}
context = dict(context, active_test=False)
if uid != SUPERUSER_ID and not self.pool['res.users'].has_group(cr, uid, 'base.group_erp_manager'):
raise openerp.exceptions.AccessError(_("Only administrators can change the settings"))
@ -500,7 +504,7 @@ class res_config_settings(osv.osv_memory, res_config_module_installation_mixin):
ir_module = self.pool['ir.module.module']
res_groups = self.pool['res.groups']
classified = self._get_classified_fields(cr, uid, context)
classified = self._get_classified_fields(cr, uid, context=context)
config = self.browse(cr, uid, ids[0], context)

View File

@ -56,6 +56,7 @@ addresses belonging to this country.\n\nYou can use the python-style string pate
\n%(country_name)s: the name of the country
\n%(country_code)s: the code of the country"""),
'currency_id': fields.many2one('res.currency', 'Currency'),
'image': fields.binary("Image"),
}
_sql_constraints = [
('name_uniq', 'unique (name)',

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,7 @@
<field name="model">res.country</field>
<field name="arch" type="xml">
<form string="Country" version="7.0">
<field name="image" widget="image" class="oe_avatar"/>
<group>
<group>
<field name="name"/>

View File

@ -350,6 +350,7 @@ class res_partner(osv.osv, format_address):
def copy(self, cr, uid, id, default=None, context=None):
if default is None:
default = {}
default['user_ids'] = False
name = self.read(cr, uid, [id], ['name'], context)[0]['name']
default.update({'name': _('%s (copy)') % name})
return super(res_partner, self).copy(cr, uid, id, default, context)

View File

@ -3,7 +3,7 @@
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
# Copyright (C) 2010-2013 OpenERP s.a. (<http://openerp.com>).
# Copyright (C) 2010-2014 OpenERP s.a. (<http://openerp.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -167,8 +167,9 @@ class res_users(osv.osv):
}
def on_change_login(self, cr, uid, ids, login, context=None):
v = {'email': login} if tools.single_email_re.match(login) else {}
return {'value': v}
if login and tools.single_email_re.match(login):
return {'value': {'email': login}}
return {}
def onchange_state(self, cr, uid, ids, state_id, context=None):
partner_ids = [user.partner_id.id for user in self.browse(cr, uid, ids, context=context)]
@ -572,7 +573,7 @@ class groups_implied(osv.osv):
res = super(groups_implied, self).write(cr, uid, ids, values, context)
if values.get('users') or values.get('implied_ids'):
# add all implied groups (to all users of each group)
for g in self.browse(cr, uid, ids):
for g in self.browse(cr, uid, ids, context=context):
gids = map(int, g.trans_implied_ids)
vals = {'users': [(4, u.id) for u in g.users]}
super(groups_implied, self).write(cr, uid, gids, vals, context)
@ -886,18 +887,22 @@ class change_password_wizard(osv.TransientModel):
}))
return {'user_ids': res}
def change_password_button(self, cr, uid, id, context=None):
wizard = self.browse(cr, uid, id, context=context)[0]
user_ids = []
for user in wizard.user_ids:
user_ids.append(user.id)
self.pool.get('change.password.user').change_password_button(cr, uid, user_ids, context=context)
need_reload = any(uid == user.user_id.id for user in wizard.user_ids)
line_ids = [user.id for user in wizard.user_ids]
self.pool.get('change.password.user').change_password_button(cr, uid, line_ids, context=context)
# don't keep temporary password copies in the database longer than necessary
self.pool.get('change.password.user').unlink(cr, uid, user_ids)
return {
'type': 'ir.actions.act_window_close',
}
self.pool.get('change.password.user').write(cr, uid, line_ids, {'new_passwd': False}, context=context)
if need_reload:
return {
'type': 'ir.actions.client',
'tag': 'reload'
}
return {'type': 'ir.actions.act_window_close'}
class change_password_user(osv.TransientModel):
"""

View File

@ -278,7 +278,7 @@
<group name="preferences" col="4">
<field name="lang" readonly="0"/>
<field name="tz" readonly="0"/>
<field name="company_id" widget="selection" readonly="0"
<field name="company_id" options="{'no_create': True}" readonly="0"
groups="base.group_multi_company"/>
</group>
<group string="Email Preferences">

View File

@ -113,3 +113,4 @@
"access_ir_needaction_mixin","ir_needaction_mixin","model_ir_needaction_mixin",,1,1,1,1
"access_res_font_all","res_res_font all","model_res_font",,1,0,0,0
"access_res_font_group_user","res_res_font group_user","model_res_font","group_user",1,1,1,1
"access_ir_logging","ir_logging admin","model_ir_logging","group_erp_manager",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
113 access_ir_needaction_mixin ir_needaction_mixin model_ir_needaction_mixin 1 1 1 1
114 access_res_font_all res_res_font all model_res_font 1 0 0 0
115 access_res_font_group_user res_res_font group_user model_res_font group_user 1 1 1 1
116 access_ir_logging ir_logging admin model_ir_logging group_erp_manager 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Some files were not shown because too many files have changed in this diff Show More