[MERGE] merged trunk.

bzr revid: vmt@openerp.com-20121022121718-92ur1vmbrih9j8hy
This commit is contained in:
Vo Minh Thu 2012-10-22 14:17:18 +02:00
commit 7b6ef161d2
347 changed files with 32835 additions and 16310 deletions

View File

@ -15,4 +15,5 @@ bin/*
build/
include/
lib/
share/
share/
doc/_build/*

2
debian/control vendored
View File

@ -16,6 +16,7 @@ Depends:
python,
postgresql-client,
python-dateutil,
python-docutils,
python-feedparser,
python-gdata,
python-ldap,
@ -23,6 +24,7 @@ Depends:
python-lxml,
python-mako,
python-openid,
python-psutil,
python-psycopg2,
python-pybabel,
python-pychart,

View File

@ -3,9 +3,24 @@ User avatar
.. versionadded:: 7.0
This revision adds an avatar for users. This replaces the use of gravatar to emulate avatars, used in views like the tasks kanban view. Two fields have been added to the res.users model:
- avatar_big, a binary field holding the image. It is base-64 encoded, and PIL-supported. Images stored are resized to 540x450 px, to limitate the binary field size.
- avatar, a function binary field holding an automatically resized version of the avatar_big field. It is also base-64 encoded, and PIL-supported. Dimensions of the resized avatar are 180x150. This field is used as an inteface to get and set the user avatar.
When changing the avatar through the avatar function field, the new image is automatically resized to 540x450, and stored in the avatar_big field. This triggers the function field, that will compute a 180x150 resized version of the image.
This revision adds an avatar for users. This replaces the use of
gravatar to emulate avatars, used in views like the tasks kanban
view. Two fields have been added to the res.users model:
An avatar field has been added to the users form view, as well as in Preferences. When creating a new user, a default avatar is chosen among 6 possible default images.
* ``avatar_big``, a binary field holding the image. It is base-64
encoded, and PIL-supported. Images stored are resized to 540x450 px,
to limitate the binary field size.
* ``avatar``, a function binary field holding an automatically resized
version of the avatar_big field. It is also base-64 encoded, and
PIL-supported. Dimensions of the resized avatar are 180x150. This
field is used as an inteface to get and set the user avatar.
When changing the avatar through the avatar function field, the new
image is automatically resized to 540x450, and stored in the
avatar_big field. This triggers the function field, that will compute
a 180x150 resized version of the image.
An avatar field has been added to the users form view, as well as in
Preferences. When creating a new user, a default avatar is chosen
among 6 possible default images.

View File

@ -19,6 +19,7 @@ import sys, os
#sys.path.insert(0, os.path.abspath('.'))
sys.path.append(os.path.abspath('_themes'))
sys.path.append(os.path.abspath('..'))
sys.path.append(os.path.abspath('../openerp'))
# -- General configuration -----------------------------------------------------
@ -50,9 +51,9 @@ copyright = u'2012, OpenERP s.a.'
# built documents.
#
# The short X.Y version.
version = '6.1'
version = '7.0'
# The full version, including alpha/beta/rc tags.
release = '6.1'
release = '7.0b'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

263
doc/import.rst Normal file
View File

@ -0,0 +1,263 @@
.. _bulk-import:
Bulk Import
===========
OpenERP has included a bulk import facility for CSV-ish files for a
long time. With 7.0, both the interface and internal implementation
have been redone, resulting in
:meth:`~openerp.osv.orm.BaseModel.load`.
.. note::
the previous bulk-loading method,
:meth:`~openerp.osv.orm.BaseModel.import_data`, remains for
backwards compatibility but was re-implemented on top of
:meth:`~openerp.osv.orm.BaseModel.load`, while its interface is
unchanged its precise behavior has likely been altered for some
cases (it shouldn't throw exceptions anymore in many cases where
it previously did)
This document attempts to explain the behavior and limitations of
:meth:`~openerp.osv.orm.BaseModel.load`.
Data
----
The input ``data`` is a regular row-major matrix of strings (in Python
datatype terms, a ``list`` of rows, each row being a ``list`` of
``str``, all rows must be of equal length). Each row must be the same
length as the ``fields`` list preceding it in the argslist.
Each field of ``fields`` maps to a (potentially relational and nested)
field of the model under import, and the corresponding column of the
``data`` matrix provides a value for the field for each record.
Generally speaking each row of the input yields a record of output,
and each cell of a row yields a value for the corresponding field of
the row's record. There is currently one exception for this rule:
One to Many fields
++++++++++++++++++
Because O2M fields contain multiple records "embedded" in the main
one, and these sub-records are fully dependent on the main record (are
no other references to the sub-records in the system), they have to be
spliced into the matrix somehow. This is done by adding lines composed
*only* of o2m record fields below the main record:
.. literalinclude:: o2m.txt
the sections in double-lines represent the span of two o2m
fields. During parsing, they are extracted into their own ``data``
matrix for the o2m field they correspond to.
Import process
--------------
Here are the phases of import. Note that the concept of "phases" is
fuzzy as it's currently more of a pipeline, each record moves through
the entire pipeline before the next one is processed.
Extraction
++++++++++
The first phase of the import is the extraction of the current row
(and potentially a section of rows following it if it has One to Many
fields) into a record dictionary. The keys are the ``fields``
originally passed to :meth:`~openerp.osv.orm.BaseModel.load`, and the
values are either the string value at the corresponding cell (for
non-relational fields) or a list of sub-records (for all relational
fields).
This phase also generates the ``rows`` indexes for any
:ref:`import-message` produced thereafter.
Conversion
++++++++++
This second phase takes the record dicts, extracts the :ref:`dbid` and
:ref:`xid` if present and attempts to convert each field to a type
matching what OpenERP expects to write.
* Empty fields (empty strings) are replaced with the ``False`` value
* Non-empty fields are converted through
:class:`~openerp.addons.base.ir.ir_fields.ir_fields_converter`
.. note:: if a field is specified in the import, its default will *never* be
used. If some records need to have a value and others need to use
the model's default, either specify that default explicitly or do
the import in two phases.
Char, text and binary fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Are returned as-is, without any alteration.
Boolean fields
~~~~~~~~~~~~~~
The string value is compared (in a case-insensitive manner) to ``0``,
``false`` and ``no`` as well of any translation thereof loaded in the
database. If the value matches one of these, the field is set to
``False``.
Otherwise the field is compared to ``1``, ``true`` and ``yes`` (and
any translation of these in the database). The field is always set to
``True``, but if the value does not match one of these a warning will
also be output.
Integers and float fields
~~~~~~~~~~~~~~~~~~~~~~~~~
The field is parsed with Python's built-in conversion routines
(``int`` and ``float`` respectively), if the conversion fails an error
is generated.
Selection fields
~~~~~~~~~~~~~~~~
The field is compared to 1. the values of the selection (first part of
each selection tuple) and 2. all translations of the selection label
found in the database.
If one of these is matched, the corresponding value is set on the
field.
Otherwise an error is generated.
The same process applies to both list-type and function-type selection
fields.
Many to One field
~~~~~~~~~~~~~~~~~
If the specified field is the relational field itself (``m2o``), the
value is used in a ``name_search``. The first record returned by
``name_search`` is used as the field's value.
If ``name_search`` finds no value, an error is generated. If
``name_search`` finds multiple value, a warning is generated to warn
the user of ``name_search`` collisions.
If the specified field is a :ref:`xid` (``m2o/id``), the
corresponding record it looked up in the database and used as the
field's value. If no record is found matching the provided external
ID, an error is generated.
If the specified field is a :ref:`dbid` (``m2o/.id``), the process is
the same as for external ids (on database identifiers instead of
external ones).
Many to Many field
~~~~~~~~~~~~~~~~~~
The field's value is interpreted as a comma-separated list of names,
external ids or database ids. For each one, the process previously
used for the many to one field is applied.
One to Many field
~~~~~~~~~~~~~~~~~
For each o2m record extracted, if the record has a ``name``,
:ref:`xid` or :ref:`dbid` the :ref:`dbid` is looked up and checked
through the same process as for m2o fields.
If a :ref:`dbid` was found, a LINK_TO command is emmitted, followed by
an UPDATE with the non-db values for the relational field.
Otherwise a CREATE command is emmitted.
Date fields
~~~~~~~~~~~
The value's format is checked against
:data:`~openerp.tools.misc.DEFAULT_SERVER_DATE_FORMAT`, an error is
generated if it does not match the specified format.
Datetime fields
~~~~~~~~~~~~~~~
The value's format is checked against
:data:`~openerp.tools.misc.DEFAULT_SERVER_DATETIME_FORMAT`, an error
is generated if it does not match.
The value is then interpreted as a datetime in the user's
timezone. The timezone is specified thus:
* If the import ``context`` contains a ``tz`` key with a valid
timezone name, this is the timezone of the datetime.
* Otherwise if the user performing the import has a ``tz`` attribute
set to a valid timezone name, this is the timezone of the datetime.
* Otherwise interpret the datetime as being in the ``UTC`` timezone.
Create/Write
++++++++++++
If the conversion was successful, the converted record is then saved
to the database via ``(ir.model.data)._update``.
Error handling
++++++++++++++
The import process will only catch 2 types of exceptions to convert
them to error messages: ``ValueError`` during the conversion process,
and sub-exceptions of ``psycopg2.Error`` during the create/write
process.
The import process uses savepoint to:
* protect the overall transaction from the failure of each ``_update``
call, if an ``_update`` call fails the savepoint is rolled back and
the import process keeps going in order to obtain as many error
messages as possible during each run.
* protect the import as a whole, a savepoint is created before
starting and if any error is generated that savepoint is rolled
back. The rest of the transaction (anything not within the import
process) will be left untouched.
.. _import-message:
.. _import-messages:
Messages
--------
A message is a dictionary with 5 mandatory keys and one optional key:
``type``
the type of message, either ``warning`` or ``error``. Any
``error`` message indicates the import failed and was rolled back.
``message``
the message's actual text, which should be translated and can be
shown to the user directly
``rows``
a dict with 2 keys ``from`` and ``to``, indicates the range of
rows in ``data`` which generated the message
``record``
a single integer, for warnings the index of the record which
generated the message (can be obtained from a non-false ``ids``
result)
``field``
the name of the (logical) OpenERP field for which the error or
warning was generated
``moreinfo`` (optional)
A string, a list or a dict, leading to more information about the
warning.
* If ``moreinfo`` is a string, it is a supplementary warnings
message which should be hidden by default
* If ``moreinfo`` is a list, it provides a number of possible or
alternative values for the string
* If ``moreinfo`` is a dict, it is an OpenERP action descriptor
which can be executed to get more information about the issues
with the field. If present, the ``help`` key serves as a label
for the action (e.g. the text of the link).

View File

@ -5,6 +5,8 @@ OpenERP Server
.. toctree::
:maxdepth: 1
import
module-versioning
test-framework
Changed in 7.0
@ -16,4 +18,4 @@ Changed in 7.0
api/user_img_specs
api/need_action_specs
api/font_style
api/field_level_acl
api/field_level_acl

69
doc/module-versioning.rst Normal file
View File

@ -0,0 +1,69 @@
.. _module_versioning:
Module versioning
=================
OpenERP has been developed with modularity in mind: OpenERP should be flexible
enough so it can be adopted by any enterprise, of any size and in any market.
By using modules one can adapt OpenERP in many different ways: from completely
different business to smaller, company-specific changes.
As modules (and the core framework itself) evolve, it is necessary to identify
modules by their version so a sensible set of modules can be chosen for a
particular deployment.
There are two trends re-inforcing each others. Firstly OpenERP s.a. will work
on a smaller number of official modules and let the community handles more and
more development. Secondly all those modules will receive greater exposure on
`OpenERP Apps`_ where each module will be owned by a single author.
The solution advocated by OpenERP is straightforward and aims to avoid the
`dependency hell`_. In particular we don't want to deal with versioned
dependencies (i.e. a module depends on a specific version of another module).
For each stable release (e.g. OpenERP 6.1, or OpenERP 7.0) or, said in other
words, for each major version, there is only one (major) version of each
module. The minor version is bumped for bug fixes but is otherwise not
important here.
Making variations on some business needs must be done by creating new modules,
possibly depending on previously written modules. If depending on a module
proves too difficult, you can write a new module (not a new _version_). But
generally Python is flexible enough that depending on the existing module
should work.
For the next major version, refactoring modules can be done and similar
functionalities can be brought together in a better module.
.. _`OpenERP Apps`: http://apps.openerp.com/
.. _`dependency hell`: http://en.wikipedia.org/wiki/Dependency_hell
Example
-------
Whenever a new module is developed or must evolve, the above versioning policy
should be respected.
A particular concern one can face when deploying OpenERP to multiple customers
is now detailed as an example to provide a few guidelines. The hypotethical
situation is as follow. A partner needs to create a new module, called ``M``, for a
customer. Shortly after (but still within a typical OpenERP release cycle, so
there is no chance to bump the version number except for bug fixes), ``M`` must be
adapted for another customer.
The correct way to handle it is to leave ``M`` as it is and create a new module,
say called ``X``, that depends on ``M`` for the second customer. Both modules have the
same version (i.e. 6.1 or 7.0, targeting the corresponding OpenERP version).
If leaving ``M`` as it is is not possible (which should be very rare as Python
is incredibly flexible), the ``X`` module for the new customer can depend on a
new module ``N``, derived from ``M``. At this point, ``N`` is a new,
differently named module. It is not a ``M`` module with a increased version
number. Your goal should be to make ``N`` as close as possible to ``M``, so
that at the next version of OpenERP, the first customer can switch to ``N``
instead of ``M`` (or include the changes in a new version of ``M``). At that
point you are in the ideal situation: you have a module ``N`` for one customer,
and a module ``X`` depending on N to account for the differences between those
two customers.

13
doc/o2m.txt Normal file
View File

@ -0,0 +1,13 @@
+-------+-------+===========+===========+-------+-------+
|value01|value02‖o2m/value01|o2m/value02‖value03|value04|
+-------+-------+-----------+-----------+-------+-------+
| | ‖o2m/value11|o2m/value12‖ | |
+-------+-------+-----------+-----------+-------+-------+
| | ‖o2m/value21|o2m/value22‖ | |
+-------+-------+===========+===========+-------+-------+
|value11|value12‖o2m/value01|o2m/value02‖value13|value14|
+-------+-------+-----------+-----------+-------+-------+
| | ‖o2m/value11|o2m/value12‖ | |
+-------+-------+===========+===========+-------+-------+
|value21|value22| | |value23|value24|
+-------+-------+-----------+-----------+-------+-------+

View File

@ -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:

View File

@ -30,7 +30,6 @@ GNU Public Licence.
(c) 2003-TODAY, Fabien Pinckaers - OpenERP SA
"""
import imp
import logging
import os
import signal
@ -92,9 +91,11 @@ def setup_pid_file():
def preload_registry(dbname):
""" Preload a registry, and start the cron."""
try:
config = openerp.tools.config
update_module = True if config['init'] or config['update'] else False
db, registry = openerp.pooler.get_db_and_pool(
dbname, update_module=update_module, pooljobs=False, force_demo=not config['without_demo'])
dbname, update_module=update_module, pooljobs=False,
force_demo=not config['without_demo'])
# jobs will start to be processed later, when openerp.cron.start_master_thread() is called by openerp.service.start_services()
registry.schedule_cron_jobs()
@ -109,13 +110,12 @@ def run_test_file(dbname, test_file):
dbname, update_module=update_module, pooljobs=False, force_demo=not config['without_demo'])
cr = db.cursor()
_logger.info('loading test file %s', test_file)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), {}, 'test', True)
openerp.tools.convert_yaml_import(cr, 'base', file(test_file), 'test', {}, 'test', True)
cr.rollback()
cr.close()
except Exception:
_logger.exception('Failed to initialize database `%s` and run test file `%s`.', dbname, test_file)
def export_translation():
config = openerp.tools.config
dbname = config['db_name']
@ -207,9 +207,10 @@ def quit_on_signals():
try:
while quit_signals_received == 0:
time.sleep(60)
except KeyboardInterrupt, e:
except KeyboardInterrupt:
pass
config = openerp.tools.config
if config['pidfile']:
os.unlink(config['pidfile'])
@ -222,8 +223,7 @@ def configure_babel_localedata_path():
import babel
babel.localedata._dirname = os.path.join(os.path.dirname(sys.executable), 'localedata')
if __name__ == "__main__":
def main():
os.environ["TZ"] = "UTC"
check_root_user()
@ -252,20 +252,13 @@ if __name__ == "__main__":
sys.exit(0)
if not config["stop_after_init"]:
setup_pid_file()
# Some module register themselves when they are loaded so we need the
# services to be running before loading any registry.
openerp.service.start_services()
for m in openerp.conf.server_wide_modules:
try:
openerp.modules.module.load_openerp_module(m)
except Exception:
msg = ''
if m == 'web':
msg = """
The `web` module is provided by the addons found in the `openerp-web` project.
Maybe you forgot to add those addons in your addons_path configuration."""
_logger.exception('Failed to load server-wide module `%s`.%s', m, msg)
if config['workers']:
openerp.service.start_services_workers()
else:
openerp.service.start_services()
if config['db_name']:
for dbname in config['db_name'].split(','):
@ -274,8 +267,10 @@ Maybe you forgot to add those addons in your addons_path configuration."""
if config["stop_after_init"]:
sys.exit(0)
setup_pid_file()
_logger.info('OpenERP server is running, waiting for connections...')
quit_on_signals()
if __name__ == "__main__":
main()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

54
openerp-wsgi.py Normal file
View File

@ -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:

View File

@ -32,18 +32,25 @@ import modules
import netsvc
import osv
import pooler
import pychart
import release
import report
import run_tests
import service
import sql_db
import test
import tiny_socket
import tools
import wizard
import workflow
import wsgi
# backward compatilbility
# TODO: This is for the web addons, can be removed later.
wsgi = service
wsgi.register_wsgi_handler = wsgi.wsgi_server.register_wsgi_handler
# Is the server running in multi-process mode (e.g. behind Gunicorn).
# If this is True, the processes have to communicate some events,
# e.g. database update or cache invalidation. Each process has also
# its own copy of the data structure and we don't need to care about
# locks between threads.
multi_process = False
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -22,7 +22,6 @@
import ir
import module
import res
import publisher_warranty
import report
import test

View File

@ -25,26 +25,40 @@
'name': 'Base',
'version': '1.3',
'category': 'Hidden',
'description': """The kernel of OpenERP, needed for all installation.""",
'description': """
The kernel of OpenERP, needed for all installation.
===================================================
""",
'author': 'OpenERP SA',
'maintainer': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': [],
'init_xml': [
'data': [
'base_data.xml',
'currency_data.xml',
'res/res_country_data.xml',
'security/base_security.xml',
'base_menu.xml',
'res/res_security.xml',
'res/res_config.xml',
'data/res.country.state.csv'
],
'update_xml': [
'data/res.country.state.csv',
'ir/wizard/wizard_menu_view.xml',
'ir/ir.xml',
'ir/ir_filters.xml',
'ir/ir_actions.xml',
'ir/ir_attachment_view.xml',
'ir/ir_config_parameter_view.xml',
'ir/workflow/workflow_view.xml',
'ir/ir_cron_view.xml',
'ir/ir_filters.xml',
'ir/ir_mail_server_view.xml',
'ir/ir_model_view.xml',
'ir/ir_rule_view.xml',
'ir/ir_sequence_view.xml',
'ir/ir_translation_view.xml',
'ir/ir_ui_menu_view.xml',
'ir/ir_ui_view_view.xml',
'ir/ir_values_view.xml',
'ir/osv_memory_autovacuum.xml',
'ir/report/ir_report.xml',
'ir/workflow/workflow_view.xml',
'module/module_view.xml',
'module/module_data.xml',
'module/module_report.xml',
@ -70,14 +84,12 @@
'res/res_partner_data.xml',
'res/ir_property_view.xml',
'security/base_security.xml',
'publisher_warranty/publisher_warranty_view.xml',
'security/ir.model.access.csv',
'security/ir.model.access-1.csv', # res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
'res/res_widget_view.xml',
'res/res_widget_data.xml',
'publisher_warranty/publisher_warranty_data.xml',
],
'demo_xml': [
'demo': [
'base_demo.xml',
'res/res_partner_demo.xml',
'res/res_partner_demo.yml',
@ -97,7 +109,6 @@
],
'installable': True,
'auto_install': True,
'certificate': '0076807797149',
'css': ['static/src/css/modules.css'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -294,7 +294,6 @@ CREATE TABLE ir_module_module (
shortdesc character varying(256),
complexity character varying(32),
category_id integer REFERENCES ir_module_category ON DELETE SET NULL,
certificate character varying(64),
description text,
application boolean default False,
demo boolean default False,

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="partner_demo" model="res.partner">
<field name="name">Demo User</field>
<field name="company_id" ref="main_company"/>
<field name="customer" eval="False"/>
</record>
<record id="user_demo" model="res.users">
<field name="partner_id" ref="base.partner_demo"/>
<field name="login">demo</field>
<field name="password">demo</field>
<field name="name">Demo User</field>
<field name="signature">Mr Demo</field>
<field name="company_id" ref="main_company"/>
<field name="groups_id" eval="[(6,0,[ref('base.group_user')])]"/>
</record>
<!-- new rate for demo transactions in multi currency -->
<record id="rateUSDbis" model="res.currency.rate">
<field name="rate">1.5289</field>
<field name="currency_id" ref="USD"/>
<field eval="time.strftime('%Y-06-06')" name="name"/>
</record>
</data>
</openerp>

View File

@ -29,5 +29,17 @@
<menuitem id="menu_ir_property" name="Parameters" parent="menu_custom" sequence="24"/>
<menuitem id="next_id_4" name="Low Level Objects" parent="menu_custom" sequence="30"/>
<record id="action_client_base_menu" model="ir.actions.client">
<field name="name">Open Settings Menu</field>
<field name="tag">reload</field>
<field name="params" eval="{'menu_id': ref('base.menu_administration')}"/>
</record>
<record id="open_menu" model="ir.actions.todo">
<field name="action_id" ref="action_client_base_menu"/>
<field name="type">automatic</field>
<field name="sequence">100</field>
<field name="state">done</field>
</record>
</data>
</openerp>

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:36+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:57+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:36+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:57+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:57+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-19 10:06+0000\n"
"Last-Translator: Abdulwhhab A. Al-Shehri <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:46+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -34,7 +34,7 @@ msgstr "الوقت و التاريخ"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "دمج المهام عن طريق الإيميل"
#. module: base
#: code:addons/fields.py:582

View File

@ -727,7 +727,7 @@ msgstr ""
#: help:ir.actions.todo,type:0
msgid "Manual: Launched manually.\n"
"Automatic: Runs whenever the system is reconfigured.\n"
"Launch Manually Once: after hacing been launched manually, it sets automatically to Done."
"Launch Manually Once: after having been launched manually, it sets automatically to Done."
msgstr ""
#. module: base
@ -1317,11 +1317,6 @@ msgstr ""
msgid "Create _Menu"
msgstr ""
#. module: base
#: field:res.payterm,name:0
msgid "Payment Term (short name)"
msgstr ""
#. module: base
#: model:ir.model,name:base.model_res_bank
#: view:res.bank:0
@ -2155,7 +2150,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Portugese (BR) / Português (BR)"
msgid "Portuguese (BR) / Português (BR)"
msgstr ""
#. module: base
@ -3002,7 +2997,7 @@ msgstr ""
#. module: base
#: selection:base.language.install,lang:0
msgid "Portugese / Português"
msgid "Portuguese / Português"
msgstr ""
#. module: base
@ -3206,11 +3201,6 @@ msgstr ""
msgid "Error ! You cannot create recursive associated members."
msgstr ""
#. module: base
#: view:res.payterm:0
msgid "Payment Term"
msgstr ""
#. module: base
#: selection:res.lang,direction:0
msgid "Right-to-Left"
@ -3383,7 +3373,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -3430,7 +3420,7 @@ msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_sir
msgid "M."
msgid "Sir"
msgstr ""
#. module: base
@ -5037,7 +5027,7 @@ msgstr ""
#. module: base
#: help:res.country.state,code:0
msgid "The state code in three chars.\n"
msgid "The state code in max. three chars."
""
msgstr ""
@ -9064,7 +9054,7 @@ msgstr ""
#. module: base
#: code:addons/base/res/res_company.py:157
#, python-format
msgid "VAT: "
msgid "TIN: "
msgstr ""
#. module: base
@ -10134,7 +10124,7 @@ msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_miss
msgid "Mss"
msgid "Miss"
msgstr ""
#. module: base
@ -10249,7 +10239,7 @@ msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_madam
msgid "Ms."
msgid "Mrs."
msgstr ""
#. module: base
@ -11306,6 +11296,35 @@ msgstr ""
msgid "Madam"
msgstr ""
#. module: base
#: model:res.partner.title,name:base.res_partner_title_mister
msgid "Mister"
msgstr ""
#. module: base
#: model:res.partner.title,name:base.res_partner_title_doctor
msgid "Doctor"
msgstr ""
#. module: base
#: model:res.partner.title,name:base.res_partner_title_prof
msgid "Professor"
msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_mister
msgid "Mr."
msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_doctor
msgid "Dr."
msgstr ""
#. module: base
#: model:res.partner.title,shortcut:base.res_partner_title_prof
msgid "Prof."
msgstr ""
#. module: base
#: model:res.country,name:base.ee
msgid "Estonia"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:44+0000\n"
"PO-Revision-Date: 2012-08-20 15:49+0000\n"
"Last-Translator: Boris <boris.t.ivanov@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:24+0000\n"
"PO-Revision-Date: 2012-08-20 15:44+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-04-05 13:24+0000\n"
"PO-Revision-Date: 2012-08-20 15:44+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
"Language-Team: openerp-i18n-czech <openerp-i18n-czech@lists.launchpad.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
"X-Poedit-Language: Czech\n"
#. module: base
@ -25,7 +25,7 @@ msgstr "Svatá Helena"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Other Configuration"
msgstr "Ostatní nastavení"
msgstr "Další nastavení"
#. module: base
#: selection:ir.property,type:0
@ -35,7 +35,7 @@ msgstr "Datum a čas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Integrace úkolů a e-mailů"
#. module: base
#: code:addons/fields.py:582
@ -126,7 +126,7 @@ msgstr ""
#. module: base
#: view:ir.module.module:0
msgid "Created Views"
msgstr "Vytvořit pohledy"
msgstr "Vytvořené náhledy"
#. module: base
#: code:addons/base/ir/ir_model.py:532

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2011-09-24 16:40+0000\n"
"Last-Translator: John Mertens Pallesen <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:44+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Danish <da@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

File diff suppressed because it is too large Load Diff

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:03+0000\n"
"PO-Revision-Date: 2012-08-20 15:34+0000\n"
"Last-Translator: Dimitris Andavoglou <dimitrisand@gmail.com>\n"
"Language-Team: nls@hellug.gr <nls@hellug.gr>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:00+0000\n"
"X-Generator: Launchpad (build 16165)\n"
"X-Poedit-Country: GREECE\n"
"X-Poedit-Language: Greek\n"
"X-Poedit-SourceCharset: utf-8\n"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-02-24 16:14+0000\n"
"Last-Translator: John Bradshaw <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:47+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -35,7 +35,7 @@ msgstr "DateTime"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Tasks-Mail Integration"
#. module: base
#: code:addons/fields.py:582
@ -72,6 +72,21 @@ msgid ""
" * Graph of My Remaining Hours by Project\n"
" "
msgstr ""
"\n"
"The Project management module tracks multi-level projects, tasks, work done "
"on tasks, etc.\n"
"============================================================================="
"=========\n"
"\n"
"It is able to render plans, order tasks, etc.\n"
"\n"
"Dashboard for project members that includes:\n"
"--------------------------------------------\n"
" * List of my open tasks\n"
" * List of my delegated tasks\n"
" * Graph of My Projects: Planned vs Total Hours\n"
" * Graph of My Remaining Hours by Project\n"
" "
#. module: base
#: field:base.language.import,code:0
@ -1817,6 +1832,22 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"This module adds generic sharing tools to your current OpenERP database.\n"
"========================================================================\n"
"\n"
"It specifically adds a 'share' button that is available in the Web client "
"to\n"
"share any kind of OpenERP data with colleagues, customers, friends, etc.\n"
"\n"
"The system will work by creating new users and groups on the fly, and by\n"
"combining the appropriate access rights and ir.rules to ensure that the\n"
"shared users only have access to the data that has been shared with them.\n"
"\n"
"This is extremely useful for collaborative work, knowledge sharing,\n"
"synchronisation with other companies, etc.\n"
"\n"
" "
#. module: base
#: field:res.currency,accuracy:0
@ -1946,6 +1977,8 @@ msgid ""
"simplified payment mode encoding, automatic picking lists generation and "
"more."
msgstr ""
"Get the most out of your points of sales with fast sale encoding, simplified "
"payment mode encoding, automatic picking lists generation and more."
#. module: base
#: model:res.country,name:base.mv
@ -1992,7 +2025,7 @@ msgstr "Days"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_rpc
msgid "OpenERP Web web"
msgstr ""
msgstr "OpenERP Web web"
#. module: base
#: model:ir.module.module,shortdesc:base.module_html_view
@ -3277,12 +3310,26 @@ msgid ""
"since it's the same which has been renamed.\n"
" "
msgstr ""
"\n"
"This module lets users perform segmentation within partners.\n"
"=================================================================\n"
"\n"
"It improves the profiles criteria from the earlier segmentation module. "
"Thanks to the new concept of questionnaire. You can now regroup questions "
"into a questionnaire and directly use it on a partner.\n"
"\n"
"It also has been merged with the earlier CRM & SRM segmentation tool because "
"they were overlapping.\n"
"\n"
" * Note: this module is not compatible with the module segmentation, "
"since it's the same which has been renamed.\n"
" "
#. module: base
#: code:addons/report_sxw.py:434
#, python-format
msgid "Unknown report type: %s"
msgstr ""
msgstr "Unknown report type: %s"
#. module: base
#: code:addons/base/ir/ir_model.py:282
@ -3397,11 +3444,34 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" \n"
"Belgian localisation for in- and outgoing invoices (prereq to "
"account_coda):\n"
" - Rename 'reference' field labels to 'Communication'\n"
" - Add support for Belgian Structured Communication\n"
"\n"
"A Structured Communication can be generated automatically on outgoing "
"invoices according to the following algorithms:\n"
" 1) Random : +++RRR/RRRR/RRRDD+++\n"
" R..R = Random Digits, DD = Check Digits\n"
" 2) Date : +++DOY/YEAR/SSSDD+++\n"
" DOY = Day of the Year, SSS = Sequence Number, DD = Check Digits)\n"
" 3) Customer Reference +++RRR/RRRR/SSSDDD+++\n"
" R..R = Customer Reference without non-numeric characters, SSS = "
"Sequence Number, DD = Check Digits) \n"
" \n"
"The preferred type of Structured Communication and associated Algorithm can "
"be specified on the Partner records. \n"
"A 'random' Structured Communication will generated if no algorithm is "
"specified on the Partner record. \n"
"\n"
" "
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
msgid "Wiki: Quality Manual"
msgstr ""
msgstr "Wiki: Quality Manual"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -3429,7 +3499,7 @@ msgstr "HR sector"
#. module: base
#: model:ir.ui.menu,name:base.menu_dashboard_admin
msgid "Administration Dashboard"
msgstr ""
msgstr "Administration Dashboard"
#. module: base
#: code:addons/orm.py:4408
@ -3489,7 +3559,7 @@ msgstr ""
#. module: base
#: model:res.groups,name:base.group_survey_user
msgid "Survey / User"
msgstr ""
msgstr "Survey / User"
#. module: base
#: view:ir.module.module:0
@ -3510,17 +3580,17 @@ msgstr "Web Icon File (hover)"
#. module: base
#: model:ir.module.module,description:base.module_web_diagram
msgid "Openerp web Diagram view"
msgstr ""
msgstr "Openerp web Diagram view"
#. module: base
#: model:res.groups,name:base.group_hr_user
msgid "HR Officer"
msgstr ""
msgstr "HR Officer"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
msgid "Employee Contracts"
msgstr ""
msgstr "Employee Contracts"
#. module: base
#: model:ir.module.module,description:base.module_wiki_faq
@ -3533,6 +3603,13 @@ msgid ""
"for Wiki FAQ.\n"
" "
msgstr ""
"\n"
"This module provides a Wiki FAQ Template.\n"
"=========================================\n"
"\n"
"It provides demo data, thereby creating a Wiki Group and a Wiki Page\n"
"for Wiki FAQ.\n"
" "
#. module: base
#: view:ir.actions.server:0
@ -3573,18 +3650,18 @@ msgstr "Contact Titles"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
msgid "Products Manufacturers"
msgstr ""
msgstr "Products Manufacturers"
#. module: base
#: code:addons/base/ir/ir_mail_server.py:217
#, python-format
msgid "SMTP-over-SSL mode unavailable"
msgstr ""
msgstr "SMTP-over-SSL mode unavailable"
#. module: base
#: model:ir.module.module,shortdesc:base.module_survey
msgid "Survey"
msgstr ""
msgstr "Survey"
#. module: base
#: view:base.language.import:0
@ -3632,7 +3709,7 @@ msgstr "Uruguay"
#. module: base
#: model:ir.module.module,shortdesc:base.module_fetchmail_crm
msgid "eMail Gateway for Leads"
msgstr ""
msgstr "email Gateway for Leads"
#. module: base
#: selection:base.language.install,lang:0
@ -3662,7 +3739,7 @@ msgstr "Fields Mapping"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_dashboard
msgid "web Dashboard"
msgstr ""
msgstr "web Dashboard"
#. module: base
#: model:ir.module.module,description:base.module_sale
@ -3706,6 +3783,44 @@ msgid ""
" * Graph of Sales by Product's Category in last 90 days\n"
" "
msgstr ""
"\n"
"The base module to manage quotations and sales orders.\n"
"======================================================\n"
"\n"
"Workflow with validation steps:\n"
"-------------------------------\n"
" * Quotation -> Sales order -> Invoice\n"
"\n"
"Invoicing methods:\n"
"------------------\n"
" * Invoice on order (before or after shipping)\n"
" * Invoice on delivery\n"
" * Invoice on timesheets\n"
" * Advance invoice\n"
"\n"
"Partners preferences:\n"
"---------------------\n"
" * shipping\n"
" * invoicing\n"
" * incoterm\n"
"\n"
"Products stocks and prices\n"
"--------------------------\n"
"\n"
"Delivery methods:\n"
"-----------------\n"
" * all at once\n"
" * multi-parcel\n"
" * delivery costs\n"
"\n"
"Dashboard for Sales Manager that includes:\n"
"------------------------------------------\n"
" * Quotations\n"
" * Sales by Month\n"
" * Graph of Sales by Salesperson in last 90 days\n"
" * Graph of Sales per Customer in last 90 days\n"
" * Graph of Sales by Product's Category in last 90 days\n"
" "
#. module: base
#: selection:base.language.install,lang:0
@ -3729,6 +3844,14 @@ msgid ""
"Canadian accounting charts and localizations.\n"
" "
msgstr ""
"\n"
"This is the module to manage the English and French - Canadian accounting "
"chart in OpenERP.\n"
"============================================================================="
"==============\n"
"\n"
"Canadian accounting charts and localisations.\n"
" "
#. module: base
#: view:base.module.import:0
@ -3761,6 +3884,13 @@ msgid ""
" * the Tax Code Chart for Luxembourg\n"
" * the main taxes used in Luxembourg"
msgstr ""
"\n"
"This is the base module to manage the accounting chart for Luxembourg.\n"
"======================================================================\n"
"\n"
" * the KLUWER Chart of Accounts,\n"
" * the Tax Code Chart for Luxembourg\n"
" * the main taxes used in Luxembourg"
#. module: base
#: field:ir.module.module,demo:0
@ -3785,6 +3915,19 @@ msgid ""
"module 'share'.\n"
" "
msgstr ""
"\n"
"This module defines 'portals' to customise access to your OpenERP database\n"
"for external users.\n"
"\n"
"A portal defines customised user menu and access rights for a group of "
"users\n"
"(the ones associated to that portal). It also associates user groups to "
"the\n"
"portal users (adding a group in the portal automatically adds it to the "
"portal\n"
"users, etc). That feature is very handy when used in combination with the\n"
"module 'share'.\n"
" "
#. module: base
#: selection:res.request,priority:0
@ -3812,7 +3955,7 @@ msgstr "Instances"
#. module: base
#: help:ir.mail_server,smtp_host:0
msgid "Hostname or IP of SMTP server"
msgstr ""
msgstr "Hostname or IP of SMTP server"
#. module: base
#: selection:base.language.install,lang:0
@ -3842,12 +3985,12 @@ msgstr "Separator Format"
#. module: base
#: constraint:res.partner.bank:0
msgid "The RIB and/or IBAN is not valid"
msgstr ""
msgstr "The RIB and/or IBAN is not valid"
#. module: base
#: model:ir.module.module,shortdesc:base.module_report_webkit
msgid "Webkit Report Engine"
msgstr ""
msgstr "Webkit Report Engine"
#. module: base
#: selection:publisher_warranty.contract,state:0
@ -3874,13 +4017,13 @@ msgstr "Mayotte"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_todo
msgid "Tasks on CRM"
msgstr ""
msgstr "Tasks on CRM"
#. module: base
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
#: view:res.company:0
msgid "Accounting"
msgstr ""
msgstr "Accounting"
#. module: base
#: model:ir.module.module,description:base.module_account_payment
@ -3895,11 +4038,20 @@ msgid ""
"* a basic mechanism to easily plug various automated payment.\n"
" "
msgstr ""
"\n"
"Module to manage invoice payment.\n"
"=================================\n"
"\n"
"This module provides :\n"
"----------------------\n"
"* A more efficient way to manage invoice payment.\n"
"* A basic mechanism to easily plug various automated payment.\n"
" "
#. module: base
#: view:ir.rule:0
msgid "Interaction between rules"
msgstr ""
msgstr "Interaction between rules"
#. module: base
#: model:ir.module.module,description:base.module_account_invoice_layout
@ -3921,11 +4073,27 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"This module provides some features to improve the layout of the invoices.\n"
"=========================================================================\n"
"\n"
"It gives you the possibility to:\n"
"--------------------------------\n"
" * Order all the lines of an invoice\n"
" * Add titles, comment lines, sub total lines\n"
" * Draw horizontal lines and put page breaks\n"
"\n"
"Moreover, there is one option which allows you to print all the selected "
"invoices with a given special message at the bottom. This feature can be "
"very useful for printing your invoices with end-of-year wishes, special "
"punctual conditions.\n"
"\n"
" "
#. module: base
#: constraint:res.partner:0
msgid "Error ! You cannot create recursive associated members."
msgstr ""
msgstr "Error ! You cannot create recursive associated members."
#. module: base
#: view:res.payterm:0
@ -3958,6 +4126,9 @@ msgid ""
"or data in your OpenERP instance. To install some modules, click on the "
"button \"Install\" from the form view and then click on \"Start Upgrade\"."
msgstr ""
"You can install new modules to activate new features, menu, reports or data "
"in your OpenERP instance. To install modules, click on the button "
"\"Install\" from the form view and then click on \"Start Upgrade\"."
#. module: base
#: model:ir.actions.act_window,name:base.ir_cron_act
@ -3973,6 +4144,9 @@ msgid ""
" OpenERP Web chat module.\n"
" "
msgstr ""
"\n"
" OpenERP Web chat module.\n"
" "
#. module: base
#: field:res.partner.address,title:0
@ -3995,12 +4169,12 @@ msgstr "Recursivity detected."
#. module: base
#: model:ir.module.module,shortdesc:base.module_report_webkit_sample
msgid "Webkit Report Samples"
msgstr ""
msgstr "Webkit Report Samples"
#. module: base
#: model:ir.module.module,shortdesc:base.module_point_of_sale
msgid "Point Of Sale"
msgstr ""
msgstr "Point Of Sale"
#. module: base
#: code:addons/base/module/module.py:302
@ -4036,7 +4210,7 @@ msgstr ""
#. module: base
#: selection:ir.sequence,implementation:0
msgid "Standard"
msgstr ""
msgstr "Standard"
#. module: base
#: model:ir.model,name:base.model_maintenance_contract
@ -4065,11 +4239,13 @@ msgid ""
"Invalid value for reference field \"%s.%s\" (last part must be a non-zero "
"integer): \"%s\""
msgstr ""
"Invalid value for reference field \"%s.%s\" (last part must be a non-zero "
"integer): \"%s\""
#. module: base
#: model:ir.module.category,name:base.module_category_human_resources
msgid "Human Resources"
msgstr ""
msgstr "Human Resources"
#. module: base
#: model:ir.actions.act_window,name:base.action_country
@ -4085,7 +4261,7 @@ msgstr "RML (deprecated - use Report)"
#. module: base
#: sql_constraint:ir.translation:0
msgid "Language code of translation item must be among known languages"
msgstr ""
msgstr "Language code of translation item must be among known languages"
#. module: base
#: view:ir.rule:0
@ -4109,6 +4285,14 @@ msgid ""
"templates to target objects.\n"
" "
msgstr ""
"\n"
" * Multi language support for Chart of Accounts, Taxes, Tax Codes , "
"Journals, Accounting Templates,\n"
" Analytic Chart of Accounts and Analytic Journals.\n"
" * Setup wizard changes\n"
" - Copy translations for COA, Tax, Tax Code and Fiscal Position from "
"templates to target objects.\n"
" "
#. module: base
#: view:ir.actions.todo:0
@ -4129,7 +4313,7 @@ msgstr "VAT"
#. module: base
#: field:res.users,new_password:0
msgid "Set password"
msgstr ""
msgstr "Set password"
#. module: base
#: view:res.lang:0
@ -4223,6 +4407,8 @@ msgid ""
"la moneda Lempira. -- Adds accounting chart for Honduras. It also includes "
"taxes and the Lempira currency"
msgstr ""
"Adds accounting chart for Honduras. It also includes taxes and the Lempira "
"currency"
#. module: base
#: selection:ir.actions.act_window,view_type:0
@ -4243,6 +4429,10 @@ msgid ""
"Italian accounting chart and localization.\n"
" "
msgstr ""
"\n"
"Italian accounting chart and localization.\n"
"================================================\n"
" "
#. module: base
#: model:res.country,name:base.me
@ -4252,12 +4442,12 @@ msgstr "Montenegro"
#. module: base
#: model:ir.module.module,shortdesc:base.module_document_ics
msgid "iCal Support"
msgstr ""
msgstr "iCal Support"
#. module: base
#: model:ir.module.module,shortdesc:base.module_fetchmail
msgid "Email Gateway"
msgstr ""
msgstr "Email Gateway"
#. module: base
#: code:addons/base/ir/ir_mail_server.py:439
@ -4266,6 +4456,8 @@ msgid ""
"Mail delivery failed via SMTP server '%s'.\n"
"%s: %s"
msgstr ""
"Mail delivery failed via SMTP server '%s'.\n"
"%s: %s"
#. module: base
#: view:ir.cron:0
@ -4308,6 +4500,16 @@ msgid ""
"user rights to Demo user.\n"
" "
msgstr ""
"\n"
"Accounting Access Rights.\n"
"=========================\n"
"\n"
"This module gives the admin user access to all the accounting features\n"
"such as journal items and the chart of accounts.\n"
"\n"
"It assigns manager and user access rights to the Administrator, and only\n"
"user rights to Demo user.\n"
" "
#. module: base
#: selection:ir.module.module,state:0
@ -4333,12 +4535,12 @@ msgstr "Liechtenstein"
#. module: base
#: model:ir.module.module,description:base.module_web_rpc
msgid "Openerp web web"
msgstr ""
msgstr "Openerp web web"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_issue_sheet
msgid "Timesheet on Issues"
msgstr ""
msgstr "Timesheet on Issues"
#. module: base
#: model:res.partner.title,name:base.res_partner_title_ltd
@ -4359,6 +4561,16 @@ msgid ""
" * Cheque Register\n"
" "
msgstr ""
"\n"
"Account Voucher module includes all the basic requirements of Voucher "
"Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc.\n"
"============================================================================="
"=======================================================\n"
"\n"
" * Voucher Entry\n"
" * Voucher Receipt\n"
" * Cheque Register\n"
" "
#. module: base
#: field:res.partner,ean13:0
@ -4379,7 +4591,7 @@ msgstr "Portugal"
#. module: base
#: model:ir.module.module,shortdesc:base.module_share
msgid "Share any Document"
msgstr ""
msgstr "Share any Document"
#. module: base
#: field:ir.module.module,certificate:0
@ -4425,11 +4637,41 @@ msgid ""
"\n"
"\n"
msgstr ""
"\n"
"This improves OpenERP multi-currency handling in analytic accountiong, "
"overall for multi-company.\n"
"\n"
"This module is based on the work made in all c2c_multicost* available on the "
"v5.0 stable version and\n"
"allow you to share analytic account between company (even if currency "
"differs in each one).\n"
"\n"
"What has been done here:\n"
"\n"
" * Adapt the owner of analytic line (= to company that own the general "
"account associated with en analytic line)\n"
" * Add multi-currency on analytic lines (similar to financial accounting)\n"
" * Correct all \"costs\" indicators into analytic account to base them on "
"the right currency (owner's company)\n"
" * By default, nothing change for single company implementation.\n"
"\n"
"As a result, we can now really share the same analytic account between "
"companies that don't have the same \n"
"currency. This setup becomes True, Enjoy !\n"
"\n"
"- Company A : EUR\n"
"- Company B : CHF\n"
"\n"
"- Analytic Account A : USD, owned by Company A\n"
" - Analytic Account B : CHF, owned by Company A\n"
" - Analytic Account C : EUR, owned by Company B\n"
"\n"
"\n"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_it
msgid "Italy - Accounting"
msgstr ""
msgstr "Italy - Accounting"
#. module: base
#: field:ir.actions.act_window,help:0
@ -4448,6 +4690,9 @@ msgid ""
"its dependencies are satisfied. If the module has no dependency, it is "
"always installed."
msgstr ""
"An auto-installable module is automatically installed by the system when all "
"its dependencies are satisfied. If the module has no dependency, it is "
"always installed."
#. module: base
#: model:ir.actions.act_window,name:base.res_lang_act_window
@ -4470,6 +4715,16 @@ msgid ""
"automatically new claims based on incoming emails.\n"
" "
msgstr ""
"\n"
"This modules allows you to track your customers/suppliers claims and "
"grievances.\n"
"============================================================================="
"===\n"
"\n"
"It is fully integrated with the email gateway so you can automatically "
"create\n"
"new claims based on incoming emails.\n"
" "
#. module: base
#: selection:workflow.activity,join_mode:0
@ -4480,7 +4735,7 @@ msgstr "Xor"
#. module: base
#: model:ir.module.category,name:base.module_category_localization_account_charts
msgid "Account Charts"
msgstr ""
msgstr "Account Charts"
#. module: base
#: view:res.request:0
@ -4551,6 +4806,22 @@ msgid ""
"anonymization process to recover your previous data.\n"
" "
msgstr ""
"\n"
"This module allows you to anonymise a database.\n"
"===============================================\n"
"\n"
"This module lets you keep your data confidential for a given database.\n"
"This process is useful if you want to use the migration process and protect\n"
"your own or your customers confidential data. The principle is that you "
"run\n"
"an anonymisation tool which will hide your confidential data (they are "
"replaced\n"
"by XXX characters). Then you can send the anonymized database to the "
"migration\n"
"team. Once you get back your migrated database, you restore it and reverse "
"the\n"
"anonymisation process to recover your previous data.\n"
" "
#. module: base
#: help:publisher_warranty.contract,name:0
@ -4559,6 +4830,8 @@ msgid ""
"Your OpenERP Publisher's Warranty Contract unique key, also called serial "
"number."
msgstr ""
"Your OpenERP Publisher's Warranty Contract unique key, also called serial "
"number."
#. module: base
#: model:ir.module.module,description:base.module_base_setup
@ -4573,6 +4846,15 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"This module helps configure the system at the installation of a new "
"database.\n"
"============================================================================="
"===\n"
"\n"
"Shows you a list of applications features to install from.\n"
"\n"
" "
#. module: base
#: field:ir.actions.report.xml,report_sxw_content:0
@ -4583,7 +4865,7 @@ msgstr "SXW content"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_pl
msgid "Poland - Accounting"
msgstr ""
msgstr "Poland - Accounting"
#. module: base
#: view:ir.cron:0
@ -4613,6 +4895,20 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Purchase module is for generating a purchase order for purchase of goods "
"from a supplier.\n"
"============================================================================="
"============\n"
"\n"
"A supplier invoice is created for the particular purchase order.\n"
"\n"
"Dashboard for purchase management that includes:\n"
" * Current Purchase Orders\n"
" * Draft Purchase Orders\n"
" * Graph for quantity and amount per month\n"
"\n"
" "
#. module: base
#: view:ir.model.fields:0
@ -4634,7 +4930,7 @@ msgstr "Summary"
#. module: base
#: model:ir.module.category,name:base.module_category_hidden_dependency
msgid "Dependency"
msgstr ""
msgstr "Dependency"
#. module: base
#: field:multi_company.default,expression:0
@ -4657,6 +4953,8 @@ msgid ""
"When no specific mail server is requested for a mail, the highest priority "
"one is used. Default priority is 10 (smaller number = higher priority)"
msgstr ""
"When no specific mail server is requested for a mail, the highest priority "
"one is used. Default priority is 10 (smaller number = higher priority)"
#. module: base
#: model:ir.module.module,description:base.module_crm_partner_assign
@ -4675,6 +4973,19 @@ msgid ""
"You can also use the geolocalization without using the GPS coordinates.\n"
" "
msgstr ""
"\n"
"This is the module used by OpenERP SA to redirect customers to its partners, "
"based on geolocalisation.\n"
"============================================================================="
"=========================\n"
"\n"
"You can geolocalise your opportunities using this module.\n"
"\n"
"Use geolocalisation when assigning opportunities to partners.\n"
"Determine the GPS coordinates according to the address of the partner.\n"
"The most appropriate partner can be assigned.\n"
"You can also use the geolocalisation without GPS coordinates.\n"
" "
#. module: base
#: help:ir.actions.act_window,help:0
@ -4708,12 +5019,12 @@ msgstr "Trigger Object"
#. module: base
#: sql_constraint:ir.sequence.type:0
msgid "`code` must be unique."
msgstr ""
msgstr "`code` must be unique."
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_expense
msgid "Expenses Management"
msgstr ""
msgstr "Expenses Management"
#. module: base
#: view:workflow.activity:0
@ -4724,7 +5035,7 @@ msgstr "Incoming Transitions"
#. module: base
#: field:ir.values,value_unpickle:0
msgid "Default value or action reference"
msgstr ""
msgstr "Default value or action reference"
#. module: base
#: model:res.country,name:base.sr
@ -4734,7 +5045,7 @@ msgstr "Suriname"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_timesheet
msgid "Bill Time on Tasks"
msgstr ""
msgstr "Bill Time on Tasks"
#. module: base
#: model:ir.module.category,name:base.module_category_marketing
@ -4751,7 +5062,7 @@ msgstr "Bank account"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_gr
msgid "Greece - Accounting"
msgstr ""
msgstr "Greece - Accounting"
#. module: base
#: selection:base.language.install,lang:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-12 08:10+0000\n"
"Last-Translator: German Figueredo <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:29+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -29,7 +29,7 @@ msgstr "Otra configuración"
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
msgstr "FechaHora"
msgstr "Fecha y hora"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
@ -2098,7 +2098,7 @@ msgstr "Modelo archivo adjunto"
#. module: base
#: field:res.partner.bank,footer:0
msgid "Display on Reports"
msgstr ""
msgstr "Mostrar en Informes"
#. module: base
#: model:ir.module.module,description:base.module_l10n_cn
@ -2260,7 +2260,7 @@ msgstr "Finlandia"
#: code:addons/base/res/res_company.py:156
#, python-format
msgid "Website: "
msgstr ""
msgstr "Sitio web: "
#. module: base
#: model:ir.ui.menu,name:base.menu_administration
@ -2279,7 +2279,7 @@ msgstr "Árbol"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_multicurrency
msgid "Multi-Currency in Analytic"
msgstr ""
msgstr "Multi-Moneda en Analitica"
#. module: base
#: view:base.language.export:0
@ -2297,6 +2297,8 @@ msgid ""
"Display this bank account on the footer of printed documents like invoices "
"and sales orders."
msgstr ""
"Mostrar esta cuenta bancaria en el pie de página de los documentos impresos "
"como facturas y órdenes de venta."
#. module: base
#: view:base.language.import:0
@ -2400,12 +2402,12 @@ msgstr ""
#. module: base
#: field:ir.values,action_id:0
msgid "Action (change only)"
msgstr ""
msgstr "Acción (solo cambio)"
#. module: base
#: model:ir.module.module,shortdesc:base.module_subscription
msgid "Recurring Documents"
msgstr ""
msgstr "Documentos Recurrentes"
#. module: base
#: model:res.country,name:base.bs
@ -2444,7 +2446,7 @@ msgstr "Número de módulos actualizados"
#. module: base
#: field:ir.cron,function:0
msgid "Method"
msgstr ""
msgstr "Método"
#. module: base
#: view:res.partner.event:0
@ -2469,7 +2471,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_setup
msgid "Initial Setup Tools"
msgstr ""
msgstr "Herramientas de Configuración Inicial"
#. module: base
#: field:ir.actions.act_window,groups_id:0
@ -2531,7 +2533,7 @@ msgstr "Gestión de widgets de la página inicial"
#. module: base
#: field:res.company,rml_header1:0
msgid "Report Header / Company Slogan"
msgstr ""
msgstr "Encabezado del Informe / Lema de la Empresa"
#. module: base
#: model:res.country,name:base.pl
@ -2585,7 +2587,7 @@ msgstr ""
#. module: base
#: field:ir.mail_server,smtp_debug:0
msgid "Debugging"
msgstr ""
msgstr "Depurando"
#. module: base
#: model:ir.module.module,description:base.module_crm_helpdesk
@ -2696,12 +2698,12 @@ msgstr "Tasa"
#. module: base
#: model:ir.module.module,shortdesc:base.module_idea
msgid "Ideas"
msgstr ""
msgstr "Ideas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_crm
msgid "Opportunity to Quotation"
msgstr ""
msgstr "Oportunidad a Presupuesto"
#. module: base
#: model:ir.module.module,description:base.module_sale_analytic_plans
@ -2728,17 +2730,17 @@ msgstr ""
#. module: base
#: model:ir.actions.report.xml,name:base.report_ir_model_overview
msgid "Model Overview"
msgstr ""
msgstr "Información general del modelo"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_margin
msgid "Margins by Products"
msgstr ""
msgstr "Márgenes por Productos"
#. module: base
#: model:ir.ui.menu,name:base.menu_invoiced
msgid "Invoicing"
msgstr ""
msgstr "Facturar"
#. module: base
#: field:ir.ui.view_sc,name:0
@ -2773,13 +2775,13 @@ msgstr "Importar / Exportar"
#. module: base
#: model:ir.actions.todo.category,name:base.category_tools_customization_config
msgid "Tools / Customization"
msgstr ""
msgstr "Herramientas / Personalización"
#. module: base
#: field:ir.model.data,res_id:0
#: field:ir.values,res_id:0
msgid "Record ID"
msgstr ""
msgstr "ID de registro"
#. module: base
#: field:ir.actions.server,email:0
@ -2865,7 +2867,7 @@ msgstr ""
#: model:res.groups,name:base.group_sale_manager
#: model:res.groups,name:base.group_tool_manager
msgid "Manager"
msgstr ""
msgstr "Responsable"
#. module: base
#: model:ir.ui.menu,name:base.menu_custom
@ -2902,7 +2904,7 @@ msgstr "Eliminar ID's"
#. module: base
#: view:res.groups:0
msgid "Inherited"
msgstr ""
msgstr "Hededado"
#. module: base
#: field:ir.model.fields,serialization_field_id:0
@ -2915,6 +2917,8 @@ msgid ""
"Lets you install various tools to simplify and enhance OpenERP's report "
"creation."
msgstr ""
"Permite instalar varias herramientas para simplificar y mejorar la creación "
"de informes OpenERP."
#. module: base
#: view:res.lang:0
@ -2925,7 +2929,7 @@ msgstr "%y - Año sin el siglo [00,99]."
#: code:addons/base/res/res_company.py:155
#, python-format
msgid "Fax: "
msgstr ""
msgstr "Fax: "
#. module: base
#: model:res.country,name:base.si
@ -2935,7 +2939,7 @@ msgstr "Eslovenia"
#. module: base
#: help:res.currency,name:0
msgid "Currency Code (ISO 4217)"
msgstr ""
msgstr "Código de moneda (ISO 4217)"
#. module: base
#: model:ir.actions.act_window,name:base.res_log_act_window
@ -3135,7 +3139,7 @@ msgstr ""
#: code:addons/report_sxw.py:434
#, python-format
msgid "Unknown report type: %s"
msgstr ""
msgstr "Tipo de informe desconocido: %s"
#. module: base
#: code:addons/base/ir/ir_model.py:282

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -25,17 +25,17 @@ msgstr "Santa Helena"
#. module: base
#: view:ir.actions.report.xml:0
msgid "Other Configuration"
msgstr ""
msgstr "Otra configuración"
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
msgstr ""
msgstr "Fecha y hora"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Integración Tareas-Email"
#. module: base
#: code:addons/fields.py:582
@ -44,6 +44,8 @@ msgid ""
"The second argument of the many2many field %s must be a SQL table !You used "
"%s, which is not a valid SQL table name."
msgstr ""
"¡El segundo argumento del campo many2many %s debe ser una tabla SQL! Has "
"utilizado %s, que no es un nombre de tabla SQL válido."
#. module: base
#: field:ir.ui.view,arch:0
@ -70,6 +72,21 @@ msgid ""
" * Graph of My Remaining Hours by Project\n"
" "
msgstr ""
"\n"
"El módulo de Gestión de Proyectos permite gestionar proyectos con varios "
"niveles, tareas, trabajo realizado en tareas, etc.\n"
"============================================================================="
"=========\n"
"\n"
"Es capaz de generar planificaciones, ordenar tareas, etc.\n"
"\n"
"El tablero de control para los miembros del proyecto incluye:\n"
"--------------------------------------------\n"
"* Lista de mis tareas abiertas\n"
"* Lista de mis tareas delegadas\n"
"* Gráfico de mis proyectos: Planificado vs Horas totales\n"
"* Gráfico de mis horas pendientes por proyecto\n"
" "
#. module: base
#: field:base.language.import,code:0
@ -89,7 +106,7 @@ msgstr "Workflow"
#. module: base
#: selection:ir.sequence,implementation:0
msgid "No gap"
msgstr ""
msgstr "Sin hueco"
#. module: base
#: selection:base.language.install,lang:0
@ -99,7 +116,7 @@ msgstr "Húngaro / Magyar"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (PY) / Español (PY)"
msgstr ""
msgstr "Español (UY) / Español (UY)"
#. module: base
#: model:ir.module.category,description:base.module_category_project_management
@ -107,22 +124,26 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Le ayuda a gestionar sus proyectos y tareas realizando un seguimiento de los "
"mismos, generando planificaciones, ..."
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
msgid "Display Menu Tips"
msgstr ""
msgstr "Mostrar consejos de menú"
#. module: base
#: help:ir.cron,model:0
msgid ""
"Model name on which the method to be called is located, e.g. 'res.partner'."
msgstr ""
"Nombre del módelo en el que se encuentra el método al que se llama, por "
"ejemplo 'res.partner'."
#. module: base
#: view:ir.module.module:0
msgid "Created Views"
msgstr ""
msgstr "Vistas creadas"
#. module: base
#: code:addons/base/ir/ir_model.py:532
@ -131,6 +152,8 @@ msgid ""
"You can not write in this document (%s) ! Be sure your user belongs to one "
"of these groups: %s."
msgstr ""
"¡No puede escribir en este documento (%s)! Asegúrese que su usuario "
"pertenezca a alguno de estos grupos: %s."
#. module: base
#: model:ir.module.module,description:base.module_event_project
@ -141,6 +164,11 @@ msgid ""
"\n"
"This module allows you to create retro planning for managing your events.\n"
msgstr ""
"\n"
"Organización y gestión de eventos.\n"
"======================================\n"
"\n"
"Este módulo permite crear retro planning para gestionar tus eventos.\n"
#. module: base
#: help:ir.model.fields,domain:0
@ -149,16 +177,19 @@ msgid ""
"specified as a Python expression defining a list of triplets. For example: "
"[('color','=','red')]"
msgstr ""
"El dominio opcional para restringir los posibles valores para los campos de "
"relación, se especifica como una expresión Python compuesta por una lista de "
"tripletas. Por ejemplo: [('color','=',' red')]"
#. module: base
#: field:res.partner,ref:0
msgid "Reference"
msgstr ""
msgstr "Referencia"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
msgid "Belgium - Structured Communication"
msgstr ""
msgstr "Bélgica - Comunicación Estructurada"
#. module: base
#: field:ir.actions.act_window,target:0
@ -168,12 +199,12 @@ msgstr "Ventana destino"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
msgid "Sales Analytic Distribution"
msgstr ""
msgstr "Distribución Analítica de Ventas"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_process
msgid "Process"
msgstr ""
msgstr "Procesar"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
"Language: \n"
#. module: base

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -1229,6 +1229,23 @@ msgid ""
"At the end of the month, the planning manager can also check if the encoded "
"timesheets are respecting the planned time on each analytic account.\n"
msgstr ""
"Realizar un seguimiento de su planificación\n"
"Este módulo le ayuda a gestionar sus planificaciones.\n"
"===============================================\n"
"\n"
"Este módulo es la base de la contabilidad analítica y está totalmente "
"integrado con\n"
"* Hojas de servicio\n"
"* Gestión de ausencias\n"
"* Gestión de proyectos\n"
"\n"
"Así, cada director de departamento puede saber si alguien en su equipo aún "
"tiene tiempo asignado para una planificación determinada (teniendo en cuenta "
"las hojas de validación) o si todavía necesita codificar tareas.\n"
"\n"
"Al final del mes, el encargado de la planificación también puede comprobar "
"si la tabla de tiempos codificados están respetando los plazos previstos en "
"cada cuenta analítica.\n"
#. module: base
#: selection:ir.property,type:0
@ -1496,6 +1513,26 @@ msgid ""
"database,\n"
" but in the servers rootpad like /server/bin/filestore.\n"
msgstr ""
"\n"
"Este es un sistema de gestión documental completo.\n"
"==============================================\n"
"\n"
" * Autenticación de usuarios\n"
" * Indexación de documentos: -.. Pptx y docx no son compatibles con la "
"plataforma Windows.\n"
" * El tablero de documentos que incluye:\n"
" * Nuevos archivos (lista)\n"
" * Los archivos por tipo de recurso (gráfico)\n"
" * Los archivos por empresa (gráfico)\n"
" * Tamaño de archivos por mes (gráfico)\n"
"\n"
"ATENCIÓN:\n"
" - Al instalar este módulo en una compañía en funcionamiento que que "
"tienen ya PDF almacenados en la base de datos, \n"
" los pierde todos.\n"
" - Después de instalar este módulo los PDF ya no se almacenan en la base "
"de datos,\n"
" si no en los servidores rootpad como / server / bin / filestore.\n"
#. module: base
#: view:res.lang:0
@ -1564,6 +1601,15 @@ msgid ""
"Web.\n"
" "
msgstr ""
"\n"
"Este es el módulo test que permite mostrar etiquetas HTML en vistas de "
"formulario en XML.\n"
"============================================================================="
"\n"
"\n"
"Crea una vista de formulario ejemplo utilizando etiquetas HTML. Esto es "
"visible solo en el cliente Web.\n"
" "
#. module: base
#: model:ir.module.category,description:base.module_category_purchase_management
@ -1776,6 +1822,24 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Este módulo agrega herramientas para compartir genéricas a su base de datos "
"de OpenERP.\n"
"========================================================================\n"
"\n"
"Específicamente agrega un botón 'compartir' disponible en el cliente Web "
"para\n"
"compartir cualquier tipo de datos OpenERP con colegas, clientes, amigos, "
"etc.\n"
"\n"
"El sistema funciona creando nuevos usuarios y grupos sobre la marcha, y\n"
"combinando los derechos de acceso adecuados y reglas para asegurar que los\n"
"usuarios compartidos sólo tienen acceso a los datos compartidos con ellos.\n"
"\n"
"Esto es muy útil para el trabajo colaborativo, compartir conocimientos,\n"
"sincronización con otras empresas, etc\n"
"\n"
" "
#. module: base
#: field:res.currency,accuracy:0
@ -1856,6 +1920,49 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Validación de IVA para números IVA de las empresas\n"
"========================================\n"
"\n"
"Después de instalar este módulo, los valores ingresados en el campo IVA de "
"Empresas\n"
"serán validados para todos los países soportados. El país se infiere del "
"código\n"
"de país de 2 letras que es prefijo del número IVA, por ejemplo "
"\"BE0477472701\"\n"
"se validará usando las reglas belgas.\n"
"\n"
"Hay dos niveles diferentes de validación de números IVA:\n"
"\n"
" * Por defecto, se ejecuta una validación simple fuera de línea usando las "
"reglas de\n"
" validación conocidas para el país, usualmente un simple control de "
"dígitos. Esto es \n"
" rápido y está siempre disponible, pero permite números que quizá no "
"están\n"
" verdaderamente asignados, o que ya no son válidos.\n"
" * Cuando la opción \"Verificación VAT VIES\" está activada (en la "
"configuración de la\n"
" compañía del usuario), los números IVA se enviarán a la base de datos en "
"línea\n"
" VIES de la UE, que verificará realmente si el número es válido y está "
"asignado\n"
" actualmente a una empresa de la UE. Esto es un poco mas lento que la "
"validación\n"
" simple fuera de línea, requiere una conexión a Internet, y podría no "
"estar disponible\n"
" todo el tiempo. Si el servicio no está disponible o no es compatible con "
"el país\n"
" requerido (por ejemplo, para países no comunitarios), se ejecutará en su "
"lugar una\n"
" validación simple.\n"
"\n"
"Los países soportados actualmente son los países de la UE, y algunos países "
"no\n"
"comunitarios como Chile, Colombia, México, Noruega o Rusia. Para países no\n"
"soportados, solo se validará el código de país.\n"
"\n"
" "
#. module: base
#: view:ir.sequence:0

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:32+0000\n"
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:46+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

File diff suppressed because it is too large Load Diff

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-19 09:27+0000\n"
"Last-Translator: Juha Kotamäki <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:42+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-12 08:58+0000\n"
"Last-Translator: Numérigraphe <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:38+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -3637,7 +3637,7 @@ msgstr "Vue diagramme OpenERP web"
#. module: base
#: model:res.groups,name:base.group_hr_user
msgid "HR Officer"
msgstr "Responsable RH"
msgstr "Collaborateur RH"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
@ -11676,7 +11676,7 @@ msgstr ""
#. module: base
#: view:ir.sequence:0
msgid "Current Year with Century: %(year)s"
msgstr "Année en cours avec le siècle : %(année)s"
msgstr "Année en cours avec le siècle : %(year)s"
#. module: base
#: field:ir.exports,export_fields:0

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:22+0000\n"
"Last-Translator: Raphael Collet (OpenERP) <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:43+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:00+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:00+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2010-12-10 07:42+0000\n"
"PO-Revision-Date: 2012-08-20 15:27+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Hebrew <he@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:00+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-02-08 09:51+0000\n"
"PO-Revision-Date: 2012-08-20 15:48+0000\n"
"Last-Translator: Goran Cvijanović <goranc@gmail.com>\n"
"Language-Team: openerp-translators\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:03+0000\n"
"X-Generator: Launchpad (build 16165)\n"
"Language: hr\n"
#. module: base

View File

@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 15:49+0000\n"
"PO-Revision-Date: 2012-08-20 15:28+0000\n"
"Last-Translator: NOVOTRADE RENDSZERHÁZ ( novotrade.hu ) "
"<openerp@novotrade.hu>\n"
"Language-Team: Hungarian <openerp-hungarian-team@lists.launchpad.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:00+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -35,7 +35,7 @@ msgstr "Dátum/Idő"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Feladat-levél beillesztés"
#. module: base
#: code:addons/fields.py:582
@ -109,6 +109,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Segít Önnek a projektjei és feladatai menedzselésében, azok "
"nyomonkövetésével, tervezések készítésével, stb..."
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
@ -145,6 +147,11 @@ msgid ""
"\n"
"This module allows you to create retro planning for managing your events.\n"
msgstr ""
"\n"
"Az események szervezése és menedzselése.\n"
"======================================\n"
"\n"
"Ezzel a modullal átütemezést készíthet az események menedzselésében.\n"
#. module: base
#: help:ir.model.fields,domain:0
@ -175,17 +182,17 @@ msgstr "Cél Ablak"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_analytic_plans
msgid "Sales Analytic Distribution"
msgstr ""
msgstr "Eladás elemzés osztályozás"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_process
msgid "Process"
msgstr ""
msgstr "Folyamat"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
msgid "Billing Rates on Contracts"
msgstr ""
msgstr "Árfolyamok a szerződéseken"
#. module: base
#: code:addons/base/res/res_users.py:558
@ -218,7 +225,7 @@ msgstr "ir.ui.view.custom"
#: code:addons/base/ir/ir_model.py:313
#, python-format
msgid "Renaming sparse field \"%s\" is not allowed"
msgstr ""
msgstr "Nem megengedett a \"%s\" ritka mező átnevezése"
#. module: base
#: model:res.country,name:base.sz
@ -234,12 +241,12 @@ msgstr "létrehozva."
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_tr
msgid "Turkey - Accounting"
msgstr ""
msgstr "Török - könyvelés"
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp_subproduct
msgid "MRP Subproducts"
msgstr ""
msgstr "MRP altermékek"
#. module: base
#: code:addons/base/module/module.py:390
@ -272,7 +279,7 @@ msgstr "Inuktitut / ᐃᓄᒃᑎᑐᑦ"
#: model:ir.module.category,name:base.module_category_sales_management
#: model:ir.module.module,shortdesc:base.module_sale
msgid "Sales Management"
msgstr ""
msgstr "Értékesítés menedzsment"
#. module: base
#: view:res.partner:0
@ -359,6 +366,11 @@ msgid ""
" complex data from other software\n"
" "
msgstr ""
"\n"
" Ez a modul gondoskodik egy csoport keretmunka_bevitelről ami "
"segítséget nyújt\n"
" más szoftver összetett adatainak betöltéséhez\n"
" "
#. module: base
#: field:ir.actions.wizard,wiz_name:0
@ -368,17 +380,17 @@ msgstr "Varázsló Neve"
#. module: base
#: model:res.groups,name:base.group_partner_manager
msgid "Partner Manager"
msgstr ""
msgstr "Partner kapcsolati felelős"
#. module: base
#: model:ir.module.category,name:base.module_category_customer_relationship_management
msgid "Customer Relationship Management"
msgstr ""
msgstr "Ügyfél kapcsolati irányítás"
#. module: base
#: view:ir.module.module:0
msgid "Extra"
msgstr ""
msgstr "Extra"
#. module: base
#: code:addons/orm.py:2526
@ -399,7 +411,7 @@ msgstr "Hitelkeret"
#. module: base
#: model:ir.module.module,description:base.module_web_graph
msgid "Openerp web graph view"
msgstr ""
msgstr "Openerp web grafikus nézet"
#. module: base
#: field:ir.model.data,date_update:0
@ -409,7 +421,7 @@ msgstr "Frissítés Dátuma"
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_action_rule
msgid "Automated Action Rules"
msgstr ""
msgstr "Automata végrehalytási szabályok"
#. module: base
#: view:ir.attachment:0
@ -1821,7 +1833,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
msgid "Employee Appraisals"
msgstr ""
msgstr "Munkavállaló értékelése"
#. module: base
#: selection:ir.actions.server,state:0
@ -3141,7 +3153,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
msgid "Employee Contracts"
msgstr ""
msgstr "Munkavállalói szerződések"
#. module: base
#: model:ir.module.module,description:base.module_wiki_faq
@ -6487,7 +6499,7 @@ msgstr "Automatikus frissítést ad a nézethez."
#. module: base
#: help:res.partner,employee:0
msgid "Check this box if the partner is an Employee."
msgstr "Jelölje be, ha a partner egy alkalmazott."
msgstr "Jelölje be, ha a partner egy alkalmazott"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_profiling
@ -15321,7 +15333,7 @@ msgstr "Wrong ID for the browse record, got %r, expected an integer."
#: field:res.partner.address,function:0
#: selection:workflow.activity,kind:0
msgid "Function"
msgstr "Függvény"
msgstr "Beosztás"
#. module: base
#: view:res.widget:0
@ -15451,6 +15463,8 @@ msgid ""
"This field is computed automatically based on bank accounts defined, having "
"the display on footer checkbox set."
msgstr ""
"Ez a mező automatikusan generált a megadott bank számlák alapján, a "
"lábjegyzetben lévő jelölőnégyzet kiválasztásával."
#. module: base
#: model:ir.module.module,description:base.module_mrp_subproduct

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:37+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:58+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2009-11-30 08:27+0000\n"
"PO-Revision-Date: 2012-08-20 15:49+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: Icelandic <is@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,15 +7,15 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-08-10 18:42+0000\n"
"PO-Revision-Date: 2012-08-20 15:28+0000\n"
"Last-Translator: Leonardo Pistone - Agile BG - Domsense "
"<leonardo.pistone@domsense.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-11 05:45+0000\n"
"X-Generator: Launchpad (build 15780)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-08-02 17:18+0000\n"
"PO-Revision-Date: 2012-09-20 05:23+0000\n"
"Last-Translator: Akira Hiyama <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-03 05:45+0000\n"
"X-Generator: Launchpad (build 15734)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -193,7 +193,7 @@ msgstr "販売分析の配布"
#. module: base
#: model:ir.module.module,shortdesc:base.module_web_process
msgid "Process"
msgstr "プロセス"
msgstr "処理"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
@ -17384,7 +17384,7 @@ msgstr ""
" ・ 各アクションが手動の検証を必要とする場合は、手動で実際のキャンペーンを開始することもできます。\n"
" ・ 最後にキャンペーンを実際に起動し、キャンペーンの全てが完全に自動的に行われるよう統計値を監視します。\n"
"\n"
"キャンペーンの実行中にも、ちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
"キャンペーンの実行中にも、ちろんパラメータ、入力セグメント、ワークフローなどの微調整を続ける事ができます。\n"
"\n"
"注記デモデータが必要なら、marketing_campaign_crm_demoモジュールをインストールできます。それはCRMリードに依存するため、CR"
"Mアプリケーションもインストールすることになります。\n"

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-14 15:06+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2012-08-20 15:35+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Georgian <ka@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:39+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2010-12-16 08:15+0000\n"
"PO-Revision-Date: 2012-08-20 15:29+0000\n"
"Last-Translator: ekodaq <ceo@ekosdaq.com>\n"
"Language-Team: Korean <ko@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:40+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:01+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2011-01-16 11:33+0000\n"
"PO-Revision-Date: 2012-08-20 15:52+0000\n"
"Last-Translator: Paulius Sladkevičius <paulius@hacbee.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -4533,7 +4533,7 @@ msgstr ""
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr ""
#. module: base
@ -5407,7 +5407,7 @@ msgstr ""
#. module: base
#: help:res.country.state,code:0
msgid "The state code in three chars.\n"
msgid "The state code in max. three chars."
""
msgstr ""

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 15:53+0000\n"
"PO-Revision-Date: 2012-08-20 15:31+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"Language-Team: Latvian <lv@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-04-20 10:05+0000\n"
"PO-Revision-Date: 2012-08-20 15:28+0000\n"
"Last-Translator: Bayuka <bayuka1988@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -111,7 +111,7 @@ msgstr "Цоорхой үгүй"
#. module: base
#: selection:base.language.install,lang:0
msgid "Hungarian / Magyar"
msgstr "Унгар хэл / Магяар"
msgstr "Унгар / Magyar"
#. module: base
#: selection:base.language.install,lang:0
@ -249,7 +249,7 @@ msgstr "Швецарь"
#: code:addons/orm.py:4206
#, python-format
msgid "created."
msgstr ""
msgstr "үүсгэгдсэн."
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_tr
@ -2786,7 +2786,7 @@ msgstr "Моделийн Тойм"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_margin
msgid "Margins by Products"
msgstr "Захалбар Бүтээгдэхүүнээр"
msgstr "Захалбар Бараагаар"
#. module: base
#: model:ir.ui.menu,name:base.menu_invoiced
@ -4615,7 +4615,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_partner_form
#: view:res.partner:0
msgid "Customers"
msgstr "Үйлчлүүлэгчид"
msgstr "Захиалагчид"
#. module: base
#: model:res.country,name:base.au
@ -6458,7 +6458,7 @@ msgstr "Бичих Id"
#. module: base
#: model:ir.ui.menu,name:base.menu_product
msgid "Products"
msgstr "Бүтээгдэхүүн"
msgstr "Бараанууд"
#. module: base
#: help:res.users,name:0
@ -8531,16 +8531,16 @@ msgstr ""
"===============================\n"
"\n"
"Ихэнхдээ энэ дараах тохиолдлуудад хэрэглэгдэж болно:\n"
" * Бүтээгдэхүүний үйлдвэрлэх урсгалыг менеж хийх\n"
" * Бүтээгдэхүүнүүдээр анхны байрлалыг менеж хийх\n"
" * Барааны үйлдвэрлэх урсгалыг менеж хийх\n"
" * Бараануудаар анхны байрлалыг менеж хийх\n"
" * Бизнес шаардлагын дагуу агуулах дахь маршрутыг тодорхойлох, "
"тухайлбал:\n"
" - Чанарын Хяналт\n"
" - Борлуулалтын Дараах Үйлчилгээ\n"
" - Нийлүүлэгчийн Буцаалт\n"
"\n"
" * Түрээслэсэн бүтээгдэхүүний автомат буцаалтын хөдөлгөөнөөр түрээсийг "
"менеж хийхэд тусладаг\n"
" * Түрээслэсэн барааны автомат буцаалтын хөдөлгөөнөөр түрээсийг менеж "
"хийхэд тусладаг\n"
"\n"
"Энэ модулийг нэгэнтээ суулгасан дараагаар барааны форм дээр нэмэлт хавтас "
"харагдах бөгөөд энд Чихэх, Татах урсгалуудыг зааж өгнө. CPU1 барааны "
@ -11080,7 +11080,7 @@ msgstr "Дундын бүс"
#. module: base
#: view:ir.model:0
msgid "Custom"
msgstr "Үйлчлүүлэгч"
msgstr "Өөриймшүүлсэн"
#. module: base
#: view:res.request:0
@ -11295,7 +11295,7 @@ msgstr "Гайана"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_expiry
msgid "Products Expiry Date"
msgstr "Бүтээгдэхүүний Хугацаа Дуусах Огноо"
msgstr "Барааны Хугацаа Дуусах Огноо"
#. module: base
#: model:ir.module.module,description:base.module_account
@ -13442,7 +13442,7 @@ msgstr "1-р түвшний дэмжлэг"
#: field:res.partner.address,is_customer_add:0
#: model:res.partner.category,name:base.res_partner_category_0
msgid "Customer"
msgstr "Үйлчлүүлэгч"
msgstr "Захиалагч"
#. module: base
#: selection:base.language.install,lang:0
@ -16845,10 +16845,10 @@ msgstr ""
"Энэ модуль нь Асуудал/Бугийн менежментийг төсөлд нэмдэг.\n"
"=======================================================\n"
"\n"
"OpenERP нь төсөлд учирч болох системийн буг, үйлчлүүлэгчийн гомдол, "
"материалын эвдрэл гэх мэт асуудлыг менеж хийх боломжийг олгодог. Асуудлын "
"жагсаалтыг менежер харж хурдтайгаар шалгах, хариуцагчийг томилох, төлөвийн "
"явцаар нь шийдвэр гаргах зэрэг боломжийг олгоно.\n"
"OpenERP нь төсөлд учирч болох системийн буг, захиалагчийн гомдол, материалын "
"эвдрэл гэх мэт асуудлыг менеж хийх боломжийг олгодог. Асуудлын жагсаалтыг "
"менежер харж хурдтайгаар шалгах, хариуцагчийг томилох, төлөвийн явцаар нь "
"шийдвэр гаргах зэрэг боломжийг олгоно.\n"
" "
#. module: base

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:28+0000\n"
"PO-Revision-Date: 2012-08-20 15:45+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:41+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -30,12 +30,12 @@ msgstr "Annen konfigurasjon"
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
msgstr ""
msgstr "Dato og klokkeslett"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
msgid "Tasks-Mail Integration"
msgstr ""
msgstr "Integrasjon Oppgaver - E-post"
#. module: base
#: code:addons/fields.py:582
@ -44,6 +44,8 @@ msgid ""
"The second argument of the many2many field %s must be a SQL table !You used "
"%s, which is not a valid SQL table name."
msgstr ""
"Det andre argumentet for mange-til-mange-feltet %s må være en SQL tabell! Du "
"anga %s som ikke er et gyldig SQL tabellnavn."
#. module: base
#: field:ir.ui.view,arch:0
@ -89,7 +91,7 @@ msgstr "Arbeidsflyt"
#. module: base
#: selection:ir.sequence,implementation:0
msgid "No gap"
msgstr ""
msgstr "Ingen gap"
#. module: base
#: selection:base.language.install,lang:0
@ -107,6 +109,8 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Hjelper deg med å håndtere dine prosjekter og oppgaver ved å spore dem, "
"generere planer, osv..."
#. module: base
#: field:ir.actions.act_window,display_menu_tip:0
@ -118,6 +122,8 @@ msgstr "Vis menytips"
msgid ""
"Model name on which the method to be called is located, e.g. 'res.partner'."
msgstr ""
"Navn på modell hvor metoden som skal kalles er definert, f.eks. "
"'res.partner'."
#. module: base
#: view:ir.module.module:0
@ -143,6 +149,12 @@ msgid ""
"\n"
"This module allows you to create retro planning for managing your events.\n"
msgstr ""
"\n"
"Organisering og administrasjon av arrangementer\n"
"===============================================\n"
"\n"
"Denne modulen gir deg mulighet for baklengs planlegging for å administrere "
"dine arrangementer.\n"
#. module: base
#: help:ir.model.fields,domain:0
@ -180,7 +192,7 @@ msgstr "Prosess"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_journal_billing_rate
msgid "Billing Rates on Contracts"
msgstr ""
msgstr "Faktureringsrater på kontrakter"
#. module: base
#: code:addons/base/res/res_users.py:558
@ -200,7 +212,7 @@ msgstr ""
#: code:addons/osv.py:129
#, python-format
msgid "Constraint Error"
msgstr ""
msgstr "Betingelsesfeil"
#. module: base
#: model:ir.model,name:base.model_ir_ui_view_custom
@ -265,12 +277,12 @@ msgstr ""
#: model:ir.module.category,name:base.module_category_sales_management
#: model:ir.module.module,shortdesc:base.module_sale
msgid "Sales Management"
msgstr ""
msgstr "Salgsadministrasjon"
#. module: base
#: view:res.partner:0
msgid "Search Partner"
msgstr ""
msgstr "Søk partner"
#. module: base
#: code:addons/base/module/wizard/base_export_language.py:60
@ -377,7 +389,7 @@ msgstr "Ekstra"
#: code:addons/orm.py:2526
#, python-format
msgid "Invalid group_by"
msgstr ""
msgstr "Ugyldig gruppering"
#. module: base
#: field:ir.module.category,child_ids:0
@ -2463,7 +2475,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_margin
msgid "Margins by Products"
msgstr ""
msgstr "Margin pr product"
#. module: base
#: model:ir.ui.menu,name:base.menu_invoiced
@ -2778,7 +2790,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_stock_planning
msgid "Master Procurement Schedule"
msgstr ""
msgstr "Hovedplanlegging av anskaffelser"
#. module: base
#: model:ir.model,name:base.model_ir_module_category
@ -3143,7 +3155,7 @@ msgstr "Kontakttitler"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_manufacturer
msgid "Products Manufacturers"
msgstr ""
msgstr "Vareprodusenter"
#. module: base
#: code:addons/base/ir/ir_mail_server.py:217
@ -6899,7 +6911,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_report_intrastat
msgid "Intrastat Reporting"
msgstr ""
msgstr "Intrastat-rapportering"
#. module: base
#: code:addons/base/res/res_users.py:222
@ -9530,7 +9542,7 @@ msgstr "Guyana"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product_expiry
msgid "Products Expiry Date"
msgstr ""
msgstr "Utløpsdato"
#. module: base
#: model:ir.module.module,description:base.module_account
@ -12332,7 +12344,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_procurement
msgid "Procurements"
msgstr ""
msgstr "Anskaffelser"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_payroll_account
@ -13385,7 +13397,7 @@ msgstr "Aktiviteter"
#. module: base
#: model:ir.module.module,shortdesc:base.module_product
msgid "Products & Pricelists"
msgstr ""
msgstr "Produkter & prislister"
#. module: base
#: field:ir.actions.act_window,auto_refresh:0
@ -14003,7 +14015,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_config_address_book
#: model:ir.ui.menu,name:base.menu_procurement_management_supplier
msgid "Address Book"
msgstr ""
msgstr "Adressebok"
#. module: base
#: model:ir.module.module,description:base.module_l10n_ma
@ -14437,7 +14449,7 @@ msgstr "Firma"
#. module: base
#: model:ir.module.category,name:base.module_category_report_designer
msgid "Advanced Reporting"
msgstr ""
msgstr "Avansert rapportering"
#. module: base
#: selection:ir.actions.act_window,target:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-08-09 06:15+0000\n"
"Last-Translator: Erwin <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:53+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-08-10 04:58+0000\n"
"X-Generator: Launchpad (build 15761)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:59+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -97,7 +97,7 @@ msgstr "Code (bijv: nl__NL)"
#: field:workflow.transition,wkf_id:0
#: field:workflow.workitem,wkf_id:0
msgid "Workflow"
msgstr "Werkschema"
msgstr "Workflow"
#. module: base
#: selection:ir.sequence,implementation:0
@ -363,6 +363,13 @@ msgid ""
" - tree_but_open\n"
"For defaults, an optional condition"
msgstr ""
"Voor acties, een van deze mogelijke acties:\n"
" - client_action_multi\n"
" - client_print_multi\n"
" - client_action_relate\n"
" - tree_but_open\n"
"Voor standaard waarden:\n"
" - een optionele conditie"
#. module: base
#: sql_constraint:res.lang:0
@ -390,7 +397,7 @@ msgstr "Naam assistent"
#. module: base
#: model:res.groups,name:base.group_partner_manager
msgid "Partner Manager"
msgstr "Relatie manager"
msgstr "Relatiemanager"
#. module: base
#: model:ir.module.category,name:base.module_category_customer_relationship_management
@ -572,7 +579,7 @@ msgstr ""
#. module: base
#: view:ir.values:0
msgid "Action Binding"
msgstr ""
msgstr "Actie koppeling"
#. module: base
#: model:res.country,name:base.gf
@ -921,7 +928,7 @@ msgid ""
"The module adds google contact in partner address and add google calendar "
"events details in Meeting"
msgstr ""
"Deze module voegt Google contact[ersonen in relatie adressen en voegt Google "
"Deze module voegt Google contactersonen in relatie adressen en voegt Google "
"agenda items details in OpenERP agenda."
#. module: base
@ -942,6 +949,15 @@ msgid ""
"delete on objects and can check logs.\n"
" "
msgstr ""
"\n"
"Met deze module heeft de administrator de mogelijkheid om iedere gebruikers "
"handeling op alle objecten in het systeem te volgen.\n"
"============================================================================="
"=======================\n"
"\n"
"De administrator kan regels voor lezen, schrijven en verwijderen definiëren "
"en logs hiervan bekijken\n"
" "
#. module: base
#: model:res.partner.category,name:base.res_partner_category_4
@ -1387,7 +1403,7 @@ msgstr "Document Beheer Systeem"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_claim
msgid "Claims Management"
msgstr "Claimsmanagement"
msgstr "Klachtenregistratie"
#. module: base
#: model:ir.ui.menu,name:base.menu_purchase_root
@ -1437,7 +1453,7 @@ msgid ""
" * Effective Date\n"
msgstr ""
"\n"
"deze module voegt extra informatie toe aan een verkooporder.\n"
"Deze module voegt extra informatie toe aan een verkooporder.\n"
"===================================================\n"
"\n"
"U kunt de navolgende extra data toevoegen aan een verkooporder:\n"
@ -2482,6 +2498,18 @@ msgid ""
"and categorize your interventions with a channel and a priority level.\n"
" "
msgstr ""
"\n"
"Helpdesk management.\n"
"===================\n"
"\n"
"Net als de klachtenregistratie module is de Helpdesk en ondersteuning tool, "
"een goed instrument\n"
"om uw acties vast te leggen. Dit menu is meer aangepast aan de mondelinge "
"communicatie,\n"
"die niet noodzakelijkerwijs verband houden met een claim. Selecteer een "
"klant, voeg notities toe\n"
"en deel uw acties in.\n"
" "
#. module: base
#: sql_constraint:ir.ui.view_sc:0
@ -2542,6 +2570,11 @@ msgid ""
"\n"
"Configure servers and trigger synchronization with its database objects.\n"
msgstr ""
"\n"
"Synchronisatie van objecten.\n"
"=======================\n"
"Configureer servers and trigger database synchronisatie van de database "
"objecten.\n"
#. module: base
#: model:res.country,name:base.mg
@ -2581,7 +2614,7 @@ msgstr "Ideeën"
#. module: base
#: model:ir.module.module,shortdesc:base.module_sale_crm
msgid "Opportunity to Quotation"
msgstr "Verkoopkans naar offerte"
msgstr "Prospect naar offerte"
#. module: base
#: model:ir.module.module,description:base.module_sale_analytic_plans
@ -2785,7 +2818,7 @@ msgstr "Overgeërfd"
#. module: base
#: field:ir.model.fields,serialization_field_id:0
msgid "Serialization Field"
msgstr ""
msgstr "Reeks veld"
#. module: base
#: model:ir.module.category,description:base.module_category_report_designer
@ -2847,7 +2880,7 @@ msgstr "Fout!"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_fr_rib
msgid "French RIB Bank Details"
msgstr ""
msgstr "Franse RIB bank details"
#. module: base
#: view:res.lang:0
@ -2928,7 +2961,7 @@ msgstr "Bangladesh"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_retro_planning
msgid "Project Retro-planning"
msgstr ""
msgstr "Project Retro-planning"
#. module: base
#: model:ir.module.module,shortdesc:base.module_stock_planning
@ -2979,7 +3012,7 @@ msgstr ""
#. module: base
#: field:ir.actions.client,params_store:0
msgid "Params storage"
msgstr ""
msgstr "Parameters opslag"
#. module: base
#: code:addons/base/module/module.py:409
@ -3010,6 +3043,10 @@ msgid ""
"since it's the same which has been renamed.\n"
" "
msgstr ""
"\n"
"Met deze module kunt u relaties segmenten/indelen op basis van vragen.\n"
"===========================================================\n"
" "
#. module: base
#: code:addons/report_sxw.py:434
@ -3134,7 +3171,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
msgid "Wiki: Quality Manual"
msgstr ""
msgstr "Wiki: Kwaliteit handleiding"
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -3248,7 +3285,7 @@ msgstr "OpenERP web-diagram weergave"
#. module: base
#: model:res.groups,name:base.group_hr_user
msgid "HR Officer"
msgstr ""
msgstr "HR Officer"
#. module: base
#: model:ir.module.module,shortdesc:base.module_hr_contract
@ -3607,7 +3644,7 @@ msgstr "Mayotte"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_todo
msgid "Tasks on CRM"
msgstr ""
msgstr "Relatiebeheer taken"
#. module: base
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
@ -4193,6 +4230,9 @@ msgid ""
"its dependencies are satisfied. If the module has no dependency, it is "
"always installed."
msgstr ""
"Een auto-installatie module wordt automatisch geïnstalleerd door het systeem "
"als aan alle afhankelijkheden zijn voldaan. Als de module geen "
"afhankelijkheden heeft, wordt de module altijd geïnstalleerd."
#. module: base
#: model:ir.actions.act_window,name:base.res_lang_act_window
@ -4215,6 +4255,15 @@ msgid ""
"automatically new claims based on incoming emails.\n"
" "
msgstr ""
"\n"
"Met deze module kunt u alle klachten van uw klanten en leveranciers "
"registreren.\n"
"==================================================================\n"
"\n"
"Deze module is volledig geïntegreerd met de e-mail gateway, zodat u "
"automatisch\n"
"nieuwe klachten kunt registreren op basis van inkomende e-mails.\n"
" "
#. module: base
#: selection:workflow.activity,join_mode:0
@ -4579,6 +4628,20 @@ msgid ""
"above. Specify the interval information and partner to be invoice.\n"
" "
msgstr ""
"\n"
"Maak herhalende documenten (abonnementen).\n"
"=======================================\n"
"\n"
"Met deze module kunt u een nieuw document maken en een abonnement hieraan "
"koppelen.\n"
"\n"
"U kunt bijvoorbeeld een factuur automatisch periodiek laten aanmaken. Dit "
"doet u door:\n"
"* Maak een document type gebaseerd op het object factuur\n"
"* Maak een abonnement aan waarvan de bron het document is, zoals aangemaakt "
"bij stap 1.\n"
"* Specificeer het interval en de klant voor de factuur\n"
" "
#. module: base
#: field:ir.actions.server,srcmodel_id:0
@ -4800,7 +4863,7 @@ msgstr "BTW nummer validatie"
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_partner_assign
msgid "Partners Geo-Localization"
msgstr ""
msgstr "Partners Geo-Localisatie"
#. module: base
#: model:res.country,name:base.ke
@ -5308,6 +5371,13 @@ msgid ""
" those assets. And it allows to create Move's of the depreciation lines.\n"
" "
msgstr ""
"Financieel beheer van uw activa.\n"
"=========================\n"
"Met deze module beheert u, uw activa van uw bedrijf of van een individu. U "
"beheert uw afschrijvingen van \n"
"deze activa. Deze afschrijvingen worden als journaalposten verwerkt in uw "
"financiële administratie.\n"
" "
#. module: base
#: model:res.country,name:base.bv
@ -5614,6 +5684,31 @@ msgid ""
"Budgets per Budgets.\n"
"\n"
msgstr ""
"\n"
"Deze module geeft accountants de mogelijkheid om kostenplaats- en "
"overlappende budgetten te beheren.\n"
"============================================================================="
"==========\n"
"\n"
"Wanneer de hoofdbudgetten en onderliggende budgetten zijn gedefinieerd (in "
"financieel/budgetten)\n"
"kunnen de projectmanagers de geplande bedragen invoeren per kostenplaats.\n"
"\n"
"De accountant heeft de mogelijkheid om alle gebudgetteerde bedragen te zien "
"van ieder\n"
"budget en hoofdbudget, zodat het totale gebudgetteerde bedrag niet groter of "
"lager \n"
"is dan wat was gebudgetteerd. deze informatie kan ook als grafiek worden "
"bekeken.\n"
"\n"
"Er zijn drie rapportages beschikbaar:\n"
"1. Deze is beschikbaar bij de lijst van budgetten. Het geeft de spreiding "
"van deze budgetten weer over de kostenplaatsen per hoofdbudget.\n"
"2. Dit is een totaal van het eerste rapport. het geeft alleen de spreiding "
"weer voor de geselecteerde budgetten van de kostenplaatsen.\n"
"3. Dit rapport is beschikbaar bij de kostenplaats. Het geeft de spreiding "
"weer van de geselecteerde kostenplaats van het hoofdbudget, per budget.\n"
"\n"
#. module: base
#: help:res.lang,iso_code:0
@ -5942,6 +6037,8 @@ msgid ""
"How many times the method is called,\n"
"a negative number indicates no limit."
msgstr ""
"Hoeveel keer deze regel wordt aangeroepen,\n"
"een negatieve waarde geeft aan dat er geen limiet is."
#. module: base
#: field:res.partner.bank.type.field,bank_type_id:0
@ -5999,7 +6096,7 @@ msgstr "Vul aub de sleutelcode in die staat in uw contract document:"
#: view:workflow.activity:0
#: field:workflow.activity,flow_start:0
msgid "Flow Start"
msgstr "Begin werkschema"
msgstr "Begin workflow"
#. module: base
#: model:ir.model,name:base.model_res_partner_title
@ -6427,6 +6524,11 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Met deze module kunt u aangeven welk factureerproduct moet worden gebruikt "
"als een werknemer uren boekt op het contract/kostenplaats.\n"
"\n"
" "
#. module: base
#: model:ir.module.module,shortdesc:base.module_audittrail
@ -6575,7 +6677,7 @@ msgstr "Ongelezen"
#. module: base
#: field:res.users,id:0
msgid "ID"
msgstr ""
msgstr "ID"
#. module: base
#: field:ir.cron,doall:0
@ -6650,7 +6752,7 @@ msgstr "Vink aan als de relatie een werknemer is."
#. module: base
#: model:ir.module.module,shortdesc:base.module_crm_profiling
msgid "Customer Profiling"
msgstr ""
msgstr "Klant profiling"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_issue
@ -6686,6 +6788,8 @@ msgid ""
"Please check that all your lines have %d columns.Stopped around line %d "
"having %d columns."
msgstr ""
"Controleer of al uw regels %d kolommen hebben. Gestopt bij regel %d met %d "
"kolommen."
#. module: base
#: field:base.language.export,advice:0
@ -6827,6 +6931,7 @@ msgstr "Controle"
#: help:ir.values,company_id:0
msgid "If set, action binding only applies for this company"
msgstr ""
"Indien aangevinkt is deze regel alleen van toepassing voor dit bedrijf."
#. module: base
#: model:res.country,name:base.lc
@ -6840,6 +6945,9 @@ msgid ""
"password, otherwise leave empty. After a change of password, the user has to "
"login again."
msgstr ""
"Specificeer een waarde alleen wanneer u een gebruiker aanmaakt of als u het "
"wachtwoord van de gebruiker wijzigt. Laat anders de waarde leeg. Na het "
"wijzigen van het wachtwoord, dient de gebruiker opnieuw in te loggen."
#. module: base
#: view:publisher_warranty.contract:0
@ -6889,7 +6997,7 @@ msgstr "Bewerken"
#. module: base
#: field:ir.actions.client,params:0
msgid "Supplementary arguments"
msgstr ""
msgstr "Aanvullende argumenten"
#. module: base
#: field:res.users,view:0
@ -7041,6 +7149,8 @@ msgid ""
"Action bound to this entry - helper field for binding an action, will "
"automatically set the correct reference"
msgstr ""
"Actie gekoppeld aan deze regel. Hulp veld voor het koppelen van een actie. "
"De referentie wordt automatisch correct ingevuld."
#. module: base
#: model:ir.ui.menu,name:base.menu_project_long_term
@ -7358,7 +7468,7 @@ msgstr "Lezen"
#. module: base
#: model:ir.module.module,shortdesc:base.module_association
msgid "Associations Management"
msgstr ""
msgstr "Verenigingenbeheer"
#. module: base
#: help:ir.model,modules:0
@ -7399,7 +7509,7 @@ msgstr ""
#. module: base
#: view:workflow.workitem:0
msgid "Workflow Workitems"
msgstr "Werkschema taken"
msgstr "Workflow taken"
#. module: base
#: model:res.country,name:base.vc
@ -7517,7 +7627,7 @@ msgstr "Myanmar (Birma)"
#. module: base
#: help:ir.model.fields,modules:0
msgid "List of modules in which the field is defined"
msgstr ""
msgstr "Lijst van modules waarin het veld wordt gebruikt."
#. module: base
#: selection:base.language.install,lang:0
@ -7548,6 +7658,14 @@ msgid ""
"that exceeds minimum amount set by configuration wizard.\n"
" "
msgstr ""
"\n"
"Dubbele controle voor inkopen, welke een minimum bedrag overstijgen.\n"
"==========================================================\n"
"\n"
"Deze module past de inkoop workflow aan, zodat inkopen, welke een \n"
"minimum bedrag overstijgen moeten worden gecontroleerd. Dit kan worden\n"
"ingesteld in de configuratie wizard.\n"
" "
#. module: base
#: field:res.currency,rounding:0
@ -7563,7 +7681,7 @@ msgstr "Canada"
#: code:addons/base/res/res_company.py:158
#, python-format
msgid "Reg: "
msgstr "Reg: "
msgstr "KVK: "
#. module: base
#: help:res.currency.rate,currency_rate_type_id:0
@ -7632,6 +7750,13 @@ msgid ""
"all the tasks will change accordingly.\n"
" "
msgstr ""
"\n"
"Verander de data op basis van een verandering in de einddatum.\n"
"===================================================\n"
"\n"
"Indien de einddatun van een project is gewijzigd, dan worden de deadline "
"datum en de startdatum van alle taken ook gewijzgd.\n"
" "
#. module: base
#: help:res.users,view:0
@ -7676,7 +7801,7 @@ msgstr "Dutch / Nederlands"
#. module: base
#: selection:res.company,paper_format:0
msgid "US Letter"
msgstr ""
msgstr "US Letter"
#. module: base
#: model:ir.module.module,description:base.module_stock_location
@ -7779,6 +7904,12 @@ msgid ""
"Contains the installer for marketing-related modules.\n"
" "
msgstr ""
"\n"
"Menu voor marketing.\n"
"==================\n"
"\n"
"Bevat de installer voor marketing gerelateerde modules.\n"
" "
#. module: base
#: model:ir.module.category,name:base.module_category_knowledge_management
@ -7962,6 +8093,9 @@ msgid ""
"the same values as those available in the condition field, e.g. `Hello [[ "
"object.partner_id.name ]]`"
msgstr ""
"Het e-mail onderwerp kan expressies bevatten welke worden gekenmerkt door "
"rechte haken. De velden zijn gebaseerd op dezelfde waarden zoals beschikbaar "
"in de conditievelden. Bijv.: `Hallo [[ object.partner_id.name ]]`"
#. module: base
#: model:ir.module.module,description:base.module_account_sequence
@ -7993,11 +8127,14 @@ msgid ""
"serialization field, instead of having its own database column. This cannot "
"be changed after creation."
msgstr ""
"Indien aangevinkt wordt dit veld opgeslagen in vrije ruimte van het reeks "
"veld in plaats dat het veld een eigen database kolom heeft. Dit kan achteraf "
"niet worden veranderd!"
#. module: base
#: view:res.partner.bank:0
msgid "Bank accounts belonging to one of your companies"
msgstr ""
msgstr "Bankrekening welke behoort aan één van uw bedrijven."
#. module: base
#: help:res.users,action_id:0
@ -8024,6 +8161,8 @@ msgid ""
"The field on the current object that links to the target object record (must "
"be a many2one, or an integer field with the record ID)"
msgstr ""
"Het veld van het huidige object wat is gekoppeld aan het doel object record "
"(moet een many2one, of een integer veld zijn met het record ID)"
#. module: base
#: code:addons/base/module/module.py:423
@ -8160,6 +8299,8 @@ msgid ""
"You cannot have multiple records with the same external ID in the same "
"module!"
msgstr ""
"Het is niet toegestaan om meerdere records te hebben met dezelfde externe ID "
"in hetzelfde model."
#. module: base
#: selection:ir.property,type:0
@ -8253,6 +8394,9 @@ msgid ""
"Model to which this entry applies - helper field for setting a model, will "
"automatically set the correct model name"
msgstr ""
"Model waarover deze regel gaat. Deze zoekwaarde helpt u bij het instellen "
"van het juiste modelnaam. Na de keuze wordt de modelnaam automatisch voor u "
"ingevuld."
#. module: base
#: view:res.lang:0
@ -8385,7 +8529,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
msgid "Anglo-Saxon Accounting"
msgstr ""
msgstr "Angelsaksische boekhouding"
#. module: base
#: model:res.country,name:base.np
@ -8436,7 +8580,7 @@ msgstr ""
#: model:ir.ui.menu,name:base.menu_values_form_action
#: view:ir.values:0
msgid "Action Bindings"
msgstr ""
msgstr "Actie koppeling"
#. module: base
#: view:ir.sequence:0
@ -8816,7 +8960,7 @@ msgstr "Herhaling"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_planning
msgid "Resources Planing"
msgstr ""
msgstr "Resource planing"
#. module: base
#: field:ir.module.module,complexity:0
@ -8826,7 +8970,7 @@ msgstr "Complexiteit"
#. module: base
#: selection:ir.actions.act_window,target:0
msgid "Inline"
msgstr ""
msgstr "Inline"
#. module: base
#: model:res.partner.bank.type.field,name:base.bank_normal_field_bic
@ -8933,7 +9077,7 @@ msgstr "Reparatie management"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_asset
msgid "Assets Management"
msgstr ""
msgstr "Beheer van activa"
#. module: base
#: view:ir.model.access:0
@ -9324,7 +9468,7 @@ msgstr "Referentiegids"
#. module: base
#: view:ir.values:0
msgid "Default Value Scope"
msgstr ""
msgstr "Bereik standaard waarde"
#. module: base
#: view:ir.ui.view:0
@ -9434,7 +9578,7 @@ msgstr "Aanmaakdatum"
#. module: base
#: help:ir.actions.server,trigger_name:0
msgid "The workflow signal to trigger"
msgstr ""
msgstr "Het workflow signaal om te triggeren"
#. module: base
#: model:ir.module.module,description:base.module_mrp
@ -9483,7 +9627,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,description:base.module_google_base_account
msgid "The module adds google user in res user"
msgstr ""
msgstr "De module voegt een Google gebruiker toe aan het gebruikers bestand"
#. module: base
#: selection:base.language.install,state:0
@ -9520,7 +9664,7 @@ msgstr "Algerije"
#. module: base
#: model:ir.module.module,shortdesc:base.module_plugin
msgid "CRM Plugins"
msgstr ""
msgstr "Relatiebeheer plugins"
#. module: base
#: model:ir.actions.act_window,name:base.action_model_model
@ -9623,7 +9767,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_mrp_jit
msgid "Just In Time Scheduling"
msgstr ""
msgstr "Just In Time Planning"
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions
@ -10013,7 +10157,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_synchro
msgid "Multi-DB Synchronization"
msgstr ""
msgstr "Meerdere databases synchronisatie"
#. module: base
#: selection:ir.module.module,complexity:0
@ -10054,6 +10198,9 @@ msgid ""
"Todo list for CRM leads and opportunities.\n"
" "
msgstr ""
"\n"
"TODO lijst voor relatiebeheer leads en prospects.\n"
" "
#. module: base
#: field:ir.actions.act_window.view,view_id:0
@ -10066,7 +10213,7 @@ msgstr "Weergave"
#. module: base
#: model:ir.module.module,shortdesc:base.module_wiki_sale_faq
msgid "Wiki: Sale FAQ"
msgstr ""
msgstr "Wiki: Verkoop FAQ"
#. module: base
#: selection:ir.module.module,state:0
@ -10232,6 +10379,20 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
"Deze module geeft u de mogelijkheid om het standaard factuurtarief te "
"definiëren per kostenplaats.\n"
"============================================================================="
"====\n"
"\n"
"Dit wordt vaak gebruikt wanneer een werknemer zijn urenstaat invult. De "
"waarden worden dan automatisch ingevuld, maar de mogelijkheid om deze aan te "
"passen blijft bestaan.\n"
"\n"
"Indien geen gegevens zijn ingevoerd voor de rekening, wordt de standaard "
"waarde van de kostenplaats gebruikt.\n"
"\n"
" "
#. module: base
#: model:ir.ui.menu,name:base.menu_fundrising
@ -10282,7 +10443,7 @@ msgstr "res.log"
#: view:workflow.activity:0
#: field:workflow.activity,flow_stop:0
msgid "Flow Stop"
msgstr "Einde werkschema"
msgstr "Einde workflow"
#. module: base
#: selection:ir.cron,interval_type:0
@ -10310,7 +10471,7 @@ msgstr "Fout !"
#. module: base
#: model:ir.module.module,shortdesc:base.module_marketing_campaign_crm_demo
msgid "Marketing Campaign - Demo"
msgstr ""
msgstr "Marketing Campagne - Demo gegevens"
#. module: base
#: model:ir.module.module,shortdesc:base.module_fetchmail_hr_recruitment
@ -10342,7 +10503,7 @@ msgstr "Deze methode bestaat niet meer"
#. module: base
#: model:ir.module.module,shortdesc:base.module_import_google
msgid "Google Import"
msgstr ""
msgstr "Google Import"
#. module: base
#: model:res.partner.category,name:base.res_partner_category_12
@ -10556,6 +10717,11 @@ msgid ""
"\n"
"Adds a Claim link to the delivery order.\n"
msgstr ""
"\n"
"Maak een claim van een uitgaande levering.\n"
"===================================\n"
"\n"
"Voegt claim link toe aan een uitgaande levering.\n"
#. module: base
#: view:ir.model:0
@ -10593,6 +10759,7 @@ msgstr "%A - Volledige naam van de dag."
#: help:ir.values,user_id:0
msgid "If set, action binding only applies for this user."
msgstr ""
"Indien aangevinkt is deze regel alleen van toepassing voor deze gebruiker."
#. module: base
#: model:res.country,name:base.gw
@ -10660,6 +10827,8 @@ msgstr "Voltooid"
msgid ""
"Specify if missed occurrences should be executed when the server restarts."
msgstr ""
"Specificeert of gemiste acties, opnieuw moeten worden gestart als de server "
"herstart."
#. module: base
#: model:res.partner.title,name:base.res_partner_title_miss
@ -11328,7 +11497,7 @@ msgstr "Alles stoppen"
#. module: base
#: model:ir.module.module,shortdesc:base.module_analytic_user_function
msgid "Jobs on Contracts"
msgstr ""
msgstr "Werknemerfunctie per contract/kostenplaats"
#. module: base
#: model:ir.module.module,description:base.module_import_sugarcrm
@ -11433,7 +11602,7 @@ msgstr "Contract bevestiging fout"
#. module: base
#: field:ir.values,key2:0
msgid "Qualifier"
msgstr ""
msgstr "Kwalificatie"
#. module: base
#: field:res.country.state,name:0
@ -11678,7 +11847,7 @@ msgstr "ir.wizard.screen"
#. module: base
#: model:ir.model,name:base.model_workflow
msgid "workflow"
msgstr "Werkschema"
msgstr "workflow"
#. module: base
#: code:addons/base/ir/ir_model.py:255
@ -11772,6 +11941,13 @@ msgid ""
"the invoicing wizard if the delivery is to be invoiced.\n"
" "
msgstr ""
"\n"
"Factuur wizard bij levering.\n"
"======================\n"
"\n"
"Deze module start de factuur wizard, direct na het verzamelen van een\n"
"inkomende of uitgaande levering en deze levering moet worden gefactureerd.\n"
" "
#. module: base
#: code:addons/orm.py:1388
@ -11903,7 +12079,7 @@ msgstr "Tunesië"
#. module: base
#: view:ir.actions.todo:0
msgid "Wizards to be Launched"
msgstr ""
msgstr "Wizards welke worden gestart"
#. module: base
#: model:ir.module.category,name:base.module_category_manufacturing
@ -12037,7 +12213,7 @@ msgstr ""
#. module: base
#: field:res.groups,trans_implied_ids:0
msgid "Transitively inherits"
msgstr ""
msgstr "Transitieve overerving"
#. module: base
#: field:ir.default,ref_table:0
@ -12247,7 +12423,7 @@ msgstr "Guatemala - Boekhouding"
#. module: base
#: help:ir.cron,args:0
msgid "Arguments to be passed to the method, e.g. (uid,)."
msgstr ""
msgstr "Argumenten welke worden doorgegeven aan de methodes, bijv. (uid)."
#. module: base
#: model:res.partner.category,name:base.res_partner_category_5
@ -12658,7 +12834,7 @@ msgstr "ir.actions.client"
#. module: base
#: help:ir.values,value:0
msgid "Default value (pickled) or reference to an action"
msgstr ""
msgstr "Standaardwaarde of verwijzing naar een actie"
#. module: base
#: sql_constraint:res.groups:0
@ -12717,7 +12893,7 @@ msgstr ""
#. module: base
#: view:ir.rule:0
msgid "Rule definition (domain filter)"
msgstr ""
msgstr "Regel definitie (domein filter)"
#. module: base
#: model:ir.model,name:base.model_workflow_instance
@ -12816,7 +12992,7 @@ msgstr "Low Level-objecten"
#. module: base
#: help:ir.values,model:0
msgid "Model to which this entry applies"
msgstr ""
msgstr "Model waarover deze regel gaat."
#. module: base
#: field:res.country,address_format:0
@ -12966,6 +13142,9 @@ msgid ""
" OpenERP Web kanban view.\n"
" "
msgstr ""
"\n"
" OpenERP Web kanban weergave.\n"
" "
#. module: base
#: model:ir.ui.menu,name:base.menu_project_management_time_tracking
@ -13163,6 +13342,9 @@ msgid ""
"Python code to be executed if condition is met.\n"
"It is a Python block that can use the same values as for the condition field"
msgstr ""
"Python code welke wordt gestart als aan de conditie is voldaan.\n"
"Het is een Python block dat dezelfde waardes kan gebruiken als voor een "
"conditie veld."
#. module: base
#: model:ir.actions.act_window,name:base.action_partner_supplier_form
@ -13306,7 +13488,7 @@ msgstr "Stel bankrekeningen in"
#. module: base
#: field:ir.actions.client,tag:0
msgid "Client action tag"
msgstr ""
msgstr "Client actie tag"
#. module: base
#: code:addons/base/res/res_lang.py:189
@ -13317,7 +13499,7 @@ msgstr "U kunt geen taal verwijderen die gebruikers voorkeurstaal is !"
#. module: base
#: field:ir.values,model_id:0
msgid "Model (change only)"
msgstr ""
msgstr "Model"
#. module: base
#: model:ir.module.module,description:base.module_marketing_campaign_crm_demo
@ -13330,6 +13512,13 @@ msgid ""
"marketing_campaign.\n"
" "
msgstr ""
"\n"
"Demo data voor de module marketing_campaign.\n"
"========================================\n"
"\n"
"maakt demo data aan, zoals leads, campagnes en segmenten voor de module "
"marketing_campaign.\n"
" "
#. module: base
#: selection:ir.actions.act_window.view,view_mode:0
@ -13379,6 +13568,8 @@ msgid ""
"The object that should receive the workflow signal (must have an associated "
"workflow)"
msgstr ""
"et object dat het workflow signaal moet ontvangen (moet een verbonden "
"workflow heben)"
#. module: base
#: model:ir.module.category,description:base.module_category_account_voucher
@ -13637,6 +13828,18 @@ msgid ""
"supplier in the routing of the assembly operation.\n"
" "
msgstr ""
"\n"
"Deze module maakt het mogelijk een tussentijdse verzamelproces mogelijk voor "
"de ontvangst van grondstoffen aan productieorders.\n"
"============================================================================="
"================\n"
"\n"
"Dit kunt u bijvoorbeeld gebruiken indien u productie uitbesteed aan uw "
"leverancier/onderaannemer.\n"
"Zet in dit geval bij de grondstof de optie \"Automatisch verzamelen\" uit en "
"zet de locatie van de leverancier\n"
"in de routing van de assemblage verwerking.\n"
" "
#. module: base
#: view:ir.actions.server:0
@ -13650,6 +13853,9 @@ msgid ""
"are available. To add a new language, you can use the 'Load an Official "
"Translation' wizard available from the 'Administration' menu."
msgstr ""
"De standaard taal welke wordt gebruikt in de user interface, wanneer "
"vertalingen aanwezig zijn. Om een nieuwe taal toe te voegen kunt u de \"Laad "
"een officiële vertaling\" gebruiken vanuit het instellingen menu."
#. module: base
#: model:ir.module.module,description:base.module_l10n_es
@ -13946,6 +14152,8 @@ msgid ""
"This cron task is currently being executed and may not be modified, please "
"try again in a few minutes"
msgstr ""
"Deze planner taak wordt op dit moment uitgevoerd en kan zodoende niet worden "
"aangepast. Probeert u het over enkele minuten opnieuw."
#. module: base
#: model:ir.module.module,description:base.module_product_expiry
@ -13962,6 +14170,17 @@ msgid ""
"\n"
"Used, for example, in food industries."
msgstr ""
"\n"
"Traceer verschillende datums van producten and productie partijen.\n"
"=======================================================\n"
"\n"
"de volgende datums kunnen worden getraceerd:\n"
" - THT datum\n"
" - Te gebruiken voor datum\n"
" - verwijder datum\n"
" - waarschuwing datum\n"
"\n"
"Wordt bijvoorbeeld gebruikt in de voedingsmiddelen industrie."
#. module: base
#: field:ir.exports.line,export_id:0
@ -14314,6 +14533,8 @@ msgstr "TLS (STARTTLS)"
#: help:ir.actions.act_window,usage:0
msgid "Used to filter menu and home actions from the user form."
msgstr ""
"Wordt gebruikt om het menu en home acties te filteren van het "
"gebruikersbestand."
#. module: base
#: model:res.country,name:base.sa
@ -14330,7 +14551,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_fetchmail_crm_claim
msgid "eMail Gateway for CRM Claim"
msgstr "E-mail gateway voor CRM Claims"
msgstr "E-mail Gateway voor klachtenregistratie"
#. module: base
#: help:res.partner,supplier:0
@ -14434,7 +14655,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,description:base.module_auth_openid
msgid "Allow users to login through OpenID."
msgstr ""
msgstr "Geeft gebruikers de mogelijkheid om in te loggen met OpenID."
#. module: base
#: model:ir.module.module,shortdesc:base.module_account_payment
@ -14541,6 +14762,8 @@ msgstr "En"
msgid ""
"Database identifier of the record to which this applies. 0 = for all records"
msgstr ""
"Database identifier van het record waar dit toe behoort. 0 = voor alle "
"records"
#. module: base
#: field:ir.model.fields,relation:0
@ -14623,7 +14846,7 @@ msgstr "Onderliggend veld"
#. module: base
#: view:ir.rule:0
msgid "Detailed algorithm:"
msgstr ""
msgstr "Gedetailleerde algoritme:"
#. module: base
#: field:ir.actions.act_window,usage:0
@ -14792,6 +15015,10 @@ msgid ""
" This module provides the core of the OpenERP web client.\n"
" "
msgstr ""
"\n"
" OpenERP Web core module.\n"
" deze module bevat de core functionaliteiten van de web cliënt.\n"
" "
#. module: base
#: sql_constraint:res.country:0
@ -14997,7 +15224,7 @@ msgstr ""
#: code:addons/orm.py:791
#, python-format
msgid "Serialization field `%s` not found for sparse field `%s`!"
msgstr ""
msgstr "Reeks veld '%s' niet gevonden voor sparse veld '%s'!"
#. module: base
#: model:res.country,name:base.jm
@ -15271,11 +15498,14 @@ msgid ""
" OpenERP Web test suite.\n"
" "
msgstr ""
"\n"
" OpenERP Web test suite.\n"
" "
#. module: base
#: view:ir.values:0
msgid "Action Bindings/Defaults"
msgstr ""
msgstr "Acties/Standaard waarden"
#. module: base
#: view:ir.rule:0
@ -15320,10 +15550,11 @@ msgid ""
"1,06,500;[1,2,-1] will represent it to be 106,50,0;[3] will represent it as "
"106,500. Provided ',' as the thousand separator in each case."
msgstr ""
"Het scheidingsformaat moet zoals [,n] zijn waarin 0 < n: -1 eindigt de "
"scheiding. Bijv. [3,2,-1] geeft op 106500 het volgende resultaat: 1,06,500. "
"[1,2,-1] geeft 106,50,0; [3] geeft 106,500. Er is in deze voorbeelden "
"uitgegaan van ',' als scheidingsteken."
"De instellingen voor het scheidingsteken heeft het formaat [,n] waarbij n > "
"0 gerekend vanaf het decimaalteken. -1 eindigt de scheiding. Bijv. [3,2,-1] "
"geeft op 106500 het volgende resultaat: 1,06,500. [1,2,-1] geeft 106,50,0; "
"[3] geeft 106,500. Er is in deze voorbeelden uitgegaan van ',' als "
"scheidingsteken."
#. module: base
#: field:ir.module.module,auto_install:0
@ -15649,7 +15880,7 @@ msgstr "Maanden"
#. module: base
#: view:workflow.instance:0
msgid "Workflow Instances"
msgstr "Exemplaren werkschema"
msgstr "Workflow instanties"
#. module: base
#: code:addons/base/res/res_partner.py:284
@ -15741,6 +15972,8 @@ msgid ""
"This field is computed automatically based on bank accounts defined, having "
"the display on footer checkbox set."
msgstr ""
"Dit veld wordt automatisch berekend, gebaseerd op de gedefinieerde "
"bankrekeningen, indien het veld voor het weergeven in de voet is aangevinkt."
#. module: base
#: model:ir.module.module,description:base.module_mrp_subproduct

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -4711,7 +4711,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "BTW"
#. module: base
@ -5598,7 +5598,7 @@ msgstr "STOCK_MEDIA_PAUSE"
#. module: base
#: help:res.country.state,code:0
msgid "The state code in three chars.\n"
msgid "The state code in max. three chars."
msgstr "De provinciecode in drie karakters.\n"
#. module: base

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:15+0000\n"
"PO-Revision-Date: 2012-08-20 15:42+0000\n"
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -29,7 +29,7 @@ msgstr "Inna konfiguracja"
#. module: base
#: selection:ir.property,type:0
msgid "DateTime"
msgstr ""
msgstr "Data i godzina"
#. module: base
#: model:ir.module.module,shortdesc:base.module_project_mailgate
@ -83,7 +83,7 @@ msgstr "Kod (np:en__US)"
#: field:workflow.transition,wkf_id:0
#: field:workflow.workitem,wkf_id:0
msgid "Workflow"
msgstr "Obieg"
msgstr "Przebieg procesu"
#. module: base
#: selection:ir.sequence,implementation:0
@ -98,7 +98,7 @@ msgstr "Węgierski"
#. module: base
#: selection:base.language.install,lang:0
msgid "Spanish (PY) / Español (PY)"
msgstr ""
msgstr "Hiszpański (PY) / Español (PY)"
#. module: base
#: model:ir.module.category,description:base.module_category_project_management

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-06-05 10:01+0000\n"
"PO-Revision-Date: 2012-08-20 15:49+0000\n"
"Last-Translator: Tiago Rodrigues <tig.rodrigues@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:03+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 15:46+0000\n"
"PO-Revision-Date: 2012-08-20 15:27+0000\n"
"Last-Translator: Dorin <dhongu@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:03+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -460,7 +460,7 @@ msgstr "Obiect Sursa"
#. module: base
#: model:res.partner.bank.type,format_layout:base.bank_normal
msgid "%(bank_name)s: %(acc_number)s"
msgstr "%(nume_banca)s: %(numar_de_cont)s"
msgstr "%(bank_name)s: %(acc_number)s"
#. module: base
#: view:ir.actions.todo:0

File diff suppressed because it is too large Load Diff

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:57+0000\n"
"PO-Revision-Date: 2012-08-20 15:39+0000\n"
"Last-Translator: Peter Kohaut <peter.kohaut@gmail.com>\n"
"Language-Team: Slovak <sk@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 15:48+0000\n"
"PO-Revision-Date: 2012-08-20 15:52+0000\n"
"Last-Translator: Mustufa Rangwala (Open ERP) <mra@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:36+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 04:57+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 15:52+0000\n"
"PO-Revision-Date: 2012-08-20 15:30+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"Language-Team: Serbian <sr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:42+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:03+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-server\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-02-15 22:07+0000\n"
"Last-Translator: zmmaj <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:35+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:46+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-06-18 22:03+0000\n"
"PO-Revision-Date: 2012-08-20 15:27+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"Language-Team: <>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -873,7 +873,7 @@ msgstr "Kambodja (kungariket)"
#: field:base.language.import,overwrite:0
#: field:base.language.install,overwrite:0
msgid "Overwrite Existing Terms"
msgstr "Skriv över existerande villkor"
msgstr "Skriv över nuvarande fraser"
#. module: base
#: model:ir.model,name:base.model_base_language_import
@ -7241,7 +7241,7 @@ msgstr ""
#. module: base
#: view:res.widget.wizard:0
msgid "Widget Wizard"
msgstr "Widget Wizard"
msgstr "Komponentguide"
#. module: base
#: model:ir.module.module,shortdesc:base.module_l10n_hn
@ -10676,7 +10676,7 @@ msgstr ""
#. module: base
#: view:ir.actions.todo.category:0
msgid "Wizard Category"
msgstr ""
msgstr "Guidekategori"
#. module: base
#: model:ir.module.module,description:base.module_account_cancel
@ -10995,7 +10995,7 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_ir_actions_todo_category
msgid "Configuration Wizard Category"
msgstr ""
msgstr "Konfigurationsguidekategori"
#. module: base
#: view:base.module.update:0

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -13,8 +13,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-02-09 21:13+0000\n"
"Last-Translator: Ahmet Altınışık <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:34+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -50,7 +50,7 @@ msgstr ""
#: field:ir.ui.view,arch:0
#: field:ir.ui.view.custom,arch:0
msgid "View Architecture"
msgstr "Mimari Görüntüleme"
msgstr "Görünüm Yapısı"
#. module: base
#: model:ir.module.module,description:base.module_project

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:43+0000\n"
"PO-Revision-Date: 2012-08-20 15:49+0000\n"
"Last-Translator: Antony Lesuisse (OpenERP) <al@openerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:43+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:04+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -4551,7 +4551,7 @@ msgstr "html"
#. module: base
#: field:res.partner,vat:0
msgid "VAT"
msgid "TIN"
msgstr "ПДВ"
#. module: base
@ -5424,7 +5424,7 @@ msgstr "STOCK_MEDIA_PAUSE"
#. module: base
#: help:res.country.state,code:0
msgid "The state code in three chars.\n"
msgid "The state code in max. three chars."
""
msgstr ""

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2011-11-05 03:38+0000\n"
"Last-Translator: Vuong Kien Hung <Unknown>\n"
"PO-Revision-Date: 2012-08-20 15:37+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"Language-Team: Vietnamese <vi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-03-11 06:21+0000\n"
"PO-Revision-Date: 2012-08-20 15:29+0000\n"
"Last-Translator: Wei \"oldrev\" Li <oldrev@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh
@ -10216,6 +10216,9 @@ msgid ""
" OpenERP Web example module.\n"
" "
msgstr ""
"\n"
" OpenERP Web 示例模块。\n"
" "
#. module: base
#: model:res.country,name:base.gy
@ -11508,7 +11511,7 @@ msgstr "阿尔巴尼亚"
msgid ""
"Level of difficulty of module. Easy: intuitive and easy to use for everyone. "
"Normal: easy to use for business experts. Expert: requires technical skills."
msgstr ""
msgstr "模块难度。简单:直观、易于使用。普通:对商务专家来说易于使用。专家:需要技术能力。"
#. module: base
#: code:addons/base/res/res_lang.py:191
@ -11973,7 +11976,7 @@ msgid ""
"This wizard helps you to import a new module to your OpenERP system. After "
"importing a new module you can install it by clicking on the button "
"\"Install\" from the form view."
msgstr ""
msgstr "此向导帮助您向 OpenERP 系统中导入一个新模块。模块导入后,您可以通过点击表单视图上的\"安装\"按钮进行安装。"
#. module: base
#: model:res.country,name:base.ch
@ -12953,7 +12956,7 @@ msgstr "哥斯达黎加"
#. module: base
#: model:ir.module.module,shortdesc:base.module_base_module_doc_rst
msgid "Generate Docs of Modules"
msgstr ""
msgstr "生成模块文档"
#. module: base
#: model:res.company,overdue_msg:base.main_company
@ -12969,7 +12972,7 @@ msgstr ""
#. module: base
#: model:ir.module.module,shortdesc:base.module_users_ldap
msgid "Authentication via LDAP"
msgstr ""
msgstr "使用 LDAP 认证"
#. module: base
#: view:workflow.activity:0
@ -13160,7 +13163,7 @@ msgstr ""
#. module: base
#: field:res.country,address_format:0
msgid "Address Format"
msgstr ""
msgstr "地址格式"
#. module: base
#: model:ir.model,name:base.model_ir_values

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:44+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:05+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
"PO-Revision-Date: 2012-01-31 16:14+0000\n"
"PO-Revision-Date: 2012-08-20 15:41+0000\n"
"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-07-19 04:45+0000\n"
"X-Generator: Launchpad (build 15637)\n"
"X-Launchpad-Export-Date: 2012-10-20 05:06+0000\n"
"X-Generator: Launchpad (build 16165)\n"
#. module: base
#: model:res.country,name:base.sh

View File

@ -20,8 +20,6 @@
##############################################################################
import ir_model
import ir_model_constraint
import ir_model_relation
import ir_sequence
import ir_needaction
import ir_ui_menu
@ -40,6 +38,7 @@ import wizard
import ir_config_parameter
import osv_memory_autovacuum
import ir_mail_server
import ir_fields
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

File diff suppressed because it is too large Load Diff

View File

@ -19,14 +19,11 @@
#
##############################################################################
import ast
import copy
import logging
import os
import re
import time
import tools
from xml import dom
import netsvc
from osv import fields,osv
@ -35,6 +32,7 @@ from tools.config import config
from tools.safe_eval import safe_eval as eval
from tools.translate import _
from socket import gethostname
from openerp import SUPERUSER_ID
_logger = logging.getLogger(__name__)
@ -43,9 +41,12 @@ class actions(osv.osv):
_table = 'ir_actions'
_order = 'name'
_columns = {
'name': fields.char('Action Name', required=True, size=64),
'name': fields.char('Name', size=64, required=True),
'type': fields.char('Action Type', required=True, size=32,readonly=True),
'usage': fields.char('Action Usage', size=32),
'help': fields.text('Action description',
help='Optional help text for the users with a description of the target view, such as its usage and purpose.',
translate=True),
}
_defaults = {
'usage': lambda *a: False,
@ -106,6 +107,7 @@ class report_xml(osv.osv):
r['report_xsl'] and opj('addons',r['report_xsl']))
_name = 'ir.actions.report.xml'
_inherit = 'ir.actions.actions'
_table = 'ir_act_report_xml'
_sequence = 'ir_actions_id_seq'
_order = 'name'
@ -154,6 +156,7 @@ report_xml()
class act_window(osv.osv):
_name = 'ir.actions.act_window'
_table = 'ir_act_window'
_inherit = 'ir.actions.actions'
_sequence = 'ir_actions_id_seq'
_order = 'name'
@ -244,9 +247,6 @@ class act_window(osv.osv):
'filter': fields.boolean('Filter'),
'auto_search':fields.boolean('Auto Search'),
'search_view' : fields.function(_search_view, type='text', string='Search View'),
'help': fields.text('Action description',
help='Optional help text for the users with a description of the target view, such as its usage and purpose.',
translate=True),
'multi': fields.boolean('Action on Multiple Doc.', help="If set to true, the action will not be displayed on the right toolbar of a form view"),
}
@ -271,7 +271,7 @@ class act_window(osv.osv):
:return: A read() view of the ir.actions.act_window
"""
dataobj = self.pool.get('ir.model.data')
data_id = dataobj._get_id (cr, 1, module, xml_id)
data_id = dataobj._get_id (cr, SUPERUSER_ID, module, xml_id)
res_id = dataobj.browse(cr, uid, data_id, context).res_id
return self.read(cr, uid, res_id, [], context)
@ -328,8 +328,9 @@ class act_wizard(osv.osv):
act_wizard()
class act_url(osv.osv):
_name = 'ir.actions.url'
_name = 'ir.actions.act_url'
_table = 'ir_act_url'
_inherit = 'ir.actions.actions'
_sequence = 'ir_actions_id_seq'
_order = 'name'
_columns = {
@ -431,6 +432,7 @@ class actions_server(osv.osv):
_name = 'ir.actions.server'
_table = 'ir_act_server'
_inherit = 'ir.actions.actions'
_sequence = 'ir_actions_id_seq'
_order = 'sequence,name'
_columns = {
@ -572,7 +574,7 @@ class actions_server(osv.osv):
# ids : original ids
# id : current id of the object
# OUT:
# False : Finnished correctly
# False : Finished correctly
# ACTION_ID : Action to launch
# FIXME: refactor all the eval() calls in run()!
@ -764,12 +766,12 @@ class ir_actions_todo(osv.osv):
'action_id': fields.many2one(
'ir.actions.actions', 'Action', select=True, required=True),
'sequence': fields.integer('Sequence'),
'state': fields.selection(TODO_STATES, string='State', required=True),
'state': fields.selection(TODO_STATES, string='Status', required=True),
'name': fields.char('Name', size=64),
'type': fields.selection(TODO_TYPES, 'Type', required=True,
help="""Manual: Launched manually.
Automatic: Runs whenever the system is reconfigured.
Launch Manually Once: after hacing been launched manually, it sets automatically to Done."""),
Launch Manually Once: after having been launched manually, it sets automatically to Done."""),
'groups_id': fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
'note': fields.text('Text', translate=True),
}
@ -860,11 +862,10 @@ class act_client(osv.osv):
_order = 'name'
def _get_params(self, cr, uid, ids, field_name, arg, context):
return dict([
((record.id, ast.literal_eval(record.params_store))
if record.params_store else (record.id, False))
for record in self.browse(cr, uid, ids, context=context)
])
result = {}
for record in self.browse(cr, uid, ids, context=context):
result[record.id] = record.params_store and eval(record.params_store, {'uid': uid}) or False
return result
def _set_params(self, cr, uid, id, field_name, field_value, arg, context):
if isinstance(field_value, dict):
@ -873,10 +874,15 @@ class act_client(osv.osv):
self.write(cr, uid, id, {'params_store': field_value}, context=context)
_columns = {
'name': fields.char('Action Name', required=True, size=64, translate=True),
'tag': fields.char('Client action tag', size=64, required=True,
help="An arbitrary string, interpreted by the client"
" according to its own needs and wishes. There "
"is no central tag repository across clients."),
'res_model': fields.char('Destination Model', size=64,
help="Optional model, mostly used for needactions."),
'context': fields.char('Context Value', size=250, required=True,
help="Context dictionary as Python expression, empty by default (Default: {})"),
'params': fields.function(_get_params, fnct_inv=_set_params,
type='binary',
string="Supplementary arguments",
@ -886,6 +892,7 @@ class act_client(osv.osv):
}
_defaults = {
'type': 'ir.actions.client',
'context': '{}',
}
act_client()

View File

@ -0,0 +1,507 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Actions -->
<record id="action_view" model="ir.ui.view">
<field name="name">ir.actions.actions</field>
<field name="model">ir.actions.actions</field>
<field name="arch" type="xml">
<form string="Action" version="7.0">
<group>
<field name="name"/>
<field name="type"/>
<field name="usage"/>
</group>
</form>
</field>
</record>
<record id="action_view_tree" model="ir.ui.view">
<field name="name">ir.actions.actions.tree</field>
<field name="model">ir.actions.actions</field>
<field name="arch" type="xml">
<tree string="Action">
<field name="name"/>
<field name="type"/>
</tree>
</field>
</record>
<record id="action_view_search" model="ir.ui.view">
<field name="name">ir.actions.actions.search</field>
<field name="model">ir.actions.actions</field>
<field name="arch" type="xml">
<search string="Action">
<field name="name" filter_domain="['|', ('name','ilike',self), ('type','ilike',self)]" string="Action"/>
</search>
</field>
</record>
<record id="ir_sequence_actions" model="ir.actions.act_window">
<field name="name">Actions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.actions</field>
<field name="view_type">form</field>
<field name="view_id" ref="action_view_tree"/>
<field name="search_view_id" ref="action_view_search"/>
</record>
<menuitem id="next_id_6" name="Actions" parent="base.menu_custom" sequence="2"/>
<menuitem action="ir_sequence_actions" id="menu_ir_sequence_actions" parent="next_id_6"/>
<record id="act_report_xml_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml</field>
<field name="model">ir.actions.report.xml</field>
<field name="arch" type="xml">
<form string="Report" version="7.0">
<group>
<group>
<field name="name"/>
<field name="report_name"/>
<field name="model"/>
</group>
<group>
<field name="usage"/>
<field name="report_type"/>
<field name="report_file"/>
</group>
</group>
<notebook>
<page string="Other Configuration">
<group>
<group string="RML Report">
<field name="header"/>
</group>
<group string="XML Report">
<field name="report_xsl"/>
<field name="report_xml"/>
</group>
<group string="Attachments">
<field name="attachment"/>
<field name="attachment_use"/>
</group>
<group string="Miscellaneous">
<field name="multi"/>
<field name="auto"/>
</group>
</group>
</page>
<page string="Security">
<field name="groups_id"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="act_report_xml_view_tree" model="ir.ui.view">
<field name="name">ir.actions.report.xml.tree</field>
<field name="model">ir.actions.report.xml</field>
<field name="arch" type="xml">
<tree string="Report xml">
<field name="name"/>
<field name="model"/>
<field name="type"/>
<field name="report_name"/>
<field name="report_type"/>
<field name="attachment"/>
</tree>
</field>
</record>
<record id="act_report_xml_search_view" model="ir.ui.view">
<field name="name">ir.actions.report.xml.search</field>
<field name="model">ir.actions.report.xml</field>
<field name="arch" type="xml">
<search string="Report Xml">
<field name="name"
filter_domain="['|', '|', '|', '|', ('name','ilike',self), ('model','ilike',self), ('type','ilike',self), ('report_name','ilike',self), ('report_type','ilike',self)]"
string="Report"/>
<group expand="0" string="Group By" colspan="4">
<filter string="Report Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'report_type'}"/>
</group>
</search>
</field>
</record>
<record id="ir_action_report_xml" model="ir.actions.act_window">
<field name="name">Reports</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.report.xml</field>
<field name="view_type">form</field>
<field name="view_id" ref="act_report_xml_view_tree"/>
<field name="search_view_id" ref="act_report_xml_search_view"/>
</record>
<menuitem action="ir_action_report_xml" id="menu_ir_action_report_xml" parent="base.next_id_6"/>
<record id="view_window_action_tree" model="ir.ui.view">
<field name="name">ir.actions.windows.tree</field>
<field name="model">ir.actions.act_window</field>
<field name="arch" type="xml">
<tree string="Open Window">
<field name="name"/>
<field name="res_model"/>
<field name="view_type"/>
<field name="view_id"/>
<field name="domain"/>
</tree>
</field>
</record>
<record id="view_window_action_form" model="ir.ui.view">
<field name="name">ir.actions.windows.form</field>
<field name="model">ir.actions.act_window</field>
<field name="arch" type="xml">
<form string="Open a Window" version="7.0">
<group>
<group>
<field name="name"/>
<field name="res_model" string="Object"/>
<field name="src_model" string="Source Object"/>
</group>
<group>
<field name="usage"/>
<field name="type" readonly="1"/>
<field name="target"/>
</group>
</group>
<notebook>
<page string="General Settings">
<group>
<group string="Views">
<field name="view_type"/>
<field name="view_mode"/>
<field name="view_id"/>
<field name="search_view_id"/>
</group>
<group string="Filters">
<field name="domain"/>
<field name="context"/>
<field name="limit"/>
<field name="auto_refresh"/>
<field name="auto_search"/>
<field name="filter"/>
</group>
</group>
<group string="Help">
<field colspan="2" name="help" nolabel="1"/>
</group>
<group string="Views">
<field colspan="2" name="view_ids" nolabel="1">
<form string="Views" version="7.0">
<group>
<field colspan="4" name="sequence"/>
<field name="view_mode"/>
<field domain="[('type', '=', view_mode)]" name="view_id"/>
</group>
</form>
<tree string="Views">
<field name="sequence"/>
<field name="view_mode"/>
<field name="view_id"/>
</tree>
</field>
</group>
</page>
<page string="Security">
<field name="groups_id"/>
</page>
</notebook>
</form>
</field>
</record>
<record id="view_window_action_search" model="ir.ui.view">
<field name="name">ir.actions.windows.search</field>
<field name="model">ir.actions.act_window</field>
<field name="arch" type="xml">
<search string="Open a Window">
<field name="name" filter_domain="['|', ('name','ilike',self), ('res_model','ilike',self)]" string="Action"/>
<field name="view_type"/>
<group expand="0" string="Group By" colspan="4">
<filter string="View Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'view_type'}"/>
</group>
</search>
</field>
</record>
<record id="ir_action_window" model="ir.actions.act_window">
<field name="name">Window Actions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="view_window_action_search"/>
</record>
<record id="ir_action_window_view1" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_window_action_tree"/>
<field name="act_window_id" ref="ir_action_window"/>
</record>
<record id="ir_action_window_view2" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_window_action_form"/>
<field name="act_window_id" ref="ir_action_window"/>
</record>
<menuitem action="ir_action_window" id="menu_ir_action_window" parent="base.next_id_6"/>
<record id="act_wizard_view_tree" model="ir.ui.view">
<field name="name">ir.actions.wizard.tree</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<tree string="Wizard">
<field name="name"/>
<field name="wiz_name"/>
<field name="multi"/>
</tree>
</field>
</record>
<record id="act_wizard_view" model="ir.ui.view">
<field name="name">ir.actions.wizard</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<form string="Wizards" version="7.0">
<group col="4">
<field name="name"/>
<field name="type"/>
<field name="wiz_name"/>
<field name="multi"/>
</group>
<label for="groups_id"/>
<field name="groups_id"/>
</form>
</field>
</record>
<record id="act_wizard_search_view" model="ir.ui.view">
<field name="name">ir.actions.wizard.search</field>
<field name="model">ir.actions.wizard</field>
<field name="arch" type="xml">
<search string="Wizards">
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('type','ilike',self), ('wiz_name','ilike',self)]"
string="Wizard"/>
</search>
</field>
</record>
<record id="ir_action_wizard" model="ir.actions.act_window">
<field name="name">Wizards</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.wizard</field>
<field name="view_type">form</field>
<field name="search_view_id" ref="act_wizard_search_view"/>
</record>
<menuitem action="ir_action_wizard" id="menu_ir_action_wizard" parent="base.next_id_6"/>
<record id="property_rule" model="ir.rule">
<field name="name">Property multi-company</field>
<field model="ir.model" name="model_id" ref="model_ir_property"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','child_of',[user.company_id.id]),('company_id','=',False)]</field>
</record>
<!--server action view-->
<record id="view_server_action_form" model="ir.ui.view">
<field name="name">Server Action</field>
<field name="model">ir.actions.server</field>
<field name="arch" type="xml">
<form string="Server Action" version="7.0">
<group>
<group>
<field name="name"/>
<field name="model_id"/>
<field name="state"/>
</group>
<group>
<field name="condition"/>
<field name="sequence"/>
</group>
</group>
<notebook colspan="4">
<page string="Python Code" attrs="{'invisible':[('state','!=','code')]}">
<field name="code"/>
</page>
<page string="Trigger" attrs="{'invisible':[('state','!=','trigger')]}">
<group string="Trigger Configuration" col="4">
<field name="wkf_model_id" attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_obj_id" context="{'key':''}"
domain="[('model_id','=',model_id),('ttype','in',['many2one','int'])]"
attrs="{'required':[('state','=','trigger')]}"/>
<field name="trigger_name" attrs="{'required':[('state','=','trigger')]}"/>
</group>
</page>
<page string="Action to Launch" attrs="{'invisible':[('state','!=','client_action')]}">
<group>
<field name="action_id" attrs="{'required':[('state','=','client_action')]}"/>
</group>
</page>
<page string="Email Configuration" attrs="{'invisible':[('state','!=','email')]}">
<group>
<field name="email" domain="[('model_id','=',model_id)]" attrs="{'required':[('state','=','email')]}"/>
<field name="subject" attrs="{'required':[('state','=','email')]}"/>
<field name="message" attrs="{'required':[('state','=','email')]}"/>
<newline/>
<label colspan="2" string="Access all the fields related to the current object using expressions, i.e. object.partner_id.name " align="0.0"/>
</group>
</page>
<page string="SMS Configuration" attrs="{'invisible':[('state','!=','sms')]}">
<group>
<field name="mobile" domain="[('model_id','=',model_id)]" attrs="{'required':[('state','=','sms')]}"/>
<field name="sms" attrs="{'required':[('state','=','sms')]}"/>
</group>
<label string="Access all the fields related to the current object using expressions, i.e. object.partner_id.name " align="0.0"/>
</page>
<page string="Create / Write / Copy" attrs="{'invisible':[('state','!=','object_create'), ('state','!=','object_write'), ('state','!=','object_copy')]}">
<group col="4" string="Fields Mapping">
<field name="srcmodel_id" attrs="{'required':[('state','!=','dummy'), ('state','!=','sms'), ('state','!=','code'), ('state','!=','loop'), ('state','!=','trigger'), ('state','!=','object_copy'), ('state','!=','client_action'), ('state','!=','email'), ('state','!=','sms'), ('state','!=','other')]}"/>
<field name="copy_object" on_change="change_object(copy_object, state)" attrs="{'required':[('state','!=','dummy'), ('state','!=','sms'), ('state','!=','code'), ('state','!=','loop'), ('state','!=','trigger'), ('state','!=','object_write'), ('state','!=','object_create'), ('state','!=','client_action'), ('state','!=','email'), ('state','!=','sms'), ('state','!=','other')]}"/>
<field name="fields_lines" nolabel="1" colspan="2">
<tree string="Field Mappings" editable="top">
<field name="col1" domain="[('model_id','=',parent.srcmodel_id or parent.model_id)]"/>
<field name="type"/>
<field name="value" colspan="4"/>
</tree>
<form string="Field Mapping" version="7.0">
<group col="4">
<field name="col1" domain="[('model_id','=',parent.srcmodel_id or parent.model_id)]"/>
<field name="type"/>
<field name="value" colspan="4"/>
</group>
</form>
</field>
<field name="record_id" attrs="{'readonly':[('state','!=','object_create')]}" domain="[('model_id','in',[model_id])]"/>
<field name="write_id" attrs="{'readonly':[('state','!=','object_write')]}"/>
</group>
<label string="If you use a formula type, use a python expression using the variable 'object'." align="0.0"/>
</page>
<page string="Iteration Actions" attrs="{'invisible':[('state','!=','loop')]}">
<group col="4">
<field name="expression" attrs="{'required':[('state','=','loop')]}"/>
<field name="loop_action" domain="[('state','!=','loop')]" attrs="{'required':[('state','=','loop')]}"/>
</group>
</page>
<page string="Multi Actions" attrs="{'invisible':[('state','!=','other')]}">
<field name="child_ids"/>
<label string="Only one client action will be executed, last client action will be considered in case of multiple client actions." align="0.0"/>
</page>
</notebook>
<field name="type" readonly="1"/>
</form>
</field>
</record>
<record id="view_server_action_tree" model="ir.ui.view">
<field name="name">Server Actions</field>
<field name="model">ir.actions.server</field>
<field name="arch" type="xml">
<tree string="Server Actions">
<field name="name"/>
<field name="state"/>
<field name="model_id"/>
<field name="sequence"/>
</tree>
</field>
</record>
<record id="view_server_action_search" model="ir.ui.view">
<field name="name">ir.actions.server.search</field>
<field name="model">ir.actions.server</field>
<field name="arch" type="xml">
<search string="Server Actions">
<field name="name" string="Server Action"/>
<field name="model_id"/>
<field name="state"/>
<group expand="0" string="Group By" colspan="4" col="4">
<filter string="Action Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'state'}"/>
</group>
</search>
</field>
</record>
<record id="action_server_action" model="ir.actions.act_window">
<field name="name">Server Actions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.actions.server</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_server_action_tree"/>
<field name="search_view_id" ref="view_server_action_search"/>
<field name="context">{'key':'server_action'}</field>
</record>
<menuitem action="action_server_action" id="menu_server_action" parent="base.next_id_6"/>
<!-- ir.actions.todo -->
<record id="ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field>
<field name="arch" type="xml">
<tree string="Config Wizard Steps">
<field name="sequence"/>
<field name="action_id"/>
<field name="type"/>
<field name="state" readonly="1"/>
<button name="action_launch" states="open" string="Launch" type="object" icon="gtk-execute" help="Launch Configuration Wizard"/>
<button name="action_open" states="done"
string="Todo" type="object" help="Set as Todo"
icon="gtk-convert"/>
</tree>
</field>
</record>
<record id="config_wizard_step_view_form" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">Config Wizard Steps</field>
<field name="arch" type="xml">
<form string="Config Wizard Steps" version="7.0">
<header>
<button name="action_launch"
states="open" string="Launch"
type="object" icon="gtk-execute" class="oe_highlight"
help="Launch Configuration Wizard"/>
<button name="action_open" states="done"
string="Set as Todo" type="object"
icon="gtk-convert" class="oe_highlight"/>
<field name="state" widget="statusbar" statusbar_visible="open,done" nolabel="1" readonly="1" statusbar_colors='{"open":"red","done":"blue"}'/>
</header>
<sheet>
<group col="4">
<field name="action_id"/>
<field name="type"/>
<field name="sequence"/>
</group>
<group string="Groups">
<field name="groups_id" nolabel="1" colspan="4"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="config_wizard_step_view_search" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">ir.actions.todo.select</field>
<field name="arch" type="xml">
<search string="Search Actions">
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<field name="action_id"/>
<field name="state"/>
</search>
</field>
</record>
<record id="act_ir_actions_todo_form" model="ir.actions.act_window">
<field name="name">Configuration Wizards</field>
<field name="res_model">ir.actions.todo</field>
<field name="view_id" ref="ir_actions_todo_tree"/>
<field name="view_type">form</field>
<field name="help">The configuration wizards are used to help you configure a new instance of OpenERP. They are launched during the installation of new modules, but you can choose to restart some wizards manually from this menu.</field>
</record>
<menuitem id="menu_ir_actions_todo" name="Configuration Wizards" parent="menu_custom" sequence="20" groups="base.group_no_one"/>
<menuitem id="menu_ir_actions_todo_form" action="act_ir_actions_todo_form" parent="menu_ir_actions_todo"/>
</data>
</openerp>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Attachment -->
<record id="view_attachment_form" model="ir.ui.view">
<field name="model">ir.attachment</field>
<field name="arch" type="xml">
<form string="Attachments" version="7.0">
<sheet>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
<group>
<group string="Data">
<field name="type"/>
<field name="datas" filename="datas_fname" attrs="{'invisible':[('type','=','url')]}"/>
<field name="datas_fname" invisible="1" attrs="{'invisible':[('type','=','url')]}" class="oe_inline oe_right"/>
<field name="url" widget="url" attrs="{'invisible':[('type','=','binary')]}"/>
</group>
<group string="Attached To">
<field name="res_model"/>
<field name="res_id"/>
<field name="res_name"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group groups="base.group_no_one" string="History">
<label for="create_uid" string="Creation"/>
<div name="creation_div">
<field name="create_uid" readonly="1" class="oe_inline"/> on
<field name="create_date" readonly="1" class="oe_inline"/>
</div>
</group>
<group name="description_group" string="Description" colspan="4">
<field name="description" nolabel="1"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_attachment_tree" model="ir.ui.view">
<field name="model">ir.attachment</field>
<field name="arch" type="xml">
<tree string="Attachments">
<field name="name"/>
<field name="datas_fname"/>
<field name="type" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="create_uid"/>
<field name="create_date"/>
</tree>
</field>
</record>
<record id="view_attachment_search" model="ir.ui.view">
<field name="model">ir.attachment</field>
<field name="arch" type="xml">
<search string="Attachments">
<field name="name" filter_domain="['|', ('name','ilike',self), ('datas_fname','ilike',self)]" string="Attachment"/>
<field name="create_date"/>
<filter icon="terp-stage"
string="URL"
domain="[('type','=','url')]"/>
<filter icon="terp-stock_align_left_24"
string="Binary"
domain="[('type','=','binary')]"/>
<separator/>
<filter name="my_documents_filter"
string="My Document(s)"
icon="terp-personal"
domain="[('create_uid','=',uid)]"
help="Filter on my documents"/>
<field name="create_uid"/>
<field name="type"/>
<group expand="0" string="Group By...">
<filter string="Owner" icon="terp-personal" domain="[]" context="{'group_by':'create_uid'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}" groups="base.group_no_one"/>
<filter string="Company" icon="terp-gtk-home" domain="[]" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
<filter string="Month" help="Creation Month" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}"/>
</group>
</search>
</field>
</record>
<record id="action_attachment" model="ir.actions.act_window">
<field name="name">Attachments</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.attachment</field>
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_attachment_search"/>
</record>
<menuitem action="action_attachment" id="menu_action_attachment" parent="base.next_id_4"/>
</data>
</openerp>

View File

@ -26,6 +26,7 @@ from osv import osv,fields
import uuid
import datetime
from tools import misc, config
from openerp import SUPERUSER_ID
"""
A dictionary holding some configuration parameters to be initialized when the database is created.
@ -55,9 +56,9 @@ class ir_config_parameter(osv.osv):
Initializes the parameters listed in _default_parameters.
"""
for key, func in _default_parameters.iteritems():
ids = self.search(cr, 1, [('key','=',key)])
ids = self.search(cr, SUPERUSER_ID, [('key','=',key)])
if not ids:
self.set_param(cr, 1, key, func())
self.set_param(cr, SUPERUSER_ID, key, func())
def get_param(self, cr, uid, key, default=False, context=None):
"""Retrieve the value for a given key.

View File

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="view_ir_config_search">
<field name="name">ir.config_parameter.search</field>
<field name="model">ir.config_parameter</field>
<field name="arch" type="xml">
<search string="System Properties">
@ -13,7 +11,6 @@
</field>
</record>
<record model="ir.ui.view" id="view_ir_config_list">
<field name="name">ir.config_parameter.list</field>
<field name="model">ir.config_parameter</field>
<field name="arch" type="xml">
<tree string="System Parameters">
@ -23,7 +20,6 @@
</field>
</record>
<record model="ir.ui.view" id="view_ir_config_form">
<field name="name">ir.config_parameter.form</field>
<field name="model">ir.config_parameter</field>
<field name="arch" type="xml">
<form string="System Parameters" version="7.0">
@ -36,7 +32,6 @@
</form>
</field>
</record>
<act_window name="System Parameters" res_model="ir.config_parameter" id="ir_config_list_action"/>
<menuitem id="ir_config_menu" name="System Parameters" parent="menu_ir_property" action="ir_config_list_action"/>
</data>

View File

@ -266,6 +266,105 @@ class ir_cron(osv.osv):
cr.commit()
cr.close()
def _process_job(self, cr, job):
""" Run a given job taking care of the repetition.
The cursor has a lock on the job (aquired by _acquire_job()).
:param job: job to be run (as a dictionary).
"""
try:
now = datetime.now()
nextcall = datetime.strptime(job['nextcall'], DEFAULT_SERVER_DATETIME_FORMAT)
numbercall = job['numbercall']
ok = False
while nextcall < now and numbercall:
if numbercall > 0:
numbercall -= 1
if not ok or job['doall']:
self._callback(cr, job['user_id'], job['model'], job['function'], job['args'], job['id'])
if numbercall:
nextcall += _intervalTypes[job['interval_type']](job['interval_number'])
ok = True
addsql = ''
if not numbercall:
addsql = ', active=False'
cr.execute("UPDATE ir_cron SET nextcall=%s, numbercall=%s"+addsql+" WHERE id=%s",
(nextcall.strftime(DEFAULT_SERVER_DATETIME_FORMAT), numbercall, job['id']))
finally:
cr.commit()
cr.close()
@classmethod
def _acquire_job(cls, db_name):
# TODO remove 'check' argument from addons/base_action_rule/base_action_rule.py
""" Try to process one cron job.
This selects in database all the jobs that should be processed. It then
tries to lock each of them and, if it succeeds, run the cron job (if it
doesn't succeed, it means the job was already locked to be taken care
of by another thread) and return.
If a job was processed, returns True, otherwise returns False.
"""
db = openerp.sql_db.db_connect(db_name)
cr = db.cursor()
try:
# Careful to compare timestamps with 'UTC' - everything is UTC as of v6.1.
cr.execute("""SELECT * FROM ir_cron
WHERE numbercall != 0
AND active AND nextcall <= (now() at time zone 'UTC')
ORDER BY priority""")
for job in cr.dictfetchall():
task_cr = db.cursor()
try:
# Try to grab an exclusive lock on the job row from within the task transaction
acquired_lock = False
task_cr.execute("""SELECT *
FROM ir_cron
WHERE id=%s
FOR UPDATE NOWAIT""",
(job['id'],), log_exceptions=False)
acquired_lock = True
except psycopg2.OperationalError, e:
if e.pgcode == '55P03':
# Class 55: Object not in prerequisite state; 55P03: lock_not_available
_logger.debug('Another process/thread is already busy executing job `%s`, skipping it.', job['name'])
continue
else:
# Unexpected OperationalError
raise
finally:
if not acquired_lock:
# we're exiting due to an exception while acquiring the lot
task_cr.close()
# Got the lock on the job row, run its code
_logger.debug('Starting job `%s`.', job['name'])
openerp.modules.registry.RegistryManager.check_registry_signaling(db_name)
registry = openerp.pooler.get_pool(db_name)
registry[cls._name]._process_job(task_cr, job)
openerp.modules.registry.RegistryManager.signal_caches_change(db_name)
return True
except psycopg2.ProgrammingError, e:
if e.pgcode == '42P01':
# Class 42 — Syntax Error or Access Rule Violation; 42P01: undefined_table
# The table ir_cron does not exist; this is probably not an OpenERP database.
_logger.warning('Tried to poll an undefined table on database %s.', db_name)
else:
raise
except Exception, ex:
_logger.warning('Exception in cron:', exc_info=True)
finally:
cr.commit()
cr.close()
return False
def update_running_cron(self, cr):
""" Schedule as soon as possible a wake-up for this database. """
# Verify whether the server is already started and thus whether we need to commit

View File

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ir.cron -->
<record id="ir_cron_view" model="ir.ui.view">
<field name="model">ir.cron</field>
<field name="arch" type="xml">
<form string="Scheduled Actions" version="7.0">
<sheet>
<group col="4">
<field name="name"/>
<field name="active"/>
<field name="user_id" />
<field name="priority" />
</group>
<notebook>
<page string="Information">
<group col="4">
<field name="interval_number"/>
<field name="interval_type"/>
<newline/>
<field name="nextcall"/>
<field name="numbercall"/>
<field name="doall"/>
</group>
</page>
<page string="Technical Data" groups="base.group_no_one">
<group string="Action to Trigger">
<field name="model"/>
<field name="function"/>
</group>
<label for="args"/>
<field name="args"/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="ir_cron_view_tree" model="ir.ui.view">
<field name="model">ir.cron</field>
<field name="arch" type="xml">
<tree string="Scheduled Actions">
<field name="priority" string="Sequence"/>
<field name="name"/>
<field name="nextcall"/>
<field name="interval_number"/>
<field name="interval_type"/>
<field name="numbercall"/>
<field name="user_id" invisible="1"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="ir_cron_view_calendar">
<field name="model">ir.cron</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Scheduled Actions" date_start="nextcall" color="user_id">
<field name="name"/>
<field name="user_id"/>
</calendar>
</field>
</record>
<record id="ir_cron_view_search" model="ir.ui.view">
<field name="model">ir.cron</field>
<field name="arch" type="xml">
<search string="Scheduled Actions">
<field name="name" string="Scheduled Action"/>
<field name="user_id"/>
<field name="nextcall"/>
<field name="active"/>
<group expand="0" string="Group By...">
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Execution" icon="terp-go-month"
domain="[]" context="{'group_by':'nextcall'}" />
</group>
</search>
</field>
</record>
<record id="ir_cron_act" model="ir.actions.act_window">
<field name="name">Scheduled Actions</field>
<field name="res_model">ir.cron</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="context">{'active_test': False}</field>
<field name="view_id" ref="ir_cron_view_tree"/>
</record>
<menuitem id="menu_ir_cron" name="Scheduler" parent="menu_custom" groups="base.group_no_one" sequence="23"/>
<menuitem id="menu_ir_cron_act" action="ir_cron_act" parent="menu_ir_cron"/>
</data>
</openerp>

View File

@ -0,0 +1,365 @@
# -*- coding: utf-8 -*-
import datetime
import functools
import operator
import itertools
import time
import psycopg2
import pytz
from openerp.osv import orm
from openerp.tools.translate import _
from openerp.tools.misc import DEFAULT_SERVER_DATE_FORMAT,\
DEFAULT_SERVER_DATETIME_FORMAT
REFERENCING_FIELDS = set([None, 'id', '.id'])
def only_ref_fields(record):
return dict((k, v) for k, v in record.iteritems()
if k in REFERENCING_FIELDS)
def exclude_ref_fields(record):
return dict((k, v) for k, v in record.iteritems()
if k not in REFERENCING_FIELDS)
CREATE = lambda values: (0, False, values)
UPDATE = lambda id, values: (1, id, values)
DELETE = lambda id: (2, id, False)
FORGET = lambda id: (3, id, False)
LINK_TO = lambda id: (4, id, False)
DELETE_ALL = lambda: (5, False, False)
REPLACE_WITH = lambda ids: (6, False, ids)
class ConversionNotFound(ValueError): pass
class ir_fields_converter(orm.Model):
_name = 'ir.fields.converter'
def to_field(self, cr, uid, model, column, fromtype=str, context=None):
""" Fetches a converter for the provided column object, from the
specified type.
A converter is simply a callable taking a value of type ``fromtype``
(or a composite of ``fromtype``, e.g. list or dict) and returning a
value acceptable for a write() on the column ``column``.
By default, tries to get a method on itself with a name matching the
pattern ``_$fromtype_to_$column._type`` and returns it.
Converter callables can either return a value and a list of warnings
to their caller or raise ``ValueError``, which will be interpreted as a
validation & conversion failure.
ValueError can have either one or two parameters. The first parameter
is mandatory, **must** be a unicode string and will be used as the
user-visible message for the error (it should be translatable and
translated). It can contain a ``field`` named format placeholder so the
caller can inject the field's translated, user-facing name (@string).
The second parameter is optional and, if provided, must be a mapping.
This mapping will be merged into the error dictionary returned to the
client.
If a converter can perform its function but has to make assumptions
about the data, it can send a warning to the user through adding an
instance of :class:`~openerp.osv.orm.ImportWarning` to the second value
it returns. The handling of a warning at the upper levels is the same
as ``ValueError`` above.
:param column: column object to generate a value for
:type column: :class:`fields._column`
:param type fromtype: type to convert to something fitting for ``column``
:param context: openerp request context
:return: a function (fromtype -> column.write_type), if a converter is found
:rtype: Callable | None
"""
# FIXME: return None
converter = getattr(
self, '_%s_to_%s' % (fromtype.__name__, column._type), None)
if not converter: return None
return functools.partial(
converter, cr, uid, model, column, context=context)
def _str_to_boolean(self, cr, uid, model, column, value, context=None):
# all translatables used for booleans
true, yes, false, no = _(u"true"), _(u"yes"), _(u"false"), _(u"no")
# potentially broken casefolding? What about locales?
trues = set(word.lower() for word in itertools.chain(
[u'1', u"true", u"yes"], # don't use potentially translated values
self._get_translations(cr, uid, ['code'], u"true", context=context),
self._get_translations(cr, uid, ['code'], u"yes", context=context),
))
if value.lower() in trues: return True, []
# potentially broken casefolding? What about locales?
falses = set(word.lower() for word in itertools.chain(
[u'', u"0", u"false", u"no"],
self._get_translations(cr, uid, ['code'], u"false", context=context),
self._get_translations(cr, uid, ['code'], u"no", context=context),
))
if value.lower() in falses: return False, []
return True, [orm.ImportWarning(
_(u"Unknown value '%s' for boolean field '%%(field)s', assuming '%s'")
% (value, yes), {
'moreinfo': _(u"Use '1' for yes and '0' for no")
})]
def _str_to_integer(self, cr, uid, model, column, value, context=None):
try:
return int(value), []
except ValueError:
raise ValueError(
_(u"'%s' does not seem to be an integer for field '%%(field)s'")
% value)
def _str_to_float(self, cr, uid, model, column, value, context=None):
try:
return float(value), []
except ValueError:
raise ValueError(
_(u"'%s' does not seem to be a number for field '%%(field)s'")
% value)
def _str_id(self, cr, uid, model, column, value, context=None):
return value, []
_str_to_char = _str_to_text = _str_to_binary = _str_id
def _str_to_date(self, cr, uid, model, column, value, context=None):
try:
time.strptime(value, DEFAULT_SERVER_DATE_FORMAT)
return value, []
except ValueError:
raise ValueError(
_(u"'%s' does not seem to be a valid date for field '%%(field)s'") % value, {
'moreinfo': _(u"Use the format '%s'") % u"2012-12-31"
})
def _input_tz(self, cr, uid, context):
# if there's a tz in context, try to use that
if context.get('tz'):
try:
return pytz.timezone(context['tz'])
except pytz.UnknownTimeZoneError:
pass
# if the current user has a tz set, try to use that
user = self.pool['res.users'].read(
cr, uid, [uid], ['tz'], context=context)[0]
if user['tz']:
try:
return pytz.timezone(user['tz'])
except pytz.UnknownTimeZoneError:
pass
# fallback if no tz in context or on user: UTC
return pytz.UTC
def _str_to_datetime(self, cr, uid, model, column, value, context=None):
if context is None: context = {}
try:
parsed_value = datetime.datetime.strptime(
value, DEFAULT_SERVER_DATETIME_FORMAT)
except ValueError:
raise ValueError(
_(u"'%s' does not seem to be a valid datetime for field '%%(field)s'") % value, {
'moreinfo': _(u"Use the format '%s'") % u"2012-12-31 23:59:59"
})
input_tz = self._input_tz(cr, uid, context)# Apply input tz to the parsed naive datetime
dt = input_tz.localize(parsed_value, is_dst=False)
# And convert to UTC before reformatting for writing
return dt.astimezone(pytz.UTC).strftime(DEFAULT_SERVER_DATETIME_FORMAT), []
def _get_translations(self, cr, uid, types, src, context):
types = tuple(types)
# Cache translations so they don't have to be reloaded from scratch on
# every row of the file
tnx_cache = cr.cache.setdefault(self._name, {})
if tnx_cache.setdefault(types, {}) and src in tnx_cache[types]:
return tnx_cache[types][src]
Translations = self.pool['ir.translation']
tnx_ids = Translations.search(
cr, uid, [('type', 'in', types), ('src', '=', src)], context=context)
tnx = Translations.read(cr, uid, tnx_ids, ['value'], context=context)
result = tnx_cache[types][src] = map(operator.itemgetter('value'), tnx)
return result
def _str_to_selection(self, cr, uid, model, column, value, context=None):
selection = column.selection
if not isinstance(selection, (tuple, list)):
# FIXME: Don't pass context to avoid translations?
# Or just copy context & remove lang?
selection = selection(model, cr, uid)
for item, label in selection:
labels = self._get_translations(
cr, uid, ('selection', 'model', 'code'), label, context=context)
labels.append(label)
if value == unicode(item) or value in labels:
return item, []
raise ValueError(
_(u"Value '%s' not found in selection field '%%(field)s'") % (
value), {
'moreinfo': [label or unicode(item) for item, label in selection
if label or item]
})
def db_id_for(self, cr, uid, model, column, subfield, value, context=None):
""" Finds a database id for the reference ``value`` in the referencing
subfield ``subfield`` of the provided column of the provided model.
:param model: model to which the column belongs
:param column: relational column for which references are provided
:param subfield: a relational subfield allowing building of refs to
existing records: ``None`` for a name_get/name_search,
``id`` for an external id and ``.id`` for a database
id
:param value: value of the reference to match to an actual record
:param context: OpenERP request context
:return: a pair of the matched database identifier (if any), the
translated user-readable name for the field and the list of
warnings
:rtype: (ID|None, unicode, list)
"""
if context is None: context = {}
id = None
warnings = []
action = {'type': 'ir.actions.act_window', 'target': 'new',
'view_mode': 'tree,form', 'view_type': 'form',
'views': [(False, 'tree'), (False, 'form')],
'help': _(u"See all possible values")}
if subfield is None:
action['res_model'] = column._obj
elif subfield in ('id', '.id'):
action['res_model'] = 'ir.model.data'
action['domain'] = [('model', '=', column._obj)]
RelatedModel = self.pool[column._obj]
if subfield == '.id':
field_type = _(u"database id")
try: tentative_id = int(value)
except ValueError: tentative_id = value
try:
if RelatedModel.search(cr, uid, [('id', '=', tentative_id)],
context=context):
id = tentative_id
except psycopg2.DataError:
# type error
raise ValueError(
_(u"Invalid database id '%s' for the field '%%(field)s'") % value,
{'moreinfo': action})
elif subfield == 'id':
field_type = _(u"external id")
if '.' in value:
module, xid = value.split('.', 1)
else:
module, xid = context.get('_import_current_module', ''), value
ModelData = self.pool['ir.model.data']
try:
_model, id = ModelData.get_object_reference(
cr, uid, module, xid)
except ValueError: pass # leave id is None
elif subfield is None:
field_type = _(u"name")
ids = RelatedModel.name_search(
cr, uid, name=value, operator='=', context=context)
if ids:
if len(ids) > 1:
warnings.append(orm.ImportWarning(
_(u"Found multiple matches for field '%%(field)s' (%d matches)")
% (len(ids))))
id, _name = ids[0]
else:
raise Exception(_(u"Unknown sub-field '%s'") % subfield)
if id is None:
raise ValueError(
_(u"No matching record found for %(field_type)s '%(value)s' in field '%%(field)s'")
% {'field_type': field_type, 'value': value},
{'moreinfo': action})
return id, field_type, warnings
def _referencing_subfield(self, record):
""" Checks the record for the subfields allowing referencing (an
existing record in an other table), errors out if it finds potential
conflicts (multiple referencing subfields) or non-referencing subfields
returns the name of the correct subfield.
:param record:
:return: the record subfield to use for referencing and a list of warnings
:rtype: str, list
"""
# Can import by name_get, external id or database id
fieldset = set(record.iterkeys())
if fieldset - REFERENCING_FIELDS:
raise ValueError(
_(u"Can not create Many-To-One records indirectly, import the field separately"))
if len(fieldset) > 1:
raise ValueError(
_(u"Ambiguous specification for field '%(field)s', only provide one of name, external id or database id"))
# only one field left possible, unpack
[subfield] = fieldset
return subfield, []
def _str_to_many2one(self, cr, uid, model, column, values, context=None):
# Should only be one record, unpack
[record] = values
subfield, w1 = self._referencing_subfield(record)
reference = record[subfield]
id, subfield_type, w2 = self.db_id_for(
cr, uid, model, column, subfield, reference, context=context)
return id, w1 + w2
def _str_to_many2many(self, cr, uid, model, column, value, context=None):
[record] = value
subfield, warnings = self._referencing_subfield(record)
ids = []
for reference in record[subfield].split(','):
id, subfield_type, ws = self.db_id_for(
cr, uid, model, column, subfield, reference, context=context)
ids.append(id)
warnings.extend(ws)
return [REPLACE_WITH(ids)], warnings
def _str_to_one2many(self, cr, uid, model, column, records, context=None):
commands = []
warnings = []
if len(records) == 1 and exclude_ref_fields(records[0]) == {}:
# only one row with only ref field, field=ref1,ref2,ref3 as in
# m2o/m2m
record = records[0]
subfield, ws = self._referencing_subfield(record)
warnings.extend(ws)
# transform [{subfield:ref1,ref2,ref3}] into
# [{subfield:ref1},{subfield:ref2},{subfield:ref3}]
records = ({subfield:item} for item in record[subfield].split(','))
for record in records:
id = None
refs = only_ref_fields(record)
# there are ref fields in the record
if refs:
subfield, w1 = self._referencing_subfield(refs)
warnings.extend(w1)
reference = record[subfield]
id, subfield_type, w2 = self.db_id_for(
cr, uid, model, column, subfield, reference, context=context)
warnings.extend(w2)
writable = exclude_ref_fields(record)
if id:
commands.append(LINK_TO(id))
commands.append(UPDATE(id, writable))
else:
commands.append(CREATE(writable))
return commands, warnings

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Restrict modifications on ir.filters to owner only -->
<record id="ir_filters_rule" model="ir.rule">
@ -12,7 +11,6 @@
<data>
<record id="ir_filters_view_form" model="ir.ui.view">
<field name="name">ir.filters.form</field>
<field name="model">ir.filters</field>
<field name="arch" type="xml">
<form string="Filters" version="7.0">
@ -30,9 +28,7 @@
</form>
</field>
</record>
<record id="ir_filters_view_tree" model="ir.ui.view">
<field name="name">ir.filters.tree</field>
<field name="model">ir.filters</field>
<field name="arch" type="xml">
<tree string="Filters">
@ -44,9 +40,7 @@
</tree>
</field>
</record>
<record id="ir_filters_view_search" model="ir.ui.view">
<field name="name">ir.filters.search</field>
<field name="model">ir.filters</field>
<field name="arch" type="xml">
<search string="Filters">
@ -62,13 +56,11 @@
</search>
</field>
</record>
<record id="actions_ir_filters_view" model="ir.actions.act_window">
<field name="name">Filters</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">ir.filters</field>
</record>
<menuitem parent="base.next_id_2" name="User-defined Filters"
id="menu_ir_filters" action="actions_ir_filters_view" sequence="5"/>
</data>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- ir.mail.server -->
<record model="ir.ui.view" id="ir_mail_server_form">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<form string="Outgoing Mail Servers" version="7.0">
<sheet>
<group col="4">
<field name="name"/>
<field name="sequence"/>
</group>
<group col="4" string="Connection Information">
<field name="smtp_host"/>
<field name="smtp_port"/>
<field name="smtp_debug" groups="base.group_no_one"/>
</group>
<group string="Security and Authentication" colspan="4">
<field name="smtp_encryption" on_change="on_change_encryption(smtp_encryption)"/>
<field name="smtp_user"/>
<field name="smtp_pass" password="True"/>
<button name="test_smtp_connection" type="object" string="Test Connection" icon="gtk-network"/>
</group>
</sheet>
</form>
</field>
</record>
<record model="ir.ui.view" id="ir_mail_server_list">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<tree string="Outgoing Mail Servers">
<field name="sequence"/>
<field name="name"/>
<field name="smtp_host"/>
<field name="smtp_user"/>
<field name="smtp_encryption"/>
</tree>
</field>
</record>
<record id="view_ir_mail_server_search" model="ir.ui.view">
<field name="model">ir.mail_server</field>
<field name="arch" type="xml">
<search string="Outgoing Mail Servers">
<field name="name"
filter_domain="['|', '|', ('name','ilike',self), ('smtp_host','ilike',self), ('smtp_user','ilike',self)]"
string="Outgoing Mail Server"/>
<field name="smtp_encryption"/>
</search>
</field>
</record>
<record model="ir.actions.act_window" id="action_ir_mail_server_list">
<field name="name">Outgoing Mail Servers</field>
<field name="res_model">ir.mail_server</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="ir_mail_server_list" />
<field name="search_view_id" ref="view_ir_mail_server_search"/>
</record>
<menuitem id="menu_mail_servers" parent="menu_email" action="action_ir_mail_server_list" sequence="15" groups="base.group_no_one"/>
</data>
</openerp>

View File

@ -24,8 +24,11 @@ import re
import time
import types
from openerp.osv import fields,osv
import openerp
from openerp import SUPERUSER_ID
from openerp import netsvc, pooler, tools
from openerp.osv import fields,osv
from openerp.osv.orm import Model
from openerp.tools.safe_eval import safe_eval as eval
from openerp.tools import config
from openerp.tools.translate import _
@ -58,7 +61,6 @@ def _in_modules(self, cr, uid, ids, field_name, arg, context=None):
result[k] = ', '.join(sorted(installed_modules & set(xml_id.split('.')[0] for xml_id in v)))
return result
class ir_model(osv.osv):
_name = 'ir.model'
_description = "Models"
@ -183,7 +185,6 @@ class ir_model(osv.osv):
res = super(ir_model,self).create(cr, user, vals, context)
if vals.get('state','base')=='manual':
self.instanciate(cr, user, vals['model'], context)
self.pool.get(vals['model']).__init__(self.pool, cr)
ctx = dict(context,
field_name=vals['name'],
field_state='manual',
@ -198,12 +199,13 @@ class ir_model(osv.osv):
x_custom_model._name = model
x_custom_model._module = False
a = x_custom_model.create_instance(self.pool, cr)
if (not a._columns) or ('x_name' in a._columns.keys()):
if not a._columns:
x_name = 'id'
elif 'x_name' in a._columns.keys():
x_name = 'x_name'
else:
x_name = a._columns.keys()[0]
x_custom_model._rec_name = x_name
ir_model()
class ir_model_fields(osv.osv):
_name = 'ir.model.fields'
@ -461,12 +463,134 @@ class ir_model_fields(osv.osv):
obj._auto_init(cr, ctx)
return res
ir_model_fields()
class ir_model_constraint(Model):
"""
This model tracks PostgreSQL foreign keys and constraints used by OpenERP
models.
"""
_name = 'ir.model.constraint'
_columns = {
'name': fields.char('Constraint', required=True, size=128, select=1,
help="PostgreSQL constraint or foreign key name."),
'model': fields.many2one('ir.model', string='Model',
required=True, select=1),
'module': fields.many2one('ir.module.module', string='Module',
required=True, select=1),
'type': fields.char('Constraint Type', required=True, size=1, select=1,
help="Type of the constraint: `f` for a foreign key, "
"`u` for other constraints."),
'date_update': fields.datetime('Update Date'),
'date_init': fields.datetime('Initialization Date')
}
_sql_constraints = [
('module_name_uniq', 'unique(name, module)',
'Constraints with the same name are unique per module.'),
]
def _module_data_uninstall(self, cr, uid, ids, context=None):
"""
Delete PostgreSQL foreign keys and constraints tracked by this model.
"""
if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
context = dict(context or {})
ids_set = set(ids)
ids.sort()
ids.reverse()
for data in self.browse(cr, uid, ids, context):
model = data.model.model
model_obj = self.pool.get(model)
name = openerp.tools.ustr(data.name)
typ = data.type
# double-check we are really going to delete all the owners of this schema element
cr.execute("""SELECT id from ir_model_constraint where name=%s""", (data.name,))
external_ids = [x[0] for x in cr.fetchall()]
if (set(external_ids)-ids_set):
# as installed modules have defined this element we must not delete it!
continue
if typ == 'f':
# test if FK exists on this table (it could be on a related m2m table, in which case we ignore it)
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('f', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped FK CONSTRAINT %s@%s', name, model)
if typ == 'u':
# test if constraint exists
cr.execute("""SELECT 1 from pg_constraint cs JOIN pg_class cl ON (cs.conrelid = cl.oid)
WHERE cs.contype=%s and cs.conname=%s and cl.relname=%s""", ('u', name, model_obj._table))
if cr.fetchone():
cr.execute('ALTER TABLE "%s" DROP CONSTRAINT "%s"' % (model_obj._table, name),)
_logger.info('Dropped CONSTRAINT %s@%s', name, model)
self.unlink(cr, uid, ids, context)
class ir_model_relation(Model):
"""
This model tracks PostgreSQL tables used to implement OpenERP many2many
relations.
"""
_name = 'ir.model.relation'
_columns = {
'name': fields.char('Relation Name', required=True, size=128, select=1,
help="PostgreSQL table name implementing a many2many relation."),
'model': fields.many2one('ir.model', string='Model',
required=True, select=1),
'module': fields.many2one('ir.module.module', string='Module',
required=True, select=1),
'date_update': fields.datetime('Update Date'),
'date_init': fields.datetime('Initialization Date')
}
def _module_data_uninstall(self, cr, uid, ids, context=None):
"""
Delete PostgreSQL many2many relations tracked by this model.
"""
if uid != SUPERUSER_ID and not self.pool.get('ir.model.access').check_groups(cr, uid, "base.group_system"):
raise except_orm(_('Permission Denied'), (_('Administrator access is required to uninstall a module')))
ids_set = set(ids)
to_drop_table = []
ids.sort()
ids.reverse()
for data in self.browse(cr, uid, ids, context):
model = data.model
model_obj = self.pool.get(model)
name = openerp.tools.ustr(data.name)
# double-check we are really going to delete all the owners of this schema element
cr.execute("""SELECT id from ir_model_relation where name = %s""", (data.name,))
external_ids = [x[0] for x in cr.fetchall()]
if (set(external_ids)-ids_set):
# as installed modules have defined this element we must not delete it!
continue
cr.execute("SELECT 1 FROM information_schema.tables WHERE table_name=%s", (name,))
if cr.fetchone() and not name in to_drop_table:
to_drop_table.append(name)
self.unlink(cr, uid, ids, context)
# drop m2m relation tables
for table in to_drop_table:
cr.execute('DROP TABLE %s CASCADE'% (table),)
_logger.info('Dropped table %s', table)
cr.commit()
class ir_model_access(osv.osv):
_name = 'ir.model.access'
_columns = {
'name': fields.char('Name', size=64, required=True, select=True),
'active': fields.boolean('Active', help='If you uncheck the active field, it will disable the ACL without deleting it (if you delete a native ACL, it will be re-created when you reload the module.'),
'model_id': fields.many2one('ir.model', 'Object', required=True, domain=[('osv_memory','=', False)], select=True, ondelete='cascade'),
'group_id': fields.many2one('res.groups', 'Group', ondelete='cascade', select=True),
'perm_read': fields.boolean('Read Access'),
@ -474,6 +598,9 @@ class ir_model_access(osv.osv):
'perm_create': fields.boolean('Create Access'),
'perm_unlink': fields.boolean('Delete Access'),
}
_defaults = {
'active': True,
}
def check_groups(self, cr, uid, group):
grouparr = group.split('.')
@ -498,14 +625,16 @@ class ir_model_access(osv.osv):
cr.execute("SELECT perm_" + mode + " "
" FROM ir_model_access a "
" JOIN ir_model m ON (m.id = a.model_id) "
" WHERE m.model = %s AND a.group_id = %s", (model_name, group_id)
" WHERE m.model = %s AND a.active IS True "
" AND a.group_id = %s", (model_name, group_id)
)
r = cr.fetchone()
if r is None:
cr.execute("SELECT perm_" + mode + " "
" FROM ir_model_access a "
" JOIN ir_model m ON (m.id = a.model_id) "
" WHERE m.model = %s AND a.group_id IS NULL", (model_name, )
" WHERE m.model = %s AND a.active IS True "
" AND a.group_id IS NULL", (model_name, )
)
r = cr.fetchone()
@ -530,6 +659,7 @@ class ir_model_access(osv.osv):
LEFT JOIN ir_module_category c ON (c.id=g.category_id)
WHERE
m.model=%s AND
a.active IS True AND
a.perm_''' + access_mode, (model_name,))
return [('%s/%s' % x) if x[0] else x[1] for x in cr.fetchall()]
@ -549,7 +679,9 @@ class ir_model_access(osv.osv):
model_name = model
# TransientModel records have no access rights, only an implicit access rule
if self.pool.get(model_name).is_transient():
if not self.pool.get(model_name):
_logger.error('Missing model %s' % (model_name, ))
elif self.pool.get(model_name).is_transient():
return True
# We check if a specific rule exists
@ -559,6 +691,7 @@ class ir_model_access(osv.osv):
' JOIN res_groups_users_rel gu ON (gu.gid = a.group_id) '
' WHERE m.model = %s '
' AND gu.uid = %s '
' AND a.active IS True '
, (model_name, uid,)
)
r = cr.fetchone()[0]
@ -570,6 +703,7 @@ class ir_model_access(osv.osv):
' JOIN ir_model m ON (m.id = a.model_id) '
' WHERE a.group_id IS NULL '
' AND m.model = %s '
' AND a.active IS True '
, (model_name,)
)
r = cr.fetchone()[0]
@ -631,8 +765,6 @@ class ir_model_access(osv.osv):
res = super(ir_model_access, self).unlink(cr, uid, *args, **argv)
return res
ir_model_access()
class ir_model_data(osv.osv):
"""Holds external identifier keys for records in the database.
This has two main uses:
@ -931,6 +1063,9 @@ class ir_model_data(osv.osv):
ir_model_relation = self.pool.get('ir.model.relation')
relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove)])
ir_module_module = self.pool.get('ir.module.module')
modules_to_remove_ids = ir_module_module.search(cr, uid, [('name', 'in', modules_to_remove)])
relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
ir_model_relation._module_data_uninstall(cr, uid, relation_ids, context)
unlink_if_refcount((model, res_id) for model, res_id in to_unlink
@ -963,5 +1098,4 @@ class ir_model_data(osv.osv):
_logger.info('Deleting %s@%s', res_id, model)
self.pool.get(model).unlink(cr, uid, [res_id])
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

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