[MERGE] Sync with trunk until revision 4957.
bzr revid: tde@openerp.com-20131002133820-8xomdumexexqp3pk
This commit is contained in:
commit
54933118a4
|
@ -37,7 +37,6 @@ There are two types of views:
|
||||||
|
|
||||||
.. note:: Since OpenERP 4.1, form views can also contain graphs.
|
.. note:: Since OpenERP 4.1, form views can also contain graphs.
|
||||||
|
|
||||||
|
|
||||||
Form views
|
Form views
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
@ -388,6 +387,33 @@ The easiest method to compute real statistics on objects is:
|
||||||
You can get en example in all modules of the form: report\_.... Example: report_crm.
|
You can get en example in all modules of the form: report\_.... Example: report_crm.
|
||||||
|
|
||||||
|
|
||||||
|
Controlling view actions
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
When defining a view, the following attributes can be added on the
|
||||||
|
opening element of the view (i.e. ``<form>``, ``<tree>``...)
|
||||||
|
|
||||||
|
``create``
|
||||||
|
set to ``false`` to hide the link / button which allows to create a new
|
||||||
|
record.
|
||||||
|
|
||||||
|
``delete``
|
||||||
|
set to ``false`` to hide the link / button which allows to remove a
|
||||||
|
record.
|
||||||
|
|
||||||
|
``edit``
|
||||||
|
set to ``false`` to hide the link / button which allows to
|
||||||
|
edit a record.
|
||||||
|
|
||||||
|
|
||||||
|
These attributes are available on form, tree, kanban and gantt
|
||||||
|
views. They are normally automatically set from the access rights of
|
||||||
|
the users, but can be forced globally in the view definition. A
|
||||||
|
possible use case for these attributes is to define an inner tree view
|
||||||
|
for a one2many relation inside a form view, in which the user cannot
|
||||||
|
add or remove related records, but only edit the existing ones (which
|
||||||
|
are presumably created through another way, such as a wizard).
|
||||||
|
|
||||||
|
|
||||||
Calendar Views
|
Calendar Views
|
||||||
--------------
|
--------------
|
||||||
|
@ -680,6 +706,7 @@ toolbar
|
||||||
its descendants will be displayed in the main tree. The value is ignored
|
its descendants will be displayed in the main tree. The value is ignored
|
||||||
for flat lists.
|
for flat lists.
|
||||||
|
|
||||||
|
|
||||||
Grouping Elements
|
Grouping Elements
|
||||||
+++++++++++++++++
|
+++++++++++++++++
|
||||||
|
|
||||||
|
@ -1351,12 +1378,22 @@ When you add a one2many field in a form view, you do something like this :
|
||||||
|
|
||||||
If you want to specify the views to use, you can add a *context* attribute, and
|
If you want to specify the views to use, you can add a *context* attribute, and
|
||||||
specify a view id for each type of view supported, exactly like the action's
|
specify a view id for each type of view supported, exactly like the action's
|
||||||
*view_id* attribute:
|
*view_id* attribute, except that the provided view id must always be
|
||||||
|
fully-qualified with the module name, even if it belongs to the same module:
|
||||||
|
|
||||||
.. code-block:: xml
|
.. code-block:: xml
|
||||||
|
|
||||||
<field name="order_line" colspan="4" nolabel="1"
|
<field name="order_line" colspan="4" nolabel="1"
|
||||||
context="{'form_view_ref' : 'module.view_id', 'tree_view_ref' : 'model.view_id'}"/>
|
context="{'form_view_ref': 'module.view_id',
|
||||||
|
'tree_view_ref': 'module.view_id'}"/>
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
You *have to* put the module name in the view_id, because this
|
||||||
|
is evaluated when the view is displayed, and not when the XML file
|
||||||
|
is parsed, so the module name information is not available. Failing
|
||||||
|
to do so will result in the default view being selected (see
|
||||||
|
below).
|
||||||
|
|
||||||
If you don't specify the views, OpenERP will choose one in this order :
|
If you don't specify the views, OpenERP will choose one in this order :
|
||||||
|
|
||||||
|
|
|
@ -6,6 +6,8 @@ Changelog
|
||||||
`trunk`
|
`trunk`
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Added support of custom group_by format and display format when using group_by
|
||||||
|
on a datetime field, using datetime_format context key
|
||||||
- Improved ``html_email_clean`` in tools: better quote and signature finding,
|
- Improved ``html_email_clean`` in tools: better quote and signature finding,
|
||||||
added shortening.
|
added shortening.
|
||||||
- Cleaned and slightly refactored ``ir.actions.server``. The ``loop``, ``sms``
|
- Cleaned and slightly refactored ``ir.actions.server``. The ``loop``, ``sms``
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:52+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:52+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:52+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:53+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:53+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:53+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
"X-Poedit-Language: Czech\n"
|
"X-Poedit-Language: Czech\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -4544,7 +4544,7 @@ msgstr "Nauru"
|
||||||
#: code:addons/base/res/res_company.py:166
|
#: code:addons/base/res/res_company.py:166
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Reg"
|
msgid "Reg"
|
||||||
msgstr ""
|
msgstr "IČ"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_property
|
#: model:ir.model,name:base.model_ir_property
|
||||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
||||||
"Project-Id-Version: openobject-addons\n"
|
"Project-Id-Version: openobject-addons\n"
|
||||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||||
"PO-Revision-Date: 2012-08-20 15:44+0000\n"
|
"PO-Revision-Date: 2013-09-26 21:06+0000\n"
|
||||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
"Last-Translator: Morten Schou <ms@msteknik.dk>\n"
|
||||||
"Language-Team: Danish <da@li.org>\n"
|
"Language-Team: Danish <da@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-27 05:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16774)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -64,12 +64,12 @@ msgstr "Vis arkitektur"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_sale_stock
|
#: model:ir.module.module,summary:base.module_sale_stock
|
||||||
msgid "Quotation, Sale Orders, Delivery & Invoicing Control"
|
msgid "Quotation, Sale Orders, Delivery & Invoicing Control"
|
||||||
msgstr ""
|
msgstr "Tilbud, Salgs ordre, Følgeseddel og Faktura kontrol"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.sequence,implementation:0
|
#: selection:ir.sequence,implementation:0
|
||||||
msgid "No gap"
|
msgid "No gap"
|
||||||
msgstr ""
|
msgstr "Ingen forskel"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -98,7 +98,7 @@ msgstr "Touchscreen-grænseflade for butikker"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||||
msgid "Indian Payroll"
|
msgid "Indian Payroll"
|
||||||
msgstr ""
|
msgstr "Indisk Løn"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.cron,model:0
|
#: help:ir.cron,model:0
|
||||||
|
@ -166,6 +166,9 @@ msgid ""
|
||||||
"specified as a Python expression defining a list of triplets. For example: "
|
"specified as a Python expression defining a list of triplets. For example: "
|
||||||
"[('color','=','red')]"
|
"[('color','=','red')]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Valgfrit domæne til at begrænse mulige værdier for forholdsfelter, angivet "
|
||||||
|
"som et Python-udtryk definerer en liste af trillinger. For eksempel: "
|
||||||
|
"[('color', '=', 'red')]"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,ref:0
|
#: field:res.partner,ref:0
|
||||||
|
@ -175,7 +178,7 @@ msgstr "Reference"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
|
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
|
||||||
msgid "Belgium - Structured Communication"
|
msgid "Belgium - Structured Communication"
|
||||||
msgstr ""
|
msgstr "Belgisk struktureret kommunikation"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,target:0
|
#: field:ir.actions.act_window,target:0
|
||||||
|
@ -249,12 +252,12 @@ msgstr "Swaziland"
|
||||||
#: code:addons/orm.py:4485
|
#: code:addons/orm.py:4485
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "created."
|
msgid "created."
|
||||||
msgstr ""
|
msgstr "Oprettet"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_xsl:0
|
#: field:ir.actions.report.xml,report_xsl:0
|
||||||
msgid "XSL Path"
|
msgid "XSL Path"
|
||||||
msgstr ""
|
msgstr "XLS sti"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||||
|
@ -280,7 +283,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.groups,name:base.group_multi_currency
|
#: model:res.groups,name:base.group_multi_currency
|
||||||
msgid "Multi Currencies"
|
msgid "Multi Currencies"
|
||||||
msgstr ""
|
msgstr "Flere valutaer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_cl
|
#: model:ir.module.module,description:base.module_l10n_cl
|
||||||
|
@ -296,7 +299,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale
|
#: model:ir.module.module,shortdesc:base.module_sale
|
||||||
msgid "Sales Management"
|
msgid "Sales Management"
|
||||||
msgstr ""
|
msgstr "Salgs administration"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,user_id:0
|
#: help:res.partner,user_id:0
|
||||||
|
@ -304,6 +307,7 @@ msgid ""
|
||||||
"The internal user that is in charge of communicating with this contact if "
|
"The internal user that is in charge of communicating with this contact if "
|
||||||
"any."
|
"any."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Den interne bruger som er ansvarlig for kommunikationen med denne kontakt"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
|
@ -318,7 +322,7 @@ msgstr "Antal moduler"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:multi_company.default,company_dest_id:0
|
#: help:multi_company.default,company_dest_id:0
|
||||||
msgid "Company to store the current record"
|
msgid "Company to store the current record"
|
||||||
msgstr ""
|
msgstr "Firma som denne post skal gemmes i"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner.bank.type.field,size:0
|
#: field:res.partner.bank.type.field,size:0
|
||||||
|
@ -346,7 +350,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.lang:0
|
#: sql_constraint:res.lang:0
|
||||||
msgid "The name of the language must be unique !"
|
msgid "The name of the language must be unique !"
|
||||||
msgstr ""
|
msgstr "Sprogets navn skal være unik"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:res.request,state:0
|
#: selection:res.request,state:0
|
||||||
|
@ -374,7 +378,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
||||||
msgid "Customer Relationship Management"
|
msgid "Customer Relationship Management"
|
||||||
msgstr ""
|
msgstr "Kundestyring (CRM)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_delivery
|
#: model:ir.module.module,description:base.module_delivery
|
||||||
|
@ -429,12 +433,12 @@ msgstr ""
|
||||||
#: view:ir.attachment:0
|
#: view:ir.attachment:0
|
||||||
#: field:ir.attachment,create_uid:0
|
#: field:ir.attachment,create_uid:0
|
||||||
msgid "Owner"
|
msgid "Owner"
|
||||||
msgstr ""
|
msgstr "Ejer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.act_window:0
|
#: view:ir.actions.act_window:0
|
||||||
msgid "Source Object"
|
msgid "Source Object"
|
||||||
msgstr ""
|
msgstr "Kilde objekt"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||||
|
@ -472,6 +476,8 @@ msgid ""
|
||||||
"One of the records you are trying to modify has already been deleted "
|
"One of the records you are trying to modify has already been deleted "
|
||||||
"(Document type: %s)."
|
"(Document type: %s)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"En af de poster du prøver at ændre, er allerede blevet slettet (dokument "
|
||||||
|
"type:%s)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.act_window,views:0
|
#: help:ir.actions.act_window,views:0
|
||||||
|
@ -485,12 +491,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.relation,name:0
|
#: field:ir.model.relation,name:0
|
||||||
msgid "Relation Name"
|
msgid "Relation Name"
|
||||||
msgstr ""
|
msgstr "Relationens navn"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Create Access Right"
|
msgid "Create Access Right"
|
||||||
msgstr ""
|
msgstr "Opret adgangs rettighed"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.tv
|
#: model:res.country,name:base.tv
|
||||||
|
@ -538,7 +544,7 @@ msgstr "Fransk Guyana"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_hr
|
#: model:ir.module.module,summary:base.module_hr
|
||||||
msgid "Jobs, Departments, Employees Details"
|
msgid "Jobs, Departments, Employees Details"
|
||||||
msgstr ""
|
msgstr "Jobs, Afdelinger, Ansattes detaljer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_analytic
|
#: model:ir.module.module,description:base.module_analytic
|
||||||
|
@ -558,7 +564,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_idea
|
#: model:ir.module.module,shortdesc:base.module_idea
|
||||||
msgid "Ideas"
|
msgid "Ideas"
|
||||||
msgstr ""
|
msgstr "Ideer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_event
|
#: model:ir.module.module,description:base.module_event
|
||||||
|
@ -581,7 +587,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Bosnian / bosanski jezik"
|
msgid "Bosnian / bosanski jezik"
|
||||||
msgstr ""
|
msgstr "Bosnisk"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.report.xml,attachment_use:0
|
#: help:ir.actions.report.xml,attachment_use:0
|
||||||
|
@ -619,12 +625,12 @@ msgstr "Spansk (VE) / Español (VE)"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
|
#: model:ir.module.module,shortdesc:base.module_hr_timesheet_invoice
|
||||||
msgid "Invoice on Timesheets"
|
msgid "Invoice on Timesheets"
|
||||||
msgstr ""
|
msgstr "Faktura fra timesedler"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.module.upgrade:0
|
#: view:base.module.upgrade:0
|
||||||
msgid "Your system will be updated."
|
msgid "Your system will be updated."
|
||||||
msgstr ""
|
msgstr "Systemet bliver opdateret"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.todo,note:0
|
#: field:ir.actions.todo,note:0
|
||||||
|
@ -645,7 +651,7 @@ msgstr "Colombia"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||||
msgid "Mister"
|
msgid "Mister"
|
||||||
msgstr ""
|
msgstr "Hr."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country,code:0
|
#: help:res.country,code:0
|
||||||
|
@ -653,26 +659,28 @@ msgid ""
|
||||||
"The ISO country code in two chars.\n"
|
"The ISO country code in two chars.\n"
|
||||||
"You can use this field for quick search."
|
"You can use this field for quick search."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"ISO landekoden i 2 tegn.\n"
|
||||||
|
"Kan bruges til hurtig søgning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.pw
|
#: model:res.country,name:base.pw
|
||||||
msgid "Palau"
|
msgid "Palau"
|
||||||
msgstr ""
|
msgstr "Palau"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
msgid "Sales & Purchases"
|
msgid "Sales & Purchases"
|
||||||
msgstr ""
|
msgstr "Salg og Indkøb"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.translation:0
|
#: view:ir.translation:0
|
||||||
msgid "Untranslated"
|
msgid "Untranslated"
|
||||||
msgstr ""
|
msgstr "ikke oversat"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.mail_server:0
|
#: view:ir.mail_server:0
|
||||||
msgid "Outgoing Mail Server"
|
msgid "Outgoing Mail Server"
|
||||||
msgstr ""
|
msgstr "server til udgående post"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.act_window,context:0
|
#: help:ir.actions.act_window,context:0
|
||||||
|
@ -705,12 +713,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:ir.config_parameter:0
|
#: sql_constraint:ir.config_parameter:0
|
||||||
msgid "Key must be unique."
|
msgid "Key must be unique."
|
||||||
msgstr ""
|
msgstr "Nøglen skal være unik"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_plugin_outlook
|
#: model:ir.module.module,shortdesc:base.module_plugin_outlook
|
||||||
msgid "Outlook Plug-In"
|
msgid "Outlook Plug-In"
|
||||||
msgstr ""
|
msgstr "Outlook Plug-In"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account
|
#: model:ir.module.module,description:base.module_account
|
||||||
|
@ -748,7 +756,7 @@ msgstr ""
|
||||||
#: view:ir.model:0
|
#: view:ir.model:0
|
||||||
#: field:ir.model,name:0
|
#: field:ir.model,name:0
|
||||||
msgid "Model Description"
|
msgid "Model Description"
|
||||||
msgstr ""
|
msgstr "Model beskrivelse"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_marketing
|
#: model:ir.module.module,description:base.module_marketing
|
||||||
|
@ -795,7 +803,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.cron,nextcall:0
|
#: help:ir.cron,nextcall:0
|
||||||
msgid "Next planned execution date for this job."
|
msgid "Next planned execution date for this job."
|
||||||
msgstr ""
|
msgstr "Næste planlagte kørsel for dette job"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_ui_view
|
#: model:ir.model,name:base.model_ir_ui_view
|
||||||
|
@ -810,7 +818,7 @@ msgstr "Eritrea"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.company:0
|
#: sql_constraint:res.company:0
|
||||||
msgid "The company name must be unique !"
|
msgid "The company name must be unique !"
|
||||||
msgstr ""
|
msgstr "Firmanavnet skal være unik!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_base_action_rule_admin
|
#: model:ir.ui.menu,name:base.menu_base_action_rule_admin
|
||||||
|
@ -846,7 +854,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.mail_server:0
|
#: view:ir.mail_server:0
|
||||||
msgid "Security and Authentication"
|
msgid "Security and Authentication"
|
||||||
msgstr ""
|
msgstr "Sikkerhed og godkendelse"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
||||||
|
@ -862,7 +870,7 @@ msgstr "Svensk / Swedish"
|
||||||
#: field:base.language.export,name:0
|
#: field:base.language.export,name:0
|
||||||
#: field:ir.attachment,datas_fname:0
|
#: field:ir.attachment,datas_fname:0
|
||||||
msgid "File Name"
|
msgid "File Name"
|
||||||
msgstr ""
|
msgstr "Filnavn"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.rs
|
#: model:res.country,name:base.rs
|
||||||
|
@ -883,7 +891,7 @@ msgstr ""
|
||||||
#: field:base.language.import,overwrite:0
|
#: field:base.language.import,overwrite:0
|
||||||
#: field:base.language.install,overwrite:0
|
#: field:base.language.install,overwrite:0
|
||||||
msgid "Overwrite Existing Terms"
|
msgid "Overwrite Existing Terms"
|
||||||
msgstr ""
|
msgstr "Overskriv eksisterende betingelser"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_hr_holidays
|
#: model:ir.module.module,description:base.module_hr_holidays
|
||||||
|
@ -938,6 +946,7 @@ msgstr "Papua Ny Guinea"
|
||||||
#: help:ir.actions.report.xml,report_type:0
|
#: help:ir.actions.report.xml,report_type:0
|
||||||
msgid "Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
msgid "Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Rapport Type, eks. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
||||||
|
@ -947,7 +956,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
msgid "Email Preferences"
|
msgid "Email Preferences"
|
||||||
msgstr ""
|
msgstr "Email indstillinger"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_fields.py:195
|
#: code:addons/base/ir/ir_fields.py:195
|
||||||
|
@ -990,7 +999,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_base_module_upgrade
|
#: model:ir.model,name:base.model_base_module_upgrade
|
||||||
msgid "Module Upgrade"
|
msgid "Module Upgrade"
|
||||||
msgstr ""
|
msgstr "Opgrader modul"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -1010,7 +1019,7 @@ msgstr "Oman"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_mrp
|
#: model:ir.module.module,shortdesc:base.module_mrp
|
||||||
msgid "MRP"
|
msgid "MRP"
|
||||||
msgstr ""
|
msgstr "MRP"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_hr_attendance
|
#: model:ir.module.module,description:base.module_hr_attendance
|
||||||
|
@ -1032,7 +1041,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_membership
|
#: model:ir.module.module,shortdesc:base.module_membership
|
||||||
msgid "Membership Management"
|
msgid "Membership Management"
|
||||||
msgstr ""
|
msgstr "Medlems håndtering"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.module.module,license:0
|
#: selection:ir.module.module,license:0
|
||||||
|
@ -1048,7 +1057,7 @@ msgstr ""
|
||||||
#: model:ir.actions.act_window,name:base.act_menu_create
|
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||||
#: view:wizard.ir.model.menu.create:0
|
#: view:wizard.ir.model.menu.create:0
|
||||||
msgid "Create Menu"
|
msgid "Create Menu"
|
||||||
msgstr ""
|
msgstr "Opret Menu"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.in
|
#: model:res.country,name:base.in
|
||||||
|
@ -1064,12 +1073,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_google_base_account
|
#: model:ir.module.module,shortdesc:base.module_google_base_account
|
||||||
msgid "Google Users"
|
msgid "Google Users"
|
||||||
msgstr ""
|
msgstr "Google brugere"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||||
msgid "Fleet Management"
|
msgid "Fleet Management"
|
||||||
msgstr ""
|
msgstr "Bilpark håndtering"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.server.object.lines,value:0
|
#: help:ir.server.object.lines,value:0
|
||||||
|
@ -1140,6 +1149,8 @@ msgstr ""
|
||||||
msgid ""
|
msgid ""
|
||||||
"Users added to this group are automatically added in the following groups."
|
"Users added to this group are automatically added in the following groups."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Brugere tilføjet denne gruppe, bliver automatisk tilføjet i de følgende "
|
||||||
|
"grupper."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_model.py:732
|
#: code:addons/base/ir/ir_model.py:732
|
||||||
|
@ -1151,12 +1162,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
msgid "Change the user password."
|
msgid "Change the user password."
|
||||||
msgstr ""
|
msgstr "Skift brugerens adgangskode."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
msgid "%B - Full month name."
|
msgid "%B - Full month name."
|
||||||
msgstr ""
|
msgstr "%B - Fulde navn på måned."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.todo,type:0
|
#: field:ir.actions.todo,type:0
|
||||||
|
@ -1171,12 +1182,12 @@ msgstr ""
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
#: field:ir.values,key:0
|
#: field:ir.values,key:0
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr "Type"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.mail_server,smtp_user:0
|
#: field:ir.mail_server,smtp_user:0
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr "Brugernavn"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_br
|
#: model:ir.module.module,description:base.module_l10n_br
|
||||||
|
@ -1232,6 +1243,8 @@ msgid ""
|
||||||
"Language with code \"%s\" is not defined in your system !\n"
|
"Language with code \"%s\" is not defined in your system !\n"
|
||||||
"Define it through the Administration menu."
|
"Define it through the Administration menu."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Sproget med koden \"%s\" er ikke indlæst i systemet !\n"
|
||||||
|
"Indlæs gennem Administrations menuen."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.gu
|
#: model:res.country,name:base.gu
|
||||||
|
@ -1241,17 +1254,17 @@ msgstr "Guam (USA)"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.country:0
|
#: sql_constraint:res.country:0
|
||||||
msgid "The name of the country must be unique !"
|
msgid "The name of the country must be unique !"
|
||||||
msgstr ""
|
msgstr "Landets navn skal være unikt!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.module,installed_version:0
|
#: field:ir.module.module,installed_version:0
|
||||||
msgid "Latest Version"
|
msgid "Latest Version"
|
||||||
msgstr ""
|
msgstr "Seneste version"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Delete Access Right"
|
msgid "Delete Access Right"
|
||||||
msgstr ""
|
msgstr "Slet adgangs rettighed"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_mail_server.py:214
|
#: code:addons/base/ir/ir_mail_server.py:214
|
||||||
|
@ -1268,7 +1281,7 @@ msgstr "Attrap"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: constraint:ir.ui.view:0
|
#: constraint:ir.ui.view:0
|
||||||
msgid "Invalid XML for View Architecture!"
|
msgid "Invalid XML for View Architecture!"
|
||||||
msgstr ""
|
msgstr "Ugyldig XML for View Architecture!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.ky
|
#: model:res.country,name:base.ky
|
||||||
|
@ -1294,32 +1307,32 @@ msgstr ""
|
||||||
#: code:addons/orm.py:4920
|
#: code:addons/orm.py:4920
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Record #%d of %s not found, cannot copy!"
|
msgid "Record #%d of %s not found, cannot copy!"
|
||||||
msgstr ""
|
msgstr "Post #%d of %s ikke fundet, kan ikke kopiere!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.module,contributors:0
|
#: field:ir.module.module,contributors:0
|
||||||
msgid "Contributors"
|
msgid "Contributors"
|
||||||
msgstr ""
|
msgstr "Bidragsydere"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.rule,perm_unlink:0
|
#: field:ir.rule,perm_unlink:0
|
||||||
msgid "Apply for Delete"
|
msgid "Apply for Delete"
|
||||||
msgstr ""
|
msgstr "Godkend for slet"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
msgid "Char"
|
msgid "Char"
|
||||||
msgstr ""
|
msgstr "Tegn"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.category,visible:0
|
#: field:ir.module.category,visible:0
|
||||||
msgid "Visible"
|
msgid "Visible"
|
||||||
msgstr ""
|
msgstr "Synlig"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.client,name:base.action_client_base_menu
|
#: model:ir.actions.client,name:base.action_client_base_menu
|
||||||
msgid "Open Settings Menu"
|
msgid "Open Settings Menu"
|
||||||
msgstr ""
|
msgstr "Åben konfigurations menu"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -1334,7 +1347,7 @@ msgstr "Uganda"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.access,perm_unlink:0
|
#: field:ir.model.access,perm_unlink:0
|
||||||
msgid "Delete Access"
|
msgid "Delete Access"
|
||||||
msgstr ""
|
msgstr "Slet adgang"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.ne
|
#: model:res.country,name:base.ne
|
||||||
|
@ -1364,12 +1377,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.mail_server,smtp_port:0
|
#: field:ir.mail_server,smtp_port:0
|
||||||
msgid "SMTP Port"
|
msgid "SMTP Port"
|
||||||
msgstr ""
|
msgstr "SMTP port"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.users,login:0
|
#: help:res.users,login:0
|
||||||
msgid "Used to log into the system"
|
msgid "Used to log into the system"
|
||||||
msgstr ""
|
msgstr "Bruges til at logge ind i systemet"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
|
@ -1392,12 +1405,12 @@ msgstr ""
|
||||||
#: code:addons/base/module/wizard/base_language_install.py:53
|
#: code:addons/base/module/wizard/base_language_install.py:53
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Language Pack"
|
msgid "Language Pack"
|
||||||
msgstr ""
|
msgstr "Sprog pakke"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_tests
|
#: model:ir.module.module,shortdesc:base.module_web_tests
|
||||||
msgid "Tests"
|
msgid "Tests"
|
||||||
msgstr ""
|
msgstr "Test"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,attachment:0
|
#: field:ir.actions.report.xml,attachment:0
|
||||||
|
@ -1460,25 +1473,25 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.category,parent_id:0
|
#: field:ir.module.category,parent_id:0
|
||||||
msgid "Parent Application"
|
msgid "Parent Application"
|
||||||
msgstr ""
|
msgstr "Overordnet Applikation"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
||||||
#: view:ir.actions.wizard:0
|
#: view:ir.actions.wizard:0
|
||||||
#: model:ir.ui.menu,name:base.menu_ir_action_wizard
|
#: model:ir.ui.menu,name:base.menu_ir_action_wizard
|
||||||
msgid "Wizards"
|
msgid "Wizards"
|
||||||
msgstr ""
|
msgstr "Wizards"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/res/res_users.py:131
|
#: code:addons/base/res/res_users.py:131
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Operation Canceled"
|
msgid "Operation Canceled"
|
||||||
msgstr ""
|
msgstr "Funktion afbrudt"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_document
|
#: model:ir.module.module,shortdesc:base.module_document
|
||||||
msgid "Document Management System"
|
msgid "Document Management System"
|
||||||
msgstr ""
|
msgstr "Dokument styring system"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||||
|
@ -1521,7 +1534,7 @@ msgstr ""
|
||||||
#: model:ir.module.category,name:base.module_category_purchase_management
|
#: model:ir.module.category,name:base.module_category_purchase_management
|
||||||
#: model:ir.ui.menu,name:base.menu_purchase_root
|
#: model:ir.ui.menu,name:base.menu_purchase_root
|
||||||
msgid "Purchases"
|
msgid "Purchases"
|
||||||
msgstr ""
|
msgstr "Indkøb"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.md
|
#: model:res.country,name:base.md
|
||||||
|
@ -1584,11 +1597,13 @@ msgid ""
|
||||||
"If specified, this action will be opened at logon for this user, in addition "
|
"If specified, this action will be opened at logon for this user, in addition "
|
||||||
"to the standard menu."
|
"to the standard menu."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Hvis specificeret, vil denne funktion blive udført, når brugeren logger på, "
|
||||||
|
"sammen med standard menuen."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.mf
|
#: model:res.country,name:base.mf
|
||||||
msgid "Saint Martin (French part)"
|
msgid "Saint Martin (French part)"
|
||||||
msgstr ""
|
msgstr "Sankt Martin (Fransk del)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_exports
|
#: model:ir.model,name:base.model_ir_exports
|
||||||
|
@ -1613,28 +1628,28 @@ msgstr ""
|
||||||
#: code:addons/base/module/wizard/base_update_translations.py:39
|
#: code:addons/base/module/wizard/base_update_translations.py:39
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "No language with code \"%s\" exists"
|
msgid "No language with code \"%s\" exists"
|
||||||
msgstr ""
|
msgstr "Der eksisterer ikke noget sprog med denne kode \"%s\""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_social_network
|
#: model:ir.module.category,name:base.module_category_social_network
|
||||||
#: model:ir.module.module,shortdesc:base.module_mail
|
#: model:ir.module.module,shortdesc:base.module_mail
|
||||||
msgid "Social Network"
|
msgid "Social Network"
|
||||||
msgstr ""
|
msgstr "Socialt netværk"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
msgid "%Y - Year with century."
|
msgid "%Y - Year with century."
|
||||||
msgstr ""
|
msgstr "%Y - År med århundrede."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.company:0
|
#: view:res.company:0
|
||||||
msgid "Report Footer Configuration"
|
msgid "Report Footer Configuration"
|
||||||
msgstr ""
|
msgstr "Konfiguration af rapport foden"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.translation,comments:0
|
#: field:ir.translation,comments:0
|
||||||
msgid "Translation comments"
|
msgid "Translation comments"
|
||||||
msgstr ""
|
msgstr "Kommenterer til oversættelsen"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_lunch
|
#: model:ir.module.module,description:base.module_lunch
|
||||||
|
@ -1664,7 +1679,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:wizard.ir.model.menu.create:0
|
#: view:wizard.ir.model.menu.create:0
|
||||||
msgid "Create _Menu"
|
msgid "Create _Menu"
|
||||||
msgstr ""
|
msgstr "Opret menu"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.server,trigger_obj_id:0
|
#: help:ir.actions.server,trigger_obj_id:0
|
||||||
|
@ -1691,6 +1706,8 @@ msgid ""
|
||||||
"Helps you manage your purchase-related processes such as requests for "
|
"Helps you manage your purchase-related processes such as requests for "
|
||||||
"quotations, supplier invoices, etc..."
|
"quotations, supplier invoices, etc..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Hjælper dig med at styre dine indkøbsrelaterede processer som anmodninger om "
|
||||||
|
"tilbud, leverandørfakturaer, osv. .."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,website:0
|
#: help:res.partner,website:0
|
||||||
|
@ -1757,7 +1774,7 @@ msgstr "Værktøj"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
msgid "Float"
|
msgid "Float"
|
||||||
msgstr ""
|
msgstr "Kommatal"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.todo,type:0
|
#: help:ir.actions.todo,type:0
|
||||||
|
@ -1771,12 +1788,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,image_small:0
|
#: field:res.partner,image_small:0
|
||||||
msgid "Small-sized image"
|
msgid "Small-sized image"
|
||||||
msgstr ""
|
msgstr "Lille billede"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_stock
|
#: model:ir.module.module,shortdesc:base.module_stock
|
||||||
msgid "Warehouse Management"
|
msgid "Warehouse Management"
|
||||||
msgstr ""
|
msgstr "Lager administration"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_request_link
|
#: model:ir.model,name:base.model_res_request_link
|
||||||
|
@ -1792,7 +1809,7 @@ msgstr ""
|
||||||
#: model:ir.actions.act_window,name:base.action_wizard_lang_export
|
#: model:ir.actions.act_window,name:base.action_wizard_lang_export
|
||||||
#: model:ir.ui.menu,name:base.menu_wizard_lang_export
|
#: model:ir.ui.menu,name:base.menu_wizard_lang_export
|
||||||
msgid "Export Translation"
|
msgid "Export Translation"
|
||||||
msgstr ""
|
msgstr "Exporter oversættelse"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.action_server_action
|
#: model:ir.actions.act_window,name:base.action_server_action
|
||||||
|
@ -1816,12 +1833,12 @@ msgstr "Øst Timor"
|
||||||
#: view:ir.module.module:0
|
#: view:ir.module.module:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr ""
|
msgstr "Installer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.currency,accuracy:0
|
#: field:res.currency,accuracy:0
|
||||||
msgid "Computational Accuracy"
|
msgid "Computational Accuracy"
|
||||||
msgstr ""
|
msgstr "Beregnet nøjagtighed"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_at
|
#: model:ir.module.module,description:base.module_l10n_at
|
||||||
|
@ -1856,7 +1873,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
msgid "Day: %(day)s"
|
msgid "Day: %(day)s"
|
||||||
msgstr ""
|
msgstr "Dag:%(day)s"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_point_of_sale
|
#: model:ir.module.category,description:base.module_category_point_of_sale
|
||||||
|
@ -1865,6 +1882,8 @@ msgid ""
|
||||||
"simplified payment mode encoding, automatic picking lists generation and "
|
"simplified payment mode encoding, automatic picking lists generation and "
|
||||||
"more."
|
"more."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Hjælper dig med at få det bedste ud af dit detailhandelssystem med hurtigt "
|
||||||
|
"salg, enkel betaling, automatisk plukliste m.m."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_fields.py:164
|
#: code:addons/base/ir/ir_fields.py:164
|
||||||
|
@ -1885,7 +1904,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.translation,state:0
|
#: selection:ir.translation,state:0
|
||||||
msgid "Translation in Progress"
|
msgid "Translation in Progress"
|
||||||
msgstr ""
|
msgstr "Oversættelse i gang"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_rule
|
#: model:ir.model,name:base.model_ir_rule
|
||||||
|
@ -1900,13 +1919,13 @@ msgstr "Dage"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_fleet
|
#: model:ir.module.module,summary:base.module_fleet
|
||||||
msgid "Vehicle, leasing, insurances, costs"
|
msgid "Vehicle, leasing, insurances, costs"
|
||||||
msgstr ""
|
msgstr "Køretøj,leasing,forsikring,omkostning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model.access:0
|
#: view:ir.model.access:0
|
||||||
#: field:ir.model.access,perm_read:0
|
#: field:ir.model.access,perm_read:0
|
||||||
msgid "Read Access"
|
msgid "Read Access"
|
||||||
msgstr ""
|
msgstr "Læse adgang"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.attachment,res_id:0
|
#: help:ir.attachment,res_id:0
|
||||||
|
@ -1976,7 +1995,7 @@ msgstr ""
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
#: field:res.partner.category,partner_ids:0
|
#: field:res.partner.category,partner_ids:0
|
||||||
msgid "Partners"
|
msgid "Partners"
|
||||||
msgstr ""
|
msgstr "Partnere"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner.category,parent_left:0
|
#: field:res.partner.category,parent_left:0
|
||||||
|
@ -1992,12 +2011,12 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_model.py:320
|
#: code:addons/base/ir/ir_model.py:320
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "This column contains module data and cannot be removed!"
|
msgid "This column contains module data and cannot be removed!"
|
||||||
msgstr ""
|
msgstr "Kolonnen indeholder modul data som ikke kan slettes"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner.bank,footer:0
|
#: field:res.partner.bank,footer:0
|
||||||
msgid "Display on Reports"
|
msgid "Display on Reports"
|
||||||
msgstr ""
|
msgstr "Vis på rapporter"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_project_timesheet
|
#: model:ir.module.module,description:base.module_project_timesheet
|
||||||
|
@ -2123,7 +2142,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid "The next step depends on the file format:"
|
msgid "The next step depends on the file format:"
|
||||||
msgstr ""
|
msgstr "Næste skridt afhænger af fil formatet:"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -2155,7 +2174,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.server:0
|
#: view:ir.actions.server:0
|
||||||
msgid "Create / Write / Copy"
|
msgid "Create / Write / Copy"
|
||||||
msgstr ""
|
msgstr "Opret/ Gem/ Kopier"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
|
@ -2173,6 +2192,8 @@ msgid ""
|
||||||
"Display this bank account on the footer of printed documents like invoices "
|
"Display this bank account on the footer of printed documents like invoices "
|
||||||
"and sales orders."
|
"and sales orders."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Vis denne bankkonto i foden af udskrevne dokumenter, på fakturaer og salgs "
|
||||||
|
"ordre."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -2250,7 +2271,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:base.module.update,update:0
|
#: field:base.module.update,update:0
|
||||||
msgid "Number of modules updated"
|
msgid "Number of modules updated"
|
||||||
msgstr ""
|
msgstr "Antallet af opdaterede moduler"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.cron,function:0
|
#: field:ir.cron,function:0
|
||||||
|
@ -2472,7 +2493,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:ir.ui.view_sc:0
|
#: sql_constraint:ir.ui.view_sc:0
|
||||||
msgid "Shortcut for this menu already exists!"
|
msgid "Shortcut for this menu already exists!"
|
||||||
msgstr ""
|
msgstr "Genvej til denne menu, eksisterer allerede!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
|
@ -9073,7 +9094,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_warehouse_management
|
#: model:ir.module.category,name:base.module_category_warehouse_management
|
||||||
msgid "Warehouse"
|
msgid "Warehouse"
|
||||||
msgstr ""
|
msgstr "Lagerstyrning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.exports,resource:0
|
#: field:ir.exports,resource:0
|
||||||
|
@ -10619,7 +10640,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
||||||
msgid "Sales and Warehouse Management"
|
msgid "Sales and Warehouse Management"
|
||||||
msgstr ""
|
msgstr "Salg og lager opsætning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_hr_recruitment
|
#: model:ir.module.module,description:base.module_hr_recruitment
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -12,8 +12,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
"X-Poedit-Country: GREECE\n"
|
"X-Poedit-Country: GREECE\n"
|
||||||
"X-Poedit-Language: Greek\n"
|
"X-Poedit-Language: Greek\n"
|
||||||
"X-Poedit-SourceCharset: utf-8\n"
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -354,6 +354,8 @@ msgid ""
|
||||||
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||||
"'form' only"
|
"'form' only"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||||
|
"'form' only"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.values,key2:0
|
#: help:ir.values,key2:0
|
||||||
|
@ -399,6 +401,14 @@ msgid ""
|
||||||
"document and Wiki based Hidden.\n"
|
"document and Wiki based Hidden.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Installer for knowledge-based Hidden.\n"
|
||||||
|
"=====================================\n"
|
||||||
|
"\n"
|
||||||
|
"Makes the Knowledge Application Configuration available from where you can "
|
||||||
|
"install\n"
|
||||||
|
"document and Wiki based Hidden.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
#: model:ir.module.category,name:base.module_category_customer_relationship_management
|
||||||
|
@ -417,6 +427,14 @@ msgid ""
|
||||||
"invoices from picking, OpenERP is able to add and compute the shipping "
|
"invoices from picking, OpenERP is able to add and compute the shipping "
|
||||||
"line.\n"
|
"line.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Allows you to add delivery methods in sale orders and picking.\n"
|
||||||
|
"==============================================================\n"
|
||||||
|
"\n"
|
||||||
|
"You can define your own carrier and delivery grids for prices. When creating "
|
||||||
|
"\n"
|
||||||
|
"invoices from picking, OpenERP is able to add and compute the shipping "
|
||||||
|
"line.\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_filters.py:80
|
#: code:addons/base/ir/ir_filters.py:80
|
||||||
|
@ -595,6 +613,16 @@ msgid ""
|
||||||
"that have no counterpart in the general financial accounts.\n"
|
"that have no counterpart in the general financial accounts.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Module for defining analytic accounting object.\n"
|
||||||
|
"===============================================\n"
|
||||||
|
"\n"
|
||||||
|
"In OpenERP, analytic accounts are linked to general accounts but are "
|
||||||
|
"treated\n"
|
||||||
|
"totally independently. So, you can enter various different analytic "
|
||||||
|
"operations\n"
|
||||||
|
"that have no counterpart in the general financial accounts.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_idea
|
#: model:ir.module.module,shortdesc:base.module_idea
|
||||||
|
@ -699,7 +727,7 @@ msgstr "Colombia"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||||
msgid "Mister"
|
msgid "Mister"
|
||||||
msgstr ""
|
msgstr "Mister"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country,code:0
|
#: help:res.country,code:0
|
||||||
|
@ -728,7 +756,7 @@ msgstr "Untranslated"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.mail_server:0
|
#: view:ir.mail_server:0
|
||||||
msgid "Outgoing Mail Server"
|
msgid "Outgoing Mail Server"
|
||||||
msgstr ""
|
msgstr "Outgoing Mail Server"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.act_window,context:0
|
#: help:ir.actions.act_window,context:0
|
||||||
|
@ -741,7 +769,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.company,logo_web:0
|
#: field:res.company,logo_web:0
|
||||||
msgid "Logo Web"
|
msgid "Logo Web"
|
||||||
msgstr ""
|
msgstr "Logo Web"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_model.py:344
|
#: code:addons/base/ir/ir_model.py:344
|
||||||
|
@ -843,6 +871,12 @@ msgid ""
|
||||||
"Contains the installer for marketing-related modules.\n"
|
"Contains the installer for marketing-related modules.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Menu for Marketing.\n"
|
||||||
|
"===================\n"
|
||||||
|
"\n"
|
||||||
|
"Contains the installer for marketing-related modules.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_web_linkedin
|
#: model:ir.module.module,description:base.module_web_linkedin
|
||||||
|
@ -914,7 +948,7 @@ msgstr "Romania - Accounting"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_config_settings
|
#: model:ir.model,name:base.model_res_config_settings
|
||||||
msgid "res.config.settings"
|
msgid "res.config.settings"
|
||||||
msgstr ""
|
msgstr "res.config.settings"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,image_small:0
|
#: help:res.partner,image_small:0
|
||||||
|
@ -946,7 +980,7 @@ msgstr "Security and Authentication"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
#: model:ir.module.module,shortdesc:base.module_web_calendar
|
||||||
msgid "Web Calendar"
|
msgid "Web Calendar"
|
||||||
msgstr ""
|
msgstr "Web Calendar"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -957,7 +991,7 @@ msgstr "Swedish / svenska"
|
||||||
#: field:base.language.export,name:0
|
#: field:base.language.export,name:0
|
||||||
#: field:ir.attachment,datas_fname:0
|
#: field:ir.attachment,datas_fname:0
|
||||||
msgid "File Name"
|
msgid "File Name"
|
||||||
msgstr ""
|
msgstr "File Name"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.rs
|
#: model:res.country,name:base.rs
|
||||||
|
@ -1090,6 +1124,7 @@ msgstr "Zimbabwe"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.report.xml:0
|
#: view:ir.actions.report.xml:0
|
||||||
|
@ -1170,7 +1205,7 @@ msgstr "Other OSI Approved Licence"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_gantt
|
#: model:ir.module.module,shortdesc:base.module_web_gantt
|
||||||
msgid "Web Gantt"
|
msgid "Web Gantt"
|
||||||
msgstr ""
|
msgstr "Web Gantt"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.act_menu_create
|
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||||
|
@ -1197,7 +1232,7 @@ msgstr "Google Users"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||||
msgid "Fleet Management"
|
msgid "Fleet Management"
|
||||||
msgstr ""
|
msgstr "Fleet Management"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.server.object.lines,value:0
|
#: help:ir.server.object.lines,value:0
|
||||||
|
@ -1309,7 +1344,7 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_model.py:735
|
#: code:addons/base/ir/ir_model.py:735
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Document model"
|
msgid "Document model"
|
||||||
msgstr ""
|
msgstr "Document model"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:03+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -15,8 +15,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:03+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:53+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:58+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||||
"X-Poedit-Language: Persian\n"
|
"X-Poedit-Language: Persian\n"
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:03+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -38,7 +38,7 @@ msgstr "Muut määritykset"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
msgid "DateTime"
|
msgid "DateTime"
|
||||||
msgstr "PäivämääräKellonaika"
|
msgstr "Päivämäärä ja kellonaika"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/fields.py:652
|
#: code:addons/fields.py:652
|
||||||
|
@ -47,8 +47,8 @@ msgid ""
|
||||||
"The second argument of the many2many field %s must be a SQL table !You used "
|
"The second argument of the many2many field %s must be a SQL table !You used "
|
||||||
"%s, which is not a valid SQL table name."
|
"%s, which is not a valid SQL table name."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Many2many kentän %s toisen argumentin pitää olla SQL taulu! Suottämäsi arvo "
|
"Monen-suhde-moneen kentän %s toisen argumentin pitää olla SQL taulu! "
|
||||||
"%s, ei ole käypä SQL taulun nimi."
|
"Syöttämäsi arvo %s, ei ole käypä SQL taulun nimi."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.ui.view,arch:0
|
#: field:ir.ui.view,arch:0
|
||||||
|
@ -88,7 +88,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_point_of_sale
|
#: model:ir.module.module,summary:base.module_point_of_sale
|
||||||
msgid "Touchscreen Interface for Shops"
|
msgid "Touchscreen Interface for Shops"
|
||||||
msgstr ""
|
msgstr "Kosketusnäytöille tarkoitettu käyttöliittymä kaupoille"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||||
|
@ -138,7 +138,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,employee:0
|
#: help:res.partner,employee:0
|
||||||
msgid "Check this box if this contact is an Employee."
|
msgid "Check this box if this contact is an Employee."
|
||||||
msgstr ""
|
msgstr "Valitse tämä, jos kontakti on työntekijä."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.model.fields,domain:0
|
#: help:ir.model.fields,domain:0
|
||||||
|
@ -239,12 +239,12 @@ msgstr "luotu."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_xsl:0
|
#: field:ir.actions.report.xml,report_xsl:0
|
||||||
msgid "XSL Path"
|
msgid "XSL Path"
|
||||||
msgstr ""
|
msgstr "XSL Polku"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||||
msgid "Turkey - Accounting"
|
msgid "Turkey - Accounting"
|
||||||
msgstr ""
|
msgstr "Turkki - Kirjanpito"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.sequence,number_increment:0
|
#: field:ir.sequence,number_increment:0
|
||||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
||||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||||
"PO-Revision-Date: 2012-12-06 10:07+0000\n"
|
"PO-Revision-Date: 2012-12-06 10:07+0000\n"
|
||||||
"Last-Translator: Quentin THEURET <Unknown>\n"
|
"Last-Translator: Quentin THEURET @TeMPO Consulting <Unknown>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:20+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -1736,7 +1736,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,website:0
|
#: help:res.partner,website:0
|
||||||
msgid "Website of Partner or Company"
|
msgid "Website of Partner or Company"
|
||||||
msgstr "Webs tranice Partnera ili Tvrtke"
|
msgstr "Web stranice partnera ili tvrtke"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:base.language.install,overwrite:0
|
#: help:base.language.install,overwrite:0
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:53+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:18+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -68,12 +68,12 @@ msgstr "ekkert bil"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Hungarian / Magyar"
|
msgid "Hungarian / Magyar"
|
||||||
msgstr ""
|
msgstr "Ungverska"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Spanish (PY) / Español (PY)"
|
msgid "Spanish (PY) / Español (PY)"
|
||||||
msgstr ""
|
msgstr "Spænska (PY) / Español (PY)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_project_management
|
#: model:ir.module.category,description:base.module_category_project_management
|
||||||
|
@ -137,7 +137,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,employee:0
|
#: help:res.partner,employee:0
|
||||||
msgid "Check this box if this contact is an Employee."
|
msgid "Check this box if this contact is an Employee."
|
||||||
msgstr ""
|
msgstr "Merkið við ef tengiliður er stafsmaður."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.model.fields,domain:0
|
#: help:ir.model.fields,domain:0
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -32,7 +32,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
msgid "Saint Helena"
|
msgid "Saint Helena"
|
||||||
msgstr "Saint Helena"
|
msgstr "Sant'Elena"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.report.xml:0
|
#: view:ir.actions.report.xml:0
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:56+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -1635,7 +1635,7 @@ msgstr "コード %s を持つ言語が存在しません。"
|
||||||
#: model:ir.module.category,name:base.module_category_social_network
|
#: model:ir.module.category,name:base.module_category_social_network
|
||||||
#: model:ir.module.module,shortdesc:base.module_mail
|
#: model:ir.module.module,shortdesc:base.module_mail
|
||||||
msgid "Social Network"
|
msgid "Social Network"
|
||||||
msgstr ""
|
msgstr "ソーシャルネットワーク"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -5316,7 +5316,7 @@ msgstr "レート"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_email_template
|
#: model:ir.module.module,shortdesc:base.module_email_template
|
||||||
msgid "Email Templates"
|
msgid "Email Templates"
|
||||||
msgstr ""
|
msgstr "Eメールテンプレート"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sy
|
#: model:res.country,name:base.sy
|
||||||
|
@ -9993,7 +9993,7 @@ msgstr "インストールする"
|
||||||
#: model:ir.module.module,shortdesc:base.module_base
|
#: model:ir.module.module,shortdesc:base.module_base
|
||||||
#: field:res.currency,base:0
|
#: field:res.currency,base:0
|
||||||
msgid "Base"
|
msgid "Base"
|
||||||
msgstr "基本"
|
msgstr "ベース"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.data,model:0
|
#: field:ir.model.data,model:0
|
||||||
|
@ -15402,7 +15402,7 @@ msgstr ""
|
||||||
#: model:ir.actions.act_window,name:base.open_module_tree
|
#: model:ir.actions.act_window,name:base.open_module_tree
|
||||||
#: model:ir.ui.menu,name:base.menu_module_tree
|
#: model:ir.ui.menu,name:base.menu_module_tree
|
||||||
msgid "Installed Modules"
|
msgid "Installed Modules"
|
||||||
msgstr "インストール済のモジュール"
|
msgstr "インストール済モジュール"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/res/res_users.py:170
|
#: code:addons/base/res/res_users.py:170
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:55+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:21+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:57+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:58+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:22+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -8,13 +8,13 @@ msgstr ""
|
||||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||||
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
"POT-Creation-Date: 2012-12-21 17:04+0000\n"
|
||||||
"PO-Revision-Date: 2012-12-22 07:41+0000\n"
|
"PO-Revision-Date: 2012-12-22 07:41+0000\n"
|
||||||
"Last-Translator: Erwin van der Ploeg (Endian Solutions) <Unknown>\n"
|
"Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:19+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:58+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:58+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:26+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:58+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:23+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:52+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:17+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 04:59+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:03+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:28+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:00+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:24+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:00+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:00+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:00+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:00+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:03+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
@ -25,7 +25,7 @@ msgid ""
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"此模块用于开支票和支票打印\n"
|
"此模块用于支票填写和打印\n"
|
||||||
"================================================\n"
|
"================================================\n"
|
||||||
" "
|
" "
|
||||||
|
|
||||||
|
@ -790,32 +790,6 @@ msgid ""
|
||||||
"module named account_voucher.\n"
|
"module named account_voucher.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
|
||||||
"会计和财务管理\n"
|
|
||||||
"=====================================\n"
|
|
||||||
"Financial and accounting module that covers:\n"
|
|
||||||
"--------------------------------------------\n"
|
|
||||||
"* General Accounting\n"
|
|
||||||
"* Cost/Analytic accounting\n"
|
|
||||||
"* Third party accounting\n"
|
|
||||||
"* Taxes management\n"
|
|
||||||
"* Budgets\n"
|
|
||||||
"* Customer and Supplier Invoices\n"
|
|
||||||
"* Bank statements\n"
|
|
||||||
"* Reconciliation process by partner\n"
|
|
||||||
"\n"
|
|
||||||
"Creates a dashboard for accountants that includes:\n"
|
|
||||||
"--------------------------------------------------\n"
|
|
||||||
"* List of Customer Invoice to Approve\n"
|
|
||||||
"* Company Analysis\n"
|
|
||||||
"* Graph of Treasury\n"
|
|
||||||
"\n"
|
|
||||||
"The processes like maintaining of general ledger is done through the defined "
|
|
||||||
"financial Journals (entry move line orgrouping is maintained through "
|
|
||||||
"journal)\n"
|
|
||||||
"for a particular financial year and for preparation of vouchers there is a "
|
|
||||||
"module named account_voucher.\n"
|
|
||||||
" "
|
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model:0
|
#: view:ir.model:0
|
||||||
|
@ -1237,6 +1211,20 @@ msgid ""
|
||||||
"* Planned Revenue by Stage and User (graph)\n"
|
"* Planned Revenue by Stage and User (graph)\n"
|
||||||
"* Opportunities by Stage (graph)\n"
|
"* Opportunities by Stage (graph)\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"通用客户关系管理(CRM)模块\n"
|
||||||
|
"====================================================\n"
|
||||||
|
"此模块能让群组人员合理有效地管理线索、商机、会谈以及电话访问等活动。\n"
|
||||||
|
"管理涉及的重要功能包括:通信、身份识别、优先级设定、任务委派、投诉解决及通知等。\n"
|
||||||
|
"OpenERP可以有效跟踪用户、客户和供应商的所有的活动案例。根据设定的规则,可以自动发送提醒、请求,触发各种动作。\n"
|
||||||
|
"最重要的好处是,用户不需要做任何特殊的事。此模块集成了电子邮件网关,邮件在OpenERP中自动同步,用户只需在OpenERP中根据系统反馈,按需发送和回复"
|
||||||
|
"邮件。\n"
|
||||||
|
"OpenERP将接管其余的事,诸如发送感谢信、自动转发到相关人员并确保之后相应的回复能准确送达。\n"
|
||||||
|
"\n"
|
||||||
|
"CRM 控制面板(Dashboard) 包括:\n"
|
||||||
|
"---------------------------------------\n"
|
||||||
|
"* 可按阶段和用户分类的预计收益图表\n"
|
||||||
|
"* 按阶段分类的商机图表\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.export,format:0
|
#: selection:base.language.export,format:0
|
||||||
|
@ -2012,15 +2000,13 @@ msgid ""
|
||||||
"rights to the Demo user. \n"
|
"rights to the Demo user. \n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"会计访问权限\n"
|
"会计访问权限管理\n"
|
||||||
"\n"
|
"\n"
|
||||||
"========================\n"
|
"========================\n"
|
||||||
"\n"
|
"\n"
|
||||||
"It gives the Administrator user access to all accounting features such as "
|
"此模块用来管理所有会计功能的访问权限,如凭证行归类(journal items)和会计科目(chart of accounts)等。\n"
|
||||||
"journal items and the chart of accounts.\n"
|
|
||||||
"\n"
|
"\n"
|
||||||
"It assigns manager and user access rights to the Administrator and only user "
|
"默认设置管理员(Administrator)拥有经理和一般用户的访问权限,而演示用户(Demo user)仅拥有一般用户的权限。 \n"
|
||||||
"rights to the Demo user。 \n"
|
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
|
@ -2965,6 +2951,36 @@ msgid ""
|
||||||
"* Monthly Turnover (Graph)\n"
|
"* Monthly Turnover (Graph)\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"报价单和销售订单管理\n"
|
||||||
|
"==================================\n"
|
||||||
|
"此模块用来有效记录和跟踪所有销售订单及其历史,从而有效管理你的销售目标。\n"
|
||||||
|
"\n"
|
||||||
|
"整个销售流程包括:\n"
|
||||||
|
"\n"
|
||||||
|
"* **报价单** -> **销售订单** -> **发票**\n"
|
||||||
|
"\n"
|
||||||
|
"参数设置(仅在安装了仓库管理模块的情况下):\n"
|
||||||
|
"------------------------------------------------------\n"
|
||||||
|
"\n"
|
||||||
|
"如果安装了仓库管理模块,您可以设置以下参数:\n"
|
||||||
|
"\n"
|
||||||
|
"* 发货:选择一次性发货或部分发货\n"
|
||||||
|
"* 发票:选择发票是如何被支付\n"
|
||||||
|
"* Incoterms:选择所使用的国际贸易术语\n"
|
||||||
|
"\n"
|
||||||
|
"您可以选择灵活的开票方式:\n"
|
||||||
|
"\n"
|
||||||
|
"* *按需开具*:需要时,手动从销售订单开具发票\n"
|
||||||
|
"* *按发货单*:按发货单自动生成发票\n"
|
||||||
|
"* *发运前*:先创建发票草稿,待支付后发货\n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
"销售经理的控制面板(Dashboard)包括:\n"
|
||||||
|
"------------------------------------------------\n"
|
||||||
|
"* 我的报价单\n"
|
||||||
|
"* 月成交量(图表)\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,res_id:0
|
#: field:ir.actions.act_window,res_id:0
|
||||||
|
@ -5022,7 +5038,7 @@ msgstr "瑞士 - 会计"
|
||||||
#: field:res.partner,zip:0
|
#: field:res.partner,zip:0
|
||||||
#: field:res.partner.bank,zip:0
|
#: field:res.partner.bank,zip:0
|
||||||
msgid "Zip"
|
msgid "Zip"
|
||||||
msgstr "邮政编码"
|
msgstr "邮编"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.module.module:0
|
#: view:ir.module.module:0
|
||||||
|
@ -6299,10 +6315,7 @@ msgid ""
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"让用户建立自定义的仪表板\n"
|
"让用户自定义控制面板\n"
|
||||||
"========================================\n"
|
|
||||||
"\n"
|
|
||||||
"允许用户建立自定义的仪表板\n"
|
|
||||||
" "
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -8810,6 +8823,13 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"Notes can be found in the 'Home' menu.\n"
|
"Notes can be found in the 'Home' menu.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"此模块能让用户在OpenERP中创建他们自己的笔记(Notes)\n"
|
||||||
|
"=================================================================\n"
|
||||||
|
"Notes可用来记录会议纪要、即时的想法和创意、个人待办事项等等。每个用户管理其自己的个人笔记。笔记只能由创建者自己看到,但可通过分享笔记给其它用户,以便"
|
||||||
|
"多人协作实时更新同一笔记。这对诸如分享会议纪要等十分有效。\n"
|
||||||
|
"\n"
|
||||||
|
"Notes菜单可在“消息”菜单中找到\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.dm
|
#: model:res.country,name:base.dm
|
||||||
|
@ -11020,7 +11040,7 @@ msgstr "找不到币别 %s 日期 %s 的汇率。"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Customized views are used when users reorganize the content of their "
|
"Customized views are used when users reorganize the content of their "
|
||||||
"dashboard views (via web client)"
|
"dashboard views (via web client)"
|
||||||
msgstr "自定义视图用于用户重新组织他们的控制台视图内容(通过 Web 客户端)"
|
msgstr "如果用户重新组织过他的控制面板视图,则使用其自定义的视图。"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
#: model:ir.module.module,shortdesc:base.module_sale_stock
|
||||||
|
@ -11518,7 +11538,7 @@ msgstr "采购多次审核"
|
||||||
#: field:res.company,street2:0
|
#: field:res.company,street2:0
|
||||||
#: field:res.partner,street2:0
|
#: field:res.partner,street2:0
|
||||||
msgid "Street2"
|
msgid "Street2"
|
||||||
msgstr "街区地址2"
|
msgstr "次要街道"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.action_view_base_module_update
|
#: model:ir.actions.act_window,name:base.action_view_base_module_update
|
||||||
|
@ -11949,7 +11969,7 @@ msgstr "ir.model.relation"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_check_writing
|
#: model:ir.module.module,shortdesc:base.module_account_check_writing
|
||||||
msgid "Check Writing"
|
msgid "Check Writing"
|
||||||
msgstr "检查写作"
|
msgstr "支票填写"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_plugin_outlook
|
#: model:ir.module.module,description:base.module_plugin_outlook
|
||||||
|
@ -12621,7 +12641,7 @@ msgstr "爱沙尼亚"
|
||||||
#: model:ir.module.module,shortdesc:base.module_board
|
#: model:ir.module.module,shortdesc:base.module_board
|
||||||
#: model:ir.ui.menu,name:base.menu_reporting_dashboard
|
#: model:ir.ui.menu,name:base.menu_reporting_dashboard
|
||||||
msgid "Dashboards"
|
msgid "Dashboards"
|
||||||
msgstr "控制台"
|
msgstr "控制面板"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_procurement
|
#: model:ir.module.module,shortdesc:base.module_procurement
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:01+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:25+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2013-08-28 05:02+0000\n"
|
"X-Launchpad-Export-Date: 2013-09-25 05:27+0000\n"
|
||||||
"X-Generator: Launchpad (build 16738)\n"
|
"X-Generator: Launchpad (build 16771)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_check_writing
|
#: model:ir.module.module,description:base.module_account_check_writing
|
||||||
|
|
|
@ -110,7 +110,7 @@ class report_xml(osv.osv):
|
||||||
kwargs = {}
|
kwargs = {}
|
||||||
new_report = report_sxw('report.'+r['report_name'], r['model'],
|
new_report = report_sxw('report.'+r['report_name'], r['model'],
|
||||||
opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
|
opj('addons',r['report_rml'] or '/'), header=r['header'], register=False, **kwargs)
|
||||||
elif r['report_xsl']:
|
elif r['report_xsl'] and r['report_xml']:
|
||||||
new_report = report_rml('report.'+r['report_name'], r['model'],
|
new_report = report_rml('report.'+r['report_name'], r['model'],
|
||||||
opj('addons',r['report_xml']),
|
opj('addons',r['report_xml']),
|
||||||
r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
|
r['report_xsl'] and opj('addons',r['report_xsl']), register=False)
|
||||||
|
|
|
@ -76,7 +76,7 @@
|
||||||
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
|
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
|
||||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
|
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
|
||||||
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||||
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
|
<filter string="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|
|
@ -404,8 +404,10 @@ class ir_mail_server(osv.osv):
|
||||||
|
|
||||||
# The email's "Envelope From" (Return-Path), and all recipient addresses must only contain ASCII characters.
|
# The email's "Envelope From" (Return-Path), and all recipient addresses must only contain ASCII characters.
|
||||||
from_rfc2822 = extract_rfc2822_addresses(smtp_from)
|
from_rfc2822 = extract_rfc2822_addresses(smtp_from)
|
||||||
assert len(from_rfc2822) == 1, "Malformed 'Return-Path' or 'From' address - it may only contain plain ASCII characters"
|
assert from_rfc2822, ("Malformed 'Return-Path' or 'From' address: %r - "
|
||||||
smtp_from = from_rfc2822[0]
|
"It should contain one valid plain ASCII email") % smtp_from
|
||||||
|
# use last extracted email, to support rarities like 'Support@MyComp <support@mycompany.com>'
|
||||||
|
smtp_from = from_rfc2822[-1]
|
||||||
email_to = message['To']
|
email_to = message['To']
|
||||||
email_cc = message['Cc']
|
email_cc = message['Cc']
|
||||||
email_bcc = message['Bcc']
|
email_bcc = message['Bcc']
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
import collections
|
import collections
|
||||||
import copy
|
import copy
|
||||||
import logging
|
import logging
|
||||||
|
from lxml import etree
|
||||||
|
from operator import itemgetter
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
|
@ -103,6 +105,10 @@ class view(osv.osv):
|
||||||
return self._relaxng_validator
|
return self._relaxng_validator
|
||||||
|
|
||||||
def _check_xml(self, cr, uid, ids, context=None):
|
def _check_xml(self, cr, uid, ids, context=None):
|
||||||
|
if context is None:
|
||||||
|
context = {}
|
||||||
|
context['check_view_ids'] = ids
|
||||||
|
|
||||||
for view in self.browse(cr, uid, ids, context):
|
for view in self.browse(cr, uid, ids, context):
|
||||||
# Sanity check: the view should not break anything upon rendering!
|
# Sanity check: the view should not break anything upon rendering!
|
||||||
try:
|
try:
|
||||||
|
@ -197,15 +203,19 @@ class view(osv.osv):
|
||||||
:rtype: list of tuples
|
:rtype: list of tuples
|
||||||
:return: [(view_arch,view_id), ...]
|
:return: [(view_arch,view_id), ...]
|
||||||
"""
|
"""
|
||||||
|
|
||||||
user_groups = frozenset(self.pool.get('res.users').browse(cr, 1, uid, context).groups_id)
|
user_groups = frozenset(self.pool.get('res.users').browse(cr, 1, uid, context).groups_id)
|
||||||
|
|
||||||
|
check_view_ids = context and context.get('check_view_ids') or (0,)
|
||||||
conditions = [['inherit_id', '=', view_id], ['model', '=', model]]
|
conditions = [['inherit_id', '=', view_id], ['model', '=', model]]
|
||||||
if self.pool._init:
|
if self.pool._init:
|
||||||
# Module init currently in progress, only consider views from
|
# Module init currently in progress, only consider views from
|
||||||
# modules whose code is already loaded
|
# modules whose code is already loaded
|
||||||
conditions.extend([
|
conditions.extend([
|
||||||
['model_ids.model', '=', 'ir.ui.view'],
|
['model_ids.model', '=', 'ir.ui.view'],
|
||||||
|
'|',
|
||||||
['model_ids.module', 'in', tuple(self.pool._init_modules)],
|
['model_ids.module', 'in', tuple(self.pool._init_modules)],
|
||||||
|
['id', 'in', check_view_ids],
|
||||||
])
|
])
|
||||||
view_ids = self.search(cr, uid, conditions, context=context)
|
view_ids = self.search(cr, uid, conditions, context=context)
|
||||||
|
|
||||||
|
@ -346,7 +356,7 @@ class view(osv.osv):
|
||||||
:return: a modified source where all the modifying architecture are applied
|
:return: a modified source where all the modifying architecture are applied
|
||||||
"""
|
"""
|
||||||
if context is None: context = {}
|
if context is None: context = {}
|
||||||
sql_inherit = self.pool.get('ir.ui.view').get_inheriting_views_arch(cr, uid, source_id, model)
|
sql_inherit = self.pool.get('ir.ui.view').get_inheriting_views_arch(cr, uid, source_id, model, context=context)
|
||||||
for (specs, view_id) in sql_inherit:
|
for (specs, view_id) in sql_inherit:
|
||||||
specs_tree = etree.fromstring(specs.encode('utf-8'))
|
specs_tree = etree.fromstring(specs.encode('utf-8'))
|
||||||
if context.get('inherit_branding'):
|
if context.get('inherit_branding'):
|
||||||
|
@ -844,6 +854,22 @@ class view(osv.osv):
|
||||||
})
|
})
|
||||||
return super(view, self).copy(cr, uid, id, default, context=context)
|
return super(view, self).copy(cr, uid, id, default, context=context)
|
||||||
|
|
||||||
|
def _validate_custom_views(self, cr, uid, model):
|
||||||
|
"""Validate architecture of custom views (= without xml id) for a given model.
|
||||||
|
This method is called at the end of registry update.
|
||||||
|
"""
|
||||||
|
cr.execute("""SELECT max(v.id)
|
||||||
|
FROM ir_ui_view v
|
||||||
|
LEFT JOIN ir_model_data md ON (md.model = 'ir.ui.view' AND md.res_id = v.id)
|
||||||
|
WHERE md.module IS NULL
|
||||||
|
AND v.model = %s
|
||||||
|
GROUP BY coalesce(v.inherit_id, v.id)
|
||||||
|
""", (model,))
|
||||||
|
|
||||||
|
ids = map(itemgetter(0), cr.fetchall())
|
||||||
|
return self._check_xml(cr, uid, ids)
|
||||||
|
|
||||||
|
|
||||||
MOVABLE_BRANDING = ['data-oe-model','data-oe-id','data-oe-field','data-oe-xpath']
|
MOVABLE_BRANDING = ['data-oe-model','data-oe-id','data-oe-field','data-oe-xpath']
|
||||||
|
|
||||||
class view_sc(osv.osv):
|
class view_sc(osv.osv):
|
||||||
|
|
|
@ -24,6 +24,7 @@ from docutils.transforms import Transform, writer_aux
|
||||||
from docutils.writers.html4css1 import Writer
|
from docutils.writers.html4css1 import Writer
|
||||||
import imp
|
import imp
|
||||||
import logging
|
import logging
|
||||||
|
from operator import attrgetter
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import shutil
|
import shutil
|
||||||
|
@ -178,9 +179,6 @@ class module(osv.osv):
|
||||||
def _get_views(self, cr, uid, ids, field_name=None, arg=None, context=None):
|
def _get_views(self, cr, uid, ids, field_name=None, arg=None, context=None):
|
||||||
res = {}
|
res = {}
|
||||||
model_data_obj = self.pool.get('ir.model.data')
|
model_data_obj = self.pool.get('ir.model.data')
|
||||||
view_obj = self.pool.get('ir.ui.view')
|
|
||||||
report_obj = self.pool.get('ir.actions.report.xml')
|
|
||||||
menu_obj = self.pool.get('ir.ui.menu')
|
|
||||||
|
|
||||||
dmodels = []
|
dmodels = []
|
||||||
if field_name is None or 'views_by_module' in field_name:
|
if field_name is None or 'views_by_module' in field_name:
|
||||||
|
@ -192,7 +190,7 @@ class module(osv.osv):
|
||||||
assert dmodels, "no models for %s" % field_name
|
assert dmodels, "no models for %s" % field_name
|
||||||
|
|
||||||
for module_rec in self.browse(cr, uid, ids, context=context):
|
for module_rec in self.browse(cr, uid, ids, context=context):
|
||||||
res[module_rec.id] = {
|
res_mod_dic = res[module_rec.id] = {
|
||||||
'menus_by_module': [],
|
'menus_by_module': [],
|
||||||
'reports_by_module': [],
|
'reports_by_module': [],
|
||||||
'views_by_module': []
|
'views_by_module': []
|
||||||
|
@ -212,28 +210,20 @@ class module(osv.osv):
|
||||||
for imd_res in model_data_obj.read(cr, uid, imd_ids, ['model', 'res_id'], context=context):
|
for imd_res in model_data_obj.read(cr, uid, imd_ids, ['model', 'res_id'], context=context):
|
||||||
imd_models[imd_res['model']].append(imd_res['res_id'])
|
imd_models[imd_res['model']].append(imd_res['res_id'])
|
||||||
|
|
||||||
# For each one of the models, get the names of these ids.
|
def browse(model):
|
||||||
# We use try except, because views or menus may not exist.
|
M = self.pool[model]
|
||||||
try:
|
# as this method is called before the module update, some xmlid may be invalid at this stage
|
||||||
res_mod_dic = res[module_rec.id]
|
# explictly filter records before reading them
|
||||||
view_ids = imd_models.get('ir.ui.view', [])
|
ids = M.exists(cr, uid, imd_models.get(model, []), context)
|
||||||
for v in view_obj.browse(cr, uid, view_ids, context=context):
|
return M.browse(cr, uid, ids, context)
|
||||||
aa = v.inherit_id and '* INHERIT ' or ''
|
|
||||||
res_mod_dic['views_by_module'].append('%s%s (%s)' % (aa, v.name, v.type))
|
|
||||||
|
|
||||||
report_ids = imd_models.get('ir.actions.report.xml', [])
|
def format_view(v):
|
||||||
for rx in report_obj.browse(cr, uid, report_ids, context=context):
|
aa = v.inherit_id and '* INHERIT ' or ''
|
||||||
res_mod_dic['reports_by_module'].append(rx.name)
|
return '%s%s (%s)' % (aa, v.name, v.type)
|
||||||
|
|
||||||
menu_ids = imd_models.get('ir.ui.menu', [])
|
res_mod_dic['views_by_module'] = map(format_view, browse('ir.ui.view'))
|
||||||
for um in menu_obj.browse(cr, uid, menu_ids, context=context):
|
res_mod_dic['reports_by_module'] = map(attrgetter('name'), browse('ir.actions.report.xml'))
|
||||||
res_mod_dic['menus_by_module'].append(um.complete_name)
|
res_mod_dic['menus_by_module'] = map(attrgetter('complete_name'), browse('ir.ui.menu'))
|
||||||
except KeyError, e:
|
|
||||||
_logger.warning('Data not found for items of %s', module_rec.name)
|
|
||||||
except AttributeError, e:
|
|
||||||
_logger.warning('Data not found for items of %s %s', module_rec.name, str(e))
|
|
||||||
except Exception, e:
|
|
||||||
_logger.warning('Unknown error while fetching data of %s', module_rec.name, exc_info=True)
|
|
||||||
|
|
||||||
for key in res.iterkeys():
|
for key in res.iterkeys():
|
||||||
for k, v in res[key].iteritems():
|
for k, v in res[key].iteritems():
|
||||||
|
@ -624,7 +614,7 @@ class module(osv.osv):
|
||||||
# wsgi handlers, so they can react accordingly
|
# wsgi handlers, so they can react accordingly
|
||||||
if tuple(res) != (0, 0):
|
if tuple(res) != (0, 0):
|
||||||
for handler in openerp.service.wsgi_server.module_handlers:
|
for handler in openerp.service.wsgi_server.module_handlers:
|
||||||
if hasattr(handler,'load_addons'):
|
if hasattr(handler, 'load_addons'):
|
||||||
handler.load_addons()
|
handler.load_addons()
|
||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
|
@ -49,10 +49,10 @@ class res_config_module_installation_mixin(object):
|
||||||
to_install_missing_names.append(name)
|
to_install_missing_names.append(name)
|
||||||
elif module.state == 'uninstalled':
|
elif module.state == 'uninstalled':
|
||||||
to_install_ids.append(module.id)
|
to_install_ids.append(module.id)
|
||||||
|
result = None
|
||||||
if to_install_ids:
|
if to_install_ids:
|
||||||
ir_module.button_immediate_install(cr, uid, to_install_ids, context=context)
|
result = ir_module.button_immediate_install(cr, uid, to_install_ids, context=context)
|
||||||
|
#FIXME: if result is not none, the corresponding todo will be skipped because it was just marked done
|
||||||
if to_install_missing_names:
|
if to_install_missing_names:
|
||||||
return {
|
return {
|
||||||
'type': 'ir.actions.client',
|
'type': 'ir.actions.client',
|
||||||
|
@ -60,7 +60,7 @@ class res_config_module_installation_mixin(object):
|
||||||
'params': {'modules': to_install_missing_names},
|
'params': {'modules': to_install_missing_names},
|
||||||
}
|
}
|
||||||
|
|
||||||
return None
|
return result
|
||||||
|
|
||||||
class res_config_configurable(osv.osv_memory):
|
class res_config_configurable(osv.osv_memory):
|
||||||
''' Base classes for new-style configuration items
|
''' Base classes for new-style configuration items
|
||||||
|
|
|
@ -482,7 +482,11 @@ class res_partner(osv.osv, format_address):
|
||||||
if partner.child_ids:
|
if partner.child_ids:
|
||||||
# 2a. Commercial Fields: sync if commercial entity
|
# 2a. Commercial Fields: sync if commercial entity
|
||||||
if partner.commercial_partner_id == partner:
|
if partner.commercial_partner_id == partner:
|
||||||
self._commercial_sync_to_children(cr, uid, partner, context=context)
|
commercial_fields = self._commercial_fields(cr, uid,
|
||||||
|
context=context)
|
||||||
|
if any(field in update_values for field in commercial_fields):
|
||||||
|
self._commercial_sync_to_children(cr, uid, partner,
|
||||||
|
context=context)
|
||||||
# 2b. Address fields: sync if address changed
|
# 2b. Address fields: sync if address changed
|
||||||
address_fields = self._address_fields(cr, uid, context=context)
|
address_fields = self._address_fields(cr, uid, context=context)
|
||||||
if any(field in update_values for field in address_fields):
|
if any(field in update_values for field in address_fields):
|
||||||
|
@ -505,6 +509,16 @@ class res_partner(osv.osv, format_address):
|
||||||
def write(self, cr, uid, ids, vals, context=None):
|
def write(self, cr, uid, ids, vals, context=None):
|
||||||
if isinstance(ids, (int, long)):
|
if isinstance(ids, (int, long)):
|
||||||
ids = [ids]
|
ids = [ids]
|
||||||
|
#res.partner must only allow to set the company_id of a partner if it
|
||||||
|
#is the same as the company of all users that inherit from this partner
|
||||||
|
#(this is to allow the code from res_users to write to the partner!) or
|
||||||
|
#if setting the company_id to False (this is compatible with any user company)
|
||||||
|
if vals.get('company_id'):
|
||||||
|
for partner in self.browse(cr, uid, ids, context=context):
|
||||||
|
if partner.user_ids:
|
||||||
|
user_companies = set([user.company_id.id for user in partner.user_ids])
|
||||||
|
if len(user_companies) > 1 or vals['company_id'] not in user_companies:
|
||||||
|
raise osv.except_osv(_("Warning"),_("You can not change the company as the partner/user has multiple user linked with different companies."))
|
||||||
result = super(res_partner,self).write(cr, uid, ids, vals, context=context)
|
result = super(res_partner,self).write(cr, uid, ids, vals, context=context)
|
||||||
for partner in self.browse(cr, uid, ids, context=context):
|
for partner in self.browse(cr, uid, ids, context=context):
|
||||||
self._fields_sync(cr, uid, partner, vals, context)
|
self._fields_sync(cr, uid, partner, vals, context)
|
||||||
|
@ -607,14 +621,15 @@ class res_partner(osv.osv, format_address):
|
||||||
if operator in ('=ilike', '=like'):
|
if operator in ('=ilike', '=like'):
|
||||||
operator = operator[1:]
|
operator = operator[1:]
|
||||||
query_args = {'name': search_name}
|
query_args = {'name': search_name}
|
||||||
limit_str = ''
|
query = ('''SELECT id FROM res_partner
|
||||||
|
WHERE email ''' + operator + ''' %(name)s
|
||||||
|
OR display_name ''' + operator + ''' %(name)s
|
||||||
|
ORDER BY display_name
|
||||||
|
''')
|
||||||
if limit:
|
if limit:
|
||||||
limit_str = ' limit %(limit)s'
|
query += ' limit %(limit)s'
|
||||||
query_args['limit'] = limit
|
query_args['limit'] = limit
|
||||||
cr.execute('''SELECT partner.id FROM res_partner partner
|
cr.execute(query, query_args)
|
||||||
LEFT JOIN res_partner company ON partner.parent_id = company.id
|
|
||||||
WHERE partner.email ''' + operator +''' %(name)s OR
|
|
||||||
partner.display_name ''' + operator + ' %(name)s ' + limit_str, query_args)
|
|
||||||
ids = map(lambda x: x[0], cr.fetchall())
|
ids = map(lambda x: x[0], cr.fetchall())
|
||||||
ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context)
|
ids = self.search(cr, uid, [('id', 'in', ids)] + args, limit=limit, context=context)
|
||||||
if ids:
|
if ids:
|
||||||
|
|
|
@ -283,6 +283,13 @@ class res_users(osv.osv):
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
def create(self, cr, uid, vals, context=None):
|
||||||
|
user_id = super(res_users, self).create(cr, uid, vals, context=context)
|
||||||
|
user = self.browse(cr, uid, user_id, context=context)
|
||||||
|
if user.partner_id.company_id:
|
||||||
|
user.partner_id.write({'company_id': user.company_id.id})
|
||||||
|
return user_id
|
||||||
|
|
||||||
def write(self, cr, uid, ids, values, context=None):
|
def write(self, cr, uid, ids, values, context=None):
|
||||||
if not hasattr(ids, '__iter__'):
|
if not hasattr(ids, '__iter__'):
|
||||||
ids = [ids]
|
ids = [ids]
|
||||||
|
@ -297,7 +304,11 @@ class res_users(osv.osv):
|
||||||
uid = 1 # safe fields only, so we write as super-user to bypass access rights
|
uid = 1 # safe fields only, so we write as super-user to bypass access rights
|
||||||
|
|
||||||
res = super(res_users, self).write(cr, uid, ids, values, context=context)
|
res = super(res_users, self).write(cr, uid, ids, values, context=context)
|
||||||
|
if 'company_id' in values:
|
||||||
|
for user in self.browse(cr, uid, ids, context=context):
|
||||||
|
# if partner is global we keep it that way
|
||||||
|
if user.partner_id.company_id and user.partner_id.company_id.id != values['company_id']:
|
||||||
|
user.partner_id.write({'company_id': user.company_id.id})
|
||||||
# clear caches linked to the users
|
# clear caches linked to the users
|
||||||
self.pool['ir.model.access'].call_cache_clearing_methods(cr)
|
self.pool['ir.model.access'].call_cache_clearing_methods(cr)
|
||||||
clear = partial(self.pool['ir.rule'].clear_cache, cr)
|
clear = partial(self.pool['ir.rule'].clear_cache, cr)
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
"access_ir_model_relation","ir_model_relation","model_ir_model_relation",,1,0,0,0
|
"access_ir_model_relation","ir_model_relation","model_ir_model_relation",,1,0,0,0
|
||||||
"access_ir_model_access_all","ir_model_access_all","model_ir_model_access",,1,0,0,0
|
"access_ir_model_access_all","ir_model_access_all","model_ir_model_access",,1,0,0,0
|
||||||
"access_ir_model_data_all","ir_model_data all","model_ir_model_data",,1,0,0,0
|
"access_ir_model_data_all","ir_model_data all","model_ir_model_data",,1,0,0,0
|
||||||
|
"access_ir_model_data_user","ir_model_data user","model_ir_model_data",base.group_user,1,0,1,0
|
||||||
"access_ir_model_fields_all","ir_model_fields all","model_ir_model_fields",,1,0,0,0
|
"access_ir_model_fields_all","ir_model_fields all","model_ir_model_fields",,1,0,0,0
|
||||||
"access_ir_module_category_group_user","ir_module_category group_user","model_ir_module_category",,1,0,0,0
|
"access_ir_module_category_group_user","ir_module_category group_user","model_ir_module_category",,1,0,0,0
|
||||||
"access_ir_module_module_group_user","ir_module_module group_user","model_ir_module_module","group_system",1,1,1,1
|
"access_ir_module_module_group_user","ir_module_module group_user","model_ir_module_module","group_system",1,1,1,1
|
||||||
|
@ -110,9 +111,7 @@
|
||||||
"access_res_bank_user","res_bank user","model_res_bank","group_user",1,0,0,0
|
"access_res_bank_user","res_bank user","model_res_bank","group_user",1,0,0,0
|
||||||
"access_multi_company_default user","multi_company_default all","model_multi_company_default",,1,0,0,0
|
"access_multi_company_default user","multi_company_default all","model_multi_company_default",,1,0,0,0
|
||||||
"access_multi_company_default manager","multi_company_default Manager","model_multi_company_default","group_erp_manager",1,1,1,1
|
"access_multi_company_default manager","multi_company_default Manager","model_multi_company_default","group_erp_manager",1,1,1,1
|
||||||
"access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0
|
"access_ir_filter all","ir_filters all","model_ir_filters",,1,1,1,1
|
||||||
"access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1
|
|
||||||
"access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1
|
|
||||||
"access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0
|
"access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0
|
||||||
"access_ir_mail_server","ir_mail_server","model_ir_mail_server","group_system",1,1,1,1
|
"access_ir_mail_server","ir_mail_server","model_ir_mail_server","group_system",1,1,1,1
|
||||||
"access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0
|
"access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0
|
||||||
|
|
|
|
@ -102,7 +102,7 @@ openerp.base = function(instance) {
|
||||||
});
|
});
|
||||||
}).
|
}).
|
||||||
fail(function(client) {*/
|
fail(function(client) {*/
|
||||||
self.do_warn(_t('OpenERP Apps Unreachable'), _t('Showing locally available modules'), true);
|
//self.do_warn(_t('OpenERP Apps Unreachable'), _t('Showing locally available modules'), true);
|
||||||
self.rpc('/web/action/load', {action_id: self.failback_action_id}).done(function(action) {
|
self.rpc('/web/action/load', {action_id: self.failback_action_id}).done(function(action) {
|
||||||
self.do_action(action);
|
self.do_action(action);
|
||||||
instance.webclient.menu.open_action(action.id);
|
instance.webclient.menu.open_action(action.id);
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
# -*- encoding: utf-8 -*-
|
# -*- encoding: utf-8 -*-
|
||||||
|
from functools import partial
|
||||||
from lxml import etree as ET
|
from lxml import etree as ET
|
||||||
from lxml.builder import E
|
from lxml.builder import E
|
||||||
|
import unittest2
|
||||||
|
|
||||||
from openerp.tests import common
|
from openerp.tests import common
|
||||||
|
from openerp.osv.orm import except_orm
|
||||||
|
from openerp.tools import mute_logger
|
||||||
|
|
||||||
Field = E.field
|
Field = E.field
|
||||||
|
|
||||||
|
|
||||||
class TestNodeLocator(common.BaseCase):
|
class TestNodeLocator(common.BaseCase):
|
||||||
"""
|
"""
|
||||||
The node locator returns None when it can not find a node, and the first
|
The node locator returns None when it can not find a node, and the first
|
||||||
|
@ -423,3 +428,102 @@ class TestNoModel(common.TransactionCase):
|
||||||
'Copyrighter, tous droits réservés'))
|
'Copyrighter, tous droits réservés'))
|
||||||
self.assertEqual(fields, {})
|
self.assertEqual(fields, {})
|
||||||
|
|
||||||
|
|
||||||
|
class test_views(common.TransactionCase):
|
||||||
|
|
||||||
|
@mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view')
|
||||||
|
def test_00_init_check_views(self):
|
||||||
|
Views = self.registry('ir.ui.view')
|
||||||
|
|
||||||
|
self.assertTrue(Views.pool._init)
|
||||||
|
|
||||||
|
error_msg = "The model name does not exist or the view architecture cannot be rendered"
|
||||||
|
# test arch check is call for views without xmlid during registry initialization
|
||||||
|
with self.assertRaisesRegexp(except_orm, error_msg):
|
||||||
|
Views.create(self.cr, self.uid, {
|
||||||
|
'name': 'Test View #1',
|
||||||
|
'model': 'ir.ui.view',
|
||||||
|
'arch': """<?xml version="1.0"?>
|
||||||
|
<tree>
|
||||||
|
<field name="test_1"/>
|
||||||
|
</tree>
|
||||||
|
""",
|
||||||
|
})
|
||||||
|
|
||||||
|
# same for inherited views
|
||||||
|
with self.assertRaisesRegexp(except_orm, error_msg):
|
||||||
|
# Views.pudb = True
|
||||||
|
Views.create(self.cr, self.uid, {
|
||||||
|
'name': 'Test View #2',
|
||||||
|
'model': 'ir.ui.view',
|
||||||
|
'inherit_id': self.browse_ref('base.view_view_tree').id,
|
||||||
|
'arch': """<?xml version="1.0"?>
|
||||||
|
<xpath expr="//field[@name='name']" position="after">
|
||||||
|
<field name="test_2"/>
|
||||||
|
</xpath>
|
||||||
|
""",
|
||||||
|
})
|
||||||
|
|
||||||
|
def _insert_view(self, **kw):
|
||||||
|
"""Insert view into database via a query to passtrough validation"""
|
||||||
|
kw.pop('id', None)
|
||||||
|
|
||||||
|
keys = sorted(kw.keys())
|
||||||
|
fields = ','.join('"%s"' % (k.replace('"', r'\"'),) for k in keys)
|
||||||
|
params = ','.join('%%(%s)s' % (k,) for k in keys)
|
||||||
|
|
||||||
|
query = 'INSERT INTO ir_ui_view(%s) VALUES(%s) RETURNING id' % (fields, params)
|
||||||
|
self.cr.execute(query, kw)
|
||||||
|
return self.cr.fetchone()[0]
|
||||||
|
|
||||||
|
def test_10_validate_custom_views(self):
|
||||||
|
Views = self.registry('ir.ui.view')
|
||||||
|
model = 'ir.actions.act_url'
|
||||||
|
|
||||||
|
validate = partial(Views._validate_custom_views, self.cr, self.uid, model)
|
||||||
|
|
||||||
|
# validation of a single view
|
||||||
|
vid = self._insert_view(**{
|
||||||
|
'name': 'base view',
|
||||||
|
'model': model,
|
||||||
|
'priority': 1,
|
||||||
|
'arch': """<?xml version="1.0"?>
|
||||||
|
<tree string="view">
|
||||||
|
<field name="url"/>
|
||||||
|
</tree>
|
||||||
|
""",
|
||||||
|
})
|
||||||
|
self.assertTrue(validate()) # single view
|
||||||
|
|
||||||
|
# validation of a inherited view
|
||||||
|
self._insert_view(**{
|
||||||
|
'name': 'inherited view',
|
||||||
|
'model': model,
|
||||||
|
'priority': 1,
|
||||||
|
'inherit_id': vid,
|
||||||
|
'arch': """<?xml version="1.0"?>
|
||||||
|
<xpath expr="//field[@name='url']" position="before">
|
||||||
|
<field name="name"/>
|
||||||
|
</xpath>
|
||||||
|
""",
|
||||||
|
})
|
||||||
|
self.assertTrue(validate()) # inherited view
|
||||||
|
|
||||||
|
# validation of a bad inherited view
|
||||||
|
self._insert_view(**{
|
||||||
|
'name': 'bad inherited view',
|
||||||
|
'model': model,
|
||||||
|
'priority': 2,
|
||||||
|
'inherit_id': vid,
|
||||||
|
'arch': """<?xml version="1.0"?>
|
||||||
|
<xpath expr="//field[@name='url']" position="after">
|
||||||
|
<field name="bad"/>
|
||||||
|
</xpath>
|
||||||
|
""",
|
||||||
|
})
|
||||||
|
with mute_logger('openerp.osv.orm', 'openerp.addons.base.ir.ir_ui_view'):
|
||||||
|
self.assertFalse(validate()) # bad inherited view
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
unittest2.main()
|
||||||
|
|
|
@ -56,19 +56,6 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
:param skip_modules: optional list of module names (packages) which have previously been loaded and can be skipped
|
:param skip_modules: optional list of module names (packages) which have previously been loaded and can be skipped
|
||||||
:return: list of modules that were installed or updated
|
:return: list of modules that were installed or updated
|
||||||
"""
|
"""
|
||||||
def process_sql_file(cr, fp):
|
|
||||||
queries = fp.read().split(';')
|
|
||||||
for query in queries:
|
|
||||||
new_query = ' '.join(query.split())
|
|
||||||
if new_query:
|
|
||||||
cr.execute(new_query)
|
|
||||||
|
|
||||||
load_init_xml = lambda *args: _load_data(cr, *args, kind='init_xml')
|
|
||||||
load_update_xml = lambda *args: _load_data(cr, *args, kind='update_xml')
|
|
||||||
load_demo_xml = lambda *args: _load_data(cr, *args, kind='demo_xml')
|
|
||||||
load_data = lambda *args: _load_data(cr, *args, kind='data')
|
|
||||||
load_demo = lambda *args: _load_data(cr, *args, kind='demo')
|
|
||||||
|
|
||||||
def load_test(module_name, idref, mode):
|
def load_test(module_name, idref, mode):
|
||||||
cr.commit()
|
cr.commit()
|
||||||
try:
|
try:
|
||||||
|
@ -86,6 +73,28 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
else:
|
else:
|
||||||
cr.rollback()
|
cr.rollback()
|
||||||
|
|
||||||
|
def _get_files_of_kind(kind):
|
||||||
|
if kind == 'demo':
|
||||||
|
kind = ['demo_xml', 'demo']
|
||||||
|
elif kind == 'data':
|
||||||
|
kind = ['init_xml', 'update_xml', 'data']
|
||||||
|
if isinstance(kind, str):
|
||||||
|
kind = [kind]
|
||||||
|
files = []
|
||||||
|
for k in kind:
|
||||||
|
for f in package.data[k]:
|
||||||
|
files.append(f)
|
||||||
|
if k.endswith('_xml') and not (k == 'init_xml' and not f.endswith('.xml')):
|
||||||
|
# init_xml, update_xml and demo_xml are deprecated except
|
||||||
|
# for the case of init_xml with yaml, csv and sql files as
|
||||||
|
# we can't specify noupdate for those file.
|
||||||
|
correct_key = 'demo' if k.count('demo') else 'data'
|
||||||
|
_logger.warning(
|
||||||
|
"module %s: key '%s' is deprecated in favor of '%s' for file '%s'.",
|
||||||
|
package.name, k, correct_key, f
|
||||||
|
)
|
||||||
|
return files
|
||||||
|
|
||||||
def _load_data(cr, module_name, idref, mode, kind):
|
def _load_data(cr, module_name, idref, mode, kind):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -95,32 +104,12 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
init mode.
|
init mode.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
for filename in package.data[kind]:
|
for filename in _get_files_of_kind(kind):
|
||||||
_logger.info("module %s: loading %s", module_name, filename)
|
_logger.info("module %s: loading %s", module_name, filename)
|
||||||
_, ext = os.path.splitext(filename)
|
|
||||||
pathname = os.path.join(module_name, filename)
|
|
||||||
fp = tools.file_open(pathname)
|
|
||||||
noupdate = False
|
noupdate = False
|
||||||
if kind in ('demo', 'demo_xml'):
|
if kind in ('demo', 'demo_xml') or (filename.endswith('.csv') and kind in ('init', 'init_xml')):
|
||||||
noupdate = True
|
noupdate = True
|
||||||
try:
|
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
|
||||||
ext = ext.lower()
|
|
||||||
if ext == '.csv':
|
|
||||||
if kind in ('init', 'init_xml'):
|
|
||||||
noupdate = True
|
|
||||||
tools.convert_csv_import(cr, module_name, pathname, fp.read(), idref, mode, noupdate)
|
|
||||||
elif ext == '.sql':
|
|
||||||
process_sql_file(cr, fp)
|
|
||||||
elif ext == '.yml':
|
|
||||||
tools.convert_yaml_import(cr, module_name, fp, kind, idref, mode, noupdate, report)
|
|
||||||
elif ext == '.xml':
|
|
||||||
tools.convert_xml_import(cr, module_name, fp, idref, mode, noupdate, report)
|
|
||||||
elif ext == '.js':
|
|
||||||
pass # .js files are valid but ignored here.
|
|
||||||
else:
|
|
||||||
_logger.warning("Can't load unknown file type %s.", filename)
|
|
||||||
finally:
|
|
||||||
fp.close()
|
|
||||||
|
|
||||||
if status is None:
|
if status is None:
|
||||||
status = {}
|
status = {}
|
||||||
|
@ -176,13 +165,10 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
if package.state=='to upgrade':
|
if package.state=='to upgrade':
|
||||||
# upgrading the module information
|
# upgrading the module information
|
||||||
modobj.write(cr, SUPERUSER_ID, [module_id], modobj.get_values_from_terp(package.data))
|
modobj.write(cr, SUPERUSER_ID, [module_id], modobj.get_values_from_terp(package.data))
|
||||||
load_init_xml(module_name, idref, mode)
|
_load_data(cr, module_name, idref, mode, kind='data')
|
||||||
load_update_xml(module_name, idref, mode)
|
|
||||||
load_data(module_name, idref, mode)
|
|
||||||
if hasattr(package, 'demo') or (package.dbdemo and package.state != 'installed'):
|
if hasattr(package, 'demo') or (package.dbdemo and package.state != 'installed'):
|
||||||
status['progress'] = (index + 0.75) / len(graph)
|
status['progress'] = (index + 0.75) / len(graph)
|
||||||
load_demo_xml(module_name, idref, mode)
|
_load_data(cr, module_name, idref, mode, kind='demo')
|
||||||
load_demo(module_name, idref, mode)
|
|
||||||
cr.execute('update ir_module_module set demo=%s where id=%s', (True, module_id))
|
cr.execute('update ir_module_module set demo=%s where id=%s', (True, module_id))
|
||||||
|
|
||||||
# launch tests only in demo mode, as most tests will depend
|
# launch tests only in demo mode, as most tests will depend
|
||||||
|
@ -329,13 +315,21 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
||||||
# they are part of the "currently installed" modules. They will
|
# they are part of the "currently installed" modules. They will
|
||||||
# be dropped in STEP 6 later, before restarting the loading
|
# be dropped in STEP 6 later, before restarting the loading
|
||||||
# process.
|
# process.
|
||||||
states_to_load = ['installed', 'to upgrade', 'to remove']
|
# IMPORTANT 2: We have to loop here until all relevant modules have been
|
||||||
processed = load_marked_modules(cr, graph, states_to_load, force, status, report, loaded_modules, update_module)
|
# processed, because in some rare cases the dependencies have
|
||||||
processed_modules.extend(processed)
|
# changed, and modules that depend on an uninstalled module
|
||||||
if update_module:
|
# will not be processed on the first pass.
|
||||||
states_to_load = ['to install']
|
# It's especially useful for migrations.
|
||||||
processed = load_marked_modules(cr, graph, states_to_load, force, status, report, loaded_modules, update_module)
|
previously_processed = -1
|
||||||
processed_modules.extend(processed)
|
while previously_processed < len(processed_modules):
|
||||||
|
previously_processed = len(processed_modules)
|
||||||
|
processed_modules += load_marked_modules(cr, graph,
|
||||||
|
['installed', 'to upgrade', 'to remove'],
|
||||||
|
force, status, report, loaded_modules, update_module)
|
||||||
|
if update_module:
|
||||||
|
processed_modules += load_marked_modules(cr, graph,
|
||||||
|
['to install'], force, status, report,
|
||||||
|
loaded_modules, update_module)
|
||||||
|
|
||||||
# load custom models
|
# load custom models
|
||||||
cr.execute('select model from ir_model where state=%s', ('manual',))
|
cr.execute('select model from ir_model where state=%s', ('manual',))
|
||||||
|
@ -406,12 +400,22 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
||||||
_logger.info('Reloading registry once more after uninstalling modules')
|
_logger.info('Reloading registry once more after uninstalling modules')
|
||||||
return openerp.modules.registry.RegistryManager.new(cr.dbname, force_demo, status, update_module)
|
return openerp.modules.registry.RegistryManager.new(cr.dbname, force_demo, status, update_module)
|
||||||
|
|
||||||
|
# STEP 7: verify custom views on every model
|
||||||
|
if update_module:
|
||||||
|
Views = registry['ir.ui.view']
|
||||||
|
custom_view_test = True
|
||||||
|
for model in registry.models.keys():
|
||||||
|
if not Views._validate_custom_views(cr, SUPERUSER_ID, model):
|
||||||
|
custom_view_test = False
|
||||||
|
_logger.error('invalid custom view(s) for model %s', model)
|
||||||
|
report.record_result(custom_view_test)
|
||||||
|
|
||||||
if report.failures:
|
if report.failures:
|
||||||
_logger.error('At least one test failed when loading the modules.')
|
_logger.error('At least one test failed when loading the modules.')
|
||||||
else:
|
else:
|
||||||
_logger.info('Modules loaded.')
|
_logger.info('Modules loaded.')
|
||||||
|
|
||||||
# STEP 7: call _register_hook on every model
|
# STEP 8: call _register_hook on every model
|
||||||
for model in registry.models.values():
|
for model in registry.models.values():
|
||||||
model._register_hook(cr)
|
model._register_hook(cr)
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,7 @@ class MigrationManager(object):
|
||||||
'post': '[%s>]',
|
'post': '[%s>]',
|
||||||
}
|
}
|
||||||
|
|
||||||
if not (hasattr(pkg, 'update') or pkg.state == 'to upgrade'):
|
if not (hasattr(pkg, 'update') or pkg.state == 'to upgrade') or pkg.installed_version is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
def convert_version(version):
|
def convert_version(version):
|
||||||
|
|
|
@ -2175,7 +2175,18 @@ class BaseModel(object):
|
||||||
:param list groupby: fields by which the records will be grouped
|
:param list groupby: fields by which the records will be grouped
|
||||||
:param int offset: optional number of records to skip
|
:param int offset: optional number of records to skip
|
||||||
:param int limit: optional max number of records to return
|
:param int limit: optional max number of records to return
|
||||||
:param dict context: context arguments, like lang, time zone
|
:param dict context: context arguments, like lang, time zone. A special
|
||||||
|
context key exist for datetime fields : ``datetime_format``.
|
||||||
|
context[``datetime_format``] = {
|
||||||
|
'field_name': {
|
||||||
|
groupby_format: format for to_char (default: yyyy-mm)
|
||||||
|
display_format: format for displaying the value
|
||||||
|
in the result (default: MMM yyyy)
|
||||||
|
interval: day, month or year; used for begin
|
||||||
|
and end date of group_by intervals
|
||||||
|
computation (default: month)
|
||||||
|
}
|
||||||
|
}
|
||||||
:param list orderby: optional ``order by`` specification, for
|
:param list orderby: optional ``order by`` specification, for
|
||||||
overriding the natural sort ordering of the
|
overriding the natural sort ordering of the
|
||||||
groups, see also :py:meth:`~osv.osv.osv.search`
|
groups, see also :py:meth:`~osv.osv.osv.search`
|
||||||
|
@ -2215,11 +2226,26 @@ class BaseModel(object):
|
||||||
fget = self.fields_get(cr, uid, fields)
|
fget = self.fields_get(cr, uid, fields)
|
||||||
flist = ''
|
flist = ''
|
||||||
group_count = group_by = groupby
|
group_count = group_by = groupby
|
||||||
|
group_by_params = {}
|
||||||
if groupby:
|
if groupby:
|
||||||
if fget.get(groupby):
|
if fget.get(groupby):
|
||||||
groupby_type = fget[groupby]['type']
|
groupby_type = fget[groupby]['type']
|
||||||
if groupby_type in ('date', 'datetime'):
|
if groupby_type in ('date', 'datetime'):
|
||||||
qualified_groupby_field = "to_char(%s,'yyyy-mm')" % qualified_groupby_field
|
if context.get('datetime_format') and isinstance(context['datetime_format'], dict) \
|
||||||
|
and context['datetime_format'].get(groupby) and isinstance(context['datetime_format'][groupby], dict):
|
||||||
|
groupby_format = context['datetime_format'][groupby].get('groupby_format', 'yyyy-mm')
|
||||||
|
display_format = context['datetime_format'][groupby].get('display_format', 'MMMM yyyy')
|
||||||
|
interval = context['datetime_format'][groupby].get('interval', 'month')
|
||||||
|
else:
|
||||||
|
groupby_format = 'yyyy-mm'
|
||||||
|
display_format = 'MMMM yyyy'
|
||||||
|
interval = 'month'
|
||||||
|
group_by_params = {
|
||||||
|
'groupby_format': groupby_format,
|
||||||
|
'display_format': display_format,
|
||||||
|
'interval': interval,
|
||||||
|
}
|
||||||
|
qualified_groupby_field = "to_char(%s,%%s)" % qualified_groupby_field
|
||||||
flist = "%s as %s " % (qualified_groupby_field, groupby)
|
flist = "%s as %s " % (qualified_groupby_field, groupby)
|
||||||
elif groupby_type == 'boolean':
|
elif groupby_type == 'boolean':
|
||||||
qualified_groupby_field = "coalesce(%s,false)" % qualified_groupby_field
|
qualified_groupby_field = "coalesce(%s,false)" % qualified_groupby_field
|
||||||
|
@ -2246,6 +2272,8 @@ class BaseModel(object):
|
||||||
gb = groupby and (' GROUP BY ' + qualified_groupby_field) or ''
|
gb = groupby and (' GROUP BY ' + qualified_groupby_field) or ''
|
||||||
|
|
||||||
from_clause, where_clause, where_clause_params = query.get_sql()
|
from_clause, where_clause, where_clause_params = query.get_sql()
|
||||||
|
if group_by_params and group_by_params.get('groupby_format'):
|
||||||
|
where_clause_params = [group_by_params['groupby_format']] + where_clause_params + [group_by_params['groupby_format']]
|
||||||
where_clause = where_clause and ' WHERE ' + where_clause
|
where_clause = where_clause and ' WHERE ' + where_clause
|
||||||
limit_str = limit and ' limit %d' % limit or ''
|
limit_str = limit and ' limit %d' % limit or ''
|
||||||
offset_str = offset and ' offset %d' % offset or ''
|
offset_str = offset and ' offset %d' % offset or ''
|
||||||
|
@ -2282,14 +2310,20 @@ class BaseModel(object):
|
||||||
d['__context'] = {'group_by': groupby_list[1:]}
|
d['__context'] = {'group_by': groupby_list[1:]}
|
||||||
if groupby and groupby in fget:
|
if groupby and groupby in fget:
|
||||||
if d[groupby] and fget[groupby]['type'] in ('date', 'datetime'):
|
if d[groupby] and fget[groupby]['type'] in ('date', 'datetime'):
|
||||||
dt = datetime.datetime.strptime(alldata[d['id']][groupby][:7], '%Y-%m')
|
groupby_datetime = datetime.datetime.strptime(alldata[d['id']][groupby], '%Y-%m-%d')
|
||||||
days = calendar.monthrange(dt.year, dt.month)[1]
|
|
||||||
|
|
||||||
date_value = datetime.datetime.strptime(d[groupby][:10], '%Y-%m-%d')
|
|
||||||
d[groupby] = babel.dates.format_date(
|
d[groupby] = babel.dates.format_date(
|
||||||
date_value, format='MMMM yyyy', locale=context.get('lang', 'en_US'))
|
groupby_datetime, format=group_by_params.get('display_format', 'MMMM yyyy'), locale=context.get('lang', 'en_US'))
|
||||||
d['__domain'] = [(groupby, '>=', alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-01', '%Y-%m-%d').strftime('%Y-%m-%d') or False),\
|
if group_by_params.get('interval') == 'month':
|
||||||
(groupby, '<=', alldata[d['id']][groupby] and datetime.datetime.strptime(alldata[d['id']][groupby][:7] + '-' + str(days), '%Y-%m-%d').strftime('%Y-%m-%d') or False)] + domain
|
days = calendar.monthrange(groupby_datetime.year, groupby_datetime.month)[1]
|
||||||
|
domain_dt_begin = groupby_datetime.replace(day=1)
|
||||||
|
domain_dt_end = groupby_datetime.replace(day=days)
|
||||||
|
elif group_by_params.get('interval') == 'day':
|
||||||
|
domain_dt_begin = groupby_datetime.replace(hour=0, minute=0)
|
||||||
|
domain_dt_end = groupby_datetime.replace(hour=23, minute=59, second=59)
|
||||||
|
else:
|
||||||
|
domain_dt_begin = groupby_datetime.replace(month=1, day=1)
|
||||||
|
domain_dt_end = groupby_datetime.replace(month=12, day=31)
|
||||||
|
d['__domain'] = [(groupby, '>=', domain_dt_begin.strftime('%Y-%m-%d')), (groupby, '<=', domain_dt_end.strftime('%Y-%m-%d'))] + domain
|
||||||
del alldata[d['id']][groupby]
|
del alldata[d['id']][groupby]
|
||||||
d.update(alldata[d['id']])
|
d.update(alldata[d['id']])
|
||||||
del d['id']
|
del d['id']
|
||||||
|
@ -4622,6 +4656,8 @@ class BaseModel(object):
|
||||||
"""
|
"""
|
||||||
if type(ids) in (int, long):
|
if type(ids) in (int, long):
|
||||||
ids = [ids]
|
ids = [ids]
|
||||||
|
if not ids:
|
||||||
|
return []
|
||||||
query = 'SELECT id FROM "%s"' % self._table
|
query = 'SELECT id FROM "%s"' % self._table
|
||||||
cr.execute(query + "WHERE ID IN %s", (tuple(ids),))
|
cr.execute(query + "WHERE ID IN %s", (tuple(ids),))
|
||||||
return [x[0] for x in cr.fetchall()]
|
return [x[0] for x in cr.fetchall()]
|
||||||
|
|
|
@ -33,6 +33,7 @@ import time
|
||||||
import openerp
|
import openerp
|
||||||
import openerp.release
|
import openerp.release
|
||||||
import openerp.workflow
|
import openerp.workflow
|
||||||
|
from yaml_import import convert_yaml_import
|
||||||
|
|
||||||
import assertion_report
|
import assertion_report
|
||||||
|
|
||||||
|
@ -943,6 +944,33 @@ form: module.record_id""" % (xml_id,)
|
||||||
'url': self._tag_url
|
'url': self._tag_url
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def convert_file(cr, module, filename, idref, mode='update', noupdate=False, kind=None, report=None):
|
||||||
|
pathname = os.path.join(module, filename)
|
||||||
|
fp = misc.file_open(pathname)
|
||||||
|
ext = os.path.splitext(filename)[1].lower()
|
||||||
|
try:
|
||||||
|
if ext == '.csv':
|
||||||
|
convert_csv_import(cr, module, pathname, fp.read(), idref, mode, noupdate)
|
||||||
|
elif ext == '.sql':
|
||||||
|
convert_sql_import(cr, fp)
|
||||||
|
elif ext == '.yml':
|
||||||
|
convert_yaml_import(cr, module, fp, kind, idref, mode, noupdate, report)
|
||||||
|
elif ext == '.xml':
|
||||||
|
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
|
||||||
|
elif ext == '.js':
|
||||||
|
pass # .js files are valid but ignored here.
|
||||||
|
else:
|
||||||
|
_logger.warning("Can't load unknown file type %s.", filename)
|
||||||
|
finally:
|
||||||
|
fp.close()
|
||||||
|
|
||||||
|
def convert_sql_import(cr, fp):
|
||||||
|
queries = fp.read().split(';')
|
||||||
|
for query in queries:
|
||||||
|
new_query = ' '.join(query.split())
|
||||||
|
if new_query:
|
||||||
|
cr.execute(new_query)
|
||||||
|
|
||||||
def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
def convert_csv_import(cr, module, fname, csvcontent, idref=None, mode='init',
|
||||||
noupdate=False):
|
noupdate=False):
|
||||||
'''Import csv file :
|
'''Import csv file :
|
||||||
|
|
|
@ -547,6 +547,11 @@ command_re = re.compile("^Set-([a-z]+) *: *(.+)$", re.I + re.UNICODE)
|
||||||
# group(1) = the record ID ; group(2) = the model (if any) ; group(3) = the domain
|
# group(1) = the record ID ; group(2) = the model (if any) ; group(3) = the domain
|
||||||
reference_re = re.compile("<.*-open(?:object|erp)-(\\d+)(?:-([\w.]+))?.*@(.*)>", re.UNICODE)
|
reference_re = re.compile("<.*-open(?:object|erp)-(\\d+)(?:-([\w.]+))?.*@(.*)>", re.UNICODE)
|
||||||
|
|
||||||
|
# Bounce regex
|
||||||
|
# Typical form of bounce is bounce-128-crm.lead-34@domain
|
||||||
|
# group(1) = the mail ID; group(2) = the model (if any); group(3) = the record ID
|
||||||
|
bounce_re = re.compile("[\w]+-(\d+)-?([\w.]+)?-?(\d+)?", re.UNICODE)
|
||||||
|
|
||||||
def generate_tracking_message_id(res_id):
|
def generate_tracking_message_id(res_id):
|
||||||
"""Returns a string that can be used in the Message-ID RFC822 header field
|
"""Returns a string that can be used in the Message-ID RFC822 header field
|
||||||
|
|
||||||
|
|
|
@ -832,8 +832,11 @@ def trans_generate(lang, modules, cr):
|
||||||
if module:
|
if module:
|
||||||
src_file = open(fabsolutepath, 'r')
|
src_file = open(fabsolutepath, 'r')
|
||||||
try:
|
try:
|
||||||
for lineno, message, comments in extract.extract(extract_method, src_file,
|
for extracted in extract.extract(extract_method, src_file,
|
||||||
keywords=extract_keywords):
|
keywords=extract_keywords):
|
||||||
|
# Babel 0.9.6 yields lineno, message, comments
|
||||||
|
# Babel 1.3 yields lineno, message, comments, context
|
||||||
|
lineno, message, comments = extracted[:3]
|
||||||
push_translation(module, trans_type, display_path, lineno,
|
push_translation(module, trans_type, display_path, lineno,
|
||||||
encode(message), comments + extra_comments)
|
encode(message), comments + extra_comments)
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|
Loading…
Reference in New Issue