[MERGE] trunk
bzr revid: al@openerp.com-20121216014404-oonymtva4uww7bwk
This commit is contained in:
commit
f6fe592152
|
@ -135,6 +135,9 @@ The view describes how the edition form or the data tree/list appear on screen.
|
|||
|
||||
A form can be called by an action opening in 'Tree' mode. The form view is generally opened from the list mode (like if the user pushes on 'switch view').
|
||||
|
||||
.. _domain:
|
||||
.. _domains:
|
||||
|
||||
The domain
|
||||
----------
|
||||
|
||||
|
|
|
@ -76,9 +76,9 @@ This phase also generates the ``rows`` indexes for any
|
|||
Conversion
|
||||
++++++++++
|
||||
|
||||
This second phase takes the record dicts, extracts the :ref:`dbid` and
|
||||
:ref:`xid` if present and attempts to convert each field to a type
|
||||
matching what OpenERP expects to write.
|
||||
This second phase takes the record dicts, extracts the :term:`database
|
||||
ID` and :term:`external ID` if present and attempts to convert each
|
||||
field to a type matching what OpenERP expects to write.
|
||||
|
||||
* Empty fields (empty strings) are replaced with the ``False`` value
|
||||
|
||||
|
@ -141,14 +141,14 @@ If ``name_search`` finds no value, an error is generated. If
|
|||
``name_search`` finds multiple value, a warning is generated to warn
|
||||
the user of ``name_search`` collisions.
|
||||
|
||||
If the specified field is a :ref:`xid` (``m2o/id``), the
|
||||
If the specified field is a :term:`external ID` (``m2o/id``), the
|
||||
corresponding record it looked up in the database and used as the
|
||||
field's value. If no record is found matching the provided external
|
||||
ID, an error is generated.
|
||||
|
||||
If the specified field is a :ref:`dbid` (``m2o/.id``), the process is
|
||||
the same as for external ids (on database identifiers instead of
|
||||
external ones).
|
||||
If the specified field is a :term:`database ID` (``m2o/.id``), the
|
||||
process is the same as for external ids (on database identifiers
|
||||
instead of external ones).
|
||||
|
||||
Many to Many field
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
@ -161,11 +161,11 @@ One to Many field
|
|||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
For each o2m record extracted, if the record has a ``name``,
|
||||
:ref:`xid` or :ref:`dbid` the :ref:`dbid` is looked up and checked
|
||||
through the same process as for m2o fields.
|
||||
:term:`external ID` or :term:`database ID` the :term:`database ID` is
|
||||
looked up and checked through the same process as for m2o fields.
|
||||
|
||||
If a :ref:`dbid` was found, a LINK_TO command is emmitted, followed by
|
||||
an UPDATE with the non-db values for the relational field.
|
||||
If a :term:`database ID` was found, a LINK_TO command is emmitted,
|
||||
followed by an UPDATE with the non-db values for the relational field.
|
||||
|
||||
Otherwise a CREATE command is emmitted.
|
||||
|
||||
|
|
|
@ -27,5 +27,15 @@ OpenERP Server API
|
|||
api_core.rst
|
||||
api_models.rst
|
||||
|
||||
Concepts
|
||||
''''''''
|
||||
|
||||
.. glossary::
|
||||
|
||||
Database ID
|
||||
|
||||
The primary key of a record in a PostgreSQL table (or a
|
||||
virtual version thereof), usually varies from one database to
|
||||
the next.
|
||||
|
||||
External ID
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
# Copyright (C) 2010 OpenERP s.a. (<http://openerp.com>).
|
||||
# Copyright (C) 2010, 2012 OpenERP s.a. (<http://openerp.com>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
@ -85,7 +85,6 @@ The kernel of OpenERP, needed for all installation.
|
|||
'res/ir_property_view.xml',
|
||||
'security/base_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/ir.model.access-1.csv', # res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
|
||||
],
|
||||
'demo': [
|
||||
'base_demo.xml',
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
<record id="main_partner" model="res.partner" context="{'default_is_company': True}">
|
||||
<field name="name">Your Company</field>
|
||||
<field name="company_id" eval="None"/>
|
||||
<field name="image" eval="False"/>
|
||||
<field name="customer" eval="False"/>
|
||||
<field name="is_company" eval="True"/>
|
||||
<field name="street"></field>
|
||||
|
|
|
@ -7,6 +7,74 @@
|
|||
<field name="customer" eval="False"/>
|
||||
<field name="email">demo@example.com</field>
|
||||
</record>
|
||||
|
||||
<record id="main_partner" model="res.partner">
|
||||
<field name="image">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
|
||||
BZrmED0AAAAASUVORK5CYII=
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="user_demo" model="res.users">
|
||||
<field name="partner_id" ref="base.partner_demo"/>
|
||||
<field name="login">demo</field>
|
||||
|
|
|
@ -14,8 +14,8 @@ msgstr ""
|
|||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-11 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-12 04:37+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-11 00:59+0000\n"
|
||||
"Last-Translator: Santi (Pexego) <santiago@pexego.es>\n"
|
||||
"PO-Revision-Date: 2012-12-13 16:14+0000\n"
|
||||
"Last-Translator: Roberto Lizana (trey.es) <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-11 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-14 05:35+0000\n"
|
||||
"X-Generator: Launchpad (build 16369)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -365,6 +365,8 @@ msgid ""
|
|||
"Database ID of record to open in form view, when ``view_mode`` is set to "
|
||||
"'form' only"
|
||||
msgstr ""
|
||||
"Id. de la base datos del registro para abrir en el formulario de vista, "
|
||||
"cuando se establece el modo de visto únicamente a 'formulario'"
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.address,name:0
|
||||
|
@ -871,6 +873,11 @@ msgid ""
|
|||
"This module provides the Integration of the LinkedIn with OpenERP.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo web de LinkedIn para OpenERP.\n"
|
||||
"=================================\n"
|
||||
"Este módulo provee integración de LinkedIn con OpenERP.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: help:ir.actions.act_window,src_model:0
|
||||
|
@ -918,7 +925,7 @@ msgstr "Rumanía - Contabilidad"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_config_settings
|
||||
msgid "res.config.settings"
|
||||
msgstr ""
|
||||
msgstr "Parámetros de configuración"
|
||||
|
||||
#. module: base
|
||||
#: help:res.partner,image_small:0
|
||||
|
@ -1073,6 +1080,7 @@ msgstr "Zimbabwe"
|
|||
msgid ""
|
||||
"Type of the constraint: `f` for a foreign key, `u` for other constraints."
|
||||
msgstr ""
|
||||
"Tipo de restricción: 'f' para un clave ajena, 'u' para otras restricciones."
|
||||
|
||||
#. module: base
|
||||
#: view:ir.actions.report.xml:0
|
||||
|
@ -1214,7 +1222,7 @@ msgstr "Principado de Andorra"
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_read:0
|
||||
msgid "Apply for Read"
|
||||
msgstr ""
|
||||
msgstr "Aplicar para lectura"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mn
|
||||
|
@ -1244,7 +1252,7 @@ msgstr ""
|
|||
#: code:addons/base/ir/ir_model.py:727
|
||||
#, python-format
|
||||
msgid "Document model"
|
||||
msgstr ""
|
||||
msgstr "Modelo de documento"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-11-28 13:28+0000\n"
|
||||
"PO-Revision-Date: 2012-12-14 04:43+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-04 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16335)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-15 05:03+0000\n"
|
||||
"X-Generator: Launchpad (build 16372)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -614,7 +614,7 @@ msgstr "Харьцааны Нэр"
|
|||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Create Access Right"
|
||||
msgstr ""
|
||||
msgstr "Хандах Эрх Үүсгэх"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.tv
|
||||
|
@ -1346,7 +1346,7 @@ msgstr "Андорра, Principality of"
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_read:0
|
||||
msgid "Apply for Read"
|
||||
msgstr ""
|
||||
msgstr "Уншихаар Хэрэгжүүлэх"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mn
|
||||
|
@ -1431,7 +1431,7 @@ msgstr "Сүүлийн Хувилбар"
|
|||
#. module: base
|
||||
#: view:ir.rule:0
|
||||
msgid "Delete Access Right"
|
||||
msgstr ""
|
||||
msgstr "Хандах Эрхийг Устгах"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_mail_server.py:213
|
||||
|
@ -1486,7 +1486,7 @@ msgstr "Дэмжигчид"
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_unlink:0
|
||||
msgid "Apply for Delete"
|
||||
msgstr ""
|
||||
msgstr "Устгахаар Хэрэгжүүлэх"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.property,type:0
|
||||
|
@ -1561,6 +1561,9 @@ msgid ""
|
|||
" for uploading to OpenERP's translation "
|
||||
"platform,"
|
||||
msgstr ""
|
||||
"TGZ формат: Энэ нь шахагдсан архив бөгөөд PO файлуудыг агуулсан\n"
|
||||
" шууд OpenERP-н орчуулгын хөрсрүү хуулахад "
|
||||
"тохиромжтой файл юм."
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -1587,7 +1590,7 @@ msgstr "Тест"
|
|||
#. module: base
|
||||
#: field:ir.actions.report.xml,attachment:0
|
||||
msgid "Save as Attachment Prefix"
|
||||
msgstr ""
|
||||
msgstr "Хавсралтыг нэрлэж хадгалах угтвар"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.view_sc,res_id:0
|
||||
|
@ -1624,7 +1627,7 @@ msgstr "Гаити"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_fr_hr_payroll
|
||||
msgid "French Payroll"
|
||||
msgstr ""
|
||||
msgstr "Фран Цалин"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.ui.view:0
|
||||
|
@ -1698,6 +1701,33 @@ msgid ""
|
|||
"Also implements IETF RFC 5785 for services discovery on a http server,\n"
|
||||
"which needs explicit configuration in openerp-server.conf too.\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Энэ модулиар баримтуудын хувьд WebDAV сервер идэвхжинэ.\n"
|
||||
"===============================================================\n"
|
||||
"\n"
|
||||
"Ингэснээр OpenObject дахь хавсралт баримтуудыг нийцтэй ямар ч интернет \n"
|
||||
"тольдруураар харах боломжтой.\n"
|
||||
"\n"
|
||||
"Суулгасан дараагаараа WebDAV сервер нь серверийн тохиргооны файлын [webdav] "
|
||||
"\n"
|
||||
" гэсэн хэсэгт тохиргоог хийх боломжтой.\n"
|
||||
"Серверийн тохиргооны параметр нь:\n"
|
||||
"\n"
|
||||
" [webdav]\n"
|
||||
" ; enable = True ; http(s) протоколь дээр WebDAV идэвхжинэ\n"
|
||||
" ; vdir = webdav ; WebDAV ажиллах директорын нэр.\n"
|
||||
" ; энэхүү webdav гэсэн анхны утгын хувьд \n"
|
||||
" ; дараах байдлаар хандана \\\"http://localhost:8069/webdav/\n"
|
||||
" ; verbose = True ; webdav-н дэлгэрэнгүй мэдэгдэлтэй горимыг нээнэ\n"
|
||||
" ; debug = True ; webdav-н дебаагдах горимыг идэвхжүүлнэ.\n"
|
||||
" ; ингэснээр мессежүүд нь python log-руу бичигдэнэ. \n"
|
||||
" ; логийн түвшин нь \\\"debug\\\" болон \\\"debug_rpc\\\" байдаг. эдгээр "
|
||||
"\n"
|
||||
"сонголтыг\n"
|
||||
" ; хэвээр нь үлдээж болно.\n"
|
||||
"\n"
|
||||
"Түүнчлэн IETF RFC 5785-г http серверт хэрэгжүүлдэг. Тодорхой тохиргоог \n"
|
||||
"openerp-server.conf-д тохируулах хэрэгтэй.\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_purchase_management
|
||||
|
@ -1745,6 +1775,12 @@ msgid ""
|
|||
"=============\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Энэ модуль нь хэрэв гомдол, порталь суулгагдсан байгаа бол гомдол меню болон "
|
||||
"боломжийг портальд нэмдэг.\n"
|
||||
"============================================================================="
|
||||
"=============\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.action_res_partner_bank_account_form
|
||||
|
@ -1791,7 +1827,7 @@ msgstr "Кодгүй хэл \"%s\" байна"
|
|||
#: model:ir.module.category,name:base.module_category_social_network
|
||||
#: model:ir.module.module,shortdesc:base.module_mail
|
||||
msgid "Social Network"
|
||||
msgstr ""
|
||||
msgstr "Нийгмийн Сүлжээ"
|
||||
|
||||
#. module: base
|
||||
#: view:res.lang:0
|
||||
|
@ -1832,6 +1868,28 @@ msgid ""
|
|||
"in their pockets, this module is essential.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Энэ модуль нь үдийн цайг менеж хийх модуль.\n"
|
||||
"================================\n"
|
||||
"\n"
|
||||
"Компаниуд нь ажилчиддаа орчин, нөхцлийг таатай болгох үүднээс олон "
|
||||
"нийлүүлэгчээс хачиртай талх, пицца гэх мэтийг захиалах боломжийг санал "
|
||||
"болгодог.\n"
|
||||
"\n"
|
||||
"Гэхдээ олон тооны ажилтан, нийлүүлэгч нар байгаа тохиолдолд зөв удирдлага "
|
||||
"шаардлагатай болдог.\n"
|
||||
"\n"
|
||||
"\n"
|
||||
"\"Үдийн цайны Захиалга\" модуль нь энэ менежментийг хялбар болгож ажилчидад "
|
||||
"илүү өргөн багаж, хэрэглэгээг санал болгодог.\n"
|
||||
"\n"
|
||||
"Цаашлаад ажилчны тохиргоо дээр үндэслэн сануулга, хоол хурдан захиалах "
|
||||
"боломж зэрэгийг санал болгодогоороо хоол болон нийлүүлэгчийн менежментийг "
|
||||
"бүрэн гүйцэд болгодог.\n"
|
||||
"\n"
|
||||
"Ажилчид заавал задгай мөнгө кармалж явах заваан ажлаас ажилчдаа чөлөөлж "
|
||||
"ажилчдынхаа цагийг хэмнэхэд энэ модуль нь туйлын чухал.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: view:wizard.ir.model.menu.create:0
|
||||
|
@ -1871,7 +1929,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.partner,website:0
|
||||
msgid "Website of Partner or Company"
|
||||
msgstr ""
|
||||
msgstr "Харилцагч эсвэл Компаний веб сайт"
|
||||
|
||||
#. module: base
|
||||
#: help:base.language.install,overwrite:0
|
||||
|
@ -1916,7 +1974,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_sale
|
||||
msgid "Quotations, Sale Orders, Invoicing"
|
||||
msgstr ""
|
||||
msgstr "Үнийн санал, Борлуулалтын Захиалга, Нэхэмжлэл"
|
||||
|
||||
#. module: base
|
||||
#: field:res.users,login:0
|
||||
|
@ -1935,7 +1993,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_project_issue
|
||||
msgid "Portal Issue"
|
||||
msgstr ""
|
||||
msgstr "Портал Асуудал"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_tools
|
||||
|
@ -1955,11 +2013,15 @@ msgid ""
|
|||
"Launch Manually Once: after having been launched manually, it sets "
|
||||
"automatically to Done."
|
||||
msgstr ""
|
||||
"Гараар: Гараар ажилуулна.\n"
|
||||
"Автомат: Системийн тохиргоо өөрчлөгдөх бүрт автомат ажиллана.\n"
|
||||
"Гараар нэг удаа: гараар ажилуулсан дараа автоматаар Хийгдсэн болж \n"
|
||||
"тохируулагдана."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner,image_small:0
|
||||
msgid "Small-sized image"
|
||||
msgstr ""
|
||||
msgstr "Жижиг-хэмжээт зураг"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_stock
|
||||
|
@ -2040,6 +2102,15 @@ msgid ""
|
|||
"It assigns manager and user access rights to the Administrator and only user "
|
||||
"rights to the Demo user. \n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Санхүүгийн Хандах Эрх.\n"
|
||||
"=========================\n"
|
||||
"\n"
|
||||
"Энэ модуль нь санхүүгийн журнал, дансны мод гэх мэт бүх боломж руу хандах \n"
|
||||
"хандалтыг удирдах боломжийг олгодог.\n"
|
||||
"\n"
|
||||
"Энэ нь менежер, хэрэглэгч хандалтын эрхийг Администраторт олгож Demo \n"
|
||||
"хэрэглэгчид хэрэглэгч эрхийг олгодог. \n"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.attachment,res_id:0
|
||||
|
@ -2066,6 +2137,8 @@ msgstr ""
|
|||
#, python-format
|
||||
msgid "Unknown value '%s' for boolean field '%%(field)s', assuming '%s'"
|
||||
msgstr ""
|
||||
"'%s' гэсэн утга boolean '%%(field)s' талбарт мэдэгдэхгүй утга, '%s' гэж үзэж "
|
||||
"байна"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.nl
|
||||
|
@ -2075,12 +2148,12 @@ msgstr "Нидерланд"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_portal_event
|
||||
msgid "Portal Event"
|
||||
msgstr ""
|
||||
msgstr "Порталь Үйл явдал"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.translation,state:0
|
||||
msgid "Translation in Progress"
|
||||
msgstr ""
|
||||
msgstr "Орчуулга Хийгдэж байна"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_rule
|
||||
|
@ -2095,7 +2168,7 @@ msgstr "Өдөр"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_fleet
|
||||
msgid "Vehicle, leasing, insurances, costs"
|
||||
msgstr ""
|
||||
msgstr "Машин, лизинг, даатгал, өртөгүүд"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.model.access:0
|
||||
|
@ -2123,6 +2196,23 @@ msgid ""
|
|||
"synchronization with other companies.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Энэ модуль нь ерөнхиий тохиолдолд хуваалцах боломжийг таны OpenERP өгөгдлийн "
|
||||
"\n"
|
||||
"баазад олгодог багаж юм.\n"
|
||||
"========================================================================\n"
|
||||
"\n"
|
||||
"Энэ нь 'хуваалцах' даруулыг нэмдэг бөгөөд OpenERP-н дуртай өгөгдлийг хамт \n"
|
||||
"ажиллагч, захиалагч, найз нартайгаа хуваалцах боломжийг вебэд олгодог.\n"
|
||||
"\n"
|
||||
"Систем нь шинэ хэрэглэгч болон группыг автоматаар үүсгэдэг. Зохистой хандах "
|
||||
"\n"
|
||||
"дүрэмийг ir.rules-д автоматаар нэмж зөвхөн хуваалцсан өгөгдөл рүү хандах \n"
|
||||
"хандалтын хяналтаар хангаддаг.\n"
|
||||
"\n"
|
||||
"Энэ нь хамтран ажиллах, мэдлэгээ хуваалцах, бусад компанитай мэдээллээ \n"
|
||||
"ижилтгэх зэрэгт маш зохимжтой.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_process
|
||||
|
@ -2135,6 +2225,8 @@ msgid ""
|
|||
"Check this box if this contact is a supplier. If it's not checked, purchase "
|
||||
"people will not see it when encoding a purchase order."
|
||||
msgstr ""
|
||||
"Хэрэв холбогч нь нийлүүлэгч бол үүнийг тэмдэглэнэ. Хэрэв тэмдэглээгүй бол "
|
||||
"худалдан авалтын хүмүүст худалдан авалтын захиалга шивэх үед харагдахгүй."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_hr_evaluation
|
||||
|
@ -2207,6 +2299,15 @@ msgid ""
|
|||
"with the effect of creating, editing and deleting either ways.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Төслийн даалгаврыг ажлын цагийн хуваарьтай ижилтгэх.\n"
|
||||
"====================================================================\n"
|
||||
"\n"
|
||||
"Энэ модуль нь Төслийн Менежмент модуль дахь даалгавруудыг Цагийн хуваарийн\n"
|
||||
"ажлууд руу тодорхой огноонд тодорхой хэрэглэгчид шилжүүлдэг. Мөн цагийн \n"
|
||||
"хуваариас нөгөө чиглэлд үүсгэх, засах, устгах\n"
|
||||
"хоёр чиглэлд хийх боломжтой.\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_ir_model_access
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.4\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-10 20:03+0000\n"
|
||||
"PO-Revision-Date: 2012-12-11 11:47+0000\n"
|
||||
"Last-Translator: Grzegorz Grzelak (OpenGLOBE.pl) <grzegorz@openglobe.pl>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-11 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-12 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -13029,7 +13029,7 @@ msgstr "NIP"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_bank_statement_extensions
|
||||
msgid "Bank Statement Extensions to Support e-banking"
|
||||
msgstr ""
|
||||
msgstr "Rozszerzenie do wyciągów bankowych"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.model.fields,field_description:0
|
||||
|
@ -13059,7 +13059,7 @@ msgstr "Zair"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_project
|
||||
msgid "Projects, Tasks"
|
||||
msgstr ""
|
||||
msgstr "Projekty, Zadania"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow.instance,res_id:0
|
||||
|
@ -13135,7 +13135,7 @@ msgstr "Działania"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_product
|
||||
msgid "Products & Pricelists"
|
||||
msgstr ""
|
||||
msgstr "Produkty i cenniki"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.filters,user_id:0
|
||||
|
@ -13143,6 +13143,8 @@ msgid ""
|
|||
"The user this filter is private to. When left empty the filter is public and "
|
||||
"available to all users."
|
||||
msgstr ""
|
||||
"Użytkownik, który będzie korzystał z tego filtra na zasadach wyłączności. "
|
||||
"Jeśli pole jest puste, to filtr jest publiczny."
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,auto_refresh:0
|
||||
|
@ -13192,12 +13194,12 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_stock_no_autopicking
|
||||
msgid "Picking Before Manufacturing"
|
||||
msgstr ""
|
||||
msgstr "Pobranie przed produkcją"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_note_pad
|
||||
msgid "Sticky memos, Collaborative"
|
||||
msgstr ""
|
||||
msgstr "Notatki, Współpraca"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.wf
|
||||
|
@ -13249,7 +13251,7 @@ msgstr ""
|
|||
#: view:ir.model.data:0
|
||||
#: field:ir.model.data,name:0
|
||||
msgid "External Identifier"
|
||||
msgstr ""
|
||||
msgstr "Identyfikator zewnętrzny"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_event_sale
|
||||
|
@ -13318,7 +13320,7 @@ msgstr "Akcje"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_delivery
|
||||
msgid "Delivery Costs"
|
||||
msgstr ""
|
||||
msgstr "Koszty dostawy"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_cron.py:391
|
||||
|
@ -13377,7 +13379,7 @@ msgstr "Aktywność docelowa"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_project_issue
|
||||
msgid "Issue Tracker"
|
||||
msgstr ""
|
||||
msgstr "Śledzenie problemów"
|
||||
|
||||
#. module: base
|
||||
#: view:base.module.update:0
|
||||
|
@ -13461,7 +13463,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Supplier Partners"
|
||||
msgstr ""
|
||||
msgstr "Dostawcy"
|
||||
|
||||
#. module: base
|
||||
#: view:res.config.installer:0
|
||||
|
@ -13471,12 +13473,12 @@ msgstr "Instaluj moduły"
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_import_crm
|
||||
msgid "Import & Synchronize"
|
||||
msgstr ""
|
||||
msgstr "Importuj i synchronizuj"
|
||||
|
||||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Customer Partners"
|
||||
msgstr ""
|
||||
msgstr "Klienci"
|
||||
|
||||
#. module: base
|
||||
#: sql_constraint:res.users:0
|
||||
|
@ -13502,7 +13504,7 @@ msgstr "Źródło"
|
|||
#: field:ir.model.constraint,date_init:0
|
||||
#: field:ir.model.relation,date_init:0
|
||||
msgid "Initialization Date"
|
||||
msgstr ""
|
||||
msgstr "Data inicjalizacji"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.vu
|
||||
|
@ -13644,7 +13646,7 @@ msgstr "Wykonano konfiguracje systemu"
|
|||
#: view:ir.config_parameter:0
|
||||
#: model:ir.ui.menu,name:base.ir_config_menu
|
||||
msgid "System Parameters"
|
||||
msgstr ""
|
||||
msgstr "Parametry systemu"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_ch
|
||||
|
@ -13713,7 +13715,7 @@ msgstr "Akcja na wielu dokumentach"
|
|||
#: model:ir.actions.act_window,name:base.action_partner_title_partner
|
||||
#: model:ir.ui.menu,name:base.menu_partner_title_partner
|
||||
msgid "Titles"
|
||||
msgstr ""
|
||||
msgstr "Tytuły"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_anonymization
|
||||
|
@ -13774,7 +13776,7 @@ msgstr "Luksemburg"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_base_calendar
|
||||
msgid "Personal & Shared Calendar"
|
||||
msgstr ""
|
||||
msgstr "Kalendarze osobiste i współdzielone"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.request,priority:0
|
||||
|
@ -13854,7 +13856,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_payment
|
||||
msgid "Suppliers Payment Management"
|
||||
msgstr ""
|
||||
msgstr "Zarządzanie płatnościami od dostawców"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sv
|
||||
|
@ -13884,7 +13886,7 @@ msgstr "Tajlandia"
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_account_voucher
|
||||
msgid "Send Invoices and Track Payments"
|
||||
msgstr ""
|
||||
msgstr "Wysyła faktury i śledzi płatności"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_crm_config_lead
|
||||
|
@ -13935,7 +13937,7 @@ msgstr "Relacja obiektu"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_voucher
|
||||
msgid "eInvoicing & Payments"
|
||||
msgstr ""
|
||||
msgstr "Fakturowanie i Płatności"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_base_crypt
|
||||
|
@ -14012,7 +14014,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.ui.menu,name:base.menu_custom_multicompany
|
||||
msgid "Multi-Companies"
|
||||
msgstr ""
|
||||
msgstr "Wielofirmowość"
|
||||
|
||||
#. module: base
|
||||
#: field:workflow,osv:0
|
||||
|
@ -14029,7 +14031,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.rule,perm_write:0
|
||||
msgid "Apply for Write"
|
||||
msgstr ""
|
||||
msgstr "Zastosuj do zapisu"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_stock
|
||||
|
@ -14137,6 +14139,8 @@ msgid ""
|
|||
"Lets you install various interesting but non-essential tools like Survey, "
|
||||
"Lunch and Ideas box."
|
||||
msgstr ""
|
||||
"Pozwala zainstalować ciekawe, ale nie kluczowe narzędzia jak: Ankieta, "
|
||||
"Posiłki, Pomysły."
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.module.module,state:0
|
||||
|
@ -14161,7 +14165,7 @@ msgstr "Autoładowanie widoku"
|
|||
#. module: base
|
||||
#: view:res.users:0
|
||||
msgid "Allowed Companies"
|
||||
msgstr ""
|
||||
msgstr "Dozwolone firmy"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_de
|
||||
|
@ -14171,7 +14175,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Day of the Year: %(doy)s"
|
||||
msgstr ""
|
||||
msgstr "Dzień roku: %(doy)s"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.ui.menu,web_icon:0
|
||||
|
@ -14186,7 +14190,7 @@ msgstr "Rozpocznij zaplanowane instalacje"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_journal
|
||||
msgid "Invoicing Journals"
|
||||
msgstr ""
|
||||
msgstr "Dzienniki faktur"
|
||||
|
||||
#. module: base
|
||||
#: help:ir.ui.view,groups_id:0
|
||||
|
@ -14231,7 +14235,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:base.language.export:0
|
||||
msgid "Export Settings"
|
||||
msgstr ""
|
||||
msgstr "Ustawienia eksportu"
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.act_window,src_model:0
|
||||
|
@ -14241,7 +14245,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:ir.sequence:0
|
||||
msgid "Day of the Week (0:Monday): %(weekday)s"
|
||||
msgstr ""
|
||||
msgstr "Dzień tygodnia (0:Monday): %(weekday)s"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/module/wizard/base_module_upgrade.py:84
|
||||
|
@ -14398,12 +14402,12 @@ msgstr "Firma"
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_report_designer
|
||||
msgid "Advanced Reporting"
|
||||
msgstr ""
|
||||
msgstr "Zaawansowane raportowanie"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_purchase
|
||||
msgid "Purchase Orders, Receptions, Supplier Invoices"
|
||||
msgstr ""
|
||||
msgstr "Zamówienia zakupu, Przyjęcia, Faktury od dostawcy"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_hr_payroll
|
||||
|
@ -14456,7 +14460,7 @@ msgstr "Uruchom"
|
|||
#. module: base
|
||||
#: selection:res.partner,type:0
|
||||
msgid "Shipping"
|
||||
msgstr ""
|
||||
msgstr "Przewoźnik"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_project_mrp
|
||||
|
@ -14500,7 +14504,7 @@ msgstr "Ograniczenie"
|
|||
#. module: base
|
||||
#: model:res.groups,name:base.group_hr_user
|
||||
msgid "Officer"
|
||||
msgstr ""
|
||||
msgstr "Urzędnik"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/orm.py:789
|
||||
|
@ -14517,7 +14521,7 @@ msgstr "Jamajka"
|
|||
#: field:res.partner,color:0
|
||||
#: field:res.partner.address,color:0
|
||||
msgid "Color Index"
|
||||
msgstr ""
|
||||
msgstr "Indeks kolorów"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.action_partner_category_form
|
||||
|
@ -14571,7 +14575,7 @@ msgstr "Ostrzeżenie"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_edi
|
||||
msgid "Electronic Data Interchange (EDI)"
|
||||
msgstr ""
|
||||
msgstr "Elektroniczna wymiana danych (EDI)"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
|
||||
|
@ -14602,7 +14606,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.category,name:base.module_category_generic_modules
|
||||
msgid "Generic Modules"
|
||||
msgstr ""
|
||||
msgstr "Moduły podstawowe"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.mk
|
||||
|
@ -14656,7 +14660,7 @@ msgstr "Bieżące okno"
|
|||
#: model:ir.module.category,name:base.module_category_hidden
|
||||
#: view:res.users:0
|
||||
msgid "Technical Settings"
|
||||
msgstr ""
|
||||
msgstr "Ustawienia techniczne"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.category,description:base.module_category_accounting_and_finance
|
||||
|
@ -14673,7 +14677,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_event
|
||||
msgid "Trainings, Conferences, Meetings, Exhibitions, Registrations"
|
||||
msgstr ""
|
||||
msgstr "Szkolenia, Konferencje, Spotkania, Wystawy, Rejestracje"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_country
|
||||
|
@ -14691,7 +14695,7 @@ msgstr "Kraj"
|
|||
#. module: base
|
||||
#: model:res.partner.category,name:base.res_partner_category_15
|
||||
msgid "Wholesaler"
|
||||
msgstr ""
|
||||
msgstr "Hurtownik"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_vat
|
||||
|
@ -14759,7 +14763,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.module.module,auto_install:0
|
||||
msgid "Automatic Installation"
|
||||
msgstr ""
|
||||
msgstr "Instalacja automatyczna"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_l10n_hn
|
||||
|
@ -14876,7 +14880,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:ir.sequence,implementation:0
|
||||
msgid "Implementation"
|
||||
msgstr ""
|
||||
msgstr "Implementacja"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ve
|
||||
|
@ -14918,7 +14922,7 @@ msgstr "Nazwa widoku"
|
|||
#. module: base
|
||||
#: model:ir.model,name:base.model_res_groups
|
||||
msgid "Access Groups"
|
||||
msgstr ""
|
||||
msgstr "Grupy dostępu"
|
||||
|
||||
#. module: base
|
||||
#: selection:base.language.install,lang:0
|
||||
|
@ -15034,6 +15038,8 @@ msgid ""
|
|||
"Tax Identification Number. Check the box if this contact is subjected to "
|
||||
"taxes. Used by the some of the legal statements."
|
||||
msgstr ""
|
||||
"Numer identyfikacji podatkowej. Zaznacz tę opcję jeśli kontakt jest "
|
||||
"podatnikiem. Stosowane w wymaganiach ustawowych."
|
||||
|
||||
#. module: base
|
||||
#: field:res.partner.bank,partner_id:0
|
||||
|
@ -15072,7 +15078,7 @@ msgstr "Ostrzeżenie przy przełączaniu firmy"
|
|||
msgid ""
|
||||
"Helps you manage your manufacturing processes and generate reports on those "
|
||||
"processes."
|
||||
msgstr ""
|
||||
msgstr "Pomaga w prowadzeniu działalności produkcyjnej."
|
||||
|
||||
#. module: base
|
||||
#: help:ir.sequence,number_increment:0
|
||||
|
@ -15118,7 +15124,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Internal Notes"
|
||||
msgstr ""
|
||||
msgstr "Uwagi wewnętrzne"
|
||||
|
||||
#. module: base
|
||||
#: selection:res.partner.address,type:0
|
||||
|
@ -15134,7 +15140,7 @@ msgstr "SA"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_purchase_requisition
|
||||
msgid "Purchase Requisitions"
|
||||
msgstr ""
|
||||
msgstr "Zlecenia zakupu"
|
||||
|
||||
#. module: base
|
||||
#: selection:ir.actions.act_window,target:0
|
||||
|
@ -15160,14 +15166,14 @@ msgstr "Partnerzy: "
|
|||
#. module: base
|
||||
#: view:res.partner:0
|
||||
msgid "Is a Company?"
|
||||
msgstr ""
|
||||
msgstr "Jest firmą?"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/res/res_company.py:159
|
||||
#: field:res.partner.bank,name:0
|
||||
#, python-format
|
||||
msgid "Bank Account"
|
||||
msgstr ""
|
||||
msgstr "Konto bankowe"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.kp
|
||||
|
@ -15192,7 +15198,7 @@ msgstr "Kontekst"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_sale_mrp
|
||||
msgid "Sales and MRP Management"
|
||||
msgstr ""
|
||||
msgstr "Sprzedaż i MRP"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.actions.act_window,help:base.action_partner_form
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 5.0.0\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-10 18:08+0000\n"
|
||||
"Last-Translator: Rui Franco (multibase.pt) <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-12-11 10:27+0000\n"
|
||||
"Last-Translator: Virgílio Oliveira <virgilio.oliveira@multibase.pt>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-11 04:45+0000\n"
|
||||
"X-Generator: Launchpad (build 16356)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-12 04:38+0000\n"
|
||||
"X-Generator: Launchpad (build 16361)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -7892,7 +7892,7 @@ msgstr "Assistente"
|
|||
#: code:addons/base/ir/ir_fields.py:304
|
||||
#, python-format
|
||||
msgid "database id"
|
||||
msgstr ""
|
||||
msgstr "id da base de dados"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_base_import
|
||||
|
@ -8462,7 +8462,7 @@ msgstr "Nepal"
|
|||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_document_page
|
||||
msgid "Document Page"
|
||||
msgstr ""
|
||||
msgstr "Página do documento"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_ar
|
||||
|
@ -9091,7 +9091,7 @@ msgstr "8. %I:%M:%S %p ==> 06:25:20 PM"
|
|||
#. module: base
|
||||
#: view:ir.filters:0
|
||||
msgid "Filters shared with all users"
|
||||
msgstr ""
|
||||
msgstr "Filtros partilhados com todos os utilizadores"
|
||||
|
||||
#. module: base
|
||||
#: view:ir.translation:0
|
||||
|
@ -10191,7 +10191,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: help:res.company,rml_footer:0
|
||||
msgid "Footer text displayed at the bottom of all reports."
|
||||
msgstr ""
|
||||
msgstr "Texto de rodapé mostrados no final de todos os relatórios."
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_note_pad
|
||||
|
@ -10614,7 +10614,7 @@ msgstr "Tipos de Sequências"
|
|||
#: code:addons/base/res/res_bank.py:195
|
||||
#, python-format
|
||||
msgid "Formating Error"
|
||||
msgstr ""
|
||||
msgstr "Erro de formatação"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.ye
|
||||
|
|
|
@ -7,15 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: pt_BR\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-12-03 16:01+0000\n"
|
||||
"PO-Revision-Date: 2012-12-07 22:22+0000\n"
|
||||
"Last-Translator: Fábio Martinelli - http://zupy.com.br "
|
||||
"<webmaster@guaru.net>\n"
|
||||
"PO-Revision-Date: 2012-12-13 21:00+0000\n"
|
||||
"Last-Translator: Leonel P de Freitas <leonelpf@ig.com.br>\n"
|
||||
"Language-Team: <pt@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-12-08 04:58+0000\n"
|
||||
"X-Generator: Launchpad (build 16341)\n"
|
||||
"X-Launchpad-Export-Date: 2012-12-14 05:36+0000\n"
|
||||
"X-Generator: Launchpad (build 16369)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,description:base.module_account_check_writing
|
||||
|
@ -26,8 +25,8 @@ msgid ""
|
|||
" "
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Módulo para Verificar Escrita e Impressão.\n"
|
||||
"========================================\n"
|
||||
"Módulo para Criar e Imprimir Cheques.\n"
|
||||
"=====================================\n"
|
||||
" "
|
||||
|
||||
#. module: base
|
||||
|
@ -93,7 +92,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: model:ir.module.module,summary:base.module_point_of_sale
|
||||
msgid "Touchscreen Interface for Shops"
|
||||
msgstr "Interface Touchscreen para lojas"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_in_hr_payroll
|
||||
|
@ -175,7 +174,7 @@ msgstr ""
|
|||
#. module: base
|
||||
#: field:res.partner,ref:0
|
||||
msgid "Reference"
|
||||
msgstr "Referência"
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: model:ir.module.module,shortdesc:base.module_l10n_be_invoice_bba
|
||||
|
@ -255,6 +254,34 @@ msgid ""
|
|||
"* Planned Revenue by Stage and User (graph)\n"
|
||||
"* Opportunities by Stage (graph)\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"CRM - Gestão de Relacionamento com o Cliente\n"
|
||||
"================================================== ===\n"
|
||||
"\n"
|
||||
"Este aplicativo permite que um grupo de pessoas gerencie de forma "
|
||||
"inteligente e eficiente prospectos, oportunidades, reuniões e telefonemas.\n"
|
||||
"\n"
|
||||
"Ele gerencia tarefas essenciais, como a comunicação, a identificação, "
|
||||
"priorização, atribuição, resolução e notificação.\n"
|
||||
"\n"
|
||||
"O OpenERP garante que todos os casos são rastreado com sucesso por usuários, "
|
||||
"clientes e fornecedores. É possível enviar automaticamente lembretes, "
|
||||
"escalar o pedido, acionar métodos específicos e muitas outras ações com base "
|
||||
"em suas próprias regras empresariais.\n"
|
||||
"\n"
|
||||
"A melhor coisa sobre este sistema é que os usuários não precisam fazer nada "
|
||||
"de especial. O módulo de CRM tem um gateway de e-mail para a interface de "
|
||||
"sincronização entre e-mails e OpenERP. Dessa forma, os usuários podem enviar "
|
||||
"e-mails apenas para o rastreador do pedido.\n"
|
||||
"\n"
|
||||
"O OpenERP vai cuidar de agradecê-los por sua mensagem, encaminhá-la para o "
|
||||
"pessoal apropriado automaticamente e certificar-se de que toda a futura "
|
||||
"correspondência chegue ao lugar certo.\n"
|
||||
"\n"
|
||||
"O Painel para CRM inclue:\n"
|
||||
"-----------------------------------\n"
|
||||
"* Receita planejada por estágio e usuário (gráfico)\n"
|
||||
"* Oportunidades por estágio (gráfico)\n"
|
||||
|
||||
#. module: base
|
||||
#: code:addons/base/ir/ir_model.py:397
|
||||
|
@ -293,7 +320,7 @@ msgstr "Suíça"
|
|||
#: code:addons/orm.py:4453
|
||||
#, python-format
|
||||
msgid "created."
|
||||
msgstr "criado."
|
||||
msgstr ""
|
||||
|
||||
#. module: base
|
||||
#: field:ir.actions.report.xml,report_xsl:0
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -66,7 +66,7 @@ class ir_ui_menu(osv.osv):
|
|||
modelaccess = self.pool.get('ir.model.access')
|
||||
user_groups = set(self.pool.get('res.users').read(cr, SUPERUSER_ID, uid, ['groups_id'])['groups_id'])
|
||||
result = []
|
||||
for menu in self.browse(cr, SUPERUSER_ID, ids, context=context):
|
||||
for menu in self.browse(cr, uid, ids, context=context):
|
||||
# this key works because user access rights are all based on user's groups (cfr ir_model_access.check)
|
||||
key = (cr.dbname, menu.id, tuple(user_groups))
|
||||
if key in self._cache:
|
||||
|
@ -168,9 +168,22 @@ class ir_ui_menu(osv.osv):
|
|||
self.clear_cache()
|
||||
return super(ir_ui_menu, self).write(*args, **kwargs)
|
||||
|
||||
def unlink(self, *args, **kwargs):
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
# Detach children and promote them to top-level, because it would be unwise to
|
||||
# cascade-delete submenus blindly. We also can't use ondelete=set null because
|
||||
# that is not supported when _parent_store is used (would silently corrupt it).
|
||||
# TODO: ideally we should move them under a generic "Orphans" menu somewhere?
|
||||
if isinstance(ids, (int, long)):
|
||||
ids = [ids]
|
||||
local_context = dict(context or {})
|
||||
local_context['ir.ui.menu.full_list'] = True
|
||||
direct_children_ids = self.search(cr, uid, [('parent_id', 'in', ids)], context=local_context)
|
||||
if direct_children_ids:
|
||||
self.write(cr, uid, direct_children_ids, {'parent_id': False})
|
||||
|
||||
result = super(ir_ui_menu, self).unlink(cr, uid, ids, context=context)
|
||||
self.clear_cache()
|
||||
return super(ir_ui_menu, self).unlink(*args, **kwargs)
|
||||
return result
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
ir_values_obj = self.pool.get('ir.values')
|
||||
|
@ -307,7 +320,9 @@ class ir_ui_menu(osv.osv):
|
|||
'name': fields.char('Menu', size=64, required=True, translate=True),
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'child_id': fields.one2many('ir.ui.menu', 'parent_id', 'Child IDs'),
|
||||
'parent_id': fields.many2one('ir.ui.menu', 'Parent Menu', select=True),
|
||||
'parent_id': fields.many2one('ir.ui.menu', 'Parent Menu', select=True, ondelete="restrict"),
|
||||
'parent_left': fields.integer('Parent Left', select=True),
|
||||
'parent_right': fields.integer('Parent Right', select=True),
|
||||
'groups_id': fields.many2many('res.groups', 'ir_ui_menu_group_rel',
|
||||
'menu_id', 'gid', 'Groups', help="If you have groups, the visibility of this menu will be based on these groups. "\
|
||||
"If this field is empty, OpenERP will compute visibility based on the related object's read access."),
|
||||
|
@ -348,5 +363,6 @@ class ir_ui_menu(osv.osv):
|
|||
'sequence': 10,
|
||||
}
|
||||
_order = "sequence,id"
|
||||
_parent_store = True
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -370,16 +370,20 @@ class module(osv.osv):
|
|||
# Mark the given modules to be installed.
|
||||
self.state_update(cr, uid, ids, 'to install', ['uninstalled'], context)
|
||||
|
||||
# Mark (recursively) the newly satisfied modules to also be installed:
|
||||
# Mark (recursively) the newly satisfied modules to also be installed
|
||||
|
||||
# Select all auto-installable (but not yet installed) modules.
|
||||
domain = [('state', '=', 'uninstalled'), ('auto_install', '=', True),]
|
||||
domain = [('state', '=', 'uninstalled'), ('auto_install', '=', True)]
|
||||
uninstalled_ids = self.search(cr, uid, domain, context=context)
|
||||
uninstalled_modules = self.browse(cr, uid, uninstalled_ids, context=context)
|
||||
|
||||
# Keep those with all their dependencies satisfied.
|
||||
# Keep those with:
|
||||
# - all dependencies satisfied (installed or to be installed),
|
||||
# - at least one dependency being 'to install'
|
||||
satisfied_states = frozenset(('installed', 'to install', 'to upgrade'))
|
||||
def all_depencies_satisfied(m):
|
||||
return all(x.state in ('to install', 'installed', 'to upgrade') for x in m.dependencies_id)
|
||||
states = set(d.state for d in m.dependencies_id)
|
||||
return states.issubset(satisfied_states) and ('to install' in states)
|
||||
to_install_modules = filter(all_depencies_satisfied, uninstalled_modules)
|
||||
to_install_ids = map(lambda m: m.id, to_install_modules)
|
||||
|
||||
|
|
|
@ -18,13 +18,13 @@
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import osv
|
||||
from osv import fields
|
||||
import os
|
||||
import tools
|
||||
|
||||
import openerp
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp.osv import osv, fields
|
||||
from openerp import tools
|
||||
from openerp.tools import image_resize_image
|
||||
from tools.translate import _
|
||||
from tools.safe_eval import safe_eval as eval
|
||||
|
||||
|
@ -102,6 +102,16 @@ class res_company(osv.osv):
|
|||
part_obj.create(cr, uid, {name: value or False, 'parent_id': company.partner_id.id}, context=context)
|
||||
return True
|
||||
|
||||
def _get_logo_web(self, cr, uid, ids, _field_name, _args, context=None):
|
||||
result = dict.fromkeys(ids, False)
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
size = (180, None)
|
||||
result[record.id] = image_resize_image(record.partner_id.image, size)
|
||||
return result
|
||||
|
||||
def _get_companies_from_partner(self, cr, uid, ids, context=None):
|
||||
return self.pool['res.company'].search(cr, uid, [('partner_id', 'in', ids)], context=context)
|
||||
|
||||
_columns = {
|
||||
'name': fields.related('partner_id', 'name', string='Company Name', size=128, required=True, store=True, type='char'),
|
||||
'parent_id': fields.many2one('res.company', 'Parent Company', select=True),
|
||||
|
@ -115,6 +125,10 @@ class res_company(osv.osv):
|
|||
'rml_footer_readonly': fields.related('rml_footer', type='text', string='Report Footer', readonly=True),
|
||||
'custom_footer': fields.boolean('Custom Footer', help="Check this to define the report footer manually. Otherwise it will be filled in automatically."),
|
||||
'logo': fields.related('partner_id', 'image', string="Logo", type="binary"),
|
||||
'logo_web': fields.function(_get_logo_web, string="Logo Web", type="binary", store={
|
||||
'res.company': (lambda s, c, u, i, x: i, ['partner_id'], 10),
|
||||
'res.partner': (_get_companies_from_partner, ['image'], 10),
|
||||
}),
|
||||
'currency_id': fields.many2one('res.currency', 'Currency', required=True),
|
||||
'currency_ids': fields.one2many('res.currency', 'company_id', 'Currency'),
|
||||
'user_ids': fields.many2many('res.users', 'res_company_users_rel', 'cid', 'user_id', 'Accepted Users'),
|
||||
|
@ -352,7 +366,4 @@ class res_company(osv.osv):
|
|||
]
|
||||
|
||||
|
||||
res_company()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -208,10 +208,6 @@ class res_partner(osv.osv, format_address):
|
|||
'bank_ids': fields.one2many('res.partner.bank', 'partner_id', 'Banks'),
|
||||
'website': fields.char('Website', size=64, help="Website of Partner or Company"),
|
||||
'comment': fields.text('Notes'),
|
||||
'address': fields.one2many('res.partner.address', 'partner_id', 'Addresses',
|
||||
deprecated="The address information is now directly stored on each Partner record. "\
|
||||
"Multiple contacts with their own address can be added via the child_ids relationship. "\
|
||||
"This field will be removed as of OpenERP 7.1."),
|
||||
'category_id': fields.many2many('res.partner.category', id1='partner_id', id2='category_id', string='Tags'),
|
||||
'credit_limit': fields.float(string='Credit Limit'),
|
||||
'ean13': fields.char('EAN13', size=13),
|
||||
|
@ -538,7 +534,7 @@ class res_partner(osv.osv, format_address):
|
|||
The purpose of this function is to build and return an address formatted accordingly to the
|
||||
standards of the country where it belongs.
|
||||
|
||||
:param address: browse record of the res.partner.address to format
|
||||
:param address: browse record of the res.partner to format
|
||||
:returns: the address formatted in a display that fit its country habits (or the default ones
|
||||
if not country is specified)
|
||||
:rtype: string
|
||||
|
@ -564,55 +560,4 @@ class res_partner(osv.osv, format_address):
|
|||
address_format = '%(company_name)s\n' + address_format
|
||||
return address_format % args
|
||||
|
||||
# res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
|
||||
class res_partner_address(osv.osv):
|
||||
_table = "res_partner"
|
||||
_name = 'res.partner.address'
|
||||
_order = 'type, name'
|
||||
_columns = {
|
||||
'parent_id': fields.many2one('res.partner', 'Company', ondelete='set null', select=True),
|
||||
'partner_id': fields.related('parent_id', type='many2one', relation='res.partner', string='Partner'), # for backward compatibility
|
||||
'type': fields.selection( [ ('default','Default'),('invoice','Invoice'), ('delivery','Delivery'), ('contact','Contact'), ('other','Other') ],'Address Type', help="Used to select automatically the right address according to the context in sales and purchases documents."),
|
||||
'function': fields.char('Function', size=128),
|
||||
'title': fields.many2one('res.partner.title','Title'),
|
||||
'name': fields.char('Contact Name', size=64, select=1),
|
||||
'street': fields.char('Street', size=128),
|
||||
'street2': fields.char('Street2', size=128),
|
||||
'zip': fields.char('Zip', change_default=True, size=24),
|
||||
'city': fields.char('City', size=128),
|
||||
'state_id': fields.many2one("res.country.state", 'Fed. State', domain="[('country_id','=',country_id)]"),
|
||||
'country_id': fields.many2one('res.country', 'Country'),
|
||||
'email': fields.char('Email', size=240),
|
||||
'phone': fields.char('Phone', size=64),
|
||||
'fax': fields.char('Fax', size=64),
|
||||
'mobile': fields.char('Mobile', size=64),
|
||||
'birthdate': fields.char('Birthdate', size=64),
|
||||
'is_customer_add': fields.related('partner_id', 'customer', type='boolean', string='Customer'),
|
||||
'is_supplier_add': fields.related('partner_id', 'supplier', type='boolean', string='Supplier'),
|
||||
'active': fields.boolean('Active', help="Uncheck the active field to hide the contact."),
|
||||
'company_id': fields.many2one('res.company', 'Company',select=1),
|
||||
'color': fields.integer('Color Index'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'active': True,
|
||||
'company_id': lambda s,cr,uid,c: s.pool.get('res.company')._company_default_get(cr, uid, 'res.partner', context=c),
|
||||
'color': 0,
|
||||
'type': 'default',
|
||||
}
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
logging.getLogger('res.partner').warning("Deprecated use of res.partner.address")
|
||||
if 'partner_id' in vals:
|
||||
vals['parent_id'] = vals.get('partner_id')
|
||||
del(vals['partner_id'])
|
||||
return self.pool.get('res.partner').write(cr, uid, ids, vals, context=context)
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
logging.getLogger('res.partner').warning("Deprecated use of res.partner.address")
|
||||
if 'partner_id' in vals:
|
||||
vals['parent_id'] = vals.get('partner_id')
|
||||
del(vals['partner_id'])
|
||||
return self.pool.get('res.partner').create(cr, uid, vals, context=context)
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -253,7 +253,7 @@ class res_users(osv.osv):
|
|||
# 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
|
||||
SELF_READABLE_FIELDS = ['signature', 'company_id', 'login', 'email', 'name', 'image', 'image_medium', 'image_small', 'lang', 'tz', 'groups_id', 'partner_id', '__last_update']
|
||||
SELF_READABLE_FIELDS = ['signature', 'company_id', 'login', 'email', 'name', 'image', 'image_medium', 'image_small', 'lang', 'tz', 'tz_offset', 'groups_id', 'partner_id', '__last_update']
|
||||
|
||||
def read(self, cr, uid, ids, fields=None, context=None, load='_classic_read'):
|
||||
def override_password(o):
|
||||
|
|
|
@ -93,7 +93,7 @@
|
|||
<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"/> (
|
||||
<label for="name"/>
|
||||
</div>
|
||||
<h1>
|
||||
<field name="name" default_focus="1" placeholder="Name" />
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_res_partner_address_group_partner_manager","res_partner_address group_partner_manager","model_res_partner_address","group_partner_manager",1,1,1,1
|
||||
"access_res_partner_address_group_user","res_partner_address group_user","model_res_partner_address","group_user",1,0,0,0
|
||||
"access_res_partner_address","res.partner.address","model_res_partner_address","group_system",1,1,1,1
|
|
|
@ -1,8 +1,9 @@
|
|||
import test_base, test_expression, test_search, test_ir_values
|
||||
import test_base, test_expression, test_search, test_ir_values, test_menu
|
||||
|
||||
checks = [
|
||||
test_base,
|
||||
test_expression,
|
||||
test_search,
|
||||
test_ir_values,
|
||||
test_menu,
|
||||
]
|
||||
|
|
|
@ -0,0 +1,34 @@
|
|||
import unittest2
|
||||
|
||||
import openerp.tests.common as common
|
||||
|
||||
class test_menu(common.TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
super(test_menu,self).setUp()
|
||||
self.Menus = self.registry('ir.ui.menu')
|
||||
|
||||
def test_00_menu_deletion(self):
|
||||
"""Verify that menu deletion works properly when there are child menus, and those
|
||||
are indeed made orphans"""
|
||||
cr, uid, Menus = self.cr, self.uid, self.Menus
|
||||
|
||||
# Generic trick necessary for search() calls to avoid hidden menus
|
||||
ctx = {'ir.ui.menu.full_list': True}
|
||||
|
||||
root_id = Menus.create(cr, uid, {'name': 'Test root'})
|
||||
child1_id = Menus.create(cr, uid, {'name': 'Test child 1', 'parent_id': root_id})
|
||||
child2_id = Menus.create(cr, uid, {'name': 'Test child 2', 'parent_id': root_id})
|
||||
child21_id = Menus.create(cr, uid, {'name': 'Test child 2-1', 'parent_id': child2_id})
|
||||
|
||||
all_ids = [root_id, child1_id, child2_id, child21_id]
|
||||
|
||||
# delete and check that direct children are promoted to top-level
|
||||
# cfr. explanation in menu.unlink()
|
||||
Menus.unlink(cr, uid, [root_id])
|
||||
|
||||
remaining_ids = Menus.search(cr, uid, [('id', 'in', all_ids)], order="id", context=ctx)
|
||||
self.assertEqual([child1_id, child2_id, child21_id], remaining_ids)
|
||||
|
||||
orphan_ids = Menus.search(cr, uid, [('id', 'in', all_ids), ('parent_id', '=', False)], order="id", context=ctx)
|
||||
self.assertEqual([child1_id, child2_id], orphan_ids)
|
|
@ -865,10 +865,6 @@ class BaseModel(object):
|
|||
parent_names = [parent_names]
|
||||
else:
|
||||
name = cls._name
|
||||
# for res.parnter.address compatiblity, should be remove in v7
|
||||
if 'res.partner.address' in parent_names:
|
||||
parent_names.pop(parent_names.index('res.partner.address'))
|
||||
parent_names.append('res.partner')
|
||||
if not name:
|
||||
raise TypeError('_name is mandatory in case of multiple inheritance')
|
||||
|
||||
|
@ -3267,8 +3263,8 @@ class BaseModel(object):
|
|||
elif not self._columns['parent_right'].select:
|
||||
_logger.error('parent_right column on object %s must be indexed! Add select=1 to the field definition)',
|
||||
self._table)
|
||||
if self._columns[self._parent_name].ondelete != 'cascade':
|
||||
_logger.error("The column %s on object %s must be set as ondelete='cascade'",
|
||||
if self._columns[self._parent_name].ondelete not in ('cascade', 'restrict'):
|
||||
_logger.error("The column %s on object %s must be set as ondelete='cascade' or 'restrict'",
|
||||
self._parent_name, self._name)
|
||||
|
||||
cr.commit()
|
||||
|
@ -3450,8 +3446,8 @@ class BaseModel(object):
|
|||
_logger.info('Missing many2one field definition for _inherits reference "%s" in "%s", using default one.', field_name, self._name)
|
||||
self._columns[field_name] = fields.many2one(table, string="Automatically created field to link to parent %s" % table,
|
||||
required=True, ondelete="cascade")
|
||||
elif not self._columns[field_name].required or self._columns[field_name].ondelete.lower() != "cascade":
|
||||
_logger.warning('Field definition for _inherits reference "%s" in "%s" must be marked as "required" with ondelete="cascade", forcing it.', field_name, self._name)
|
||||
elif not self._columns[field_name].required or self._columns[field_name].ondelete.lower() not in ("cascade", "restrict"):
|
||||
_logger.warning('Field definition for _inherits reference "%s" in "%s" must be marked as "required" with ondelete="cascade" or "restrict", forcing it to required + cascade.', field_name, self._name)
|
||||
self._columns[field_name].required = True
|
||||
self._columns[field_name].ondelete = "cascade"
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
def test_no_command(self):
|
||||
" empty list of commands yields an empty list of records "
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', [])
|
||||
self.cr, UID, 'child_ids', [])
|
||||
|
||||
self.assertEqual(results, [])
|
||||
|
||||
|
@ -190,7 +190,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
" returns the VALUES dict as-is "
|
||||
values = [{'foo': 'bar'}, {'foo': 'baz'}, {'foo': 'baq'}]
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', map(CREATE, values))
|
||||
self.cr, UID, 'child_ids', map(CREATE, values))
|
||||
|
||||
self.assertEqual(results, values)
|
||||
|
||||
|
@ -204,7 +204,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
commands = map(LINK_TO, ids)
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', commands, ['name'])
|
||||
self.cr, UID, 'child_ids', commands, ['name'])
|
||||
|
||||
self.assertEqual(sorted_by_id(results), sorted_by_id([
|
||||
{'id': ids[0], 'name': 'foo'},
|
||||
|
@ -221,7 +221,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
]
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', ids, ['name'])
|
||||
self.cr, UID, 'child_ids', ids, ['name'])
|
||||
|
||||
self.assertEqual(sorted_by_id(results), sorted_by_id([
|
||||
{'id': ids[0], 'name': 'foo'},
|
||||
|
@ -236,7 +236,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
id_baz = self.partner.create(self.cr, UID, {'name': 'baz', 'city': 'tag'})
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', [
|
||||
self.cr, UID, 'child_ids', [
|
||||
LINK_TO(id_foo),
|
||||
UPDATE(id_bar, {'name': 'qux', 'city': 'tagtag'}),
|
||||
UPDATE(id_baz, {'name': 'quux'})
|
||||
|
@ -258,7 +258,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
commands = [DELETE(ids[0]), DELETE(ids[1]), DELETE(ids[2])]
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', commands, ['name'])
|
||||
self.cr, UID, 'child_ids', commands, ['name'])
|
||||
|
||||
self.assertEqual(results, [])
|
||||
|
||||
|
@ -269,7 +269,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
]
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', [
|
||||
self.cr, UID, 'child_ids', [
|
||||
CREATE({'name': 'foo'}),
|
||||
UPDATE(ids[0], {'name': 'bar'}),
|
||||
LINK_TO(ids[1]),
|
||||
|
@ -300,7 +300,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
commands = map(lambda id: (4, id), ids)
|
||||
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', commands, ['name'])
|
||||
self.cr, UID, 'child_ids', commands, ['name'])
|
||||
|
||||
self.assertEqual(sorted_by_id(results), sorted_by_id([
|
||||
{'id': ids[0], 'name': 'foo'},
|
||||
|
@ -311,7 +311,7 @@ class TestO2MSerialization(common.TransactionCase):
|
|||
def test_singleton_commands(self):
|
||||
"DELETE_ALL can appear as a singleton"
|
||||
results = self.partner.resolve_2many_commands(
|
||||
self.cr, UID, 'address', [DELETE_ALL()], ['name'])
|
||||
self.cr, UID, 'child_ids', [DELETE_ALL()], ['name'])
|
||||
|
||||
self.assertEqual(results, [])
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ import io
|
|||
import StringIO
|
||||
|
||||
from PIL import Image
|
||||
from PIL import ImageEnhance
|
||||
from PIL import ImageEnhance, ImageOps
|
||||
from random import random
|
||||
|
||||
# ----------------------------------------
|
||||
|
@ -64,7 +64,6 @@ def image_resize_image(base64_source, size=(1024, 1024), encoding='base64', file
|
|||
return False
|
||||
if size == (None, None):
|
||||
return base64_source
|
||||
|
||||
image_stream = io.BytesIO(base64_source.decode(encoding))
|
||||
image = Image.open(image_stream)
|
||||
|
||||
|
@ -74,21 +73,10 @@ def image_resize_image(base64_source, size=(1024, 1024), encoding='base64', file
|
|||
if asked_height is None:
|
||||
asked_height = int(image.size[1] * (float(asked_width) / image.size[0]))
|
||||
size = asked_width, asked_height
|
||||
|
||||
# check image size: do not create a thumbnail if avoiding smaller images
|
||||
if avoid_if_small and image.size[0] <= size[0] and image.size[1] <= size[1]:
|
||||
return base64_source
|
||||
# create a thumbnail: will resize and keep ratios, then sharpen for better looking result
|
||||
image.thumbnail(size, Image.ANTIALIAS)
|
||||
sharpener = ImageEnhance.Sharpness(image.convert('RGBA'))
|
||||
image = sharpener.enhance(2.0)
|
||||
# create a transparent image for background
|
||||
background = Image.new('RGBA', size, (255, 255, 255, 0))
|
||||
# past the resized image on the background
|
||||
background.paste(image, ((size[0] - image.size[0]) / 2, (size[1] - image.size[1]) / 2))
|
||||
# return an encoded image
|
||||
if image.size <> size:
|
||||
image = ImageOps.fit(image, size, Image.ANTIALIAS)
|
||||
background_stream = StringIO.StringIO()
|
||||
background.save(background_stream, filetype)
|
||||
image.save(background_stream, filetype)
|
||||
return background_stream.getvalue().encode(encoding)
|
||||
|
||||
def image_resize_image_big(base64_source, size=(1204, 1204), encoding='base64', filetype='PNG', avoid_if_small=True):
|
||||
|
@ -170,3 +158,13 @@ def image_get_resized_images(base64_source, return_big=False, return_medium=True
|
|||
return_dict[small_name] = image_resize_image_small(base64_source, avoid_if_small=avoid_resize_small)
|
||||
return return_dict
|
||||
|
||||
|
||||
if __name__=="__main__":
|
||||
import sys
|
||||
|
||||
assert len(sys.argv)==3, 'Usage to Test: image.py SRC.png DEST.png'
|
||||
|
||||
img = file(sys.argv[1],'rb').read().encode('base64')
|
||||
new = image_resize_image(img, (128,100))
|
||||
file(sys.argv[2], 'wb').write(new.decode('base64'))
|
||||
|
||||
|
|
2
setup.py
2
setup.py
|
@ -106,7 +106,7 @@ setuptools.setup(
|
|||
'docutils',
|
||||
'feedparser',
|
||||
'gdata',
|
||||
'lxml < 3', # windows binary http://www.lfd.uci.edu/~gohlke/pythonlibs/
|
||||
'lxml', # windows binary http://www.lfd.uci.edu/~gohlke/pythonlibs/
|
||||
'mako',
|
||||
'mock',
|
||||
'PIL', # windows binary http://www.lfd.uci.edu/~gohlke/pythonlibs/
|
||||
|
|
Loading…
Reference in New Issue