[MERGE] from trunk
bzr revid: xmo@openerp.com-20121010154436-wz29sdkbs9vvhjba
This commit is contained in:
commit
1e4a677f05
|
@ -24,6 +24,7 @@ Depends:
|
|||
python-lxml,
|
||||
python-mako,
|
||||
python-openid,
|
||||
python-psutil,
|
||||
python-psycopg2,
|
||||
python-pybabel,
|
||||
python-pychart,
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
# Gunicorn sample configuration file.
|
||||
# See http://gunicorn.org/configure.html for more details.
|
||||
#
|
||||
# To run the OpenERP server via Gunicorn, change the appropriate
|
||||
# settings below, in order to provide the parameters that
|
||||
# would normally be passed in the command-line,
|
||||
# (at least `bind` and `conf['addons_path']`), then execute:
|
||||
# $ gunicorn openerp:wsgi.core.application -c gunicorn.conf.py
|
||||
# or if you want to run it behind a reverse proxy, add the line
|
||||
# import openerp.wsgi.proxied
|
||||
# in this file and execute:
|
||||
# $ gunicorn openerp:wsgi.proxied.application -c gunicorn.conf.py
|
||||
|
||||
import openerp
|
||||
|
||||
# Standard OpenERP XML-RPC port is 8069
|
||||
bind = '127.0.0.1:8069'
|
||||
|
||||
pidfile = '.gunicorn.pid'
|
||||
|
||||
# Gunicorn recommends 2-4 x number_of_cpu_cores, but
|
||||
# you'll want to vary this a bit to find the best for your
|
||||
# particular work load.
|
||||
workers = 4
|
||||
|
||||
# Some application-wide initialization is needed.
|
||||
on_starting = openerp.wsgi.core.on_starting
|
||||
when_ready = openerp.wsgi.core.when_ready
|
||||
pre_request = openerp.wsgi.core.pre_request
|
||||
post_request = openerp.wsgi.core.post_request
|
||||
|
||||
# openerp request-response cycle can be quite long for
|
||||
# big reports for example
|
||||
timeout = 240
|
||||
|
||||
max_requests = 2000
|
||||
|
||||
# Equivalent of --load command-line option
|
||||
openerp.conf.server_wide_modules = ['web']
|
||||
|
||||
# internal TODO: use openerp.conf.xxx when available
|
||||
conf = openerp.tools.config
|
||||
|
||||
# Path to the OpenERP Addons repository (comma-separated for
|
||||
# multiple locations)
|
||||
conf['addons_path'] = '/home/openerp/addons/trunk,/home/openerp/web/trunk/addons'
|
||||
|
||||
# Optional database config if not using local socket
|
||||
#conf['db_name'] = 'mycompany'
|
||||
#conf['db_host'] = 'localhost'
|
||||
#conf['db_user'] = 'foo'
|
||||
#conf['db_port'] = 5432
|
||||
#conf['db_password'] = 'secret'
|
||||
|
||||
# OpenERP Log Level
|
||||
# DEBUG=10, DEBUG_RPC=8, DEBUG_RPC_ANSWER=6, DEBUG_SQL=5, INFO=20,
|
||||
# WARNING=30, ERROR=40, CRITICAL=50
|
||||
# conf['log_level'] = 20
|
||||
|
||||
# If --static-http-enable is used, path for the static web directory
|
||||
#conf['static_http_document_root'] = '/var/www'
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -30,7 +30,6 @@ GNU Public Licence.
|
|||
(c) 2003-TODAY, Fabien Pinckaers - OpenERP SA
|
||||
"""
|
||||
|
||||
import imp
|
||||
import logging
|
||||
import os
|
||||
import signal
|
||||
|
@ -92,7 +91,7 @@ def setup_pid_file():
|
|||
def preload_registry(dbname):
|
||||
""" Preload a registry, and start the cron."""
|
||||
try:
|
||||
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=config['init'] or config['update'], pooljobs=False)
|
||||
db, registry = openerp.pooler.get_db_and_pool(dbname, update_module=openerp.tools.config['init'] or openerp.tools.config['update'], pooljobs=False)
|
||||
|
||||
# jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services()
|
||||
registry.schedule_cron_jobs()
|
||||
|
@ -111,7 +110,6 @@ def run_test_file(dbname, test_file):
|
|||
except Exception:
|
||||
_logger.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file)
|
||||
|
||||
|
||||
def export_translation():
|
||||
config = openerp.tools.config
|
||||
dbname = config['db_name']
|
||||
|
@ -203,9 +201,10 @@ def quit_on_signals():
|
|||
try:
|
||||
while quit_signals_received == 0:
|
||||
time.sleep(60)
|
||||
except KeyboardInterrupt, e:
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
|
||||
config = openerp.tools.config
|
||||
if config['pidfile']:
|
||||
os.unlink(config['pidfile'])
|
||||
|
||||
|
@ -218,8 +217,7 @@ def configure_babel_localedata_path():
|
|||
import babel
|
||||
babel.localedata._dirname = os.path.join(os.path.dirname(sys.executable), 'localedata')
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
def main():
|
||||
os.environ["TZ"] = "UTC"
|
||||
|
||||
check_root_user()
|
||||
|
@ -248,20 +246,13 @@ if __name__ == "__main__":
|
|||
sys.exit(0)
|
||||
|
||||
if not config["stop_after_init"]:
|
||||
setup_pid_file()
|
||||
# Some module register themselves when they are loaded so we need the
|
||||
# services to be running before loading any registry.
|
||||
openerp.service.start_services()
|
||||
|
||||
for m in openerp.conf.server_wide_modules:
|
||||
try:
|
||||
openerp.modules.module.load_openerp_module(m)
|
||||
except Exception:
|
||||
msg = ''
|
||||
if m == 'web':
|
||||
msg = """
|
||||
The `web` module is provided by the addons found in the `openerp-web` project.
|
||||
Maybe you forgot to add those addons in your addons_path configuration."""
|
||||
_logger.exception('Failed to load server-wide module `%s`.%s', m, msg)
|
||||
if config['workers']:
|
||||
openerp.service.start_services_workers()
|
||||
else:
|
||||
openerp.service.start_services()
|
||||
|
||||
if config['db_name']:
|
||||
for dbname in config['db_name'].split(','):
|
||||
|
@ -270,8 +261,10 @@ Maybe you forgot to add those addons in your addons_path configuration."""
|
|||
if config["stop_after_init"]:
|
||||
sys.exit(0)
|
||||
|
||||
setup_pid_file()
|
||||
_logger.info('OpenERP server is running, waiting for connections...')
|
||||
quit_on_signals()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/python
|
||||
# WSGI Handler sample configuration file.
|
||||
#
|
||||
# Change the appropriate settings below, in order to provide the parameters
|
||||
# that would normally be passed in the command-line.
|
||||
# (at least conf['addons_path'])
|
||||
#
|
||||
# For generic wsgi handlers a global application is defined.
|
||||
# For uwsgi this should work:
|
||||
# $ uwsgi_python --http :9090 --pythonpath . --wsgi-file openerp-wsgi.py
|
||||
#
|
||||
# For gunicorn additional globals need to be defined in the Gunicorn section.
|
||||
# Then the following command should run:
|
||||
# $ gunicorn openerp:service.wsgi_server.application -c openerp-wsgi.py
|
||||
|
||||
import openerp
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Common
|
||||
#----------------------------------------------------------
|
||||
openerp.multi_process = True # Nah!
|
||||
|
||||
# Equivalent of --load command-line option
|
||||
openerp.conf.server_wide_modules = ['web']
|
||||
conf = openerp.tools.config
|
||||
|
||||
# Path to the OpenERP Addons repository (comma-separated for
|
||||
# multiple locations)
|
||||
|
||||
conf['addons_path'] = '../../addons/trunk,../../web/trunk/addons'
|
||||
|
||||
# Optional database config if not using local socket
|
||||
#conf['db_name'] = 'mycompany'
|
||||
#conf['db_host'] = 'localhost'
|
||||
#conf['db_user'] = 'foo'
|
||||
#conf['db_port'] = 5432
|
||||
#conf['db_password'] = 'secret'
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Generic WSGI handlers application
|
||||
#----------------------------------------------------------
|
||||
application = openerp.service.wsgi_server.application
|
||||
|
||||
#----------------------------------------------------------
|
||||
# Gunicorn
|
||||
#----------------------------------------------------------
|
||||
# Standard OpenERP XML-RPC port is 8069
|
||||
bind = '127.0.0.1:8069'
|
||||
pidfile = '.gunicorn.pid'
|
||||
workers = 4
|
||||
timeout = 240
|
||||
max_requests = 2000
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -38,11 +38,19 @@ import run_tests
|
|||
import service
|
||||
import sql_db
|
||||
import test
|
||||
import tiny_socket
|
||||
import tools
|
||||
import wizard
|
||||
import workflow
|
||||
import wsgi
|
||||
# backward compatilbility
|
||||
# TODO: This is for the web addons, can be removed later.
|
||||
wsgi = service
|
||||
wsgi.register_wsgi_handler = wsgi.wsgi_server.register_wsgi_handler
|
||||
# Is the server running in multi-process mode (e.g. behind Gunicorn).
|
||||
# If this is True, the processes have to communicate some events,
|
||||
# e.g. database update or cache invalidation. Each process has also
|
||||
# its own copy of the data structure and we don't need to care about
|
||||
# locks between threads.
|
||||
multi_process = False
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ The kernel of OpenERP, needed for all installation.
|
|||
'data': [
|
||||
'base_data.xml',
|
||||
'currency_data.xml',
|
||||
'country_data.xml',
|
||||
'res/res_country_data.xml',
|
||||
'security/base_security.xml',
|
||||
'base_menu.xml',
|
||||
'res/res_security.xml',
|
||||
|
@ -98,7 +98,6 @@ The kernel of OpenERP, needed for all installation.
|
|||
],
|
||||
'installable': True,
|
||||
'auto_install': True,
|
||||
'certificate': '0076807797149',
|
||||
'css': ['static/src/css/modules.css'],
|
||||
}
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -294,7 +294,6 @@ CREATE TABLE ir_module_module (
|
|||
shortdesc character varying(256),
|
||||
complexity character varying(32),
|
||||
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
|
||||
certificate character varying(64),
|
||||
description text,
|
||||
application boolean default False,
|
||||
demo boolean default False,
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,5 +14,12 @@
|
|||
<field name="company_id" ref="main_company"/>
|
||||
<field name="groups_id" eval="[(6,0,[ref('base.group_user')])]"/>
|
||||
</record>
|
||||
|
||||
<!-- new rate for demo transactions in multi currency -->
|
||||
<record id="rateUSDbis" model="res.currency.rate">
|
||||
<field name="rate">1.5289</field>
|
||||
<field name="currency_id" ref="USD"/>
|
||||
<field eval="time.strftime('%Y-06-06')" name="name"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -29,5 +29,17 @@
|
|||
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
|
||||
<menuitem id="next_id_4" name="Low Level Objects" parent="menu_custom" sequence="30"/>
|
||||
|
||||
<record id="action_client_base_menu" model="ir.actions.client">
|
||||
<field name="name">Open Settings Menu</field>
|
||||
<field name="tag">reload</field>
|
||||
<field name="params" eval="{'menu_id': ref('base.menu_administration')}"/>
|
||||
</record>
|
||||
<record id="open_menu" model="ir.actions.todo">
|
||||
<field name="action_id" ref="action_client_base_menu"/>
|
||||
<field name="type">automatic</field>
|
||||
<field name="sequence">100</field>
|
||||
<field name="state">done</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
<field name="symbol">$</field>
|
||||
<field name="rounding">0.01</field>
|
||||
<field name="accuracy">4</field>
|
||||
<field name="position">before</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
</record>
|
||||
<record id="rateUSD" model="res.currency.rate">
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -727,7 +727,7 @@ msgstr ""
|
|||
#: help:ir.actions.todo,type:0
|
||||
msgid "Manual: Launched manually.\n"
|
||||
"Automatic: Runs whenever the system is reconfigured.\n"
|
||||
"Launch Manually Once: after hacing been launched manually, it sets automatically to Done."
|
||||
"Launch Manually Once: after having been launched manually, it sets automatically to Done."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -1317,11 +1317,6 @@ msgstr ""
|
|||
msgid "Create _Menu"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: field:res.payterm,name:0
|
||||
msgid "Payment Term (short name)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_bank
|
||||
#: view:res.bank:0
|
||||
|
@ -2155,7 +2150,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Portugese (BR) / Português (BR)"
|
||||
msgid "Portuguese (BR) / Português (BR)"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -3002,7 +2997,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Portugese / Português"
|
||||
msgid "Portuguese / Português"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -3206,11 +3201,6 @@ msgstr ""
|
|||
msgid "Error ! You cannot create recursive associated members."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: view:res.payterm:0
|
||||
msgid "Payment Term"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: selection:res.lang,direction:0
|
||||
msgid "Right-to-Left"
|
||||
|
@ -3430,7 +3420,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_sir
|
||||
msgid "M."
|
||||
msgid "Sir"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -5037,7 +5027,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: help:res.country.state,code:0
|
||||
msgid "The state code in three chars.\n"
|
||||
msgid "The state code in max. three chars."
|
||||
""
|
||||
msgstr ""
|
||||
|
||||
|
@ -10134,7 +10124,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_miss
|
||||
msgid "Mss"
|
||||
msgid "Miss"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -10249,7 +10239,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_madam
|
||||
msgid "Ms."
|
||||
msgid "Mrs."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
|
@ -11306,6 +11296,35 @@ msgstr ""
|
|||
msgid "Madam"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_mister
|
||||
msgid "Mister"
|
||||
msgstr ""
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_doctor
|
||||
msgid "Doctor"
|
||||
msgstr ""
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_prof
|
||||
msgid "Professor"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_mister
|
||||
msgid "Mr."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_doctor
|
||||
msgid "Dr."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,shortcut:base.res_partner_title_prof
|
||||
msgid "Prof."
|
||||
msgstr ""
|
||||
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ee
|
||||
msgid "Estonia"
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Language: Czech\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -7492,7 +7492,7 @@ msgstr "Arbeitstage"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_multi_company
|
||||
msgid "Multi-Company"
|
||||
msgstr ""
|
||||
msgstr "Mehrfach-Unternehmen"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_rml_content:0
|
||||
|
@ -8331,6 +8331,21 @@ msgid ""
|
|||
"Secondly, price differences between actual purchase price and fixed product "
|
||||
"standard price are booked on a separate account"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul unterstützt die Angelsächsische Buchungsmethodik durch Änderung "
|
||||
"der Buchungslogik bei Lagerbewegungen.\n"
|
||||
"============================================================================="
|
||||
"=========================\n"
|
||||
"\n"
|
||||
"Der Unterschied zwischen Angelsächsischer und der \"Rheinischen\" (auch "
|
||||
"kontinentale genannt) Buchungsmethoden liegt im Bewertungsansatz. "
|
||||
"Angelsächsisch werden die Kosten im Moment des Verkaufs, Kontinental werden "
|
||||
"die Kosten bis zum Versand herangezogen. Dieses Modul fügt diese "
|
||||
"Funktionalität durch Hinzufügen eines Interimskontos ein, in dem der Wert "
|
||||
"der ausgelieferten Ware gegengebucht wird, wenn die Rechnung erstellt wird "
|
||||
"und der Gegenwert auf das Debtoren- bzw. Kreditorenkonto wertgestellt wird.\n"
|
||||
"Zweitens werden Preisunterschiede zwischen aktuellen Einkaufspreis und dem "
|
||||
"vorgegebenen Einstandspreis auf einem separaten Konto verbucht."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,title:0
|
||||
|
@ -8689,6 +8704,95 @@ msgid ""
|
|||
"from Gate A\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul ergänzt das Lager-Verwaltungs-Modul durch Umsetzung Push- und "
|
||||
"Pull-Warenflüsse.\n"
|
||||
"============================================================================="
|
||||
"=====\n"
|
||||
"\n"
|
||||
"Typischerweise kann dies verwendet werden für:\n"
|
||||
"* Verwaltung von Produkt-Fertigungs-Flüssen\n"
|
||||
"* Verwaltung von Standard-Lagerorten je Produkt\n"
|
||||
"* Waren-Routing innerhalb der Lager an betriebliche Erfordernisse anpassen, "
|
||||
"wie z. B.\n"
|
||||
" - Qualitätskontrollen\n"
|
||||
" - \"After Sales\" Dienstleistungen\n"
|
||||
" - Retouren an Lieferanten\n"
|
||||
"\n"
|
||||
"* Unterstützen von Vermietungsverwaltung, durch Erzeugen von automatischen "
|
||||
"Retouren für Mietobjekte\n"
|
||||
"\n"
|
||||
"Nach der Installation dieses Moduls erscheint ein zusätzlicher Reiter im "
|
||||
"Produkt-Formular, in dem Sie Push-/Pull-Flüsse festlegen können. Die "
|
||||
"Demodaten des Produktes CPU1 zeigen dies:\n"
|
||||
"\n"
|
||||
"Push-Flüsse\n"
|
||||
"----------\n"
|
||||
"Push-Flüsse sind sinnvoll, wenn der Warenzugang immer eine entsprechende "
|
||||
"Warenbewegung \n"
|
||||
"an einen anderen Ort, ggf. mit Zeitverzögerung, zur Folge haben soll. Die "
|
||||
"ursprüngliche\n"
|
||||
"Lagerverwaltung sieht bereits Push-Flüsse per Lagerort vor, diese können "
|
||||
"jedoch nicht per\n"
|
||||
"Produkt detailliert werden.\n"
|
||||
"\n"
|
||||
"Ein Push-Fluss wird durch die Festlegung der Verkettung der Lagerorte und "
|
||||
"der jeweiligen \n"
|
||||
"Parameter. Sobald eine vorgegebene Anzahl Produkte am Quellort bewegt "
|
||||
"wurden, wird eine \n"
|
||||
"verkettete Bewegung gemäß der Fluss-Parameter (Zielort, Verzögerung, "
|
||||
"Bewegungsart, \n"
|
||||
"Berichtsinhalt, ...) vorgesehen. Die neue Lagerbewegung kann, je nach "
|
||||
"Angaben, automatisch\n"
|
||||
"geschehen oder aber manuell bestätigt und angestossen werden.\n"
|
||||
"\n"
|
||||
"Pull-Flüsse\n"
|
||||
"----------\n"
|
||||
"Pull-Flüsse sind ein wenig anders als Push-Flüsse, in dem sie nicht so sehr "
|
||||
"in Bezug stehen \n"
|
||||
"zu Lagerbewegungen, sondern vielmehr aus Bedarfen abgeleitet werden.\n"
|
||||
"Was \"bezogen\" wird erzeugt einen Bedarf, nicht notwendigerweise ein "
|
||||
"Produkt.\n"
|
||||
"Ein klassisches Beispiel für einen Pull-Fluss ist ein Unternehmen mit "
|
||||
"Verkaufsfilialen (Outlets).\n"
|
||||
"Das Mutterhaus ist für die Belieferung der Filialen zuständig.\n"
|
||||
"\n"
|
||||
"[Kunde] <- A [Filiale A] <- B [Holding] <~ C [Lieferant]\n"
|
||||
"\n"
|
||||
"Wenn ein Beschaffungsauftrag in der Filiale A (z. B. durch einen "
|
||||
"Verkauf/Auftrag) eintrifft, wird\n"
|
||||
"daraus ein weiterer Beschaffungsauftrag erstellt, welcher an \"Holding B\" "
|
||||
"eine Anforderung\n"
|
||||
"bewirkt (Bezugsanforderung). Hier wird lediglich ein Lagertransfer von der "
|
||||
"Holding B nach \n"
|
||||
"Filiale A angestossen.\n"
|
||||
"Wenn die Bedarfsanforderung der Filiale in der Holding bearbeitet wird und, "
|
||||
"sollte der\n"
|
||||
"Bestand in der Holding ausverkauft sein, so kann daraus ein "
|
||||
"Beschaffungsauftrag an den\n"
|
||||
"Lieferanten C erstellt werden (Pull/Bezug).\n"
|
||||
"Im Ergebnis wird der Bezug des Kunden in der Filiale Bedarfsanforderungen "
|
||||
"bis hin zum \n"
|
||||
"Lieferanten bewirken.\n"
|
||||
"\n"
|
||||
"Technisch erlaubt ein Pull-Fluss eine andere Behandlung von Beschaffungen in "
|
||||
"Abhängigkeit\n"
|
||||
"nicht nur des betrachteten Produktes selbst, sondern auch vom Ort an dem der "
|
||||
"Bedarf\n"
|
||||
"auftritt bzw. dessen Ziel.\n"
|
||||
"\n"
|
||||
"Anwendungsfall:\n"
|
||||
"--------\n"
|
||||
"\n"
|
||||
"Sie können die Demonstrationsdaten folgendemassen verwenden:\n"
|
||||
"CPU1: Eine CPU1 im Shop 1 verkaufen und die Terminierung laufen lassen\n"
|
||||
"- Lager: Lieferschein, Shop 1: Wareneingang\n"
|
||||
"CPU3:\n"
|
||||
"- Bei Erhalt des Produktes wird dies der Qualitätskontrolle zugeführt, "
|
||||
"danach im Regal 2 abgelegt.\n"
|
||||
"- Bei Lieferung an den Kunden: Warenentnahmeschein -> Packliste -> "
|
||||
"Lieferschein von Tor A\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_marketing
|
||||
|
@ -8880,6 +8984,21 @@ msgid ""
|
|||
"invoice and send propositions for membership renewal.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul ermöglicht die Mitglieder-Verwaltung.\n"
|
||||
"==============================================\n"
|
||||
"\n"
|
||||
"Es werden verschiedene Arten von Mitgliedern unterstützt:\n"
|
||||
"* Beitragsfreie Mitglieder\n"
|
||||
"* Gruppenmitglieder (z. B. Teilnehmer-Gruppen zur Mitgliedschaft aller "
|
||||
"Gruppenmitglieder)\n"
|
||||
"* Beitragspflichtige Mitglieder\n"
|
||||
"* Sonderpreise für bestimmte Mitglieder\n"
|
||||
"\n"
|
||||
"Integriert wird dieses Modul in das Verkaufsmodul und die Buchhaltung und "
|
||||
"erlaubt automatische\n"
|
||||
"Rechnungsstellung und das Versenden von Mitgliedschaftsverlängerungen.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_attendance
|
||||
|
@ -8892,6 +9011,13 @@ msgid ""
|
|||
"actions(Sign in/Sign out) performed by them.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul verwaltet die Anwesenheitszeiten von Mitarbeitern.\n"
|
||||
"=========================================================\n"
|
||||
"\n"
|
||||
"Führt Konten über die Anwesenheiten der Mitarbeiter aus Basis von Aktionen \n"
|
||||
"(An- und Abmeldung) durch diese.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,maintainer:0
|
||||
|
@ -8961,6 +9087,21 @@ msgid ""
|
|||
" * Number Padding\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul verwaltet intern verwendete Folgen-/Sequenznummern für Einträge "
|
||||
"der Buchhaltung.\n"
|
||||
"============================================================================="
|
||||
"======\n"
|
||||
"\n"
|
||||
"Ermöglich Ihnen die Einstellung der geführten Buchungssequenzen.\n"
|
||||
"\n"
|
||||
"Sie können dabei folgende Einstellungen vornehmen:\n"
|
||||
" * Präfix\n"
|
||||
" * Postfix (Anhang)\n"
|
||||
" * Nächste Zahl\n"
|
||||
" * Inkrement / Erhöhungswert\n"
|
||||
" * Ziffernanzahl / führende Nullen\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.to
|
||||
|
@ -9309,7 +9450,7 @@ msgstr "Dominika"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_module_record
|
||||
msgid "Record and Create Modules"
|
||||
msgstr ""
|
||||
msgstr "Module Aufzeichnen und Erzeugen"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_partner_sms_send
|
||||
|
@ -9353,6 +9494,45 @@ msgid ""
|
|||
" Administration / Users / Users\n"
|
||||
" for example, you maybe will do it for the user 'admin'.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul dient der Verwaltung von Urlaub und Urlaubsanträgen.\n"
|
||||
"=========================================================\n"
|
||||
"\n"
|
||||
"Setzt eine Pinwand für die Personalverwaltung um, welches folgen Inhalt "
|
||||
"hat:\n"
|
||||
" * Abwesenheiten / Urlaub\n"
|
||||
"\n"
|
||||
"Nehmen Sie zur Kenntnis:\n"
|
||||
" - Eine Synchronisation mit internen Terminkalendern (Kundenverwaltung) "
|
||||
"ist möglich: Um automatisch\n"
|
||||
" ein Ereignis anzulegen, wenn ein Urlaubsantrag genehmigt wird, müssen "
|
||||
"Sie den Urlaubsstatus mit\n"
|
||||
" mit einer Ereigniskategorie verknüpfen. Diese Information und Ihre "
|
||||
"Farbwahl treffen Sie in:\n"
|
||||
" Personal->Konfiguration->Abwesenheiten->Abwesenheitsarten\n"
|
||||
" - Ein Mitarbeiter kann eine Anfrage nach mehr freien Tagen, abhängig von "
|
||||
"der Abwesenheitsart, stellen.\n"
|
||||
" Die Gesamtzahl der Abwesenheitstage wird entsprechend erhöht, wenn der "
|
||||
"Antrag gewährt wird.\n"
|
||||
" - Es gibt zwei Wege die Abwesenheiten eines Mitarbeiters zu drucken:\n"
|
||||
" * Mitarbeiter können nach Abteilungen ausgewählt werden, bei Auswahl "
|
||||
"im Menü:\n"
|
||||
" Personal->Berichtswesen->Urlaubstage->Urlaube nach Abteilung\n"
|
||||
" * Mitarbeiterspezifisch kann eine Übersicht zur Urlaubsnahme und "
|
||||
"Abwesenheiten erstellt werden:\n"
|
||||
" Personal->Personal->Mitarbeiter\n"
|
||||
" dort wählen Sie die Mitarbeiter aus, die Sie interessieren. "
|
||||
"Anschließend wählen Sie den \n"
|
||||
" Bericht \"Mitarbieter Urlaub\"\n"
|
||||
" - Der Assistent \"Mitarbieter Urlaub\" erlaubt Ihnen die Auswahl der "
|
||||
"Urlaube nach Status \"bestätigt\" \n"
|
||||
" oder \"bestätigt und genehmigt\". Dieser Status muss durch einen "
|
||||
"Mitarbeiter der Zuständigkeitsgruppe\n"
|
||||
" Peronalverwaltung vorgenommen werden. Diese Einstellungen nehmen Sie "
|
||||
"im Menü:\n"
|
||||
" Einstellungen -> Benutzer -> Benutzer (Zugriffsrechte)\n"
|
||||
" vor. Als Benutzer \"admin\" können Sie diese Eintragungen "
|
||||
"beispielsweise auf jeden Fall vornehmen.\n"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
|
@ -9372,7 +9552,7 @@ msgstr "Erweiterte Lieferketten"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_pad
|
||||
msgid "Collaborative Pads"
|
||||
msgstr ""
|
||||
msgstr "Plattform für Zusammenarbeit"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
||||
|
@ -9786,6 +9966,30 @@ msgid ""
|
|||
"created\n"
|
||||
" CALENDAR_NAME: Name of calendar to access\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul fügt die Funktionalität eines CalDAV-System hinzu.\n"
|
||||
"========================================================\n"
|
||||
"\n"
|
||||
" - WebDAV-Server liefert den Zugang zu Kalendern\n"
|
||||
" - Synchronisation von Kalendern mittels WebDAV\n"
|
||||
" - Ereignis-Kategorien und Aufgaben-Attribute des Kalenders anpassen\n"
|
||||
" - Liefert iCal -import und -export-Funktionalität\n"
|
||||
"\n"
|
||||
"Um auf Kalender mittels CalDAV-Anwendungen zuzugreifen, tragen Sie folgende "
|
||||
"Adresse ein:\n"
|
||||
" http://HOST:PORT/webdav/DATENBANK/calendars/users/BENUTZER/c\n"
|
||||
"\n"
|
||||
"Für den Zugriff auf den OpenERP-Kalender mittels WebCal von entferntem Ort, "
|
||||
"benutzen Sie eine URL wie:\n"
|
||||
" http://HOST:PORT/webdav/DATENBANK/Calendars/KALENDER_NAME.ics\n"
|
||||
"\n"
|
||||
"Wobei \n"
|
||||
"- HOST Die Adresse des Servers auf dem WebDAV läuft\n"
|
||||
"- PORT: TCP-Port des OpenERP-Server, Standardmässig 8069\n"
|
||||
"- DATENBANK: Name der Datenbank, in der der OpenERP-Kalender erstellt ist "
|
||||
"(und die gerade \n"
|
||||
" von OpenERP im Einsatz ist!)\n"
|
||||
"- KALENDER_NAME Name des zu verwendenden Kalenders\n"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,selectable:0
|
||||
|
@ -9821,6 +10025,15 @@ msgid ""
|
|||
"mail into mail.message with attachments.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Dieses Modul stellt ein Outlook-Plugin zur Verfügung.\n"
|
||||
"=============================================\n"
|
||||
"\n"
|
||||
"Das Outlook-Plugin erlaubt Ihnen die Auswahl eines Objektes, dem Sie Ihre\n"
|
||||
"E-Mail oder Anhänge hinzufügen möchten. Sie können einen Partner, eine\n"
|
||||
"Aufgabe ein Projekt, eine Kostenstelle/Kostenart oder ein anderes Objekt \n"
|
||||
"auswählen, dem Sie Mail oder Anhänge hinzufügen möchten.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
|
|
|
@ -12,8 +12,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Country: GREECE\n"
|
||||
"X-Poedit-Language: Greek\n"
|
||||
"X-Poedit-SourceCharset: utf-8\n"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -5024,7 +5024,7 @@ msgstr "`code` must be unique."
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_expense
|
||||
msgid "Expenses Management"
|
||||
msgstr ""
|
||||
msgstr "Expenses Management"
|
||||
|
||||
#. module: base
|
||||
#: view:workflow.activity:0
|
||||
|
@ -5035,7 +5035,7 @@ msgstr "Incoming Transitions"
|
|||
#. module: base
|
||||
#: field:ir.values,value_unpickle:0
|
||||
msgid "Default value or action reference"
|
||||
msgstr ""
|
||||
msgstr "Default value or action reference"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sr
|
||||
|
@ -5045,7 +5045,7 @@ msgstr "Suriname"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_timesheet
|
||||
msgid "Bill Time on Tasks"
|
||||
msgstr ""
|
||||
msgstr "Bill Time on Tasks"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_marketing
|
||||
|
@ -5062,7 +5062,7 @@ msgstr "Bank account"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_gr
|
||||
msgid "Greece - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Greece - Accounting"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: \n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -1229,6 +1229,23 @@ msgid ""
|
|||
"At the end of the month, the planning manager can also check if the encoded "
|
||||
"timesheets are respecting the planned time on each analytic account.\n"
|
||||
msgstr ""
|
||||
"Realizar un seguimiento de su planificación\n"
|
||||
"Este módulo le ayuda a gestionar sus planificaciones.\n"
|
||||
"===============================================\n"
|
||||
"\n"
|
||||
"Este módulo es la base de la contabilidad analítica y está totalmente "
|
||||
"integrado con\n"
|
||||
"* Hojas de servicio\n"
|
||||
"* Gestión de ausencias\n"
|
||||
"* Gestión de proyectos\n"
|
||||
"\n"
|
||||
"Así, cada director de departamento puede saber si alguien en su equipo aún "
|
||||
"tiene tiempo asignado para una planificación determinada (teniendo en cuenta "
|
||||
"las hojas de validación) o si todavía necesita codificar tareas.\n"
|
||||
"\n"
|
||||
"Al final del mes, el encargado de la planificación también puede comprobar "
|
||||
"si la tabla de tiempos codificados están respetando los plazos previstos en "
|
||||
"cada cuenta analítica.\n"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
|
@ -1496,6 +1513,26 @@ msgid ""
|
|||
"database,\n"
|
||||
" but in the servers rootpad like /server/bin/filestore.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Este es un sistema de gestión documental completo.\n"
|
||||
"==============================================\n"
|
||||
"\n"
|
||||
" * Autenticación de usuarios\n"
|
||||
" * Indexación de documentos: -.. Pptx y docx no son compatibles con la "
|
||||
"plataforma Windows.\n"
|
||||
" * El tablero de documentos que incluye:\n"
|
||||
" * Nuevos archivos (lista)\n"
|
||||
" * Los archivos por tipo de recurso (gráfico)\n"
|
||||
" * Los archivos por empresa (gráfico)\n"
|
||||
" * Tamaño de archivos por mes (gráfico)\n"
|
||||
"\n"
|
||||
"ATENCIÓN:\n"
|
||||
" - Al instalar este módulo en una compañía en funcionamiento que que "
|
||||
"tienen ya PDF almacenados en la base de datos, \n"
|
||||
" los pierde todos.\n"
|
||||
" - Después de instalar este módulo los PDF ya no se almacenan en la base "
|
||||
"de datos,\n"
|
||||
" si no en los servidores rootpad como / server / bin / filestore.\n"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -1564,6 +1601,15 @@ msgid ""
|
|||
"Web.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Este es el módulo test que permite mostrar etiquetas HTML en vistas de "
|
||||
"formulario en XML.\n"
|
||||
"============================================================================="
|
||||
"\n"
|
||||
"\n"
|
||||
"Crea una vista de formulario ejemplo utilizando etiquetas HTML. Esto es "
|
||||
"visible solo en el cliente Web.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_purchase_management
|
||||
|
@ -1776,6 +1822,24 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Este módulo agrega herramientas para compartir genéricas a su base de datos "
|
||||
"de OpenERP.\n"
|
||||
"========================================================================\n"
|
||||
"\n"
|
||||
"Específicamente agrega un botón 'compartir' disponible en el cliente Web "
|
||||
"para\n"
|
||||
"compartir cualquier tipo de datos OpenERP con colegas, clientes, amigos, "
|
||||
"etc.\n"
|
||||
"\n"
|
||||
"El sistema funciona creando nuevos usuarios y grupos sobre la marcha, y\n"
|
||||
"combinando los derechos de acceso adecuados y reglas para asegurar que los\n"
|
||||
"usuarios compartidos sólo tienen acceso a los datos compartidos con ellos.\n"
|
||||
"\n"
|
||||
"Esto es muy útil para el trabajo colaborativo, compartir conocimientos,\n"
|
||||
"sincronización con otras empresas, etc\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:res.currency,accuracy:0
|
||||
|
@ -1856,6 +1920,49 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Validación de IVA para números IVA de las empresas\n"
|
||||
"========================================\n"
|
||||
"\n"
|
||||
"Después de instalar este módulo, los valores ingresados en el campo IVA de "
|
||||
"Empresas\n"
|
||||
"serán validados para todos los países soportados. El país se infiere del "
|
||||
"código\n"
|
||||
"de país de 2 letras que es prefijo del número IVA, por ejemplo "
|
||||
"\"BE0477472701\"\n"
|
||||
"se validará usando las reglas belgas.\n"
|
||||
"\n"
|
||||
"Hay dos niveles diferentes de validación de números IVA:\n"
|
||||
"\n"
|
||||
" * Por defecto, se ejecuta una validación simple fuera de línea usando las "
|
||||
"reglas de\n"
|
||||
" validación conocidas para el país, usualmente un simple control de "
|
||||
"dígitos. Esto es \n"
|
||||
" rápido y está siempre disponible, pero permite números que quizá no "
|
||||
"están\n"
|
||||
" verdaderamente asignados, o que ya no son válidos.\n"
|
||||
" * Cuando la opción \"Verificación VAT VIES\" está activada (en la "
|
||||
"configuración de la\n"
|
||||
" compañía del usuario), los números IVA se enviarán a la base de datos en "
|
||||
"línea\n"
|
||||
" VIES de la UE, que verificará realmente si el número es válido y está "
|
||||
"asignado\n"
|
||||
" actualmente a una empresa de la UE. Esto es un poco mas lento que la "
|
||||
"validación\n"
|
||||
" simple fuera de línea, requiere una conexión a Internet, y podría no "
|
||||
"estar disponible\n"
|
||||
" todo el tiempo. Si el servicio no está disponible o no es compatible con "
|
||||
"el país\n"
|
||||
" requerido (por ejemplo, para países no comunitarios), se ejecutará en su "
|
||||
"lugar una\n"
|
||||
" validación simple.\n"
|
||||
"\n"
|
||||
"Los países soportados actualmente son los países de la UE, y algunos países "
|
||||
"no\n"
|
||||
"comunitarios como Chile, Colombia, México, Noruega o Rusia. Para países no\n"
|
||||
"soportados, solo se validará el código de país.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-08 04:54+0000\n"
|
||||
"X-Generator: Launchpad (build 15914)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||
"X-Poedit-Language: Persian\n"
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
"Language: hr\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -1821,7 +1821,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
||||
msgid "Employee Appraisals"
|
||||
msgstr ""
|
||||
msgstr "Munkavállaló értékelése"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.server,state:0
|
||||
|
@ -3141,7 +3141,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
||||
msgid "Employee Contracts"
|
||||
msgstr ""
|
||||
msgstr "Munkavállalói szerződések"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_wiki_faq
|
||||
|
@ -6487,7 +6487,7 @@ msgstr "Automatikus frissítést ad a nézethez."
|
|||
#. module: base
|
||||
#: help:res.partner,employee:0
|
||||
msgid "Check this box if the partner is an Employee."
|
||||
msgstr "Jelölje be, ha a partner egy alkalmazott."
|
||||
msgstr "Jelölje be, ha a partner egy alkalmazott"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_profiling
|
||||
|
@ -15321,7 +15321,7 @@ msgstr "Wrong ID for the browse record, got %r, expected an integer."
|
|||
#: field:res.partner.address,function:0
|
||||
#: selection:workflow.activity,kind:0
|
||||
msgid "Function"
|
||||
msgstr "Függvény"
|
||||
msgstr "Beosztás"
|
||||
|
||||
#. module: base
|
||||
#: view:res.widget:0
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-server\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
|
||||
"PO-Revision-Date: 2012-08-20 15:37+0000\n"
|
||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-09-20 05:23+0000\n"
|
||||
"Last-Translator: Akira Hiyama <Unknown>\n"
|
||||
"Language-Team: Japanese <ja@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -193,7 +193,7 @@ msgstr "販売分析の配布"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_process
|
||||
msgid "Process"
|
||||
msgstr "プロセス"
|
||||
msgstr "処理"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
|
||||
|
@ -17384,7 +17384,7 @@ msgstr ""
|
|||
" ・ 各アクションが手動の検証を必要とする場合は、手動で実際のキャンペーンを開始することもできます。\n"
|
||||
" ・ 最後にキャンペーンを実際に起動し、キャンペーンの全てが完全に自動的に行われるよう統計値を監視します。\n"
|
||||
"\n"
|
||||
"キャンペーンの実行中にも、ちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
|
||||
"キャンペーンの実行中にも、もちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
|
||||
"\n"
|
||||
"注記:デモデータが必要なら、marketing_campaign_crm_demoモジュールをインストールできます。それはCRMリードに依存するため、CR"
|
||||
"Mアプリケーションもインストールすることになります。\n"
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -5407,7 +5407,7 @@ msgstr ""
|
|||
|
||||
#. module: base
|
||||
#: help:res.country.state,code:0
|
||||
msgid "The state code in three chars.\n"
|
||||
msgid "The state code in max. three chars."
|
||||
""
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -97,7 +97,7 @@ msgstr "Code (bijv: nl__NL)"
|
|||
#: field:workflow.transition,wkf_id:0
|
||||
#: field:workflow.workitem,wkf_id:0
|
||||
msgid "Workflow"
|
||||
msgstr "Werkschema"
|
||||
msgstr "Workflow"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.sequence,implementation:0
|
||||
|
@ -363,6 +363,13 @@ msgid ""
|
|||
" - tree_but_open\n"
|
||||
"For defaults, an optional condition"
|
||||
msgstr ""
|
||||
"Voor acties, een van deze mogelijke acties:\n"
|
||||
" - client_action_multi\n"
|
||||
" - client_print_multi\n"
|
||||
" - client_action_relate\n"
|
||||
" - tree_but_open\n"
|
||||
"Voor standaard waarden:\n"
|
||||
" - een optionele conditie"
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:res.lang:0
|
||||
|
@ -572,7 +579,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.values:0
|
||||
msgid "Action Binding"
|
||||
msgstr ""
|
||||
msgstr "Actie koppeling"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gf
|
||||
|
@ -2811,7 +2818,7 @@ msgstr "Overgeërfd"
|
|||
#. module: base
|
||||
#: field:ir.model.fields,serialization_field_id:0
|
||||
msgid "Serialization Field"
|
||||
msgstr ""
|
||||
msgstr "Reeks veld"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_report_designer
|
||||
|
@ -2873,7 +2880,7 @@ msgstr "Fout!"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr_rib
|
||||
msgid "French RIB Bank Details"
|
||||
msgstr ""
|
||||
msgstr "Franse RIB bank details"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -2954,7 +2961,7 @@ msgstr "Bangladesh"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_retro_planning
|
||||
msgid "Project Retro-planning"
|
||||
msgstr ""
|
||||
msgstr "Project Retro-planning"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_stock_planning
|
||||
|
@ -3005,7 +3012,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.actions.client,params_store:0
|
||||
msgid "Params storage"
|
||||
msgstr ""
|
||||
msgstr "Parameters opslag"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:409
|
||||
|
@ -3036,6 +3043,10 @@ msgid ""
|
|||
"since it's the same which has been renamed.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Met deze module kunt u relaties segmenten/indelen op basis van vragen.\n"
|
||||
"===========================================================\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: code:addons/report_sxw.py:434
|
||||
|
@ -3160,7 +3171,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
|
||||
msgid "Wiki: Quality Manual"
|
||||
msgstr ""
|
||||
msgstr "Wiki: Kwaliteit handleiding"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window.view,view_mode:0
|
||||
|
@ -3274,7 +3285,7 @@ msgstr "OpenERP web-diagram weergave"
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_hr_user
|
||||
msgid "HR Officer"
|
||||
msgstr ""
|
||||
msgstr "HR Officer"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
||||
|
@ -3633,7 +3644,7 @@ msgstr "Mayotte"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_todo
|
||||
msgid "Tasks on CRM"
|
||||
msgstr ""
|
||||
msgstr "Relatiebeheer taken"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
|
||||
|
@ -4219,6 +4230,9 @@ msgid ""
|
|||
"its dependencies are satisfied. If the module has no dependency, it is "
|
||||
"always installed."
|
||||
msgstr ""
|
||||
"Een auto-installatie module wordt automatisch geïnstalleerd door het systeem "
|
||||
"als aan alle afhankelijkheden zijn voldaan. Als de module geen "
|
||||
"afhankelijkheden heeft, wordt de module altijd geïnstalleerd."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.res_lang_act_window
|
||||
|
@ -4605,6 +4619,20 @@ msgid ""
|
|||
"above. Specify the interval information and partner to be invoice.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Maak herhalende documenten (abonnementen).\n"
|
||||
"=======================================\n"
|
||||
"\n"
|
||||
"Met deze module kunt u een nieuw document maken en een abonnement hieraan "
|
||||
"koppelen.\n"
|
||||
"\n"
|
||||
"U kunt bijvoorbeeld een factuur automatisch periodiek laten aanmaken. Dit "
|
||||
"doet u door:\n"
|
||||
"* Maak een document type gebaseerd op het object factuur\n"
|
||||
"* Maak een abonnement aan waarvan de bron het document is, zoals aangemaakt "
|
||||
"bij stap 1.\n"
|
||||
"* Specificeer het interval en de klant voor de factuur\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,srcmodel_id:0
|
||||
|
@ -4826,7 +4854,7 @@ msgstr "BTW nummer validatie"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
||||
msgid "Partners Geo-Localization"
|
||||
msgstr ""
|
||||
msgstr "Partners Geo-Localisatie"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ke
|
||||
|
@ -5334,6 +5362,13 @@ msgid ""
|
|||
" those assets. And it allows to create Move's of the depreciation lines.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"Financieel beheer van uw activa.\n"
|
||||
"=========================\n"
|
||||
"Met deze module beheert u, uw activa van uw bedrijf of van een individu. U "
|
||||
"beheert uw afschrijvingen van \n"
|
||||
"deze activa. Deze afschrijvingen worden als journaalposten verwerkt in uw "
|
||||
"financiële administratie.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.bv
|
||||
|
@ -5640,6 +5675,31 @@ msgid ""
|
|||
"Budgets per Budgets.\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Deze module geeft accountants de mogelijkheid om kostenplaats- en "
|
||||
"overlappende budgetten te beheren.\n"
|
||||
"============================================================================="
|
||||
"==========\n"
|
||||
"\n"
|
||||
"Wanneer de hoofdbudgetten en onderliggende budgetten zijn gedefinieerd (in "
|
||||
"financieel/budgetten)\n"
|
||||
"kunnen de projectmanagers de geplande bedragen invoeren per kostenplaats.\n"
|
||||
"\n"
|
||||
"De accountant heeft de mogelijkheid om alle gebudgetteerde bedragen te zien "
|
||||
"van ieder\n"
|
||||
"budget en hoofdbudget, zodat het totale gebudgetteerde bedrag niet groter of "
|
||||
"lager \n"
|
||||
"is dan wat was gebudgetteerd. deze informatie kan ook als grafiek worden "
|
||||
"bekeken.\n"
|
||||
"\n"
|
||||
"Er zijn drie rapportages beschikbaar:\n"
|
||||
"1. Deze is beschikbaar bij de lijst van budgetten. Het geeft de spreiding "
|
||||
"van deze budgetten weer over de kostenplaatsen per hoofdbudget.\n"
|
||||
"2. Dit is een totaal van het eerste rapport. het geeft alleen de spreiding "
|
||||
"weer voor de geselecteerde budgetten van de kostenplaatsen.\n"
|
||||
"3. Dit rapport is beschikbaar bij de kostenplaats. Het geeft de spreiding "
|
||||
"weer van de geselecteerde kostenplaats van het hoofdbudget, per budget.\n"
|
||||
"\n"
|
||||
|
||||
#. module: base
|
||||
#: help:res.lang,iso_code:0
|
||||
|
@ -5968,6 +6028,8 @@ msgid ""
|
|||
"How many times the method is called,\n"
|
||||
"a negative number indicates no limit."
|
||||
msgstr ""
|
||||
"Hoeveel keer deze regel wordt aangeroepen,\n"
|
||||
"een negatieve waarde geeft aan dat er geen limiet is."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank.type.field,bank_type_id:0
|
||||
|
@ -6025,7 +6087,7 @@ msgstr "Vul aub de sleutelcode in die staat in uw contract document:"
|
|||
#: view:workflow.activity:0
|
||||
#: field:workflow.activity,flow_start:0
|
||||
msgid "Flow Start"
|
||||
msgstr "Begin werkschema"
|
||||
msgstr "Begin workflow"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_partner_title
|
||||
|
@ -6453,6 +6515,11 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Met deze module kunt u aangeven welk factureerproduct moet worden gebruikt "
|
||||
"als een werknemer uren boekt op het contract/kostenplaats.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_audittrail
|
||||
|
@ -6601,7 +6668,7 @@ msgstr "Ongelezen"
|
|||
#. module: base
|
||||
#: field:res.users,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.cron,doall:0
|
||||
|
@ -6676,7 +6743,7 @@ msgstr "Vink aan als de relatie een werknemer is."
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_profiling
|
||||
msgid "Customer Profiling"
|
||||
msgstr ""
|
||||
msgstr "Klant profiling"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_issue
|
||||
|
@ -6712,6 +6779,8 @@ msgid ""
|
|||
"Please check that all your lines have %d columns.Stopped around line %d "
|
||||
"having %d columns."
|
||||
msgstr ""
|
||||
"Controleer of al uw regels %d kolommen hebben. Gestopt bij regel %d met %d "
|
||||
"kolommen."
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.export,advice:0
|
||||
|
@ -6853,6 +6922,7 @@ msgstr "Controle"
|
|||
#: help:ir.values,company_id:0
|
||||
msgid "If set, action binding only applies for this company"
|
||||
msgstr ""
|
||||
"Indien aangevinkt is deze regel alleen van toepassing voor dit bedrijf."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.lc
|
||||
|
@ -6866,6 +6936,9 @@ msgid ""
|
|||
"password, otherwise leave empty. After a change of password, the user has to "
|
||||
"login again."
|
||||
msgstr ""
|
||||
"Specificeer een waarde alleen wanneer u een gebruiker aanmaakt of als u het "
|
||||
"wachtwoord van de gebruiker wijzigt. Laat anders de waarde leeg. Na het "
|
||||
"wijzigen van het wachtwoord, dient de gebruiker opnieuw in te loggen."
|
||||
|
||||
#. module: base
|
||||
#: view:publisher_warranty.contract:0
|
||||
|
@ -6915,7 +6988,7 @@ msgstr "Bewerken"
|
|||
#. module: base
|
||||
#: field:ir.actions.client,params:0
|
||||
msgid "Supplementary arguments"
|
||||
msgstr ""
|
||||
msgstr "Aanvullende argumenten"
|
||||
|
||||
#. module: base
|
||||
#: field:res.users,view:0
|
||||
|
@ -7067,6 +7140,8 @@ msgid ""
|
|||
"Action bound to this entry - helper field for binding an action, will "
|
||||
"automatically set the correct reference"
|
||||
msgstr ""
|
||||
"Actie gekoppeld aan deze regel. Hulp veld voor het koppelen van een actie. "
|
||||
"De referentie wordt automatisch correct ingevuld."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_project_long_term
|
||||
|
@ -7384,7 +7459,7 @@ msgstr "Lezen"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_association
|
||||
msgid "Associations Management"
|
||||
msgstr ""
|
||||
msgstr "Verenigingenbeheer"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.model,modules:0
|
||||
|
@ -7425,7 +7500,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:workflow.workitem:0
|
||||
msgid "Workflow Workitems"
|
||||
msgstr "Werkschema taken"
|
||||
msgstr "Workflow taken"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vc
|
||||
|
@ -7543,7 +7618,7 @@ msgstr "Myanmar (Birma)"
|
|||
#. module: base
|
||||
#: help:ir.model.fields,modules:0
|
||||
msgid "List of modules in which the field is defined"
|
||||
msgstr ""
|
||||
msgstr "Lijst van modules waarin het veld wordt gebruikt."
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -7666,6 +7741,13 @@ msgid ""
|
|||
"all the tasks will change accordingly.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Verander de data op basis van een verandering in de einddatum.\n"
|
||||
"===================================================\n"
|
||||
"\n"
|
||||
"Indien de einddatun van een project is gewijzigd, dan worden de deadline "
|
||||
"datum en de startdatum van alle taken ook gewijzgd.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,view:0
|
||||
|
@ -7710,7 +7792,7 @@ msgstr "Dutch / Nederlands"
|
|||
#. module: base
|
||||
#: selection:res.company,paper_format:0
|
||||
msgid "US Letter"
|
||||
msgstr ""
|
||||
msgstr "US Letter"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_stock_location
|
||||
|
@ -7813,6 +7895,12 @@ msgid ""
|
|||
"Contains the installer for marketing-related modules.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Menu voor marketing.\n"
|
||||
"==================\n"
|
||||
"\n"
|
||||
"Bevat de installer voor marketing gerelateerde modules.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_knowledge_management
|
||||
|
@ -7996,6 +8084,9 @@ msgid ""
|
|||
"the same values as those available in the condition field, e.g. `Hello [[ "
|
||||
"object.partner_id.name ]]`"
|
||||
msgstr ""
|
||||
"Het e-mail onderwerp kan expressies bevatten welke worden gekenmerkt door "
|
||||
"rechte haken. De velden zijn gebaseerd op dezelfde waarden zoals beschikbaar "
|
||||
"in de conditievelden. Bijv.: `Hallo [[ object.partner_id.name ]]`"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_sequence
|
||||
|
@ -8027,11 +8118,14 @@ msgid ""
|
|||
"serialization field, instead of having its own database column. This cannot "
|
||||
"be changed after creation."
|
||||
msgstr ""
|
||||
"Indien aangevinkt wordt dit veld opgeslagen in vrije ruimte van het reeks "
|
||||
"veld in plaats dat het veld een eigen database kolom heeft. Dit kan achteraf "
|
||||
"niet worden veranderd!"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner.bank:0
|
||||
msgid "Bank accounts belonging to one of your companies"
|
||||
msgstr ""
|
||||
msgstr "Bankrekening welke behoort aan één van uw bedrijven."
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,action_id:0
|
||||
|
@ -8058,6 +8152,8 @@ msgid ""
|
|||
"The field on the current object that links to the target object record (must "
|
||||
"be a many2one, or an integer field with the record ID)"
|
||||
msgstr ""
|
||||
"Het veld van het huidige object wat is gekoppeld aan het doel object record "
|
||||
"(moet een many2one, of een integer veld zijn met het record ID)"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:423
|
||||
|
@ -8194,6 +8290,8 @@ msgid ""
|
|||
"You cannot have multiple records with the same external ID in the same "
|
||||
"module!"
|
||||
msgstr ""
|
||||
"Het is niet toegestaan om meerdere records te hebben met dezelfde externe ID "
|
||||
"in hetzelfde model."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
|
@ -8287,6 +8385,9 @@ msgid ""
|
|||
"Model to which this entry applies - helper field for setting a model, will "
|
||||
"automatically set the correct model name"
|
||||
msgstr ""
|
||||
"Model waarover deze regel gaat. Deze zoekwaarde helpt u bij het instellen "
|
||||
"van het juiste modelnaam. Na de keuze wordt de modelnaam automatisch voor u "
|
||||
"ingevuld."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -8419,7 +8520,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
||||
msgid "Anglo-Saxon Accounting"
|
||||
msgstr ""
|
||||
msgstr "Angelsaksische boekhouding"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.np
|
||||
|
@ -8470,7 +8571,7 @@ msgstr ""
|
|||
#: model:ir.ui.menu,name:base.menu_values_form_action
|
||||
#: view:ir.values:0
|
||||
msgid "Action Bindings"
|
||||
msgstr ""
|
||||
msgstr "Actie koppeling"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
|
@ -8850,7 +8951,7 @@ msgstr "Herhaling"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_planning
|
||||
msgid "Resources Planing"
|
||||
msgstr ""
|
||||
msgstr "Resource planing"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.module.module,complexity:0
|
||||
|
@ -8860,7 +8961,7 @@ msgstr "Complexiteit"
|
|||
#. module: base
|
||||
#: selection:ir.actions.act_window,target:0
|
||||
msgid "Inline"
|
||||
msgstr ""
|
||||
msgstr "Inline"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
|
||||
|
@ -8967,7 +9068,7 @@ msgstr "Reparatie management"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_asset
|
||||
msgid "Assets Management"
|
||||
msgstr ""
|
||||
msgstr "Beheer van activa"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
|
@ -9358,7 +9459,7 @@ msgstr "Referentiegids"
|
|||
#. module: base
|
||||
#: view:ir.values:0
|
||||
msgid "Default Value Scope"
|
||||
msgstr ""
|
||||
msgstr "Bereik standaard waarde"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
|
@ -9468,7 +9569,7 @@ msgstr "Aanmaakdatum"
|
|||
#. module: base
|
||||
#: help:ir.actions.server,trigger_name:0
|
||||
msgid "The workflow signal to trigger"
|
||||
msgstr ""
|
||||
msgstr "Het workflow signaal om te triggeren"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_mrp
|
||||
|
@ -9517,7 +9618,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_google_base_account
|
||||
msgid "The module adds google user in res user"
|
||||
msgstr ""
|
||||
msgstr "De module voegt een Google gebruiker toe aan het gebruikers bestand"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,state:0
|
||||
|
@ -9554,7 +9655,7 @@ msgstr "Algerije"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_plugin
|
||||
msgid "CRM Plugins"
|
||||
msgstr ""
|
||||
msgstr "Relatiebeheer plugins"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_model_model
|
||||
|
@ -9657,7 +9758,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_jit
|
||||
msgid "Just In Time Scheduling"
|
||||
msgstr ""
|
||||
msgstr "Just In Time Planning"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions
|
||||
|
@ -10047,7 +10148,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_synchro
|
||||
msgid "Multi-DB Synchronization"
|
||||
msgstr ""
|
||||
msgstr "Meerdere databases synchronisatie"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,complexity:0
|
||||
|
@ -10088,6 +10189,9 @@ msgid ""
|
|||
"Todo list for CRM leads and opportunities.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"TODO lijst voor relatiebeheer leads en prospects.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window.view,view_id:0
|
||||
|
@ -10100,7 +10204,7 @@ msgstr "Weergave"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_wiki_sale_faq
|
||||
msgid "Wiki: Sale FAQ"
|
||||
msgstr ""
|
||||
msgstr "Wiki: Verkoop FAQ"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,state:0
|
||||
|
@ -10266,6 +10370,20 @@ msgid ""
|
|||
"\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Deze module geeft u de mogelijkheid om het standaard factuurtarief te "
|
||||
"definiëren per kostenplaats.\n"
|
||||
"============================================================================="
|
||||
"====\n"
|
||||
"\n"
|
||||
"Dit wordt vaak gebruikt wanneer een werknemer zijn urenstaat invult. De "
|
||||
"waarden worden dan automatisch ingevuld, maar de mogelijkheid om deze aan te "
|
||||
"passen blijft bestaan.\n"
|
||||
"\n"
|
||||
"Indien geen gegevens zijn ingevoerd voor de rekening, wordt de standaard "
|
||||
"waarde van de kostenplaats gebruikt.\n"
|
||||
"\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_fundrising
|
||||
|
@ -10316,7 +10434,7 @@ msgstr "res.log"
|
|||
#: view:workflow.activity:0
|
||||
#: field:workflow.activity,flow_stop:0
|
||||
msgid "Flow Stop"
|
||||
msgstr "Einde werkschema"
|
||||
msgstr "Einde workflow"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.cron,interval_type:0
|
||||
|
@ -10344,7 +10462,7 @@ msgstr "Fout !"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo
|
||||
msgid "Marketing Campaign - Demo"
|
||||
msgstr ""
|
||||
msgstr "Marketing Campagne - Demo gegevens"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fetchmail_hr_recruitment
|
||||
|
@ -10376,7 +10494,7 @@ msgstr "Deze methode bestaat niet meer"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_import_google
|
||||
msgid "Google Import"
|
||||
msgstr ""
|
||||
msgstr "Google Import"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_12
|
||||
|
@ -10594,7 +10712,7 @@ msgstr ""
|
|||
"Maak een claim van een uitgaande levering.\n"
|
||||
"===================================\n"
|
||||
"\n"
|
||||
"Voegt claim link toe aan een uitgaande order.\n"
|
||||
"Voegt claim link toe aan een uitgaande levering.\n"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model:0
|
||||
|
@ -10632,6 +10750,7 @@ msgstr "%A - Volledige naam van de dag."
|
|||
#: help:ir.values,user_id:0
|
||||
msgid "If set, action binding only applies for this user."
|
||||
msgstr ""
|
||||
"Indien aangevinkt is deze regel alleen van toepassing voor deze gebruiker."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gw
|
||||
|
@ -10699,6 +10818,8 @@ msgstr "Voltooid"
|
|||
msgid ""
|
||||
"Specify if missed occurrences should be executed when the server restarts."
|
||||
msgstr ""
|
||||
"Specificeert of gemiste acties, opnieuw moeten worden gestart als de server "
|
||||
"herstart."
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_miss
|
||||
|
@ -11367,7 +11488,7 @@ msgstr "Alles stoppen"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_analytic_user_function
|
||||
msgid "Jobs on Contracts"
|
||||
msgstr ""
|
||||
msgstr "Werknemerfunctie per contract/kostenplaats"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_import_sugarcrm
|
||||
|
@ -11472,7 +11593,7 @@ msgstr "Contract bevestiging fout"
|
|||
#. module: base
|
||||
#: field:ir.values,key2:0
|
||||
msgid "Qualifier"
|
||||
msgstr ""
|
||||
msgstr "Kwalificatie"
|
||||
|
||||
#. module: base
|
||||
#: field:res.country.state,name:0
|
||||
|
@ -11717,7 +11838,7 @@ msgstr "ir.wizard.screen"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_workflow
|
||||
msgid "workflow"
|
||||
msgstr "Werkschema"
|
||||
msgstr "workflow"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:255
|
||||
|
@ -11949,7 +12070,7 @@ msgstr "Tunesië"
|
|||
#. module: base
|
||||
#: view:ir.actions.todo:0
|
||||
msgid "Wizards to be Launched"
|
||||
msgstr ""
|
||||
msgstr "Wizards welke worden gestart"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_manufacturing
|
||||
|
@ -12083,7 +12204,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.groups,trans_implied_ids:0
|
||||
msgid "Transitively inherits"
|
||||
msgstr ""
|
||||
msgstr "Transitieve overerving"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.default,ref_table:0
|
||||
|
@ -12293,7 +12414,7 @@ msgstr "Guatemala - Boekhouding"
|
|||
#. module: base
|
||||
#: help:ir.cron,args:0
|
||||
msgid "Arguments to be passed to the method, e.g. (uid,)."
|
||||
msgstr ""
|
||||
msgstr "Argumenten welke worden doorgegeven aan de methodes, bijv. (uid)."
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_5
|
||||
|
@ -12704,7 +12825,7 @@ msgstr "ir.actions.client"
|
|||
#. module: base
|
||||
#: help:ir.values,value:0
|
||||
msgid "Default value (pickled) or reference to an action"
|
||||
msgstr ""
|
||||
msgstr "Standaardwaarde of verwijzing naar een actie"
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:res.groups:0
|
||||
|
@ -12763,7 +12884,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Rule definition (domain filter)"
|
||||
msgstr ""
|
||||
msgstr "Regel definitie (domein filter)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_workflow_instance
|
||||
|
@ -12862,7 +12983,7 @@ msgstr "Low Level-objecten"
|
|||
#. module: base
|
||||
#: help:ir.values,model:0
|
||||
msgid "Model to which this entry applies"
|
||||
msgstr ""
|
||||
msgstr "Model waarover deze regel gaat."
|
||||
|
||||
#. module: base
|
||||
#: field:res.country,address_format:0
|
||||
|
@ -13012,6 +13133,9 @@ msgid ""
|
|||
" OpenERP Web kanban view.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" OpenERP Web kanban weergave.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_project_management_time_tracking
|
||||
|
@ -13209,6 +13333,9 @@ msgid ""
|
|||
"Python code to be executed if condition is met.\n"
|
||||
"It is a Python block that can use the same values as for the condition field"
|
||||
msgstr ""
|
||||
"Python code welke wordt gestart als aan de conditie is voldaan.\n"
|
||||
"Het is een Python block dat dezelfde waardes kan gebruiken als voor een "
|
||||
"conditie veld."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
|
||||
|
@ -13352,7 +13479,7 @@ msgstr "Stel bankrekeningen in"
|
|||
#. module: base
|
||||
#: field:ir.actions.client,tag:0
|
||||
msgid "Client action tag"
|
||||
msgstr ""
|
||||
msgstr "Client actie tag"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_lang.py:189
|
||||
|
@ -13363,7 +13490,7 @@ msgstr "U kunt geen taal verwijderen die gebruikers voorkeurstaal is !"
|
|||
#. module: base
|
||||
#: field:ir.values,model_id:0
|
||||
msgid "Model (change only)"
|
||||
msgstr ""
|
||||
msgstr "Model"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_marketing_campaign_crm_demo
|
||||
|
@ -13432,6 +13559,8 @@ msgid ""
|
|||
"The object that should receive the workflow signal (must have an associated "
|
||||
"workflow)"
|
||||
msgstr ""
|
||||
"et object dat het workflow signaal moet ontvangen (moet een verbonden "
|
||||
"workflow heben)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_account_voucher
|
||||
|
@ -13690,6 +13819,18 @@ msgid ""
|
|||
"supplier in the routing of the assembly operation.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Deze module maakt het mogelijk een tussentijdse verzamelproces mogelijk voor "
|
||||
"de ontvangst van grondstoffen aan productieorders.\n"
|
||||
"============================================================================="
|
||||
"================\n"
|
||||
"\n"
|
||||
"Dit kunt u bijvoorbeeld gebruiken indien u productie uitbesteed aan uw "
|
||||
"leverancier/onderaannemer.\n"
|
||||
"Zet in dit geval bij de grondstof de optie \"Automatisch verzamelen\" uit en "
|
||||
"zet de locatie van de leverancier\n"
|
||||
"in de routing van de assemblage verwerking.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -13703,6 +13844,9 @@ msgid ""
|
|||
"are available. To add a new language, you can use the 'Load an Official "
|
||||
"Translation' wizard available from the 'Administration' menu."
|
||||
msgstr ""
|
||||
"De standaard taal welke wordt gebruikt in de user interface, wanneer "
|
||||
"vertalingen aanwezig zijn. Om een nieuwe taal toe te voegen kunt u de \"Laad "
|
||||
"een officiële vertaling\" gebruiken vanuit het instellingen menu."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_es
|
||||
|
@ -13999,6 +14143,8 @@ msgid ""
|
|||
"This cron task is currently being executed and may not be modified, please "
|
||||
"try again in a few minutes"
|
||||
msgstr ""
|
||||
"Deze planner taak wordt op dit moment uitgevoerd en kan zodoende niet worden "
|
||||
"aangepast. Probeert u het over enkele minuten opnieuw."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_product_expiry
|
||||
|
@ -14378,6 +14524,8 @@ msgstr "TLS (STARTTLS)"
|
|||
#: help:ir.actions.act_window,usage:0
|
||||
msgid "Used to filter menu and home actions from the user form."
|
||||
msgstr ""
|
||||
"Wordt gebruikt om het menu en home acties te filteren van het "
|
||||
"gebruikersbestand."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sa
|
||||
|
@ -14394,7 +14542,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_fetchmail_crm_claim
|
||||
msgid "eMail Gateway for CRM Claim"
|
||||
msgstr "E-mail gateway voor CRM Claims"
|
||||
msgstr "E-mail Gateway voor CRM Claims"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,supplier:0
|
||||
|
@ -14498,7 +14646,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_auth_openid
|
||||
msgid "Allow users to login through OpenID."
|
||||
msgstr ""
|
||||
msgstr "Geeft gebruikers de mogelijkheid om in te loggen met OpenID."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_payment
|
||||
|
@ -14605,6 +14753,8 @@ msgstr "En"
|
|||
msgid ""
|
||||
"Database identifier of the record to which this applies. 0 = for all records"
|
||||
msgstr ""
|
||||
"Database identifier van het record waar dit toe behoort. 0 = voor alle "
|
||||
"records"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,relation:0
|
||||
|
@ -14687,7 +14837,7 @@ msgstr "Onderliggend veld"
|
|||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Detailed algorithm:"
|
||||
msgstr ""
|
||||
msgstr "Gedetailleerde algoritme:"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,usage:0
|
||||
|
@ -14856,6 +15006,10 @@ msgid ""
|
|||
" This module provides the core of the OpenERP web client.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" OpenERP Web core module.\n"
|
||||
" deze module bevat de core functionaliteiten van de web cliënt.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:res.country:0
|
||||
|
@ -15061,7 +15215,7 @@ msgstr ""
|
|||
#: code:addons/orm.py:791
|
||||
#, python-format
|
||||
msgid "Serialization field `%s` not found for sparse field `%s`!"
|
||||
msgstr ""
|
||||
msgstr "Reeks veld '%s' niet gevonden voor sparse veld '%s'!"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.jm
|
||||
|
@ -15335,11 +15489,14 @@ msgid ""
|
|||
" OpenERP Web test suite.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
" OpenERP Web test suite.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:ir.values:0
|
||||
msgid "Action Bindings/Defaults"
|
||||
msgstr ""
|
||||
msgstr "Acties/Standaard waarden"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
|
@ -15713,7 +15870,7 @@ msgstr "Maanden"
|
|||
#. module: base
|
||||
#: view:workflow.instance:0
|
||||
msgid "Workflow Instances"
|
||||
msgstr "Exemplaren werkschema"
|
||||
msgstr "Workflow instanties"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_partner.py:284
|
||||
|
@ -15805,6 +15962,8 @@ msgid ""
|
|||
"This field is computed automatically based on bank accounts defined, having "
|
||||
"the display on footer checkbox set."
|
||||
msgstr ""
|
||||
"Dit veld wordt automatisch berekend, gebaseerd op de gedefinieerde "
|
||||
"bankrekeningen, indien het veld voor het weergeven in de voet is aangevinkt."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_mrp_subproduct
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -5598,7 +5598,7 @@ msgstr "STOCK_MEDIA_PAUSE"
|
|||
|
||||
#. module: base
|
||||
#: help:res.country.state,code:0
|
||||
msgid "The state code in three chars.\n"
|
||||
msgid "The state code in max. three chars."
|
||||
msgstr "De provinciecode in drie karakters.\n"
|
||||
|
||||
#. module: base
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -460,7 +460,7 @@ msgstr "Obiect Sursa"
|
|||
#. module: base
|
||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||
msgid "%(bank_name)s: %(acc_number)s"
|
||||
msgstr "%(nume_banca)s: %(numar_de_cont)s"
|
||||
msgstr "%(bank_name)s: %(acc_number)s"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.todo:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -5424,7 +5424,7 @@ msgstr "STOCK_MEDIA_PAUSE"
|
|||
|
||||
#. module: base
|
||||
#: help:res.country.state,code:0
|
||||
msgid "The state code in three chars.\n"
|
||||
msgid "The state code in max. three chars."
|
||||
""
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 15901)\n"
|
||||
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||
"X-Generator: Launchpad (build 15985)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
|
|
@ -1170,9 +1170,9 @@
|
|||
<field name="model">ir.translation</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Translations" version="7.0">
|
||||
<header>
|
||||
<t t-call="ui.Header">
|
||||
<field name="state" widget="statusbar" nolabel="1"/>
|
||||
</header>
|
||||
</t>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
|
@ -1442,6 +1442,7 @@
|
|||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="group_id"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group string="Access" col="4">
|
||||
<field name="perm_read"/>
|
||||
|
@ -1493,8 +1494,9 @@
|
|||
<sheet>
|
||||
<group>
|
||||
<group string="General">
|
||||
<field colspan="4" name="name"/>
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
<group col="4" string="Access Rights">
|
||||
<field name="perm_read"/>
|
||||
|
@ -1731,26 +1733,30 @@
|
|||
<field name="name">Config Wizard Steps</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Config Wizard Steps" version="7.0">
|
||||
<header>
|
||||
<t t-call="ui.Header">
|
||||
<button name="action_launch"
|
||||
states="open" string="Launch"
|
||||
type="object" icon="gtk-execute" class="oe_highlight"
|
||||
help="Launch Configuration Wizard"/>
|
||||
states="open" string="Launch"
|
||||
type="object" icon="gtk-execute"
|
||||
class="oe_highlight"
|
||||
help="Launch Configuration Wizard"/>
|
||||
<button name="action_open" states="done"
|
||||
string="Set as Todo" type="object"
|
||||
icon="gtk-convert" class="oe_highlight"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="open,done" nolabel="1" readonly="1" statusbar_colors='{"open":"red","done":"blue"}'/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group col="4">
|
||||
<field name="action_id"/>
|
||||
<field name="type"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
<group string="Groups">
|
||||
<field name="groups_id" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</sheet>
|
||||
string="Set as Todo" type="object"
|
||||
icon="gtk-convert" class="oe_highlight"/>
|
||||
<field name="state" widget="statusbar"
|
||||
statusbar_visible="open,done" nolabel="1"
|
||||
readonly="1"
|
||||
statusbar_colors='{"open":"red","done":"blue"}'/>
|
||||
</t>
|
||||
<sheet>
|
||||
<group col="4">
|
||||
<field name="action_id"/>
|
||||
<field name="type"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
<group string="Groups">
|
||||
<field name="groups_id" nolabel="1" colspan="4"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -328,7 +328,7 @@ class act_wizard(osv.osv):
|
|||
act_wizard()
|
||||
|
||||
class act_url(osv.osv):
|
||||
_name = 'ir.actions.url'
|
||||
_name = 'ir.actions.act_url'
|
||||
_table = 'ir_act_url'
|
||||
_inherit = 'ir.actions.actions'
|
||||
_sequence = 'ir_actions_id_seq'
|
||||
|
@ -574,7 +574,7 @@ class actions_server(osv.osv):
|
|||
# ids : original ids
|
||||
# id : current id of the object
|
||||
# OUT:
|
||||
# False : Finnished correctly
|
||||
# False : Finished correctly
|
||||
# ACTION_ID : Action to launch
|
||||
|
||||
# FIXME: refactor all the eval() calls in run()!
|
||||
|
@ -771,7 +771,7 @@ class ir_actions_todo(osv.osv):
|
|||
'type': fields.selection(TODO_TYPES, 'Type', required=True,
|
||||
help="""Manual: Launched manually.
|
||||
Automatic: Runs whenever the system is reconfigured.
|
||||
Launch Manually Once: after hacing been launched manually, it sets automatically to Done."""),
|
||||
Launch Manually Once: after having been launched manually, it sets automatically to Done."""),
|
||||
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
|
||||
'note': fields.text('Text', translate=True),
|
||||
}
|
||||
|
|
|
@ -266,6 +266,105 @@ class ir_cron(osv.osv):
|
|||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
def _process_job(self, cr, job):
|
||||
""" Run a given job taking care of the repetition.
|
||||
|
||||
The cursor has a lock on the job (aquired by _acquire_job()).
|
||||
|
||||
:param job: job to be run (as a dictionary).
|
||||
"""
|
||||
try:
|
||||
now = datetime.now()
|
||||
nextcall = datetime.strptime(job['nextcall'], DEFAULT_SERVER_DATETIME_FORMAT)
|
||||
numbercall = job['numbercall']
|
||||
|
||||
ok = False
|
||||
while nextcall < now and numbercall:
|
||||
if numbercall > 0:
|
||||
numbercall -= 1
|
||||
if not ok or job['doall']:
|
||||
self._callback(cr, job['user_id'], job['model'], job['function'], job['args'], job['id'])
|
||||
if numbercall:
|
||||
nextcall += _intervalTypes[job['interval_type']](job['interval_number'])
|
||||
ok = True
|
||||
addsql = ''
|
||||
if not numbercall:
|
||||
addsql = ', active=False'
|
||||
cr.execute("UPDATE ir_cron SET nextcall=%s, numbercall=%s"+addsql+" WHERE id=%s",
|
||||
(nextcall.strftime(DEFAULT_SERVER_DATETIME_FORMAT), numbercall, job['id']))
|
||||
|
||||
finally:
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
@classmethod
|
||||
def _acquire_job(cls, db_name):
|
||||
# TODO remove 'check' argument from addons/base_action_rule/base_action_rule.py
|
||||
""" Try to process one cron job.
|
||||
|
||||
This selects in database all the jobs that should be processed. It then
|
||||
tries to lock each of them and, if it succeeds, run the cron job (if it
|
||||
doesn't succeed, it means the job was already locked to be taken care
|
||||
of by another thread) and return.
|
||||
|
||||
If a job was processed, returns True, otherwise returns False.
|
||||
"""
|
||||
db = openerp.sql_db.db_connect(db_name)
|
||||
cr = db.cursor()
|
||||
try:
|
||||
# Careful to compare timestamps with 'UTC' - everything is UTC as of v6.1.
|
||||
cr.execute("""SELECT * FROM ir_cron
|
||||
WHERE numbercall != 0
|
||||
AND active AND nextcall <= (now() at time zone 'UTC')
|
||||
ORDER BY priority""")
|
||||
for job in cr.dictfetchall():
|
||||
task_cr = db.cursor()
|
||||
try:
|
||||
# Try to grab an exclusive lock on the job row from within the task transaction
|
||||
acquired_lock = False
|
||||
task_cr.execute("""SELECT *
|
||||
FROM ir_cron
|
||||
WHERE id=%s
|
||||
FOR UPDATE NOWAIT""",
|
||||
(job['id'],), log_exceptions=False)
|
||||
acquired_lock = True
|
||||
except psycopg2.OperationalError, e:
|
||||
if e.pgcode == '55P03':
|
||||
# Class 55: Object not in prerequisite state; 55P03: lock_not_available
|
||||
_logger.debug('Another process/thread is already busy executing job `%s`, skipping it.', job['name'])
|
||||
continue
|
||||
else:
|
||||
# Unexpected OperationalError
|
||||
raise
|
||||
finally:
|
||||
if not acquired_lock:
|
||||
# we're exiting due to an exception while acquiring the lot
|
||||
task_cr.close()
|
||||
|
||||
# Got the lock on the job row, run its code
|
||||
_logger.debug('Starting job `%s`.', job['name'])
|
||||
openerp.modules.registry.RegistryManager.check_registry_signaling(db_name)
|
||||
registry = openerp.pooler.get_pool(db_name)
|
||||
registry[cls._name]._process_job(task_cr, job)
|
||||
openerp.modules.registry.RegistryManager.signal_caches_change(db_name)
|
||||
return True
|
||||
|
||||
except psycopg2.ProgrammingError, e:
|
||||
if e.pgcode == '42P01':
|
||||
# Class 42 — Syntax Error or Access Rule Violation; 42P01: undefined_table
|
||||
# The table ir_cron does not exist; this is probably not an OpenERP database.
|
||||
_logger.warning('Tried to poll an undefined table on database %s.', db_name)
|
||||
else:
|
||||
raise
|
||||
except Exception, ex:
|
||||
_logger.warning('Exception in cron:', exc_info=True)
|
||||
|
||||
finally:
|
||||
cr.commit()
|
||||
cr.close()
|
||||
|
||||
return False
|
||||
|
||||
def update_running_cron(self, cr):
|
||||
""" Schedule as soon as possible a wake-up for this database. """
|
||||
# Verify whether the server is already started and thus whether we need to commit
|
||||
|
|
|
@ -468,6 +468,7 @@ class ir_model_access(osv.osv):
|
|||
_name = 'ir.model.access'
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, select=True),
|
||||
'active': fields.boolean('Active', help='If you uncheck the active field, it will disable the ACL without deleting it (if you delete a native ACL, it will be re-created when you reload the module.'),
|
||||
'model_id': fields.many2one('ir.model', 'Object', required=True, domain=[('osv_memory','=', False)], select=True, ondelete='cascade'),
|
||||
'group_id': fields.many2one('res.groups', 'Group', ondelete='cascade', select=True),
|
||||
'perm_read': fields.boolean('Read Access'),
|
||||
|
@ -475,6 +476,9 @@ class ir_model_access(osv.osv):
|
|||
'perm_create': fields.boolean('Create Access'),
|
||||
'perm_unlink': fields.boolean('Delete Access'),
|
||||
}
|
||||
_defaults = {
|
||||
'active': True,
|
||||
}
|
||||
|
||||
def check_groups(self, cr, uid, group):
|
||||
grouparr = group.split('.')
|
||||
|
@ -499,14 +503,16 @@ class ir_model_access(osv.osv):
|
|||
cr.execute("SELECT perm_" + mode + " "
|
||||
" FROM ir_model_access a "
|
||||
" JOIN ir_model m ON (m.id = a.model_id) "
|
||||
" WHERE m.model = %s AND a.group_id = %s", (model_name, group_id)
|
||||
" WHERE m.model = %s AND a.active IS True "
|
||||
" AND a.group_id = %s", (model_name, group_id)
|
||||
)
|
||||
r = cr.fetchone()
|
||||
if r is None:
|
||||
cr.execute("SELECT perm_" + mode + " "
|
||||
" FROM ir_model_access a "
|
||||
" JOIN ir_model m ON (m.id = a.model_id) "
|
||||
" WHERE m.model = %s AND a.group_id IS NULL", (model_name, )
|
||||
" WHERE m.model = %s AND a.active IS True "
|
||||
" AND a.group_id IS NULL", (model_name, )
|
||||
)
|
||||
r = cr.fetchone()
|
||||
|
||||
|
@ -531,6 +537,7 @@ class ir_model_access(osv.osv):
|
|||
LEFT JOIN ir_module_category c ON (c.id=g.category_id)
|
||||
WHERE
|
||||
m.model=%s AND
|
||||
a.active IS True AND
|
||||
a.perm_''' + access_mode, (model_name,))
|
||||
return [('%s/%s' % x) if x[0] else x[1] for x in cr.fetchall()]
|
||||
|
||||
|
@ -560,6 +567,7 @@ class ir_model_access(osv.osv):
|
|||
' JOIN res_groups_users_rel gu ON (gu.gid = a.group_id) '
|
||||
' WHERE m.model = %s '
|
||||
' AND gu.uid = %s '
|
||||
' AND a.active IS True '
|
||||
, (model_name, uid,)
|
||||
)
|
||||
r = cr.fetchone()[0]
|
||||
|
@ -571,6 +579,7 @@ class ir_model_access(osv.osv):
|
|||
' JOIN ir_model m ON (m.id = a.model_id) '
|
||||
' WHERE a.group_id IS NULL '
|
||||
' AND m.model = %s '
|
||||
' AND a.active IS True '
|
||||
, (model_name,)
|
||||
)
|
||||
r = cr.fetchone()[0]
|
||||
|
|
|
@ -75,6 +75,7 @@ class ir_rule(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=128, select=1),
|
||||
'active': fields.boolean('Active', help="If you uncheck the active field, it will disable the record rule without deleting it (if you delete a native record rule, it may be re-created when you reload the module."),
|
||||
'model_id': fields.many2one('ir.model', 'Object',select=1, required=True, ondelete="cascade"),
|
||||
'global': fields.function(_get_value, string='Global', type='boolean', store=True, help="If no group is specified the rule is global and applied to everyone"),
|
||||
'groups': fields.many2many('res.groups', 'rule_group_rel', 'rule_group_id', 'group_id', 'Groups'),
|
||||
|
@ -89,6 +90,7 @@ class ir_rule(osv.osv):
|
|||
_order = 'model_id DESC'
|
||||
|
||||
_defaults = {
|
||||
'active': True,
|
||||
'perm_read': True,
|
||||
'perm_write': True,
|
||||
'perm_create': True,
|
||||
|
@ -114,6 +116,7 @@ class ir_rule(osv.osv):
|
|||
FROM ir_rule r
|
||||
JOIN ir_model m ON (r.model_id = m.id)
|
||||
WHERE m.model = %s
|
||||
AND r.active is True
|
||||
AND r.perm_""" + mode + """
|
||||
AND (r.id IN (SELECT rule_group_id FROM rule_group_rel g_rel
|
||||
JOIN res_groups_users_rel u_rel ON (g_rel.group_id = u_rel.gid)
|
||||
|
|
|
@ -267,7 +267,7 @@ class ir_translation(osv.osv):
|
|||
# FIXME: should assert that `source` is unicode and fix all callers to always pass unicode
|
||||
# so we can remove the string encoding/decoding.
|
||||
if not lang:
|
||||
return u''
|
||||
return tools.ustr(source or '')
|
||||
if isinstance(types, basestring):
|
||||
types = (types,)
|
||||
if source:
|
||||
|
|
|
@ -298,7 +298,7 @@ class ir_ui_menu(osv.osv):
|
|||
('ir.actions.report.xml', 'ir.actions.report.xml'),
|
||||
('ir.actions.act_window', 'ir.actions.act_window'),
|
||||
('ir.actions.wizard', 'ir.actions.wizard'),
|
||||
('ir.actions.url', 'ir.actions.url'),
|
||||
('ir.actions.act_url', 'ir.actions.act_url'),
|
||||
('ir.actions.server', 'ir.actions.server'),
|
||||
('ir.actions.client', 'ir.actions.client'),
|
||||
]),
|
||||
|
|
|
@ -192,7 +192,6 @@ class view(osv.osv):
|
|||
def write(self, cr, uid, ids, vals, context=None):
|
||||
if not isinstance(ids, (list, tuple)):
|
||||
ids = [ids]
|
||||
result = super(view, self).write(cr, uid, ids, vals, context)
|
||||
|
||||
# drop the corresponding view customizations (used for dashboards for example), otherwise
|
||||
# not all users would see the updated views
|
||||
|
@ -200,7 +199,7 @@ class view(osv.osv):
|
|||
if custom_view_ids:
|
||||
self.pool.get('ir.ui.view.custom').unlink(cr, uid, custom_view_ids)
|
||||
|
||||
return result
|
||||
return super(view, self).write(cr, uid, ids, vals, context)
|
||||
|
||||
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node, label, scale, context=None):
|
||||
nodes=[]
|
||||
|
|
|
@ -237,7 +237,6 @@ class module(osv.osv):
|
|||
'menus_by_module': fields.function(_get_views, string='Menus', type='text', multi="meta", store=True),
|
||||
'reports_by_module': fields.function(_get_views, string='Reports', type='text', multi="meta", store=True),
|
||||
'views_by_module': fields.function(_get_views, string='Views', type='text', multi="meta", store=True),
|
||||
'certificate' : fields.char('Quality Certificate', size=64, readonly=True),
|
||||
'application': fields.boolean('Application', readonly=True),
|
||||
'icon': fields.char('Icon URL', size=128),
|
||||
'icon_image': fields.function(_get_icon_image, string='Icon', type="binary"),
|
||||
|
@ -253,12 +252,9 @@ class module(osv.osv):
|
|||
|
||||
def _name_uniq_msg(self, cr, uid, ids, context=None):
|
||||
return _('The name of the module must be unique !')
|
||||
def _certificate_uniq_msg(self, cr, uid, ids, context=None):
|
||||
return _('The certificate ID of the module must be unique !')
|
||||
|
||||
_sql_constraints = [
|
||||
('name_uniq', 'UNIQUE (name)',_name_uniq_msg ),
|
||||
('certificate_uniq', 'UNIQUE (certificate)',_certificate_uniq_msg )
|
||||
]
|
||||
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
|
@ -511,7 +507,6 @@ class module(osv.osv):
|
|||
'contributors': ', '.join(terp.get('contributors', [])) or False,
|
||||
'website': terp.get('website', ''),
|
||||
'license': terp.get('license', 'AGPL-3'),
|
||||
'certificate': terp.get('certificate') or False,
|
||||
'sequence': terp.get('sequence', 100),
|
||||
'application': terp.get('application', False),
|
||||
'auto_install': terp.get('auto_install', False),
|
||||
|
@ -677,14 +672,6 @@ class module(osv.osv):
|
|||
if not mod.description:
|
||||
_logger.warning('module %s: description is empty !', mod.name)
|
||||
|
||||
if not mod.certificate or not mod.certificate.isdigit():
|
||||
_logger.info('module %s: no quality certificate', mod.name)
|
||||
else:
|
||||
val = long(mod.certificate[2:]) % 97 == 29
|
||||
if not val:
|
||||
_logger.critical('module %s: invalid quality certificate: %s', mod.name, mod.certificate)
|
||||
raise osv.except_osv(_('Error'), _('Module %s: Invalid Quality Certificate') % (mod.name,))
|
||||
|
||||
class module_dependency(osv.osv):
|
||||
_name = "ir.module.module.dependency"
|
||||
_description = "Module dependency"
|
||||
|
|
|
@ -25,25 +25,25 @@
|
|||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_sales_management">
|
||||
<field name="name">Sales Management</field>
|
||||
<field name="name">Sales</field>
|
||||
<field name="description">Helps you handle your quotations, sale orders and invoicing.</field>
|
||||
<field name="sequence">2</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_project_management">
|
||||
<field name="name">Project Management</field>
|
||||
<field name="name">Project</field>
|
||||
<field name="description">Helps you manage your projects and tasks by tracking them, generating plannings, etc...</field>
|
||||
<field name="sequence">3</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_knowledge_management">
|
||||
<field name="name">Knowledge Management</field>
|
||||
<field name="name">Knowledge</field>
|
||||
<field name="description">Lets you install addons geared towards sharing knowledge with and between your employees.</field>
|
||||
<field name="sequence">4</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_warehouse_management">
|
||||
<field name="name">Warehouse Management</field>
|
||||
<field name="name">Warehouse</field>
|
||||
<field name="description">Helps you manage your inventory and main stock operations: delivery orders, receptions, etc.</field>
|
||||
<field name="sequence">5</field>
|
||||
</record>
|
||||
|
@ -67,7 +67,7 @@
|
|||
</record>
|
||||
|
||||
<record model="ir.module.category" id="module_category_purchase_management">
|
||||
<field name="name">Purchase Management</field>
|
||||
<field name="name">Purchases</field>
|
||||
<field name="description">Helps you manage your purchase-related processes such as requests for quotations, supplier invoices, etc...</field>
|
||||
<field name="sequence">9</field>
|
||||
</record>
|
||||
|
@ -134,7 +134,7 @@
|
|||
</record>
|
||||
|
||||
<record model="res.groups" id="group_multi_currency">
|
||||
<field name="category_id" ref="module_category_usability"/>
|
||||
<field name="category_id" ref="module_category_hidden"/>
|
||||
</record>
|
||||
|
||||
<record model="res.groups" id="group_no_one">
|
||||
|
|
|
@ -47,10 +47,10 @@ class base_module_upgrade(osv.osv_memory):
|
|||
ids = self.get_module_list(cr, uid, context=context)
|
||||
if not ids:
|
||||
res['arch'] = '''<form string="Apply Schedule Upgrade" version="7.0">
|
||||
<header>
|
||||
<t t-call="ui.Header">
|
||||
<button name="config" string="Start configuration" type="object" icon="gtk-ok"/>
|
||||
<button special="cancel" string="Close" icon="gtk-cancel"/>
|
||||
</header>
|
||||
</t>
|
||||
<separator string="Apply Schedule Upgrade" colspan="4"/>
|
||||
</form>'''
|
||||
|
||||
|
|
|
@ -172,38 +172,35 @@ class res_partner_bank(osv.osv):
|
|||
('required', field.required)]
|
||||
return res
|
||||
|
||||
def _prepare_name_get(self, cr, uid, bank_type_obj, bank_obj, context=None):
|
||||
def _prepare_name_get(self, cr, uid, bank_dicts, context=None):
|
||||
""" Format the name of a res.partner.bank.
|
||||
This function is designed to be inherited to add replacement fields.
|
||||
:param bank_dicts: a list of res.partner.bank dicts, as returned by the method read()
|
||||
:return: [(id, name), ...], as returned by the method name_get()
|
||||
"""
|
||||
Format the name of a res.partner.bank.
|
||||
This function is designed to be inherited to add replacement fields.
|
||||
:param browse_record bank_type_obj: res.partner.bank.type object
|
||||
:param browse_record bank_obj: res.partner.bank object
|
||||
:rtype: str
|
||||
:return: formatted name of a res.partner.bank record
|
||||
"""
|
||||
return bank_type_obj.format_layout % bank_obj._data[bank_obj.id]
|
||||
# prepare a mapping {code: format_layout} for all bank types
|
||||
bank_type_obj = self.pool.get('res.partner.bank.type')
|
||||
bank_types = bank_type_obj.browse(cr, uid, bank_type_obj.search(cr, uid, []), context=context)
|
||||
bank_code_format = dict((bt.code, bt.format_layout) for bt in bank_types)
|
||||
|
||||
res = []
|
||||
for data in bank_dicts:
|
||||
name = data['acc_number']
|
||||
if data['state'] and bank_code_format.get(data['state']):
|
||||
try:
|
||||
if not data.get('bank_name'):
|
||||
data['bank_name'] = _('BANK')
|
||||
name = bank_code_format[data['state']] % data
|
||||
except Exception:
|
||||
raise osv.except_osv(_("Formating Error"), _("Invalid Bank Account Type Name format."))
|
||||
res.append((data.get('id', False), name))
|
||||
return res
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
if not len(ids):
|
||||
return []
|
||||
bank_type_obj = self.pool.get('res.partner.bank.type')
|
||||
res = []
|
||||
for val in self.browse(cr, uid, ids, context=context):
|
||||
result = val.acc_number
|
||||
if val.state:
|
||||
type_ids = bank_type_obj.search(cr, uid, [('code','=',val.state)])
|
||||
if type_ids:
|
||||
t = bank_type_obj.browse(cr, uid, type_ids[0], context=context)
|
||||
try:
|
||||
# avoid the default format_layout to result in "False: ..."
|
||||
if not val._data[val.id]['bank_name']:
|
||||
val._data[val.id]['bank_name'] = _('BANK')
|
||||
result = self._prepare_name_get(cr, uid, t, val, context=context)
|
||||
except:
|
||||
result += ' [Formatting Error]'
|
||||
raise
|
||||
res.append((val.id, result))
|
||||
return res
|
||||
bank_dicts = self.read(cr, uid, ids, context=context)
|
||||
return self._prepare_name_get(cr, uid, bank_dicts, context=context)
|
||||
|
||||
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
|
||||
result = {}
|
||||
|
|
|
@ -90,8 +90,8 @@
|
|||
<form string="Bank account" version="7.0">
|
||||
<group col="4">
|
||||
<field name="state"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="company_id" on_change="onchange_company_id(company_id)"
|
||||
<field name="acc_number" placeholder="Account Number"/>
|
||||
<field name="company_id" groups="base.group_multi_company" on_change="onchange_company_id(company_id)"
|
||||
invisible="context.get('company_hide', True)" widget="selection"/>
|
||||
<field name="footer" invisible="context.get('footer_hide', True)"/>
|
||||
</group>
|
||||
|
@ -113,7 +113,7 @@
|
|||
<group name="bank" string="Information About the Bank">
|
||||
<field name="bank" on_change="onchange_bank_id(bank)"/>
|
||||
<field name="bank_name" attrs="{'required': [('company_id','<>',False)]}"/>
|
||||
<field name="bank_bic" placeholder="[Identifier code]" />
|
||||
<field name="bank_bic" placeholder="e.g. GEBABEBB" />
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
|
|
@ -111,8 +111,8 @@ class res_company(osv.osv):
|
|||
'rml_header1': fields.char('Company Slogan', size=200, help="Appears by default on the top right corner of your printed documents (report header)."),
|
||||
'rml_header2': fields.text('RML Internal Header', required=True),
|
||||
'rml_header3': fields.text('RML Internal Header for Landscape Reports', required=True),
|
||||
'rml_footer': fields.text('Report Footer', help="Footer text displayed at the bottom of all reports. Automatically set based on company details, "\
|
||||
"but may also be customized by directly editing it."),
|
||||
'rml_footer': fields.text('Report Footer', help="Footer text displayed at the bottom of all reports."),
|
||||
'rml_footer_readonly': fields.related('rml_footer', type='text', string='Report Footer', readonly=True),
|
||||
'custom_footer': fields.boolean('Custom Footer', help="Check this to define the report footer manually. Otherwise it will be filled in automatically."),
|
||||
'logo': fields.related('partner_id', 'image', string="Logo", type="binary"),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
||||
|
@ -138,36 +138,28 @@ class res_company(osv.osv):
|
|||
('name_uniq', 'unique (name)', 'The company name must be unique !')
|
||||
]
|
||||
|
||||
def onchange_footer(self, cr, uid, ids, context=None):
|
||||
# when touched, the footer becomes custom
|
||||
return {'value': {'custom_footer': True}}
|
||||
def onchange_footer(self, cr, uid, ids, custom_footer, phone, fax, email, website, vat, company_registry, bank_ids, context=None):
|
||||
if custom_footer:
|
||||
return {}
|
||||
|
||||
def set_auto_footer(self, cr, uid, ids, context=None):
|
||||
# unset the flag 'custom_footer'; this will automatically compute the footer
|
||||
return self.write(cr, uid, ids, {'custom_footer': False}, context=context)
|
||||
|
||||
def compute_footer(self, cr, uid, ids, context=None):
|
||||
# first line (notice that missing elements are filtered out before the join)
|
||||
res = ' | '.join(filter(bool, [
|
||||
phone and '%s: %s' % (_('Phone'), phone),
|
||||
fax and '%s: %s' % (_('Fax'), fax),
|
||||
email and '%s: %s' % (_('Email'), email),
|
||||
website and '%s: %s' % (_('Website'), website),
|
||||
vat and '%s: %s' % (_('TIN'), vat),
|
||||
company_registry and '%s: %s' % (_('Reg'), company_registry),
|
||||
]))
|
||||
# second line: bank accounts
|
||||
res_partner_bank = self.pool.get('res.partner.bank')
|
||||
for company in self.browse(cr, uid, ids, context):
|
||||
if not company.custom_footer:
|
||||
# first line (notice that missing elements are filtered out before the join)
|
||||
res = ' | '.join(filter(bool, [
|
||||
company.phone and '%s: %s' % (_('Phone'), company.phone),
|
||||
company.fax and '%s: %s' % (_('Fax'), company.fax),
|
||||
company.email and '%s: %s' % (_('Email'), company.email),
|
||||
company.website and '%s: %s' % (_('Website'), company.website),
|
||||
company.vat and '%s: %s' % (_('TIN'), company.vat),
|
||||
company.company_registry and '%s: %s' % (_('Reg'), company.company_registry),
|
||||
]))
|
||||
# second line: bank accounts
|
||||
account_ids = [acc.id for acc in company.bank_ids if acc.footer]
|
||||
account_names = res_partner_bank.name_get(cr, uid, account_ids, context=context)
|
||||
if account_names:
|
||||
title = _('Bank Accounts') if len(account_names) > 1 else _('Bank Account')
|
||||
res += '\n%s: %s' % (title, ', '.join(name for id, name in account_names))
|
||||
# update footer
|
||||
self.write(cr, uid, [company.id], {'rml_footer': res}, context=context)
|
||||
return True
|
||||
account_data = self.resolve_2many_commands(cr, uid, 'bank_ids', bank_ids, context=context)
|
||||
account_names = res_partner_bank._prepare_name_get(cr, uid, account_data, context=context)
|
||||
if account_names:
|
||||
title = _('Bank Accounts') if len(account_names) > 1 else _('Bank Account')
|
||||
res += '\n%s: %s' % (title, ', '.join(name for id, name in account_names))
|
||||
|
||||
return {'value': {'rml_footer': res, 'rml_footer_readonly': res}}
|
||||
|
||||
def on_change_country(self, cr, uid, ids, country_id, context=None):
|
||||
currency_id = self._get_euro(cr, uid, context=context)
|
||||
|
@ -203,7 +195,7 @@ class res_company(osv.osv):
|
|||
]
|
||||
|
||||
ids = proxy.search(cr, uid, args, context=context)
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
user = self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context)
|
||||
for rule in proxy.browse(cr, uid, ids, context):
|
||||
if eval(rule.expression, {'context': context, 'user': user}):
|
||||
return rule.company_dest_id.id
|
||||
|
@ -248,17 +240,11 @@ class res_company(osv.osv):
|
|||
self.cache_restart(cr)
|
||||
company_id = super(res_company, self).create(cr, uid, vals, context=context)
|
||||
obj_partner.write(cr, uid, partner_id, {'company_id': company_id}, context=context)
|
||||
self.compute_footer(cr, uid, [company_id], context=context)
|
||||
return company_id
|
||||
|
||||
def write(self, cr, uid, ids, values, context=None):
|
||||
self.cache_restart(cr)
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
super(res_company, self).write(cr, uid, ids, values, context=context)
|
||||
if 'rml_footer' not in values:
|
||||
self.compute_footer(cr, uid, ids, context=context)
|
||||
return True
|
||||
return super(res_company, self).write(cr, uid, ids, values, context=context)
|
||||
|
||||
def _get_euro(self, cr, uid, context=None):
|
||||
rate_obj = self.pool.get('res.currency.rate')
|
||||
|
|
|
@ -55,29 +55,26 @@
|
|||
<div>
|
||||
<field name="rml_header1" placeholder="e.g. Global Business Solutions"/>
|
||||
</div>
|
||||
<field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
|
||||
<field name="website" widget="url" placeholder="e.g. www.openerp.com"
|
||||
on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="phone"/>
|
||||
<field name="fax"/>
|
||||
<field name="email"/>
|
||||
<field name="vat"/>
|
||||
<field name="company_registry"/>
|
||||
<field name="phone" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
<field name="fax" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
<field name="email" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
<field name="vat" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
<field name="company_registry" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="Bank Accounts">
|
||||
<field name="bank_ids" nolabel="1"
|
||||
context="{'default_company_id': active_id, 'footer_hide': False}"/>
|
||||
<field name="bank_ids" nolabel="1" context="{'default_company_id': active_id, 'footer_hide': False}"
|
||||
on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
</group>
|
||||
<group string="Report Footer Configuration">
|
||||
<field name="paper_format" on_change="onchange_paper_format(paper_format)"/>
|
||||
<field name="custom_footer" invisible="1"/>
|
||||
<label for="rml_footer"/>
|
||||
<div>
|
||||
<field name="rml_footer" on_change="onchange_footer()"/>
|
||||
<button string="Set Automatic Footer" type="object" name="set_auto_footer"
|
||||
attrs="{'invisible': [('custom_footer','=',False)]}" class="oe_edit_only"/>
|
||||
</div>
|
||||
<field name="custom_footer" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||
<field name="rml_footer" attrs="{'invisible': [('custom_footer','=',False)]}"/>
|
||||
<field name="rml_footer_readonly" attrs="{'invisible': [('custom_footer','=',True)]}"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Header/Footer" groups="base.group_no_one">
|
||||
|
|
|
@ -552,5 +552,22 @@ class res_config_settings(osv.osv_memory):
|
|||
if action_ids:
|
||||
return act_window.read(cr, uid, action_ids[0], [], context=context)
|
||||
return {}
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
""" Override name_get method to return an appropriate configuration wizard
|
||||
name, and not the generated name."""
|
||||
|
||||
if not ids:
|
||||
return []
|
||||
# name_get may receive int id instead of an id list
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
|
||||
act_window = self.pool.get('ir.actions.act_window')
|
||||
action_ids = act_window.search(cr, uid, [('res_model', '=', self._name)], context=context)
|
||||
name = self._name
|
||||
if action_ids:
|
||||
name = act_window.read(cr, uid, action_ids[0], ['name'], context=context)['name']
|
||||
return [(record.id, name) for record in self.browse(cr, uid , ids, context=context)]
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -64,7 +64,7 @@ addresses belonging to this country.\n\nYou can use the python-style string pate
|
|||
'The code of the country must be unique !')
|
||||
]
|
||||
_defaults = {
|
||||
'address_format': "%(company_name)s\n%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s\n%(country_name)s",
|
||||
'address_format': "%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s",
|
||||
}
|
||||
_order='name'
|
||||
|
||||
|
@ -89,9 +89,10 @@ class CountryState(osv.osv):
|
|||
_columns = {
|
||||
'country_id': fields.many2one('res.country', 'Country',
|
||||
required=True),
|
||||
'name': fields.char('State Name', size=64, required=True),
|
||||
'name': fields.char('State Name', size=64, required=True,
|
||||
help='Administrative divisions of a country. E.g. Fed. State, Departement, Canton'),
|
||||
'code': fields.char('State Code', size=3,
|
||||
help='The state code in three chars.\n', required=True),
|
||||
help='The state code in max. three chars.', required=True),
|
||||
}
|
||||
_order = 'code'
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
|
||||
<record id="ad" model="res.country">
|
||||
<field name="name">Andorra, Principality of</field>
|
||||
<field name="code">ad</field>
|
||||
|
@ -70,7 +70,7 @@
|
|||
<record id="au" model="res.country">
|
||||
<field name="name">Australia</field>
|
||||
<field name="code">au</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="AUD"/>
|
||||
</record>
|
||||
<record id="aw" model="res.country">
|
||||
|
@ -106,7 +106,7 @@
|
|||
<record id="be" model="res.country">
|
||||
<field name="name">Belgium</field>
|
||||
<field name="code">be</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(zip)s, %(city)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(zip)s %(city)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="EUR"/>
|
||||
</record>
|
||||
<record id="bf" model="res.country">
|
||||
|
@ -162,7 +162,7 @@
|
|||
<record id="br" model="res.country">
|
||||
<field name="name">Brazil</field>
|
||||
<field name="code">br</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s %(state_code)s\n%(zip)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="BRL"/>
|
||||
</record>
|
||||
<record id="bs" model="res.country">
|
||||
|
@ -198,7 +198,7 @@
|
|||
<record id="ca" model="res.country">
|
||||
<field name="name">Canada</field>
|
||||
<field name="code">ca</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="CAD"/>
|
||||
</record>
|
||||
<record id="cc" model="res.country">
|
||||
|
@ -350,7 +350,7 @@
|
|||
<record id="es" model="res.country">
|
||||
<field name="name">Spain</field>
|
||||
<field name="code">es</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(zip)s %(city)s,%(state_name)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(zip)s %(city)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="EUR"/>
|
||||
</record>
|
||||
<record id="et" model="res.country">
|
||||
|
@ -386,7 +386,7 @@
|
|||
<record id="fr" model="res.country">
|
||||
<field name="name">France</field>
|
||||
<field name="code">fr</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(zip)s %(city)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(zip)s %(city)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="EUR"/>
|
||||
</record>
|
||||
<record id="ga" model="res.country">
|
||||
|
@ -532,7 +532,7 @@
|
|||
<record id="in" model="res.country">
|
||||
<field name="name">India</field>
|
||||
<field name="code">in</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(zip)s\n%(state_name)s%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s %(zip)s\n%(state_name)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="INR"/>
|
||||
</record>
|
||||
<record id="io" model="res.country">
|
||||
|
@ -1174,7 +1174,7 @@
|
|||
</record>
|
||||
<record id="uk" model="res.country">
|
||||
<field name="name">United Kingdom</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s\n%(country_name)s\n%(zip)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s\n%(state_name)s\n%(zip)s\n%(country_name)s'" />
|
||||
<field name="code">gb</field>
|
||||
<field name="currency_id" ref="GBP"/>
|
||||
</record>
|
||||
|
@ -1186,7 +1186,7 @@
|
|||
<record id="us" model="res.country">
|
||||
<field name="name">United States</field>
|
||||
<field name="code">us</field>
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s, %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="address_format" eval="'%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s'" />
|
||||
<field name="currency_id" ref="USD"/>
|
||||
</record>
|
||||
<record id="uy" model="res.country">
|
||||
|
@ -1269,6 +1269,7 @@
|
|||
<field name="code">zm</field>
|
||||
<field name="currency_id" ref="ZMK"/>
|
||||
</record>
|
||||
|
||||
<!-- DEPRECATED, New name of Zaire is Democratic Republic of the Congo ! -->
|
||||
<record id="zr" model="res.country">
|
||||
<field name="name">Zaire</field>
|
||||
|
@ -1280,5 +1281,5 @@
|
|||
<field name="code">zw</field>
|
||||
<field name="currency_id" ref="ZWD"/>
|
||||
</record>
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
|
@ -77,7 +77,7 @@ class lang(osv.osv):
|
|||
_logger.warning(msg, lang, lc)
|
||||
|
||||
if not lang_name:
|
||||
lang_name = tools.get_languages().get(lang, lang)
|
||||
lang_name = tools.ALL_LANGUAGES.get(lang, lang)
|
||||
|
||||
|
||||
def fix_xa0(s):
|
||||
|
|
|
@ -22,24 +22,59 @@
|
|||
import math
|
||||
import openerp
|
||||
from osv import osv, fields
|
||||
from openerp import SUPERUSER_ID
|
||||
import re
|
||||
import tools
|
||||
from tools.translate import _
|
||||
import logging
|
||||
import pooler
|
||||
import pytz
|
||||
from lxml import etree
|
||||
|
||||
class format_address(object):
|
||||
def fields_view_get_address(self, cr, uid, arch, context={}):
|
||||
user_obj = self.pool.get('res.users')
|
||||
fmt = user_obj.browse(cr, SUPERUSER_ID, uid, context).company_id.country_id
|
||||
fmt = fmt and fmt.address_format
|
||||
layouts = {
|
||||
'%(city)s %(state_code)s\n%(zip)s': """
|
||||
<div class="address_format">
|
||||
<field name="city" placeholder="City" style="width: 50%%"/>
|
||||
<field name="state_id" class="oe_no_button" placeholder="State" style="width: 47%%" options='{"no_open": true}'/>
|
||||
<br/>
|
||||
<field name="zip" placeholder="ZIP"/>
|
||||
</div>
|
||||
""",
|
||||
'%(zip)s %(city)s': """
|
||||
<div class="address_format">
|
||||
<field name="zip" placeholder="ZIP" style="width: 40%%"/>
|
||||
<field name="city" placeholder="City" style="width: 57%%"/>
|
||||
<br/>
|
||||
<field name="state_id" class="oe_no_button" placeholder="State" options='{"no_open": true}'/>
|
||||
</div>
|
||||
""",
|
||||
'%(city)s\n%(state_name)s\n%(zip)s': """
|
||||
<div class="address_format">
|
||||
<field name="city" placeholder="City"/>
|
||||
<field name="state_id" class="oe_no_button" placeholder="State" options='{"no_open": true}'/>
|
||||
<field name="zip" placeholder="ZIP"/>
|
||||
</div>
|
||||
"""
|
||||
}
|
||||
for k,v in layouts.items():
|
||||
if fmt and (k in fmt):
|
||||
doc = etree.fromstring(arch)
|
||||
for node in doc.xpath("//div[@class='address_format']"):
|
||||
tree = etree.fromstring(v)
|
||||
node.getparent().replace(node, tree)
|
||||
arch = etree.tostring(doc)
|
||||
break
|
||||
return arch
|
||||
|
||||
|
||||
def _tz_get(self,cr,uid, context=None):
|
||||
return [(x, x) for x in pytz.all_timezones]
|
||||
|
||||
class res_payterm(osv.osv):
|
||||
_description = 'Payment term'
|
||||
_name = 'res.payterm'
|
||||
_order = 'name'
|
||||
_columns = {
|
||||
'name': fields.char('Payment Term (short name)', size=64),
|
||||
}
|
||||
|
||||
class res_partner_category(osv.osv):
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
|
@ -127,7 +162,7 @@ def _lang_get(self, cr, uid, context=None):
|
|||
POSTAL_ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id')
|
||||
ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang')
|
||||
|
||||
class res_partner(osv.osv):
|
||||
class res_partner(osv.osv, format_address):
|
||||
_description = 'Partner'
|
||||
_name = "res.partner"
|
||||
|
||||
|
@ -151,28 +186,31 @@ class res_partner(osv.osv):
|
|||
'name': fields.char('Name', size=128, required=True, select=True),
|
||||
'date': fields.date('Date', select=1),
|
||||
'title': fields.many2one('res.partner.title', 'Title'),
|
||||
'parent_id': fields.many2one('res.partner', 'Owned by'),
|
||||
'parent_id': fields.many2one('res.partner', 'Company'),
|
||||
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'),
|
||||
'ref': fields.char('Reference', size=64, select=1),
|
||||
'lang': fields.selection(_lang_get, 'Language',
|
||||
help="If the selected language is loaded in the system, all documents related to this partner will be printed in this language. If not, it will be english."),
|
||||
help="If the selected language is loaded in the system, all documents related to this contact will be printed in this language. If not, it will be English."),
|
||||
'tz': fields.selection(_tz_get, 'Timezone', size=64,
|
||||
help="The partner's timezone, used to output proper date and time values inside printed reports. "
|
||||
"It is important to set a value for this field. You should use the same timezone "
|
||||
"that is otherwise used to pick and render date and time values: your computer's timezone."),
|
||||
'user_id': fields.many2one('res.users', 'Salesperson', help='The internal user that is in charge of communicating with this partner if any.'),
|
||||
'vat': fields.char('TIN', size=32, help="Tax Identification Number. Check the box if the partner is subjected to taxes. Used by the some of the legal statements."),
|
||||
'user_id': fields.many2one('res.users', 'Salesperson', help='The internal user that is in charge of communicating with this contact if any.'),
|
||||
'vat': fields.char('TIN', size=32, help="Tax Identification Number. Check the box if this contact is subjected to taxes. Used by the some of the legal statements."),
|
||||
'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'),
|
||||
'website': fields.char('Website', size=64, help="Website of Partner or Company"),
|
||||
'comment': fields.text('Notes'),
|
||||
'address': fields.one2many('res.partner.address', 'partner_id', 'Contacts'), # should be removed in version 7, but kept until then for backward compatibility
|
||||
'address': fields.one2many('res.partner.address', 'partner_id', 'Addresses',
|
||||
deprecated="The address information is now directly stored on each Partner record. "\
|
||||
"Multiple contacts with their own address can be added via the child_ids relationship. "\
|
||||
"This field will be removed as of OpenERP 7.1."),
|
||||
'category_id': fields.many2many('res.partner.category', id1='partner_id', id2='category_id', string='Tags'),
|
||||
'credit_limit': fields.float(string='Credit Limit'),
|
||||
'ean13': fields.char('EAN13', size=13),
|
||||
'active': fields.boolean('Active'),
|
||||
'customer': fields.boolean('Customer', help="Check this box if the partner is a customer."),
|
||||
'supplier': fields.boolean('Supplier', help="Check this box if the partner is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."),
|
||||
'employee': fields.boolean('Employee', help="Check this box if the partner is an Employee."),
|
||||
'customer': fields.boolean('Customer', help="Check this box if this contact is a customer."),
|
||||
'supplier': fields.boolean('Supplier', help="Check this box if this contact is a supplier. If it's not checked, purchase people will not see it when encoding a purchase order."),
|
||||
'employee': fields.boolean('Employee', help="Check this box if this contact is an Employee."),
|
||||
'function': fields.char('Job Position', size=128),
|
||||
'type': fields.selection([('default', 'Default'), ('invoice', 'Invoice'),
|
||||
('delivery', 'Delivery'), ('contact', 'Contact'),
|
||||
|
@ -184,7 +222,8 @@ class res_partner(osv.osv):
|
|||
'city': fields.char('City', size=128),
|
||||
'state_id': fields.many2one("res.country.state", 'State'),
|
||||
'country_id': fields.many2one('res.country', 'Country'),
|
||||
'country': fields.related('country_id', type='many2one', relation='res.country', string='Country'), # for backward compatibility
|
||||
'country': fields.related('country_id', type='many2one', relation='res.country', string='Country',
|
||||
deprecated="This field will be removed as of OpenERP 7.1, use country_id instead"),
|
||||
'email': fields.char('Email', size=240),
|
||||
'phone': fields.char('Phone', size=64),
|
||||
'fax': fields.char('Fax', size=64),
|
||||
|
@ -194,13 +233,13 @@ class res_partner(osv.osv):
|
|||
'use_parent_address': fields.boolean('Use Company Address', help="Select this if you want to set company's address information for this contact"),
|
||||
# image: all image fields are base64 encoded and PIL-supported
|
||||
'image': fields.binary("Image",
|
||||
help="This field holds the image used as avatar for the partner, limited to 1024x1024px"),
|
||||
help="This field holds the image used as avatar for this contact, limited to 1024x1024px"),
|
||||
'image_medium': fields.function(_get_image, fnct_inv=_set_image,
|
||||
string="Medium-sized image", type="binary", multi="_get_image",
|
||||
store={
|
||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
|
||||
},
|
||||
help="Medium-sized image of the partner. It is automatically "\
|
||||
help="Medium-sized image of this contact. It is automatically "\
|
||||
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||
"Use this field in form views or some kanban views."),
|
||||
'image_small': fields.function(_get_image, fnct_inv=_set_image,
|
||||
|
@ -208,7 +247,7 @@ class res_partner(osv.osv):
|
|||
store={
|
||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
|
||||
},
|
||||
help="Small-sized image of the partner. It is automatically "\
|
||||
help="Small-sized image of this contact. It is automatically "\
|
||||
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||
"Use this field anywhere a small image is required."),
|
||||
'company_id': fields.many2one('res.company', 'Company', select=1),
|
||||
|
@ -231,6 +270,14 @@ class res_partner(osv.osv):
|
|||
image = tools.image_colorize(open(openerp.modules.get_module_resource('base', 'static/src/img', 'avatar.png')).read())
|
||||
return tools.image_resize_image_big(image.encode('base64'))
|
||||
|
||||
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
if (not view_id) and (view_type=='form') and context and context.get('force_email', False):
|
||||
view_id = self.pool.get('ir.model.data').get_object_reference(cr, user, 'base', 'view_partner_simple_form')[1]
|
||||
res = super(res_partner,self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
|
||||
if view_type == 'form':
|
||||
res['arch'] = self.fields_view_get_address(cr, user, res['arch'], context=context)
|
||||
return res
|
||||
|
||||
_defaults = {
|
||||
'active': True,
|
||||
'lang': lambda self, cr, uid, ctx: ctx.get('lang', 'en_US'),
|
||||
|
@ -350,7 +397,7 @@ class res_partner(osv.osv):
|
|||
- otherwise: default, everything is set as the name """
|
||||
match = re.search(r'([^\s,<@]+@[^>\s,]+)', text)
|
||||
if match:
|
||||
email = match.group(1)
|
||||
email = match.group(1)
|
||||
name = text[:text.index(email)].replace('"','').replace('<','').strip()
|
||||
else:
|
||||
name, email = text, ''
|
||||
|
@ -398,7 +445,7 @@ class res_partner(osv.osv):
|
|||
def find_or_create(self, cr, uid, email, context=None):
|
||||
""" Find a partner with the given ``email`` or use :py:method:`~.name_create`
|
||||
to create one
|
||||
|
||||
|
||||
:param str email: email-like string, which should contain at least one email,
|
||||
e.g. ``"Raoul Grosbedon <r.g@grosbedon.fr>"``"""
|
||||
assert email, 'an email is required for find_or_create to work'
|
||||
|
@ -498,7 +545,7 @@ class res_partner(osv.osv):
|
|||
# get the information that will be injected into the display format
|
||||
# get the address format
|
||||
address_format = address.country_id and address.country_id.address_format or \
|
||||
'%(company_name)s\n%(street)s\n%(street2)s\n%(city)s,%(state_code)s %(zip)s'
|
||||
"%(street)s\n%(street2)s\n%(city)s %(state_code)s %(zip)s\n%(country_name)s"
|
||||
args = {
|
||||
'state_code': address.state_id and address.state_id.code or '',
|
||||
'state_name': address.state_id and address.state_id.name or '',
|
||||
|
@ -511,10 +558,10 @@ class res_partner(osv.osv):
|
|||
args[field] = getattr(address, field) or ''
|
||||
if without_company:
|
||||
args['company_name'] = ''
|
||||
elif address.parent_id:
|
||||
address_format = '%(company_name)s\n' + address_format
|
||||
return address_format % args
|
||||
|
||||
|
||||
|
||||
# res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
|
||||
class res_partner_address(osv.osv):
|
||||
_table = "res_partner"
|
||||
|
|
|
@ -20,17 +20,32 @@
|
|||
<record id="res_partner_title_madam" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Madam</field>
|
||||
<field name="shortcut">Ms.</field>
|
||||
<field name="shortcut">Mrs.</field>
|
||||
</record>
|
||||
<record id="res_partner_title_miss" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Miss</field>
|
||||
<field name="shortcut">Mss</field>
|
||||
<field name="shortcut">Miss</field>
|
||||
</record>
|
||||
<record id="res_partner_title_sir" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Sir</field>
|
||||
<field name="shortcut">M.</field>
|
||||
<field name="shortcut">Sir</field>
|
||||
</record>
|
||||
<record id="res_partner_title_mister" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Mister</field>
|
||||
<field name="shortcut">Mr.</field>
|
||||
</record>
|
||||
<record id="res_partner_title_doctor" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Doctor</field>
|
||||
<field name="shortcut">Dr.</field>
|
||||
</record>
|
||||
<record id="res_partner_title_prof" model="res.partner.title">
|
||||
<field name="domain">contact</field>
|
||||
<field name="name">Professor</field>
|
||||
<field name="shortcut">Prof.</field>
|
||||
</record>
|
||||
|
||||
<!-- Default bank account description -->
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue