merge upstream
bzr revid: chs@openerp.com-20121116183109-v9ngqr1uehx1o0dy bzr revid: chs@openerp.com-20121120140507-r86jl1lxqb7pxapj bzr revid: chs@openerp.com-20121123110820-8w4dr0u5i8eusv8q
This commit is contained in:
commit
0e50931671
|
@ -10,13 +10,25 @@ Installation from sources
|
|||
|
||||
.. _getting_started_installation_source-link:
|
||||
|
||||
Source code is hosted on Launchpad_. In order to get the sources, you will need Bazaar_ to pull the source from Launchpad. Bazaar is a version control system that helps you track project history over time and collaborate efficiently. You may have to create an account on Launchpad to be able to collaborate on OpenERP development. Please refer to the Launchpad and Bazaar documentation to install and setup your development environment.
|
||||
Source code is hosted on Launchpad_. In order to get the sources, you
|
||||
will need Bazaar_ to pull the source from Launchpad. Bazaar is a
|
||||
version control system that helps you track project history over time
|
||||
and collaborate efficiently. You may have to create an account on
|
||||
Launchpad to be able to collaborate on OpenERP development. Please
|
||||
refer to the Launchpad and Bazaar documentation to install and setup
|
||||
your development environment.
|
||||
|
||||
The running example of this section is based on an Ubuntu environment. You may have to adapt the steps according to your system. Once your working environment is ready, prepare a working directory that will contain the sources. For a ``source`` base directory, type::
|
||||
The running example of this section is based on an Ubuntu
|
||||
environment. You may have to adapt the steps according to your
|
||||
system. Once your working environment is ready, prepare a working
|
||||
directory that will contain the sources. For a ``source`` base
|
||||
directory, type::
|
||||
|
||||
mkdir source;cd source
|
||||
|
||||
OpenERP provides a setup script that automatizes the tasks of creating a shared repository and getting the source code. Get the setup script of OpenERP by typing::
|
||||
OpenERP provides a setup script that automatizes the tasks of creating
|
||||
a shared repository and getting the source code. Get the setup script
|
||||
of OpenERP by typing::
|
||||
|
||||
bzr cat -d lp:~openerp-dev/openerp-tools/trunk setup.sh | sh
|
||||
|
||||
|
@ -29,27 +41,30 @@ If you want some help about the available options, please type::
|
|||
|
||||
make help
|
||||
|
||||
Next step is to initialize the shared repository and download the sources. Get the current trunk version of OpenERP by typing::
|
||||
Next step is to initialize the shared repository and download the
|
||||
sources. Get the current trunk version of OpenERP by typing::
|
||||
|
||||
make init-trunk
|
||||
|
||||
This will create the following structure inside your ``source`` directory, and fetch the latest source code from ``trunk``::
|
||||
This will create the following structure inside your ``source``
|
||||
directory, and fetch the latest source code from ``trunk``::
|
||||
|
||||
drwxrwxr-x 3 openerp openerp 4096 2012-04-17 11:10 addons
|
||||
drwxrwxr-x 3 openerp openerp 4096 2012-04-17 11:10 misc
|
||||
drwxrwxr-x 3 openerp openerp 4096 2012-04-17 11:10 server
|
||||
drwxrwxr-x 3 openerp openerp 4096 2012-04-17 11:10 web
|
||||
|
||||
Some dependencies are necessary to use OpenERP. Depending on your environment, you might have to install the following packages::
|
||||
Some dependencies are necessary to use OpenERP. Depending on your
|
||||
environment, you might have to install the following packages::
|
||||
|
||||
sudo apt-get install graphviz ghostscript postgresql-client
|
||||
|
||||
sudo apt-get install python-dateutil python-feedparser python-gdata
|
||||
python-ldap python-libxslt1 python-lxml python-mako, python-openid
|
||||
python-psycopg2 python-pybabel python-pychart python-pydot
|
||||
python-pyparsing python-reportlab python-simplejson python-tz
|
||||
python-vatnumber python-vobject python-webdav python-werkzeug python-xlwt
|
||||
python-yaml python-imaging python-matplotlib
|
||||
sudo apt-get install graphviz ghostscript postgresql-client \
|
||||
python-dateutil python-feedparser python-gdata \
|
||||
python-ldap python-libxslt1 python-lxml python-mako \
|
||||
python-openid python-psycopg2 python-pybabel python-pychart \
|
||||
python-pydot python-pyparsing python-reportlab python-simplejson \
|
||||
python-tz python-vatnumber python-vobject python-webdav \
|
||||
python-werkzeug python-xlwt python-yaml python-imaging \
|
||||
python-matplotlib
|
||||
|
||||
Next step is to initialize the database. This will create a new openerp role::
|
||||
|
||||
|
@ -59,7 +74,8 @@ Finally, launch the OpenERP server::
|
|||
|
||||
make server
|
||||
|
||||
Testing your installation can be done on http://localhost:8069/ . You should see the OpenERP main login page.
|
||||
Testing your installation can be done on http://localhost:8069/. You
|
||||
should see the OpenERP main login page.
|
||||
|
||||
.. _Launchpad: https://launchpad.net/
|
||||
.. _Bazaar: http://bazaar.canonical.com/en/
|
||||
|
@ -67,12 +83,12 @@ Testing your installation can be done on http://localhost:8069/ . You should see
|
|||
Command line options
|
||||
====================
|
||||
|
||||
.. program:: openerp-server
|
||||
|
||||
Using the command ::
|
||||
|
||||
./openerp-server --help
|
||||
|
||||
gives you the available command line options. For OpenERP server at revision 4133, an output example is given in the `Command line options example`_. Here are a few interesting command line options.
|
||||
|
||||
General Options
|
||||
+++++++++++++++
|
||||
|
||||
|
@ -117,7 +133,8 @@ Database related options
|
|||
Internationalization options
|
||||
++++++++++++++++++++++++++++
|
||||
|
||||
Use these options to translate OpenERP to another language.See i18n section of the user manual. Option '-l' is mandatory.::
|
||||
Use these options to translate OpenERP to another language.See i18n
|
||||
section of the user manual. Option '-l' is mandatory.::
|
||||
|
||||
-l LANGUAGE, --language=LANGUAGE
|
||||
specify the language of the translation file. Use it
|
||||
|
@ -134,8 +151,9 @@ Use these options to translate OpenERP to another language.See i18n section of t
|
|||
Options from previous versions
|
||||
++++++++++++++++++++++++++++++
|
||||
|
||||
Some options were removed in OpenERP version 6. For example, ``price_accuracy`` is now
|
||||
configured through the :ref:`decimal_accuracy` screen.
|
||||
Some options were removed in OpenERP version 6. For example,
|
||||
``price_accuracy`` is now configured through the
|
||||
:ref:`decimal_accuracy` screen.
|
||||
|
||||
Configuration
|
||||
==============
|
||||
|
@ -147,7 +165,12 @@ Two configuration files are available:
|
|||
* one for the client: ``~/.openerprc``
|
||||
* one for the server: ``~/.openerp_serverrc``
|
||||
|
||||
If they are not found, the server and the client will start with a default configuration. Those files follow the convention used by python's ConfigParser module. Please note that lines beginning with "#" or ";" are comments. The client configuration file is automatically generated upon the first start. The sezrver configuration file can automatically be created using the command ::
|
||||
If they are not found, the server and the client will start with a
|
||||
default configuration. Those files follow the convention used by
|
||||
python's ConfigParser module. Please note that lines beginning with
|
||||
"#" or ";" are comments. The client configuration file is
|
||||
automatically generated upon the first start. The sezrver
|
||||
configuration file can automatically be created using the command ::
|
||||
|
||||
./openerp-server -s or ./openerp-server --save
|
||||
|
||||
|
@ -156,19 +179,20 @@ You can specify alternate configuration files with ::
|
|||
-c CONFIG, --config=CONFIG specify alternate config file
|
||||
|
||||
Configure addons locations
|
||||
--------------------------
|
||||
++++++++++++++++++++++++++
|
||||
|
||||
By default, the only directory of addons known by the server is server/bin/addons.
|
||||
It is possible to add new addons by
|
||||
By default, the only directory of addons known by the server is
|
||||
server/bin/addons. It is possible to add new addons by
|
||||
|
||||
- copying them in server/bin/addons, or creating a symbolic link to each
|
||||
of them in this directory, or
|
||||
- specifying another directory containing addons to the server. The later
|
||||
can be accomplished either by running the server with the ``--addons-path=``
|
||||
option, or by configuring this option in the openerp_serverrc file,
|
||||
automatically generated under Linux in your home directory by the
|
||||
server when executed with the ``--save`` option. You can provide several
|
||||
addons to the ``addons_path`` = option, separating them using commas.
|
||||
- copying them in server/bin/addons, or creating a symbolic link to
|
||||
each of them in this directory, or
|
||||
- specifying another directory containing addons to the server. The
|
||||
later can be accomplished either by running the server with the
|
||||
``--addons-path=`` option, or by configuring this option in the
|
||||
openerp_serverrc file, automatically generated under Linux in your
|
||||
home directory by the server when executed with the ``--save``
|
||||
option. You can provide several addons to the ``addons_path`` =
|
||||
option, separating them using commas.
|
||||
|
||||
Start-up script
|
||||
===============
|
||||
|
@ -176,9 +200,9 @@ Start-up script
|
|||
.. versionadded:: 6.1
|
||||
|
||||
To run the OpenERP server, the conventional approach is to use the
|
||||
`openerp-server` script. It loads the :ref:`openerp library`, sets a few
|
||||
configuration variables corresponding to command-line arguments, and starts to
|
||||
listen to incoming connections from clients.
|
||||
`openerp-server` script. It loads the :ref:`openerp library`, sets a
|
||||
few configuration variables corresponding to command-line arguments,
|
||||
and starts to listen to incoming connections from clients.
|
||||
|
||||
Depending on your deployment needs, you can write such a start-up script very
|
||||
easily. We also recommend you take a look at an alternative tool called
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module-dev:
|
||||
|
||||
=======
|
||||
Modules
|
||||
=======
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module-dev-structure:
|
||||
|
||||
Module structure
|
||||
================
|
||||
|
||||
|
@ -124,11 +126,11 @@ But it is dangerous to write or read directly in the PostgreSQL database, as
|
|||
you will shortcut important steps like constraints checking or workflow
|
||||
modification.
|
||||
|
||||
.. figure:: images/pom_3_0_3.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/pom_3_0_3.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
*The Physical Objects Model of [OpenERP version 3.0.3]*
|
||||
.. *The Physical Objects Model of [OpenERP version 3.0.3]*
|
||||
|
||||
|
||||
XML Files
|
||||
|
@ -311,9 +313,9 @@ When you open an invoice, here is the chain of operations followed by the client
|
|||
* The client asks (with XML-RPC) to the server what views are defined for the invoice object and what are the data it must show.
|
||||
* The client displays the form according to the view
|
||||
|
||||
.. figure:: images/arch_view_use.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/arch_view_use.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
To develop new objects
|
||||
//////////////////////
|
||||
|
@ -342,9 +344,9 @@ The workflows describe these interactions with graphs. One or several workflows
|
|||
|
||||
Below is an example workflow used for sale orders. It must generate invoices and shipments according to certain conditions.
|
||||
|
||||
.. figure:: images/arch_workflow_sale.png
|
||||
:scale: 85
|
||||
:align: center
|
||||
.. .. figure:: images/arch_workflow_sale.png
|
||||
.. :scale: 85
|
||||
.. :align: center
|
||||
|
||||
|
||||
In this graph, the nodes represent the actions to be done:
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module-dev-api:
|
||||
|
||||
Objects, Fields and Methods
|
||||
===========================
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module-dev-views:
|
||||
|
||||
Views and Events
|
||||
================
|
||||
|
||||
|
@ -45,26 +47,26 @@ The field disposition in a form view always follows the same principle. Fields a
|
|||
* Fields are placed on the screen from left to right, and from top to bottom, according to the order in which they are declared in the view.
|
||||
* Every screen is divided into 4 columns, each column being able to contain either a label, or an "edition" field. As every edition field is preceded (by default) by a label with its name, there will be two fields (and their respective labels) on each line of the screen. The green and red zones on the screen-shot below, illustrate those 4 columns. They designate respectively the labels and their corresponding fields.
|
||||
|
||||
.. figure:: images/sale_order.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/sale_order.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
|
||||
Views also support more advanced placement options:
|
||||
|
||||
* A view field can use several columns. For example, on the screen-shot below, the zone in the blue frame is, in fact, the only field of a "one to many". We will come back later on this note, but let's note that it uses the whole width of the screen and not only one column.
|
||||
|
||||
.. figure:: images/sale_order_sale_order_lines.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/sale_order_sale_order_lines.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
* We can also make the opposite operation: take a columns group and divide it in as many columns as desired. The surrounded green zones of the screen above are good examples. Precisely, the green framework up and on the right side takes the place of two columns, but contains 4 columns.
|
||||
|
||||
As we can see below in the purple zone of the screen, there is also a way to distribute the fields of an object on different tabs.
|
||||
|
||||
.. figure:: images/sale_order_notebook.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/sale_order_notebook.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
On Change
|
||||
+++++++++
|
||||
|
@ -129,9 +131,9 @@ Tree views
|
|||
|
||||
These views are used when we work in list mode (in order to visualize several resources at once) and in the search screen. These views are simpler than the form views and thus have less options.
|
||||
|
||||
.. figure:: images/tree_view.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. figure:: images/tree_view.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
Search views
|
||||
--------------
|
||||
|
@ -140,9 +142,9 @@ Search views are a new feature of OpenERP supported as of version 6.0
|
|||
It creates a customized search panel, and is declared quite similarly to a form view,
|
||||
except that the view type and root element change to ``search`` instead of ``form``.
|
||||
|
||||
.. image:: images/search.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. image:: images/search.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
Following is the list of new elements and features supported in search views.
|
||||
|
||||
|
@ -300,9 +302,9 @@ combining them with AND/OR operators. It is also possible to save any search con
|
|||
of all currently applied domain and context values) as a personal filter, which can be recalled
|
||||
at any time. Filters can also be turned into Shortcuts directly available in the User's homepage.
|
||||
|
||||
.. image:: images/filter.png
|
||||
:scale: 50
|
||||
:align: center
|
||||
.. .. image:: images/filter.png
|
||||
.. :scale: 50
|
||||
.. :align: center
|
||||
|
||||
|
||||
In above screenshot we filter Partner where Salesman = Demo user and Country = Belgium,
|
||||
|
@ -440,15 +442,15 @@ Screenshots
|
|||
|
||||
Month Calendar:
|
||||
|
||||
.. figure:: images/calendar_month.png
|
||||
:scale: 50%
|
||||
:align: center
|
||||
.. .. figure:: images/calendar_month.png
|
||||
.. :scale: 50%
|
||||
.. :align: center
|
||||
|
||||
Week Calendar:
|
||||
|
||||
.. figure:: images/calendar_week.png
|
||||
:scale: 50%
|
||||
:align: center
|
||||
.. .. figure:: images/calendar_week.png
|
||||
.. :scale: 50%
|
||||
.. :align: center
|
||||
|
||||
|
||||
Gantt Views
|
||||
|
@ -556,9 +558,9 @@ end time can be changed by dragging right end of a bar.
|
|||
Screenshots
|
||||
+++++++++++
|
||||
|
||||
.. figure:: images/gantt.png
|
||||
:scale: 50%
|
||||
:align: center
|
||||
.. .. figure:: images/gantt.png
|
||||
.. :scale: 50%
|
||||
.. :align: center
|
||||
|
||||
|
||||
Design Elements
|
||||
|
@ -1337,9 +1339,9 @@ The *view_id* method works very well for menus/actions, but how can you specify
|
|||
field, for example? When you have a one2many field, two views are used, a tree view (**in blue**), and a form view when
|
||||
you click on the add button (**in red**).
|
||||
|
||||
.. figure:: images/one2many_views.png
|
||||
:scale: 70%
|
||||
:align: center
|
||||
.. .. figure:: images/one2many_views.png
|
||||
.. :scale: 70%
|
||||
.. :align: center
|
||||
|
||||
When you add a one2many field in a form view, you do something like this :
|
||||
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _module-dev-actions:
|
||||
|
||||
=================
|
||||
Menus and Actions
|
||||
=================
|
||||
|
@ -207,9 +209,9 @@ They indicate at the user that he has to open a new window in a new 'tab'.
|
|||
|
||||
Administration > Custom > Low Level > Base > Action > Window Actions
|
||||
|
||||
.. figure:: images/module_base_action_window.png
|
||||
:scale: 85
|
||||
:align: center
|
||||
.. .. figure:: images/module_base_action_window.png
|
||||
.. :scale: 85
|
||||
.. :align: center
|
||||
|
||||
Examples of actions
|
||||
+++++++++++++++++++
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
.. _module-dev-example:
|
||||
|
||||
==========================
|
||||
Example of module creation
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
.. _module-dev-versioning:
|
||||
.. _module_versioning:
|
||||
|
||||
=================
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
.. _security:
|
||||
|
||||
==================================
|
||||
Security in OpenERP: users, groups
|
||||
==================================
|
||||
|
|
|
@ -15,10 +15,159 @@
|
|||
Mr Demo</field>
|
||||
<field name="company_id" ref="main_company"/>
|
||||
<field name="groups_id" eval="[(6,0,[ref('base.group_user')])]"/>
|
||||
<field name="image">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
|
||||
gk//2Q==</field>
|
||||
</record>
|
||||
|
||||
<record model="res.partner" id="base.partner_root">
|
||||
<field name="email">admin@example.com</field>
|
||||
<field name="image">/9j/4AAQSkZJRgABAQEBLAEsAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEP
|
||||
ERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4e
|
||||
Hh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACmAKYDASIA
|
||||
AhEBAxEB/8QAHQABAAEFAQEBAAAAAAAAAAAAAAUCBAYHCAMBCf/EADwQAAEDAwIEBAQCCAUFAAAA
|
||||
AAEAAgMEBREGIQcSMUETUWFxIjKBkRShFUJSYnKxwdEIIzPw8RYkQ4Ki/8QAGgEBAAIDAQAAAAAA
|
||||
AAAAAAAAAAECAwQFBv/EACQRAAIDAAICAwACAwAAAAAAAAABAgMRBBIhMRNBUQUiMmGh/9oADAMB
|
||||
AAIRAxEAPwDshERAEREAREQBF8ysP4ia9tWkaF755RJVY/y4GHL3HsPT3KbhKTbxGUV1dS0MXi1U
|
||||
zY274z1OPId1rfWPG/SGnQI3ulq6l3ywRjBHuTtj2yud+IfE/XGopqgc1TTUcn6kLMN5P2SQdx16
|
||||
eq15U1omLXztduSJHNyT0238uqwyt/DZhQs/sdmaG41aY1JOaaocLZVEjkikfzBwPk4Dc+mAtjMu
|
||||
NE/HLUxOyMjB7L82H1MkUxdSFjN85aS5332wr+m1RqWjkjdHXVRDDho8RwI9FKt/RLj/AIfo/HIy
|
||||
QExva8DYlpzuqsriPT/FPWFnihrKa5VrRgc8UgD2nHuulOC3FK3a+oXU0nJT3inYHSwjZsrenOwe
|
||||
/Udv5WjYm8MU6nFabJREVzEEREAREQBERAEREAREQBEXxAa84369Oi7ExlG6M3KryIgSMsb3euU9
|
||||
QVlxuExuV1rpJHSnIb/qOKlOMtxueoOJt3nmeZDDUPgijJy2ONji1oHbtk+qi7VSEMDml0jnbbHp
|
||||
nbcLVsnsjfqryJeWe3VNXAA+T8M1wDWse9o5h/DhXY0lZKN0k148IxdAG45T7kbL2mfPTQMbzB/N
|
||||
gGSIAub7hRNbRVpL5qcTuY4EHmJ+I/0K1pWpM24UyktLG+2+wQyubbKdkcWcB8T85989FXHa6KlZ
|
||||
BXTudPARktb823v0Kgboyo3Z4EjpGbEtbhX1tq5n0Qhq43taGBriWnB+ijv50v08Yy8vhZLS/iqO
|
||||
DwI9wWc/McepUPpzUNZp7UdLdbS51PUwu52423zvt5ZByPJSXg8lmnax7yS4ljWHbHkVhtxbV0/x
|
||||
Ec72HION8ZWwnpqSjh+i2iNQ0mqdK2+/UZb4dXCHOaDnkf0c36EEKaXMP+DjVr4q6t0pWF0ba1n4
|
||||
ukY52Q2QD42j3bg/+pXTy2ovUc+cerwIiKxUIiIAiIgCIiAIiIArDUNZ+j7FXVuxdBTve0E9SGkg
|
||||
fU4V+oPXtO+p0bd4YsiR1JJykefKUJXs4upI4JamadtQ90shz0yS4nO+f97q5ooKmW9RUga5skmA
|
||||
44xkb7YCtbfb2tvLIpCWwudzlzjlzvX37+i21ZbTbmiCoghBc0/MeuFx+TNx9HoODXGb1/RVpfSc
|
||||
DiHywsJzkkt3KzWlsdviy38MzlO/TuqbS5sbstGQpWXmcedgwMZWCtJLTdubbwiazTtqky/8FCH9
|
||||
yGDdYpqbS9uko3tipWNI8hhbAeSY+YrHNQScrHj7JYvsUbuGhNSabqLXST1FM9zR15c5+ywmlkge
|
||||
QydwjdkkmbfJ/wBgLf13pRW0UrXNyOXOMei0xrGkgZWCJjAADg+qvxrXvVmDmURzsjLuFlxo7Lq2
|
||||
3XPxYZ3UlRG6Twt8MLsOII/dJXa8UjJYmyRuDmPAc1w6EHoV+fVojdZoI63n8Nz2l0WR82Nv7bLu
|
||||
PhldK69aGtVyuMLYqianaTynZwwMOHuN116/R5+79MlRAiymAIiIAiIgCIiAIiIAre4xwy0FTFUk
|
||||
CF8TmyEnA5SN/wAlcKD13HLNo67RwnEhpX8pxntlRJ4tLQj2ko/pyfqKKKmrIqiNzeV/wNdzZAwS
|
||||
NiPZbC08wweDA/qxoyFgl4ip2z2plRFgQztMjA3YlxacgfXust1FVVdG4CgiL3vaOV2NgPNcfktT
|
||||
aaPRcOLq7KRmbJPBwGYwehyrxle3wxzHdc06o4iXq31jm0dwdVuDi0mGI8jSMbBx2PbopHQGvtSV
|
||||
1zgpLlDI8yysDS5uMBx9PdYusorTP8kZy6nQNfcI4YMFxGfNYpeKzxnF/MBHnGcqJ4819VYdPQ1d
|
||||
Mf8AMeQzYZxlc/TV2tK6KaohlqHwRuaXtadxnv8AZT8bs8B3RqWpHQtfWxMpXGPcY3P0WjtR+JWV
|
||||
M4afiDjjP1wqbPeL46EU9VNcKR8o+FlQ3LHY8jhXVNHK6o5qnBe7IyO+6murpIx23KyKWF3NSOqa
|
||||
Kiie1kjDTxvMZcBhzuu/ZdjcF6R1Hw2tEJqhUt8L4HNOzW5Pwj2OQuH7k+ojpoPDlc5zGYDc7M3I
|
||||
Bx59F2b/AIbWyt4L2ATEl3LNjPl4z11a57LDi31NV9/9mxURFnNIIiIAiIgCIiAIiIAqJ42Swvie
|
||||
Mte0tcPMEKtfEBzXrqysp7hJIHAuhmcyRuOzSP7BS1rtkV3t34eryG+nU7Kf4oWpjL3Wuc0tNTF4
|
||||
sLh0zgg5+oP3ChNN1oiLWk9WgfkuJZHq3F/R6qufyxU19r/p5VmnZaemNJQUlF4X6ofEPh7fVfLJ
|
||||
pKO1RmqqjHJO5weXeGAcjcY8lmkE8D2BxI2G5UJdri2rqxHBh0TDyuI7lVklnsyVqTeYYdxsnjq6
|
||||
CgppWhwc9rvYheVktLzA2alc1rJG/EAwFufZV8Y43RU8VQ2MHkjyAVVwvuc5opqeqDfHhOQ0fskD
|
||||
BVGn28mbouqcSm5aKp61zZri4SNi+JrGfCCcLX1/pKWiurIYWtaI25+y2zqK5lsROeUYWlNQVhmu
|
||||
0r85B+HKvW/7o17oNVtv2YrUsd/1LUuOTCMgAdBucBd7cNLd+iuH9hoHM5HxUEXiDHR5aHO/+iVx
|
||||
5w908/UWtKK2GE+DU1rTO4N6MGOY/YFdyNAa0NaAABgAdl1KFrcjic2f9YwPqIi2TnBERAEREARE
|
||||
QBERAEREBC6osMN6giBk8KaF3Mx/LnY9QR5f2Wk6ujfZr9U2yYkmCTla4jGR2P1C6GWrONFjkjmh
|
||||
1DTNy3aKpA7Y+V39PoFp8untHsvZ0/47kuE1CT8ELLI80nhROw54wD5KEvkFxtgpZ7UY54GZNTE7
|
||||
Zzj5tPn6L7U3CSKgFRHGZcDPKO/oo6LUN18MfiLDU8zxkAODgPsuasZ6CPdvImB8Utd1t0jkpI7f
|
||||
MHxnkcXDYenqvPhTUXb9JCsuD2xjkDA0DAIz3U5qGpjnikbBpWtbI53PI98Z5c9dtlB2epulRco6
|
||||
ams8kMTT8ZfI0bd8ZVpZg6WQey9Ge6zwaQubs3lytNVpP4qRhGcu2W19TOfDZn+ORnmAaPL0WpLz
|
||||
VMpIzVHHiF/LGPN3b7dfoop8tmvyJ6kdPcD+G9Nb6ah1RUeKyvkJlDS4gNBHKBj23+q3MrGwBgsd
|
||||
AGHLfw0eD5/CFfLtxSSxHlpycnrCIisVCIiAIiIAiIgCIiAIiIAorVlu/S2nLhbh800Dgw+T+rT9
|
||||
CApVUvIa1zj0A3UNasJTaeo5msNSX4hlBwDu09j5Kbr6WpnZ49E5rXggZIWL8QmyWDXNwbE1whfL
|
||||
47Wj9l/xbe2cfRTtl1DTSUcM4kDmuGdjsVwHFxk1+Hr4S2KkvsjLpT6lnhMcszDGOnwYyoqjoJbd
|
||||
KZJZMvccu26rNLhfqVsRcSNxtla11Hep56mQxb5+EHsAoknJ4iztxeTz1TXy1b/Cc74GZ2WqL7V/
|
||||
jbw1rHZgpdhjoXfrH+n0UjqvUcjDJR0ryXHaSXufQf3Ujwj0PVasuQknjey1QOBqZenP3EbfU/kN
|
||||
/JbVNb9L2aFtkf8AJ+kdpcHrubtw+tDpdqmGjijlHswYP1A/mswWmNKXWTTtz5oog6nLeR0QOBy9
|
||||
seWFtW23ijrWNDXeFIf1H7H6diuw4tHnW9ZJIiKCAiIgCIiAIiIAiIgCIvOSVrTj5neQQFZIAyei
|
||||
sbnUYg5WdHHGVTJK6aUtceVoXhX8rgwNOQFZIGtuL2iZr7b2Xu3RukrKWMskhHWWMZO37w39x7Ba
|
||||
Jskz4JZ6Vsjg0u5gDtg+y7BoSMEHv1WouNfDqSaqOqbBT5mG9bTRjd/77R5+Y7+/XQ5XG8/JA7HB
|
||||
5q6qiz19M01cKqZxAllOB0y0KBvde5kDo435cfJZHeGg07S2LmLhkE9R5qEjsNdda6ntttpn1VZU
|
||||
u5WMA7+Z8gtGMtZ0Z14tZjehtG3DWmrGW2kaWwtxJVTkZbEzzPr2A7rrXT1ht9jtMNrtsIipoG8r
|
||||
R3ce7ie5J3yqdAaJo9EabjtlOGyVs3+ZVzgbvf3+g6AKfbDgeq7FFXRa/ZwOTyPkli9Ix2uowZgQ
|
||||
OpWYRUfJSxSBo8XlH02UdUw+BA+blzK1uWjyPb6qVihdFRRRl55mNDebPXZbBqlzb6mpY3limcOX
|
||||
YsduPzUlHc3NwKiE/wAUe/5FQ0DzES6VpPN1c3t6qQifHIwEOBz5qMQJSGtpZdmTNz5HY/mrhQTo
|
||||
Y3deT6lVRyVNP/ovy0fqk5Cr1BN5RRJu7mAeJSOz5tcidWCWRFS9zWDLnABVBUqJJWMHxH6LzdUN
|
||||
LSW/mrCScl2WjJ8yrKIL18rnD4RyjzXg6VjNjufRW/O9/V5wqmtGFOE4UucXy5xhqqe0uajQAeqr
|
||||
b77KQeVP8MnurtwBbv0xuvBjcOWiOOPFSlkvA0hbp6htvY/FyrKZ27iP/ECO3n9lGayEi74i2vSG
|
||||
oL9PFYLzTx10BzWCNhfDk+rer/ZZJwetmlbVFKyjrPxF4flsjp4TE/APRgP6u2fMrBdDRRSwsdan
|
||||
U8sPVpiAa4e+O+cr04gXm12qjjN0jkiqwQYamJxEkTux+6quNBT7Z5NiXLtlX8bfg3TUx5lc4heB
|
||||
j8LfGX9vRaz4fcVGiWlsespo4q+felqwMNkYfl8T9lx6f8rabgHbg5zvnzWQ1yMrMGtoaMAudPJz
|
||||
uH7jNyfvyj6qTrycNa3rleVqEdRcqqqHxGH/ALdh8tg52Pu0H+FXUzMztz5qCQ1hMXy7EbhVRNa2
|
||||
JrcbBe4w0ABecmxy1AUiPxGHHzDoqG5LOpDgVcU+xz5r5NHgczUB5NkkxjIPuEVUQyOyJoJueZkL
|
||||
cuO56DuVFzTvmkJPbp5BUuldURNe45Lt/b0QDHVQlhCHxHckr1LQ8ZxuvnLsvrNjhSSeYyDylVtJ
|
||||
AC+TAEhwGCjdx1QFYIKqavLGN19DiFAMe11PdZ6I2Owv8O4VrCHT9qaLo5/ueg+/ZYbpThPZbPQz
|
||||
w3HlrXTAh7njJK2gAA9zw0Au+Y43K8JAfGyRlrhupJ3wc/3fR1x0PqCC4WSaWS21MhBYPmYf6/78
|
||||
lG8WrxRXG40NvrHQ/pAgGGTGRET0Mg9+mf8AndHGmeSj4a1tfSQwunpnxvZ4gzyfEBzAdzg9PdaY
|
||||
4nwRM0fRVjKaKS5VTB47wwfADuc/n9fZZE9RX7Lbg7oqo1JUuuN3je+nhJjhD+4BJzn3JK37SxVF
|
||||
nojCGyVFPGw+GB8Tm+Q9R/JQXAWujuHDyiY9jGVVI3wZWgYJA+R31GPzWecnZUZLekfpGCWmsNM2
|
||||
pGKiQGWb+N5LnfmVfVI3BVR2Vbm8zPUKCDzDyBuq2kPXmQCMKhrixwQkuI9shemxHoqGYKrwQVAP
|
||||
LkLScdEXtgEIhBa2V5ntzXOAD2OLHe4JGQrh4y5p8j/NEUv2EVRncBVt+ZEUFik7lwVA2JREIRWn
|
||||
ZEQFvUSEDAXkwuc7YoiEmCcc7g6G0Wy1AZZVTumlPm2FvNy/U4WEaSt0epLRPHWhrmx/Hg9/T0H9
|
||||
PJEWVeIlC24I3uqpeKU9tDyaKvjdC2IdGlmXNd7/ADff0C6AccP9ERVl7JPjt91Ww9kRUB8IyMrz
|
||||
kALR5oiAU7jnCuj0RFIHQbIiKAf/2Q==</field>
|
||||
</record>
|
||||
|
||||
<!-- new rate for demo transactions in multi currency -->
|
||||
|
@ -27,5 +176,6 @@ Mr Demo</field>
|
|||
<field name="currency_id" ref="USD"/>
|
||||
<field eval="time.strftime('%Y-06-06')" name="name"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -3,14 +3,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-11-13 02:22+0000\n"
|
||||
"PO-Revision-Date: 2012-11-18 22:57+0000\n"
|
||||
"Last-Translator: fshahy <fshahy@gmail.com>\n"
|
||||
"Language-Team: OpenERP Iran <info@openerp-iran.com>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-14 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16251)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-20 04:51+0000\n"
|
||||
"X-Generator: Launchpad (build 16286)\n"
|
||||
"X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n"
|
||||
"X-Poedit-Language: Persian\n"
|
||||
|
||||
|
@ -27,7 +27,7 @@ msgstr "پیکربندی های دیگر"
|
|||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "DateTime"
|
||||
msgstr ""
|
||||
msgstr "تاریخ و ساعت"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_mailgate
|
||||
|
@ -973,7 +973,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Create Menu"
|
||||
msgstr "پدیدن منو"
|
||||
msgstr "ایجاد منو"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.in
|
||||
|
@ -1144,7 +1144,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
msgid "Char"
|
||||
msgstr ""
|
||||
msgstr "کاراکتر"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1362,7 +1362,7 @@ msgstr "ir.exports"
|
|||
#: code:addons/base/module/wizard/base_update_translations.py:38
|
||||
#, python-format
|
||||
msgid "No language with code \"%s\" exists"
|
||||
msgstr ""
|
||||
msgstr "هیچ زبانی با کد %s وجود ندارد"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_document
|
||||
|
@ -1809,7 +1809,7 @@ msgstr "همکاران"
|
|||
#. module: base
|
||||
#: field:res.partner.category,parent_left:0
|
||||
msgid "Left parent"
|
||||
msgstr ""
|
||||
msgstr "گره پدر سمت چپ"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_mrp
|
||||
|
@ -2635,7 +2635,7 @@ msgstr ""
|
|||
#: code:addons/base/res/res_company.py:155
|
||||
#, python-format
|
||||
msgid "Fax: "
|
||||
msgstr ""
|
||||
msgstr "فکس: "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.si
|
||||
|
@ -2961,7 +2961,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_wiki_quality_manual
|
||||
msgid "Wiki: Quality Manual"
|
||||
msgstr ""
|
||||
msgstr "ویکی: راهنمای کیفیت"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window.view,view_mode:0
|
||||
|
@ -2974,7 +2974,7 @@ msgstr "گاهشمار"
|
|||
#. module: base
|
||||
#: field:res.partner.address,partner_id:0
|
||||
msgid "Partner Name"
|
||||
msgstr ""
|
||||
msgstr "نام همکار"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.activity,signal_send:0
|
||||
|
@ -2989,7 +2989,7 @@ msgstr "بخش منابع انسانی"
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_dashboard_admin
|
||||
msgid "Administration Dashboard"
|
||||
msgstr ""
|
||||
msgstr "داشبورد مدیر"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:4408
|
||||
|
@ -3072,7 +3072,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_contract
|
||||
msgid "Employee Contracts"
|
||||
msgstr ""
|
||||
msgstr "قرارداد کارمند"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_wiki_faq
|
||||
|
@ -3136,7 +3136,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_survey
|
||||
msgid "Survey"
|
||||
msgstr ""
|
||||
msgstr "نظرسنجی"
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.import:0
|
||||
|
@ -3258,7 +3258,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Portugese / Português"
|
||||
msgstr ""
|
||||
msgstr "پرتغالی / Português"
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.title,name:base.res_partner_title_sir
|
||||
|
@ -3365,7 +3365,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Japanese / 日本語"
|
||||
msgstr ""
|
||||
msgstr "ژاپنی / 日本語"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,auto:0
|
||||
|
@ -3428,7 +3428,7 @@ msgstr ""
|
|||
#: model:ir.module.category,name:base.module_category_generic_modules_accounting
|
||||
#: view:res.company:0
|
||||
msgid "Accounting"
|
||||
msgstr ""
|
||||
msgstr "حسابداری"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_payment
|
||||
|
@ -3497,7 +3497,7 @@ msgstr "res.partner.event"
|
|||
#: model:ir.model,name:base.model_ir_filters
|
||||
#: model:ir.ui.menu,name:base.menu_ir_filters
|
||||
msgid "Filters"
|
||||
msgstr ""
|
||||
msgstr "فیلترها"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.open_module_tree
|
||||
|
@ -3548,7 +3548,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_point_of_sale
|
||||
msgid "Point Of Sale"
|
||||
msgstr ""
|
||||
msgstr "نقطه فروش"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:302
|
||||
|
@ -3582,7 +3582,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.sequence,implementation:0
|
||||
msgid "Standard"
|
||||
msgstr ""
|
||||
msgstr "استاندارد"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_maintenance_contract
|
||||
|
@ -3615,7 +3615,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_human_resources
|
||||
msgid "Human Resources"
|
||||
msgstr ""
|
||||
msgstr "منابع انسانی"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_country
|
||||
|
@ -3675,7 +3675,7 @@ msgstr "مالیات بر ارزش افزوده"
|
|||
#. module: base
|
||||
#: field:res.users,new_password:0
|
||||
msgid "Set password"
|
||||
msgstr ""
|
||||
msgstr "تنظیم کلمه عبور"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -3970,7 +3970,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_it
|
||||
msgid "Italy - Accounting"
|
||||
msgstr ""
|
||||
msgstr "ایتالیا - حسابداری"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,help:0
|
||||
|
@ -4021,12 +4021,12 @@ msgstr "Xor"
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_localization_account_charts
|
||||
msgid "Account Charts"
|
||||
msgstr ""
|
||||
msgstr "نمودار حساب ها"
|
||||
|
||||
#. module: base
|
||||
#: view:res.request:0
|
||||
msgid "Request Date"
|
||||
msgstr ""
|
||||
msgstr "تاریخ درخواست"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/base_export_language.py:52
|
||||
|
@ -4175,7 +4175,7 @@ msgstr "چکیده"
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_hidden_dependency
|
||||
msgid "Dependency"
|
||||
msgstr ""
|
||||
msgstr "وابستگی"
|
||||
|
||||
#. module: base
|
||||
#: field:multi_company.default,expression:0
|
||||
|
@ -4280,7 +4280,7 @@ msgstr ""
|
|||
#: model:ir.module.module,shortdesc:base.module_marketing
|
||||
#: model:ir.ui.menu,name:base.marketing_menu
|
||||
msgid "Marketing"
|
||||
msgstr ""
|
||||
msgstr "بازاریابی"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner.bank:0
|
||||
|
@ -4325,7 +4325,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.attachment,url:0
|
||||
msgid "Url"
|
||||
msgstr ""
|
||||
msgstr "آدرس وب"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.translation,type:0
|
||||
|
@ -4455,7 +4455,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Hebrew / עִבְרִי"
|
||||
msgstr ""
|
||||
msgstr "عبری / עִבְרִי"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.bo
|
||||
|
@ -4494,7 +4494,7 @@ msgstr "قواعد"
|
|||
#. module: base
|
||||
#: field:ir.mail_server,smtp_host:0
|
||||
msgid "SMTP Server"
|
||||
msgstr ""
|
||||
msgstr "سرور SMTP"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:256
|
||||
|
@ -4585,12 +4585,12 @@ msgstr "کنیا"
|
|||
#: model:ir.actions.act_window,name:base.action_translation
|
||||
#: model:ir.ui.menu,name:base.menu_action_translation
|
||||
msgid "Translated Terms"
|
||||
msgstr ""
|
||||
msgstr "کلمات ترجمه شده"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner.event:0
|
||||
msgid "Event"
|
||||
msgstr ""
|
||||
msgstr "رخداد"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_custom_reports
|
||||
|
@ -4779,7 +4779,7 @@ msgstr "موریتیوس"
|
|||
#: view:ir.model.access:0
|
||||
#: view:ir.rule:0
|
||||
msgid "Full Access"
|
||||
msgstr ""
|
||||
msgstr "دسترسی کامل"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.act_window:0
|
||||
|
@ -4816,7 +4816,7 @@ msgstr "برپاسازی شد"
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Ukrainian / українська"
|
||||
msgstr ""
|
||||
msgstr "اکراینی / українська"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sn
|
||||
|
@ -4910,7 +4910,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_localization
|
||||
msgid "Localization"
|
||||
msgstr ""
|
||||
msgstr "بومی سازی"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_sale_mrp
|
||||
|
@ -4975,7 +4975,7 @@ msgstr "منوی مادر"
|
|||
#. module: base
|
||||
#: field:res.partner.bank,owner_name:0
|
||||
msgid "Account Owner Name"
|
||||
msgstr ""
|
||||
msgstr "نام صاحب حساب"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.rule,perm_unlink:0
|
||||
|
@ -5003,7 +5003,7 @@ msgstr "جداساز شمارگانی"
|
|||
#: view:ir.module.module:0
|
||||
#, python-format
|
||||
msgid "Install"
|
||||
msgstr ""
|
||||
msgstr "نصب"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.action_res_groups
|
||||
|
@ -5019,7 +5019,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.filters,name:0
|
||||
msgid "Filter Name"
|
||||
msgstr ""
|
||||
msgstr "نام فیلتر"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -5126,7 +5126,7 @@ msgstr "فیلد"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_long_term
|
||||
msgid "Long Term Projects"
|
||||
msgstr ""
|
||||
msgstr "پروژه های بلند مدت"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ve
|
||||
|
@ -5362,7 +5362,7 @@ msgstr "وب"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_lunch
|
||||
msgid "Lunch Orders"
|
||||
msgstr ""
|
||||
msgstr "سفارش های نهار"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -5515,7 +5515,7 @@ msgstr "جزایر اسوالبار و یان ماین"
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_hidden_test
|
||||
msgid "Test"
|
||||
msgstr ""
|
||||
msgstr "تست"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_kanban
|
||||
|
@ -5534,7 +5534,7 @@ msgstr "گروهبندی برمبنای"
|
|||
#: view:res.config:0
|
||||
#: view:res.config.installer:0
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
msgstr "عنوان"
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.install,state:0
|
||||
|
@ -5560,12 +5560,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_language_install
|
||||
msgid "Install Language"
|
||||
msgstr ""
|
||||
msgstr "نصب زبان"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
msgid "Translation"
|
||||
msgstr ""
|
||||
msgstr "ترجمه"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,state:0
|
||||
|
@ -5605,7 +5605,7 @@ msgstr "ویژگی هنگام ستردن برای فیلدهای many2one"
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_accounting_and_finance
|
||||
msgid "Accounting & Finance"
|
||||
msgstr ""
|
||||
msgstr "حسابداری و مالی"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,write_id:0
|
||||
|
@ -5615,7 +5615,7 @@ msgstr "شناسه نوشتن"
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_product
|
||||
msgid "Products"
|
||||
msgstr ""
|
||||
msgstr "محصولات"
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,name:0
|
||||
|
@ -5846,7 +5846,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
msgstr "ماه"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.my
|
||||
|
@ -5890,7 +5890,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.actions.todo,type:0
|
||||
msgid "Launch Automatically"
|
||||
msgstr ""
|
||||
msgstr "بارگذاری خودکار"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_mail
|
||||
|
@ -6286,7 +6286,7 @@ msgstr "بانکها"
|
|||
#. module: base
|
||||
#: view:res.log:0
|
||||
msgid "Unread"
|
||||
msgstr ""
|
||||
msgstr "خوانده نشده"
|
||||
|
||||
#. module: base
|
||||
#: field:res.users,id:0
|
||||
|
@ -6492,7 +6492,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_main_pm
|
||||
msgid "Project"
|
||||
msgstr ""
|
||||
msgstr "پروژه"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,web_icon_hover_data:0
|
||||
|
@ -6557,7 +6557,7 @@ msgstr "قرارداد نگهداری"
|
|||
#: model:res.groups,name:base.group_user
|
||||
#: field:res.partner,employee:0
|
||||
msgid "Employee"
|
||||
msgstr ""
|
||||
msgstr "کارمند"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.access,perm_create:0
|
||||
|
@ -6591,7 +6591,7 @@ msgstr ""
|
|||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
msgid "Edit"
|
||||
msgstr ""
|
||||
msgstr "ویرایش"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.client,params:0
|
||||
|
@ -6601,7 +6601,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.users,view:0
|
||||
msgid "Interface"
|
||||
msgstr ""
|
||||
msgstr "رابط"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.server:0
|
||||
|
@ -6771,12 +6771,12 @@ msgstr "روی چند سند"
|
|||
#: view:res.partner:0
|
||||
#: field:res.partner,user_id:0
|
||||
msgid "Salesman"
|
||||
msgstr ""
|
||||
msgstr "مسول فروش"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_accountant
|
||||
msgid "Accounting and Finance"
|
||||
msgstr ""
|
||||
msgstr "حسابداری و مالی"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/module.py:429
|
||||
|
@ -6818,7 +6818,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.widget.wizard:0
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
msgstr "افزودن"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ec
|
||||
|
@ -6892,7 +6892,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Hindi / हिंदी"
|
||||
msgstr ""
|
||||
msgstr "هندی / हिंदी"
|
||||
|
||||
#. module: base
|
||||
#: help:res.users,company_id:0
|
||||
|
@ -7058,7 +7058,7 @@ msgstr "کد ISO"
|
|||
#: view:res.log:0
|
||||
#: field:res.log,read:0
|
||||
msgid "Read"
|
||||
msgstr ""
|
||||
msgstr "خواندن"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_association
|
||||
|
@ -7155,7 +7155,7 @@ msgstr "فیلدها"
|
|||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_employee_form
|
||||
msgid "Employees"
|
||||
msgstr ""
|
||||
msgstr "کارمندان"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.exports.line,name:0
|
||||
|
@ -7478,7 +7478,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_knowledge_management
|
||||
msgid "Knowledge Management"
|
||||
msgstr ""
|
||||
msgstr "مدیریت دانش"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.bank_account_update
|
||||
|
@ -7542,7 +7542,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.partner.bank.type,name:base.bank_normal
|
||||
msgid "Normal Bank Account"
|
||||
msgstr ""
|
||||
msgstr "حساب بانکی معمولی"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.wizard:0
|
||||
|
@ -8182,7 +8182,7 @@ msgstr "اسلوونیایی / slovenščina"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_wiki
|
||||
msgid "Wiki"
|
||||
msgstr ""
|
||||
msgstr "ویکی"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_de
|
||||
|
@ -8368,7 +8368,7 @@ msgstr "_بستن"
|
|||
#. module: base
|
||||
#: field:multi_company.default,company_dest_id:0
|
||||
msgid "Default Company"
|
||||
msgstr ""
|
||||
msgstr "شرکت پیش فرض"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -8490,7 +8490,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.module.module,complexity:0
|
||||
msgid "Complexity"
|
||||
msgstr ""
|
||||
msgstr "پیچیدگی"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window,target:0
|
||||
|
@ -8507,7 +8507,7 @@ msgstr ""
|
|||
#: code:addons/orm.py:4085
|
||||
#, python-format
|
||||
msgid "UserError"
|
||||
msgstr ""
|
||||
msgstr "خطای کاربر"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_analytic_default
|
||||
|
@ -8539,7 +8539,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_crm_case_job_req_main
|
||||
msgid "Recruitment"
|
||||
msgstr ""
|
||||
msgstr "استخدام"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_gr
|
||||
|
@ -8583,12 +8583,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_repair
|
||||
msgid "Repairs Management"
|
||||
msgstr ""
|
||||
msgstr "مدیریت تعمیرات"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_asset
|
||||
msgid "Assets Management"
|
||||
msgstr ""
|
||||
msgstr "مدیریت دارایی"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
|
@ -8930,7 +8930,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
msgid "Report"
|
||||
msgstr ""
|
||||
msgstr "گزارش"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:218
|
||||
|
@ -8956,7 +8956,7 @@ msgstr "تارنما"
|
|||
#. module: base
|
||||
#: selection:ir.mail_server,smtp_encryption:0
|
||||
msgid "None"
|
||||
msgstr ""
|
||||
msgstr "هیچکدام"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.category:0
|
||||
|
@ -8981,7 +8981,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
msgid "Architecture"
|
||||
msgstr ""
|
||||
msgstr "معماری"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ml
|
||||
|
@ -9177,7 +9177,7 @@ msgstr ""
|
|||
#: model:ir.model,name:base.model_ir_model
|
||||
#: model:ir.ui.menu,name:base.ir_model_model_menu
|
||||
msgid "Models"
|
||||
msgstr ""
|
||||
msgstr "مدل ها"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_cron.py:292
|
||||
|
@ -9188,7 +9188,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.actions.todo,type:0
|
||||
msgid "Launch Manually"
|
||||
msgstr ""
|
||||
msgstr "بارگذاری دستی"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.be
|
||||
|
@ -9396,7 +9396,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:publisher_warranty.contract.wizard,state:0
|
||||
msgid "Finished"
|
||||
msgstr ""
|
||||
msgstr "تمام شده"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.de
|
||||
|
@ -9627,7 +9627,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.module.module,complexity:0
|
||||
msgid "Expert"
|
||||
msgstr ""
|
||||
msgstr "متخصص"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_holidays
|
||||
|
@ -9647,7 +9647,7 @@ msgstr ""
|
|||
#: view:res.partner.address:0
|
||||
#: view:workflow.activity:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
msgstr "گروه بتدی بر اساس ..."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.fields:0
|
||||
|
@ -9791,7 +9791,7 @@ msgstr "دقیقهها"
|
|||
#. module: base
|
||||
#: view:res.currency:0
|
||||
msgid "Display"
|
||||
msgstr ""
|
||||
msgstr "نمایش"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.translation,type:0
|
||||
|
@ -9812,7 +9812,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.actions.report.xml,name:base.preview_report
|
||||
msgid "Preview Report"
|
||||
msgstr ""
|
||||
msgstr "پیش نمایش گزارش"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_purchase_analytic_plans
|
||||
|
@ -9897,7 +9897,7 @@ msgstr "هفتهها"
|
|||
#: code:addons/base/res/res_company.py:157
|
||||
#, python-format
|
||||
msgid "VAT: "
|
||||
msgstr ""
|
||||
msgstr "مالیات بر ارزش افزوده "
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.af
|
||||
|
@ -10922,7 +10922,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.model.data:0
|
||||
msgid "Updatable"
|
||||
msgstr ""
|
||||
msgstr "قابل به روز رسانی"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -10954,7 +10954,7 @@ msgstr "عربی / الْعَرَبيّة"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_hello
|
||||
msgid "Hello"
|
||||
msgstr ""
|
||||
msgstr "سلام"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.configuration.wizard:0
|
||||
|
@ -10969,7 +10969,7 @@ msgstr "توضیح"
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_hr_manager
|
||||
msgid "HR Manager"
|
||||
msgstr ""
|
||||
msgstr "مدیر منابع انسانی"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
|
@ -11161,7 +11161,7 @@ msgstr "باز کردن پنجره"
|
|||
#. module: base
|
||||
#: field:ir.actions.act_window,auto_search:0
|
||||
msgid "Auto Search"
|
||||
msgstr ""
|
||||
msgstr "جستجوی خودکار"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,filter:0
|
||||
|
@ -11260,7 +11260,7 @@ msgstr "مشتریان مهم"
|
|||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "Update Terms"
|
||||
msgstr ""
|
||||
msgstr "به روز رسانی کلمات"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project_messages
|
||||
|
@ -11277,7 +11277,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr
|
||||
msgid "Employee Directory"
|
||||
msgstr ""
|
||||
msgstr "دایرکتوری کارمندان"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.cron:0
|
||||
|
@ -11527,7 +11527,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mail
|
||||
msgid "Emails Management"
|
||||
msgstr ""
|
||||
msgstr "مدیریت پست الکترونیک"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,trigger_name:0
|
||||
|
@ -11597,7 +11597,7 @@ msgstr "مرجع جدول"
|
|||
#: code:addons/base/ir/ir_mail_server.py:443
|
||||
#, python-format
|
||||
msgid "Mail delivery failed"
|
||||
msgstr ""
|
||||
msgstr "ارسال پست الکترونیک موفق نبود"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,res_model:0
|
||||
|
@ -11909,7 +11909,7 @@ msgstr "منتظر"
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_file:0
|
||||
msgid "Report file"
|
||||
msgstr ""
|
||||
msgstr "فایل گزارش"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_workflow_triggers
|
||||
|
@ -11925,7 +11925,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.mail_server:0
|
||||
msgid "Connection Information"
|
||||
msgstr ""
|
||||
msgstr "اطلاعات تماس"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.attachment:0
|
||||
|
@ -12134,7 +12134,7 @@ msgstr "دستهبندی"
|
|||
#: selection:ir.attachment,type:0
|
||||
#: selection:ir.property,type:0
|
||||
msgid "Binary"
|
||||
msgstr ""
|
||||
msgstr "باینری"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.server,sms:0
|
||||
|
@ -12171,7 +12171,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:workflow.activity:0
|
||||
msgid "Conditions"
|
||||
msgstr ""
|
||||
msgstr "شروط"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_partner_other_form
|
||||
|
@ -12296,7 +12296,7 @@ msgstr "استونی"
|
|||
#: model:ir.module.module,shortdesc:base.module_board
|
||||
#: model:ir.ui.menu,name:base.menu_dashboard
|
||||
msgid "Dashboards"
|
||||
msgstr ""
|
||||
msgstr "داشبوردها"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_procurement
|
||||
|
@ -12306,7 +12306,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_payroll_account
|
||||
msgid "Payroll Accounting"
|
||||
msgstr ""
|
||||
msgstr "حسابداری حقوق و دستمزد"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.attachment,type:0
|
||||
|
@ -12433,7 +12433,7 @@ msgstr "تعداد تماسها"
|
|||
#: code:addons/base/res/res_bank.py:189
|
||||
#, python-format
|
||||
msgid "BANK"
|
||||
msgstr ""
|
||||
msgstr "بانک"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.upgrade:0
|
||||
|
@ -12867,7 +12867,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
msgid "Current User"
|
||||
msgstr ""
|
||||
msgstr "کاربر فعلی"
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,company_registry:0
|
||||
|
@ -13065,7 +13065,7 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.action_publisher_warranty_contract_form
|
||||
#: model:ir.ui.menu,name:base.menu_publisher_warranty_contract
|
||||
msgid "Contracts"
|
||||
msgstr ""
|
||||
msgstr "قراردادها"
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.export,state:0
|
||||
|
@ -13113,7 +13113,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.partner.bank,bank_name:0
|
||||
msgid "Bank Name"
|
||||
msgstr ""
|
||||
msgstr "نام بانک"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ki
|
||||
|
@ -13192,7 +13192,7 @@ msgstr "فایل CSV"
|
|||
#: code:addons/base/res/res_company.py:154
|
||||
#, python-format
|
||||
msgid "Phone: "
|
||||
msgstr ""
|
||||
msgstr "تلفن: "
|
||||
|
||||
#. module: base
|
||||
#: field:res.company,account_no:0
|
||||
|
@ -13367,7 +13367,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:ir.ui.view,type:0
|
||||
msgid "Diagram"
|
||||
msgstr ""
|
||||
msgstr "دیاگرام"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_es
|
||||
|
@ -13970,7 +13970,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 "دفترچه آدرس"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_ma
|
||||
|
|
|
@ -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: 2011-05-06 11:49+0000\n"
|
||||
"Last-Translator: martin <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-11-20 15:20+0000\n"
|
||||
"Last-Translator: Slavko Zivkovic <slavko.zivkovic@mi-c3.com>\n"
|
||||
"Language-Team: Macedonian <mk@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-11-13 05:11+0000\n"
|
||||
"X-Generator: Launchpad (build 16251)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-21 04:47+0000\n"
|
||||
"X-Generator: Launchpad (build 16293)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -49,7 +49,7 @@ msgstr ""
|
|||
#: field:ir.ui.view,arch:0
|
||||
#: field:ir.ui.view.custom,arch:0
|
||||
msgid "View Architecture"
|
||||
msgstr ""
|
||||
msgstr "Погледнете Архитектура"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project
|
||||
|
@ -111,7 +111,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.actions.act_window,display_menu_tip:0
|
||||
msgid "Display Menu Tips"
|
||||
msgstr ""
|
||||
msgstr "Прикажи ги советите во менито"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.cron,model:0
|
||||
|
@ -160,7 +160,7 @@ msgstr "Референца"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
|
||||
msgid "Belgium - Structured Communication"
|
||||
msgstr ""
|
||||
msgstr "Белгија - Структурирана Комуникација"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,target:0
|
||||
|
@ -195,6 +195,8 @@ msgid ""
|
|||
"Properties of base fields cannot be altered in this manner! Please modify "
|
||||
"them through Python code, preferably through a custom addon!"
|
||||
msgstr ""
|
||||
"Својствата на основните полиња не може да се менуваат на овој начин! Ве "
|
||||
"молиме менувајте ги преку Python код, пожелно преку прилагоден додаток."
|
||||
|
||||
#. module: base
|
||||
#: code:addons/osv.py:129
|
||||
|
@ -227,7 +229,7 @@ msgstr "креирано."
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_tr
|
||||
msgid "Turkey - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Турција - Сметководство"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp_subproduct
|
||||
|
@ -271,7 +273,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Search Partner"
|
||||
msgstr ""
|
||||
msgstr "Пронајди партнер"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/base_export_language.py:60
|
||||
|
@ -310,7 +312,7 @@ msgstr "Макс. големина"
|
|||
#: model:ir.ui.menu,name:base.next_id_73
|
||||
#: model:ir.ui.menu,name:base.reporting_menu
|
||||
msgid "Reporting"
|
||||
msgstr ""
|
||||
msgstr "Известувања"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -326,6 +328,8 @@ msgid ""
|
|||
"Save this document to a %s file and edit it with a specific software or a "
|
||||
"text editor. The file encoding is UTF-8."
|
||||
msgstr ""
|
||||
"Зачувај го документот во датотеката %s и измени го со соодветен софтвер или "
|
||||
"текстуален уредувач."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.values,key2:0
|
||||
|
@ -370,7 +374,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Extra"
|
||||
msgstr ""
|
||||
msgstr "Дополнително"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:2526
|
||||
|
@ -466,11 +470,13 @@ msgid ""
|
|||
"The user this filter is available to. When left empty the filter is usable "
|
||||
"by the system only."
|
||||
msgstr ""
|
||||
"Корисникот за кого овој филтер е достапен. Ако полето е празно, филтерот се "
|
||||
"користи само од системот."
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,website:0
|
||||
msgid "Website of Partner."
|
||||
msgstr ""
|
||||
msgstr "Website на партнерот"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,views:0
|
||||
|
@ -489,7 +495,7 @@ msgstr "Тувалу"
|
|||
#. module: base
|
||||
#: selection:ir.model,state:0
|
||||
msgid "Custom Object"
|
||||
msgstr ""
|
||||
msgstr "Прилагоден објект"
|
||||
|
||||
#. module: base
|
||||
#: field:res.lang,date_format:0
|
||||
|
@ -499,7 +505,7 @@ msgstr "Формат на датумот"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_report_designer
|
||||
msgid "OpenOffice Report Designer"
|
||||
msgstr ""
|
||||
msgstr "OpenOffice Дизајнер за Извештаи"
|
||||
|
||||
#. module: base
|
||||
#: field:res.bank,email:0
|
||||
|
@ -524,13 +530,13 @@ msgid ""
|
|||
"You can not remove the admin user as it is used internally for resources "
|
||||
"created by OpenERP (updates, module installation, ...)"
|
||||
msgstr ""
|
||||
"Не може да го отстраните admin корисникот затоа што се користи интерно за "
|
||||
"Не може да го отстраните admin корисникот бидејќи се користи интерно за "
|
||||
"ресурси креирани од OpenERP (ажурирања, инсталација на модули, ...)"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.values:0
|
||||
msgid "Action Binding"
|
||||
msgstr ""
|
||||
msgstr "Поврзување на акции"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gf
|
||||
|
@ -634,7 +640,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.pw
|
||||
msgid "Palau"
|
||||
msgstr "Пало"
|
||||
msgstr "Палау"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
|
@ -673,7 +679,7 @@ msgstr "Прилагодените полиња мора да имаат име
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_mx
|
||||
msgid "Mexico - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Мексико - Сметководство"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.server,action_id:0
|
||||
|
@ -683,7 +689,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.ai
|
||||
msgid "Anguilla"
|
||||
msgstr ""
|
||||
msgstr "Ангила"
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
|
@ -706,6 +712,7 @@ msgstr "Опис на моделот"
|
|||
msgid ""
|
||||
"Optional model name of the objects on which this action should be visible"
|
||||
msgstr ""
|
||||
"Опционално име на моделот на објектот врз кој треба да се одрази дејството"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.transition,trigger_expr_id:0
|
||||
|
@ -720,7 +727,7 @@ msgstr "Јордан"
|
|||
#. module: base
|
||||
#: help:ir.cron,nextcall:0
|
||||
msgid "Next planned execution date for this job."
|
||||
msgstr ""
|
||||
msgstr "Нареден датум на извршување за селектираниот процес"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:139
|
||||
|
@ -736,7 +743,7 @@ msgstr "Еритреа"
|
|||
#. module: base
|
||||
#: sql_constraint:res.company:0
|
||||
msgid "The company name must be unique !"
|
||||
msgstr ""
|
||||
msgstr "Името на компанијата мора да биде уникатно !"
|
||||
|
||||
#. module: base
|
||||
#: view:res.config:0
|
||||
|
@ -753,7 +760,7 @@ msgstr "Автоматизирани дејства"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ro
|
||||
msgid "Romania - Accounting"
|
||||
msgstr ""
|
||||
msgstr "Романија - Сметководство"
|
||||
|
||||
#. module: base
|
||||
#: view:partner.wizard.ean.check:0
|
||||
|
@ -780,6 +787,9 @@ msgid ""
|
|||
"Launchpad.net, our open source project management facility. We use their "
|
||||
"online interface to synchronize all translations efforts."
|
||||
msgstr ""
|
||||
"Преводите на OpenERP (јадро, модули, клиенти) се управувани од "
|
||||
"Launchpad.net, нашиот простор за управување со проекти со отворен код. Го "
|
||||
"користиме нивниот интернет интерфејс за синхронизација на сите преводи."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.todo,type:0
|
||||
|
@ -808,18 +818,18 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.kh
|
||||
msgid "Cambodia, Kingdom of"
|
||||
msgstr "Клаството Камбоџа"
|
||||
msgstr "Кралство Камбоџа"
|
||||
|
||||
#. module: base
|
||||
#: field:base.language.import,overwrite:0
|
||||
#: field:base.language.install,overwrite:0
|
||||
msgid "Overwrite Existing Terms"
|
||||
msgstr ""
|
||||
msgstr "Препишете ги постоечките изрази"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_language_import
|
||||
msgid "Language Import"
|
||||
msgstr ""
|
||||
msgstr "Превземање на Јазик"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.cron,interval_number:0
|
||||
|
@ -829,12 +839,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Albanian / Shqip"
|
||||
msgstr ""
|
||||
msgstr "Албански / Shqip"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_crm_config_opportunity
|
||||
msgid "Opportunities"
|
||||
msgstr ""
|
||||
msgstr "Можности"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_base_language_export
|
||||
|
@ -852,6 +862,8 @@ msgstr ""
|
|||
#: help:ir.actions.report.xml,report_type:0
|
||||
msgid "Report Type, e.g. pdf, html, raw, sxw, odt, html2html, mako2html, ..."
|
||||
msgstr ""
|
||||
"Вид на извештај, на пример : pdf, html, raw, sxw, odt, html2html, mako2html, "
|
||||
"..."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document_webdav
|
||||
|
@ -864,11 +876,16 @@ msgid ""
|
|||
"The module adds google contact in partner address and add google calendar "
|
||||
"events details in Meeting"
|
||||
msgstr ""
|
||||
"The module adds google contact in partner address and add google calendar "
|
||||
"events details in Meeting.\r\n"
|
||||
"\r\n"
|
||||
"Овој модул ги додава google контактите во адресите на партнерите и ги додава "
|
||||
"настаните во google calendar во Состаноци"
|
||||
|
||||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Email Preferences"
|
||||
msgstr ""
|
||||
msgstr "Подесувања за Електронска Пошта"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_audittrail
|
||||
|
@ -883,36 +900,45 @@ msgid ""
|
|||
"delete on objects and can check logs.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Овој модул му дозволува на администраторот да ја следи операцијата на секој "
|
||||
"корисник на сите објекти во системот.\n"
|
||||
"============================================================================="
|
||||
"==============\n"
|
||||
"\n"
|
||||
"Администраторот може да се препише за правилата за читање, пишување и\n"
|
||||
"бришење на објектите и може да ги проверува чуваните записи.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_4
|
||||
msgid "Basic Partner"
|
||||
msgstr ""
|
||||
msgstr "Основен Партнер"
|
||||
|
||||
#. module: base
|
||||
#: report:ir.module.reference.graph:0
|
||||
msgid ","
|
||||
msgstr ""
|
||||
msgstr ","
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "My Partners"
|
||||
msgstr ""
|
||||
msgstr "Мои Партнери"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
msgid "XML Report"
|
||||
msgstr ""
|
||||
msgstr "XML Извештај"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.es
|
||||
msgid "Spain"
|
||||
msgstr ""
|
||||
msgstr "Шпанија"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
msgid "Please be patient, as this operation may take a few seconds..."
|
||||
msgstr ""
|
||||
msgstr "Бидете трпеливи, оваа операција може да потрае неколку секунди..."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,domain:0
|
||||
|
@ -924,23 +950,23 @@ msgstr ""
|
|||
#: model:ir.actions.act_window,name:base.action_view_base_module_upgrade
|
||||
#: model:ir.model,name:base.model_base_module_upgrade
|
||||
msgid "Module Upgrade"
|
||||
msgstr ""
|
||||
msgstr "Подобрување на модулот"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Spanish (UY) / Español (UY)"
|
||||
msgstr ""
|
||||
msgstr "Шшански (UY) / Español (UY)"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,mobile:0
|
||||
#: field:res.partner.address,mobile:0
|
||||
msgid "Mobile"
|
||||
msgstr ""
|
||||
msgstr "Мобилен"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.om
|
||||
msgid "Oman"
|
||||
msgstr ""
|
||||
msgstr "Оман"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_mrp
|
||||
|
@ -950,44 +976,44 @@ msgstr ""
|
|||
#. module: base
|
||||
#: report:ir.module.reference.graph:0
|
||||
msgid "1cm 28cm 20cm 28cm"
|
||||
msgstr ""
|
||||
msgstr "1 цм 28 цм 20 цм 28 цм"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.nu
|
||||
msgid "Niue"
|
||||
msgstr ""
|
||||
msgstr "Ниуе"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_membership
|
||||
msgid "Membership Management"
|
||||
msgstr ""
|
||||
msgstr "Управување на членство"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,license:0
|
||||
msgid "Other OSI Approved Licence"
|
||||
msgstr ""
|
||||
msgstr "Друга OSI Одобрена Лиценца"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.act_menu_create
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Create Menu"
|
||||
msgstr ""
|
||||
msgstr "Креирај Мени"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.in
|
||||
msgid "India"
|
||||
msgstr ""
|
||||
msgstr "Индија"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.res_request_link-act
|
||||
#: model:ir.ui.menu,name:base.menu_res_request_link_act
|
||||
msgid "Request Reference Types"
|
||||
msgstr ""
|
||||
msgstr "Побарај видови на референци"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_google_base_account
|
||||
msgid "Google Users"
|
||||
msgstr ""
|
||||
msgstr "Google Корисници"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.server.object.lines,value:0
|
||||
|
@ -1007,7 +1033,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.partner.category,child_ids:0
|
||||
msgid "Child Categories"
|
||||
msgstr ""
|
||||
msgstr "Под-Категорија"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_config_parameter
|
||||
|
@ -1017,18 +1043,19 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.export,format:0
|
||||
msgid "TGZ Archive"
|
||||
msgstr ""
|
||||
msgstr "TGZ Архива"
|
||||
|
||||
#. module: base
|
||||
#: view:res.groups:0
|
||||
msgid ""
|
||||
"Users added to this group are automatically added in the following groups."
|
||||
msgstr ""
|
||||
"Корисниците додадени во оваа група автоматски се додадени во следните групи."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
msgid "%B - Full month name."
|
||||
msgstr ""
|
||||
msgstr "%B -Цело име на месецот"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.todo,type:0
|
||||
|
@ -1045,12 +1072,12 @@ msgstr ""
|
|||
#: view:res.partner:0
|
||||
#: view:res.partner.address:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
msgstr "Вид"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.mail_server,smtp_user:0
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
msgstr "Корисничко име"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:398
|
||||
|
@ -1059,29 +1086,32 @@ msgid ""
|
|||
"Language with code \"%s\" is not defined in your system !\n"
|
||||
"Define it through the Administration menu."
|
||||
msgstr ""
|
||||
"Јазикот со кодот \"%s\" не е дефиниран во вашиот систем.\n"
|
||||
"Дефинирајте го низ менито за Администрација."
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.gu
|
||||
msgid "Guam (USA)"
|
||||
msgstr ""
|
||||
msgstr "Гуам"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_users.py:558
|
||||
#, python-format
|
||||
msgid "Setting empty passwords is not allowed for security reasons!"
|
||||
msgstr ""
|
||||
"Подесувањето на празна шифра не е дозволено поради безбедносни причини!"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:192
|
||||
#, python-format
|
||||
msgid "Connection test failed!"
|
||||
msgstr ""
|
||||
msgstr "Тестот за поврзување е неуспешен!"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.server,state:0
|
||||
#: selection:workflow.activity,kind:0
|
||||
msgid "Dummy"
|
||||
msgstr ""
|
||||
msgstr "Фиктивно"
|
||||
|
||||
#. module: base
|
||||
#: constraint:ir.ui.view:0
|
||||
|
@ -1091,19 +1121,19 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.ky
|
||||
msgid "Cayman Islands"
|
||||
msgstr ""
|
||||
msgstr "Кајмански острови"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.kr
|
||||
msgid "South Korea"
|
||||
msgstr ""
|
||||
msgstr "Јужна Кореа"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,name:base.action_workflow_transition_form
|
||||
#: model:ir.ui.menu,name:base.menu_workflow_transition
|
||||
#: view:workflow.activity:0
|
||||
msgid "Transitions"
|
||||
msgstr ""
|
||||
msgstr "Транзиции"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:4615
|
||||
|
@ -1114,7 +1144,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.module.module,contributors:0
|
||||
msgid "Contributors"
|
||||
msgstr ""
|
||||
msgstr "Придонесувачи"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project_planning
|
||||
|
@ -1145,17 +1175,17 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Slovak / Slovenský jazyk"
|
||||
msgstr ""
|
||||
msgstr "Словачки / Slovenský jazyk"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Spanish (AR) / Español (AR)"
|
||||
msgstr ""
|
||||
msgstr "Шпански (AR) / Español (AR)"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ug
|
||||
msgid "Uganda"
|
||||
msgstr ""
|
||||
msgstr "Уганда"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.access,perm_unlink:0
|
||||
|
@ -1165,7 +1195,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.ne
|
||||
msgid "Niger"
|
||||
msgstr ""
|
||||
msgstr "Нигер"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -1175,7 +1205,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:res.country,name:base.ba
|
||||
msgid "Bosnia-Herzegovina"
|
||||
msgstr ""
|
||||
msgstr "Босна и Херцеговина"
|
||||
|
||||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
|
@ -1188,17 +1218,17 @@ msgstr ""
|
|||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
msgid "Spanish (GT) / Español (GT)"
|
||||
msgstr ""
|
||||
msgstr "Шпански (GT) / Español (GT)"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.mail_server,smtp_port:0
|
||||
msgid "SMTP Port"
|
||||
msgstr ""
|
||||
msgstr "SMTP Порта"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_import_sugarcrm
|
||||
msgid "SugarCRM Import"
|
||||
msgstr ""
|
||||
msgstr "SugarCRM Импортирање"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -1212,12 +1242,12 @@ msgstr ""
|
|||
#: code:addons/base/module/wizard/base_language_install.py:55
|
||||
#, python-format
|
||||
msgid "Language Pack"
|
||||
msgstr ""
|
||||
msgstr "Пакет Јазици"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_web_tests
|
||||
msgid "Tests"
|
||||
msgstr ""
|
||||
msgstr "Тестови"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,res_id:0
|
||||
|
@ -1237,29 +1267,29 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:base.module.import,module_name:0
|
||||
msgid "Module Name"
|
||||
msgstr ""
|
||||
msgstr "Име на Модул"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mh
|
||||
msgid "Marshall Islands"
|
||||
msgstr ""
|
||||
msgstr "Маршалови острови"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:368
|
||||
#, python-format
|
||||
msgid "Changing the model of a field is forbidden!"
|
||||
msgstr ""
|
||||
msgstr "Менување на моделот на полето е забрането!"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ht
|
||||
msgid "Haiti"
|
||||
msgstr ""
|
||||
msgstr "Хаити"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
#: selection:ir.ui.view,type:0
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
msgstr "Пребарај"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/osv.py:132
|
||||
|
@ -1280,18 +1310,18 @@ msgstr ""
|
|||
#: code:addons/base/res/res_users.py:222
|
||||
#, python-format
|
||||
msgid "Operation Canceled"
|
||||
msgstr ""
|
||||
msgstr "Операцијата е прекината!"
|
||||
|
||||
#. module: base
|
||||
#: help:base.language.export,lang:0
|
||||
msgid "To export a new language, do not select a language."
|
||||
msgstr ""
|
||||
msgstr "За да експортирате нов јазик, немојте да избирате јазик"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document
|
||||
#: model:ir.module.module,shortdesc:base.module_knowledge
|
||||
msgid "Document Management System"
|
||||
msgstr ""
|
||||
msgstr "Систем за Управување со Документи"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_crm_claim
|
||||
|
@ -1301,17 +1331,17 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_purchase_root
|
||||
msgid "Purchases"
|
||||
msgstr ""
|
||||
msgstr "Набавки"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.md
|
||||
msgid "Moldavia"
|
||||
msgstr ""
|
||||
msgstr "Молдавија"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.module.module:0
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
msgstr "Можности"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.bank_account_update
|
||||
|
@ -1326,7 +1356,7 @@ msgstr ""
|
|||
#: view:ir.module.module:0
|
||||
#: report:ir.module.reference.graph:0
|
||||
msgid "Version"
|
||||
msgstr ""
|
||||
msgstr "Верзија"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_sale_order_dates
|
||||
|
@ -1355,7 +1385,7 @@ msgstr ""
|
|||
#: code:addons/base/module/wizard/base_update_translations.py:38
|
||||
#, python-format
|
||||
msgid "No language with code \"%s\" exists"
|
||||
msgstr ""
|
||||
msgstr "Јазик со кодот \"%s\" не постои"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_document
|
||||
|
@ -1398,7 +1428,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: report:ir.module.reference.graph:0
|
||||
msgid "-"
|
||||
msgstr ""
|
||||
msgstr "-"
|
||||
|
||||
#. module: base
|
||||
#: view:publisher_warranty.contract.wizard:0
|
||||
|
@ -1411,7 +1441,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
msgid "Create _Menu"
|
||||
msgstr ""
|
||||
msgstr "Креирај Мени"
|
||||
|
||||
#. module: base
|
||||
#: field:res.payterm,name:0
|
||||
|
@ -1423,7 +1453,7 @@ msgstr ""
|
|||
#: view:res.bank:0
|
||||
#: field:res.partner.bank,bank:0
|
||||
msgid "Bank"
|
||||
msgstr ""
|
||||
msgstr "Банка"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_exports_line
|
||||
|
|
|
@ -51,12 +51,14 @@ class ir_config_parameter(osv.osv):
|
|||
('key_uniq', 'unique (key)', 'Key must be unique.')
|
||||
]
|
||||
|
||||
def init(self, cr):
|
||||
def init(self, cr, force=False):
|
||||
"""
|
||||
Initializes the parameters listed in _default_parameters.
|
||||
It overrides existing parameters if force is ``True``.
|
||||
"""
|
||||
for key, func in _default_parameters.iteritems():
|
||||
ids = self.search(cr, SUPERUSER_ID, [('key','=',key)])
|
||||
# force=True skips search and always performs the 'if' body (because ids=False)
|
||||
ids = not force and self.search(cr, SUPERUSER_ID, [('key','=',key)])
|
||||
if not ids:
|
||||
self.set_param(cr, SUPERUSER_ID, key, func())
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<menuitem name="Sales"
|
||||
id="menu_base_partner"
|
||||
groups="base.group_sale_salesman"
|
||||
sequence="30"/>
|
||||
sequence="20"/>
|
||||
|
||||
<menuitem id="base.menu_sales" parent="base.menu_base_partner" name="Sales" sequence="1" />
|
||||
<menuitem id="menu_base_config" parent="menu_base_partner" name="Configuration" sequence="30" groups="group_system"/>
|
||||
|
|
|
@ -250,17 +250,6 @@ class res_users(osv.osv):
|
|||
'image': lambda self, cr, uid, ctx={}: self.pool.get('res.partner')._get_default_image(cr, uid, False, ctx, colorize=True),
|
||||
}
|
||||
|
||||
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
|
||||
""" Override of res.users fields_view_get.
|
||||
- if the view is specified: resume with normal behavior
|
||||
- else: the default view is overrided and redirected to the partner
|
||||
view
|
||||
"""
|
||||
#made a lot of views crash because methods of open chatter are not available on users
|
||||
#if not view_id and view_type == 'form':
|
||||
# return self.pool.get('res.partner').fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
|
||||
return super(res_users, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
|
||||
|
||||
# User can write on a few of his own fields (but not his groups for example)
|
||||
SELF_WRITEABLE_FIELDS = ['password', 'signature', 'action_id', 'company_id', 'email', 'name', 'image', 'image_medium', 'image_small', 'lang', 'tz']
|
||||
# User can read a few of his own fields
|
||||
|
@ -409,10 +398,10 @@ class res_users(osv.osv):
|
|||
# prevent/delay login in that case. It will also have been logged
|
||||
# as a SQL error, if anyone cares.
|
||||
try:
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s FOR UPDATE NOWAIT", (user_id,))
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s FOR UPDATE NOWAIT", (user_id,), log_exceptions=False)
|
||||
cr.execute("UPDATE res_users SET login_date = now() AT TIME ZONE 'UTC' WHERE id=%s", (user_id,))
|
||||
except Exception, e:
|
||||
_logger.exception("Failed to update last_login for db:%s login:%s", db, login)
|
||||
except Exception:
|
||||
_logger.debug("Failed to update last_login for db:%s login:%s", db, login, exc_info=True)
|
||||
except openerp.exceptions.AccessDenied:
|
||||
_logger.info("Login failed for db:%s login:%s", db, login)
|
||||
user_id = False
|
||||
|
|
|
@ -83,6 +83,49 @@
|
|||
|
||||
|
||||
<!-- res.users -->
|
||||
<record id="view_users_simple_form" model="ir.ui.view">
|
||||
<field name="name">res.users.simplified.form</field>
|
||||
<field name="model">res.users</field>
|
||||
<field name="priority">1</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Contact" version="7.0">
|
||||
<sheet>
|
||||
<field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
|
||||
<div class="oe_title">
|
||||
<div class="oe_edit_only">
|
||||
<label for="name"/> (
|
||||
</div>
|
||||
<h1>
|
||||
<field name="name" default_focus="1" placeholder="Name" />
|
||||
</h1>
|
||||
<field name="category_id" widget="many2many_tags" placeholder="Tags..."/>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<label for="street" string="Address"/>
|
||||
<div>
|
||||
<field name="street" placeholder="Street..."/>
|
||||
<field name="street2"/>
|
||||
<div class="address_format">
|
||||
<field name="city" placeholder="City" style="width: 40%%"/>
|
||||
<field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
|
||||
<field name="zip" placeholder="ZIP" style="width: 20%%"/>
|
||||
</div>
|
||||
<field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
|
||||
</div>
|
||||
<field name="website" widget="url" placeholder="e.g. www.openerp.com"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="phone" placeholder="e.g. +32.81.81.37.00"/>
|
||||
<field name="mobile"/>
|
||||
<field name="fax"/>
|
||||
<field name="email" widget="email"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_users_form" model="ir.ui.view">
|
||||
<field name="name">res.users.form</field>
|
||||
<field name="model">res.users</field>
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import test_base, test_expression, test_ir_values
|
||||
import test_base, test_expression, test_search, test_ir_values
|
||||
|
||||
checks = [
|
||||
test_base,
|
||||
test_expression,
|
||||
test_search,
|
||||
test_ir_values,
|
||||
]
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
import unittest2
|
||||
|
||||
import openerp.tests.common as common
|
||||
|
||||
class test_expression(common.TransactionCase):
|
||||
|
||||
def test_search_order(self):
|
||||
|
||||
registry, cr, uid = self.registry, self.cr, self.uid
|
||||
|
||||
# Create 6 partners with a given name, and a given creation order to
|
||||
# ensure the order of their ID. Some are set as unactive to verify they
|
||||
# are by default excluded from the searches and to provide a second
|
||||
# `order` argument.
|
||||
|
||||
partners = registry('res.partner')
|
||||
c = partners.create(cr, uid, {'name': 'test_search_order_C'})
|
||||
d = partners.create(cr, uid, {'name': 'test_search_order_D', 'active': False})
|
||||
a = partners.create(cr, uid, {'name': 'test_search_order_A'})
|
||||
b = partners.create(cr, uid, {'name': 'test_search_order_B'})
|
||||
ab = partners.create(cr, uid, {'name': 'test_search_order_AB'})
|
||||
e = partners.create(cr, uid, {'name': 'test_search_order_E', 'active': False})
|
||||
|
||||
# The tests.
|
||||
|
||||
# The basic searches should exclude records that have active = False.
|
||||
# The order of the returned ids should be given by the `order`
|
||||
# parameter of search().
|
||||
|
||||
name_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%')], order="name asc")
|
||||
self.assertEqual([a, ab, b, c], name_asc, "Search with 'NAME ASC' order failed.")
|
||||
name_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%')], order="name desc")
|
||||
self.assertEqual([c, b, ab, a], name_desc, "Search with 'NAME DESC' order failed.")
|
||||
id_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%')], order="id asc")
|
||||
self.assertEqual([c, a, b, ab], id_asc, "Search with 'ID ASC' order failed.")
|
||||
id_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%')], order="id desc")
|
||||
self.assertEqual([ab, b, a, c], id_desc, "Search with 'ID DESC' order failed.")
|
||||
|
||||
# The inactive records shouldn't be excluded as soon as a condition on
|
||||
# that field is present in the domain. The `order` parameter of
|
||||
# search() should support any legal coma-separated values.
|
||||
|
||||
active_asc_id_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="active asc, id asc")
|
||||
self.assertEqual([d, e, c, a, b, ab], active_asc_id_asc, "Search with 'ACTIVE ASC, ID ASC' order failed.")
|
||||
active_desc_id_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="active desc, id asc")
|
||||
self.assertEqual([c, a, b, ab, d, e], active_desc_id_asc, "Search with 'ACTIVE DESC, ID ASC' order failed.")
|
||||
active_asc_id_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="active asc, id desc")
|
||||
self.assertEqual([e, d, ab, b, a, c], active_asc_id_desc, "Search with 'ACTIVE ASC, ID DESC' order failed.")
|
||||
active_desc_id_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="active desc, id desc")
|
||||
self.assertEqual([ab, b, a, c, e, d], active_desc_id_desc, "Search with 'ACTIVE DESC, ID DESC' order failed.")
|
||||
id_asc_active_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="id asc, active asc")
|
||||
self.assertEqual([c, d, a, b, ab, e], id_asc_active_asc, "Search with 'ID ASC, ACTIVE ASC' order failed.")
|
||||
id_asc_active_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="id asc, active desc")
|
||||
self.assertEqual([c, d, a, b, ab, e], id_asc_active_desc, "Search with 'ID ASC, ACTIVE DESC' order failed.")
|
||||
id_desc_active_asc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="id desc, active asc")
|
||||
self.assertEqual([e, ab, b, a, d, c], id_desc_active_asc, "Search with 'ID DESC, ACTIVE ASC' order failed.")
|
||||
id_desc_active_desc = partners.search(cr, uid, [('name', 'like', 'test_search_order%'), '|', ('active', '=', True), ('active', '=', False)], order="id desc, active desc")
|
||||
self.assertEqual([e, ab, b, a, d, c], id_desc_active_desc, "Search with 'ID DESC, ACTIVE DESC' order failed.")
|
||||
|
||||
|
|
@ -348,7 +348,8 @@ def load_modules(db, force_demo=False, status=None, update_module=False):
|
|||
for (model, name) in cr.fetchall():
|
||||
model_obj = pool.get(model)
|
||||
if model_obj and not model_obj.is_transient():
|
||||
_logger.warning('Model %s (%s) has no access rules!', model, name)
|
||||
_logger.warning('The model %s has no access rules, consider adding one. E.g. access_%s,access_%s,model_%s,,1,1,1,1',
|
||||
model, model.replace('.', '_'), model.replace('.', '_'), model.replace('.', '_'))
|
||||
|
||||
# Temporary warning while we remove access rights on osv_memory objects, as they have
|
||||
# been replaced by owner-only access rights
|
||||
|
|
|
@ -234,6 +234,8 @@ class html(text):
|
|||
_type = 'html'
|
||||
_symbol_c = '%s'
|
||||
def _symbol_f(x):
|
||||
if x is None or x == False:
|
||||
return None
|
||||
return html_sanitize(x)
|
||||
|
||||
_symbol_set = (_symbol_c, _symbol_f)
|
||||
|
|
|
@ -1603,7 +1603,7 @@ class BaseModel(object):
|
|||
if fld_def._type == 'many2many':
|
||||
obj = self.pool.get(fld_def._obj)
|
||||
field_value2 = []
|
||||
for i in range(len(field_value)):
|
||||
for i in range(len(field_value or [])):
|
||||
if not obj.search(cr, uid, [('id', '=',
|
||||
field_value[i])]):
|
||||
continue
|
||||
|
@ -1612,7 +1612,7 @@ class BaseModel(object):
|
|||
if fld_def._type == 'one2many':
|
||||
obj = self.pool.get(fld_def._obj)
|
||||
field_value2 = []
|
||||
for i in range(len(field_value)):
|
||||
for i in range(len(field_value or [])):
|
||||
field_value2.append({})
|
||||
for field2 in field_value[i]:
|
||||
if field2 in obj._columns.keys() and obj._columns[field2]._type == 'many2one':
|
||||
|
@ -1782,7 +1782,7 @@ class BaseModel(object):
|
|||
# TODO: find a way to remove this hack, by allow dynamic domains
|
||||
dom = []
|
||||
if column._domain and not isinstance(column._domain, basestring):
|
||||
dom = column._domain
|
||||
dom = list(column._domain)
|
||||
dom += eval(node.get('domain', '[]'), {'uid': user, 'time': time})
|
||||
search_context = dict(context)
|
||||
if column._context and not isinstance(column._context, basestring):
|
||||
|
@ -4722,7 +4722,7 @@ class BaseModel(object):
|
|||
order_direction = order_split[1].strip() if len(order_split) == 2 else ''
|
||||
inner_clause = None
|
||||
if order_field == 'id':
|
||||
order_by_clause = '"%s"."%s"' % (self._table, order_field)
|
||||
order_by_elements.append('"%s"."id" %s' % (self._table, order_direction))
|
||||
elif order_field in self._columns:
|
||||
order_column = self._columns[order_field]
|
||||
if order_column._classic_read:
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
'maintainer': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'data': ['view.xml'],
|
||||
'data': ['view.xml', 'ir.model.access.csv'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
access_test_exceptions_model,access_test_exceptions_model,model_test_exceptions_model,,1,1,1,1
|
|
|
@ -8,7 +8,7 @@
|
|||
'maintainer': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'data': [],
|
||||
'data': ['ir.model.access.csv'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
access_export_boolean,access_export_boolean,model_export_boolean,,1,1,1,1
|
||||
access_export_integer,access_export_integer,model_export_integer,,1,1,1,1
|
||||
access_export_float,access_export_float,model_export_float,,1,1,1,1
|
||||
access_export_decimal,access_export_decimal,model_export_decimal,,1,1,1,1
|
||||
access_export_string_bounded,access_export_string_bounded,model_export_string_bounded,,1,1,1,1
|
||||
access_export_string_required,access_export_string_required,model_export_string_required,,1,1,1,1
|
||||
access_export_string,access_export_string,model_export_string,,1,1,1,1
|
||||
access_export_date,access_export_date,model_export_date,,1,1,1,1
|
||||
access_export_datetime,access_export_datetime,model_export_datetime,,1,1,1,1
|
||||
access_export_text,access_export_text,model_export_text,,1,1,1,1
|
||||
access_export_selection,access_export_selection,model_export_selection,,1,1,1,1
|
||||
access_export_selection_function,access_export_selection_function,model_export_selection_function,,1,1,1,1
|
||||
access_export_many2one,access_export_many2one,model_export_many2one,,1,1,1,1
|
||||
access_export_one2many,access_export_one2many,model_export_one2many,,1,1,1,1
|
||||
access_export_many2many,access_export_many2many,model_export_many2many,,1,1,1,1
|
||||
access_export_function,access_export_function,model_export_function,,1,1,1,1
|
||||
access_export_one2many_child,access_export_one2many_child,model_export_one2many_child,,1,1,1,1
|
||||
access_export_one2many_multiple,access_export_one2many_multiple,model_export_one2many_multiple,,1,1,1,1
|
||||
access_export_one2many_multiple_child,access_export_one2many_multiple_child,model_export_one2many_multiple_child,,1,1,1,1
|
||||
access_export_one2many_child_1,access_export_one2many_child_1,model_export_one2many_child_1,,1,1,1,1
|
||||
access_export_one2many_child_2,access_export_one2many_child_2,model_export_one2many_child_2,,1,1,1,1
|
||||
access_export_many2many_other,access_export_many2many_other,model_export_many2many_other,,1,1,1,1
|
||||
access_export_selection_withdefault,access_export_selection_withdefault,model_export_selection_withdefault,,1,1,1,1
|
||||
access_export_one2many_recursive,access_export_one2many_recursive,model_export_one2many_recursive,,1,1,1,1
|
|
|
@ -8,7 +8,7 @@
|
|||
'maintainer': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'data': [],
|
||||
'data': ['ir.model.access.csv'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
access_test_limits_model,access_test_limits_model,model_test_limits_model,,1,1,1,1
|
|
|
@ -8,7 +8,7 @@
|
|||
'maintainer': 'OpenERP SA',
|
||||
'website': 'http://www.openerp.com',
|
||||
'depends': ['base'],
|
||||
'data': [],
|
||||
'data': ['ir.model.access.csv'],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
access_test_uninstall_model,access_test_uninstall_model,model_test_uninstall_model,,1,1,1,1
|
|
|
@ -9,8 +9,8 @@ import common
|
|||
DB = common.DB
|
||||
ADMIN_USER_ID = common.ADMIN_USER_ID
|
||||
|
||||
def cursor():
|
||||
return openerp.modules.registry.RegistryManager.get(DB).db.cursor()
|
||||
def registry():
|
||||
return openerp.modules.registry.RegistryManager.get(DB)
|
||||
|
||||
|
||||
class test_cr_execute(unittest2.TestCase):
|
||||
|
@ -21,12 +21,12 @@ class test_cr_execute(unittest2.TestCase):
|
|||
"""
|
||||
Try to use iterable but non-list or int params in query parameters.
|
||||
"""
|
||||
cr = cursor()
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE login=%s", 'admin')
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s", 1)
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s", '1')
|
||||
with registry().cursor(auto_commit=False) as cr:
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE login=%s", 'admin')
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s", 1)
|
||||
with self.assertRaises(ValueError):
|
||||
cr.execute("SELECT id FROM res_users WHERE id=%s", '1')
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -173,6 +173,9 @@ class TestCleaner(unittest2.TestCase):
|
|||
new_html = html_email_clean(TEXT_TPL)
|
||||
self.assertNotIn('quote', new_html, 'html_email_cleaner did not remove correctly plaintext quotes')
|
||||
|
||||
# Test5: False boolean for text must return empty string
|
||||
new_html = html_email_clean(False)
|
||||
self.assertEqual(new_html, False, 'html_email_cleaner did change a False in an other value.')
|
||||
|
||||
class TestHtmlTools(unittest2.TestCase):
|
||||
""" Test some of our generic utility functions about html """
|
||||
|
|
|
@ -109,6 +109,7 @@ class TestInherits(common.TransactionCase):
|
|||
self.assertEqual(foo.name, 'Foo')
|
||||
self.assertEqual(foo.partner_id.id, par_id)
|
||||
|
||||
@mute_logger('openerp.osv.orm')
|
||||
def test_read(self):
|
||||
""" inherited fields should be read without any indirection """
|
||||
foo_id = self.user.create(self.cr, UID, {'name': 'Foo', 'login': 'foo', 'password': 'foo'})
|
||||
|
@ -120,6 +121,7 @@ class TestInherits(common.TransactionCase):
|
|||
foo = self.user.browse(self.cr, UID, foo_id)
|
||||
self.assertEqual(foo.name, foo.partner_id.name)
|
||||
|
||||
@mute_logger('openerp.osv.orm')
|
||||
def test_copy(self):
|
||||
""" copying a user should automatically copy its partner, too """
|
||||
foo_id = self.user.create(self.cr, UID, {'name': 'Foo', 'login': 'foo', 'password': 'foo'})
|
||||
|
@ -134,6 +136,7 @@ class TestInherits(common.TransactionCase):
|
|||
self.assertNotEqual(foo.id, bar.id)
|
||||
self.assertNotEqual(foo.partner_id.id, bar.partner_id.id)
|
||||
|
||||
@mute_logger('openerp.osv.orm')
|
||||
def test_copy_with_ancestor(self):
|
||||
""" copying a user with 'parent_id' in defaults should not duplicate the partner """
|
||||
foo_id = self.user.create(self.cr, UID, {'name': 'Foo', 'login': 'foo', 'password': 'foo'})
|
||||
|
|
|
@ -130,6 +130,9 @@ def html_email_clean(html):
|
|||
dest += source[idx:]
|
||||
return dest
|
||||
|
||||
if not html:
|
||||
return html
|
||||
|
||||
html = ustr(html)
|
||||
|
||||
# 1. <br[ /]> -> \n, because otherwise the tree is obfuscated
|
||||
|
|
Loading…
Reference in New Issue