[MERGE] trunk

bzr revid: al@openerp.com-20121216014404-oonymtva4uww7bwk
This commit is contained in:
Antony Lesuisse 2012-12-16 02:44:04 +01:00
commit f6fe592152
31 changed files with 21052 additions and 1303 deletions

View File

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

View File

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

View File

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

View File

@ -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',

View File

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

View File

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

View File

@ -14,8 +14,8 @@ msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

15072
openerp/addons/base/i18n/hi.po Normal file

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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2012-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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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" />

View File

@ -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 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_res_partner_address_group_partner_manager res_partner_address group_partner_manager model_res_partner_address group_partner_manager 1 1 1 1
3 access_res_partner_address_group_user res_partner_address group_user model_res_partner_address group_user 1 0 0 0
4 access_res_partner_address res.partner.address model_res_partner_address group_system 1 1 1 1

View File

@ -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,
]

View File

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

View File

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

View File

@ -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, [])

View File

@ -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'))

View File

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