[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-lxml,
|
||||||
python-mako,
|
python-mako,
|
||||||
python-openid,
|
python-openid,
|
||||||
|
python-psutil,
|
||||||
python-psycopg2,
|
python-psycopg2,
|
||||||
python-pybabel,
|
python-pybabel,
|
||||||
python-pychart,
|
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
|
(c) 2003-TODAY, Fabien Pinckaers - OpenERP SA
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import imp
|
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import signal
|
import signal
|
||||||
|
@ -92,7 +91,7 @@ def setup_pid_file():
|
||||||
def preload_registry(dbname):
|
def preload_registry(dbname):
|
||||||
""" Preload a registry, and start the cron."""
|
""" Preload a registry, and start the cron."""
|
||||||
try:
|
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()
|
# jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services()
|
||||||
registry.schedule_cron_jobs()
|
registry.schedule_cron_jobs()
|
||||||
|
@ -111,7 +110,6 @@ def run_test_file(dbname, test_file):
|
||||||
except Exception:
|
except Exception:
|
||||||
_logger.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file)
|
_logger.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file)
|
||||||
|
|
||||||
|
|
||||||
def export_translation():
|
def export_translation():
|
||||||
config = openerp.tools.config
|
config = openerp.tools.config
|
||||||
dbname = config['db_name']
|
dbname = config['db_name']
|
||||||
|
@ -203,9 +201,10 @@ def quit_on_signals():
|
||||||
try:
|
try:
|
||||||
while quit_signals_received == 0:
|
while quit_signals_received == 0:
|
||||||
time.sleep(60)
|
time.sleep(60)
|
||||||
except KeyboardInterrupt, e:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
config = openerp.tools.config
|
||||||
if config['pidfile']:
|
if config['pidfile']:
|
||||||
os.unlink(config['pidfile'])
|
os.unlink(config['pidfile'])
|
||||||
|
|
||||||
|
@ -218,8 +217,7 @@ def configure_babel_localedata_path():
|
||||||
import babel
|
import babel
|
||||||
babel.localedata._dirname = os.path.join(os.path.dirname(sys.executable), 'localedata')
|
babel.localedata._dirname = os.path.join(os.path.dirname(sys.executable), 'localedata')
|
||||||
|
|
||||||
if __name__ == "__main__":
|
def main():
|
||||||
|
|
||||||
os.environ["TZ"] = "UTC"
|
os.environ["TZ"] = "UTC"
|
||||||
|
|
||||||
check_root_user()
|
check_root_user()
|
||||||
|
@ -248,20 +246,13 @@ if __name__ == "__main__":
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
if not config["stop_after_init"]:
|
if not config["stop_after_init"]:
|
||||||
|
setup_pid_file()
|
||||||
# Some module register themselves when they are loaded so we need the
|
# Some module register themselves when they are loaded so we need the
|
||||||
# services to be running before loading any registry.
|
# services to be running before loading any registry.
|
||||||
openerp.service.start_services()
|
if config['workers']:
|
||||||
|
openerp.service.start_services_workers()
|
||||||
for m in openerp.conf.server_wide_modules:
|
else:
|
||||||
try:
|
openerp.service.start_services()
|
||||||
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['db_name']:
|
if config['db_name']:
|
||||||
for dbname in config['db_name'].split(','):
|
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"]:
|
if config["stop_after_init"]:
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
setup_pid_file()
|
|
||||||
_logger.info('OpenERP server is running, waiting for connections...')
|
_logger.info('OpenERP server is running, waiting for connections...')
|
||||||
quit_on_signals()
|
quit_on_signals()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
|
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# 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 service
|
||||||
import sql_db
|
import sql_db
|
||||||
import test
|
import test
|
||||||
import tiny_socket
|
|
||||||
import tools
|
import tools
|
||||||
import wizard
|
import wizard
|
||||||
import workflow
|
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:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ The kernel of OpenERP, needed for all installation.
|
||||||
'data': [
|
'data': [
|
||||||
'base_data.xml',
|
'base_data.xml',
|
||||||
'currency_data.xml',
|
'currency_data.xml',
|
||||||
'country_data.xml',
|
'res/res_country_data.xml',
|
||||||
'security/base_security.xml',
|
'security/base_security.xml',
|
||||||
'base_menu.xml',
|
'base_menu.xml',
|
||||||
'res/res_security.xml',
|
'res/res_security.xml',
|
||||||
|
@ -98,7 +98,6 @@ The kernel of OpenERP, needed for all installation.
|
||||||
],
|
],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'auto_install': True,
|
'auto_install': True,
|
||||||
'certificate': '0076807797149',
|
|
||||||
'css': ['static/src/css/modules.css'],
|
'css': ['static/src/css/modules.css'],
|
||||||
}
|
}
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -294,7 +294,6 @@ CREATE TABLE ir_module_module (
|
||||||
shortdesc character varying(256),
|
shortdesc character varying(256),
|
||||||
complexity character varying(32),
|
complexity character varying(32),
|
||||||
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
|
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
|
||||||
certificate character varying(64),
|
|
||||||
description text,
|
description text,
|
||||||
application boolean default False,
|
application boolean default False,
|
||||||
demo 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="company_id" ref="main_company"/>
|
||||||
<field name="groups_id" eval="[(6,0,[ref('base.group_user')])]"/>
|
<field name="groups_id" eval="[(6,0,[ref('base.group_user')])]"/>
|
||||||
</record>
|
</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>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -29,5 +29,17 @@
|
||||||
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
|
<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"/>
|
<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>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
<field name="symbol">$</field>
|
<field name="symbol">$</field>
|
||||||
<field name="rounding">0.01</field>
|
<field name="rounding">0.01</field>
|
||||||
<field name="accuracy">4</field>
|
<field name="accuracy">4</field>
|
||||||
|
<field name="position">before</field>
|
||||||
<field name="company_id" ref="main_company"/>
|
<field name="company_id" ref="main_company"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="rateUSD" model="res.currency.rate">
|
<record id="rateUSD" model="res.currency.rate">
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:37+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -727,7 +727,7 @@ msgstr ""
|
||||||
#: help:ir.actions.todo,type:0
|
#: help:ir.actions.todo,type:0
|
||||||
msgid "Manual: Launched manually.\n"
|
msgid "Manual: Launched manually.\n"
|
||||||
"Automatic: Runs whenever the system is reconfigured.\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 ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -1317,11 +1317,6 @@ msgstr ""
|
||||||
msgid "Create _Menu"
|
msgid "Create _Menu"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
|
||||||
#: field:res.payterm,name:0
|
|
||||||
msgid "Payment Term (short name)"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_bank
|
#: model:ir.model,name:base.model_res_bank
|
||||||
#: view:res.bank:0
|
#: view:res.bank:0
|
||||||
|
@ -2155,7 +2150,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Portugese (BR) / Português (BR)"
|
msgid "Portuguese (BR) / Português (BR)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -3002,7 +2997,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
msgid "Portugese / Português"
|
msgid "Portuguese / Português"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -3206,11 +3201,6 @@ msgstr ""
|
||||||
msgid "Error ! You cannot create recursive associated members."
|
msgid "Error ! You cannot create recursive associated members."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
|
||||||
#: view:res.payterm:0
|
|
||||||
msgid "Payment Term"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:res.lang,direction:0
|
#: selection:res.lang,direction:0
|
||||||
msgid "Right-to-Left"
|
msgid "Right-to-Left"
|
||||||
|
@ -3430,7 +3420,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,shortcut:base.res_partner_title_sir
|
#: model:res.partner.title,shortcut:base.res_partner_title_sir
|
||||||
msgid "M."
|
msgid "Sir"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -5037,7 +5027,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country.state,code:0
|
#: help:res.country.state,code:0
|
||||||
msgid "The state code in three chars.\n"
|
msgid "The state code in max. three chars."
|
||||||
""
|
""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -10134,7 +10124,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,shortcut:base.res_partner_title_miss
|
#: model:res.partner.title,shortcut:base.res_partner_title_miss
|
||||||
msgid "Mss"
|
msgid "Miss"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -10249,7 +10239,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,shortcut:base.res_partner_title_madam
|
#: model:res.partner.title,shortcut:base.res_partner_title_madam
|
||||||
msgid "Ms."
|
msgid "Mrs."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
@ -11306,6 +11296,35 @@ msgstr ""
|
||||||
msgid "Madam"
|
msgid "Madam"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:res.country,name:base.ee
|
#: model:res.country,name:base.ee
|
||||||
msgid "Estonia"
|
msgid "Estonia"
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
"X-Poedit-Language: Czech\n"
|
"X-Poedit-Language: Czech\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -7492,7 +7492,7 @@ msgstr "Arbeitstage"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_multi_company
|
#: model:ir.module.module,shortdesc:base.module_multi_company
|
||||||
msgid "Multi-Company"
|
msgid "Multi-Company"
|
||||||
msgstr ""
|
msgstr "Mehrfach-Unternehmen"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_rml_content:0
|
#: field:ir.actions.report.xml,report_rml_content:0
|
||||||
|
@ -8331,6 +8331,21 @@ msgid ""
|
||||||
"Secondly, price differences between actual purchase price and fixed product "
|
"Secondly, price differences between actual purchase price and fixed product "
|
||||||
"standard price are booked on a separate account"
|
"standard price are booked on a separate account"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:res.partner,title:0
|
#: field:res.partner,title:0
|
||||||
|
@ -8689,6 +8704,95 @@ msgid ""
|
||||||
"from Gate A\n"
|
"from Gate A\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_marketing
|
#: model:ir.module.module,description:base.module_marketing
|
||||||
|
@ -8880,6 +8984,21 @@ msgid ""
|
||||||
"invoice and send propositions for membership renewal.\n"
|
"invoice and send propositions for membership renewal.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_hr_attendance
|
#: model:ir.module.module,description:base.module_hr_attendance
|
||||||
|
@ -8892,6 +9011,13 @@ msgid ""
|
||||||
"actions(Sign in/Sign out) performed by them.\n"
|
"actions(Sign in/Sign out) performed by them.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:ir.module.module,maintainer:0
|
#: field:ir.module.module,maintainer:0
|
||||||
|
@ -8961,6 +9087,21 @@ msgid ""
|
||||||
" * Number Padding\n"
|
" * Number Padding\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:res.country,name:base.to
|
#: model:res.country,name:base.to
|
||||||
|
@ -9309,7 +9450,7 @@ msgstr "Dominika"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_base_module_record
|
#: model:ir.module.module,shortdesc:base.module_base_module_record
|
||||||
msgid "Record and Create Modules"
|
msgid "Record and Create Modules"
|
||||||
msgstr ""
|
msgstr "Module Aufzeichnen und Erzeugen"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_partner_sms_send
|
#: model:ir.model,name:base.model_partner_sms_send
|
||||||
|
@ -9353,6 +9494,45 @@ msgid ""
|
||||||
" Administration / Users / Users\n"
|
" Administration / Users / Users\n"
|
||||||
" for example, you maybe will do it for the user 'admin'.\n"
|
" for example, you maybe will do it for the user 'admin'.\n"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:ir.actions.report.xml,report_xsl:0
|
#: field:ir.actions.report.xml,report_xsl:0
|
||||||
|
@ -9372,7 +9552,7 @@ msgstr "Erweiterte Lieferketten"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_pad
|
#: model:ir.module.module,shortdesc:base.module_pad
|
||||||
msgid "Collaborative Pads"
|
msgid "Collaborative Pads"
|
||||||
msgstr ""
|
msgstr "Plattform für Zusammenarbeit"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
||||||
|
@ -9786,6 +9966,30 @@ msgid ""
|
||||||
"created\n"
|
"created\n"
|
||||||
" CALENDAR_NAME: Name of calendar to access\n"
|
" CALENDAR_NAME: Name of calendar to access\n"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:ir.model.fields,selectable:0
|
#: field:ir.model.fields,selectable:0
|
||||||
|
@ -9821,6 +10025,15 @@ msgid ""
|
||||||
"mail into mail.message with attachments.\n"
|
"mail into mail.message with attachments.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:ir.attachment:0
|
#: view:ir.attachment:0
|
||||||
|
|
|
@ -12,8 +12,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
"X-Poedit-Country: GREECE\n"
|
"X-Poedit-Country: GREECE\n"
|
||||||
"X-Poedit-Language: Greek\n"
|
"X-Poedit-Language: Greek\n"
|
||||||
"X-Poedit-SourceCharset: utf-8\n"
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -5024,7 +5024,7 @@ msgstr "`code` must be unique."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_expense
|
#: model:ir.module.module,shortdesc:base.module_hr_expense
|
||||||
msgid "Expenses Management"
|
msgid "Expenses Management"
|
||||||
msgstr ""
|
msgstr "Expenses Management"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.activity:0
|
#: view:workflow.activity:0
|
||||||
|
@ -5035,7 +5035,7 @@ msgstr "Incoming Transitions"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.values,value_unpickle:0
|
#: field:ir.values,value_unpickle:0
|
||||||
msgid "Default value or action reference"
|
msgid "Default value or action reference"
|
||||||
msgstr ""
|
msgstr "Default value or action reference"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sr
|
#: model:res.country,name:base.sr
|
||||||
|
@ -5045,7 +5045,7 @@ msgstr "Suriname"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_project_timesheet
|
#: model:ir.module.module,shortdesc:base.module_project_timesheet
|
||||||
msgid "Bill Time on Tasks"
|
msgid "Bill Time on Tasks"
|
||||||
msgstr ""
|
msgstr "Bill Time on Tasks"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_marketing
|
#: model:ir.module.category,name:base.module_category_marketing
|
||||||
|
@ -5062,7 +5062,7 @@ msgstr "Bank account"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_gr
|
#: model:ir.module.module,shortdesc:base.module_l10n_gr
|
||||||
msgid "Greece - Accounting"
|
msgid "Greece - Accounting"
|
||||||
msgstr ""
|
msgstr "Greece - Accounting"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: 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 "
|
"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"
|
"timesheets are respecting the planned time on each analytic account.\n"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
|
@ -1496,6 +1513,26 @@ msgid ""
|
||||||
"database,\n"
|
"database,\n"
|
||||||
" but in the servers rootpad like /server/bin/filestore.\n"
|
" but in the servers rootpad like /server/bin/filestore.\n"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -1564,6 +1601,15 @@ msgid ""
|
||||||
"Web.\n"
|
"Web.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_purchase_management
|
#: model:ir.module.category,description:base.module_category_purchase_management
|
||||||
|
@ -1776,6 +1822,24 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:res.currency,accuracy:0
|
#: field:res.currency,accuracy:0
|
||||||
|
@ -1856,6 +1920,49 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-08 04:54+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15914)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -9,8 +9,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||||
"X-Poedit-Language: Persian\n"
|
"X-Poedit-Language: Persian\n"
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -1821,7 +1821,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
||||||
msgid "Employee Appraisals"
|
msgid "Employee Appraisals"
|
||||||
msgstr ""
|
msgstr "Munkavállaló értékelése"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.server,state:0
|
#: selection:ir.actions.server,state:0
|
||||||
|
@ -3141,7 +3141,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
||||||
msgid "Employee Contracts"
|
msgid "Employee Contracts"
|
||||||
msgstr ""
|
msgstr "Munkavállalói szerződések"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_wiki_faq
|
#: model:ir.module.module,description:base.module_wiki_faq
|
||||||
|
@ -6487,7 +6487,7 @@ msgstr "Automatikus frissítést ad a nézethez."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,employee:0
|
#: help:res.partner,employee:0
|
||||||
msgid "Check this box if the partner is an Employee."
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_profiling
|
#: 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
|
#: field:res.partner.address,function:0
|
||||||
#: selection:workflow.activity,kind:0
|
#: selection:workflow.activity,kind:0
|
||||||
msgid "Function"
|
msgid "Function"
|
||||||
msgstr "Függvény"
|
msgstr "Beosztás"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.widget:0
|
#: view:res.widget:0
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
||||||
"Project-Id-Version: openobject-server\n"
|
"Project-Id-Version: openobject-server\n"
|
||||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
|
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
|
||||||
"PO-Revision-Date: 2012-08-20 15:37+0000\n"
|
"PO-Revision-Date: 2012-09-20 05:23+0000\n"
|
||||||
"Last-Translator: OpenERP Administrators <Unknown>\n"
|
"Last-Translator: Akira Hiyama <Unknown>\n"
|
||||||
"Language-Team: Japanese <ja@li.org>\n"
|
"Language-Team: Japanese <ja@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-21 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -193,7 +193,7 @@ msgstr "販売分析の配布"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_web_process
|
#: model:ir.module.module,shortdesc:base.module_web_process
|
||||||
msgid "Process"
|
msgid "Process"
|
||||||
msgstr "プロセス"
|
msgstr "処理"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
|
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
|
||||||
|
@ -17384,7 +17384,7 @@ msgstr ""
|
||||||
" ・ 各アクションが手動の検証を必要とする場合は、手動で実際のキャンペーンを開始することもできます。\n"
|
" ・ 各アクションが手動の検証を必要とする場合は、手動で実際のキャンペーンを開始することもできます。\n"
|
||||||
" ・ 最後にキャンペーンを実際に起動し、キャンペーンの全てが完全に自動的に行われるよう統計値を監視します。\n"
|
" ・ 最後にキャンペーンを実際に起動し、キャンペーンの全てが完全に自動的に行われるよう統計値を監視します。\n"
|
||||||
"\n"
|
"\n"
|
||||||
"キャンペーンの実行中にも、ちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
|
"キャンペーンの実行中にも、もちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
|
||||||
"\n"
|
"\n"
|
||||||
"注記:デモデータが必要なら、marketing_campaign_crm_demoモジュールをインストールできます。それはCRMリードに依存するため、CR"
|
"注記:デモデータが必要なら、marketing_campaign_crm_demoモジュールをインストールできます。それはCRMリードに依存するため、CR"
|
||||||
"Mアプリケーションもインストールすることになります。\n"
|
"Mアプリケーションもインストールすることになります。\n"
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:40+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:37+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:38+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:41+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -5407,7 +5407,7 @@ msgstr ""
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country.state,code:0
|
#: help:res.country.state,code:0
|
||||||
msgid "The state code in three chars.\n"
|
msgid "The state code in max. three chars."
|
||||||
""
|
""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:39+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:36+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -97,7 +97,7 @@ msgstr "Code (bijv: nl__NL)"
|
||||||
#: field:workflow.transition,wkf_id:0
|
#: field:workflow.transition,wkf_id:0
|
||||||
#: field:workflow.workitem,wkf_id:0
|
#: field:workflow.workitem,wkf_id:0
|
||||||
msgid "Workflow"
|
msgid "Workflow"
|
||||||
msgstr "Werkschema"
|
msgstr "Workflow"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.sequence,implementation:0
|
#: selection:ir.sequence,implementation:0
|
||||||
|
@ -363,6 +363,13 @@ msgid ""
|
||||||
" - tree_but_open\n"
|
" - tree_but_open\n"
|
||||||
"For defaults, an optional condition"
|
"For defaults, an optional condition"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: sql_constraint:res.lang:0
|
#: sql_constraint:res.lang:0
|
||||||
|
@ -572,7 +579,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
msgid "Action Binding"
|
msgid "Action Binding"
|
||||||
msgstr ""
|
msgstr "Actie koppeling"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.gf
|
#: model:res.country,name:base.gf
|
||||||
|
@ -2811,7 +2818,7 @@ msgstr "Overgeërfd"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.fields,serialization_field_id:0
|
#: field:ir.model.fields,serialization_field_id:0
|
||||||
msgid "Serialization Field"
|
msgid "Serialization Field"
|
||||||
msgstr ""
|
msgstr "Reeks veld"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_report_designer
|
#: model:ir.module.category,description:base.module_category_report_designer
|
||||||
|
@ -2873,7 +2880,7 @@ msgstr "Fout!"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr_rib
|
#: model:ir.module.module,shortdesc:base.module_l10n_fr_rib
|
||||||
msgid "French RIB Bank Details"
|
msgid "French RIB Bank Details"
|
||||||
msgstr ""
|
msgstr "Franse RIB bank details"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -2954,7 +2961,7 @@ msgstr "Bangladesh"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_project_retro_planning
|
#: model:ir.module.module,shortdesc:base.module_project_retro_planning
|
||||||
msgid "Project Retro-planning"
|
msgid "Project Retro-planning"
|
||||||
msgstr ""
|
msgstr "Project Retro-planning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_stock_planning
|
#: model:ir.module.module,shortdesc:base.module_stock_planning
|
||||||
|
@ -3005,7 +3012,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.client,params_store:0
|
#: field:ir.actions.client,params_store:0
|
||||||
msgid "Params storage"
|
msgid "Params storage"
|
||||||
msgstr ""
|
msgstr "Parameters opslag"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/module/module.py:409
|
#: code:addons/base/module/module.py:409
|
||||||
|
@ -3036,6 +3043,10 @@ msgid ""
|
||||||
"since it's the same which has been renamed.\n"
|
"since it's the same which has been renamed.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Met deze module kunt u relaties segmenten/indelen op basis van vragen.\n"
|
||||||
|
"===========================================================\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/report_sxw.py:434
|
#: code:addons/report_sxw.py:434
|
||||||
|
@ -3160,7 +3171,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
|
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
|
||||||
msgid "Wiki: Quality Manual"
|
msgid "Wiki: Quality Manual"
|
||||||
msgstr ""
|
msgstr "Wiki: Kwaliteit handleiding"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.act_window.view,view_mode:0
|
#: selection:ir.actions.act_window.view,view_mode:0
|
||||||
|
@ -3274,7 +3285,7 @@ msgstr "OpenERP web-diagram weergave"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.groups,name:base.group_hr_user
|
#: model:res.groups,name:base.group_hr_user
|
||||||
msgid "HR Officer"
|
msgid "HR Officer"
|
||||||
msgstr ""
|
msgstr "HR Officer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
||||||
|
@ -3633,7 +3644,7 @@ msgstr "Mayotte"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_todo
|
#: model:ir.module.module,shortdesc:base.module_crm_todo
|
||||||
msgid "Tasks on CRM"
|
msgid "Tasks on CRM"
|
||||||
msgstr ""
|
msgstr "Relatiebeheer taken"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
|
#: 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 "
|
"its dependencies are satisfied. If the module has no dependency, it is "
|
||||||
"always installed."
|
"always installed."
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.res_lang_act_window
|
#: 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"
|
"above. Specify the interval information and partner to be invoice.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: field:ir.actions.server,srcmodel_id:0
|
#: field:ir.actions.server,srcmodel_id:0
|
||||||
|
@ -4826,7 +4854,7 @@ msgstr "BTW nummer validatie"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
|
||||||
msgid "Partners Geo-Localization"
|
msgid "Partners Geo-Localization"
|
||||||
msgstr ""
|
msgstr "Partners Geo-Localisatie"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.ke
|
#: 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"
|
" those assets. And it allows to create Move's of the depreciation lines.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:res.country,name:base.bv
|
#: model:res.country,name:base.bv
|
||||||
|
@ -5640,6 +5675,31 @@ msgid ""
|
||||||
"Budgets per Budgets.\n"
|
"Budgets per Budgets.\n"
|
||||||
"\n"
|
"\n"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: help:res.lang,iso_code:0
|
#: help:res.lang,iso_code:0
|
||||||
|
@ -5968,6 +6028,8 @@ msgid ""
|
||||||
"How many times the method is called,\n"
|
"How many times the method is called,\n"
|
||||||
"a negative number indicates no limit."
|
"a negative number indicates no limit."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Hoeveel keer deze regel wordt aangeroepen,\n"
|
||||||
|
"een negatieve waarde geeft aan dat er geen limiet is."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.partner.bank.type.field,bank_type_id:0
|
#: 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
|
#: view:workflow.activity:0
|
||||||
#: field:workflow.activity,flow_start:0
|
#: field:workflow.activity,flow_start:0
|
||||||
msgid "Flow Start"
|
msgid "Flow Start"
|
||||||
msgstr "Begin werkschema"
|
msgstr "Begin workflow"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_res_partner_title
|
#: model:ir.model,name:base.model_res_partner_title
|
||||||
|
@ -6453,6 +6515,11 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_audittrail
|
#: model:ir.module.module,shortdesc:base.module_audittrail
|
||||||
|
@ -6601,7 +6668,7 @@ msgstr "Ongelezen"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.users,id:0
|
#: field:res.users,id:0
|
||||||
msgid "ID"
|
msgid "ID"
|
||||||
msgstr ""
|
msgstr "ID"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.cron,doall:0
|
#: field:ir.cron,doall:0
|
||||||
|
@ -6676,7 +6743,7 @@ msgstr "Vink aan als de relatie een werknemer is."
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_crm_profiling
|
#: model:ir.module.module,shortdesc:base.module_crm_profiling
|
||||||
msgid "Customer Profiling"
|
msgid "Customer Profiling"
|
||||||
msgstr ""
|
msgstr "Klant profiling"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_project_issue
|
#: 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 "
|
"Please check that all your lines have %d columns.Stopped around line %d "
|
||||||
"having %d columns."
|
"having %d columns."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Controleer of al uw regels %d kolommen hebben. Gestopt bij regel %d met %d "
|
||||||
|
"kolommen."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:base.language.export,advice:0
|
#: field:base.language.export,advice:0
|
||||||
|
@ -6853,6 +6922,7 @@ msgstr "Controle"
|
||||||
#: help:ir.values,company_id:0
|
#: help:ir.values,company_id:0
|
||||||
msgid "If set, action binding only applies for this company"
|
msgid "If set, action binding only applies for this company"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Indien aangevinkt is deze regel alleen van toepassing voor dit bedrijf."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.lc
|
#: model:res.country,name:base.lc
|
||||||
|
@ -6866,6 +6936,9 @@ msgid ""
|
||||||
"password, otherwise leave empty. After a change of password, the user has to "
|
"password, otherwise leave empty. After a change of password, the user has to "
|
||||||
"login again."
|
"login again."
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:publisher_warranty.contract:0
|
#: view:publisher_warranty.contract:0
|
||||||
|
@ -6915,7 +6988,7 @@ msgstr "Bewerken"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.client,params:0
|
#: field:ir.actions.client,params:0
|
||||||
msgid "Supplementary arguments"
|
msgid "Supplementary arguments"
|
||||||
msgstr ""
|
msgstr "Aanvullende argumenten"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.users,view:0
|
#: field:res.users,view:0
|
||||||
|
@ -7067,6 +7140,8 @@ msgid ""
|
||||||
"Action bound to this entry - helper field for binding an action, will "
|
"Action bound to this entry - helper field for binding an action, will "
|
||||||
"automatically set the correct reference"
|
"automatically set the correct reference"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Actie gekoppeld aan deze regel. Hulp veld voor het koppelen van een actie. "
|
||||||
|
"De referentie wordt automatisch correct ingevuld."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_project_long_term
|
#: model:ir.ui.menu,name:base.menu_project_long_term
|
||||||
|
@ -7384,7 +7459,7 @@ msgstr "Lezen"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_association
|
#: model:ir.module.module,shortdesc:base.module_association
|
||||||
msgid "Associations Management"
|
msgid "Associations Management"
|
||||||
msgstr ""
|
msgstr "Verenigingenbeheer"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.model,modules:0
|
#: help:ir.model,modules:0
|
||||||
|
@ -7425,7 +7500,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.workitem:0
|
#: view:workflow.workitem:0
|
||||||
msgid "Workflow Workitems"
|
msgid "Workflow Workitems"
|
||||||
msgstr "Werkschema taken"
|
msgstr "Workflow taken"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.vc
|
#: model:res.country,name:base.vc
|
||||||
|
@ -7543,7 +7618,7 @@ msgstr "Myanmar (Birma)"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.model.fields,modules:0
|
#: help:ir.model.fields,modules:0
|
||||||
msgid "List of modules in which the field is defined"
|
msgid "List of modules in which the field is defined"
|
||||||
msgstr ""
|
msgstr "Lijst van modules waarin het veld wordt gebruikt."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,lang:0
|
#: selection:base.language.install,lang:0
|
||||||
|
@ -7666,6 +7741,13 @@ msgid ""
|
||||||
"all the tasks will change accordingly.\n"
|
"all the tasks will change accordingly.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: help:res.users,view:0
|
#: help:res.users,view:0
|
||||||
|
@ -7710,7 +7792,7 @@ msgstr "Dutch / Nederlands"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:res.company,paper_format:0
|
#: selection:res.company,paper_format:0
|
||||||
msgid "US Letter"
|
msgid "US Letter"
|
||||||
msgstr ""
|
msgstr "US Letter"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_stock_location
|
#: model:ir.module.module,description:base.module_stock_location
|
||||||
|
@ -7813,6 +7895,12 @@ msgid ""
|
||||||
"Contains the installer for marketing-related modules.\n"
|
"Contains the installer for marketing-related modules.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"Menu voor marketing.\n"
|
||||||
|
"==================\n"
|
||||||
|
"\n"
|
||||||
|
"Bevat de installer voor marketing gerelateerde modules.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_knowledge_management
|
#: 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 [[ "
|
"the same values as those available in the condition field, e.g. `Hello [[ "
|
||||||
"object.partner_id.name ]]`"
|
"object.partner_id.name ]]`"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_account_sequence
|
#: 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 "
|
"serialization field, instead of having its own database column. This cannot "
|
||||||
"be changed after creation."
|
"be changed after creation."
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:res.partner.bank:0
|
#: view:res.partner.bank:0
|
||||||
msgid "Bank accounts belonging to one of your companies"
|
msgid "Bank accounts belonging to one of your companies"
|
||||||
msgstr ""
|
msgstr "Bankrekening welke behoort aan één van uw bedrijven."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.users,action_id:0
|
#: 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 "
|
"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)"
|
"be a many2one, or an integer field with the record ID)"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: code:addons/base/module/module.py:423
|
#: 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 "
|
"You cannot have multiple records with the same external ID in the same "
|
||||||
"module!"
|
"module!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Het is niet toegestaan om meerdere records te hebben met dezelfde externe ID "
|
||||||
|
"in hetzelfde model."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.property,type:0
|
#: selection:ir.property,type:0
|
||||||
|
@ -8287,6 +8385,9 @@ msgid ""
|
||||||
"Model to which this entry applies - helper field for setting a model, will "
|
"Model to which this entry applies - helper field for setting a model, will "
|
||||||
"automatically set the correct model name"
|
"automatically set the correct model name"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:res.lang:0
|
#: view:res.lang:0
|
||||||
|
@ -8419,7 +8520,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
||||||
msgid "Anglo-Saxon Accounting"
|
msgid "Anglo-Saxon Accounting"
|
||||||
msgstr ""
|
msgstr "Angelsaksische boekhouding"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.np
|
#: model:res.country,name:base.np
|
||||||
|
@ -8470,7 +8571,7 @@ msgstr ""
|
||||||
#: model:ir.ui.menu,name:base.menu_values_form_action
|
#: model:ir.ui.menu,name:base.menu_values_form_action
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
msgid "Action Bindings"
|
msgid "Action Bindings"
|
||||||
msgstr ""
|
msgstr "Actie koppeling"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.sequence:0
|
#: view:ir.sequence:0
|
||||||
|
@ -8850,7 +8951,7 @@ msgstr "Herhaling"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_project_planning
|
#: model:ir.module.module,shortdesc:base.module_project_planning
|
||||||
msgid "Resources Planing"
|
msgid "Resources Planing"
|
||||||
msgstr ""
|
msgstr "Resource planing"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.module.module,complexity:0
|
#: field:ir.module.module,complexity:0
|
||||||
|
@ -8860,7 +8961,7 @@ msgstr "Complexiteit"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.actions.act_window,target:0
|
#: selection:ir.actions.act_window,target:0
|
||||||
msgid "Inline"
|
msgid "Inline"
|
||||||
msgstr ""
|
msgstr "Inline"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
|
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
|
||||||
|
@ -8967,7 +9068,7 @@ msgstr "Reparatie management"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_asset
|
#: model:ir.module.module,shortdesc:base.module_account_asset
|
||||||
msgid "Assets Management"
|
msgid "Assets Management"
|
||||||
msgstr ""
|
msgstr "Beheer van activa"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model.access:0
|
#: view:ir.model.access:0
|
||||||
|
@ -9358,7 +9459,7 @@ msgstr "Referentiegids"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
msgid "Default Value Scope"
|
msgid "Default Value Scope"
|
||||||
msgstr ""
|
msgstr "Bereik standaard waarde"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.ui.view:0
|
#: view:ir.ui.view:0
|
||||||
|
@ -9468,7 +9569,7 @@ msgstr "Aanmaakdatum"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.actions.server,trigger_name:0
|
#: help:ir.actions.server,trigger_name:0
|
||||||
msgid "The workflow signal to trigger"
|
msgid "The workflow signal to trigger"
|
||||||
msgstr ""
|
msgstr "Het workflow signaal om te triggeren"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_mrp
|
#: model:ir.module.module,description:base.module_mrp
|
||||||
|
@ -9517,7 +9618,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_google_base_account
|
#: model:ir.module.module,description:base.module_google_base_account
|
||||||
msgid "The module adds google user in res user"
|
msgid "The module adds google user in res user"
|
||||||
msgstr ""
|
msgstr "De module voegt een Google gebruiker toe aan het gebruikers bestand"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:base.language.install,state:0
|
#: selection:base.language.install,state:0
|
||||||
|
@ -9554,7 +9655,7 @@ msgstr "Algerije"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_plugin
|
#: model:ir.module.module,shortdesc:base.module_plugin
|
||||||
msgid "CRM Plugins"
|
msgid "CRM Plugins"
|
||||||
msgstr ""
|
msgstr "Relatiebeheer plugins"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.action_model_model
|
#: model:ir.actions.act_window,name:base.action_model_model
|
||||||
|
@ -9657,7 +9758,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_mrp_jit
|
#: model:ir.module.module,shortdesc:base.module_mrp_jit
|
||||||
msgid "Just In Time Scheduling"
|
msgid "Just In Time Scheduling"
|
||||||
msgstr ""
|
msgstr "Just In Time Planning"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions
|
#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions
|
||||||
|
@ -10047,7 +10148,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_base_synchro
|
#: model:ir.module.module,shortdesc:base.module_base_synchro
|
||||||
msgid "Multi-DB Synchronization"
|
msgid "Multi-DB Synchronization"
|
||||||
msgstr ""
|
msgstr "Meerdere databases synchronisatie"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.module.module,complexity:0
|
#: selection:ir.module.module,complexity:0
|
||||||
|
@ -10088,6 +10189,9 @@ msgid ""
|
||||||
"Todo list for CRM leads and opportunities.\n"
|
"Todo list for CRM leads and opportunities.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
"TODO lijst voor relatiebeheer leads en prospects.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window.view,view_id:0
|
#: field:ir.actions.act_window.view,view_id:0
|
||||||
|
@ -10100,7 +10204,7 @@ msgstr "Weergave"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_wiki_sale_faq
|
#: model:ir.module.module,shortdesc:base.module_wiki_sale_faq
|
||||||
msgid "Wiki: Sale FAQ"
|
msgid "Wiki: Sale FAQ"
|
||||||
msgstr ""
|
msgstr "Wiki: Verkoop FAQ"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.module.module,state:0
|
#: selection:ir.module.module,state:0
|
||||||
|
@ -10266,6 +10370,20 @@ msgid ""
|
||||||
"\n"
|
"\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_fundrising
|
#: model:ir.ui.menu,name:base.menu_fundrising
|
||||||
|
@ -10316,7 +10434,7 @@ msgstr "res.log"
|
||||||
#: view:workflow.activity:0
|
#: view:workflow.activity:0
|
||||||
#: field:workflow.activity,flow_stop:0
|
#: field:workflow.activity,flow_stop:0
|
||||||
msgid "Flow Stop"
|
msgid "Flow Stop"
|
||||||
msgstr "Einde werkschema"
|
msgstr "Einde workflow"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: selection:ir.cron,interval_type:0
|
#: selection:ir.cron,interval_type:0
|
||||||
|
@ -10344,7 +10462,7 @@ msgstr "Fout !"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo
|
#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo
|
||||||
msgid "Marketing Campaign - Demo"
|
msgid "Marketing Campaign - Demo"
|
||||||
msgstr ""
|
msgstr "Marketing Campagne - Demo gegevens"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_fetchmail_hr_recruitment
|
#: model:ir.module.module,shortdesc:base.module_fetchmail_hr_recruitment
|
||||||
|
@ -10376,7 +10494,7 @@ msgstr "Deze methode bestaat niet meer"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_import_google
|
#: model:ir.module.module,shortdesc:base.module_import_google
|
||||||
msgid "Google Import"
|
msgid "Google Import"
|
||||||
msgstr ""
|
msgstr "Google Import"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.category,name:base.res_partner_category_12
|
#: model:res.partner.category,name:base.res_partner_category_12
|
||||||
|
@ -10594,7 +10712,7 @@ msgstr ""
|
||||||
"Maak een claim van een uitgaande levering.\n"
|
"Maak een claim van een uitgaande levering.\n"
|
||||||
"===================================\n"
|
"===================================\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Voegt claim link toe aan een uitgaande order.\n"
|
"Voegt claim link toe aan een uitgaande levering.\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.model:0
|
#: view:ir.model:0
|
||||||
|
@ -10632,6 +10750,7 @@ msgstr "%A - Volledige naam van de dag."
|
||||||
#: help:ir.values,user_id:0
|
#: help:ir.values,user_id:0
|
||||||
msgid "If set, action binding only applies for this user."
|
msgid "If set, action binding only applies for this user."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Indien aangevinkt is deze regel alleen van toepassing voor deze gebruiker."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.gw
|
#: model:res.country,name:base.gw
|
||||||
|
@ -10699,6 +10818,8 @@ msgstr "Voltooid"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Specify if missed occurrences should be executed when the server restarts."
|
"Specify if missed occurrences should be executed when the server restarts."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Specificeert of gemiste acties, opnieuw moeten worden gestart als de server "
|
||||||
|
"herstart."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.title,name:base.res_partner_title_miss
|
#: model:res.partner.title,name:base.res_partner_title_miss
|
||||||
|
@ -11367,7 +11488,7 @@ msgstr "Alles stoppen"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_analytic_user_function
|
#: model:ir.module.module,shortdesc:base.module_analytic_user_function
|
||||||
msgid "Jobs on Contracts"
|
msgid "Jobs on Contracts"
|
||||||
msgstr ""
|
msgstr "Werknemerfunctie per contract/kostenplaats"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_import_sugarcrm
|
#: model:ir.module.module,description:base.module_import_sugarcrm
|
||||||
|
@ -11472,7 +11593,7 @@ msgstr "Contract bevestiging fout"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.values,key2:0
|
#: field:ir.values,key2:0
|
||||||
msgid "Qualifier"
|
msgid "Qualifier"
|
||||||
msgstr ""
|
msgstr "Kwalificatie"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.country.state,name:0
|
#: field:res.country.state,name:0
|
||||||
|
@ -11717,7 +11838,7 @@ msgstr "ir.wizard.screen"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_workflow
|
#: model:ir.model,name:base.model_workflow
|
||||||
msgid "workflow"
|
msgid "workflow"
|
||||||
msgstr "Werkschema"
|
msgstr "workflow"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/ir/ir_model.py:255
|
#: code:addons/base/ir/ir_model.py:255
|
||||||
|
@ -11949,7 +12070,7 @@ msgstr "Tunesië"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.todo:0
|
#: view:ir.actions.todo:0
|
||||||
msgid "Wizards to be Launched"
|
msgid "Wizards to be Launched"
|
||||||
msgstr ""
|
msgstr "Wizards welke worden gestart"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,name:base.module_category_manufacturing
|
#: model:ir.module.category,name:base.module_category_manufacturing
|
||||||
|
@ -12083,7 +12204,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.groups,trans_implied_ids:0
|
#: field:res.groups,trans_implied_ids:0
|
||||||
msgid "Transitively inherits"
|
msgid "Transitively inherits"
|
||||||
msgstr ""
|
msgstr "Transitieve overerving"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.default,ref_table:0
|
#: field:ir.default,ref_table:0
|
||||||
|
@ -12293,7 +12414,7 @@ msgstr "Guatemala - Boekhouding"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.cron,args:0
|
#: help:ir.cron,args:0
|
||||||
msgid "Arguments to be passed to the method, e.g. (uid,)."
|
msgid "Arguments to be passed to the method, e.g. (uid,)."
|
||||||
msgstr ""
|
msgstr "Argumenten welke worden doorgegeven aan de methodes, bijv. (uid)."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.category,name:base.res_partner_category_5
|
#: model:res.partner.category,name:base.res_partner_category_5
|
||||||
|
@ -12704,7 +12825,7 @@ msgstr "ir.actions.client"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.values,value:0
|
#: help:ir.values,value:0
|
||||||
msgid "Default value (pickled) or reference to an action"
|
msgid "Default value (pickled) or reference to an action"
|
||||||
msgstr ""
|
msgstr "Standaardwaarde of verwijzing naar een actie"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.groups:0
|
#: sql_constraint:res.groups:0
|
||||||
|
@ -12763,7 +12884,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Rule definition (domain filter)"
|
msgid "Rule definition (domain filter)"
|
||||||
msgstr ""
|
msgstr "Regel definitie (domein filter)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.model,name:base.model_workflow_instance
|
#: model:ir.model,name:base.model_workflow_instance
|
||||||
|
@ -12862,7 +12983,7 @@ msgstr "Low Level-objecten"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:ir.values,model:0
|
#: help:ir.values,model:0
|
||||||
msgid "Model to which this entry applies"
|
msgid "Model to which this entry applies"
|
||||||
msgstr ""
|
msgstr "Model waarover deze regel gaat."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:res.country,address_format:0
|
#: field:res.country,address_format:0
|
||||||
|
@ -13012,6 +13133,9 @@ msgid ""
|
||||||
" OpenERP Web kanban view.\n"
|
" OpenERP Web kanban view.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
" OpenERP Web kanban weergave.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.ui.menu,name:base.menu_project_management_time_tracking
|
#: 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"
|
"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"
|
"It is a Python block that can use the same values as for the condition field"
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
|
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
|
||||||
|
@ -13352,7 +13479,7 @@ msgstr "Stel bankrekeningen in"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.client,tag:0
|
#: field:ir.actions.client,tag:0
|
||||||
msgid "Client action tag"
|
msgid "Client action tag"
|
||||||
msgstr ""
|
msgstr "Client actie tag"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/res/res_lang.py:189
|
#: code:addons/base/res/res_lang.py:189
|
||||||
|
@ -13363,7 +13490,7 @@ msgstr "U kunt geen taal verwijderen die gebruikers voorkeurstaal is !"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.values,model_id:0
|
#: field:ir.values,model_id:0
|
||||||
msgid "Model (change only)"
|
msgid "Model (change only)"
|
||||||
msgstr ""
|
msgstr "Model"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_marketing_campaign_crm_demo
|
#: 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 "
|
"The object that should receive the workflow signal (must have an associated "
|
||||||
"workflow)"
|
"workflow)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"et object dat het workflow signaal moet ontvangen (moet een verbonden "
|
||||||
|
"workflow heben)"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.category,description:base.module_category_account_voucher
|
#: model:ir.module.category,description:base.module_category_account_voucher
|
||||||
|
@ -13690,6 +13819,18 @@ msgid ""
|
||||||
"supplier in the routing of the assembly operation.\n"
|
"supplier in the routing of the assembly operation.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: view:ir.actions.server:0
|
#: view:ir.actions.server:0
|
||||||
|
@ -13703,6 +13844,9 @@ msgid ""
|
||||||
"are available. To add a new language, you can use the 'Load an Official "
|
"are available. To add a new language, you can use the 'Load an Official "
|
||||||
"Translation' wizard available from the 'Administration' menu."
|
"Translation' wizard available from the 'Administration' menu."
|
||||||
msgstr ""
|
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
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_l10n_es
|
#: 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 "
|
"This cron task is currently being executed and may not be modified, please "
|
||||||
"try again in a few minutes"
|
"try again in a few minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Deze planner taak wordt op dit moment uitgevoerd en kan zodoende niet worden "
|
||||||
|
"aangepast. Probeert u het over enkele minuten opnieuw."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_product_expiry
|
#: model:ir.module.module,description:base.module_product_expiry
|
||||||
|
@ -14378,6 +14524,8 @@ msgstr "TLS (STARTTLS)"
|
||||||
#: help:ir.actions.act_window,usage:0
|
#: help:ir.actions.act_window,usage:0
|
||||||
msgid "Used to filter menu and home actions from the user form."
|
msgid "Used to filter menu and home actions from the user form."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Wordt gebruikt om het menu en home acties te filteren van het "
|
||||||
|
"gebruikersbestand."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sa
|
#: model:res.country,name:base.sa
|
||||||
|
@ -14394,7 +14542,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_fetchmail_crm_claim
|
#: model:ir.module.module,shortdesc:base.module_fetchmail_crm_claim
|
||||||
msgid "eMail Gateway for CRM Claim"
|
msgid "eMail Gateway for CRM Claim"
|
||||||
msgstr "E-mail gateway voor CRM Claims"
|
msgstr "E-mail Gateway voor CRM Claims"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.partner,supplier:0
|
#: help:res.partner,supplier:0
|
||||||
|
@ -14498,7 +14646,7 @@ msgstr ""
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_auth_openid
|
#: model:ir.module.module,description:base.module_auth_openid
|
||||||
msgid "Allow users to login through OpenID."
|
msgid "Allow users to login through OpenID."
|
||||||
msgstr ""
|
msgstr "Geeft gebruikers de mogelijkheid om in te loggen met OpenID."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,shortdesc:base.module_account_payment
|
#: model:ir.module.module,shortdesc:base.module_account_payment
|
||||||
|
@ -14605,6 +14753,8 @@ msgstr "En"
|
||||||
msgid ""
|
msgid ""
|
||||||
"Database identifier of the record to which this applies. 0 = for all records"
|
"Database identifier of the record to which this applies. 0 = for all records"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Database identifier van het record waar dit toe behoort. 0 = voor alle "
|
||||||
|
"records"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.model.fields,relation:0
|
#: field:ir.model.fields,relation:0
|
||||||
|
@ -14687,7 +14837,7 @@ msgstr "Onderliggend veld"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
msgid "Detailed algorithm:"
|
msgid "Detailed algorithm:"
|
||||||
msgstr ""
|
msgstr "Gedetailleerde algoritme:"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: field:ir.actions.act_window,usage:0
|
#: field:ir.actions.act_window,usage:0
|
||||||
|
@ -14856,6 +15006,10 @@ msgid ""
|
||||||
" This module provides the core of the OpenERP web client.\n"
|
" This module provides the core of the OpenERP web client.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
" OpenERP Web core module.\n"
|
||||||
|
" deze module bevat de core functionaliteiten van de web cliënt.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: sql_constraint:res.country:0
|
#: sql_constraint:res.country:0
|
||||||
|
@ -15061,7 +15215,7 @@ msgstr ""
|
||||||
#: code:addons/orm.py:791
|
#: code:addons/orm.py:791
|
||||||
#, python-format
|
#, python-format
|
||||||
msgid "Serialization field `%s` not found for sparse field `%s`!"
|
msgid "Serialization field `%s` not found for sparse field `%s`!"
|
||||||
msgstr ""
|
msgstr "Reeks veld '%s' niet gevonden voor sparse veld '%s'!"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.jm
|
#: model:res.country,name:base.jm
|
||||||
|
@ -15335,11 +15489,14 @@ msgid ""
|
||||||
" OpenERP Web test suite.\n"
|
" OpenERP Web test suite.\n"
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"\n"
|
||||||
|
" OpenERP Web test suite.\n"
|
||||||
|
" "
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.values:0
|
#: view:ir.values:0
|
||||||
msgid "Action Bindings/Defaults"
|
msgid "Action Bindings/Defaults"
|
||||||
msgstr ""
|
msgstr "Acties/Standaard waarden"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.rule:0
|
#: view:ir.rule:0
|
||||||
|
@ -15713,7 +15870,7 @@ msgstr "Maanden"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:workflow.instance:0
|
#: view:workflow.instance:0
|
||||||
msgid "Workflow Instances"
|
msgid "Workflow Instances"
|
||||||
msgstr "Exemplaren werkschema"
|
msgstr "Workflow instanties"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: code:addons/base/res/res_partner.py:284
|
#: code:addons/base/res/res_partner.py:284
|
||||||
|
@ -15805,6 +15962,8 @@ msgid ""
|
||||||
"This field is computed automatically based on bank accounts defined, having "
|
"This field is computed automatically based on bank accounts defined, having "
|
||||||
"the display on footer checkbox set."
|
"the display on footer checkbox set."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
"Dit veld wordt automatisch berekend, gebaseerd op de gedefinieerde "
|
||||||
|
"bankrekeningen, indien het veld voor het weergeven in de voet is aangevinkt."
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:ir.module.module,description:base.module_mrp_subproduct
|
#: model:ir.module.module,description:base.module_mrp_subproduct
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -5598,7 +5598,7 @@ msgstr "STOCK_MEDIA_PAUSE"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country.state,code:0
|
#: 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"
|
msgstr "De provinciecode in drie karakters.\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:42+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:39+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: 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"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
@ -460,7 +460,7 @@ msgstr "Obiect Sursa"
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
#: model:res.partner.bank.type,format_layout:base.bank_normal
|
||||||
msgid "%(bank_name)s: %(acc_number)s"
|
msgid "%(bank_name)s: %(acc_number)s"
|
||||||
msgstr "%(nume_banca)s: %(numar_de_cont)s"
|
msgstr "%(bank_name)s: %(acc_number)s"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: view:ir.actions.todo:0
|
#: 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"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:38+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:35+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:43+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:40+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:41+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -5424,7 +5424,7 @@ msgstr "STOCK_MEDIA_PAUSE"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: help:res.country.state,code:0
|
#: help:res.country.state,code:0
|
||||||
msgid "The state code in three chars.\n"
|
msgid "The state code in max. three chars."
|
||||||
""
|
""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:46+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:43+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:44+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -13,8 +13,8 @@ msgstr ""
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Launchpad-Export-Date: 2012-09-05 04:45+0000\n"
|
"X-Launchpad-Export-Date: 2012-09-20 04:42+0000\n"
|
||||||
"X-Generator: Launchpad (build 15901)\n"
|
"X-Generator: Launchpad (build 15985)\n"
|
||||||
|
|
||||||
#. module: base
|
#. module: base
|
||||||
#: model:res.country,name:base.sh
|
#: model:res.country,name:base.sh
|
||||||
|
|
|
@ -1170,9 +1170,9 @@
|
||||||
<field name="model">ir.translation</field>
|
<field name="model">ir.translation</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Translations" version="7.0">
|
<form string="Translations" version="7.0">
|
||||||
<header>
|
<t t-call="ui.Header">
|
||||||
<field name="state" widget="statusbar" nolabel="1"/>
|
<field name="state" widget="statusbar" nolabel="1"/>
|
||||||
</header>
|
</t>
|
||||||
<sheet>
|
<sheet>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
|
@ -1442,6 +1442,7 @@
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="model_id"/>
|
<field name="model_id"/>
|
||||||
<field name="group_id"/>
|
<field name="group_id"/>
|
||||||
|
<field name="active"/>
|
||||||
</group>
|
</group>
|
||||||
<group string="Access" col="4">
|
<group string="Access" col="4">
|
||||||
<field name="perm_read"/>
|
<field name="perm_read"/>
|
||||||
|
@ -1493,8 +1494,9 @@
|
||||||
<sheet>
|
<sheet>
|
||||||
<group>
|
<group>
|
||||||
<group string="General">
|
<group string="General">
|
||||||
<field colspan="4" name="name"/>
|
<field name="name"/>
|
||||||
<field name="model_id"/>
|
<field name="model_id"/>
|
||||||
|
<field name="active"/>
|
||||||
</group>
|
</group>
|
||||||
<group col="4" string="Access Rights">
|
<group col="4" string="Access Rights">
|
||||||
<field name="perm_read"/>
|
<field name="perm_read"/>
|
||||||
|
@ -1731,26 +1733,30 @@
|
||||||
<field name="name">Config Wizard Steps</field>
|
<field name="name">Config Wizard Steps</field>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<form string="Config Wizard Steps" version="7.0">
|
<form string="Config Wizard Steps" version="7.0">
|
||||||
<header>
|
<t t-call="ui.Header">
|
||||||
<button name="action_launch"
|
<button name="action_launch"
|
||||||
states="open" string="Launch"
|
states="open" string="Launch"
|
||||||
type="object" icon="gtk-execute" class="oe_highlight"
|
type="object" icon="gtk-execute"
|
||||||
help="Launch Configuration Wizard"/>
|
class="oe_highlight"
|
||||||
|
help="Launch Configuration Wizard"/>
|
||||||
<button name="action_open" states="done"
|
<button name="action_open" states="done"
|
||||||
string="Set as Todo" type="object"
|
string="Set as Todo" type="object"
|
||||||
icon="gtk-convert" class="oe_highlight"/>
|
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"}'/>
|
<field name="state" widget="statusbar"
|
||||||
</header>
|
statusbar_visible="open,done" nolabel="1"
|
||||||
<sheet>
|
readonly="1"
|
||||||
<group col="4">
|
statusbar_colors='{"open":"red","done":"blue"}'/>
|
||||||
<field name="action_id"/>
|
</t>
|
||||||
<field name="type"/>
|
<sheet>
|
||||||
<field name="sequence"/>
|
<group col="4">
|
||||||
</group>
|
<field name="action_id"/>
|
||||||
<group string="Groups">
|
<field name="type"/>
|
||||||
<field name="groups_id" nolabel="1" colspan="4"/>
|
<field name="sequence"/>
|
||||||
</group>
|
</group>
|
||||||
</sheet>
|
<group string="Groups">
|
||||||
|
<field name="groups_id" nolabel="1" colspan="4"/>
|
||||||
|
</group>
|
||||||
|
</sheet>
|
||||||
</form>
|
</form>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -328,7 +328,7 @@ class act_wizard(osv.osv):
|
||||||
act_wizard()
|
act_wizard()
|
||||||
|
|
||||||
class act_url(osv.osv):
|
class act_url(osv.osv):
|
||||||
_name = 'ir.actions.url'
|
_name = 'ir.actions.act_url'
|
||||||
_table = 'ir_act_url'
|
_table = 'ir_act_url'
|
||||||
_inherit = 'ir.actions.actions'
|
_inherit = 'ir.actions.actions'
|
||||||
_sequence = 'ir_actions_id_seq'
|
_sequence = 'ir_actions_id_seq'
|
||||||
|
@ -574,7 +574,7 @@ class actions_server(osv.osv):
|
||||||
# ids : original ids
|
# ids : original ids
|
||||||
# id : current id of the object
|
# id : current id of the object
|
||||||
# OUT:
|
# OUT:
|
||||||
# False : Finnished correctly
|
# False : Finished correctly
|
||||||
# ACTION_ID : Action to launch
|
# ACTION_ID : Action to launch
|
||||||
|
|
||||||
# FIXME: refactor all the eval() calls in run()!
|
# 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,
|
'type': fields.selection(TODO_TYPES, 'Type', required=True,
|
||||||
help="""Manual: Launched manually.
|
help="""Manual: Launched manually.
|
||||||
Automatic: Runs whenever the system is reconfigured.
|
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'),
|
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
|
||||||
'note': fields.text('Text', translate=True),
|
'note': fields.text('Text', translate=True),
|
||||||
}
|
}
|
||||||
|
|
|
@ -266,6 +266,105 @@ class ir_cron(osv.osv):
|
||||||
cr.commit()
|
cr.commit()
|
||||||
cr.close()
|
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):
|
def update_running_cron(self, cr):
|
||||||
""" Schedule as soon as possible a wake-up for this database. """
|
""" 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
|
# 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'
|
_name = 'ir.model.access'
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char('Name', size=64, required=True, select=True),
|
'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'),
|
'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),
|
'group_id': fields.many2one('res.groups', 'Group', ondelete='cascade', select=True),
|
||||||
'perm_read': fields.boolean('Read Access'),
|
'perm_read': fields.boolean('Read Access'),
|
||||||
|
@ -475,6 +476,9 @@ class ir_model_access(osv.osv):
|
||||||
'perm_create': fields.boolean('Create Access'),
|
'perm_create': fields.boolean('Create Access'),
|
||||||
'perm_unlink': fields.boolean('Delete Access'),
|
'perm_unlink': fields.boolean('Delete Access'),
|
||||||
}
|
}
|
||||||
|
_defaults = {
|
||||||
|
'active': True,
|
||||||
|
}
|
||||||
|
|
||||||
def check_groups(self, cr, uid, group):
|
def check_groups(self, cr, uid, group):
|
||||||
grouparr = group.split('.')
|
grouparr = group.split('.')
|
||||||
|
@ -499,14 +503,16 @@ class ir_model_access(osv.osv):
|
||||||
cr.execute("SELECT perm_" + mode + " "
|
cr.execute("SELECT perm_" + mode + " "
|
||||||
" FROM ir_model_access a "
|
" FROM ir_model_access a "
|
||||||
" JOIN ir_model m ON (m.id = a.model_id) "
|
" 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()
|
r = cr.fetchone()
|
||||||
if r is None:
|
if r is None:
|
||||||
cr.execute("SELECT perm_" + mode + " "
|
cr.execute("SELECT perm_" + mode + " "
|
||||||
" FROM ir_model_access a "
|
" FROM ir_model_access a "
|
||||||
" JOIN ir_model m ON (m.id = a.model_id) "
|
" 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()
|
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)
|
LEFT JOIN ir_module_category c ON (c.id=g.category_id)
|
||||||
WHERE
|
WHERE
|
||||||
m.model=%s AND
|
m.model=%s AND
|
||||||
|
a.active IS True AND
|
||||||
a.perm_''' + access_mode, (model_name,))
|
a.perm_''' + access_mode, (model_name,))
|
||||||
return [('%s/%s' % x) if x[0] else x[1] for x in cr.fetchall()]
|
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) '
|
' JOIN res_groups_users_rel gu ON (gu.gid = a.group_id) '
|
||||||
' WHERE m.model = %s '
|
' WHERE m.model = %s '
|
||||||
' AND gu.uid = %s '
|
' AND gu.uid = %s '
|
||||||
|
' AND a.active IS True '
|
||||||
, (model_name, uid,)
|
, (model_name, uid,)
|
||||||
)
|
)
|
||||||
r = cr.fetchone()[0]
|
r = cr.fetchone()[0]
|
||||||
|
@ -571,6 +579,7 @@ class ir_model_access(osv.osv):
|
||||||
' JOIN ir_model m ON (m.id = a.model_id) '
|
' JOIN ir_model m ON (m.id = a.model_id) '
|
||||||
' WHERE a.group_id IS NULL '
|
' WHERE a.group_id IS NULL '
|
||||||
' AND m.model = %s '
|
' AND m.model = %s '
|
||||||
|
' AND a.active IS True '
|
||||||
, (model_name,)
|
, (model_name,)
|
||||||
)
|
)
|
||||||
r = cr.fetchone()[0]
|
r = cr.fetchone()[0]
|
||||||
|
|
|
@ -75,6 +75,7 @@ class ir_rule(osv.osv):
|
||||||
|
|
||||||
_columns = {
|
_columns = {
|
||||||
'name': fields.char('Name', size=128, select=1),
|
'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"),
|
'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"),
|
'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'),
|
'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'
|
_order = 'model_id DESC'
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
|
'active': True,
|
||||||
'perm_read': True,
|
'perm_read': True,
|
||||||
'perm_write': True,
|
'perm_write': True,
|
||||||
'perm_create': True,
|
'perm_create': True,
|
||||||
|
@ -114,6 +116,7 @@ class ir_rule(osv.osv):
|
||||||
FROM ir_rule r
|
FROM ir_rule r
|
||||||
JOIN ir_model m ON (r.model_id = m.id)
|
JOIN ir_model m ON (r.model_id = m.id)
|
||||||
WHERE m.model = %s
|
WHERE m.model = %s
|
||||||
|
AND r.active is True
|
||||||
AND r.perm_""" + mode + """
|
AND r.perm_""" + mode + """
|
||||||
AND (r.id IN (SELECT rule_group_id FROM rule_group_rel g_rel
|
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)
|
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
|
# FIXME: should assert that `source` is unicode and fix all callers to always pass unicode
|
||||||
# so we can remove the string encoding/decoding.
|
# so we can remove the string encoding/decoding.
|
||||||
if not lang:
|
if not lang:
|
||||||
return u''
|
return tools.ustr(source or '')
|
||||||
if isinstance(types, basestring):
|
if isinstance(types, basestring):
|
||||||
types = (types,)
|
types = (types,)
|
||||||
if source:
|
if source:
|
||||||
|
|
|
@ -298,7 +298,7 @@ class ir_ui_menu(osv.osv):
|
||||||
('ir.actions.report.xml', 'ir.actions.report.xml'),
|
('ir.actions.report.xml', 'ir.actions.report.xml'),
|
||||||
('ir.actions.act_window', 'ir.actions.act_window'),
|
('ir.actions.act_window', 'ir.actions.act_window'),
|
||||||
('ir.actions.wizard', 'ir.actions.wizard'),
|
('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.server', 'ir.actions.server'),
|
||||||
('ir.actions.client', 'ir.actions.client'),
|
('ir.actions.client', 'ir.actions.client'),
|
||||||
]),
|
]),
|
||||||
|
|
|
@ -192,7 +192,6 @@ class view(osv.osv):
|
||||||
def write(self, cr, uid, ids, vals, context=None):
|
def write(self, cr, uid, ids, vals, context=None):
|
||||||
if not isinstance(ids, (list, tuple)):
|
if not isinstance(ids, (list, tuple)):
|
||||||
ids = [ids]
|
ids = [ids]
|
||||||
result = super(view, self).write(cr, uid, ids, vals, context)
|
|
||||||
|
|
||||||
# drop the corresponding view customizations (used for dashboards for example), otherwise
|
# drop the corresponding view customizations (used for dashboards for example), otherwise
|
||||||
# not all users would see the updated views
|
# not all users would see the updated views
|
||||||
|
@ -200,7 +199,7 @@ class view(osv.osv):
|
||||||
if custom_view_ids:
|
if custom_view_ids:
|
||||||
self.pool.get('ir.ui.view.custom').unlink(cr, uid, 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):
|
def graph_get(self, cr, uid, id, model, node_obj, conn_obj, src_node, des_node, label, scale, context=None):
|
||||||
nodes=[]
|
nodes=[]
|
||||||
|
|
|
@ -237,7 +237,6 @@ class module(osv.osv):
|
||||||
'menus_by_module': fields.function(_get_views, string='Menus', type='text', multi="meta", store=True),
|
'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),
|
'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),
|
'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),
|
'application': fields.boolean('Application', readonly=True),
|
||||||
'icon': fields.char('Icon URL', size=128),
|
'icon': fields.char('Icon URL', size=128),
|
||||||
'icon_image': fields.function(_get_icon_image, string='Icon', type="binary"),
|
'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):
|
def _name_uniq_msg(self, cr, uid, ids, context=None):
|
||||||
return _('The name of the module must be unique !')
|
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 = [
|
_sql_constraints = [
|
||||||
('name_uniq', 'UNIQUE (name)',_name_uniq_msg ),
|
('name_uniq', 'UNIQUE (name)',_name_uniq_msg ),
|
||||||
('certificate_uniq', 'UNIQUE (certificate)',_certificate_uniq_msg )
|
|
||||||
]
|
]
|
||||||
|
|
||||||
def unlink(self, cr, uid, ids, context=None):
|
def unlink(self, cr, uid, ids, context=None):
|
||||||
|
@ -511,7 +507,6 @@ class module(osv.osv):
|
||||||
'contributors': ', '.join(terp.get('contributors', [])) or False,
|
'contributors': ', '.join(terp.get('contributors', [])) or False,
|
||||||
'website': terp.get('website', ''),
|
'website': terp.get('website', ''),
|
||||||
'license': terp.get('license', 'AGPL-3'),
|
'license': terp.get('license', 'AGPL-3'),
|
||||||
'certificate': terp.get('certificate') or False,
|
|
||||||
'sequence': terp.get('sequence', 100),
|
'sequence': terp.get('sequence', 100),
|
||||||
'application': terp.get('application', False),
|
'application': terp.get('application', False),
|
||||||
'auto_install': terp.get('auto_install', False),
|
'auto_install': terp.get('auto_install', False),
|
||||||
|
@ -677,14 +672,6 @@ class module(osv.osv):
|
||||||
if not mod.description:
|
if not mod.description:
|
||||||
_logger.warning('module %s: description is empty !', mod.name)
|
_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):
|
class module_dependency(osv.osv):
|
||||||
_name = "ir.module.module.dependency"
|
_name = "ir.module.module.dependency"
|
||||||
_description = "Module dependency"
|
_description = "Module dependency"
|
||||||
|
|
|
@ -25,25 +25,25 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.module.category" id="module_category_sales_management">
|
<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="description">Helps you handle your quotations, sale orders and invoicing.</field>
|
||||||
<field name="sequence">2</field>
|
<field name="sequence">2</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.module.category" id="module_category_project_management">
|
<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="description">Helps you manage your projects and tasks by tracking them, generating plannings, etc...</field>
|
||||||
<field name="sequence">3</field>
|
<field name="sequence">3</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.module.category" id="module_category_knowledge_management">
|
<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="description">Lets you install addons geared towards sharing knowledge with and between your employees.</field>
|
||||||
<field name="sequence">4</field>
|
<field name="sequence">4</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.module.category" id="module_category_warehouse_management">
|
<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="description">Helps you manage your inventory and main stock operations: delivery orders, receptions, etc.</field>
|
||||||
<field name="sequence">5</field>
|
<field name="sequence">5</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.module.category" id="module_category_purchase_management">
|
<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="description">Helps you manage your purchase-related processes such as requests for quotations, supplier invoices, etc...</field>
|
||||||
<field name="sequence">9</field>
|
<field name="sequence">9</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -134,7 +134,7 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="res.groups" id="group_multi_currency">
|
<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>
|
||||||
|
|
||||||
<record model="res.groups" id="group_no_one">
|
<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)
|
ids = self.get_module_list(cr, uid, context=context)
|
||||||
if not ids:
|
if not ids:
|
||||||
res['arch'] = '''<form string="Apply Schedule Upgrade" version="7.0">
|
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 name="config" string="Start configuration" type="object" icon="gtk-ok"/>
|
||||||
<button special="cancel" string="Close" icon="gtk-cancel"/>
|
<button special="cancel" string="Close" icon="gtk-cancel"/>
|
||||||
</header>
|
</t>
|
||||||
<separator string="Apply Schedule Upgrade" colspan="4"/>
|
<separator string="Apply Schedule Upgrade" colspan="4"/>
|
||||||
</form>'''
|
</form>'''
|
||||||
|
|
||||||
|
|
|
@ -172,38 +172,35 @@ class res_partner_bank(osv.osv):
|
||||||
('required', field.required)]
|
('required', field.required)]
|
||||||
return res
|
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.
|
# prepare a mapping {code: format_layout} for all bank types
|
||||||
This function is designed to be inherited to add replacement fields.
|
bank_type_obj = self.pool.get('res.partner.bank.type')
|
||||||
:param browse_record bank_type_obj: res.partner.bank.type object
|
bank_types = bank_type_obj.browse(cr, uid, bank_type_obj.search(cr, uid, []), context=context)
|
||||||
:param browse_record bank_obj: res.partner.bank object
|
bank_code_format = dict((bt.code, bt.format_layout) for bt in bank_types)
|
||||||
:rtype: str
|
|
||||||
:return: formatted name of a res.partner.bank record
|
res = []
|
||||||
"""
|
for data in bank_dicts:
|
||||||
return bank_type_obj.format_layout % bank_obj._data[bank_obj.id]
|
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):
|
def name_get(self, cr, uid, ids, context=None):
|
||||||
if not len(ids):
|
if not len(ids):
|
||||||
return []
|
return []
|
||||||
bank_type_obj = self.pool.get('res.partner.bank.type')
|
bank_dicts = self.read(cr, uid, ids, context=context)
|
||||||
res = []
|
return self._prepare_name_get(cr, uid, bank_dicts, context=context)
|
||||||
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
|
|
||||||
|
|
||||||
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
|
def onchange_company_id(self, cr, uid, ids, company_id, context=None):
|
||||||
result = {}
|
result = {}
|
||||||
|
|
|
@ -90,8 +90,8 @@
|
||||||
<form string="Bank account" version="7.0">
|
<form string="Bank account" version="7.0">
|
||||||
<group col="4">
|
<group col="4">
|
||||||
<field name="state"/>
|
<field name="state"/>
|
||||||
<field name="acc_number"/>
|
<field name="acc_number" placeholder="Account Number"/>
|
||||||
<field name="company_id" on_change="onchange_company_id(company_id)"
|
<field name="company_id" groups="base.group_multi_company" on_change="onchange_company_id(company_id)"
|
||||||
invisible="context.get('company_hide', True)" widget="selection"/>
|
invisible="context.get('company_hide', True)" widget="selection"/>
|
||||||
<field name="footer" invisible="context.get('footer_hide', True)"/>
|
<field name="footer" invisible="context.get('footer_hide', True)"/>
|
||||||
</group>
|
</group>
|
||||||
|
@ -113,7 +113,7 @@
|
||||||
<group name="bank" string="Information About the Bank">
|
<group name="bank" string="Information About the Bank">
|
||||||
<field name="bank" on_change="onchange_bank_id(bank)"/>
|
<field name="bank" on_change="onchange_bank_id(bank)"/>
|
||||||
<field name="bank_name" attrs="{'required': [('company_id','<>',False)]}"/>
|
<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>
|
||||||
</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_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_header2': fields.text('RML Internal Header', required=True),
|
||||||
'rml_header3': fields.text('RML Internal Header for Landscape Reports', 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, "\
|
'rml_footer': fields.text('Report Footer', help="Footer text displayed at the bottom of all reports."),
|
||||||
"but may also be customized by directly editing it."),
|
'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."),
|
'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"),
|
'logo': fields.related('partner_id', 'image', string="Logo", type="binary"),
|
||||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
'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 !')
|
('name_uniq', 'unique (name)', 'The company name must be unique !')
|
||||||
]
|
]
|
||||||
|
|
||||||
def onchange_footer(self, cr, uid, ids, context=None):
|
def onchange_footer(self, cr, uid, ids, custom_footer, phone, fax, email, website, vat, company_registry, bank_ids, context=None):
|
||||||
# when touched, the footer becomes custom
|
if custom_footer:
|
||||||
return {'value': {'custom_footer': True}}
|
return {}
|
||||||
|
|
||||||
def set_auto_footer(self, cr, uid, ids, context=None):
|
# first line (notice that missing elements are filtered out before the join)
|
||||||
# unset the flag 'custom_footer'; this will automatically compute the footer
|
res = ' | '.join(filter(bool, [
|
||||||
return self.write(cr, uid, ids, {'custom_footer': False}, context=context)
|
phone and '%s: %s' % (_('Phone'), phone),
|
||||||
|
fax and '%s: %s' % (_('Fax'), fax),
|
||||||
def compute_footer(self, cr, uid, ids, context=None):
|
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')
|
res_partner_bank = self.pool.get('res.partner.bank')
|
||||||
for company in self.browse(cr, uid, ids, context):
|
account_data = self.resolve_2many_commands(cr, uid, 'bank_ids', bank_ids, context=context)
|
||||||
if not company.custom_footer:
|
account_names = res_partner_bank._prepare_name_get(cr, uid, account_data, context=context)
|
||||||
# first line (notice that missing elements are filtered out before the join)
|
if account_names:
|
||||||
res = ' | '.join(filter(bool, [
|
title = _('Bank Accounts') if len(account_names) > 1 else _('Bank Account')
|
||||||
company.phone and '%s: %s' % (_('Phone'), company.phone),
|
res += '\n%s: %s' % (title, ', '.join(name for id, name in account_names))
|
||||||
company.fax and '%s: %s' % (_('Fax'), company.fax),
|
|
||||||
company.email and '%s: %s' % (_('Email'), company.email),
|
return {'value': {'rml_footer': res, 'rml_footer_readonly': res}}
|
||||||
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
|
|
||||||
|
|
||||||
def on_change_country(self, cr, uid, ids, country_id, context=None):
|
def on_change_country(self, cr, uid, ids, country_id, context=None):
|
||||||
currency_id = self._get_euro(cr, uid, context=context)
|
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)
|
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):
|
for rule in proxy.browse(cr, uid, ids, context):
|
||||||
if eval(rule.expression, {'context': context, 'user': user}):
|
if eval(rule.expression, {'context': context, 'user': user}):
|
||||||
return rule.company_dest_id.id
|
return rule.company_dest_id.id
|
||||||
|
@ -248,17 +240,11 @@ class res_company(osv.osv):
|
||||||
self.cache_restart(cr)
|
self.cache_restart(cr)
|
||||||
company_id = super(res_company, self).create(cr, uid, vals, context=context)
|
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)
|
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
|
return company_id
|
||||||
|
|
||||||
def write(self, cr, uid, ids, values, context=None):
|
def write(self, cr, uid, ids, values, context=None):
|
||||||
self.cache_restart(cr)
|
self.cache_restart(cr)
|
||||||
if isinstance(ids, (int, long)):
|
return super(res_company, self).write(cr, uid, ids, values, context=context)
|
||||||
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
|
|
||||||
|
|
||||||
def _get_euro(self, cr, uid, context=None):
|
def _get_euro(self, cr, uid, context=None):
|
||||||
rate_obj = self.pool.get('res.currency.rate')
|
rate_obj = self.pool.get('res.currency.rate')
|
||||||
|
|
|
@ -55,29 +55,26 @@
|
||||||
<div>
|
<div>
|
||||||
<field name="rml_header1" placeholder="e.g. Global Business Solutions"/>
|
<field name="rml_header1" placeholder="e.g. Global Business Solutions"/>
|
||||||
</div>
|
</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>
|
||||||
<group>
|
<group>
|
||||||
<field name="phone"/>
|
<field name="phone" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
<field name="fax"/>
|
<field name="fax" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
<field name="email"/>
|
<field name="email" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
<field name="vat"/>
|
<field name="vat" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
<field name="company_registry"/>
|
<field name="company_registry" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
<group string="Bank Accounts">
|
<group string="Bank Accounts">
|
||||||
<field name="bank_ids" nolabel="1"
|
<field name="bank_ids" nolabel="1" context="{'default_company_id': active_id, 'footer_hide': False}"
|
||||||
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>
|
||||||
<group string="Report Footer Configuration">
|
<group string="Report Footer Configuration">
|
||||||
<field name="paper_format" on_change="onchange_paper_format(paper_format)"/>
|
<field name="paper_format" on_change="onchange_paper_format(paper_format)"/>
|
||||||
<field name="custom_footer" invisible="1"/>
|
<field name="custom_footer" on_change="onchange_footer(custom_footer, phone, fax, email, website, vat, company_registry, bank_ids)"/>
|
||||||
<label for="rml_footer"/>
|
<field name="rml_footer" attrs="{'invisible': [('custom_footer','=',False)]}"/>
|
||||||
<div>
|
<field name="rml_footer_readonly" attrs="{'invisible': [('custom_footer','=',True)]}"/>
|
||||||
<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>
|
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
<page string="Header/Footer" groups="base.group_no_one">
|
<page string="Header/Footer" groups="base.group_no_one">
|
||||||
|
|
|
@ -552,5 +552,22 @@ class res_config_settings(osv.osv_memory):
|
||||||
if action_ids:
|
if action_ids:
|
||||||
return act_window.read(cr, uid, action_ids[0], [], context=context)
|
return act_window.read(cr, uid, action_ids[0], [], context=context)
|
||||||
return {}
|
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:
|
# 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 !')
|
'The code of the country must be unique !')
|
||||||
]
|
]
|
||||||
_defaults = {
|
_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'
|
_order='name'
|
||||||
|
|
||||||
|
@ -89,9 +89,10 @@ class CountryState(osv.osv):
|
||||||
_columns = {
|
_columns = {
|
||||||
'country_id': fields.many2one('res.country', 'Country',
|
'country_id': fields.many2one('res.country', 'Country',
|
||||||
required=True),
|
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,
|
'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'
|
_order = 'code'
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
|
||||||
<record id="ad" model="res.country">
|
<record id="ad" model="res.country">
|
||||||
<field name="name">Andorra, Principality of</field>
|
<field name="name">Andorra, Principality of</field>
|
||||||
<field name="code">ad</field>
|
<field name="code">ad</field>
|
||||||
|
@ -70,7 +70,7 @@
|
||||||
<record id="au" model="res.country">
|
<record id="au" model="res.country">
|
||||||
<field name="name">Australia</field>
|
<field name="name">Australia</field>
|
||||||
<field name="code">au</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"/>
|
<field name="currency_id" ref="AUD"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="aw" model="res.country">
|
<record id="aw" model="res.country">
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
<record id="be" model="res.country">
|
<record id="be" model="res.country">
|
||||||
<field name="name">Belgium</field>
|
<field name="name">Belgium</field>
|
||||||
<field name="code">be</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"/>
|
<field name="currency_id" ref="EUR"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="bf" model="res.country">
|
<record id="bf" model="res.country">
|
||||||
|
@ -162,7 +162,7 @@
|
||||||
<record id="br" model="res.country">
|
<record id="br" model="res.country">
|
||||||
<field name="name">Brazil</field>
|
<field name="name">Brazil</field>
|
||||||
<field name="code">br</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"/>
|
<field name="currency_id" ref="BRL"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="bs" model="res.country">
|
<record id="bs" model="res.country">
|
||||||
|
@ -198,7 +198,7 @@
|
||||||
<record id="ca" model="res.country">
|
<record id="ca" model="res.country">
|
||||||
<field name="name">Canada</field>
|
<field name="name">Canada</field>
|
||||||
<field name="code">ca</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"/>
|
<field name="currency_id" ref="CAD"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="cc" model="res.country">
|
<record id="cc" model="res.country">
|
||||||
|
@ -350,7 +350,7 @@
|
||||||
<record id="es" model="res.country">
|
<record id="es" model="res.country">
|
||||||
<field name="name">Spain</field>
|
<field name="name">Spain</field>
|
||||||
<field name="code">es</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"/>
|
<field name="currency_id" ref="EUR"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="et" model="res.country">
|
<record id="et" model="res.country">
|
||||||
|
@ -386,7 +386,7 @@
|
||||||
<record id="fr" model="res.country">
|
<record id="fr" model="res.country">
|
||||||
<field name="name">France</field>
|
<field name="name">France</field>
|
||||||
<field name="code">fr</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"/>
|
<field name="currency_id" ref="EUR"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="ga" model="res.country">
|
<record id="ga" model="res.country">
|
||||||
|
@ -532,7 +532,7 @@
|
||||||
<record id="in" model="res.country">
|
<record id="in" model="res.country">
|
||||||
<field name="name">India</field>
|
<field name="name">India</field>
|
||||||
<field name="code">in</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"/>
|
<field name="currency_id" ref="INR"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="io" model="res.country">
|
<record id="io" model="res.country">
|
||||||
|
@ -1174,7 +1174,7 @@
|
||||||
</record>
|
</record>
|
||||||
<record id="uk" model="res.country">
|
<record id="uk" model="res.country">
|
||||||
<field name="name">United Kingdom</field>
|
<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="code">gb</field>
|
||||||
<field name="currency_id" ref="GBP"/>
|
<field name="currency_id" ref="GBP"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -1186,7 +1186,7 @@
|
||||||
<record id="us" model="res.country">
|
<record id="us" model="res.country">
|
||||||
<field name="name">United States</field>
|
<field name="name">United States</field>
|
||||||
<field name="code">us</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"/>
|
<field name="currency_id" ref="USD"/>
|
||||||
</record>
|
</record>
|
||||||
<record id="uy" model="res.country">
|
<record id="uy" model="res.country">
|
||||||
|
@ -1269,6 +1269,7 @@
|
||||||
<field name="code">zm</field>
|
<field name="code">zm</field>
|
||||||
<field name="currency_id" ref="ZMK"/>
|
<field name="currency_id" ref="ZMK"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- DEPRECATED, New name of Zaire is Democratic Republic of the Congo ! -->
|
<!-- DEPRECATED, New name of Zaire is Democratic Republic of the Congo ! -->
|
||||||
<record id="zr" model="res.country">
|
<record id="zr" model="res.country">
|
||||||
<field name="name">Zaire</field>
|
<field name="name">Zaire</field>
|
||||||
|
@ -1280,5 +1281,5 @@
|
||||||
<field name="code">zw</field>
|
<field name="code">zw</field>
|
||||||
<field name="currency_id" ref="ZWD"/>
|
<field name="currency_id" ref="ZWD"/>
|
||||||
</record>
|
</record>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
|
@ -77,7 +77,7 @@ class lang(osv.osv):
|
||||||
_logger.warning(msg, lang, lc)
|
_logger.warning(msg, lang, lc)
|
||||||
|
|
||||||
if not lang_name:
|
if not lang_name:
|
||||||
lang_name = tools.get_languages().get(lang, lang)
|
lang_name = tools.ALL_LANGUAGES.get(lang, lang)
|
||||||
|
|
||||||
|
|
||||||
def fix_xa0(s):
|
def fix_xa0(s):
|
||||||
|
|
|
@ -22,24 +22,59 @@
|
||||||
import math
|
import math
|
||||||
import openerp
|
import openerp
|
||||||
from osv import osv, fields
|
from osv import osv, fields
|
||||||
|
from openerp import SUPERUSER_ID
|
||||||
import re
|
import re
|
||||||
import tools
|
import tools
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
import logging
|
import logging
|
||||||
import pooler
|
import pooler
|
||||||
import pytz
|
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):
|
def _tz_get(self,cr,uid, context=None):
|
||||||
return [(x, x) for x in pytz.all_timezones]
|
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):
|
class res_partner_category(osv.osv):
|
||||||
|
|
||||||
def name_get(self, cr, uid, ids, context=None):
|
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')
|
POSTAL_ADDRESS_FIELDS = ('street', 'street2', 'zip', 'city', 'state_id', 'country_id')
|
||||||
ADDRESS_FIELDS = POSTAL_ADDRESS_FIELDS + ('email', 'phone', 'fax', 'mobile', 'website', 'ref', 'lang')
|
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'
|
_description = 'Partner'
|
||||||
_name = "res.partner"
|
_name = "res.partner"
|
||||||
|
|
||||||
|
@ -151,28 +186,31 @@ class res_partner(osv.osv):
|
||||||
'name': fields.char('Name', size=128, required=True, select=True),
|
'name': fields.char('Name', size=128, required=True, select=True),
|
||||||
'date': fields.date('Date', select=1),
|
'date': fields.date('Date', select=1),
|
||||||
'title': fields.many2one('res.partner.title', 'Title'),
|
'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'),
|
'child_ids': fields.one2many('res.partner', 'parent_id', 'Contacts'),
|
||||||
'ref': fields.char('Reference', size=64, select=1),
|
'ref': fields.char('Reference', size=64, select=1),
|
||||||
'lang': fields.selection(_lang_get, 'Language',
|
'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,
|
'tz': fields.selection(_tz_get, 'Timezone', size=64,
|
||||||
help="The partner's timezone, used to output proper date and time values inside printed reports. "
|
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 "
|
"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."),
|
"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.'),
|
'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 the partner is subjected to taxes. Used by the some of the legal statements."),
|
'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'),
|
'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'),
|
||||||
'website': fields.char('Website', size=64, help="Website of Partner or Company"),
|
'website': fields.char('Website', size=64, help="Website of Partner or Company"),
|
||||||
'comment': fields.text('Notes'),
|
'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'),
|
'category_id': fields.many2many('res.partner.category', id1='partner_id', id2='category_id', string='Tags'),
|
||||||
'credit_limit': fields.float(string='Credit Limit'),
|
'credit_limit': fields.float(string='Credit Limit'),
|
||||||
'ean13': fields.char('EAN13', size=13),
|
'ean13': fields.char('EAN13', size=13),
|
||||||
'active': fields.boolean('Active'),
|
'active': fields.boolean('Active'),
|
||||||
'customer': fields.boolean('Customer', help="Check this box if the partner is a customer."),
|
'customer': fields.boolean('Customer', help="Check this box if this contact 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."),
|
'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 the partner is an Employee."),
|
'employee': fields.boolean('Employee', help="Check this box if this contact is an Employee."),
|
||||||
'function': fields.char('Job Position', size=128),
|
'function': fields.char('Job Position', size=128),
|
||||||
'type': fields.selection([('default', 'Default'), ('invoice', 'Invoice'),
|
'type': fields.selection([('default', 'Default'), ('invoice', 'Invoice'),
|
||||||
('delivery', 'Delivery'), ('contact', 'Contact'),
|
('delivery', 'Delivery'), ('contact', 'Contact'),
|
||||||
|
@ -184,7 +222,8 @@ class res_partner(osv.osv):
|
||||||
'city': fields.char('City', size=128),
|
'city': fields.char('City', size=128),
|
||||||
'state_id': fields.many2one("res.country.state", 'State'),
|
'state_id': fields.many2one("res.country.state", 'State'),
|
||||||
'country_id': fields.many2one('res.country', 'Country'),
|
'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),
|
'email': fields.char('Email', size=240),
|
||||||
'phone': fields.char('Phone', size=64),
|
'phone': fields.char('Phone', size=64),
|
||||||
'fax': fields.char('Fax', 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"),
|
'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: all image fields are base64 encoded and PIL-supported
|
||||||
'image': fields.binary("Image",
|
'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,
|
'image_medium': fields.function(_get_image, fnct_inv=_set_image,
|
||||||
string="Medium-sized image", type="binary", multi="_get_image",
|
string="Medium-sized image", type="binary", multi="_get_image",
|
||||||
store={
|
store={
|
||||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
|
'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. "\
|
"resized as a 128x128px image, with aspect ratio preserved. "\
|
||||||
"Use this field in form views or some kanban views."),
|
"Use this field in form views or some kanban views."),
|
||||||
'image_small': fields.function(_get_image, fnct_inv=_set_image,
|
'image_small': fields.function(_get_image, fnct_inv=_set_image,
|
||||||
|
@ -208,7 +247,7 @@ class res_partner(osv.osv):
|
||||||
store={
|
store={
|
||||||
'res.partner': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
|
'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. "\
|
"resized as a 64x64px image, with aspect ratio preserved. "\
|
||||||
"Use this field anywhere a small image is required."),
|
"Use this field anywhere a small image is required."),
|
||||||
'company_id': fields.many2one('res.company', 'Company', select=1),
|
'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())
|
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'))
|
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 = {
|
_defaults = {
|
||||||
'active': True,
|
'active': True,
|
||||||
'lang': lambda self, cr, uid, ctx: ctx.get('lang', 'en_US'),
|
'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 """
|
- otherwise: default, everything is set as the name """
|
||||||
match = re.search(r'([^\s,<@]+@[^>\s,]+)', text)
|
match = re.search(r'([^\s,<@]+@[^>\s,]+)', text)
|
||||||
if match:
|
if match:
|
||||||
email = match.group(1)
|
email = match.group(1)
|
||||||
name = text[:text.index(email)].replace('"','').replace('<','').strip()
|
name = text[:text.index(email)].replace('"','').replace('<','').strip()
|
||||||
else:
|
else:
|
||||||
name, email = text, ''
|
name, email = text, ''
|
||||||
|
@ -398,7 +445,7 @@ class res_partner(osv.osv):
|
||||||
def find_or_create(self, cr, uid, email, context=None):
|
def find_or_create(self, cr, uid, email, context=None):
|
||||||
""" Find a partner with the given ``email`` or use :py:method:`~.name_create`
|
""" Find a partner with the given ``email`` or use :py:method:`~.name_create`
|
||||||
to create one
|
to create one
|
||||||
|
|
||||||
:param str email: email-like string, which should contain at least one email,
|
:param str email: email-like string, which should contain at least one email,
|
||||||
e.g. ``"Raoul Grosbedon <r.g@grosbedon.fr>"``"""
|
e.g. ``"Raoul Grosbedon <r.g@grosbedon.fr>"``"""
|
||||||
assert email, 'an email is required for find_or_create to work'
|
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 information that will be injected into the display format
|
||||||
# get the address format
|
# get the address format
|
||||||
address_format = address.country_id and address.country_id.address_format or \
|
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 = {
|
args = {
|
||||||
'state_code': address.state_id and address.state_id.code or '',
|
'state_code': address.state_id and address.state_id.code or '',
|
||||||
'state_name': address.state_id and address.state_id.name 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 ''
|
args[field] = getattr(address, field) or ''
|
||||||
if without_company:
|
if without_company:
|
||||||
args['company_name'] = ''
|
args['company_name'] = ''
|
||||||
|
elif address.parent_id:
|
||||||
|
address_format = '%(company_name)s\n' + address_format
|
||||||
return address_format % args
|
return address_format % args
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
|
# 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):
|
class res_partner_address(osv.osv):
|
||||||
_table = "res_partner"
|
_table = "res_partner"
|
||||||
|
|
|
@ -20,17 +20,32 @@
|
||||||
<record id="res_partner_title_madam" model="res.partner.title">
|
<record id="res_partner_title_madam" model="res.partner.title">
|
||||||
<field name="domain">contact</field>
|
<field name="domain">contact</field>
|
||||||
<field name="name">Madam</field>
|
<field name="name">Madam</field>
|
||||||
<field name="shortcut">Ms.</field>
|
<field name="shortcut">Mrs.</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="res_partner_title_miss" model="res.partner.title">
|
<record id="res_partner_title_miss" model="res.partner.title">
|
||||||
<field name="domain">contact</field>
|
<field name="domain">contact</field>
|
||||||
<field name="name">Miss</field>
|
<field name="name">Miss</field>
|
||||||
<field name="shortcut">Mss</field>
|
<field name="shortcut">Miss</field>
|
||||||
</record>
|
</record>
|
||||||
<record id="res_partner_title_sir" model="res.partner.title">
|
<record id="res_partner_title_sir" model="res.partner.title">
|
||||||
<field name="domain">contact</field>
|
<field name="domain">contact</field>
|
||||||
<field name="name">Sir</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>
|
</record>
|
||||||
|
|
||||||
<!-- Default bank account description -->
|
<!-- 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