[MERGE] from trunk
bzr revid: rco@openerp.com-20130213082352-t3wbhkxfh3z10ukt
This commit is contained in:
commit
6f045b48e8
|
@ -0,0 +1,12 @@
|
||||||
|
.. _changelog:
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
=========
|
||||||
|
|
||||||
|
`trunk`
|
||||||
|
-------
|
||||||
|
|
||||||
|
- Removed support for `__terp__.py` descriptor files.
|
||||||
|
- Removed support for `<terp>` root element in XML files.
|
||||||
|
- Removed support for the non-openerp namespace (e.g. importing `tools` instead
|
||||||
|
of `openerp.tools` in an addons).
|
|
@ -0,0 +1,73 @@
|
||||||
|
.. _using-mod-wsgi:
|
||||||
|
|
||||||
|
Deploying with ``mod_wsgi``
|
||||||
|
===========================
|
||||||
|
|
||||||
|
``mod_wsgi`` makes it possible to run a WSGI_ application (such as OpenERP)
|
||||||
|
under the Apache_ HTTP server.
|
||||||
|
|
||||||
|
.. _WSGI: http://en.wikipedia.org/wiki/Web_Server_Gateway_Interface
|
||||||
|
.. _Apache: https://httpd.apache.org/
|
||||||
|
|
||||||
|
Summary
|
||||||
|
-------
|
||||||
|
|
||||||
|
Similarly to :doc:`deployment-gunicorn`, running OpenERP behind Apache with
|
||||||
|
``mod_wsgi`` requires to modify the sample ``openerp-wsgi.py`` script. Then
|
||||||
|
that Python script can be set in the Apache configuration.
|
||||||
|
|
||||||
|
Python (WSGI) application
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Apache needs a Python script providing the WSGI application. By default the
|
||||||
|
symbol looked up by Apache is ``application`` but it can be overidden with the
|
||||||
|
``WSGICallableObject`` directive if necessary. A sample script
|
||||||
|
``openerp-wsgi.py`` is provided with OpenERP and you can adapt it to your
|
||||||
|
needs. For instance, make sure to correctly set the ``addons_path``
|
||||||
|
configuration (using absolute paths).
|
||||||
|
|
||||||
|
.. note ::
|
||||||
|
The script provided to Apache has often the extension ``.wsgi`` but the
|
||||||
|
``openerp-wsgi.py`` script will do just as fine.
|
||||||
|
|
||||||
|
Apache Configuration
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
In Apache's configuration, add the following line to activate ``mod_wsgi``::
|
||||||
|
|
||||||
|
LoadModule wsgi_module modules/mod_wsgi.so
|
||||||
|
|
||||||
|
Then a possible (straightforward, with e.g. no virtual server) configuration is
|
||||||
|
as follow::
|
||||||
|
|
||||||
|
WSGIScriptAlias / /home/thu/repos/server/trunk/openerp-wsgi.py
|
||||||
|
WSGIDaemonProcess oe user=thu group=users processes=2 python-path=/home/thu/repos/server/trunk/ display-name=apache-openerp
|
||||||
|
WSGIProcessGroup oe
|
||||||
|
|
||||||
|
<Directory /home/thu/repos/server/trunk>
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
The ``WSGIScriptAlias`` directive indicates that any URL matching ``/`` will
|
||||||
|
run the application defined in the ``openerp-wsgi.py`` script.
|
||||||
|
|
||||||
|
The ``WSGIDaemonProcess`` and ``WSGIProcessGroup`` directives create a process
|
||||||
|
configuration. The configuration makes it possible for isntance to specify
|
||||||
|
which user runs the OpenERP process. The ``display-name`` option will make the
|
||||||
|
processes appear as ``apache-openerp`` in ``ps`` (instead of the normal
|
||||||
|
``httpd``).
|
||||||
|
|
||||||
|
Finally, it is necessary to make sure the source directory where the script can
|
||||||
|
be found is allowed by Apache with the ``Directory`` block.
|
||||||
|
|
||||||
|
``mod_wsgi`` supports a lot of directives, please see this ``mod_wsgi`` wiki
|
||||||
|
page for more details:
|
||||||
|
http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives.
|
||||||
|
|
||||||
|
Running
|
||||||
|
-------
|
||||||
|
|
||||||
|
When the Apache configuration changes, it is necessary to restart Apache, e.g. with::
|
||||||
|
|
||||||
|
/etc/init.d/httpd restart
|
|
@ -17,6 +17,7 @@ OpenERP Server
|
||||||
05_test_framework
|
05_test_framework
|
||||||
06_misc
|
06_misc
|
||||||
deployment-gunicorn
|
deployment-gunicorn
|
||||||
|
deployment-mod-wsgi
|
||||||
|
|
||||||
OpenERP Command
|
OpenERP Command
|
||||||
'''''''''''''''
|
'''''''''''''''
|
||||||
|
@ -36,6 +37,15 @@ OpenERP Server API
|
||||||
|
|
||||||
orm-methods.rst
|
orm-methods.rst
|
||||||
api_models.rst
|
api_models.rst
|
||||||
|
routing.rst
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
'''''''''
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 1
|
||||||
|
|
||||||
|
changelog.rst
|
||||||
|
|
||||||
Concepts
|
Concepts
|
||||||
''''''''
|
''''''''
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
.. _routing:
|
||||||
|
|
||||||
|
Routing
|
||||||
|
=======
|
||||||
|
|
||||||
|
.. versionchanged:: 7.1
|
||||||
|
|
||||||
|
The OpenERP framework, as an HTTP server, serves a few hard-coded URLs
|
||||||
|
(``models``, ``db``, ...) to expose RPC endpoints. When running the web addons
|
||||||
|
(which is almost always the case), it also serves URLs without them being RPC
|
||||||
|
endpoints.
|
||||||
|
|
||||||
|
In older version of OpenERP, adding RPC endpoints was done by subclassing the
|
||||||
|
``openerp.netsvc.ExportService`` class. Adding WSGI handlers was done by
|
||||||
|
registering them with the :py:func:`openerp.wsgi.register_wsgi_handler`
|
||||||
|
function.
|
||||||
|
|
||||||
|
Starting with OpenERP 7.1, exposing a new arbitrary WSGI handler is done with
|
||||||
|
the :py:func:`openerp.http.handler` decorator while adding an RPC endpoint is
|
||||||
|
done with the :py:func:`openerp.http.rpc` decorator.
|
||||||
|
|
||||||
|
Routing decorators
|
||||||
|
------------------
|
||||||
|
|
||||||
|
.. automodule:: openerp.http
|
||||||
|
:members:
|
||||||
|
:undoc-members:
|
|
@ -1 +0,0 @@
|
||||||
excludes: pychart release openerp-server test run_tests addons/base_quality_interrogation
|
|
|
@ -28,6 +28,7 @@ SUPERUSER_ID = 1
|
||||||
import addons
|
import addons
|
||||||
import cli
|
import cli
|
||||||
import conf
|
import conf
|
||||||
|
import http
|
||||||
import loglevels
|
import loglevels
|
||||||
import modules
|
import modules
|
||||||
import netsvc
|
import netsvc
|
||||||
|
@ -35,10 +36,8 @@ import osv
|
||||||
import pooler
|
import pooler
|
||||||
import release
|
import release
|
||||||
import report
|
import report
|
||||||
import run_tests
|
|
||||||
import service
|
import service
|
||||||
import sql_db
|
import sql_db
|
||||||
import test
|
|
||||||
import tools
|
import tools
|
||||||
import workflow
|
import workflow
|
||||||
# backward compatilbility
|
# backward compatilbility
|
||||||
|
|
|
@ -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-01-19 05:12+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:12+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:12+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:12+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\n"
|
||||||
"X-Poedit-Language: Czech\n"
|
"X-Poedit-Language: Czech\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-01-19 05:14+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -8397,7 +8397,6 @@ msgid ""
|
||||||
" </p>\n"
|
" </p>\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Copy text \t\n"
|
|
||||||
"<p class=\"oe_view_nocontent_create\">\n"
|
"<p class=\"oe_view_nocontent_create\">\n"
|
||||||
" Klicken Sie hier, um einen Kontakt zu Ihrem Adressbuch "
|
" Klicken Sie hier, um einen Kontakt zu Ihrem Adressbuch "
|
||||||
"hinzzufügen.\n"
|
"hinzzufügen.\n"
|
||||||
|
@ -9693,6 +9692,18 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Diese Anwendung zeigt die grundlegenden Prozesse, an denen die ausgewählten "
|
||||||
|
"Anwendungen und in der Reihenfolge ihres Auftreten sie beteiligt sind.\n"
|
||||||
|
"============================================================================="
|
||||||
|
"=========================\n"
|
||||||
|
"\n"
|
||||||
|
"**Hinweis:** Dies gilt für die Anwendungen, die den Anwendungsnamen "
|
||||||
|
"_process.xml. beinhalten.\n"
|
||||||
|
"\n"
|
||||||
|
"** z. B.** product/process/product_process.xml.\n"
|
||||||
|
"\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -10922,6 +10933,14 @@ msgid ""
|
||||||
"pads (by default, http://ietherpad.com/).\n"
|
"pads (by default, http://ietherpad.com/).\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Fügt erweiterte Unterstützung für (Ether)Pad Anlagen in den Web-Client.\n"
|
||||||
|
"===================================================================\n"
|
||||||
|
"\n"
|
||||||
|
"Ermöglicht dem Unternehmen festzulegen, welche Pad-Installation verwendet "
|
||||||
|
"werden soll, um zu\n"
|
||||||
|
"neuen Pads zu verlinken(standardmäßig, http://ietherpad.com/).\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.lang:0
|
#: sql_constraint:res.lang:0
|
||||||
|
@ -12489,6 +12508,45 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
"**PASSWORD:** ${object.moodle_user_password}\n"
|
"**PASSWORD:** ${object.moodle_user_password}\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Konfigurieren Sie Ihren Moodle-Server\n"
|
||||||
|
"=============================== \n"
|
||||||
|
"\n"
|
||||||
|
"Mit dieser Anwendung können Sie Ihr OpenERP mit einer Moodle-Plattform "
|
||||||
|
"verbinden.\n"
|
||||||
|
"Diese Anwendung erstellt Kurse und Schüler automatisch in Ihrer Moodle-"
|
||||||
|
"Plattform,\n"
|
||||||
|
"um Zeitverschwendung zu vermeiden.\n"
|
||||||
|
"Nun haben sie eine einfache Möglichkeit, Schulungen oder Kurse mit OpenERP "
|
||||||
|
"und Moodle zu erstellen. \n"
|
||||||
|
"\n"
|
||||||
|
"SCHRITTE ZUM KONFIGURIEREN:\n"
|
||||||
|
"-----------------------------------------------------\n"
|
||||||
|
"\n"
|
||||||
|
"1. Aktivieren Sie den Web-Service in Moodle\n"
|
||||||
|
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
|
||||||
|
">site administration >plugins >web services >manage protocols activate the "
|
||||||
|
"xmlrpc web service \n"
|
||||||
|
">site administration >plugins >web services >manage tokens create a token \n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
">site administration >plugins >web services >overview activate webservice\n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
"2. Erstellen Sie eine Bestätigungsemail mit Login und Passwort\n"
|
||||||
|
"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n"
|
||||||
|
"Wir empfehlen Ihnen dringen, diese folgenden Zeilen am Ende Ihrer "
|
||||||
|
"Bestätigungsemail hinzuzufügen, um Ihren Abonnenten Login und Passwort von "
|
||||||
|
"Moodle mitzuteilen.\n"
|
||||||
|
"\n"
|
||||||
|
"\n"
|
||||||
|
"........Ihr voreingestellter Text.......\n"
|
||||||
|
"\n"
|
||||||
|
"**URL:** Ihr Link zu Moodle zum Beispiel: http://openerp.moodle.com\n"
|
||||||
|
"\n"
|
||||||
|
"**LOGIN:** ${object.moodle_username}\n"
|
||||||
|
"\n"
|
||||||
|
"**PASSWORD:** ${object.moodle_user_password}\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_uk
|
#: model:ir.module.module,shortdesc:base.module_l10n_uk
|
||||||
|
@ -12800,6 +12858,21 @@ msgid ""
|
||||||
" * Repair quotation report\n"
|
" * Repair quotation report\n"
|
||||||
" * Notes for the technician and for the final customer\n"
|
" * Notes for the technician and for the final customer\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Ziel ist es, eine komplette Anwendung zu haben, die alle Reparaturen von "
|
||||||
|
"Produkten verwaltet.\n"
|
||||||
|
"============================================================================="
|
||||||
|
"=\n"
|
||||||
|
"\n"
|
||||||
|
"Die folgenden Themen werden in dieser Anwendung abgedeckt:\n"
|
||||||
|
"-----------------------------------------------------------------------------"
|
||||||
|
"-----------------------------\n"
|
||||||
|
" * Hinzufügen / Löschen von Produkten in der Reparatur\n"
|
||||||
|
" * Auswirkungen auf Bestände\n"
|
||||||
|
" * Fakturierung (Produkte und / oder Dienstleistungen)\n"
|
||||||
|
" * Garantie-Konzept\n"
|
||||||
|
" * Reparatur Angebotsbericht\n"
|
||||||
|
" * Hinweise für den Techniker und für den Endkunden\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.cd
|
#: model:res.country,name:base.cd
|
||||||
|
@ -13132,6 +13205,17 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Management der Finanz- und Rechnungswesen der Vermögenswerte\n"
|
||||||
|
"========================================================\n"
|
||||||
|
"\n"
|
||||||
|
"Diese Anwendung verwaltet die Vermögenswerte von einem Unternehemen oder "
|
||||||
|
"einer Person. Sie behält\n"
|
||||||
|
"immer eine Übersicht über die Abschreibungen dieser Vermögenswerte. "
|
||||||
|
"Weiterhin ermöglicht es die\n"
|
||||||
|
"Bewegungen der Abschreibungslinien zu erstellen.\n"
|
||||||
|
"\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.cron,numbercall:0
|
#: field:ir.cron,numbercall:0
|
||||||
|
@ -14273,6 +14357,22 @@ msgid ""
|
||||||
"modules.\n"
|
"modules.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Diese Anwendung fügt eine Verknüpfung zu ein oder mehreren möglichen Fällen "
|
||||||
|
"im CRM hinzu. \n"
|
||||||
|
"===========================================================================\n"
|
||||||
|
"\n"
|
||||||
|
"Diese Verknüpfung ermöglicht es Ihnen, einen Kundenauftrag, basierend auf "
|
||||||
|
"dem ausgewählten Fall,\n"
|
||||||
|
"zu erstellen Wenn verschiedene Fälle geöffnet sind (eine Liste), wird ein "
|
||||||
|
"Verkaufsauftrag pro Fall\n"
|
||||||
|
"erstellt. Der Fall wird dann geschlossen und mit dem erzeugten Kundenauftrag "
|
||||||
|
"verbunden.\n"
|
||||||
|
"\n"
|
||||||
|
"Wir raten Ihnen diese Anwendung zu installieren, wenn Sie die beiden "
|
||||||
|
"Anwendungen Sale und CRM \n"
|
||||||
|
"installiert haben.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.bq
|
#: model:res.country,name:base.bq
|
||||||
|
|
|
@ -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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:19+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -7758,7 +7758,7 @@ msgstr "Acción"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.server:0
|
#: view:ir.actions.server:0
|
||||||
msgid "Email Configuration"
|
msgid "Email Configuration"
|
||||||
msgstr "Configuración Email"
|
msgstr "Configuración del correo electrónico"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_cron
|
#: model:ir.model,name:base.model_ir_cron
|
||||||
|
@ -16623,7 +16623,7 @@ msgstr "Se requiere acceso como administrador para desinstalar un módulo"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_base_module_configuration
|
#: model:ir.model,name:base.model_base_module_configuration
|
||||||
msgid "base.module.configuration"
|
msgid "base.module.configuration"
|
||||||
msgstr "base.modulo.configuracion"
|
msgstr "Configuración del módulo base"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_point_of_sale
|
#: model:ir.module.module,description:base.module_point_of_sale
|
||||||
|
|
|
@ -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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:52+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:52+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:22+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:53+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -578,7 +578,7 @@ msgstr "Guayana francesa"
|
||||||
#. 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 "Trabajos, Departamentos, Detalle de Empleados"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_analytic
|
#: model:ir.module.module,description:base.module_analytic
|
||||||
|
@ -656,7 +656,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Spanish (VE) / Español (VE)"
|
msgid "Spanish (VE) / Español (VE)"
|
||||||
msgstr "Spanish (es_EC) / Español (es_EC)"
|
msgstr "Spanish (es_VE) / Español (es_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
|
||||||
|
@ -729,7 +729,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:339
|
#: code:addons/base/ir/ir_model.py:339
|
||||||
|
@ -1220,7 +1220,7 @@ msgstr "Modelo de documento"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
msgid "Change the user password."
|
msgid "Change the user password."
|
||||||
msgstr ""
|
msgstr "Cambiar password de usuario"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -1849,7 +1849,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_portal_project_issue
|
#: model:ir.module.module,shortdesc:base.module_portal_project_issue
|
||||||
msgid "Portal Issue"
|
msgid "Portal Issue"
|
||||||
msgstr ""
|
msgstr "Tarea de Portal"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_tools
|
#: model:ir.ui.menu,name:base.menu_tools
|
||||||
|
@ -1873,7 +1873,7 @@ 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 "Tamaño pequeño de imagen"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_stock
|
#: model:ir.module.module,shortdesc:base.module_stock
|
||||||
|
@ -1975,7 +1975,7 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_fields.py:164
|
#: code:addons/base/ir/ir_fields.py:164
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Unknown value '%s' for boolean field '%%(field)s', assuming '%s'"
|
msgid "Unknown value '%s' for boolean field '%%(field)s', assuming '%s'"
|
||||||
msgstr ""
|
msgstr "Valor desconocido '%s' para campo lógico '%%(field)s', sumiendo '%s'"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.nl
|
#: model:res.country,name:base.nl
|
||||||
|
@ -1985,12 +1985,12 @@ msgstr "Países Bajos-Holanda"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_portal_event
|
#: model:ir.module.module,shortdesc:base.module_portal_event
|
||||||
msgid "Portal Event"
|
msgid "Portal Event"
|
||||||
msgstr ""
|
msgstr "Evento de Portal"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.translation,state:0
|
#: selection:ir.translation,state:0
|
||||||
msgid "Translation in Progress"
|
msgid "Translation in Progress"
|
||||||
msgstr ""
|
msgstr "Traducción en Progreso"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_rule
|
#: model:ir.model,name:base.model_ir_rule
|
||||||
|
@ -2005,7 +2005,7 @@ msgstr "Días"
|
||||||
#. 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 "Vehículo, arrendamiento, seguros, costos"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model.access:0
|
#: view:ir.model.access:0
|
||||||
|
@ -2016,7 +2016,7 @@ msgstr "Acceso de lectura"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.attachment,res_id:0
|
#: help:ir.attachment,res_id:0
|
||||||
msgid "The record id this is attached to"
|
msgid "The record id this is attached to"
|
||||||
msgstr ""
|
msgstr "El id de registro está adjunto a"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_share
|
#: model:ir.module.module,description:base.module_share
|
||||||
|
@ -2097,7 +2097,7 @@ msgstr "Crear Tareas en SO"
|
||||||
#: code:addons/base/ir/ir_model.py:318
|
#: code:addons/base/ir/ir_model.py:318
|
||||||
#, 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 "Esta columna contiene datos del módulo y no puede ser eliminado !"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner.bank,footer:0
|
#: field:res.partner.bank,footer:0
|
||||||
|
@ -2235,7 +2235,7 @@ msgstr "Ruta de acceso completa"
|
||||||
#. 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 "El siguiente paso, depende el formato de archivo:"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -2251,7 +2251,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid "PO(T) format: you should edit it with a PO editor such as"
|
msgid "PO(T) format: you should edit it with a PO editor such as"
|
||||||
msgstr ""
|
msgstr "PO(T) formato: Debes editarlo con un Editor de archivos PO."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_administration
|
#: model:ir.ui.menu,name:base.menu_administration
|
||||||
|
@ -2275,7 +2275,7 @@ msgstr "Crear / Escribir / Copiar"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
msgid "Second: %(sec)s"
|
msgid "Second: %(sec)s"
|
||||||
msgstr ""
|
msgstr "Segundo: %(sec)s"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,view_mode:0
|
#: field:ir.actions.act_window,view_mode:0
|
||||||
|
@ -2340,12 +2340,12 @@ msgstr "Bahamas"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.rule,perm_create:0
|
#: field:ir.rule,perm_create:0
|
||||||
msgid "Apply for Create"
|
msgid "Apply for Create"
|
||||||
msgstr ""
|
msgstr "Aplicar para Creación"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_tools
|
#: model:ir.module.category,name:base.module_category_tools
|
||||||
msgid "Extra Tools"
|
msgid "Extra Tools"
|
||||||
msgstr ""
|
msgstr "Herramientas Extras"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.attachment:0
|
#: view:ir.attachment:0
|
||||||
|
@ -2363,6 +2363,8 @@ msgid ""
|
||||||
"Appears by default on the top right corner of your printed documents (report "
|
"Appears by default on the top right corner of your printed documents (report "
|
||||||
"header)."
|
"header)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Aparece por defecto en la esquina superior derecha de sus documentos "
|
||||||
|
"impresos (cabecera de reporte)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:base.module.update,update:0
|
#: field:base.module.update,update:0
|
||||||
|
@ -2377,7 +2379,7 @@ msgstr "Método"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_auth_crypt
|
#: model:ir.module.module,shortdesc:base.module_auth_crypt
|
||||||
msgid "Password Encryption"
|
msgid "Password Encryption"
|
||||||
msgstr ""
|
msgstr "Encriptación de Contraseña"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.activity:0
|
#: view:workflow.activity:0
|
||||||
|
@ -2417,11 +2419,13 @@ msgstr ""
|
||||||
msgid ""
|
msgid ""
|
||||||
"No matching record found for %(field_type)s '%(value)s' in field '%%(field)s'"
|
"No matching record found for %(field_type)s '%(value)s' in field '%%(field)s'"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"No se encuentra un registro para %(field_type)s '%(value)s' en campo "
|
||||||
|
"'%%(field)s'"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:change.password.user,new_passwd:0
|
#: field:change.password.user,new_passwd:0
|
||||||
msgid "New Password"
|
msgid "New Password"
|
||||||
msgstr ""
|
msgstr "Nueva Contraseña"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,help:base.action_ui_view
|
#: model:ir.actions.act_window,help:base.action_ui_view
|
||||||
|
@ -2695,7 +2699,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_auth_oauth_signup
|
#: model:ir.module.module,shortdesc:base.module_auth_oauth_signup
|
||||||
msgid "Signup with OAuth2 Authentication"
|
msgid "Signup with OAuth2 Authentication"
|
||||||
msgstr ""
|
msgstr "Ingreos con OAuth2"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.model,state:0
|
#: selection:ir.model,state:0
|
||||||
|
@ -2722,7 +2726,7 @@ msgstr "Greek / Ελληνικά"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.company,custom_footer:0
|
#: field:res.company,custom_footer:0
|
||||||
msgid "Custom Footer"
|
msgid "Custom Footer"
|
||||||
msgstr ""
|
msgstr "Pie de página personalizado"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale_crm
|
#: model:ir.module.module,shortdesc:base.module_sale_crm
|
||||||
|
@ -2790,7 +2794,7 @@ msgstr "Nombre de acceso rápido"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,contact_address:0
|
#: field:res.partner,contact_address:0
|
||||||
msgid "Complete Address"
|
msgid "Complete Address"
|
||||||
msgstr ""
|
msgstr "Dirección Completa"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.act_window,limit:0
|
#: help:ir.actions.act_window,limit:0
|
||||||
|
@ -2873,7 +2877,7 @@ msgstr "Id de registro"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.filters:0
|
#: view:ir.filters:0
|
||||||
msgid "My Filters"
|
msgid "My Filters"
|
||||||
msgstr ""
|
msgstr "Mis filtros"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.server,email:0
|
#: field:ir.actions.server,email:0
|
||||||
|
@ -2893,6 +2897,7 @@ msgstr ""
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Found multiple matches for field '%%(field)s' (%d matches)"
|
msgid "Found multiple matches for field '%%(field)s' (%d matches)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Se encontró multiples resultados para el campo '%%(field)s' (%d ocurrencias)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -2926,7 +2931,7 @@ msgstr "Argumentos enviados al cliente junto con el tag view"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_contacts
|
#: model:ir.module.module,summary:base.module_contacts
|
||||||
msgid "Contacts, People and Companies"
|
msgid "Contacts, People and Companies"
|
||||||
msgstr ""
|
msgstr "Contactos personas y Empresas"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.tt
|
#: model:res.country,name:base.tt
|
||||||
|
@ -2972,7 +2977,7 @@ msgstr "Gerente"
|
||||||
#: code:addons/base/ir/ir_model.py:719
|
#: code:addons/base/ir/ir_model.py:719
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Sorry, you are not allowed to access this document."
|
msgid "Sorry, you are not allowed to access this document."
|
||||||
msgstr ""
|
msgstr "Perdón, no estas permitido para acceder a este documento."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.py
|
#: model:res.country,name:base.py
|
||||||
|
@ -2987,7 +2992,7 @@ msgstr "Fiji"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.report.xml:0
|
#: view:ir.actions.report.xml:0
|
||||||
msgid "Report Xml"
|
msgid "Report Xml"
|
||||||
msgstr ""
|
msgstr "Reporte Xml"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_purchase
|
#: model:ir.module.module,description:base.module_purchase
|
||||||
|
@ -3058,7 +3063,7 @@ msgstr "Heredado"
|
||||||
#: code:addons/base/ir/ir_fields.py:146
|
#: code:addons/base/ir/ir_fields.py:146
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr ""
|
msgstr "si"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.fields,serialization_field_id:0
|
#: field:ir.model.fields,serialization_field_id:0
|
||||||
|
@ -3088,7 +3093,7 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_fields.py:174
|
#: code:addons/base/ir/ir_fields.py:174
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "'%s' does not seem to be an integer for field '%%(field)s'"
|
msgid "'%s' does not seem to be an integer for field '%%(field)s'"
|
||||||
msgstr ""
|
msgstr "'%s' no parece ser un entero para el campo '%%(field)s'"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_report_designer
|
#: model:ir.module.category,description:base.module_category_report_designer
|
||||||
|
@ -3198,6 +3203,8 @@ msgid ""
|
||||||
"the user will have an access to the sales configuration as well as statistic "
|
"the user will have an access to the sales configuration as well as statistic "
|
||||||
"reports."
|
"reports."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"el usuario tendra acceso a la configuración de ventas así como a las "
|
||||||
|
"estadísticas."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.nz
|
#: model:res.country,name:base.nz
|
||||||
|
@ -3327,7 +3334,7 @@ msgstr "Tipo de reporte desconocido: %s"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_hr_expense
|
#: model:ir.module.module,summary:base.module_hr_expense
|
||||||
msgid "Expenses Validation, Invoicing"
|
msgid "Expenses Validation, Invoicing"
|
||||||
msgstr ""
|
msgstr "Validación de gastos, Facturación"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_be_hr_payroll_account
|
#: model:ir.module.module,description:base.module_l10n_be_hr_payroll_account
|
||||||
|
@ -3346,7 +3353,7 @@ msgstr "Armenia"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_hr_evaluation
|
#: model:ir.module.module,summary:base.module_hr_evaluation
|
||||||
msgid "Periodical Evaluations, Appraisals, Surveys"
|
msgid "Periodical Evaluations, Appraisals, Surveys"
|
||||||
msgstr ""
|
msgstr "Evaluaciones periódicas, valoraciones, encuentas"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.ir_property_form
|
#: model:ir.actions.act_window,name:base.ir_property_form
|
||||||
|
@ -3367,7 +3374,7 @@ msgstr "Suecia"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_file:0
|
#: field:ir.actions.report.xml,report_file:0
|
||||||
msgid "Report File"
|
msgid "Report File"
|
||||||
msgstr ""
|
msgstr "Archivo de reporte"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.act_window.view,view_mode:0
|
#: selection:ir.actions.act_window.view,view_mode:0
|
||||||
|
@ -3400,7 +3407,7 @@ msgstr ""
|
||||||
#: code:addons/orm.py:3870
|
#: code:addons/orm.py:3870
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Missing document(s)"
|
msgid "Missing document(s)"
|
||||||
msgstr ""
|
msgstr "Documento faltante"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_partner_bank_type
|
#: model:ir.model,name:base.model_res_partner_bank_type
|
||||||
|
@ -3465,7 +3472,7 @@ msgstr "Calendario"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_knowledge_management
|
#: model:ir.module.category,name:base.module_category_knowledge_management
|
||||||
msgid "Knowledge"
|
msgid "Knowledge"
|
||||||
msgstr ""
|
msgstr "Gestión de Conocimiento"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:workflow.activity,signal_send:0
|
#: field:workflow.activity,signal_send:0
|
||||||
|
@ -3608,7 +3615,7 @@ msgstr "workflow.actividad"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid "Export Complete"
|
msgid "Export Complete"
|
||||||
msgstr ""
|
msgstr "Exportación completa"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.ui.view_sc,res_id:0
|
#: help:ir.ui.view_sc,res_id:0
|
||||||
|
@ -3637,7 +3644,7 @@ msgstr "Finlandes"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.config_parameter:0
|
#: view:ir.config_parameter:0
|
||||||
msgid "System Properties"
|
msgid "System Properties"
|
||||||
msgstr ""
|
msgstr "Propiedades del sistema"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.sequence,prefix:0
|
#: field:ir.sequence,prefix:0
|
||||||
|
@ -3681,12 +3688,12 @@ msgstr "Seleccione el Paquete del Módulo de Importación (Archivo zip.):"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.filters:0
|
#: view:ir.filters:0
|
||||||
msgid "Personal"
|
msgid "Personal"
|
||||||
msgstr ""
|
msgstr "Personal"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:base.language.export,modules:0
|
#: field:base.language.export,modules:0
|
||||||
msgid "Modules To Export"
|
msgid "Modules To Export"
|
||||||
msgstr ""
|
msgstr "Módulos a exportar"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.mt
|
#: model:res.country,name:base.mt
|
||||||
|
@ -3699,6 +3706,8 @@ msgstr "Malta"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Only users with the following access level are currently allowed to do that"
|
"Only users with the following access level are currently allowed to do that"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Sólo los usuarios con los siguientes niveles de acceso están permitidos a "
|
||||||
|
"hacer eso"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.server,fields_lines:0
|
#: field:ir.actions.server,fields_lines:0
|
||||||
|
@ -3789,7 +3798,7 @@ msgstr "Antártida"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
msgid "Persons"
|
msgid "Persons"
|
||||||
msgstr ""
|
msgstr "Personas"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.import:0
|
#: view:base.language.import:0
|
||||||
|
@ -3849,7 +3858,7 @@ msgstr "Interacción entre reglas"
|
||||||
#: field:res.company,rml_footer:0
|
#: field:res.company,rml_footer:0
|
||||||
#: field:res.company,rml_footer_readonly:0
|
#: field:res.company,rml_footer_readonly:0
|
||||||
msgid "Report Footer"
|
msgid "Report Footer"
|
||||||
msgstr ""
|
msgstr "Píe de Página de Reporte"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:res.lang,direction:0
|
#: selection:res.lang,direction:0
|
||||||
|
@ -3950,7 +3959,7 @@ msgstr "Togo"
|
||||||
#: field:ir.actions.act_window,res_model:0
|
#: field:ir.actions.act_window,res_model:0
|
||||||
#: field:ir.actions.client,res_model:0
|
#: field:ir.actions.client,res_model:0
|
||||||
msgid "Destination Model"
|
msgid "Destination Model"
|
||||||
msgstr ""
|
msgstr "Modelo destino"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.sequence,implementation:0
|
#: selection:ir.sequence,implementation:0
|
||||||
|
@ -3974,7 +3983,7 @@ msgstr "Tayiko / اردو"
|
||||||
#: code:addons/orm.py:3901
|
#: code:addons/orm.py:3901
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Access Denied"
|
msgid "Access Denied"
|
||||||
msgstr ""
|
msgstr "Acceso Denegado"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.company,name:0
|
#: field:res.company,name:0
|
||||||
|
@ -4084,7 +4093,7 @@ msgstr "%x - Representación apropiada de fecha."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
msgid "Tag"
|
msgid "Tag"
|
||||||
msgstr ""
|
msgstr "Tag"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -4135,7 +4144,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 "Reg"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_property
|
#: model:ir.model,name:base.model_ir_property
|
||||||
|
@ -4299,7 +4308,7 @@ msgstr "S.L."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.server,name:base.action_run_ir_action_todo
|
#: model:ir.actions.server,name:base.action_run_ir_action_todo
|
||||||
msgid "Run Remaining Action Todo"
|
msgid "Run Remaining Action Todo"
|
||||||
msgstr ""
|
msgstr "Correr acciones pendientes"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,ean13:0
|
#: field:res.partner,ean13:0
|
||||||
|
@ -4396,7 +4405,7 @@ msgstr "Plan de Cuentas"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_event_main
|
#: model:ir.ui.menu,name:base.menu_event_main
|
||||||
msgid "Events Organization"
|
msgid "Events Organization"
|
||||||
msgstr ""
|
msgstr "Organización de Eventos"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.action_partner_customer_form
|
#: model:ir.actions.act_window,name:base.action_partner_customer_form
|
||||||
|
@ -4424,7 +4433,7 @@ msgstr "Campo base"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_managing_vehicles_and_contracts
|
#: model:ir.module.category,name:base.module_category_managing_vehicles_and_contracts
|
||||||
msgid "Managing vehicles and contracts"
|
msgid "Managing vehicles and contracts"
|
||||||
msgstr ""
|
msgstr "Gestión de Vehículos y contratos"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_base_setup
|
#: model:ir.module.module,description:base.module_base_setup
|
||||||
|
@ -4540,12 +4549,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,summary:base.module_sale
|
#: model:ir.module.module,summary:base.module_sale
|
||||||
msgid "Quotations, Sales Orders, Invoicing"
|
msgid "Quotations, Sales Orders, Invoicing"
|
||||||
msgstr ""
|
msgstr "Cotizaciones, Ordenes de Venta, Facturación"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,parent_id:0
|
#: field:res.partner,parent_id:0
|
||||||
msgid "Related Company"
|
msgid "Related Company"
|
||||||
msgstr ""
|
msgstr "Compañía Relacionada"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.act_url,help:0
|
#: help:ir.actions.act_url,help:0
|
||||||
|
@ -4591,7 +4600,7 @@ msgstr "'código' debe ser único"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_knowledge
|
#: model:ir.module.module,shortdesc:base.module_knowledge
|
||||||
msgid "Knowledge Management System"
|
msgid "Knowledge Management System"
|
||||||
msgstr ""
|
msgstr "Gestión del Conocimiento"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.activity:0
|
#: view:workflow.activity:0
|
||||||
|
@ -4687,12 +4696,12 @@ msgstr "Hindi / हिंदी"
|
||||||
#: model:ir.actions.act_window,name:base.action_view_base_language_install
|
#: model:ir.actions.act_window,name:base.action_view_base_language_install
|
||||||
#: model:ir.ui.menu,name:base.menu_view_base_language_install
|
#: model:ir.ui.menu,name:base.menu_view_base_language_install
|
||||||
msgid "Load a Translation"
|
msgid "Load a Translation"
|
||||||
msgstr ""
|
msgstr "Cargar Traducción"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.module,latest_version:0
|
#: field:ir.module.module,latest_version:0
|
||||||
msgid "Installed Version"
|
msgid "Installed Version"
|
||||||
msgstr ""
|
msgstr "Versión Instalada"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_test
|
#: model:ir.module.module,description:base.module_account_test
|
||||||
|
@ -4806,7 +4815,7 @@ msgstr "Vista"
|
||||||
#: code:addons/base/ir/ir_fields.py:146
|
#: code:addons/base/ir/ir_fields.py:146
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "no"
|
msgid "no"
|
||||||
msgstr ""
|
msgstr "no"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_crm_partner_assign
|
#: model:ir.module.module,description:base.module_crm_partner_assign
|
||||||
|
@ -4840,7 +4849,7 @@ msgstr "Guinea ecuatorial"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_api
|
#: model:ir.module.module,shortdesc:base.module_web_api
|
||||||
msgid "OpenERP Web API"
|
msgid "OpenERP Web API"
|
||||||
msgstr ""
|
msgstr "Web API OpenERP"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_fr_rib
|
#: model:ir.module.module,description:base.module_l10n_fr_rib
|
||||||
|
@ -5047,7 +5056,7 @@ msgstr "Flujos"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.next_id_73
|
#: model:ir.ui.menu,name:base.next_id_73
|
||||||
msgid "Purchase"
|
msgid "Purchase"
|
||||||
msgstr ""
|
msgstr "Compra"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -5062,12 +5071,12 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid "This file was generated using the universal"
|
msgid "This file was generated using the universal"
|
||||||
msgstr ""
|
msgstr "Este archivo fue generado usando el universal"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.category,name:base.res_partner_category_7
|
#: model:res.partner.category,name:base.res_partner_category_7
|
||||||
msgid "IT Services"
|
msgid "IT Services"
|
||||||
msgstr ""
|
msgstr "Servicios de TI"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_specific_industry_applications
|
#: model:ir.module.category,name:base.module_category_specific_industry_applications
|
||||||
|
@ -5077,7 +5086,7 @@ msgstr "Aplicaciones para Industrias Específicas"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_google_docs
|
#: model:ir.module.module,shortdesc:base.module_google_docs
|
||||||
msgid "Google Docs integration"
|
msgid "Google Docs integration"
|
||||||
msgstr ""
|
msgstr "Integración con Google Docs"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.attachment,res_model:0
|
#: help:ir.attachment,res_model:0
|
||||||
|
@ -5088,7 +5097,7 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_fields.py:327
|
#: code:addons/base/ir/ir_fields.py:327
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "name"
|
msgid "name"
|
||||||
msgstr ""
|
msgstr "nombre"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_mrp_operations
|
#: model:ir.module.module,description:base.module_mrp_operations
|
||||||
|
@ -5134,7 +5143,7 @@ msgstr "Saltar"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_event_sale
|
#: model:ir.module.module,shortdesc:base.module_event_sale
|
||||||
msgid "Events Sales"
|
msgid "Events Sales"
|
||||||
msgstr ""
|
msgstr "Eventos de Ventas"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.ls
|
#: model:res.country,name:base.ls
|
||||||
|
@ -5144,7 +5153,7 @@ msgstr "Lesotho"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid ", or your preferred text editor"
|
msgid ", or your preferred text editor"
|
||||||
msgstr ""
|
msgstr ", o tu editor de texto preferido"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
||||||
|
@ -5186,7 +5195,7 @@ msgstr "Genérico"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_document_ftp
|
#: model:ir.module.module,shortdesc:base.module_document_ftp
|
||||||
msgid "Shared Repositories (FTP)"
|
msgid "Shared Repositories (FTP)"
|
||||||
msgstr ""
|
msgstr "Appraisals, Surveys\""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sm
|
#: model:res.country,name:base.sm
|
||||||
|
@ -5211,12 +5220,12 @@ msgstr "Establecer a NULL"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr ""
|
msgstr "Appraisals, Surveys\""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_xml:0
|
#: field:ir.actions.report.xml,report_xml:0
|
||||||
msgid "XML Path"
|
msgid "XML Path"
|
||||||
msgstr ""
|
msgstr "Path XML"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.bj
|
#: model:res.country,name:base.bj
|
||||||
|
@ -5404,7 +5413,7 @@ msgstr "Tasas"
|
||||||
#. 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 "Plantillas de Correo"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sy
|
#: model:res.country,name:base.sy
|
||||||
|
|
|
@ -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-01-19 05:22+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:52+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -673,7 +673,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_mx
|
#: model:ir.module.module,shortdesc:base.module_l10n_mx
|
||||||
msgid "Mexico - Accounting"
|
msgid "Mexico - Accounting"
|
||||||
msgstr ""
|
msgstr "México - Contabilidad"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.server,action_id:0
|
#: help:ir.actions.server,action_id:0
|
||||||
|
@ -8634,7 +8634,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.mx
|
#: model:res.country,name:base.mx
|
||||||
msgid "Mexico"
|
msgid "Mexico"
|
||||||
msgstr ""
|
msgstr "México"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/orm.py:3902
|
#: code:addons/orm.py:3902
|
||||||
|
|
|
@ -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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:14+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:44+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:22+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:53+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:14+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:14+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:15+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -2774,15 +2774,15 @@ msgstr ""
|
||||||
"szolgáltatás (belépés/Kilépés) és munka kódolás (időkimutatás) szervezését. "
|
"szolgáltatás (belépés/Kilépés) és munka kódolás (időkimutatás) szervezését. "
|
||||||
"Időkimutatás bevitelét minden nap a munkások biztosítják. Egy meghatározott "
|
"Időkimutatás bevitelét minden nap a munkások biztosítják. Egy meghatározott "
|
||||||
"periódus végén, a munkavállalók érvényesítik az időkimutatásukat és a "
|
"periódus végén, a munkavállalók érvényesítik az időkimutatásukat és a "
|
||||||
"vezetőjüknek kell nyugtáznia a csoport beírásait. A periódusok a vállalkozás "
|
"vezetőjüknek kell jóváhagynia a csoport beírásait. A periódusok a "
|
||||||
"osztályaihoz lesznek meghatározva és beállíthatóak havi vagy heti "
|
"vállalkozás osztályaihoz lesznek meghatározva és beállíthatóak havi vagy "
|
||||||
"futtatásra.\n"
|
"heti futtatásra.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"A teljes időkimutatás érvényesítési folyamat a következő:\n"
|
"A teljes időkimutatás érvényesítési folyamat a következő:\n"
|
||||||
"---------------------------------------------\n"
|
"---------------------------------------------\n"
|
||||||
"* Terve lap\n"
|
"* Terve lap\n"
|
||||||
"* Munkavállalók érvényesítései a periódus végén\n"
|
"* Munkavállalók érvényesítései a periódus végén\n"
|
||||||
"* A projekt vezető nyugtázása\n"
|
"* A projekt vezető jóváhagyása\n"
|
||||||
"\n"
|
"\n"
|
||||||
"A nyugtázást a vállalatnál be lehet állítani:\n"
|
"A nyugtázást a vállalatnál be lehet állítani:\n"
|
||||||
"------------------------------------------------\n"
|
"------------------------------------------------\n"
|
||||||
|
@ -4107,18 +4107,18 @@ msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"Ez az alkalmazás lehetővé teszi a munkavállalók napi kiadásainak kezelését. "
|
"Ez az alkalmazás lehetővé teszi a munkavállalók napi kiadásainak kezelését. "
|
||||||
"Hozzáférést biztosít a munkavállalók kiadás jegyzékéhez valamint joga van "
|
"Hozzáférést biztosít a munkavállalók kiadás jegyzékéhez valamint joga van "
|
||||||
"kiegészíteni és érvényesíteni illetve elutasítani azokat. Érvényesítés után "
|
"kiegészíteni és jóváhagyni illetve elutasítani azokat. Érvényesítés után "
|
||||||
"számlát állít ki a munkavállaló részére.\n"
|
"számlát állít ki a munkavállaló részére.\n"
|
||||||
"A munkavállalók beiktathatják a kiadásaikat amit az érvényesítés után a "
|
"A munkavállalók beiktathatják a kiadásaikat amit a jóváhagyás után a "
|
||||||
"könyveléshez iktathat az érvényesítésre jogosultak.\n"
|
"könyveléshez iktathat a jóváhagyásra jogosultak.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\n"
|
"\n"
|
||||||
"A következő iktatási folyamat van beépítve:\n"
|
"A következő iktatási folyamat van beépítve:\n"
|
||||||
"---------------------------------\n"
|
"---------------------------------\n"
|
||||||
"* Tervezett kiadás\n"
|
"* Tervezett kiadás\n"
|
||||||
"* A munkavállalók által jóváhagyott jegyzetek\n"
|
"* A munkavállalók által jóváhagyott jegyzetek\n"
|
||||||
"* Az osztályvezető általi érvényesítés\n"
|
"* Az osztályvezető általi jóváhagyás\n"
|
||||||
"* A könyvelő általi érvényesítés és nyugta kiadás\n"
|
"* A könyvelő általi jóváhagyás és nyugta kiadás\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Ez a modul az könyvelés elemzőt is használja és kompatibilis a számlázó és "
|
"Ez a modul az könyvelés elemzőt is használja és kompatibilis a számlázó és "
|
||||||
"az időkimutatás modullal, így automatikus ügyfél kiadás újra-számlázást is "
|
"az időkimutatás modullal, így automatikus ügyfél kiadás újra-számlázást is "
|
||||||
|
@ -7584,7 +7584,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ha a műveleti átmenet a kliens űrlapon található gomb megnyomásával "
|
"Ha a műveleti átmenet a kliens űrlapon található gomb megnyomásával "
|
||||||
"történik, a jelző ellenőrzi a megnyomott gomb nevét. Ha a jel NULLA, nem "
|
"történik, a jelző ellenőrzi a megnyomott gomb nevét. Ha a jel NULLA, nem "
|
||||||
"szükséges gomb az átmenet érvényesítéséhez."
|
"szükséges gomb az átmenet jóváhagyásához."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.ui.view.custom,ref_id:0
|
#: field:ir.ui.view.custom,ref_id:0
|
||||||
|
@ -10067,7 +10067,7 @@ msgstr ""
|
||||||
"Ha a számlának ez a sora érvényesítve lesz, ez generálni fog 3 elemző sort, "
|
"Ha a számlának ez a sora érvényesítve lesz, ez generálni fog 3 elemző sort, "
|
||||||
"egy könyvelési bejegyzéshez.\n"
|
"egy könyvelési bejegyzéshez.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Az elemzési terv érvényesíti a minimum és maximum százalékot a megoszlási "
|
"Az elemzési terv jóváhagyja a minimum és maximum százalékot a megoszlási "
|
||||||
"modell létrehozásakor.\n"
|
"modell létrehozásakor.\n"
|
||||||
" "
|
" "
|
||||||
|
|
||||||
|
@ -13383,7 +13383,7 @@ msgstr "Probléma a 'Rekord Azonosító' beállításánál a Szerver müveletbe
|
||||||
#: code:addons/orm.py:2816
|
#: code:addons/orm.py:2816
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "ValidateError"
|
msgid "ValidateError"
|
||||||
msgstr "ValidateError"
|
msgstr "Jóváhagyásihiba"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.module.import:0
|
#: view:base.module.import:0
|
||||||
|
@ -13714,7 +13714,7 @@ msgstr "Normál"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_purchase_double_validation
|
#: model:ir.module.module,shortdesc:base.module_purchase_double_validation
|
||||||
msgid "Double Validation on Purchases"
|
msgid "Double Validation on Purchases"
|
||||||
msgstr "A vásárlásokra kétszeres érvényesítés"
|
msgstr "A vásárlásokra kétszeres jóváhagyás"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.bank,street2:0
|
#: field:res.bank,street2:0
|
||||||
|
@ -14414,11 +14414,11 @@ msgstr ""
|
||||||
"\n"
|
"\n"
|
||||||
"A jelentésnek van felelőse és különböző állapot színekből alakul ki:\n"
|
"A jelentésnek van felelőse és különböző állapot színekből alakul ki:\n"
|
||||||
"-----------------------------------------------------------------\n"
|
"-----------------------------------------------------------------\n"
|
||||||
" * terv, nyitott, megszakított, végrehajtott.\n"
|
" * terv, nyitott, visszavont, végrehajtott.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Kötegelt végrehajtások egy különálló jelentésen kezelhetők az összes eladás "
|
"Kötegelt végrehajtások egy különálló jelentésen kezelhetők az összes eladás "
|
||||||
"egyszeri\n"
|
"egyszeri\n"
|
||||||
"visszaigazolására, érvényesítésére vagy számla csomagra.\n"
|
"visszaigazolására, jóváhagyásra vagy számla csomagra.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Támogatja a kötegelt számlázási módot mely beállítható partnerekre és "
|
"Támogatja a kötegelt számlázási módot mely beállítható partnerekre és "
|
||||||
"megrendelésekre, például:\n"
|
"megrendelésekre, például:\n"
|
||||||
|
@ -16039,7 +16039,7 @@ msgstr ""
|
||||||
"=========================================================\n"
|
"=========================================================\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Ez a modul módosítja a vásárlás munkafolyamatot úgy, hogy a varázslóval "
|
"Ez a modul módosítja a vásárlás munkafolyamatot úgy, hogy a varázslóval "
|
||||||
"beállított minimum mennyiséget elért vásárlás után érvényesíteni kell a "
|
"beállított minimum mennyiséget elért vásárlás után jóvá kell hagyni a "
|
||||||
"vásárlást\n"
|
"vásárlást\n"
|
||||||
" "
|
" "
|
||||||
|
|
||||||
|
|
|
@ -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-01-19 05:13+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:46+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -8258,7 +8258,7 @@ msgstr "Numero successivo di questa sequenza"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
msgid "at"
|
msgid "at"
|
||||||
msgstr "alle"
|
msgstr "di"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule: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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:14+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:45+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:16+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -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 "이 연락처가 직원인 경우 체크하세요."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.model.fields,domain:0
|
#: help:ir.model.fields,domain:0
|
||||||
|
@ -165,7 +165,7 @@ msgstr "타겟 윈도우"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_rml:0
|
#: field:ir.actions.report.xml,report_rml:0
|
||||||
msgid "Main Report File Path"
|
msgid "Main Report File Path"
|
||||||
msgstr ""
|
msgstr "주 보고서 파일 경로"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
|
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
|
||||||
|
@ -234,7 +234,7 @@ msgstr "생성됨."
|
||||||
#. 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 경로"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||||
|
@ -260,7 +260,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 "다중 화폐"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_cl
|
#: model:ir.module.module,description:base.module_l10n_cl
|
||||||
|
@ -354,7 +354,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 "고객 관계 관리"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_delivery
|
#: model:ir.module.module,description:base.module_delivery
|
||||||
|
@ -386,7 +386,7 @@ msgstr "잘못된 group_by"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.category,child_ids:0
|
#: field:ir.module.category,child_ids:0
|
||||||
msgid "Child Applications"
|
msgid "Child Applications"
|
||||||
msgstr ""
|
msgstr "하위 어플리케이션"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner,credit_limit:0
|
#: field:res.partner,credit_limit:0
|
||||||
|
@ -470,7 +470,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Create Access Right"
|
msgid "Create Access Right"
|
||||||
msgstr ""
|
msgstr "접근 권한 생성"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.tv
|
#: model:res.country,name:base.tv
|
||||||
|
@ -490,7 +490,7 @@ msgstr "날짜 포맷"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_base_report_designer
|
#: model:ir.module.module,shortdesc:base.module_base_report_designer
|
||||||
msgid "OpenOffice Report Designer"
|
msgid "OpenOffice Report Designer"
|
||||||
msgstr ""
|
msgstr "오픈오피스 보고서 디자이너"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.an
|
#: model:res.country,name:base.an
|
||||||
|
@ -539,7 +539,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 "아이디어"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_event
|
#: model:ir.module.module,description:base.module_event
|
||||||
|
@ -600,7 +600,7 @@ msgstr "스페인어"
|
||||||
#. 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 "타임시트 상의 인보이스"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.module.upgrade:0
|
#: view:base.module.upgrade:0
|
||||||
|
@ -691,7 +691,7 @@ msgstr "키는 유일해야 한다."
|
||||||
#. 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 "아웃룩 플러그인"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account
|
#: model:ir.module.module,description:base.module_account
|
||||||
|
@ -829,12 +829,12 @@ 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 "보안 및 인증"
|
||||||
|
|
||||||
#. 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 "웹 캘린더"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -845,7 +845,7 @@ msgstr "스웨덴"
|
||||||
#: 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 "파일 이름"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.rs
|
#: model:res.country,name:base.rs
|
||||||
|
@ -925,12 +925,12 @@ msgstr "보고서 유형, 예: 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
|
||||||
msgid "Shared Repositories (WebDAV)"
|
msgid "Shared Repositories (WebDAV)"
|
||||||
msgstr ""
|
msgstr "공유 저장소(WebDAV)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.users:0
|
#: view:res.users:0
|
||||||
msgid "Email Preferences"
|
msgid "Email Preferences"
|
||||||
msgstr ""
|
msgstr "이메일 설정"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_fields.py:195
|
#: code:addons/base/ir/ir_fields.py:195
|
||||||
|
@ -1047,7 +1047,7 @@ 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 "구글 사용자"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_fleet
|
#: model:ir.module.module,shortdesc:base.module_fleet
|
||||||
|
@ -1077,7 +1077,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.mn
|
#: model:res.country,name:base.mn
|
||||||
msgid "Mongolia"
|
msgid "Mongolia"
|
||||||
msgstr ""
|
msgstr "몽고"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_crm
|
#: model:ir.module.module,description:base.module_crm
|
||||||
|
@ -1134,7 +1134,7 @@ 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 "사용자 암호 변경"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -1159,7 +1159,7 @@ msgstr "타입"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.mail_server,smtp_user:0
|
#: field:ir.mail_server,smtp_user:0
|
||||||
msgid "Username"
|
msgid "Username"
|
||||||
msgstr ""
|
msgstr "사용자명"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_br
|
#: model:ir.module.module,description:base.module_l10n_br
|
||||||
|
@ -1226,23 +1226,23 @@ msgstr "괌"
|
||||||
#. 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 "국가명은 유일해야 합니다!"
|
||||||
|
|
||||||
#. 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 "최신 버전"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Delete Access Right"
|
msgid "Delete Access Right"
|
||||||
msgstr ""
|
msgstr "접근 권한 삭제"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_mail_server.py:212
|
#: code:addons/base/ir/ir_mail_server.py:212
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Connection test failed!"
|
msgid "Connection test failed!"
|
||||||
msgstr ""
|
msgstr "연결 테스트에 실패했습니다!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.server,state:0
|
#: selection:ir.actions.server,state:0
|
||||||
|
@ -1299,12 +1299,12 @@ msgstr "Char"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.category,visible:0
|
#: field:ir.module.category,visible:0
|
||||||
msgid "Visible"
|
msgid "Visible"
|
||||||
msgstr ""
|
msgstr "보이기"
|
||||||
|
|
||||||
#. 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 "설정 메뉴 열기"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -1349,7 +1349,7 @@ 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 포트"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.users,login:0
|
#: help:res.users,login:0
|
||||||
|
@ -1364,6 +1364,8 @@ msgid ""
|
||||||
" for uploading to OpenERP's translation "
|
" for uploading to OpenERP's translation "
|
||||||
"platform,"
|
"platform,"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"TGZ 파일 형식: PO파일을 포함한 압축파일로,\n"
|
||||||
|
" OpenERP의 번역 플랫폼에 올리기 적합한 형식입니다."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -1379,12 +1381,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 "언어 팩"
|
||||||
|
|
||||||
#. 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 "테스트"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,attachment:0
|
#: field:ir.actions.report.xml,attachment:0
|
||||||
|
@ -1450,7 +1452,7 @@ 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 "부모 어플리케이션"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
#: model:ir.actions.act_window,name:base.ir_action_wizard
|
||||||
|
@ -1468,7 +1470,7 @@ msgstr "오퍼레이션 취소"
|
||||||
#. 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 "문서 관리 시스템"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||||
|
@ -1562,6 +1564,8 @@ msgid ""
|
||||||
"use the accounting application of OpenERP, journals and accounts will be "
|
"use the accounting application of OpenERP, journals and accounts will be "
|
||||||
"created automatically based on these data."
|
"created automatically based on these data."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"회사 은행계좌를 설정하고 바닥글에 표시할 계좌를 선택하십시오. 은행 계좌는 목록 보기에서 순서를 변경할 수 있습니다. 만약 "
|
||||||
|
"OpenERP의 회계 모듈을 사용하는 경우, 이 자료를 기본으로 분개장 및 계정항목이 자동으로 생성됩니다."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: report:ir.module.reference:0
|
#: report:ir.module.reference:0
|
||||||
|
@ -1609,7 +1613,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
|
||||||
|
@ -1619,12 +1623,12 @@ msgstr "%Y - 년도"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.company:0
|
#: view:res.company:0
|
||||||
msgid "Report Footer Configuration"
|
msgid "Report Footer Configuration"
|
||||||
msgstr ""
|
msgstr "보고서 바닥글 설정"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.translation,comments:0
|
#: field:ir.translation,comments:0
|
||||||
msgid "Translation comments"
|
msgid "Translation comments"
|
||||||
msgstr ""
|
msgstr "번역 주석"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_lunch
|
#: model:ir.module.module,description:base.module_lunch
|
||||||
|
@ -1744,7 +1748,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_tools
|
#: model:ir.ui.menu,name:base.menu_tools
|
||||||
msgid "Tools"
|
msgid "Tools"
|
||||||
msgstr ""
|
msgstr "도구"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
|
@ -1763,12 +1767,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 "작은 크기의 사진"
|
||||||
|
|
||||||
#. 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 "창고 관리"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_request_link
|
#: model:ir.model,name:base.model_res_request_link
|
||||||
|
@ -1808,7 +1812,7 @@ msgstr "동티모르"
|
||||||
#: view:ir.module.module:0
|
#: view:ir.module.module:0
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Install"
|
msgid "Install"
|
||||||
msgstr ""
|
msgstr "설치"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.currency,accuracy:0
|
#: field:res.currency,accuracy:0
|
||||||
|
@ -1867,7 +1871,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.nl
|
#: model:res.country,name:base.nl
|
||||||
msgid "Netherlands"
|
msgid "Netherlands"
|
||||||
msgstr ""
|
msgstr "네덜란드"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_portal_event
|
#: model:ir.module.module,shortdesc:base.module_portal_event
|
||||||
|
@ -1877,7 +1881,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 "번역 진행 중"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_ir_rule
|
#: model:ir.model,name:base.model_ir_rule
|
||||||
|
@ -1929,7 +1933,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_process
|
#: model:ir.module.module,shortdesc:base.module_process
|
||||||
msgid "Enterprise Process"
|
msgid "Enterprise Process"
|
||||||
msgstr ""
|
msgstr "엔터프라이즈 프로세스"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,supplier:0
|
#: help:res.partner,supplier:0
|
||||||
|
@ -1941,7 +1945,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
||||||
msgid "Employee Appraisals"
|
msgid "Employee Appraisals"
|
||||||
msgstr ""
|
msgstr "직원 평가"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.server,state:0
|
#: selection:ir.actions.server,state:0
|
||||||
|
@ -1984,12 +1988,12 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_model.py:318
|
#: code:addons/base/ir/ir_model.py:318
|
||||||
#, 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 "이 컬럼은 모듈 데이터를 포함하고 있으며 삭제할 수 없습니다."
|
||||||
|
|
||||||
#. 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 "보고서에 표시"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_project_timesheet
|
#: model:ir.module.module,description:base.module_project_timesheet
|
||||||
|
@ -2032,7 +2036,7 @@ msgstr "소스 활동"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
msgid "Legend (for prefix, suffix)"
|
msgid "Legend (for prefix, suffix)"
|
||||||
msgstr ""
|
msgstr "범례(접두사, 접미사)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.server.object.lines,type:0
|
#: selection:ir.server.object.lines,type:0
|
||||||
|
@ -2106,6 +2110,23 @@ msgid ""
|
||||||
"* *Before Delivery*: A Draft invoice is created and must be paid before "
|
"* *Before Delivery*: A Draft invoice is created and must be paid before "
|
||||||
"delivery\n"
|
"delivery\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"매출 견적 및 주문 관리\n"
|
||||||
|
"==================================\n"
|
||||||
|
"\n"
|
||||||
|
"이 모듈은 매출과 창고 관리 어플리케이션과 연계됩니다.\n"
|
||||||
|
"\n"
|
||||||
|
"설정\n"
|
||||||
|
"-----------\n"
|
||||||
|
"* 선적: 일괄 배송, 분할 배송 선택\n"
|
||||||
|
"* 송장청구: 송장금액 결제 방법 선택\n"
|
||||||
|
"* 무역조건: 국제 무역조건\n"
|
||||||
|
"\n"
|
||||||
|
"다양한 송장청구 방법 선택 가능:\n"
|
||||||
|
"\n"
|
||||||
|
"* *요구 시*: 매출 주문 후 필요 시 송장 발행\n"
|
||||||
|
"* *배송 주문 시*: 화물 수령(배송)시 송장 발행\n"
|
||||||
|
"* *배송 전*: 송장 초안이 작성되어 배송 전 결제\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.ui.menu,complete_name:0
|
#: field:ir.ui.menu,complete_name:0
|
||||||
|
@ -2115,7 +2136,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 "파일 형식에 따라 다음 단계 결정"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -2130,13 +2151,13 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.export:0
|
#: view:base.language.export:0
|
||||||
msgid "PO(T) format: you should edit it with a PO editor such as"
|
msgid "PO(T) format: you should edit it with a PO editor such as"
|
||||||
msgstr ""
|
msgstr "PO(T) 파일 형식 : 다음과 같은 PO 편집기로 편집해야 합니다."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_administration
|
#: model:ir.ui.menu,name:base.menu_administration
|
||||||
#: model:res.groups,name:base.group_system
|
#: model:res.groups,name:base.group_system
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr ""
|
msgstr "설정"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.act_window,view_type:0
|
#: selection:ir.actions.act_window,view_type:0
|
||||||
|
@ -2166,7 +2187,7 @@ msgstr "보기 모드"
|
||||||
msgid ""
|
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 "이 은행 계좌는 송장이나 매출 주문서와 같은 출력 서류의 바닥글에 표시됩니다."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -2181,7 +2202,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.ax
|
#: model:res.country,name:base.ax
|
||||||
msgid "Åland Islands"
|
msgid "Åland Islands"
|
||||||
msgstr ""
|
msgstr "올란드 제도"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.company,logo:0
|
#: field:res.company,logo:0
|
||||||
|
@ -2222,7 +2243,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_tools
|
#: model:ir.module.category,name:base.module_category_tools
|
||||||
msgid "Extra Tools"
|
msgid "Extra Tools"
|
||||||
msgstr ""
|
msgstr "기타 도구"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.attachment:0
|
#: view:ir.attachment:0
|
||||||
|
@ -2239,7 +2260,7 @@ msgstr "아일랜드"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Appears by default on the top right corner of your printed documents (report "
|
"Appears by default on the top right corner of your printed documents (report "
|
||||||
"header)."
|
"header)."
|
||||||
msgstr ""
|
msgstr "출력 문서의 우측 상단에 기본으로 출력됩니다. (보고서 머릿글)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:base.module.update,update:0
|
#: field:base.module.update,update:0
|
||||||
|
@ -2254,7 +2275,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_auth_crypt
|
#: model:ir.module.module,shortdesc:base.module_auth_crypt
|
||||||
msgid "Password Encryption"
|
msgid "Password Encryption"
|
||||||
msgstr ""
|
msgstr "비밀번호 암호화"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.activity:0
|
#: view:workflow.activity:0
|
||||||
|
@ -2298,7 +2319,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:change.password.user,new_passwd:0
|
#: field:change.password.user,new_passwd:0
|
||||||
msgid "New Password"
|
msgid "New Password"
|
||||||
msgstr ""
|
msgstr "새 비밀번호"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,help:base.action_ui_view
|
#: model:ir.actions.act_window,help:base.action_ui_view
|
||||||
|
@ -2312,7 +2333,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_base_setup
|
#: model:ir.module.module,shortdesc:base.module_base_setup
|
||||||
msgid "Initial Setup Tools"
|
msgid "Initial Setup Tools"
|
||||||
msgstr ""
|
msgstr "초기 설정 도구"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,groups_id:0
|
#: field:ir.actions.act_window,groups_id:0
|
||||||
|
@ -2443,7 +2464,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.mail_server,smtp_debug:0
|
#: field:ir.mail_server,smtp_debug:0
|
||||||
msgid "Debugging"
|
msgid "Debugging"
|
||||||
msgstr ""
|
msgstr "디버깅"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_crm_helpdesk
|
#: model:ir.module.module,description:base.module_crm_helpdesk
|
||||||
|
@ -2465,7 +2486,7 @@ msgstr ""
|
||||||
msgid ""
|
msgid ""
|
||||||
"View type: Tree type to use for the tree view, set to 'tree' for a "
|
"View type: Tree type to use for the tree view, set to 'tree' for a "
|
||||||
"hierarchical tree view, or 'form' for a regular list view"
|
"hierarchical tree view, or 'form' for a regular list view"
|
||||||
msgstr ""
|
msgstr "표시 형식: 'tree'로 계층구조의 트리 뷰를 표시하거나 'form'으로 일반적인 목록을 표시"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:ir.ui.view_sc:0
|
#: sql_constraint:ir.ui.view_sc:0
|
||||||
|
@ -2555,7 +2576,7 @@ msgstr "오브젝트 이름은 x_로 시작해야 하며, 특수 문자를 포
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_auth_oauth_signup
|
#: model:ir.module.module,shortdesc:base.module_auth_oauth_signup
|
||||||
msgid "Signup with OAuth2 Authentication"
|
msgid "Signup with OAuth2 Authentication"
|
||||||
msgstr ""
|
msgstr "OAuth2 인증으로 등록"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.model,state:0
|
#: selection:ir.model,state:0
|
||||||
|
@ -2582,7 +2603,7 @@ msgstr "그리스"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.company,custom_footer:0
|
#: field:res.company,custom_footer:0
|
||||||
msgid "Custom Footer"
|
msgid "Custom Footer"
|
||||||
msgstr ""
|
msgstr "바닥글 설정"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_sale_crm
|
#: model:ir.module.module,shortdesc:base.module_sale_crm
|
||||||
|
@ -2633,7 +2654,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_invoiced
|
#: model:ir.ui.menu,name:base.menu_invoiced
|
||||||
msgid "Invoicing"
|
msgid "Invoicing"
|
||||||
msgstr ""
|
msgstr "송장 발행"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.ui.view_sc,name:0
|
#: field:ir.ui.view_sc,name:0
|
||||||
|
@ -2721,7 +2742,7 @@ msgstr ""
|
||||||
#: field:ir.translation,res_id:0
|
#: field:ir.translation,res_id:0
|
||||||
#: field:ir.values,res_id:0
|
#: field:ir.values,res_id:0
|
||||||
msgid "Record ID"
|
msgid "Record ID"
|
||||||
msgstr ""
|
msgstr "레코드 ID"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.filters:0
|
#: view:ir.filters:0
|
||||||
|
@ -2819,13 +2840,13 @@ msgstr ""
|
||||||
#: model:res.groups,name:base.group_sale_manager
|
#: model:res.groups,name:base.group_sale_manager
|
||||||
#: model:res.groups,name:base.group_tool_manager
|
#: model:res.groups,name:base.group_tool_manager
|
||||||
msgid "Manager"
|
msgid "Manager"
|
||||||
msgstr ""
|
msgstr "관리자"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_model.py:719
|
#: code:addons/base/ir/ir_model.py:719
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Sorry, you are not allowed to access this document."
|
msgid "Sorry, you are not allowed to access this document."
|
||||||
msgstr ""
|
msgstr "죄송합니다. 이 문서에 접근이 거부되었습니다."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.py
|
#: model:res.country,name:base.py
|
||||||
|
@ -2835,7 +2856,7 @@ msgstr "파라과이"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.fj
|
#: model:res.country,name:base.fj
|
||||||
msgid "Fiji"
|
msgid "Fiji"
|
||||||
msgstr ""
|
msgstr "피지"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.report.xml:0
|
#: view:ir.actions.report.xml:0
|
||||||
|
@ -2911,7 +2932,7 @@ msgstr ""
|
||||||
#: code:addons/base/ir/ir_fields.py:146
|
#: code:addons/base/ir/ir_fields.py:146
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "yes"
|
msgid "yes"
|
||||||
msgstr ""
|
msgstr "예"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.fields,serialization_field_id:0
|
#: field:ir.model.fields,serialization_field_id: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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:47+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
||||||
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
|
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
|
||||||
"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-18 05:45+0000\n"
|
"PO-Revision-Date: 2013-02-07 04:04+0000\n"
|
||||||
"Last-Translator: gobi <Unknown>\n"
|
"Last-Translator: Tenuun Khangaitan <tenuun.khangaitan@gmail.com>\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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-08 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16482)\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
|
||||||
|
@ -5396,7 +5396,7 @@ msgstr ""
|
||||||
#: field:ir.model.relation,model:0
|
#: field:ir.model.relation,model:0
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
msgid "Model"
|
msgid "Model"
|
||||||
msgstr "Загвар"
|
msgstr "Модел"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:base.language.install:0
|
#: view:base.language.install:0
|
||||||
|
@ -7983,7 +7983,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:res.currency,position:0
|
#: selection:res.currency,position:0
|
||||||
msgid "After Amount"
|
msgid "After Amount"
|
||||||
msgstr "Дараах Дүн"
|
msgstr "Дүнгийн ард"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -10680,7 +10680,7 @@ msgstr "дууссан"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.act_window:0
|
#: view:ir.actions.act_window:0
|
||||||
msgid "General Settings"
|
msgid "General Settings"
|
||||||
msgstr "Ерөнхий тохируулга"
|
msgstr "Ерөнхий Тохиргоо"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_in
|
#: model:ir.module.module,description:base.module_l10n_in
|
||||||
|
@ -12386,7 +12386,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.attachment,res_model:0
|
#: field:ir.attachment,res_model:0
|
||||||
msgid "Resource Model"
|
msgid "Resource Model"
|
||||||
msgstr ""
|
msgstr "Нөөцийн модел"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/custom.py:555
|
#: code:addons/custom.py:555
|
||||||
|
@ -15179,7 +15179,7 @@ msgstr "Үндсэн компаниуд"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.translation,src:0
|
#: field:ir.translation,src:0
|
||||||
msgid "Source"
|
msgid "Source"
|
||||||
msgstr "Эх"
|
msgstr "Эх үүсвэр"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.constraint,date_init:0
|
#: field:ir.model.constraint,date_init:0
|
||||||
|
@ -15354,7 +15354,7 @@ msgstr "Олон баримт дээрх үйлдэл"
|
||||||
#: model:ir.actions.act_window,name:base.action_partner_title_partner
|
#: model:ir.actions.act_window,name:base.action_partner_title_partner
|
||||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||||
msgid "Titles"
|
msgid "Titles"
|
||||||
msgstr ""
|
msgstr "Гарчигууд"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_anonymization
|
#: model:ir.module.module,description:base.module_anonymization
|
||||||
|
@ -15824,7 +15824,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,src_model:0
|
#: field:ir.actions.act_window,src_model:0
|
||||||
msgid "Source Model"
|
msgid "Source Model"
|
||||||
msgstr ""
|
msgstr "Эх модел"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
|
@ -16879,7 +16879,7 @@ msgstr "Харилцагчид: "
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.partner:0
|
#: view:res.partner:0
|
||||||
msgid "Is a Company?"
|
msgid "Is a Company?"
|
||||||
msgstr ""
|
msgstr "Компаний нэр"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/res/res_company.py:173
|
#: code:addons/base/res/res_company.py:173
|
||||||
|
|
|
@ -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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
@ -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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:52+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:17+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -4031,7 +4031,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sk
|
#: model:res.country,name:base.sk
|
||||||
msgid "Slovakia"
|
msgid "Slovakia"
|
||||||
msgstr "Slovakia"
|
msgstr "Słowacja"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.nr
|
#: model:res.country,name:base.nr
|
||||||
|
@ -5474,7 +5474,7 @@ msgstr "Historia"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.im
|
#: model:res.country,name:base.im
|
||||||
msgid "Isle of Man"
|
msgid "Isle of Man"
|
||||||
msgstr "Isle of Man"
|
msgstr "Wyspa Man"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.client,res_model:0
|
#: help:ir.actions.client,res_model:0
|
||||||
|
@ -7353,7 +7353,7 @@ msgstr "Kontakty"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.fo
|
#: model:res.country,name:base.fo
|
||||||
msgid "Faroe Islands"
|
msgid "Faroe Islands"
|
||||||
msgstr "Faroe Islands"
|
msgstr "Wyspy Owcze"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.mail_server,smtp_encryption:0
|
#: field:ir.mail_server,smtp_encryption:0
|
||||||
|
@ -11307,7 +11307,7 @@ msgstr "Użytkownik"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.pr
|
#: model:res.country,name:base.pr
|
||||||
msgid "Puerto Rico"
|
msgid "Puerto Rico"
|
||||||
msgstr "Puerto Rico"
|
msgstr "Portoryko"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_tests_demo
|
#: model:ir.module.module,shortdesc:base.module_web_tests_demo
|
||||||
|
|
|
@ -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-01-19 05:18+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:48+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -11110,7 +11110,7 @@ msgstr "Email"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.category,name:base.res_partner_category_12
|
#: model:res.partner.category,name:base.res_partner_category_12
|
||||||
msgid "Office Supplies"
|
msgid "Office Supplies"
|
||||||
msgstr ""
|
msgstr "Materiais de Escritórios"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.attachment,res_model:0
|
#: field:ir.attachment,res_model:0
|
||||||
|
|
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-01-19 05:18+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:49+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -489,7 +489,7 @@ msgstr "Obiect Sursa"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||||
msgid "%(bank_name)s: %(acc_number)s"
|
msgid "%(bank_name)s: %(acc_number)s"
|
||||||
msgstr "%(nume_banca)s: %(numar_cont)s"
|
msgstr "%(bank_name)s: %(acc_number)s"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.todo:0
|
#: view:ir.actions.todo:0
|
||||||
|
@ -8921,7 +8921,7 @@ msgstr "Tip Camp"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.country.state,code:0
|
#: field:res.country.state,code:0
|
||||||
msgid "State Code"
|
msgid "State Code"
|
||||||
msgstr "Cod Stat"
|
msgstr "Cod judet"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_multilang
|
#: model:ir.module.module,shortdesc:base.module_l10n_multilang
|
||||||
|
@ -13642,7 +13642,7 @@ msgstr "Campanii de Marketing"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.country.state,name:0
|
#: field:res.country.state,name:0
|
||||||
msgid "State Name"
|
msgid "State Name"
|
||||||
msgstr "Numele starii"
|
msgstr "Nume judet"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.attachment,type:0
|
#: help:ir.attachment,type:0
|
||||||
|
@ -14386,7 +14386,7 @@ msgstr "Declanseaza Semnalul"
|
||||||
#: model:ir.actions.act_window,name:base.action_country_state
|
#: model:ir.actions.act_window,name:base.action_country_state
|
||||||
#: model:ir.ui.menu,name:base.menu_country_state_partner
|
#: model:ir.ui.menu,name:base.menu_country_state_partner
|
||||||
msgid "Fed. States"
|
msgid "Fed. States"
|
||||||
msgstr "State federale"
|
msgstr "Judete"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model:0
|
#: view:ir.model: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-01-25 05:24+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:49+0000\n"
|
||||||
"X-Generator: Launchpad (build 16445)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
||||||
|
@ -3969,7 +3969,7 @@ msgstr "Отчетность"
|
||||||
#: field:res.partner,title:0
|
#: field:res.partner,title:0
|
||||||
#: field:res.partner.title,name:0
|
#: field:res.partner.title,name:0
|
||||||
msgid "Title"
|
msgid "Title"
|
||||||
msgstr "Название"
|
msgstr "Обращение"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.property,res_id:0
|
#: help:ir.property,res_id:0
|
||||||
|
@ -8275,7 +8275,6 @@ msgid ""
|
||||||
" </p>\n"
|
" </p>\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"<p class=\"oe_view_nocontent_create\">\n"
|
|
||||||
"Нажмите чтобы добавить контакт в вашу адресную книгу.\n"
|
"Нажмите чтобы добавить контакт в вашу адресную книгу.\n"
|
||||||
" </p><p>\n"
|
" </p><p>\n"
|
||||||
" OpenERP помогает вам легко отслеживать всю активность "
|
" OpenERP помогает вам легко отслеживать всю активность "
|
||||||
|
@ -9746,7 +9745,7 @@ msgstr "сделано"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.act_window:0
|
#: view:ir.actions.act_window:0
|
||||||
msgid "General Settings"
|
msgid "General Settings"
|
||||||
msgstr "Основные параметры"
|
msgstr "Общие настройки"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_in
|
#: model:ir.module.module,description:base.module_l10n_in
|
||||||
|
@ -10335,6 +10334,14 @@ msgid ""
|
||||||
" </p>\n"
|
" </p>\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Нажмите чтобы добавить контакт в вашу адресную книгу.\n"
|
||||||
|
" </p><p>\n"
|
||||||
|
" OpenERP помогает вам легко отслеживать всю активность "
|
||||||
|
"связанную с\n"
|
||||||
|
" поставщиком: общение, историю закупок, \n"
|
||||||
|
" документы и т.д.\n"
|
||||||
|
" </p>\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.lr
|
#: model:res.country,name:base.lr
|
||||||
|
@ -15953,6 +15960,14 @@ msgid ""
|
||||||
" </p>\n"
|
" </p>\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Нажмите чтобы добавить контакт в вашу адресную книгу.\n"
|
||||||
|
" </p><p>\n"
|
||||||
|
" OpenERP помогает вам легко отслеживать всю активность "
|
||||||
|
"связанную с\n"
|
||||||
|
" клиентом: общение, историю деловых возможностей, \n"
|
||||||
|
" документы и т.д.\n"
|
||||||
|
" </p>\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.category,name:base.res_partner_category_2
|
#: model:res.partner.category,name:base.res_partner_category_2
|
||||||
|
|
|
@ -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-01-19 05:18+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:49+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:19+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:49+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:12+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:18+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:49+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:22+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:53+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:19+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:19+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:19+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:50+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:21+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:52+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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-01-19 05:20+0000\n"
|
"X-Launchpad-Export-Date: 2013-02-07 04:51+0000\n"
|
||||||
"X-Generator: Launchpad (build 16430)\n"
|
"X-Generator: Launchpad (build 16477)\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
|
@ -28,6 +28,7 @@ import time
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
from openerp import netsvc, tools
|
from openerp import netsvc, tools
|
||||||
from openerp.osv import fields, osv
|
from openerp.osv import fields, osv
|
||||||
|
import openerp.report.interface
|
||||||
from openerp.report.report_sxw import report_sxw, report_rml
|
from openerp.report.report_sxw import report_sxw, report_rml
|
||||||
from openerp.tools.config import config
|
from openerp.tools.config import config
|
||||||
from openerp.tools.safe_eval import safe_eval as eval
|
from openerp.tools.safe_eval import safe_eval as eval
|
||||||
|
@ -93,9 +94,9 @@ class report_xml(osv.osv):
|
||||||
opj = os.path.join
|
opj = os.path.join
|
||||||
cr.execute("SELECT * FROM ir_act_report_xml WHERE auto=%s ORDER BY id", (True,))
|
cr.execute("SELECT * FROM ir_act_report_xml WHERE auto=%s ORDER BY id", (True,))
|
||||||
result = cr.dictfetchall()
|
result = cr.dictfetchall()
|
||||||
svcs = netsvc.Service._services
|
reports = openerp.report.interface.report_int._reports
|
||||||
for r in result:
|
for r in result:
|
||||||
if svcs.has_key('report.'+r['report_name']):
|
if reports.has_key('report.'+r['report_name']):
|
||||||
continue
|
continue
|
||||||
if r['report_rml'] or r['report_rml_content_data']:
|
if r['report_rml'] or r['report_rml_content_data']:
|
||||||
report_sxw('report.'+r['report_name'], r['model'],
|
report_sxw('report.'+r['report_name'], r['model'],
|
||||||
|
|
|
@ -21,12 +21,15 @@
|
||||||
|
|
||||||
import hashlib
|
import hashlib
|
||||||
import itertools
|
import itertools
|
||||||
|
import logging
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from openerp import tools
|
from openerp import tools
|
||||||
from openerp.osv import fields,osv
|
from openerp.osv import fields,osv
|
||||||
|
|
||||||
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
class ir_attachment(osv.osv):
|
class ir_attachment(osv.osv):
|
||||||
"""Attachments are used to link binary files or url to any openerp document.
|
"""Attachments are used to link binary files or url to any openerp document.
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
<field name="model_id"/>
|
<field name="model_id"/>
|
||||||
|
<field name="is_default"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="domain"/>
|
<field name="domain"/>
|
||||||
|
@ -35,6 +36,7 @@
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="model_id"/>
|
<field name="model_id"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
|
<field name="is_default"/>
|
||||||
<field name="domain" groups="base.group_no_one"/>
|
<field name="domain" groups="base.group_no_one"/>
|
||||||
<field name="context" groups="base.group_no_one"/>
|
<field name="context" groups="base.group_no_one"/>
|
||||||
</tree>
|
</tree>
|
||||||
|
@ -45,12 +47,14 @@
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<search string="Filters">
|
<search string="Filters">
|
||||||
<field name="name" string="Filter Name"/>
|
<field name="name" string="Filter Name"/>
|
||||||
<filter string="Personal" domain="[('user_id','!=',False)]" help="Filters visible only for one user"/>
|
<filter string="User" domain="[('user_id','!=',False)]" name="user" help="Filters visible only for one user"/>
|
||||||
<filter string="Shared" domain="[('user_id','=',False)]" help="Filters shared with all users"/>
|
<filter string="Shared" domain="[('user_id','=',False)]" name="shared" help="Filters shared with all users"/>
|
||||||
|
<filter string="My filters" domain="[('user_id','=',uid)]" name="my_filters" help="Filters created by myself"/>
|
||||||
<separator/>
|
<separator/>
|
||||||
<filter icon="terp-personal" domain="[('user_id','in',(uid, False))]"
|
<group expand="0" string="Group By...">
|
||||||
name="my_filters"
|
<filter string="User" domain="[]" context="{'group_by':'user_id'}"/>
|
||||||
string="My Filters"/>
|
<filter string="Model" domain="[]" context="{'group_by':'model_id'}"/>
|
||||||
|
</group>
|
||||||
<field name="model_id"/>
|
<field name="model_id"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
</search>
|
</search>
|
||||||
|
|
|
@ -1062,9 +1062,13 @@ class ir_model_data(osv.osv):
|
||||||
continue
|
continue
|
||||||
_logger.info('Deleting %s@%s', res_id, model)
|
_logger.info('Deleting %s@%s', res_id, model)
|
||||||
try:
|
try:
|
||||||
|
cr.execute('SAVEPOINT record_unlink_save')
|
||||||
self.pool.get(model).unlink(cr, uid, [res_id], context=context)
|
self.pool.get(model).unlink(cr, uid, [res_id], context=context)
|
||||||
except Exception:
|
except Exception:
|
||||||
_logger.info('Unable to delete %s@%s', res_id, model, exc_info=True)
|
_logger.info('Unable to delete %s@%s', res_id, model, exc_info=True)
|
||||||
|
cr.execute('ROLLBACK TO SAVEPOINT record_unlink_save')
|
||||||
|
else:
|
||||||
|
cr.execute('RELEASE SAVEPOINT record_unlink_save')
|
||||||
|
|
||||||
# Remove non-model records first, then model fields, and finish with models
|
# Remove non-model records first, then model fields, and finish with models
|
||||||
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
|
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
|
||||||
|
|
|
@ -28,7 +28,7 @@ class osv_memory_autovacuum(openerp.osv.osv.osv_memory):
|
||||||
def power_on(self, cr, uid, context=None):
|
def power_on(self, cr, uid, context=None):
|
||||||
for model in self.pool.models.values():
|
for model in self.pool.models.values():
|
||||||
if model.is_transient():
|
if model.is_transient():
|
||||||
model._transient_vacuum(cr, uid)
|
model._transient_vacuum(cr, uid, force=True)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# OpenERP, Open Source Management Solution
|
# OpenERP, Open Source Management Solution
|
||||||
# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>).
|
# Copyright (C) 2004-2013 OpenERP S.A. (<http://openerp.com>).
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Affero General Public License as
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
@ -254,9 +254,9 @@ class module(osv.osv):
|
||||||
'website': fields.char("Website", size=256, readonly=True),
|
'website': fields.char("Website", size=256, readonly=True),
|
||||||
|
|
||||||
# attention: Incorrect field names !!
|
# attention: Incorrect field names !!
|
||||||
# installed_version refer the latest version (the one on disk)
|
# installed_version refers the latest version (the one on disk)
|
||||||
# latest_version refer the installed version (the one in database)
|
# latest_version refers the installed version (the one in database)
|
||||||
# published_version refer the version available on the repository
|
# published_version refers the version available on the repository
|
||||||
'installed_version': fields.function(_get_latest_version, string='Latest Version', type='char'),
|
'installed_version': fields.function(_get_latest_version, string='Latest Version', type='char'),
|
||||||
'latest_version': fields.char('Installed Version', size=64, readonly=True),
|
'latest_version': fields.char('Installed Version', size=64, readonly=True),
|
||||||
'published_version': fields.char('Published Version', size=64, readonly=True),
|
'published_version': fields.char('Published Version', size=64, readonly=True),
|
||||||
|
@ -500,6 +500,7 @@ class module(osv.osv):
|
||||||
raise orm.except_orm(_('Error'), _("The `base` module cannot be uninstalled"))
|
raise orm.except_orm(_('Error'), _("The `base` module cannot be uninstalled"))
|
||||||
dep_ids = self.downstream_dependencies(cr, uid, ids, context=context)
|
dep_ids = self.downstream_dependencies(cr, uid, ids, context=context)
|
||||||
self.write(cr, uid, ids + dep_ids, {'state': 'to remove'})
|
self.write(cr, uid, ids + dep_ids, {'state': 'to remove'})
|
||||||
|
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
|
||||||
return dict(ACTION_DICT, name=_('Uninstall'))
|
return dict(ACTION_DICT, name=_('Uninstall'))
|
||||||
|
|
||||||
def button_uninstall_cancel(self, cr, uid, ids, context=None):
|
def button_uninstall_cancel(self, cr, uid, ids, context=None):
|
||||||
|
@ -656,32 +657,38 @@ class module(osv.osv):
|
||||||
def install_from_urls(self, cr, uid, urls, context=None):
|
def install_from_urls(self, cr, uid, urls, context=None):
|
||||||
OPENERP = 'openerp'
|
OPENERP = 'openerp'
|
||||||
tmp = tempfile.mkdtemp()
|
tmp = tempfile.mkdtemp()
|
||||||
|
_logger.debug('Install from url: %r', urls)
|
||||||
try:
|
try:
|
||||||
|
# 1. Download & unzip missing modules
|
||||||
for module_name, url in urls.items():
|
for module_name, url in urls.items():
|
||||||
if not url:
|
if not url:
|
||||||
continue # nothing to download, local version is already the last one
|
continue # nothing to download, local version is already the last one
|
||||||
try:
|
try:
|
||||||
|
_logger.info('Downloading module `%s` from OpenERP Apps', module_name)
|
||||||
content = urllib2.urlopen(url).read()
|
content = urllib2.urlopen(url).read()
|
||||||
except Exception, e:
|
except Exception:
|
||||||
_logger.exception('ggr')
|
_logger.exception('Failed to fetch module %s', module_name)
|
||||||
raise osv.except_osv('grrr', e)
|
raise osv.except_osv(_('Module not found'),
|
||||||
|
_('The `%s` module appears to be unavailable at the moment, please try again later.') % module_name)
|
||||||
else:
|
else:
|
||||||
zipfile.ZipFile(StringIO(content)).extractall(tmp)
|
zipfile.ZipFile(StringIO(content)).extractall(tmp)
|
||||||
assert os.path.isdir(os.path.join(tmp, module_name))
|
assert os.path.isdir(os.path.join(tmp, module_name))
|
||||||
|
|
||||||
for module_name in urls:
|
# 2a. Copy/Replace module source in addons path
|
||||||
if module_name == OPENERP:
|
for module_name, url in urls.items():
|
||||||
continue # special case. handled below
|
if module_name == OPENERP or not url:
|
||||||
|
continue # OPENERP is special case, handled below, and no URL means local module
|
||||||
module_path = modules.get_module_path(module_name, downloaded=True, display_warning=False)
|
module_path = modules.get_module_path(module_name, downloaded=True, display_warning=False)
|
||||||
bck = backup(module_path, False)
|
bck = backup(module_path, False)
|
||||||
|
_logger.info('Copy downloaded module `%s` to `%s`', module_name, module_path)
|
||||||
shutil.move(os.path.join(tmp, module_name), module_path)
|
shutil.move(os.path.join(tmp, module_name), module_path)
|
||||||
if bck:
|
if bck:
|
||||||
shutil.rmtree(bck)
|
shutil.rmtree(bck)
|
||||||
|
|
||||||
|
# 2b. Copy/Replace server+base module source if downloaded
|
||||||
if urls.get(OPENERP, None):
|
if urls.get(OPENERP, None):
|
||||||
# special case. it containt the server and the base module.
|
# special case. it contains the server and the base module.
|
||||||
# extract path is not the same
|
# extract path is not the same
|
||||||
|
|
||||||
base_path = os.path.dirname(modules.get_module_path('base'))
|
base_path = os.path.dirname(modules.get_module_path('base'))
|
||||||
|
|
||||||
# copy all modules in the SERVER/openerp/addons directory to the new "openerp" module (except base itself)
|
# copy all modules in the SERVER/openerp/addons directory to the new "openerp" module (except base itself)
|
||||||
|
@ -693,15 +700,22 @@ class module(osv.osv):
|
||||||
# then replace the server by the new "base" module
|
# then replace the server by the new "base" module
|
||||||
server_dir = openerp.tools.config['root_path'] # XXX or dirname()
|
server_dir = openerp.tools.config['root_path'] # XXX or dirname()
|
||||||
bck = backup(server_dir)
|
bck = backup(server_dir)
|
||||||
|
_logger.info('Copy downloaded module `openerp` to `%s`', server_dir)
|
||||||
shutil.move(os.path.join(tmp, OPENERP), server_dir)
|
shutil.move(os.path.join(tmp, OPENERP), server_dir)
|
||||||
#if bck:
|
#if bck:
|
||||||
# shutil.rmtree(bck)
|
# shutil.rmtree(bck)
|
||||||
|
|
||||||
self.update_list(cr, uid, context=context)
|
self.update_list(cr, uid, context=context)
|
||||||
|
|
||||||
ids = self.search(cr, uid, [('name', 'in', urls.keys())], context=context)
|
with_urls = [m for m, u in urls.items() if u]
|
||||||
if self.search_count(cr, uid, [('id', 'in', ids), ('state', '=', 'installed')], context=context):
|
downloaded_ids = self.search(cr, uid, [('name', 'in', with_urls)], context=context)
|
||||||
# if any to update
|
already_installed = self.search(cr, uid, [('id', 'in', downloaded_ids), ('state', '=', 'installed')], context=context)
|
||||||
|
|
||||||
|
to_install_ids = self.search(cr, uid, [('name', 'in', urls.keys()), ('state', '=', 'uninstalled')], context=context)
|
||||||
|
post_install_action = self.button_immediate_install(cr, uid, to_install_ids, context=context)
|
||||||
|
|
||||||
|
if already_installed:
|
||||||
|
# in this case, force server restart to reload python code...
|
||||||
cr.commit()
|
cr.commit()
|
||||||
openerp.service.restart_server()
|
openerp.service.restart_server()
|
||||||
return {
|
return {
|
||||||
|
@ -709,7 +723,7 @@ class module(osv.osv):
|
||||||
'tag': 'home',
|
'tag': 'home',
|
||||||
'params': {'wait': True},
|
'params': {'wait': True},
|
||||||
}
|
}
|
||||||
return self.button_immediate_install(cr, uid, ids, context=context)
|
return post_install_action
|
||||||
finally:
|
finally:
|
||||||
shutil.rmtree(tmp)
|
shutil.rmtree(tmp)
|
||||||
|
|
||||||
|
|
|
@ -171,23 +171,18 @@
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="open_module_tree" model="ir.actions.act_window">
|
<record id="open_module_tree" model="ir.actions.act_window">
|
||||||
<!-- uncomment on released
|
|
||||||
<field name="name">Installed Modules</field>
|
<field name="name">Installed Modules</field>
|
||||||
-->
|
|
||||||
<field name="name">Modules</field>
|
|
||||||
<field name="res_model">ir.module.module</field>
|
<field name="res_model">ir.module.module</field>
|
||||||
<field name="view_type">form</field>
|
<field name="view_type">form</field>
|
||||||
<field name="view_mode">kanban,tree,form</field>
|
<field name="view_mode">kanban,tree,form</field>
|
||||||
<!-- uncomment on released
|
|
||||||
<field name="context">{'search_default_installed':1}</field>
|
<field name="context">{'search_default_installed':1}</field>
|
||||||
-->
|
|
||||||
<field name="search_view_id" ref="view_module_filter"/>
|
<field name="search_view_id" ref="view_module_filter"/>
|
||||||
<field name="help" type="html">
|
<field name="help" type="html">
|
||||||
<p><b>No module found!</b></p>
|
<p><b>No module found!</b></p>
|
||||||
<p>You should try others search criteria.</p>
|
<p>You should try others search criteria.</p>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
<menuitem id="menu_module_tree" parent="menu_management" name="Installed Modules" sequence="10" action="open_module_tree"/>
|
<menuitem id="menu_module_tree" parent="menu_management" name="Installed Modules" sequence="30" action="open_module_tree" />
|
||||||
|
|
||||||
|
|
||||||
<!-- Apps modules -->
|
<!-- Apps modules -->
|
||||||
|
@ -195,20 +190,14 @@
|
||||||
<field name="name">Apps</field>
|
<field name="name">Apps</field>
|
||||||
<field name="tag">apps</field>
|
<field name="tag">apps</field>
|
||||||
</record>
|
</record>
|
||||||
<!-- uncomment on released
|
<menuitem id="module_mi" parent="base.menu_management" sequence="10" action="modules_act_cl"/>
|
||||||
<menuitem id="module_mi" parent="base.menu_management" sequence="3" action="modules_act_cl"/>
|
|
||||||
-->
|
|
||||||
<menuitem id="module_mi" parent="base.menu_management" sequence="20" action="modules_act_cl"/>
|
|
||||||
|
|
||||||
<record model="ir.actions.client" id="modules_updates_act_cl">
|
<record model="ir.actions.client" id="modules_updates_act_cl">
|
||||||
<field name="name">Updates</field>
|
<field name="name">Updates</field>
|
||||||
<field name="tag">apps.updates</field>
|
<field name="tag">apps.updates</field>
|
||||||
<field name="params">{}</field>
|
<field name="params">{}</field>
|
||||||
</record>
|
</record>
|
||||||
<!-- uncomment on released
|
<menuitem id="menu_module_updates" parent="base.menu_management" sequence="20" action="modules_updates_act_cl"/>
|
||||||
<menuitem id="menu_module_updates" parent="base.menu_management" sequence="7" action="modules_updates_act_cl"/>
|
|
||||||
-->
|
|
||||||
<menuitem id="menu_module_updates" parent="base.menu_management" sequence="30" action="modules_updates_act_cl"/>
|
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -1,74 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# OpenERP, Open Source Management Solution
|
|
||||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Affero General Public License as
|
|
||||||
# published by the Free Software Foundation, either version 3 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU Affero General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
##############################################################################
|
|
||||||
import os
|
|
||||||
import glob
|
|
||||||
import imp
|
|
||||||
import zipfile
|
|
||||||
|
|
||||||
from openerp import tools
|
|
||||||
from openerp.osv import osv
|
|
||||||
|
|
||||||
class base_module_scan(osv.osv_memory):
|
|
||||||
""" scan module """
|
|
||||||
|
|
||||||
_name = "base.module.scan"
|
|
||||||
_description = "scan module"
|
|
||||||
|
|
||||||
def watch_dir(self, cr, uid, ids, context):
|
|
||||||
mod_obj = self.pool.get('ir.module.module')
|
|
||||||
all_mods = mod_obj.read(cr, uid, mod_obj.search(cr, uid, []), ['name', 'state'])
|
|
||||||
known_modules = [x['name'] for x in all_mods]
|
|
||||||
ls_ad = glob.glob(os.path.join(tools.config['addons_path'], '*', '__terp__.py'))
|
|
||||||
modules = [module_name_re.match(name).group(1) for name in ls_ad]
|
|
||||||
for fname in os.listdir(tools.config['addons_path']):
|
|
||||||
if zipfile.is_zipfile(fname):
|
|
||||||
modules.append( fname.split('.')[0])
|
|
||||||
for module in modules:
|
|
||||||
if module in known_modules:
|
|
||||||
continue
|
|
||||||
terp = mod_obj.get_module_info(module)
|
|
||||||
if not terp.get('installable', True):
|
|
||||||
continue
|
|
||||||
|
|
||||||
# XXX check if this code is correct...
|
|
||||||
fm = imp.find_module(module)
|
|
||||||
try:
|
|
||||||
imp.load_module(module, *fm)
|
|
||||||
finally:
|
|
||||||
if fm[0]:
|
|
||||||
fm[0].close()
|
|
||||||
|
|
||||||
values = mod_obj.get_values_from_terp(terp)
|
|
||||||
mod_id = mod_obj.create(cr, uid, dict(name=module, state='uninstalled', **values))
|
|
||||||
dependencies = terp.get('depends', [])
|
|
||||||
for d in dependencies:
|
|
||||||
cr.execute('insert into ir_module_module_dependency (module_id,name) values (%s, %s)', (mod_id, d))
|
|
||||||
for module in known_modules:
|
|
||||||
terp = mod_obj.get_module_info(module)
|
|
||||||
if terp.get('installable', True):
|
|
||||||
for mod in all_mods:
|
|
||||||
if mod['name'] == module and mod['state'] == 'uninstallable':
|
|
||||||
mod_obj.write(cr, uid, [mod['id']], {'state': 'uninstalled'})
|
|
||||||
return {}
|
|
||||||
|
|
||||||
base_module_scan()
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
|
@ -22,6 +22,7 @@
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from openerp.osv import osv, fields
|
from openerp.osv import osv, fields
|
||||||
|
from openerp.osv.orm import browse_record
|
||||||
from openerp.tools.misc import attrgetter
|
from openerp.tools.misc import attrgetter
|
||||||
|
|
||||||
# -------------------------------------------------------------------------
|
# -------------------------------------------------------------------------
|
||||||
|
@ -111,7 +112,7 @@ class ir_property(osv.osv):
|
||||||
raise osv.except_osv('Error', 'Invalid type')
|
raise osv.except_osv('Error', 'Invalid type')
|
||||||
|
|
||||||
if field == 'value_reference':
|
if field == 'value_reference':
|
||||||
if isinstance(value, osv.orm.browse_record):
|
if isinstance(value, browse_record):
|
||||||
value = '%s,%d' % (value._name, value.id)
|
value = '%s,%d' % (value._name, value.id)
|
||||||
elif isinstance(value, (int, long)):
|
elif isinstance(value, (int, long)):
|
||||||
field_id = values.get('fields_id')
|
field_id = values.get('fields_id')
|
||||||
|
|
|
@ -125,6 +125,7 @@
|
||||||
<field name="model">res.partner.bank</field>
|
<field name="model">res.partner.bank</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<tree string="Bank Accounts">
|
<tree string="Bank Accounts">
|
||||||
|
<field name="state" invisible="1"/>
|
||||||
<field name="sequence" invisible="1"/>
|
<field name="sequence" invisible="1"/>
|
||||||
<field name="acc_number"/>
|
<field name="acc_number"/>
|
||||||
<field name="bank_name"/>
|
<field name="bank_name"/>
|
||||||
|
|
|
@ -318,7 +318,7 @@ class res_company(osv.osv):
|
||||||
<lines>1.3cm %s 20cm %s</lines>
|
<lines>1.3cm %s 20cm %s</lines>
|
||||||
<drawRightString x="20cm" y="%s">[[ company.rml_header1 ]]</drawRightString>
|
<drawRightString x="20cm" y="%s">[[ company.rml_header1 ]]</drawRightString>
|
||||||
<drawString x="1.3cm" y="%s">[[ company.partner_id.name ]]</drawString>
|
<drawString x="1.3cm" y="%s">[[ company.partner_id.name ]]</drawString>
|
||||||
<place x="1.3cm" y="%s" height="1.55cm" width="15.0cm">
|
<place x="1.3cm" y="%s" height="1.8cm" width="15.0cm">
|
||||||
<para style="main_header">[[ display_address(company.partner_id) or '' ]]</para>
|
<para style="main_header">[[ display_address(company.partner_id) or '' ]]</para>
|
||||||
</place>
|
</place>
|
||||||
<drawString x="1.3cm" y="%s">Phone:</drawString>
|
<drawString x="1.3cm" y="%s">Phone:</drawString>
|
||||||
|
@ -344,8 +344,8 @@ class res_company(osv.osv):
|
||||||
</pageTemplate>
|
</pageTemplate>
|
||||||
</header>"""
|
</header>"""
|
||||||
|
|
||||||
_header_a4 = _header_main % ('23.0cm', '27.6cm', '27.7cm', '27.7cm', '27.8cm', '27.4cm', '25.8cm', '26.0cm', '26.0cm', '25.6cm', '25.6cm', '25.5cm', '25.5cm')
|
_header_a4 = _header_main % ('23.0cm', '27.6cm', '27.7cm', '27.7cm', '27.8cm', '27.3cm', '25.3cm', '25.0cm', '25.0cm', '24.6cm', '24.6cm', '24.5cm', '24.5cm')
|
||||||
_header_letter = _header_main % ('21.3cm', '25.9cm', '26.0cm', '26.0cm', '26.1cm', '25.7cm', '24.1cm', '24.3cm', '24.3cm', '23.9cm', '23.9cm', '23.8cm', '23.8cm')
|
_header_letter = _header_main % ('21.3cm', '25.9cm', '26.0cm', '26.0cm', '26.1cm', '25.6cm', '23.6cm', '23.3cm', '23.3cm', '22.9cm', '22.9cm', '22.8cm', '22.8cm')
|
||||||
|
|
||||||
def onchange_paper_format(self, cr, uid, ids, paper_format, context=None):
|
def onchange_paper_format(self, cr, uid, ids, paper_format, context=None):
|
||||||
if paper_format == 'us_letter':
|
if paper_format == 'us_letter':
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
import logging
|
import logging
|
||||||
from operator import attrgetter
|
from operator import attrgetter
|
||||||
|
|
||||||
|
import openerp
|
||||||
from openerp import pooler
|
from openerp import pooler
|
||||||
from openerp.osv import osv, fields
|
from openerp.osv import osv, fields
|
||||||
from openerp.tools import ustr
|
from openerp.tools import ustr
|
||||||
|
@ -358,7 +359,8 @@ class res_config_installer(osv.osv_memory):
|
||||||
cr, uid,
|
cr, uid,
|
||||||
modules.search(cr, uid, [('name','in',to_install)]),
|
modules.search(cr, uid, [('name','in',to_install)]),
|
||||||
'to install', ['uninstalled'], context=context)
|
'to install', ['uninstalled'], context=context)
|
||||||
cr.commit() #TOFIX: after remove this statement, installation wizard is fail
|
cr.commit()
|
||||||
|
openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
|
||||||
new_db, self.pool = pooler.restart_pool(cr.dbname, update_module=True)
|
new_db, self.pool = pooler.restart_pool(cr.dbname, update_module=True)
|
||||||
|
|
||||||
res_config_installer()
|
res_config_installer()
|
||||||
|
|
|
@ -71,7 +71,7 @@ addresses belonging to this country.\n\nYou can use the python-style string pate
|
||||||
name_search = location_name_search
|
name_search = location_name_search
|
||||||
|
|
||||||
def create(self, cursor, user, vals, context=None):
|
def create(self, cursor, user, vals, context=None):
|
||||||
if 'code' in vals:
|
if vals.get('code'):
|
||||||
vals['code'] = vals['code'].upper()
|
vals['code'] = vals['code'].upper()
|
||||||
return super(Country, self).create(cursor, user, vals,
|
return super(Country, self).create(cursor, user, vals,
|
||||||
context=context)
|
context=context)
|
||||||
|
|
|
@ -228,45 +228,6 @@ class lang(osv.osv):
|
||||||
|
|
||||||
lang()
|
lang()
|
||||||
|
|
||||||
def original_group(s, grouping, thousands_sep=''):
|
|
||||||
|
|
||||||
if not grouping:
|
|
||||||
return s, 0
|
|
||||||
|
|
||||||
result = ""
|
|
||||||
seps = 0
|
|
||||||
spaces = ""
|
|
||||||
|
|
||||||
if s[-1] == ' ':
|
|
||||||
sp = s.find(' ')
|
|
||||||
spaces = s[sp:]
|
|
||||||
s = s[:sp]
|
|
||||||
|
|
||||||
while s and grouping:
|
|
||||||
# if grouping is -1, we are done
|
|
||||||
if grouping[0] == -1:
|
|
||||||
break
|
|
||||||
# 0: re-use last group ad infinitum
|
|
||||||
elif grouping[0] != 0:
|
|
||||||
#process last group
|
|
||||||
group = grouping[0]
|
|
||||||
grouping = grouping[1:]
|
|
||||||
if result:
|
|
||||||
result = s[-group:] + thousands_sep + result
|
|
||||||
seps += 1
|
|
||||||
else:
|
|
||||||
result = s[-group:]
|
|
||||||
s = s[:-group]
|
|
||||||
if s and s[-1] not in "0123456789":
|
|
||||||
# the leading string is only spaces and signs
|
|
||||||
return s + result + spaces, seps
|
|
||||||
if not result:
|
|
||||||
return s + spaces, seps
|
|
||||||
if s:
|
|
||||||
result = s + thousands_sep + result
|
|
||||||
seps += 1
|
|
||||||
return result + spaces, seps
|
|
||||||
|
|
||||||
def split(l, counts):
|
def split(l, counts):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -317,52 +278,4 @@ def intersperse(string, counts, separator=''):
|
||||||
res = separator.join(map(reverse, reverse(splits)))
|
res = separator.join(map(reverse, reverse(splits)))
|
||||||
return left + res + right, len(splits) > 0 and len(splits) -1 or 0
|
return left + res + right, len(splits) > 0 and len(splits) -1 or 0
|
||||||
|
|
||||||
# TODO rewrite this with a unit test library
|
|
||||||
def _group_examples():
|
|
||||||
for g in [original_group, intersperse]:
|
|
||||||
# print "asserts on", g.func_name
|
|
||||||
assert g("", []) == ("", 0)
|
|
||||||
assert g("0", []) == ("0", 0)
|
|
||||||
assert g("012", []) == ("012", 0)
|
|
||||||
assert g("1", []) == ("1", 0)
|
|
||||||
assert g("12", []) == ("12", 0)
|
|
||||||
assert g("123", []) == ("123", 0)
|
|
||||||
assert g("1234", []) == ("1234", 0)
|
|
||||||
assert g("123456789", []) == ("123456789", 0)
|
|
||||||
assert g("&ab%#@1", []) == ("&ab%#@1", 0)
|
|
||||||
|
|
||||||
assert g("0", []) == ("0", 0)
|
|
||||||
assert g("0", [1]) == ("0", 0)
|
|
||||||
assert g("0", [2]) == ("0", 0)
|
|
||||||
assert g("0", [200]) == ("0", 0)
|
|
||||||
|
|
||||||
# breaks original_group:
|
|
||||||
if g.func_name == 'intersperse':
|
|
||||||
assert g("12345678", [0], '.') == ('12345678', 0)
|
|
||||||
assert g("", [1], '.') == ('', 0)
|
|
||||||
assert g("12345678", [1], '.') == ('1234567.8', 1)
|
|
||||||
assert g("12345678", [1], '.') == ('1234567.8', 1)
|
|
||||||
assert g("12345678", [2], '.') == ('123456.78', 1)
|
|
||||||
assert g("12345678", [2,1], '.') == ('12345.6.78', 2)
|
|
||||||
assert g("12345678", [2,0], '.') == ('12.34.56.78', 3)
|
|
||||||
assert g("12345678", [-1,2], '.') == ('12345678', 0)
|
|
||||||
assert g("12345678", [2,-1], '.') == ('123456.78', 1)
|
|
||||||
assert g("12345678", [2,0,1], '.') == ('12.34.56.78', 3)
|
|
||||||
assert g("12345678", [2,0,0], '.') == ('12.34.56.78', 3)
|
|
||||||
assert g("12345678", [2,0,-1], '.') == ('12.34.56.78', 3)
|
|
||||||
assert g("12345678", [3,3,3,3], '.') == ('12.345.678', 2)
|
|
||||||
|
|
||||||
assert original_group("abc1234567xy", [2], '.') == ('abc1234567.xy', 1)
|
|
||||||
assert original_group("abc1234567xy8", [2], '.') == ('abc1234567xy8', 0) # difference here...
|
|
||||||
assert original_group("abc12", [3], '.') == ('abc12', 0)
|
|
||||||
assert original_group("abc12", [2], '.') == ('abc12', 0)
|
|
||||||
assert original_group("abc12", [1], '.') == ('abc1.2', 1)
|
|
||||||
|
|
||||||
assert intersperse("abc1234567xy", [2], '.') == ('abc1234567.xy', 1)
|
|
||||||
assert intersperse("abc1234567xy8", [2], '.') == ('abc1234567x.y8', 1) # ... w.r.t. here.
|
|
||||||
assert intersperse("abc12", [3], '.') == ('abc12', 0)
|
|
||||||
assert intersperse("abc12", [2], '.') == ('abc12', 0)
|
|
||||||
assert intersperse("abc12", [1], '.') == ('abc1.2', 1)
|
|
||||||
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -316,6 +316,7 @@
|
||||||
<group expand="0" string="Group By...">
|
<group expand="0" string="Group By...">
|
||||||
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
|
<filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by' : 'user_id'}" />
|
||||||
<filter string="Company" context="{'group_by': 'parent_id'}"/>
|
<filter string="Company" context="{'group_by': 'parent_id'}"/>
|
||||||
|
<filter string="Country" context="{'group_by': 'country_id'}"/>
|
||||||
</group>
|
</group>
|
||||||
</search>
|
</search>
|
||||||
</field>
|
</field>
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
import sys
|
|
||||||
import openerp
|
|
||||||
|
|
||||||
# TODO this loop will be exposed as open_openerp_namespace()
|
|
||||||
# once trunk-cleaning-vmt is merged.
|
|
||||||
for k, v in list(sys.modules.items()):
|
|
||||||
if k.startswith('openerp.') and sys.modules.get(k[8:]) is None:
|
|
||||||
sys.modules[k[8:]] = v
|
|
||||||
|
|
||||||
import openerp.addons.base.res.res_lang as res_lang
|
|
||||||
res_lang._group_examples()
|
|
||||||
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
|
@ -1,27 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# OpenERP, Open Source Management Solution
|
|
||||||
# Copyright (C) 2011-TODAY OpenERP S.A. <http://www.openerp.com>
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Affero General Public License as
|
|
||||||
# published by the Free Software Foundation, either version 3 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU Affero General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
# Useful for manual testing of cron jobs scheduling.
|
|
||||||
# This must be (un)commented with the corresponding yml file
|
|
||||||
# in ../__openerp__.py.
|
|
||||||
# import test_ir_cron
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
|
@ -5,7 +5,7 @@
|
||||||
1. Try a few common expressions to verify they work with safe_eval
|
1. Try a few common expressions to verify they work with safe_eval
|
||||||
-
|
-
|
||||||
!python {model: ir.model}: |
|
!python {model: ir.model}: |
|
||||||
from tools.safe_eval import safe_eval
|
from openerp.tools.safe_eval import safe_eval
|
||||||
expected = (1, {"a": 9 * 2}, (True, False, None))
|
expected = (1, {"a": 9 * 2}, (True, False, None))
|
||||||
actual = safe_eval('(1, {"a": 9 * 2}, (True, False, None))')
|
actual = safe_eval('(1, {"a": 9 * 2}, (True, False, None))')
|
||||||
assert actual == expected, "Simple python expressions are not working with safe_eval"
|
assert actual == expected, "Simple python expressions are not working with safe_eval"
|
||||||
|
@ -41,8 +41,8 @@
|
||||||
5. Try forbidden expressions in safe_eval to verify they are not allowed (open)
|
5. Try forbidden expressions in safe_eval to verify they are not allowed (open)
|
||||||
-
|
-
|
||||||
!python {model: ir.model}: |
|
!python {model: ir.model}: |
|
||||||
from tools.safe_eval import safe_eval
|
from openerp.tools.safe_eval import safe_eval
|
||||||
from tools.misc import mute_logger
|
from openerp.tools.misc import mute_logger
|
||||||
try:
|
try:
|
||||||
with mute_logger('openerp.tools.safe_eval'):
|
with mute_logger('openerp.tools.safe_eval'):
|
||||||
safe_eval('open("/etc/passwd","r")')
|
safe_eval('open("/etc/passwd","r")')
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
"Float precision tests: verify that float rounding methods are working correctly via res.currency"
|
"Float precision tests: verify that float rounding methods are working correctly via res.currency"
|
||||||
-
|
-
|
||||||
!python {model: res.currency}: |
|
!python {model: res.currency}: |
|
||||||
from tools import float_repr
|
from openerp.tools import float_repr
|
||||||
from math import log10
|
from math import log10
|
||||||
currency = self.browse(cr, uid, ref('base.EUR'))
|
currency = self.browse(cr, uid, ref('base.EUR'))
|
||||||
def try_round(amount, expected, self=self, cr=cr, currency=currency, float_repr=float_repr,
|
def try_round(amount, expected, self=self, cr=cr, currency=currency, float_repr=float_repr,
|
||||||
|
@ -197,7 +197,7 @@
|
||||||
"Float precision tests: verify that float rounding methods are working correctly via tools"
|
"Float precision tests: verify that float rounding methods are working correctly via tools"
|
||||||
-
|
-
|
||||||
!python {model: res.currency}: |
|
!python {model: res.currency}: |
|
||||||
from tools import float_compare, float_is_zero, float_round, float_repr
|
from openerp.tools import float_compare, float_is_zero, float_round, float_repr
|
||||||
def try_round(amount, expected, precision_digits=3, float_round=float_round, float_repr=float_repr):
|
def try_round(amount, expected, precision_digits=3, float_round=float_round, float_repr=float_repr):
|
||||||
result = float_repr(float_round(amount, precision_digits=precision_digits),
|
result = float_repr(float_round(amount, precision_digits=precision_digits),
|
||||||
precision_digits=precision_digits)
|
precision_digits=precision_digits)
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
!python {model: res.currency}: |
|
!python {model: res.currency}: |
|
||||||
currency = self.browse(cr, uid, ref('base.EUR'))
|
currency = self.browse(cr, uid, ref('base.EUR'))
|
||||||
res_currency_rate = self.pool.get('res.currency.rate')
|
res_currency_rate = self.pool.get('res.currency.rate')
|
||||||
from tools import float_compare, float_is_zero, float_round, float_repr
|
from openerp.tools import float_compare, float_is_zero, float_round, float_repr
|
||||||
def try_roundtrip(value, expected, self=self, cr=cr, currency=currency,
|
def try_roundtrip(value, expected, self=self, cr=cr, currency=currency,
|
||||||
res_currency_rate=res_currency_rate):
|
res_currency_rate=res_currency_rate):
|
||||||
rate_id = res_currency_rate.create(cr, 1, {'name':'2000-01-01',
|
rate_id = res_currency_rate.create(cr, 1, {'name':'2000-01-01',
|
||||||
|
@ -289,7 +289,7 @@
|
||||||
"Float precision tests: verify that invalid parameters are forbidden"
|
"Float precision tests: verify that invalid parameters are forbidden"
|
||||||
-
|
-
|
||||||
!python {model: res.currency}: |
|
!python {model: res.currency}: |
|
||||||
from tools import float_compare, float_is_zero, float_round
|
from openerp.tools import float_compare, float_is_zero, float_round
|
||||||
try:
|
try:
|
||||||
float_is_zero(0.01, precision_digits=3, precision_rounding=0.01)
|
float_is_zero(0.01, precision_digits=3, precision_rounding=0.01)
|
||||||
except AssertionError:
|
except AssertionError:
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
I will prepare the context
|
I will prepare the context
|
||||||
-
|
-
|
||||||
!python {model: res.users }: |
|
!python {model: res.users }: |
|
||||||
from tools import config
|
from openerp.tools import config
|
||||||
host = config.get_misc('httpd', 'interface')
|
host = config.get_misc('httpd', 'interface')
|
||||||
port = config.get_misc('httpd', 'port', 8069)
|
port = config.get_misc('httpd', 'port', 8069)
|
||||||
if not host:
|
if not host:
|
||||||
|
|
|
@ -3,6 +3,7 @@ import test_expression
|
||||||
import test_ir_attachment
|
import test_ir_attachment
|
||||||
import test_ir_values
|
import test_ir_values
|
||||||
import test_menu
|
import test_menu
|
||||||
|
import test_res_lang
|
||||||
import test_search
|
import test_search
|
||||||
|
|
||||||
checks = [
|
checks = [
|
||||||
|
@ -11,5 +12,6 @@ checks = [
|
||||||
test_ir_attachment,
|
test_ir_attachment,
|
||||||
test_ir_values,
|
test_ir_values,
|
||||||
test_menu,
|
test_menu,
|
||||||
|
test_res_lang,
|
||||||
test_search,
|
test_search,
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
import unittest2
|
||||||
|
|
||||||
|
import openerp.tests.common as common
|
||||||
|
|
||||||
|
class test_res_lang(common.TransactionCase):
|
||||||
|
|
||||||
|
def test_00_intersperse(self):
|
||||||
|
from openerp.addons.base.res.res_lang import intersperse
|
||||||
|
|
||||||
|
assert intersperse("", []) == ("", 0), "Assert passed"
|
||||||
|
assert intersperse("0", []) == ("0", 0), "Assert passed"
|
||||||
|
assert intersperse("012", []) == ("012", 0), "Assert passed"
|
||||||
|
assert intersperse("1", []) == ("1", 0), "Assert passed"
|
||||||
|
assert intersperse("12", []) == ("12", 0), "Assert passed"
|
||||||
|
assert intersperse("123", []) == ("123", 0), "Assert passed"
|
||||||
|
assert intersperse("1234", []) == ("1234", 0), "Assert passed"
|
||||||
|
assert intersperse("123456789", []) == ("123456789", 0), "Assert passed"
|
||||||
|
assert intersperse("&ab%#@1", []) == ("&ab%#@1", 0), "Assert passed"
|
||||||
|
|
||||||
|
assert intersperse("0", []) == ("0", 0), "Assert passed"
|
||||||
|
assert intersperse("0", [1]) == ("0", 0), "Assert passed"
|
||||||
|
assert intersperse("0", [2]) == ("0", 0), "Assert passed"
|
||||||
|
assert intersperse("0", [200]) == ("0", 0), "Assert passed"
|
||||||
|
|
||||||
|
assert intersperse("12345678", [1], '.') == ('1234567.8', 1)
|
||||||
|
assert intersperse("12345678", [1], '.') == ('1234567.8', 1)
|
||||||
|
assert intersperse("12345678", [2], '.') == ('123456.78', 1)
|
||||||
|
assert intersperse("12345678", [2,1], '.') == ('12345.6.78', 2)
|
||||||
|
assert intersperse("12345678", [2,0], '.') == ('12.34.56.78', 3)
|
||||||
|
assert intersperse("12345678", [-1,2], '.') == ('12345678', 0)
|
||||||
|
assert intersperse("12345678", [2,-1], '.') == ('123456.78', 1)
|
||||||
|
assert intersperse("12345678", [2,0,1], '.') == ('12.34.56.78', 3)
|
||||||
|
assert intersperse("12345678", [2,0,0], '.') == ('12.34.56.78', 3)
|
||||||
|
assert intersperse("12345678", [2,0,-1], '.') == ('12.34.56.78', 3)
|
||||||
|
assert intersperse("12345678", [3,3,3,3], '.') == ('12.345.678', 2)
|
||||||
|
|
||||||
|
assert intersperse("abc1234567xy", [2], '.') == ('abc1234567.xy', 1)
|
||||||
|
assert intersperse("abc1234567xy8", [2], '.') == ('abc1234567x.y8', 1) # ... w.r.t. here.
|
||||||
|
assert intersperse("abc12", [3], '.') == ('abc12', 0)
|
||||||
|
assert intersperse("abc12", [2], '.') == ('abc12', 0)
|
||||||
|
assert intersperse("abc12", [1], '.') == ('abc1.2', 1)
|
||||||
|
|
||||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,352 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
##############################################################################
|
|
||||||
#
|
|
||||||
# OpenERP, Open Source Management Solution
|
|
||||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
|
||||||
#
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
|
||||||
# it under the terms of the GNU Affero General Public License as
|
|
||||||
# published by the Free Software Foundation, either version 3 of the
|
|
||||||
# License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU Affero General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU Affero General Public License
|
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
##############################################################################
|
|
||||||
|
|
||||||
import xmlrpclib
|
|
||||||
import optparse
|
|
||||||
import sys
|
|
||||||
import threading
|
|
||||||
import os
|
|
||||||
import time
|
|
||||||
import base64
|
|
||||||
import socket
|
|
||||||
import string
|
|
||||||
|
|
||||||
admin_passwd = 'admin'
|
|
||||||
waittime = 10
|
|
||||||
wait_count = 0
|
|
||||||
wait_limit = 12
|
|
||||||
|
|
||||||
def to_decode(s):
|
|
||||||
try:
|
|
||||||
return s.encode('utf-8')
|
|
||||||
except UnicodeError:
|
|
||||||
try:
|
|
||||||
return s.encode('latin')
|
|
||||||
except UnicodeError:
|
|
||||||
try:
|
|
||||||
return s.decode('ascii')
|
|
||||||
except UnicodeError:
|
|
||||||
return s
|
|
||||||
|
|
||||||
def start_server(root_path, port, netport, addons_path):
|
|
||||||
os.system('python2.5 %sopenerp-server --pidfile=openerp.pid --no-xmlrpcs --xmlrpc-port=%s --netrpc-port=%s --addons-path=%s' %(root_path, str(port),str(netport),addons_path))
|
|
||||||
def clean():
|
|
||||||
if os.path.isfile('openerp.pid'):
|
|
||||||
ps = open('openerp.pid')
|
|
||||||
if ps:
|
|
||||||
pid = int(ps.read())
|
|
||||||
ps.close()
|
|
||||||
if pid:
|
|
||||||
os.kill(pid,9)
|
|
||||||
|
|
||||||
def execute(connector, method, *args):
|
|
||||||
global wait_count
|
|
||||||
res = False
|
|
||||||
try:
|
|
||||||
res = getattr(connector,method)(*args)
|
|
||||||
except socket.error,e:
|
|
||||||
if e.args[0] == 111:
|
|
||||||
if wait_count > wait_limit:
|
|
||||||
print "Server is taking too long to start, it has exceeded the maximum limit of %d seconds." % wait_limit
|
|
||||||
clean()
|
|
||||||
sys.exit(1)
|
|
||||||
print 'Please wait %d sec to start server....' % waittime
|
|
||||||
wait_count += 1
|
|
||||||
time.sleep(waittime)
|
|
||||||
res = execute(connector, method, *args)
|
|
||||||
else:
|
|
||||||
raise e
|
|
||||||
wait_count = 0
|
|
||||||
return res
|
|
||||||
|
|
||||||
def login(uri, dbname, user, pwd):
|
|
||||||
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common')
|
|
||||||
uid = execute(conn,'login',dbname, user, pwd)
|
|
||||||
return uid
|
|
||||||
|
|
||||||
def import_translate(uri, user, pwd, dbname, translate_in):
|
|
||||||
uid = login(uri, dbname, user, pwd)
|
|
||||||
if uid:
|
|
||||||
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
|
|
||||||
wiz_id = execute(conn,'create',dbname, uid, pwd, 'base.language.import')
|
|
||||||
for trans_in in translate_in:
|
|
||||||
lang,ext = os.path.splitext(trans_in.split('/')[-1])
|
|
||||||
state = 'init'
|
|
||||||
datas = {'form':{}}
|
|
||||||
while state!='end':
|
|
||||||
res = execute(conn,'execute',dbname, uid, pwd, wiz_id, datas, state, {})
|
|
||||||
if 'datas' in res:
|
|
||||||
datas['form'].update( res['datas'].get('form',{}) )
|
|
||||||
if res['type']=='form':
|
|
||||||
for field in res['fields'].keys():
|
|
||||||
datas['form'][field] = res['fields'][field].get('value', False)
|
|
||||||
state = res['state'][-1][0]
|
|
||||||
trans_obj = open(trans_in)
|
|
||||||
datas['form'].update({
|
|
||||||
'name': lang,
|
|
||||||
'code': lang,
|
|
||||||
'data' : base64.encodestring(trans_obj.read())
|
|
||||||
})
|
|
||||||
trans_obj.close()
|
|
||||||
elif res['type']=='action':
|
|
||||||
state = res['state']
|
|
||||||
|
|
||||||
|
|
||||||
def check_quality(uri, user, pwd, dbname, modules, quality_logs):
|
|
||||||
uid = login(uri, dbname, user, pwd)
|
|
||||||
quality_logs += 'quality-logs'
|
|
||||||
if uid:
|
|
||||||
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
|
|
||||||
final = {}
|
|
||||||
for module in modules:
|
|
||||||
qualityresult = {}
|
|
||||||
test_detail = {}
|
|
||||||
quality_result = execute(conn,'execute', dbname, uid, pwd,'module.quality.check','check_quality',module)
|
|
||||||
detail_html = ''
|
|
||||||
html = '''<html><body><a name="TOP"></a>'''
|
|
||||||
html +="<h1> Module: %s </h1>"%(quality_result['name'])
|
|
||||||
html += "<h2> Final score: %s</h2>"%(quality_result['final_score'])
|
|
||||||
html += "<div id='tabs'>"
|
|
||||||
html += "<ul>"
|
|
||||||
for x,y,detail in quality_result['check_detail_ids']:
|
|
||||||
test = detail.get('name')
|
|
||||||
msg = detail.get('message','')
|
|
||||||
score = round(float(detail.get('score',0)),2)
|
|
||||||
html += "<li><a href=\"#%s\">%s</a></li>"%(test.replace(' ','-'),test)
|
|
||||||
detail_html +='''<div id=\"%s\"><h3>%s (Score : %s)</h3><font color=red><h5>%s</h5></font>%s</div>'''%(test.replace(' ', '-'), test, score, msg, detail.get('detail', ''))
|
|
||||||
test_detail[test] = (score,msg,detail.get('detail',''))
|
|
||||||
html += "</ul>"
|
|
||||||
html += "%s"% detail_html
|
|
||||||
html += "</div></body></html>"
|
|
||||||
if not os.path.isdir(quality_logs):
|
|
||||||
os.mkdir(quality_logs)
|
|
||||||
fp = open('%s/%s.html'%(quality_logs,module),'wb')
|
|
||||||
fp.write(to_decode(html))
|
|
||||||
fp.close()
|
|
||||||
#final[quality_result['name']] = (quality_result['final_score'],html,test_detail)
|
|
||||||
|
|
||||||
#fp = open('quality_log.pck','wb')
|
|
||||||
#pck_obj = pickle.dump(final,fp)
|
|
||||||
#fp.close()
|
|
||||||
#print "LOG PATH%s"%(os.path.realpath('quality_log.pck'))
|
|
||||||
return True
|
|
||||||
else:
|
|
||||||
print 'Login Failed...'
|
|
||||||
clean()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def wait(id,url=''):
|
|
||||||
progress=0.0
|
|
||||||
sock2 = xmlrpclib.ServerProxy(url+'/xmlrpc/db')
|
|
||||||
while not progress==1.0:
|
|
||||||
progress,users = execute(sock2,'get_progress',admin_passwd, id)
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def create_db(uri, dbname, user='admin', pwd='admin', lang='en_US'):
|
|
||||||
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/db')
|
|
||||||
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
|
|
||||||
wiz_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
|
|
||||||
login_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/common')
|
|
||||||
db_list = execute(conn, 'list')
|
|
||||||
if dbname in db_list:
|
|
||||||
drop_db(uri, dbname)
|
|
||||||
id = execute(conn,'create',admin_passwd, dbname, True, lang)
|
|
||||||
wait(id,uri)
|
|
||||||
install_module(uri, dbname, ['base_module_quality'],user=user,pwd=pwd)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def drop_db(uri, dbname):
|
|
||||||
conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/db')
|
|
||||||
db_list = execute(conn,'list')
|
|
||||||
if dbname in db_list:
|
|
||||||
execute(conn, 'drop', admin_passwd, dbname)
|
|
||||||
return True
|
|
||||||
|
|
||||||
def make_links(uri, uid, dbname, source, destination, module, user, pwd):
|
|
||||||
if module in ('base','quality_integration_server'):
|
|
||||||
return True
|
|
||||||
if os.path.islink(destination + '/' + module):
|
|
||||||
os.unlink(destination + '/' + module)
|
|
||||||
for path in source:
|
|
||||||
if os.path.isdir(path + '/' + module):
|
|
||||||
os.symlink(path + '/' + module, destination + '/' + module)
|
|
||||||
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
|
|
||||||
execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'update_list')
|
|
||||||
module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','=',module)])
|
|
||||||
if len(module_ids):
|
|
||||||
data = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'read', module_ids[0],['name','dependencies_id'])
|
|
||||||
dep_datas = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module.dependency', 'read', data['dependencies_id'],['name'])
|
|
||||||
for dep_data in dep_datas:
|
|
||||||
make_links(uri, uid, dbname, source, destination, dep_data['name'], user, pwd)
|
|
||||||
return False
|
|
||||||
|
|
||||||
def install_module(uri, dbname, modules, addons='', extra_addons='', user='admin', pwd='admin'):
|
|
||||||
uid = login(uri, dbname, user, pwd)
|
|
||||||
if extra_addons:
|
|
||||||
extra_addons = extra_addons.split(',')
|
|
||||||
if uid:
|
|
||||||
if addons and extra_addons:
|
|
||||||
for module in modules:
|
|
||||||
make_links(uri, uid, dbname, extra_addons, addons, module, user, pwd)
|
|
||||||
|
|
||||||
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
|
|
||||||
wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
|
|
||||||
module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
|
|
||||||
execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_install', module_ids)
|
|
||||||
wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple')
|
|
||||||
state = 'init'
|
|
||||||
datas = {}
|
|
||||||
#while state!='menu':
|
|
||||||
while state!='end':
|
|
||||||
res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
|
|
||||||
if state == 'init':
|
|
||||||
state = 'start'
|
|
||||||
elif state == 'start':
|
|
||||||
state = 'end'
|
|
||||||
return True
|
|
||||||
|
|
||||||
def upgrade_module(uri, dbname, modules, user='admin', pwd='admin'):
|
|
||||||
uid = login(uri, dbname, user, pwd)
|
|
||||||
if uid:
|
|
||||||
obj_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/object')
|
|
||||||
wizard_conn = xmlrpclib.ServerProxy(uri + '/xmlrpc/wizard')
|
|
||||||
module_ids = execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'search', [('name','in',modules)])
|
|
||||||
execute(obj_conn, 'execute', dbname, uid, pwd, 'ir.module.module', 'button_upgrade', module_ids)
|
|
||||||
wiz_id = execute(wizard_conn, 'create', dbname, uid, pwd, 'module.upgrade.simple')
|
|
||||||
state = 'init'
|
|
||||||
datas = {}
|
|
||||||
#while state!='menu':
|
|
||||||
while state!='end':
|
|
||||||
res = execute(wizard_conn, 'execute', dbname, uid, pwd, wiz_id, datas, state, {})
|
|
||||||
if state == 'init':
|
|
||||||
state = 'start'
|
|
||||||
elif state == 'start':
|
|
||||||
state = 'end'
|
|
||||||
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
usage = """%prog command [options]
|
|
||||||
|
|
||||||
Basic Commands:
|
|
||||||
start-server Start Server
|
|
||||||
create-db Create new database
|
|
||||||
drop-db Drop database
|
|
||||||
install-module Install module
|
|
||||||
upgrade-module Upgrade module
|
|
||||||
install-translation Install translation file
|
|
||||||
check-quality Calculate quality and dump quality result into quality_log.pck using pickle
|
|
||||||
"""
|
|
||||||
parser = optparse.OptionParser(usage)
|
|
||||||
parser.add_option("--modules", dest="modules",
|
|
||||||
help="specify modules to install or check quality")
|
|
||||||
parser.add_option("--addons-path", dest="addons_path", help="specify the addons path")
|
|
||||||
parser.add_option("--quality-logs", dest="quality_logs", help="specify the path of quality logs files which has to stores")
|
|
||||||
parser.add_option("--root-path", dest="root_path", help="specify the root path")
|
|
||||||
parser.add_option("-p", "--port", dest="port", help="specify the TCP port", type="int")
|
|
||||||
parser.add_option("--net_port", dest="netport",help="specify the TCP port for netrpc")
|
|
||||||
parser.add_option("-d", "--database", dest="db_name", help="specify the database name")
|
|
||||||
parser.add_option("--login", dest="login", help="specify the User Login")
|
|
||||||
parser.add_option("--password", dest="pwd", help="specify the User Password")
|
|
||||||
parser.add_option("--translate-in", dest="translate_in",
|
|
||||||
help="specify .po files to import translation terms")
|
|
||||||
parser.add_option("--extra-addons", dest="extra_addons",
|
|
||||||
help="specify extra_addons and trunkCommunity modules path ")
|
|
||||||
|
|
||||||
(opt, args) = parser.parse_args()
|
|
||||||
if len(args) != 1:
|
|
||||||
parser.error("incorrect number of arguments")
|
|
||||||
command = args[0]
|
|
||||||
if command not in ('start-server','create-db','drop-db','install-module','upgrade-module','check-quality','install-translation'):
|
|
||||||
parser.error("incorrect command")
|
|
||||||
|
|
||||||
def die(cond, msg):
|
|
||||||
if cond:
|
|
||||||
print msg
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
die(opt.modules and (not opt.db_name),
|
|
||||||
"the modules option cannot be used without the database (-d) option")
|
|
||||||
|
|
||||||
die(opt.translate_in and (not opt.db_name),
|
|
||||||
"the translate-in option cannot be used without the database (-d) option")
|
|
||||||
|
|
||||||
options = {
|
|
||||||
'addons-path' : opt.addons_path or 'addons',
|
|
||||||
'quality-logs' : opt.quality_logs or '',
|
|
||||||
'root-path' : opt.root_path or '',
|
|
||||||
'translate-in': [],
|
|
||||||
'port' : opt.port or 8069,
|
|
||||||
'netport':opt.netport or 8070,
|
|
||||||
'database': opt.db_name or 'terp',
|
|
||||||
'modules' : map(string.strip, opt.modules.split(',')) if opt.modules else [],
|
|
||||||
'login' : opt.login or 'admin',
|
|
||||||
'pwd' : opt.pwd or '',
|
|
||||||
'extra-addons':opt.extra_addons or []
|
|
||||||
}
|
|
||||||
# Hint:i18n-import=purchase:ar_AR.po+sale:fr_FR.po,nl_BE.po
|
|
||||||
if opt.translate_in:
|
|
||||||
translate = opt.translate_in
|
|
||||||
for module_name,po_files in map(lambda x:tuple(x.split(':')),translate.split('+')):
|
|
||||||
for po_file in po_files.split(','):
|
|
||||||
if module_name == 'base':
|
|
||||||
po_link = '%saddons/%s/i18n/%s'%(options['root-path'],module_name,po_file)
|
|
||||||
else:
|
|
||||||
po_link = '%s/%s/i18n/%s'%(options['addons-path'], module_name, po_file)
|
|
||||||
options['translate-in'].append(po_link)
|
|
||||||
|
|
||||||
uri = 'http://localhost:' + str(options['port'])
|
|
||||||
|
|
||||||
server_thread = threading.Thread(target=start_server,
|
|
||||||
args=(options['root-path'], options['port'],options['netport'], options['addons-path']))
|
|
||||||
try:
|
|
||||||
server_thread.start()
|
|
||||||
if command == 'create-db':
|
|
||||||
create_db(uri, options['database'], options['login'], options['pwd'])
|
|
||||||
if command == 'drop-db':
|
|
||||||
drop_db(uri, options['database'])
|
|
||||||
if command == 'install-module':
|
|
||||||
install_module(uri, options['database'], options['modules'],options['addons-path'],options['extra-addons'],options['login'], options['pwd'])
|
|
||||||
if command == 'upgrade-module':
|
|
||||||
upgrade_module(uri, options['database'], options['modules'], options['login'], options['pwd'])
|
|
||||||
if command == 'check-quality':
|
|
||||||
check_quality(uri, options['login'], options['pwd'], options['database'], options['modules'], options['quality-logs'])
|
|
||||||
if command == 'install-translation':
|
|
||||||
import_translate(uri, options['login'], options['pwd'], options['database'], options['translate-in'])
|
|
||||||
clean()
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
except xmlrpclib.Fault, e:
|
|
||||||
print e.faultString
|
|
||||||
clean()
|
|
||||||
sys.exit(1)
|
|
||||||
except Exception, e:
|
|
||||||
print e
|
|
||||||
clean()
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
|
@ -32,6 +32,7 @@ by the user to check if her code is future proof.
|
||||||
# without the 'openerp.' prefix. E.g. openerp.osv.osv and osv.osv refer to the
|
# without the 'openerp.' prefix. E.g. openerp.osv.osv and osv.osv refer to the
|
||||||
# same module.
|
# same module.
|
||||||
# Introduced around 2011.02.
|
# Introduced around 2011.02.
|
||||||
open_openerp_namespace = True
|
# Change to False around 2013.02.
|
||||||
|
open_openerp_namespace = False
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
``openerp.http`` offers decorators to register WSGI and RPC endpoints handlers.
|
||||||
|
See :ref:`routing`.
|
||||||
|
"""
|
||||||
|
|
||||||
|
from . import service
|
||||||
|
|
||||||
|
def handler():
|
||||||
|
"""
|
||||||
|
Decorator to register a WSGI handler. The handler must return None if it
|
||||||
|
does not handle the request.
|
||||||
|
"""
|
||||||
|
def decorator(f):
|
||||||
|
service.wsgi_server.register_wsgi_handler(f)
|
||||||
|
return decorator
|
||||||
|
|
||||||
|
def route(url):
|
||||||
|
"""
|
||||||
|
Same as then handler() decorator but register the handler under a specific
|
||||||
|
url. Not yet implemented.
|
||||||
|
"""
|
||||||
|
def decorator(f):
|
||||||
|
pass # TODO
|
||||||
|
return decorator
|
||||||
|
|
||||||
|
def rpc(endpoint):
|
||||||
|
"""
|
||||||
|
Decorator to register a RPC endpoint handler. The handler will receive
|
||||||
|
already unmarshalled RCP arguments.
|
||||||
|
"""
|
||||||
|
def decorator(f):
|
||||||
|
service.wsgi_server.register_rpc_endpoint(endpoint, f)
|
||||||
|
return decorator
|
||||||
|
|
||||||
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -246,17 +246,10 @@
|
||||||
</rng:define>
|
</rng:define>
|
||||||
|
|
||||||
<rng:start>
|
<rng:start>
|
||||||
<rng:choice>
|
|
||||||
<rng:element name="openerp">
|
<rng:element name="openerp">
|
||||||
<rng:oneOrMore>
|
<rng:oneOrMore>
|
||||||
<rng:ref name="data" />
|
<rng:ref name="data" />
|
||||||
</rng:oneOrMore>
|
</rng:oneOrMore>
|
||||||
</rng:element>
|
</rng:element>
|
||||||
<rng:element name="terp">
|
|
||||||
<rng:oneOrMore>
|
|
||||||
<rng:ref name="data" />
|
|
||||||
</rng:oneOrMore>
|
|
||||||
</rng:element>
|
|
||||||
</rng:choice>
|
|
||||||
</rng:start>
|
</rng:start>
|
||||||
</rng:grammar>
|
</rng:grammar>
|
||||||
|
|
|
@ -46,7 +46,7 @@ class Logger(object):
|
||||||
_logger.warning(
|
_logger.warning(
|
||||||
"notifyChannel API shouldn't be used anymore, please use "
|
"notifyChannel API shouldn't be used anymore, please use "
|
||||||
"the standard `logging` module instead.")
|
"the standard `logging` module instead.")
|
||||||
from service.web_services import common
|
from service import common
|
||||||
|
|
||||||
log = logging.getLogger(__name__ + '.deprecated.' + ustr(name))
|
log = logging.getLogger(__name__ + '.deprecated.' + ustr(name))
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ class Logger(object):
|
||||||
try:
|
try:
|
||||||
msg = ustr(msg).strip()
|
msg = ustr(msg).strip()
|
||||||
if level in (LOG_ERROR, LOG_CRITICAL): # and tools.config.get_misc('debug','env_info',False):
|
if level in (LOG_ERROR, LOG_CRITICAL): # and tools.config.get_misc('debug','env_info',False):
|
||||||
msg = common().exp_get_server_environment() + "\n" + msg
|
msg = common.exp_get_server_environment() + "\n" + msg
|
||||||
|
|
||||||
result = msg.split('\n')
|
result = msg.split('\n')
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
# OpenERP, Open Source Management Solution
|
# OpenERP, Open Source Management Solution
|
||||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||||
# Copyright (C) 2010-2012 OpenERP s.a. (<http://openerp.com>).
|
# Copyright (C) 2010-2013 OpenERP s.a. (<http://openerp.com>).
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU Affero General Public License as
|
# it under the terms of the GNU Affero General Public License as
|
||||||
|
@ -36,24 +36,15 @@ import openerp.modules.graph
|
||||||
import openerp.modules.migration
|
import openerp.modules.migration
|
||||||
import openerp.osv as osv
|
import openerp.osv as osv
|
||||||
import openerp.pooler as pooler
|
import openerp.pooler as pooler
|
||||||
import openerp.release as release
|
|
||||||
import openerp.tools as tools
|
import openerp.tools as tools
|
||||||
from openerp import SUPERUSER_ID
|
from openerp import SUPERUSER_ID
|
||||||
|
|
||||||
from openerp import SUPERUSER_ID
|
|
||||||
from openerp.tools.translate import _
|
from openerp.tools.translate import _
|
||||||
from openerp.modules.module import initialize_sys_path, \
|
from openerp.modules.module import initialize_sys_path, \
|
||||||
load_openerp_module, init_module_models
|
load_openerp_module, init_module_models, adapt_version
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def open_openerp_namespace():
|
|
||||||
# See comment for open_openerp_namespace.
|
|
||||||
if openerp.conf.deprecation.open_openerp_namespace:
|
|
||||||
for k, v in list(sys.modules.items()):
|
|
||||||
if k.startswith('openerp.') and sys.modules.get(k[8:]) is None:
|
|
||||||
sys.modules[k[8:]] = v
|
|
||||||
|
|
||||||
|
|
||||||
def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=None, report=None):
|
def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=None, report=None):
|
||||||
"""Migrates+Updates or Installs all module nodes from ``graph``
|
"""Migrates+Updates or Installs all module nodes from ``graph``
|
||||||
|
@ -213,7 +204,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
|
||||||
|
|
||||||
migrations.migrate_module(package, 'post')
|
migrations.migrate_module(package, 'post')
|
||||||
|
|
||||||
ver = release.major_version + '.' + package.data['version']
|
ver = adapt_version(package.data['version'])
|
||||||
# Set new modules and dependencies
|
# Set new modules and dependencies
|
||||||
modobj.write(cr, SUPERUSER_ID, [module_id], {'state': 'installed', 'latest_version': ver})
|
modobj.write(cr, SUPERUSER_ID, [module_id], {'state': 'installed', 'latest_version': ver})
|
||||||
# Update translations for all installed languages
|
# Update translations for all installed languages
|
||||||
|
@ -270,8 +261,6 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
||||||
# It should be a method exposed by the pool.
|
# It should be a method exposed by the pool.
|
||||||
initialize_sys_path()
|
initialize_sys_path()
|
||||||
|
|
||||||
open_openerp_namespace()
|
|
||||||
|
|
||||||
force = []
|
force = []
|
||||||
if force_demo:
|
if force_demo:
|
||||||
force.append('demo')
|
force.append('demo')
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue